diff --git a/CODEOWNERS b/CODEOWNERS index f7563da..4a2f157 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,5 +1 @@ -* @ngyam -contracts/vesting @hai-ko -test/vesting @hai-ko -contracts/nodecontrol @jbentke -test/nodecontrol @jbentke \ No newline at end of file +* @ngyam \ No newline at end of file diff --git a/contracts/interfaces/SetX.sol b/contracts/interfaces/SetX.sol deleted file mode 100644 index b170648..0000000 --- a/contracts/interfaces/SetX.sol +++ /dev/null @@ -1,6 +0,0 @@ -pragma solidity 0.5.7; - - -interface SetX { - function setX(uint _x) external returns (bool); -} diff --git a/package-lock.json b/package-lock.json index c12ae73..164ef7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,6 +32,24 @@ } } }, + "@babel/runtime": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz", + "integrity": "sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@types/bn.js": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.5.tgz", + "integrity": "sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/isomorphic-fetch": { "version": "0.0.31", "resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.31.tgz", @@ -930,6 +948,12 @@ "readdirp": "^2.0.0" } }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1968,12 +1992,460 @@ "dev": true }, "ethereumjs-testrpc-sc": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/ethereumjs-testrpc-sc/-/ethereumjs-testrpc-sc-6.1.6.tgz", - "integrity": "sha512-iv2qiGBFgk9mn5Nq2enX8dG5WQ7Lk+FCqpnxfPfH4Ns8KLPwttmNOy264nh3SXDJJvcQwz/XnlLteDQVILotbg==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/ethereumjs-testrpc-sc/-/ethereumjs-testrpc-sc-6.4.1.tgz", + "integrity": "sha512-5iDomKQm/P61mN0PEJsuWITzQvOjhCfjm+LIbwjP3BTOhvyGJ37mcE9ApI6EJOss/Lvq9YM/WR0V9IG3gT2Wrw==", "dev": true, "requires": { - "source-map-support": "^0.5.3" + "bn.js": "4.11.8", + "source-map-support": "0.5.9", + "yargs": "*" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "bundled": true, + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "5.2.0", + "bundled": true, + "dev": true + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + } + } + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "bundled": true, + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "bundled": true, + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "execa": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "lcid": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "bundled": true, + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "mem": { + "version": "4.2.0", + "bundled": true, + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + } + }, + "mimic-fn": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-locale": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-is-promise": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.6.0", + "bundled": true, + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "source-map": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "source-map-support": { + "version": "0.5.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "string-width": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "13.2.2", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" + } + }, + "yargs-parser": { + "version": "13.0.0", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } } }, "ethereumjs-tx": { @@ -2605,6 +3077,15 @@ "rimraf": "^2.2.8" } }, + "fs-minipass": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", + "dev": true, + "requires": { + "minipass": "^2.2.1" + } + }, "fs-promise": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", @@ -3718,26 +4199,17 @@ "dev": true }, "handlebars": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.0.tgz", - "integrity": "sha512-l2jRuU1NAWK6AW5qqcTATWQJvNPEwkM7NEKSiv/gqOsoSQbVoWyqVEY5GS+XPQ88zLNmqASRpzfdm8d79hJS+w==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.1.tgz", + "integrity": "sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA==", "dev": true, "requires": { - "async": "^2.5.0", + "neo-async": "^2.6.0", "optimist": "^0.6.1", "source-map": "^0.6.1", "uglify-js": "^3.1.4" }, "dependencies": { - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4980,15 +5452,42 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "minipass": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", + "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true + } + } + }, + "minizlib": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "dev": true, + "requires": { + "minipass": "^2.2.1" } }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, "mixin-deep": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", @@ -5167,6 +5666,12 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "dev": true + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -5945,6 +6450,12 @@ "strict-uri-encode": "^1.0.0" } }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, "randomatic": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", @@ -6353,6 +6864,12 @@ "resolve": "^1.1.6" } }, + "regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", + "dev": true + }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", @@ -6594,6 +7111,12 @@ } } }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", @@ -7500,13 +8023,13 @@ } }, "solidity-coverage": { - "version": "0.6.0-beta.3", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.6.0-beta.3.tgz", - "integrity": "sha512-qbxWRh8puZxlVuu47pWC4t1jNJDOi10VQLHlq3T8zmJxn5lIpthqkbq3mfLyxQ8WcR5jZlyaObfPDzRYAouGVw==", + "version": "0.6.0-beta.5", + "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.6.0-beta.5.tgz", + "integrity": "sha512-xtsOpCS3bfRJMfaMaPoPk3yG41PzgbgiFJv2miY6sWZq5VzIpFPRfddZDOA37Lb3dsjGEpA/NXBQqt1ZJ8h+bg==", "dev": true, "requires": { "death": "^1.1.0", - "ethereumjs-testrpc-sc": "6.1.6", + "ethereumjs-testrpc-sc": "6.4.1", "istanbul": "^0.4.5", "keccakjs": "^0.2.1", "req-cwd": "^1.0.1", @@ -7514,15 +8037,500 @@ "sol-explore": "^1.6.2", "solidity-parser-antlr": "^0.4.1", "tree-kill": "^1.2.0", - "web3": "^1.0.0-beta.37", - "web3-eth-abi": "1.0.0-beta.37" + "web3": "^1.0.0-beta.50", + "web3-eth-abi": "1.0.0-beta.50" }, "dependencies": { + "ethers": { + "version": "4.0.27", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.27.tgz", + "integrity": "sha512-+DXZLP/tyFnXWxqr2fXLT67KlGUfLuvDkHSOtSC9TUVG9OIj6yrG5JPeXRMYo15xkOYwnjgdMKrXp5V94rtjJA==", + "dev": true, + "requires": { + "@types/node": "^10.3.2", + "aes-js": "3.0.0", + "bn.js": "^4.4.0", + "elliptic": "6.3.3", + "hash.js": "1.1.3", + "js-sha3": "0.5.7", + "scrypt-js": "2.0.4", + "setimmediate": "1.0.4", + "uuid": "2.0.1", + "xmlhttprequest": "1.8.0" + }, + "dependencies": { + "elliptic": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", + "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "inherits": "^2.0.1" + } + }, + "setimmediate": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true + } + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "hash.js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" + } + }, + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "scrypt-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", + "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==", + "dev": true + }, "sol-explore": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/sol-explore/-/sol-explore-1.6.2.tgz", "integrity": "sha1-Q66MQZ/TrAVqBfip0fsQIs1B7MI=", "dev": true + }, + "swarm-js": { + "version": "0.1.39", + "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", + "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "buffer": "^5.0.5", + "decompress": "^4.0.0", + "eth-lib": "^0.1.26", + "fs-extra": "^4.0.2", + "got": "^7.1.0", + "mime-types": "^2.1.16", + "mkdirp-promise": "^5.0.1", + "mock-fs": "^4.1.0", + "setimmediate": "^1.0.5", + "tar": "^4.0.2", + "xhr-request-promise": "^0.1.2" + } + }, + "tar": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", + "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "uuid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true + }, + "web3": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.51.tgz", + "integrity": "sha512-cSjJe8AwR9TKELLkGwk2HNL+37e+Y3x0nKkdBNpBZQNZR0SeoT3Jckkd7pBgrJKcyupItN+tKF48x5yNRvHzrQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/node": "^10.12.18", + "web3-bzz": "1.0.0-beta.51", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-eth": "1.0.0-beta.51", + "web3-eth-personal": "1.0.0-beta.51", + "web3-net": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-shh": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-bzz": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.51.tgz", + "integrity": "sha512-9zDifUc3qPOF2WJ2H/81Ki4rTLa4elB0OG8h3IEYHjXOLDHKzswBQC3favhvm/ZQ2WmnkGd04vsU2iQzBmr1OQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/node": "^10.12.18", + "lodash": "^4.17.11", + "swarm-js": "^0.1.39" + } + }, + "web3-core": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.51.tgz", + "integrity": "sha512-RZRAt0O+LsU1jV6BtuZBQYjE+YcNa9Bu6FzEAMZ92EdgiAkUB2kbTeipVGCMxOST26kWXUtwCwxkkx4g6iy41A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/bn.js": "^4.11.4", + "@types/node": "^10.12.18", + "lodash": "^4.17.11", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-core-helpers": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.51.tgz", + "integrity": "sha512-kA5JMJyrB5yxX3dQuziBP0Yo9i+MKwtYfA2E7DTbEoUueqjPcEwXMUxmpGROYmufCcfoe/B/FqpC8CzkqmHokw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "lodash": "^4.17.11", + "web3-eth-iban": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-core-method": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.51.tgz", + "integrity": "sha512-Tl5jGWqx01W6OFPNZI1c4wtCt+HPKWldWrLORKfW0zHyXrYDH6V2BuitA7R7j+54+c/61W3C2E6a+g7sQ8+mWA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "eventemitter3": "3.1.0", + "lodash": "^4.17.11" + } + }, + "web3-core-subscriptions": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.51.tgz", + "integrity": "sha512-bM4KlA37Or/XfrZKLtXlvUSISKWUkXOH/32s0DBnxRkKuey8QKK460H5KF9/HS8LfY7cO11NAepnFe4Tk1rSaQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "eventemitter3": "^3.1.0", + "lodash": "^4.17.11" + } + }, + "web3-eth": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.51.tgz", + "integrity": "sha512-w+8YtfKAcEPmOtYf47cjQw3t6dm5YcGvkl4jVZF00WHuvkPMFsXBTbZdH4aVgjPhubl53rdLrJwAP2b7X83+kQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "ethereumjs-tx": "^1.3.7", + "rxjs": "^6.4.0", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-core-subscriptions": "1.0.0-beta.51", + "web3-eth-abi": "1.0.0-beta.51", + "web3-eth-accounts": "1.0.0-beta.51", + "web3-eth-contract": "1.0.0-beta.51", + "web3-eth-ens": "1.0.0-beta.51", + "web3-eth-iban": "1.0.0-beta.51", + "web3-eth-personal": "1.0.0-beta.51", + "web3-net": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + }, + "dependencies": { + "web3-eth-abi": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.51.tgz", + "integrity": "sha512-mTcMpIihZECzZ5oWUh9Jg7x5pVhPv6xPTPWxY9007QKbbBH01GwPogoxBz1X7RfWOwGqZABfxFgXow5NkL0T3A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "ethers": "^4.0.27", + "lodash": "^4.17.11", + "web3-utils": "1.0.0-beta.51" + } + } + } + }, + "web3-eth-abi": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.50.tgz", + "integrity": "sha512-Nwm1HL3xBbrs43j/9V3gH1CJWWR7jyTDSE7PIkjYVjwgygAjlHPMHzuzGffoFMp2tSQ2DywCGmXAY5I5+vznZw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "ethers": "^4.0.27", + "lodash": "^4.17.11", + "web3-utils": "1.0.0-beta.50" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "web3-utils": { + "version": "1.0.0-beta.50", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.50.tgz", + "integrity": "sha512-xGhM/YkepK2x0iMYUl/sws58LzTbodjMGlhZxrCZLZxJ0DoaDyk3UdmZ6aCSCwVTFg4hlVj3doaIhWnwGfhhpQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/bn.js": "^4.11.4", + "@types/node": "^10.12.18", + "bn.js": "4.11.8", + "eth-lib": "0.2.8", + "ethjs-unit": "^0.1.6", + "lodash": "^4.17.11", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "utf8": "2.1.1" + } + } + } + }, + "web3-eth-accounts": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.51.tgz", + "integrity": "sha512-6HJu4Vrli7p1S52mV83juFjWn0w7rUE4q9cZdYwsGmqHGrOmV7E3zuBEyuA+kelPLpSmcJDOnEowvORmRdpAyw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "lodash": "^4.17.11", + "scrypt.js": "0.2.0", + "uuid": "3.3.2", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } + } + }, + "web3-eth-contract": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.51.tgz", + "integrity": "sha512-iVMay6OXDjDPeiPoeGpa6PQGuwIPxL/8UAVIlWVB1CYG9+FY6kcOUO7vI7dnDVwN1zneAslf9h86px6hgR92OQ==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/bn.js": "^4.11.4", + "lodash": "^4.17.11", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-core-subscriptions": "1.0.0-beta.51", + "web3-eth-abi": "1.0.0-beta.51", + "web3-eth-accounts": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + }, + "dependencies": { + "web3-eth-abi": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.51.tgz", + "integrity": "sha512-mTcMpIihZECzZ5oWUh9Jg7x5pVhPv6xPTPWxY9007QKbbBH01GwPogoxBz1X7RfWOwGqZABfxFgXow5NkL0T3A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "ethers": "^4.0.27", + "lodash": "^4.17.11", + "web3-utils": "1.0.0-beta.51" + } + } + } + }, + "web3-eth-ens": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.51.tgz", + "integrity": "sha512-JpHlAIUZGLGTTHWKBFciv5KGBi/+n0uqaO/dXoIfB/jI0Gcm5GYEwUt8TU/Y0/WVHvw/ttU1e0laJYPzTTEB8w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "eth-ens-namehash": "2.0.8", + "lodash": "^4.17.11", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-eth-abi": "1.0.0-beta.51", + "web3-eth-contract": "1.0.0-beta.51", + "web3-net": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + }, + "dependencies": { + "web3-eth-abi": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.51.tgz", + "integrity": "sha512-mTcMpIihZECzZ5oWUh9Jg7x5pVhPv6xPTPWxY9007QKbbBH01GwPogoxBz1X7RfWOwGqZABfxFgXow5NkL0T3A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "ethers": "^4.0.27", + "lodash": "^4.17.11", + "web3-utils": "1.0.0-beta.51" + } + } + } + }, + "web3-eth-iban": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.51.tgz", + "integrity": "sha512-GNLsEWpEkyJqmogsF+mQLlO06tPOudfhVBCPC68SIOw6wQTqAtoqzOot3EJdrEIDGet9eujOoBs6VWAjNbMGRA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "bn.js": "4.11.8", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-eth-personal": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.51.tgz", + "integrity": "sha512-Mq6uAvhfsKf7FSZVqJOfmb7i5zxQ6HkbTRcAyOOOfSmGnTvxSIjtKZCTAVv3UeBh3pxIXn5FSDlKngaj1MbYXg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-net": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-net": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.51.tgz", + "integrity": "sha512-1xeBIb/Tvf6PVNZ0u+pPrULNkLefTf0uuo8Hyx82EfY+mvMz6jvNDyFsD8spDGJUuxlDabFnoZdiaEv7LNwwSg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "lodash": "^4.17.11", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-shh": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.51.tgz", + "integrity": "sha512-IA4oaNH+PaGWQtTe7BmENszNTeSTsZ15hBNnOrMIyeF0PeghPj7sCenTtU/q8Ie6jR0oXfTXJOQCS/Q/QC3Ksg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "web3-core": "1.0.0-beta.51", + "web3-core-helpers": "1.0.0-beta.51", + "web3-core-method": "1.0.0-beta.51", + "web3-core-subscriptions": "1.0.0-beta.51", + "web3-net": "1.0.0-beta.51", + "web3-providers": "1.0.0-beta.51", + "web3-utils": "1.0.0-beta.51" + } + }, + "web3-utils": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.51.tgz", + "integrity": "sha512-c9sRSscu0NIjD96X4ToDOgTxGyJevppuB+uHOgWkziaLGqlw/Li1l24nGkvr0Zqpt9SufvfPcWf8EEC92pnwKg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/bn.js": "^4.11.4", + "@types/node": "^10.12.18", + "bn.js": "4.11.8", + "eth-lib": "0.2.8", + "ethjs-unit": "^0.1.6", + "lodash": "^4.17.11", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "utf8": "2.1.1" + }, + "dependencies": { + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "dev": true, + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + } + } + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "dev": true } } }, @@ -7610,24 +8618,6 @@ "urix": "^0.1.0" } }, - "source-map-support": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.11.tgz", - "integrity": "sha512-//sajEx/fGL3iw6fltKMdPvy8kL3kJ2O3iuYlRoT3k9Kb4BjOoZ+BZzaNHeuaruSt+Kf3Zk9tnfAQg9/AJqUVQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -8011,9 +9001,9 @@ "dev": true }, "truffle": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.0.8.tgz", - "integrity": "sha512-8Sf9GKD6Y99fcHDYQCE9hRxYWm+rpptye4Ez08G8OsaCSsbEqRzyCZf18FdLLL3iWYJZ9S+tA1P0YZVxGDQ2nw==", + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/truffle/-/truffle-5.0.10.tgz", + "integrity": "sha512-wVp7ruznIm1iX7fTHZwjKZCaOkkQcTR1eWOCi2yTQ85wg1iQITpV7NLDpVandaNcz5Z0e8EdOrH9lFKLgxiAxQ==", "dev": true, "requires": { "app-module-path": "^2.2.0", @@ -8832,20 +9822,20 @@ } }, "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.3.tgz", + "integrity": "sha512-rIQPT2UMDnk4jRX+w4WO84/pebU2jiLsjgIyrCktYgSvx28enOE3iYQMr+BD1rHiitWnDmpu0cY/LfIEpKcjcw==", "dev": true, "optional": true, "requires": { - "commander": "~2.17.1", + "commander": "~2.19.0", "source-map": "~0.6.1" }, "dependencies": { "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true, "optional": true }, @@ -8997,6 +9987,16 @@ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", "dev": true }, + "url-parse": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", + "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", + "dev": true, + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, "url-parse-lax": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", @@ -9313,6 +10313,29 @@ "web3-utils": "1.0.0-beta.37" } }, + "web3-providers": { + "version": "1.0.0-beta.51", + "resolved": "https://registry.npmjs.org/web3-providers/-/web3-providers-1.0.0-beta.51.tgz", + "integrity": "sha512-aWUEZIou4+zEZbLaBf1GQwbNoERq66mLEB6ubcPz1WEq1T5jfUPfwO4b4W2bEbEZVsoxS1ZJvSFkj1yAtD0X+g==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "@types/node": "^10.12.18", + "eventemitter3": "3.1.0", + "lodash": "^4.17.11", + "url-parse": "1.4.4", + "websocket": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", + "xhr2-cookies": "1.1.0" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + } + } + }, "web3-providers-http": { "version": "1.0.0-beta.37", "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.37.tgz", diff --git a/package.json b/package.json index 3231615..b0f1ec2 100644 --- a/package.json +++ b/package.json @@ -45,9 +45,9 @@ "ethlint": "^1.2.3", "ganache-cli": "^6.3.0", "solhint": "1.5.1", - "solidity-coverage": "^0.6.0-beta.3", + "solidity-coverage": "0.6.0-beta.5", "solium-plugin-zeppelin": "0.0.2", - "truffle": "^5.0.8", + "truffle": "5.0.10", "truffle-security": "^1.3.1", "web3": "1.0.0-beta.37" }, diff --git a/test/nodecontrol/NodeControlDb.js b/test/nodecontrol/nodecontrol_db_test.js similarity index 100% rename from test/nodecontrol/NodeControlDb.js rename to test/nodecontrol/nodecontrol_db_test.js diff --git a/test/nodecontrol/NodeControlLookUp.js b/test/nodecontrol/nodecontrol_lookup_test.js similarity index 100% rename from test/nodecontrol/NodeControlLookUp.js rename to test/nodecontrol/nodecontrol_lookup_test.js diff --git a/test/nodecontrol/NodeControlSimple.js b/test/nodecontrol/nodecontrol_simple_test.js similarity index 100% rename from test/nodecontrol/NodeControlSimple.js rename to test/nodecontrol/nodecontrol_simple_test.js diff --git a/test/registry/SimpleRegistry.js b/test/registry/simple_registry_test.js similarity index 100% rename from test/registry/SimpleRegistry.js rename to test/registry/simple_registry_test.js diff --git a/test/reward/reward_test.js b/test/reward/reward_test.js index 33a30a7..d341417 100644 --- a/test/reward/reward_test.js +++ b/test/reward/reward_test.js @@ -2,11 +2,12 @@ let RewardContract = artifacts.require('./mockcontracts/MockReward.sol'); let MockSystem = artifacts.require('./mockcontracts/MockSystem.sol'); const { - assertThrowsAsync, REVERT_ERROR_MSG, DEFAULT_ADDRESS, SYSTEM_ADDRESS, - EMPTY_BYTES32 + createSnapshot, + revertSnapshot, + send } = require(__dirname + "/../utils.js"); const NOT_SYS_ERR = "Caller is not the system"; @@ -767,67 +768,17 @@ async function checkRewarded(logs, _expected) { logs[0].args.rewards[1].toString(10).should.be.equal(_expected[1][1]); } -const send = (method, params = []) => { - return new Promise((resolve, reject) => web3.currentProvider.send({ id: 0, jsonrpc: '2.0', method, params }, (e, data) => { - if (e) { - reject(e); - } else { - resolve(data); - } - })); -} - const mineTill = async (_blockNumber) => { const diff = _blockNumber - (await web3.eth.getBlockNumber()); if (diff <= 0) { return; } - let before = (await web3.eth.getBlockNumber()); for (let i = 0; i < diff; i++) { await send('evm_mine'); } (await web3.eth.getBlockNumber()).should.be.equal(_blockNumber); } -const createSnapshot = () => { - return new Promise((resolve, reject) => { - web3.currentProvider.send( - { - jsonrpc: '2.0', - method: 'evm_snapshot', - params: [], - id: 1 - }, - (e, r) => { - if (e) reject(e); - else { - resolve(r.result); - } - } - ); - }); -} - -const revertSnapshot = (snapshotID, id) => { - return new Promise((resolve, reject) => { - - web3.currentProvider.send( - { - jsonrpc: '2.0', - method: "evm_revert", - params: [snapshotID], - id: id - }, - (e, r) => { - if (e) reject(e); - else { - resolve(r.result); - } - } - ); - }); -} - function randomIntInc(low, high) { return Math.floor(Math.random() * (high - low + 1) + low); } diff --git a/test/utils.js b/test/utils.js index 2f34f8f..c2be400 100644 --- a/test/utils.js +++ b/test/utils.js @@ -74,6 +74,7 @@ async function assertThrowsAsync(fn, msg) { } module.exports = { + send, revertSnapshot, createSnapshot, timeTravel, diff --git a/test/validatorset/relay_test.js b/test/validatorset/relay_test.js index e9fcd99..fc12659 100644 --- a/test/validatorset/relay_test.js +++ b/test/validatorset/relay_test.js @@ -267,7 +267,7 @@ contract('ValidatorSetRELAY [all features]', function (accounts) { }); it('should emit event correctly', async function () { - const expected = [EMPTY_BYTES32, []] + const expected = [EMPTY_BYTES32, []]; await callBackWithEvent(expected[0], expected[1], { from: owner }).should.be.fulfilled; const currentBlocknumber = (await web3.eth.getBlockNumber()); diff --git a/test/vesting/VestingDataToStorage.js b/test/vesting/VestingDataToStorage.js deleted file mode 100644 index 56e9189..0000000 --- a/test/vesting/VestingDataToStorage.js +++ /dev/null @@ -1,19 +0,0 @@ -const Web3 = require('web3') -const web3 = new Web3() - -const data = { - "0xdD870fA1b7C4700F2BD7f44238821C26f7392148": { - availableAmount: "0x09", - time: "0x01" - } -} - -const addressToSlot = (address) => { - return web3.utils.soliditySha3(web3.eth.abi.encodeParameter('address', address), web3.eth.abi.encodeParameter('uint256', '0x0')) -} - -Object.keys(data).forEach(address => { - const slot = addressToSlot(address) - console.log('"' + slot + '": "' + data[address].availableAmount + '",') - console.log('"0x' + (new web3.utils.BN(slot.replace('0x', ''), 16)).add(new web3.utils.BN('1', 16)).toString(16) + '": "' + data[address].time + '",') -}); diff --git a/test/vesting/Holding.test.js b/test/vesting/holding_test.js similarity index 92% rename from test/vesting/Holding.test.js rename to test/vesting/holding_test.js index 4805483..8767ffb 100644 --- a/test/vesting/Holding.test.js +++ b/test/vesting/holding_test.js @@ -5,8 +5,6 @@ const Utils = require('../utils.js'); let rpcId = 1; -console.log("Web3 version: " + web3.version); - require('chai') .use(require('chai-as-promised')) .use(require('chai-bn')(web3.utils.BN)) @@ -19,7 +17,7 @@ contract('Holding', function (accounts) { const ACCOUNT_FUNDING = web3.utils.toWei('99', 'ether').toString(10); const ACCOUNT_WITH_NO_FUNDS = '0xaf9DdE98b6aeB2225bf87C2cB91c58833fbab2Ab'; - const TARGET_AMOUNT_BN = web3.utils.toBN(web3.utils.toWei('80000000', 'ether')) + const TARGET_AMOUNT_BN = web3.utils.toBN(web3.utils.toWei('80000000', 'ether')); const TARGET_AMOUNT = TARGET_AMOUNT_BN.toString(10); describe('Sanity tests regarding the holded amount', async function() { @@ -101,17 +99,17 @@ contract('Holding', function (accounts) { it('It should be possible to release funds after time', async function() { holding = await Holding.new({from: deployer, value: TARGET_AMOUNT}).should.be.fulfilled; - await Utils.timeTravel(2000000000) - const balanceOfAccountBeforeRelease = new web3.utils.BN(await web3.eth.getBalance(ACCOUNT_WITH_FUNDS)) - await holding.releaseFunds(ACCOUNT_WITH_FUNDS) - const balanceOfAccountAfterRelease = new web3.utils.BN(await web3.eth.getBalance(ACCOUNT_WITH_FUNDS)) - balanceOfAccountAfterRelease.should.be.bignumber.equal(balanceOfAccountBeforeRelease.add(new web3.utils.BN(ACCOUNT_FUNDING))) + await Utils.timeTravel(2000000000); + const balanceOfAccountBeforeRelease = new web3.utils.BN(await web3.eth.getBalance(ACCOUNT_WITH_FUNDS)); + await holding.releaseFunds(ACCOUNT_WITH_FUNDS); + const balanceOfAccountAfterRelease = new web3.utils.BN(await web3.eth.getBalance(ACCOUNT_WITH_FUNDS)); + balanceOfAccountAfterRelease.should.be.bignumber.equal(balanceOfAccountBeforeRelease.add(new web3.utils.BN(ACCOUNT_FUNDING))); }); it('It should only be possible to release funds once', async function() { holding = await Holding.new({from: deployer, value: TARGET_AMOUNT}).should.be.fulfilled; - await Utils.timeTravel(2000000000) - await holding.releaseFunds(ACCOUNT_WITH_FUNDS) + await Utils.timeTravel(2000000000); + await holding.releaseFunds(ACCOUNT_WITH_FUNDS); await holding.releaseFunds(ACCOUNT_WITH_FUNDS) .should.be.rejectedWith('Available amount is 0.'); }); diff --git a/truffle-config.js b/truffle-config.js index 22230d2..42dcf28 100644 --- a/truffle-config.js +++ b/truffle-config.js @@ -59,7 +59,7 @@ module.exports = { compilers: { solc: { version: "0.5.7", // Fetch exact version from solc-bin (default: truffle's version) - docker: false, // Use "0.5.1" you've installed locally with docker + docker: false, settings: { // See the solidity docs for advice about optimization and evmVersion optimizer: { enabled: false,