{"_id":"@digicat/ethereum-contract-watcher","_rev":"10-8ffc15f2259a9545985147536e956be4","name":"@digicat/ethereum-contract-watcher","description":"Observes contracts on a web3.js-compatible Ethereum network, providing callbacks for when events are emitted","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@digicat/ethereum-contract-watcher","version":"1.0.0","description":"Observes contracts on a web3.js-compatible Ethereum network, providing callbacks for when events are emitted","main":"index.js","files":["index.js","lib"],"engines":{"node":">=8.6"},"scripts":{"coverage":"nyc npm test","lint":"as-i-preach","posttest":"as-i-preach","test":"ava"},"repository":{"type":"git","url":"git+https://github.com/CDECatapult/ethereum-contract-watcher.git"},"author":{"name":"Digital Catapult","url":"https://www.digitalcatapultcentre.org.uk/"},"license":"Apache-2.0","bugs":{"url":"https://github.com/CDECatapult/ethereum-contract-watcher/issues"},"homepage":"https://github.com/CDECatapult/ethereum-contract-watcher#readme","keywords":["blockchain","contract","ethereum","web3"],"dependencies":{"funstream":"^2.2.0","web3":"^0.19.1"},"devDependencies":{"@novemberborn/as-i-preach":"^10.1.0","ava":"^0.22.0","codecov":"^2.3.1","delay":"^2.0.0","ganache-core":"github:CDECatapult/ganache-core#64ee0a3d8d4f46020480f20eae335754b4fb9290","memdown":"^1.4.0","nyc":"^11.2.1","solc":"^0.4.17","testdouble":"^3.2.6","truffle-contract":"^3.0.0"},"nyc":{"reporter":["html","lcov","text"]},"standard-engine":"@novemberborn/as-i-preach","gitHead":"0772d3f92f1f9b9413f4ce533423199f4ce9d7cb","_id":"@digicat/ethereum-contract-watcher@1.0.0","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"novemberborn","email":"mark@novemberborn.net"},"dist":{"integrity":"sha512-XLI0GTLSluNXB2FNoj6o+MjwIE/RDIyK20N4xx3QWIueV2ctJFxWQ5AuNYOIGK0lFax57IlYQKPXXz7Y3YEDSA==","shasum":"2ce948f7f59f629059882a2ed4b7c06aa6fd89ca","tarball":"https://registry.npmjs.org/@digicat/ethereum-contract-watcher/-/ethereum-contract-watcher-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDc82pW1XAPM03h4EEmmTpoy1Uzjkrz1Opsm6cwFF6QyAIgWuN1iCQjk8urwZdwSrKF3yS29aa6MYu/U5PeDhaUXqc="}]},"maintainers":[{"name":"novemberborn","email":"mark@novemberborn.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ethereum-contract-watcher-1.0.0.tgz_1508248446019_0.5165336979553103"},"directories":{}}},"readme":"# @digicat/ethereum-contract-watcher\n\nThis package can observe contracts on a\n[web3.js](https://github.com/ethereum/web3.js/)-compatible\n[Ethereum](https://ethereum.org/) network, providing callbacks for when events\nare emitted. Requires [Node.js](https://nodejs.org/en/) 8.6 or newer.\n\n## Usage\n\n```js\nconst ContractWatcher = require('@digicat/ethereum-contract-watcher')\n\nconst watcher = new ContractWatcher({\n  ethereumNode: 'http://localhost:8545',\n\n  onError (err, token) {\n    // Called when an error occurred. Expected to be synchronous.\n  },\n\n  onEvent (event, token) {\n    // Called when an event occurs for a contract that's being watched.\n    //\n    // Can be asynchronous (if you return a promise). Won't interleave with\n    // other events.\n    //\n    // The `event` object comes directly from Web3.\n    // See <https://github.com/ethereum/wiki/wiki/JavaScript-API#contract-events>.\n  },\n\n  wrapWeb3Error (err) {\n    // Allows for underlying Web3 errors to be wrapped in another Error class.\n    // By default returns the error as-is.\n    return err\n  }\n})\n\n// Start watching a new contract. The `token` is provided in callbacks as-is.\nwatcher.add({\n  // ABI array of the contract (required).\n  abi: […],\n  // Contract address (required, no default value).\n  address: '0xef3b47f7e4865c72565f448cc162945ea5bcdc1e'\n  // The block from which events should be observed. Defaults to 'latest'.\n  fromBlock: 'latest',\n  token: {\n    an: {\n      arbitrary: 'object'\n    }s\n  }\n})\n\n// Stop watchers all contracts.\nwatcher.stop()\n```\n","maintainers":[{"email":"it-ops@digicatapult.org.uk","name":"digiops"},{"email":"david.blane@digicatapult.org.uk","name":"dhblane"},{"email":"matthew.dean@digicatapult.org.uk","name":"mattdean-digicatapult"}],"time":{"modified":"2022-06-30T11:12:56.243Z","created":"2017-10-17T13:54:06.946Z","1.0.0":"2017-10-17T13:54:06.946Z"},"homepage":"https://github.com/CDECatapult/ethereum-contract-watcher#readme","keywords":["blockchain","contract","ethereum","web3"],"repository":{"type":"git","url":"git+https://github.com/CDECatapult/ethereum-contract-watcher.git"},"author":{"name":"Digital Catapult","url":"https://www.digitalcatapultcentre.org.uk/"},"bugs":{"url":"https://github.com/CDECatapult/ethereum-contract-watcher/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}