diff --git a/package-lock.json b/package-lock.json index a3c86ab6417..3f00732bacb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13869,9 +13869,9 @@ } }, "typescript": { - "version": "3.8.0-dev.20191031", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.0-dev.20191031.tgz", - "integrity": "sha512-hnIkoA1tdqCoO71ocviQg+ojLPwuZw6IxUtW12hhI+0XCpqNinQOcvUJlak0pVRUKL6vMRjvmhMbE0+uDJp/sA==", + "version": "3.8.0-dev.20191105", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.0-dev.20191105.tgz", + "integrity": "sha512-bKujrrC0aQRihwWPuavqvlCArHqwXqGmUTwzpyojkTiHBMbfuuVxqM5fYDYLALe6B1eRGm5bFeNtFF/d/8CpCQ==", "dev": true }, "uglify-js": { diff --git a/packages/web3-core-helpers/package-lock.json b/packages/web3-core-helpers/package-lock.json index 9f5f8554018..7f064b14398 100644 --- a/packages/web3-core-helpers/package-lock.json +++ b/packages/web3-core-helpers/package-lock.json @@ -1,14 +1,11 @@ { - "name": "web3-core-helpers", - "version": "1.2.2", - "lockfileVersion": 1, "requires": true, + "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, "requires": { "@babel/highlight": "^7.0.0" } @@ -17,7 +14,6 @@ "version": "7.5.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -27,20 +23,17 @@ "@types/node": { "version": "12.12.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.5.tgz", - "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==", - "dev": true + "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==" }, "@types/parsimmon": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.0.tgz", - "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==", - "dev": true + "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -49,7 +42,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -57,14 +49,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -73,14 +63,12 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -91,7 +79,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -99,26 +86,22 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "definitelytyped-header-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/definitelytyped-header-parser/-/definitelytyped-header-parser-1.2.0.tgz", "integrity": "sha512-xpg8uu/2YD/reaVsZV4oJ4g7UDYFqQGWvT1W9Tsj6q4VtWBSaig38Qgah0ZMnQGF9kAsAim08EXDO1nSi0+Nog==", - "dev": true, "requires": { "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" @@ -127,16 +110,14 @@ "diff": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" }, "dtslint": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-0.4.2.tgz", "integrity": "sha512-ph4GXLw3HYzlQMJOFcpCqWHuL3MxJ/344OR7wn0wlQGchQGTIVNsSUl8iKEMatpy2geNMysgA9fQa6xVhHOkTQ==", - "dev": true, "requires": { - "definitelytyped-header-parser": "github:Microsoft/definitelytyped-header-parser#d957ad0bb2f4ecb60ac04f734e0b38fbc8e70b8a", + "definitelytyped-header-parser": "github:Microsoft/definitelytyped-header-parser#production", "fs-extra": "^6.0.1", "strip-json-comments": "^2.0.1", "tslint": "^5.12.0", @@ -146,7 +127,6 @@ "definitelytyped-header-parser": { "version": "github:Microsoft/definitelytyped-header-parser#d957ad0bb2f4ecb60ac04f734e0b38fbc8e70b8a", "from": "github:Microsoft/definitelytyped-header-parser#production", - "dev": true, "requires": { "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" @@ -157,26 +137,22 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "fs-extra": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -186,14 +162,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -206,20 +180,17 @@ "graceful-fs": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", - "dev": true + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -228,20 +199,17 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -251,7 +219,6 @@ "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" } @@ -260,7 +227,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -268,14 +234,12 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -284,7 +248,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -292,26 +255,22 @@ "parsimmon": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.13.0.tgz", - "integrity": "sha512-5UIrOCW+gjbILkjKPgTgmq8LKf8TT3Iy7kN2VD7OtQ81facKn8B4gG1X94jWqXYZsxG2KbJhrv/Yq/5H6BQn7A==", - "dev": true + "integrity": "sha512-5UIrOCW+gjbILkjKPgTgmq8LKf8TT3Iy7kN2VD7OtQ81facKn8B4gG1X94jWqXYZsxG2KbJhrv/Yq/5H6BQn7A==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "resolve": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -319,26 +278,22 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -346,14 +301,12 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tslint": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz", "integrity": "sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==", - "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", @@ -374,7 +327,6 @@ "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, "requires": { "tslib": "^1.8.1" } @@ -382,8 +334,7 @@ "typescript": { "version": "3.7.0-dev.20191015", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.0-dev.20191015.tgz", - "integrity": "sha512-Cpfj1n4pEUVKL+jtS0mkZodJffyMmf3Wk/UjyZMGX4fsjK5KBPJf3NUlyXij8I8p1E2CAomdS5NPFrAR+z8pKw==", - "dev": true + "integrity": "sha512-Cpfj1n4pEUVKL+jtS0mkZodJffyMmf3Wk/UjyZMGX4fsjK5KBPJf3NUlyXij8I8p1E2CAomdS5NPFrAR+z8pKw==" }, "underscore": { "version": "1.9.1", @@ -393,14 +344,12 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } diff --git a/packages/web3-core-requestmanager/src/index.js b/packages/web3-core-requestmanager/src/index.js index 4fc48d493c7..368782b7284 100644 --- a/packages/web3-core-requestmanager/src/index.js +++ b/packages/web3-core-requestmanager/src/index.js @@ -20,7 +20,7 @@ * @date 2017 */ -"use strict"; +'use strict'; var _ = require('underscore'); @@ -29,24 +29,26 @@ var Jsonrpc = require('./jsonrpc.js'); var BatchManager = require('./batch.js'); var givenProvider = require('./givenProvider.js'); - - - /** +/** * It's responsible for passing messages to providers * It's also responsible for polling the ethereum node for incoming messages * Default poll timeout is 1 second * Singleton + * + * @param {string|Object}provider + * @param {Net.Socket} net + * + * @constructor */ -var RequestManager = function RequestManager(provider) { +var RequestManager = function RequestManager(provider, net) { this.provider = null; this.providers = RequestManager.providers; - this.setProvider(provider); + this.setProvider(provider, net); this.subscriptions = {}; }; - RequestManager.givenProvider = givenProvider; RequestManager.providers = { @@ -56,50 +58,57 @@ RequestManager.providers = { }; - /** * Should be used to set provider of request manager * * @method setProvider - * @param {Object} p + * + * @param {Object} provider + * @param {net.Socket} net + * + * @returns void */ -RequestManager.prototype.setProvider = function (p, net) { +RequestManager.prototype.setProvider = function(provider, net) { var _this = this; // autodetect provider - if(p && typeof p === 'string' && this.providers) { + if (provider && typeof provider === 'string' && this.providers) { // HTTP - if(/^http(s)?:\/\//i.test(p)) { - p = new this.providers.HttpProvider(p); + if (/^http(s)?:\/\//i.test(provider)) { + provider = new this.providers.HttpProvider(provider); // WS - } else if(/^ws(s)?:\/\//i.test(p)) { - p = new this.providers.WebsocketProvider(p); + } else if (/^ws(s)?:\/\//i.test(provider)) { + provider = new this.providers.WebsocketProvider(provider); // IPC - } else if(p && typeof net === 'object' && typeof net.connect === 'function') { - p = new this.providers.IpcProvider(p, net); + } else if (provider && typeof net === 'object' && typeof net.connect === 'function') { + provider = new this.providers.IpcProvider(provider, net); - } else if(p) { - throw new Error('Can\'t autodetect provider for "'+ p +'"'); + } else if (provider) { + throw new Error('Can\'t autodetect provider for "' + provider + '"'); } } // reset the old one before changing, if still connected - if(this.provider && this.provider.connected) + if (this.provider && this.provider.connected) this.clearSubscriptions(); - this.provider = p || null; + this.provider = provider || null; // listen to incoming notifications - if(this.provider && this.provider.on) { - this.provider.on('data', function requestManagerNotification(result, deprecatedResult){ + if (this.provider && this.provider.on) { + this.provider.on('data', function(result, deprecatedResult) { result = result || deprecatedResult; // this is for possible old providers, which may had the error first handler // check for result.method, to prevent old providers errors to pass as result - if(result.method && _this.subscriptions[result.params.subscription] && _this.subscriptions[result.params.subscription].callback) { + if ( + result.method && + _this.subscriptions[result.params.subscription] && + _this.subscriptions[result.params.subscription].callback + ) { _this.subscriptions[result.params.subscription].callback(null, result.params.result); } }); @@ -113,7 +122,6 @@ RequestManager.prototype.setProvider = function (p, net) { } }; - /** * Should be used to asynchronously send request * @@ -121,16 +129,17 @@ RequestManager.prototype.setProvider = function (p, net) { * @param {Object} data * @param {Function} callback */ -RequestManager.prototype.send = function (data, callback) { - callback = callback || function(){}; +RequestManager.prototype.send = function(data, callback) { + callback = callback || function() { + }; if (!this.provider) { return callback(errors.InvalidProvider()); } var payload = Jsonrpc.toPayload(data.method, data.params); - this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](payload, function (err, result) { - if(result && result.id && payload.id !== result.id) return callback(new Error('Wrong response id "'+ result.id +'" (expected: "'+ payload.id +'") in '+ JSON.stringify(payload))); + this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](payload, function(err, result) { + if (result && result.id && payload.id !== result.id) return callback(new Error('Wrong response id "' + result.id + '" (expected: "' + payload.id + '") in ' + JSON.stringify(payload))); if (err) { return callback(err); @@ -155,13 +164,13 @@ RequestManager.prototype.send = function (data, callback) { * @param {Array} batch data * @param {Function} callback */ -RequestManager.prototype.sendBatch = function (data, callback) { +RequestManager.prototype.sendBatch = function(data, callback) { if (!this.provider) { return callback(errors.InvalidProvider()); } var payload = Jsonrpc.toBatchPayload(data); - this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](payload, function (err, results) { + this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](payload, function(err, results) { if (err) { return callback(err); } @@ -184,16 +193,15 @@ RequestManager.prototype.sendBatch = function (data, callback) { * @param {String} type the subscription namespace (eth, personal, etc) * @param {Function} callback the callback to call for incoming notifications */ -RequestManager.prototype.addSubscription = function (id, name, type, callback) { - if(this.provider.on) { +RequestManager.prototype.addSubscription = function(id, name, type, callback) { + if (this.provider.on) { this.subscriptions[id] = { callback: callback, type: type, name: name }; - } else { - throw new Error('The provider doesn\'t support subscriptions: '+ this.provider.constructor.name); + throw new Error('The provider doesn\'t support subscriptions: ' + this.provider.constructor.name); } }; @@ -204,10 +212,10 @@ RequestManager.prototype.addSubscription = function (id, name, type, callback) { * @param {String} id the subscription id * @param {Function} callback fired once the subscription is removed */ -RequestManager.prototype.removeSubscription = function (id, callback) { +RequestManager.prototype.removeSubscription = function(id, callback) { var _this = this; - if(this.subscriptions[id]) { + if (this.subscriptions[id]) { this.send({ method: this.subscriptions[id].type + '_unsubscribe', @@ -224,19 +232,19 @@ RequestManager.prototype.removeSubscription = function (id, callback) { * * @method reset */ -RequestManager.prototype.clearSubscriptions = function (keepIsSyncing) { +RequestManager.prototype.clearSubscriptions = function(keepIsSyncing) { var _this = this; // uninstall all subscriptions - Object.keys(this.subscriptions).forEach(function(id){ - if(!keepIsSyncing || _this.subscriptions[id].name !== 'syncing') + Object.keys(this.subscriptions).forEach(function(id) { + if (!keepIsSyncing || _this.subscriptions[id].name !== 'syncing') _this.removeSubscription(id); }); // reset notification callbacks etc. - if(this.provider.reset) + if (this.provider.reset) this.provider.reset(); }; diff --git a/packages/web3-core/src/index.js b/packages/web3-core/src/index.js index 29ecd36fdea..ce17eb237d0 100644 --- a/packages/web3-core/src/index.js +++ b/packages/web3-core/src/index.js @@ -20,27 +20,26 @@ * @date 2017 */ -"use strict"; +'use strict'; var requestManager = require('web3-core-requestmanager'); var extend = require('./extend.js'); module.exports = { - packageInit: function (pkg, args) { + packageInit: function(pkg, args) { args = Array.prototype.slice.call(args); if (!pkg) { throw new Error('You need to instantiate using the "new" keyword.'); } - // make property of pkg._provider, which can properly set providers Object.defineProperty(pkg, 'currentProvider', { - get: function () { + get: function() { return pkg._provider; }, - set: function (value) { + set: function(value) { return pkg.setProvider(value); }, enumerable: true, @@ -49,36 +48,40 @@ module.exports = { // inherit from web3 umbrella package if (args[0] && args[0]._requestManager) { - pkg._requestManager = new requestManager.Manager(args[0].currentProvider); - - // set requestmanager on package + pkg._requestManager = args[0]._requestManager; + // set requestmanager on package } else { - pkg._requestManager = new requestManager.Manager(); - pkg._requestManager.setProvider(args[0], args[1]); + pkg._requestManager = new requestManager.Manager(args[0], args[1]); } // add givenProvider pkg.givenProvider = requestManager.Manager.givenProvider; pkg.providers = requestManager.Manager.providers; - pkg._provider = pkg._requestManager.provider; + pkg._provider = pkg._requestManager.provider; // add SETPROVIDER function (don't overwrite if already existing) if (!pkg.setProvider) { - pkg.setProvider = function (provider, net) { + pkg.setProvider = function(provider, net) { + pkg._requestManager.setProvider(provider, net); pkg._provider = pkg._requestManager.provider; return true; }; } + pkg.setRequestManager = function(manager) { + pkg._requestManager = manager; + pkg._provider = manager.provider; + }; + // attach batch request creation pkg.BatchRequest = requestManager.BatchManager.bind(null, pkg._requestManager); // attach extend function pkg.extend = extend(pkg); }, - addProviders: function (pkg) { + addProviders: function(pkg) { pkg.givenProvider = requestManager.Manager.givenProvider; pkg.providers = requestManager.Manager.providers; } diff --git a/packages/web3-eth-contract/src/index.js b/packages/web3-eth-contract/src/index.js index 0920b10b8b6..26e5fe1b5f9 100644 --- a/packages/web3-eth-contract/src/index.js +++ b/packages/web3-eth-contract/src/index.js @@ -56,22 +56,18 @@ var Contract = function Contract(jsonInterface, address, options) { args = Array.prototype.slice.call(arguments); if(!(this instanceof Contract)) { - throw new Error('Please use the "new" keyword to instantiate a web3.eth.contract() object!'); + throw new Error('Please use the "new" keyword to instantiate a web3.eth.Contract() object!'); } // sets _requestmanager - core.packageInit(this, [this.constructor.currentProvider]); + core.packageInit(this, [this.constructor]); this.clearSubscriptions = this._requestManager.clearSubscriptions; - - if(!jsonInterface || !(Array.isArray(jsonInterface))) { throw new Error('You must provide the json interface of the contract when instantiating a contract object.'); } - - // create the options object this.options = {}; @@ -225,6 +221,17 @@ var Contract = function Contract(jsonInterface, address, options) { }; +/** + * Sets the new provider, creates a new requestManager, registers the "data" listener on the provider and sets the + * accounts module for the Contract class. + * + * @method setProvider + * + * @param {string|provider} provider + * @param {Accounts} accounts + * + * @returns void + */ Contract.setProvider = function(provider, accounts) { // Contract.currentProvider = provider; core.packageInit(this, [provider]); @@ -606,9 +613,11 @@ Contract.prototype.once = function(event, options, callback) { * Adds event listeners and creates a subscription. * * @method _on + * * @param {String} event * @param {Object} options * @param {Function} callback + * * @return {Object} the event subscription */ Contract.prototype._on = function(){ @@ -616,8 +625,8 @@ Contract.prototype._on = function(){ // prevent the event "newListener" and "removeListener" from being overwritten - this._checkListener('newListener', subOptions.event.name, subOptions.callback); - this._checkListener('removeListener', subOptions.event.name, subOptions.callback); + this._checkListener('newListener', subOptions.event.name); + this._checkListener('removeListener', subOptions.event.name); // TODO check if listener already exists? and reuse subscription if options are the same. @@ -643,6 +652,7 @@ Contract.prototype._on = function(){ type: 'eth', requestManager: this._requestManager }); + subscription.subscribe('logs', subOptions.params, subOptions.callback || function () {}); return subscription; diff --git a/packages/web3-eth-ens/package.json b/packages/web3-eth-ens/package.json index d00240b957b..6c143caaa34 100644 --- a/packages/web3-eth-ens/package.json +++ b/packages/web3-eth-ens/package.json @@ -19,7 +19,6 @@ "web3-core-helpers": "1.2.2", "web3-core-promievent": "1.2.2", "web3-eth-abi": "1.2.2", - "web3-eth-contract": "1.2.2", "web3-utils": "1.2.2" }, "devDependencies": { diff --git a/packages/web3-eth-ens/src/contracts/Registry.js b/packages/web3-eth-ens/src/contracts/Registry.js index 783761f8019..b943ec76225 100644 --- a/packages/web3-eth-ens/src/contracts/Registry.js +++ b/packages/web3-eth-ens/src/contracts/Registry.js @@ -21,7 +21,6 @@ "use strict"; var _ = require('underscore'); -var Contract = require('web3-eth-contract'); var namehash = require('eth-ens-namehash'); var PromiEvent = require('web3-core-promievent'); var REGISTRY_ABI = require('../ressources/ABI/Registry'); @@ -36,13 +35,10 @@ var RESOLVER_ABI = require('../ressources/ABI/Resolver'); * @constructor */ function Registry(ens) { - var self = this; + const self = this; this.ens = ens; this.contract = ens.checkNetwork().then(function (address) { - var contract = new Contract(REGISTRY_ABI, address); - contract.setProvider(self.ens.eth.currentProvider); - - return contract; + return new self.ens.eth.Contract(REGISTRY_ABI, address); }); } @@ -86,14 +82,12 @@ Registry.prototype.owner = function (name, callback) { * @return {Promise} */ Registry.prototype.resolver = function (name) { - var self = this; + const self = this; return this.contract.then(function (contract) { return contract.methods.resolver(namehash.hash(name)).call(); }).then(function (address) { - var contract = new Contract(RESOLVER_ABI, address); - contract.setProvider(self.ens.eth.currentProvider); - return contract; + return new self.ens.eth.Contract(RESOLVER_ABI, address); }); }; diff --git a/packages/web3-eth-personal/src/index.js b/packages/web3-eth-personal/src/index.js index 54f12ab35ef..ab27b1ef4aa 100644 --- a/packages/web3-eth-personal/src/index.js +++ b/packages/web3-eth-personal/src/index.js @@ -36,7 +36,7 @@ var Personal = function Personal() { // sets _requestmanager core.packageInit(this, arguments); - this.net = new Net(this.currentProvider); + this.net = new Net(this); var defaultAccount = null; var defaultBlock = 'latest'; diff --git a/packages/web3-eth/src/index.js b/packages/web3-eth/src/index.js index 0d6c5414484..fdaac82cf9d 100644 --- a/packages/web3-eth/src/index.js +++ b/packages/web3-eth/src/index.js @@ -68,14 +68,26 @@ var Eth = function Eth() { // sets _requestmanager core.packageInit(this, arguments); + // overwrite package setRequestManager + var setRequestManager = this.setRequestManager; + this.setRequestManager = function (manager) { + setRequestManager(manager); + + _this.net.setRequestManager(manager); + _this.personal.setRequestManager(manager); + _this.accounts.setRequestManager(manager); + _this.Contract._requestManager = _this._requestManager; + _this.Contract.currentProvider = _this._provider; + + return true; + }; + // overwrite setProvider var setProvider = this.setProvider; this.setProvider = function () { setProvider.apply(_this, arguments); - _this.net.setProvider.apply(_this, arguments); - _this.personal.setProvider.apply(_this, arguments); - _this.accounts.setProvider.apply(_this, arguments); - _this.Contract.setProvider(_this.currentProvider, _this.accounts); + + _this.setRequestManager(_this._requestManager); }; @@ -234,15 +246,15 @@ var Eth = function Eth() { this.clearSubscriptions = _this._requestManager.clearSubscriptions; // add net - this.net = new Net(this.currentProvider); + this.net = new Net(this); // add chain detection this.net.getNetworkType = getNetworkType.bind(this); // add accounts - this.accounts = new Accounts(this.currentProvider); + this.accounts = new Accounts(this); // add personal - this.personal = new Personal(this.currentProvider); + this.personal = new Personal(this); this.personal.defaultAccount = this.defaultAccount; // create a proxy Contract type for this instance, as a Contract's provider @@ -262,7 +274,7 @@ var Eth = function Eth() { var setProvider = self.setProvider; self.setProvider = function() { setProvider.apply(self, arguments); - core.packageInit(_this, [self.currentProvider]); + core.packageInit(_this, [self]); }; }; @@ -282,7 +294,9 @@ var Eth = function Eth() { this.Contract.transactionBlockTimeout = this.transactionBlockTimeout; this.Contract.transactionConfirmationBlocks = this.transactionConfirmationBlocks; this.Contract.transactionPollingTimeout = this.transactionPollingTimeout; - this.Contract.setProvider(this.currentProvider, this.accounts); + this.Contract._requestManager = this._requestManager; + this.Contract._ethAccounts = this.accounts; + this.Contract.currentProvider = this._requestManager.provider; // add IBAN this.Iban = Iban; @@ -567,7 +581,7 @@ var Eth = function Eth() { methods.forEach(function(method) { method.attachToObject(_this); - method.setRequestManager(_this._requestManager, _this.accounts); // second param means is eth.accounts (necessary for wallet signing) + method.setRequestManager(_this._requestManager, _this.accounts); // second param is the eth.accounts module (necessary for signing transactions locally) method.defaultBlock = _this.defaultBlock; method.defaultAccount = _this.defaultAccount; method.transactionBlockTimeout = _this.transactionBlockTimeout; @@ -577,6 +591,7 @@ var Eth = function Eth() { }; +// Adds the static givenProvider and providers property to the Eth module core.addProviders(Eth); diff --git a/packages/web3-providers-ipc/package-lock.json b/packages/web3-providers-ipc/package-lock.json index c96d767068c..ba052f5b8cb 100644 --- a/packages/web3-providers-ipc/package-lock.json +++ b/packages/web3-providers-ipc/package-lock.json @@ -1,14 +1,11 @@ { - "name": "web3-providers-ipc", - "version": "1.2.2", - "lockfileVersion": 1, "requires": true, + "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, "requires": { "@babel/highlight": "^7.0.0" } @@ -17,7 +14,6 @@ "version": "7.5.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -27,20 +23,17 @@ "@types/node": { "version": "12.12.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.5.tgz", - "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==", - "dev": true + "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==" }, "@types/parsimmon": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.0.tgz", - "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==", - "dev": true + "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -49,7 +42,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -57,14 +49,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -73,14 +63,12 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -91,7 +79,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -99,26 +86,22 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "definitelytyped-header-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/definitelytyped-header-parser/-/definitelytyped-header-parser-1.2.0.tgz", "integrity": "sha512-xpg8uu/2YD/reaVsZV4oJ4g7UDYFqQGWvT1W9Tsj6q4VtWBSaig38Qgah0ZMnQGF9kAsAim08EXDO1nSi0+Nog==", - "dev": true, "requires": { "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" @@ -127,16 +110,14 @@ "diff": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" }, "dtslint": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-0.4.2.tgz", "integrity": "sha512-ph4GXLw3HYzlQMJOFcpCqWHuL3MxJ/344OR7wn0wlQGchQGTIVNsSUl8iKEMatpy2geNMysgA9fQa6xVhHOkTQ==", - "dev": true, "requires": { - "definitelytyped-header-parser": "github:Microsoft/definitelytyped-header-parser#d957ad0bb2f4ecb60ac04f734e0b38fbc8e70b8a", + "definitelytyped-header-parser": "github:Microsoft/definitelytyped-header-parser#production", "fs-extra": "^6.0.1", "strip-json-comments": "^2.0.1", "tslint": "^5.12.0", @@ -146,7 +127,6 @@ "definitelytyped-header-parser": { "version": "github:Microsoft/definitelytyped-header-parser#d957ad0bb2f4ecb60ac04f734e0b38fbc8e70b8a", "from": "github:Microsoft/definitelytyped-header-parser#production", - "dev": true, "requires": { "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" @@ -157,26 +137,22 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "fs-extra": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -186,14 +162,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -206,14 +180,12 @@ "graceful-fs": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", - "dev": true + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "http-https": { "version": "1.0.0", @@ -224,7 +196,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -233,20 +204,17 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -256,7 +224,6 @@ "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" } @@ -265,7 +232,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -273,14 +239,12 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -297,7 +261,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -305,26 +268,22 @@ "parsimmon": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.13.0.tgz", - "integrity": "sha512-5UIrOCW+gjbILkjKPgTgmq8LKf8TT3Iy7kN2VD7OtQ81facKn8B4gG1X94jWqXYZsxG2KbJhrv/Yq/5H6BQn7A==", - "dev": true + "integrity": "sha512-5UIrOCW+gjbILkjKPgTgmq8LKf8TT3Iy7kN2VD7OtQ81facKn8B4gG1X94jWqXYZsxG2KbJhrv/Yq/5H6BQn7A==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "resolve": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -332,26 +291,22 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -359,14 +314,12 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tslint": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz", "integrity": "sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==", - "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", @@ -387,7 +340,6 @@ "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, "requires": { "tslib": "^1.8.1" } @@ -395,8 +347,7 @@ "typescript": { "version": "3.7.0-dev.20191016", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.0-dev.20191016.tgz", - "integrity": "sha512-4CUiTF5rEtPaClGD9nWpqPMICdDc54PTyrzwqpivz/h7mkWJs/xhQhOddiA5vx+D8ob9eSRIdueXQkI2oxOmfg==", - "dev": true + "integrity": "sha512-4CUiTF5rEtPaClGD9nWpqPMICdDc54PTyrzwqpivz/h7mkWJs/xhQhOddiA5vx+D8ob9eSRIdueXQkI2oxOmfg==" }, "underscore": { "version": "1.9.1", @@ -406,14 +357,12 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } diff --git a/packages/web3-providers-ws/package-lock.json b/packages/web3-providers-ws/package-lock.json index e61ca7cebb2..df1785cff8b 100644 --- a/packages/web3-providers-ws/package-lock.json +++ b/packages/web3-providers-ws/package-lock.json @@ -145,7 +145,7 @@ "fs-extra": "^6.0.1", "strip-json-comments": "^2.0.1", "tslint": "^5.12.0", - "typescript": "^3.7.0-dev.20191016" + "typescript": "^3.8.0-dev.20191105" }, "dependencies": { "definitelytyped-header-parser": { @@ -155,6 +155,11 @@ "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" } + }, + "typescript": { + "version": "3.8.0-dev.20191105", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.0-dev.20191105.tgz", + "integrity": "sha512-bKujrrC0aQRihwWPuavqvlCArHqwXqGmUTwzpyojkTiHBMbfuuVxqM5fYDYLALe6B1eRGm5bFeNtFF/d/8CpCQ==" } } }, @@ -417,11 +422,6 @@ "is-typedarray": "^1.0.0" } }, - "typescript": { - "version": "3.7.0-dev.20191016", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.0-dev.20191016.tgz", - "integrity": "sha512-4CUiTF5rEtPaClGD9nWpqPMICdDc54PTyrzwqpivz/h7mkWJs/xhQhOddiA5vx+D8ob9eSRIdueXQkI2oxOmfg==" - }, "underscore": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", diff --git a/packages/web3-shh/package-lock.json b/packages/web3-shh/package-lock.json index 04cf777554b..e0ddb46663c 100644 --- a/packages/web3-shh/package-lock.json +++ b/packages/web3-shh/package-lock.json @@ -1,14 +1,11 @@ { - "name": "web3-shh", - "version": "1.2.2", - "lockfileVersion": 1, "requires": true, + "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { "version": "7.5.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", - "dev": true, "requires": { "@babel/highlight": "^7.0.0" } @@ -17,7 +14,6 @@ "version": "7.5.0", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "dev": true, "requires": { "chalk": "^2.0.0", "esutils": "^2.0.2", @@ -27,20 +23,17 @@ "@types/node": { "version": "12.12.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.5.tgz", - "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==", - "dev": true + "integrity": "sha512-KEjODidV4XYUlJBF3XdjSH5FWoMCtO0utnhtdLf1AgeuZLOrRbvmU/gaRCVg7ZaQDjVf3l84egiY0mRNe5xE4A==" }, "@types/parsimmon": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/@types/parsimmon/-/parsimmon-1.10.0.tgz", - "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==", - "dev": true + "integrity": "sha512-bsTIJFVQv7jnvNiC42ld2pQW2KRI+pAG243L+iATvqzy3X6+NH1obz2itRKDZZ8VVhN3wjwYax/VBGCcXzgTqQ==" }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -49,7 +42,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -57,14 +49,12 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -73,14 +63,12 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -91,7 +79,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -99,26 +86,22 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "definitelytyped-header-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/definitelytyped-header-parser/-/definitelytyped-header-parser-1.2.0.tgz", "integrity": "sha512-xpg8uu/2YD/reaVsZV4oJ4g7UDYFqQGWvT1W9Tsj6q4VtWBSaig38Qgah0ZMnQGF9kAsAim08EXDO1nSi0+Nog==", - "dev": true, "requires": { "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" @@ -127,16 +110,14 @@ "diff": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" }, "dtslint": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-0.4.2.tgz", "integrity": "sha512-ph4GXLw3HYzlQMJOFcpCqWHuL3MxJ/344OR7wn0wlQGchQGTIVNsSUl8iKEMatpy2geNMysgA9fQa6xVhHOkTQ==", - "dev": true, "requires": { - "definitelytyped-header-parser": "github:Microsoft/definitelytyped-header-parser#d957ad0bb2f4ecb60ac04f734e0b38fbc8e70b8a", + "definitelytyped-header-parser": "github:Microsoft/definitelytyped-header-parser#production", "fs-extra": "^6.0.1", "strip-json-comments": "^2.0.1", "tslint": "^5.12.0", @@ -146,7 +127,6 @@ "definitelytyped-header-parser": { "version": "github:Microsoft/definitelytyped-header-parser#d957ad0bb2f4ecb60ac04f734e0b38fbc8e70b8a", "from": "github:Microsoft/definitelytyped-header-parser#production", - "dev": true, "requires": { "@types/parsimmon": "^1.3.0", "parsimmon": "^1.2.0" @@ -157,26 +137,22 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "fs-extra": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz", "integrity": "sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==", - "dev": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -186,14 +162,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "glob": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -206,20 +180,17 @@ "graceful-fs": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==", - "dev": true + "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -228,20 +199,17 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -251,7 +219,6 @@ "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" } @@ -260,7 +227,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -268,14 +234,12 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -284,7 +248,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -292,26 +255,22 @@ "parsimmon": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.13.0.tgz", - "integrity": "sha512-5UIrOCW+gjbILkjKPgTgmq8LKf8TT3Iy7kN2VD7OtQ81facKn8B4gG1X94jWqXYZsxG2KbJhrv/Yq/5H6BQn7A==", - "dev": true + "integrity": "sha512-5UIrOCW+gjbILkjKPgTgmq8LKf8TT3Iy7kN2VD7OtQ81facKn8B4gG1X94jWqXYZsxG2KbJhrv/Yq/5H6BQn7A==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "resolve": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", - "dev": true, "requires": { "path-parse": "^1.0.6" } @@ -319,26 +278,22 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -346,14 +301,12 @@ "tslib": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz", - "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==", - "dev": true + "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==" }, "tslint": { "version": "5.20.0", "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.0.tgz", "integrity": "sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g==", - "dev": true, "requires": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", @@ -374,7 +327,6 @@ "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, "requires": { "tslib": "^1.8.1" } @@ -382,20 +334,17 @@ "typescript": { "version": "3.7.0-dev.20191015", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.0-dev.20191015.tgz", - "integrity": "sha512-Cpfj1n4pEUVKL+jtS0mkZodJffyMmf3Wk/UjyZMGX4fsjK5KBPJf3NUlyXij8I8p1E2CAomdS5NPFrAR+z8pKw==", - "dev": true + "integrity": "sha512-Cpfj1n4pEUVKL+jtS0mkZodJffyMmf3Wk/UjyZMGX4fsjK5KBPJf3NUlyXij8I8p1E2CAomdS5NPFrAR+z8pKw==" }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } } diff --git a/packages/web3/src/index.js b/packages/web3/src/index.js index 789c1785ac9..2967dd202f5 100644 --- a/packages/web3/src/index.js +++ b/packages/web3/src/index.js @@ -55,9 +55,9 @@ var Web3 = function Web3() { this.setProvider = function (provider, net) { setProvider.apply(_this, arguments); - this.eth.setProvider(provider, net); - this.shh.setProvider(provider, net); - this.bzz.setProvider(provider); + _this.eth.setRequestManager(_this._requestManager); + _this.shh.setRequestManager(_this._requestManager); + _this.bzz.setProvider(provider); return true; }; diff --git a/test/contract.js b/test/contract.js index 18d0a9c6c77..a9c677e59d9 100644 --- a/test/contract.js +++ b/test/contract.js @@ -9,306 +9,292 @@ var StandAloneContract = require('../packages/web3-eth-contract'); var abi = [{ - "type": "constructor", - "inputs": [{ - "name": "who", - "type": "address" - },{ - "name": "myValue", - "type": "uint256" + 'type': 'constructor', + 'inputs': [{ + 'name': 'who', + 'type': 'address' + }, { + 'name': 'myValue', + 'type': 'uint256' }] -},{ - "constant": false, - "inputs": [ +}, { + 'constant': false, + 'inputs': [ { - "components": [ - {"name": "status", "type": "bool"} + 'components': [ + {'name': 'status', 'type': 'bool'} ], - "name": "nestedStruct", - "type": "tuple" + 'name': 'nestedStruct', + 'type': 'tuple' } ], - "name": "addStruct", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" -},{ - "constant": true, - "inputs": [ + 'name': 'addStruct', + 'outputs': [], + 'payable': false, + 'stateMutability': 'nonpayable', + 'type': 'function' +}, { + 'constant': true, + 'inputs': [ { - "name": "", - "type": "address" + 'name': '', + 'type': 'address' } ], - "name": "listOfNestedStructs", - "outputs": [ + 'name': 'listOfNestedStructs', + 'outputs': [ { - "components": [ - {"name": "status", "type": "bool"} + 'components': [ + {'name': 'status', 'type': 'bool'} ], - "name": "nestedStruct", - "type": "tuple" + 'name': 'nestedStruct', + 'type': 'tuple' } ], - "payable": false, - "stateMutability": "view", - "type": "function" -},{ - "name": "balance", - "type": "function", - "inputs": [{ - "name": "who", - "type": "address" + 'payable': false, + 'stateMutability': 'view', + 'type': 'function' +}, { + 'name': 'balance', + 'type': 'function', + 'inputs': [{ + 'name': 'who', + 'type': 'address' }], - "constant": true, - "outputs": [{ - "name": "value", - "type": "uint256" + 'constant': true, + 'outputs': [{ + 'name': 'value', + 'type': 'uint256' }] -},{ - "name": "hasALotOfParams", - "inputs": [ +}, { + 'name': 'hasALotOfParams', + 'inputs': [ { - "name": "_var1", - "type": "bytes32" + 'name': '_var1', + 'type': 'bytes32' }, { - "name": "_var2", - "type": "string" + 'name': '_var2', + 'type': 'string' }, { - "name": "_var3", - "type": "bytes32[]" + 'name': '_var3', + 'type': 'bytes32[]' } ], - "outputs": [ + 'outputs': [ { - "name": "owner", - "type": "address" + 'name': 'owner', + 'type': 'address' } ], - "constant": false, - "payable": false, - "type": "function" -},{ - "name": "getStr", - "type": "function", - "inputs": [], - "constant": true, - "outputs": [{ - "name": "myString", - "type": "string" + 'constant': false, + 'payable': false, + 'type': 'function' +}, { + 'name': 'getStr', + 'type': 'function', + 'inputs': [], + 'constant': true, + 'outputs': [{ + 'name': 'myString', + 'type': 'string' }] -},{ - "name": "owner", - "type": "function", - "inputs": [], - "constant": true, - "outputs": [{ - "name": "owner", - "type": "address" +}, { + 'name': 'owner', + 'type': 'function', + 'inputs': [], + 'constant': true, + 'outputs': [{ + 'name': 'owner', + 'type': 'address' }] }, { - "name": "mySend", - "type": "function", - "inputs": [{ - "name": "to", - "type": "address" + 'name': 'mySend', + 'type': 'function', + 'inputs': [{ + 'name': 'to', + 'type': 'address' }, { - "name": "value", - "type": "uint256" + 'name': 'value', + 'type': 'uint256' }], - "outputs": [], - "stateMutability": "payable" -},{ - "name": "myDisallowedSend", - "type": "function", - "inputs": [{ - "name": "to", - "type": "address" + 'outputs': [], + 'stateMutability': 'payable' +}, { + 'name': 'myDisallowedSend', + 'type': 'function', + 'inputs': [{ + 'name': 'to', + 'type': 'address' }, { - "name": "value", - "type": "uint256" + 'name': 'value', + 'type': 'uint256' }], - "outputs": [], - "payable": false + 'outputs': [], + 'payable': false }, { - "name": "testArr", - "type": "function", - "inputs": [{ - "name": "value", - "type": "int[]" + 'name': 'testArr', + 'type': 'function', + 'inputs': [{ + 'name': 'value', + 'type': 'int[]' }], - "constant": true, - "outputs": [{ - "name": "d", - "type": "int" + 'constant': true, + 'outputs': [{ + 'name': 'd', + 'type': 'int' }] }, { - "name":"Changed", - "type":"event", - "inputs": [ - {"name":"from","type":"address","indexed":true}, - {"name":"amount","type":"uint256","indexed":true}, - {"name":"t1","type":"uint256","indexed":false}, - {"name":"t2","type":"uint256","indexed":false} + 'name': 'Changed', + 'type': 'event', + 'inputs': [ + {'name': 'from', 'type': 'address', 'indexed': true}, + {'name': 'amount', 'type': 'uint256', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false}, + {'name': 't2', 'type': 'uint256', 'indexed': false} ] }, { - "name":"Unchanged", - "type":"event", - "inputs": [ - {"name":"value","type":"uint256","indexed":true}, - {"name":"addressFrom","type":"address","indexed":true}, - {"name":"t1","type":"uint256","indexed":false} - ] + 'name': 'Unchanged', + 'type': 'event', + 'inputs': [ + {'name': 'value', 'type': 'uint256', 'indexed': true}, + {'name': 'addressFrom', 'type': 'address', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false} + ] }, { - "name":"overloadedFunction", - "type":"function", - "inputs":[ - {"name":"a","type":"uint256"} + 'name': 'overloadedFunction', + 'type': 'function', + 'inputs': [ + {'name': 'a', 'type': 'uint256'} ], - "constant":true, - "outputs":[ - {"name":"", "type":"uint256"} + 'constant': true, + 'outputs': [ + {'name': '', 'type': 'uint256'} ], - "payable":false, - "stateMutability":"view" + 'payable': false, + 'stateMutability': 'view' }, { - "name":"overloadedFunction", - "type":"function", - "inputs":[], - "constant":true, - "outputs":[ - {"name":"","type":"uint256"} + 'name': 'overloadedFunction', + 'type': 'function', + 'inputs': [], + 'constant': true, + 'outputs': [ + {'name': '', 'type': 'uint256'} ], - "payable":false, - "stateMutability":"view" - }]; + 'payable': false, + 'stateMutability': 'view' +}]; var address = '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe'; var addressLowercase = '0x11f4d0a3c12e86b4b5f39b213f7e19d048276dae'; var address2 = '0x5555567890123456789012345678901234567891'; +var account = { + address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', + privateKey: '0xbe6383dad004f233317e46ddb46ad31b16064d14447a95cc1d8c8d4bc61c3728' +}; -var getStandAloneContractInstance = function(abi, address, options, provider) { - - // if no address supplied - if (address && typeof address != 'string') { - - // no options provided, either - if (!options && !provider) { - provider = address; - address = undefined; - options = undefined; - } else if (options) { - // options provided, but no address - options = address; - provider = options; - address = undefined; - } - } else if (!provider) { - // address provided, but no options - provider = options; - options = undefined; - } - - +/** + * Factory method for standalone Contract objects. + * + * @method getStandAloneContractInstance + * + * @param {Array} abi + * @param {String} address + * @param {providers} provider + * @param {Object}options + * + * @returns {Contract} + */ +var getStandAloneContractInstance = function(abi, address, provider, options) { StandAloneContract.setProvider(provider); return new StandAloneContract(abi, address, options); -} - -var getEthContractInstance = function(abi, address, options, provider) { - - // if no address supplied - if (address && typeof address != 'string') { - - // no options provided, either - if (!options && !provider) { - provider = address; - address = undefined; - options = undefined; - } else if (options) { - // options provided, but no address - options = address; - provider = options; - address = undefined; - } - } else if (!provider) { - // address provided, but no options - provider = options; - options = undefined; - } +}; +/** + * Factory method for eth.Contract objects. + * + * @method getEthContractInstance + * + * @param {Array} abi + * @param {String} address + * @param {providers} provider + * @param {Object}options + * + * @returns {Contract} + */ +var getEthContractInstance = function(abi, address, provider, options) { var eth = new Eth(provider); - eth.setProvider(provider); - return new eth.Contract(abi, address, options); -} + const contract = new eth.Contract(abi, address, options); -var account = { - address: '0xEB014f8c8B418Db6b45774c326A0E64C78914dC0', - privateKey: '0xbe6383dad004f233317e46ddb46ad31b16064d14447a95cc1d8c8d4bc61c3728', + return contract; }; +/** + * @param {getEthContractInstance|getStandAloneContractInstance} contractFactory + */ var runTests = function(contractFactory) { - describe('instantiation', function () { - it('should transform address from checksum addressess', function () { + describe('instantiation', function() { + it('should transform address from checksum addressess', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); assert.equal(contract.options.address, address); }); - it('should transform address to checksum address', function () { + it('should transform address to checksum address', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); assert.equal(contract.options.address, address); }); - it('should fail on invalid address', function () { + it('should fail on invalid address', function() { var provider = new FakeIpcProvider(); - var test = function () { + var test = function() { contractFactory(abi, '0x11F4D0A3c12e86B4b5F39B213F7E19D048276DAe', provider); }; assert.throws(test); }); - it('should fail on invalid address as options.from', function () { + it('should fail on invalid address as options.from', function() { var provider = new FakeIpcProvider(); - var test = function () { - contractFactory(abi, address, {from: '0x11F4D0A3c12e86B4b5F39B213F7E19D048276DAe'}, provider); + var test = function() { + contractFactory(abi, address, provider, {from: '0x11F4D0A3c12e86B4b5F39B213F7E19D048276DAe'}); }; assert.throws(test); }); - it('.clone() should properly clone the contract instance', function () { + it('.clone() should properly clone the contract instance', function() { var provider = new FakeIpcProvider(); var fromAddress = '0xDDfFD0A3C12e86b4b5f39B213f7e19d048276daE'; var abi2 = [{ - "name": "ballerRo", - "type": "function", - "inputs": [{ - "name": "So", - "type": "address" + 'name': 'ballerRo', + 'type': 'function', + 'inputs': [{ + 'name': 'So', + 'type': 'address' }], - "constant": true, - "outputs": [{ - "name": "man", - "type": "uint256" + 'constant': true, + 'outputs': [{ + 'name': 'man', + 'type': 'uint256' }] }]; - var contract1 = contractFactory(abi, + var contract1 = contractFactory( + abi, address, + provider, { gas: 1222, gasPrice: 12345678, from: fromAddress - }, - provider); + } + ); var contract2 = contract1.clone(); @@ -332,7 +318,7 @@ var runTests = function(contractFactory) { }); describe('provider assignment', function() { - it('should assign a provider to a new instance without modifying old instance', function () { + it('should assign a provider to a new instance without modifying old instance', function() { var provider1 = new FakeIpcProvider(); var provider2 = new FakeHttpProvider(); @@ -344,21 +330,21 @@ var runTests = function(contractFactory) { }); }); - describe('internal method', function () { - it('_encodeEventABI should return the encoded event object without topics', function () { + describe('internal method', function() { + it('_encodeEventABI should return the encoded event object without topics', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); var result = contract._encodeEventABI({ signature: '0x1234', - "name":"Changed", - "type":"event", - "inputs": [ - {"name":"from","type":"address","indexed":true}, - {"name":"amount","type":"uint256","indexed":true}, - {"name":"t1","type":"uint256","indexed":false}, - {"name":"t2","type":"uint256","indexed":false} + 'name': 'Changed', + 'type': 'event', + 'inputs': [ + {'name': 'from', 'type': 'address', 'indexed': true}, + {'name': 'amount', 'type': 'uint256', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false}, + {'name': 't2', 'type': 'uint256', 'indexed': false} ] }); @@ -372,20 +358,20 @@ var runTests = function(contractFactory) { }); }); - it('_encodeEventABI should return the encoded event object with topics', function () { + it('_encodeEventABI should return the encoded event object with topics', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); var result = contract._encodeEventABI({ signature: '0x1234', - "name":"Changed", - "type":"event", - "inputs": [ - {"name":"from","type":"address","indexed":true}, - {"name":"amount","type":"uint256","indexed":true}, - {"name":"t1","type":"uint256","indexed":false}, - {"name":"t2","type":"uint256","indexed":false} + 'name': 'Changed', + 'type': 'event', + 'inputs': [ + {'name': 'from', 'type': 'address', 'indexed': true}, + {'name': 'amount', 'type': 'uint256', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false}, + {'name': 't2', 'type': 'uint256', 'indexed': false} ] }, {filter: {amount: 12}, fromBlock: 2}); @@ -400,22 +386,22 @@ var runTests = function(contractFactory) { }); }); - it('_encodeEventABI should return the encoded event object with topics and multiple choices', function () { + it('_encodeEventABI should return the encoded event object with topics and multiple choices', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); var result = contract._encodeEventABI({ signature: '0x1234', - "name":"Changed", - "type":"event", - "inputs": [ - {"name":"test","type":"uint256","indexed":true}, - {"name":"from","type":"address","indexed":true}, - {"name":"amount","type":"uint256","indexed":true}, - {"name":"t1","type":"uint256","indexed":false}, - {"name":"t2","type":"uint256","indexed":false} + 'name': 'Changed', + 'type': 'event', + 'inputs': [ + {'name': 'test', 'type': 'uint256', 'indexed': true}, + {'name': 'from', 'type': 'address', 'indexed': true}, + {'name': 'amount', 'type': 'uint256', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false}, + {'name': 't2', 'type': 'uint256', 'indexed': false} ] - }, {filter: {amount: [12,10], from: address}, fromBlock: 2}); + }, {filter: {amount: [12, 10], from: address}, fromBlock: 2}); assert.deepEqual(result, { address: addressLowercase, @@ -423,13 +409,13 @@ var runTests = function(contractFactory) { topics: [ '0x1234', null, - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), ['0x000000000000000000000000000000000000000000000000000000000000000c', '0x000000000000000000000000000000000000000000000000000000000000000a'] ] }); }); - it('_decodeEventABI should return the decoded event object with topics', function () { + it('_decodeEventABI should return the decoded event object with topics', function() { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; @@ -437,19 +423,19 @@ var runTests = function(contractFactory) { var result = contract._decodeEventABI.call({ signature: sha3(signature), - "name":"Changed", - "type":"event", - "inputs": [ - {"name":"from","type":"address","indexed":true}, - {"name":"amount","type":"uint256","indexed":true}, - {"name":"t1","type":"uint256","indexed":false}, - {"name":"t2","type":"uint256","indexed":false} + 'name': 'Changed', + 'type': 'event', + 'inputs': [ + {'name': 'from', 'type': 'address', 'indexed': true}, + {'name': 'amount', 'type': 'uint256', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false}, + {'name': 't2', 'type': 'uint256', 'indexed': false} ] }, { address: address, topics: [ sha3(signature), - '0x000000000000000000000000'+ address.replace('0x',''), + '0x000000000000000000000000' + address.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -458,7 +444,7 @@ var runTests = function(contractFactory) { transactionIndex: '0x0', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' }); assert.equal(result.blockNumber, 3); @@ -472,19 +458,19 @@ var runTests = function(contractFactory) { assert.equal(result.returnValues.t2, 8); }); - it('_decodeMethodReturn should return the decoded values', function () { + it('_decodeMethodReturn should return the decoded values', function() { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; var contract = contractFactory(abi, address, provider); var result = contract._decodeMethodReturn([{ - "name": "myAddress", - "type": "address" - },{ - "name": "value", - "type": "uint256" - }], '0x000000000000000000000000'+ address.replace('0x','')+ + 'name': 'myAddress', + 'type': 'address' + }, { + 'name': 'value', + 'type': 'uint256' + }], '0x000000000000000000000000' + address.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a'); assert.isObject(result); @@ -494,36 +480,36 @@ var runTests = function(contractFactory) { assert.equal(result.value, 10); }); - it('_decodeMethodReturn should return a single decoded value', function () { + it('_decodeMethodReturn should return a single decoded value', function() { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; var contract = contractFactory(abi, address, provider); var result = contract._decodeMethodReturn([{ - "name": "myAddress", - "type": "address" - }], '0x000000000000000000000000'+ address.replace('0x','')); + 'name': 'myAddress', + 'type': 'address' + }], '0x000000000000000000000000' + address.replace('0x', '')); assert.equal(result, address); }); - it('_executeMethod as instantSealEngine should sendTransaction and check for receipts', function (done) { + it('_executeMethod as instantSealEngine should sendTransaction and check for receipts', function(done) { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: signature +'000000000000000000000000'+ addressLowercase.replace('0x','') +'000000000000000000000000000000000000000000000000000000000000000a', + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a', from: address2, to: addressLowercase, - gasPrice: "0x5af3107a4000" + gasPrice: '0x5af3107a4000' }]); }); provider.injectResult('0x1234000000000000000000000000000000000000000000000000000000056789'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); @@ -542,61 +528,64 @@ var runTests = function(contractFactory) { var txObject = {}; txObject._method = { signature: signature, - "name": "send", - "type": "function", - "inputs": [{ - "name": "to", - "type": "address" + 'name': 'send', + 'type': 'function', + 'inputs': [{ + 'name': 'to', + 'type': 'address' }, { - "name": "value", - "type": "uint256" + 'name': 'value', + 'type': 'uint256' }], - "outputs": [] + 'outputs': [] }; txObject._parent = contract; txObject.encodeABI = contract._encodeMethodABI.bind(txObject); txObject.arguments = [address, 10]; - var deploy = contract._executeMethod.call(txObject, 'send', {from: address2, gasPrice: '100000000000000' }, function (err, result) { + var deploy = contract._executeMethod.call(txObject, 'send', { + from: address2, + gasPrice: '100000000000000' + }, function(err, result) { // tx hash assert.equal(result, '0x1234000000000000000000000000000000000000000000000000000000056789'); }) - .on('receipt', function(result){ - - assert.deepEqual(result, { - contractAddress: address, - cumulativeGasUsed: 10, - transactionIndex: 3, - blockNumber: 10, - blockHash: '0xbf1234', - gasUsed: 0 + .on('receipt', function(result) { + + assert.deepEqual(result, { + contractAddress: address, + cumulativeGasUsed: 10, + transactionIndex: 3, + blockNumber: 10, + blockHash: '0xbf1234', + gasUsed: 0 + }); + done(); }); - done(); - }); }); - it('_executeMethod should sendTransaction and check for receipts', function (done) { + it('_executeMethod should sendTransaction and check for receipts', function(done) { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: signature +'000000000000000000000000'+ addressLowercase.replace('0x','') +'000000000000000000000000000000000000000000000000000000000000000a', + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a', from: address2, to: addressLowercase, - gasPrice: "0x5af3107a4000" + gasPrice: '0x5af3107a4000' }]); }); provider.injectResult('0x1234000000000000000000000000000000000000000000000000000000056789'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); provider.injectResult(null); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params, ['newHeads']); }); @@ -613,7 +602,7 @@ var runTests = function(contractFactory) { } }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); @@ -625,7 +614,7 @@ var runTests = function(contractFactory) { blockHash: '0xbf1234', gasUsed: '0x0' }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_unsubscribe'); assert.deepEqual(payload.params, ['0x1234567']); }); @@ -637,46 +626,49 @@ var runTests = function(contractFactory) { var txObject = {}; txObject._method = { signature: signature, - "name": "send", - "type": "function", - "inputs": [{ - "name": "to", - "type": "address" + 'name': 'send', + 'type': 'function', + 'inputs': [{ + 'name': 'to', + 'type': 'address' }, { - "name": "value", - "type": "uint256" + 'name': 'value', + 'type': 'uint256' }], - "outputs": [] + 'outputs': [] }; txObject._parent = contract; txObject.encodeABI = contract._encodeMethodABI.bind(txObject); txObject.arguments = [address, 10]; - var deploy = contract._executeMethod.call(txObject, 'send', {from: address2, gasPrice: '100000000000000' }, function (err, result) { + var deploy = contract._executeMethod.call(txObject, 'send', { + from: address2, + gasPrice: '100000000000000' + }, function(err, result) { // tx hash assert.equal(result, '0x1234000000000000000000000000000000000000000000000000000000056789'); }) - .on('receipt', function(result){ - assert.deepEqual(result, { - contractAddress: address, - cumulativeGasUsed: 10, - transactionIndex: 3, - blockNumber: 10, - blockHash: '0xbf1234', - gasUsed: 0 - }); - done(); - }).catch(console.log); + .on('receipt', function(result) { + assert.deepEqual(result, { + contractAddress: address, + cumulativeGasUsed: 10, + transactionIndex: 3, + blockNumber: 10, + blockHash: '0xbf1234', + gasUsed: 0 + }); + done(); + }).catch(console.log); }); - it('_executeMethod should call and return values', function (done) { + it('_executeMethod should call and return values', function(done) { var provider = new FakeIpcProvider(); var signature = sha3('balance(address)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: signature + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', ''), from: address2, to: addressLowercase }, 'latest']); @@ -689,38 +681,44 @@ var runTests = function(contractFactory) { var txObject = {}; txObject._method = { signature: signature, - "name": "balance", - "type": "function", - "inputs": [{ - "name": "who", - "type": "address" + 'name': 'balance', + 'type': 'function', + 'inputs': [{ + 'name': 'who', + 'type': 'address' }], - "constant": true, - "outputs": [{ - "name": "value", - "type": "uint256" + 'constant': true, + 'outputs': [{ + 'name': 'value', + 'type': 'uint256' }] }; txObject._parent = contract; txObject.encodeABI = contract._encodeMethodABI.bind(txObject); txObject.arguments = [address]; - var deploy = contract._executeMethod.call(txObject, 'call', {from: address2}, function (err, result) { - assert.equal(result, '10'); - }) - .then(function(result){ - assert.equal(result, '10'); - done(); - }); + contract._executeMethod.call( + txObject, + 'call', + { + from: address2 + }, + function(err, result) { + assert.equal(result, '10'); + }) + .then(function(result) { + assert.equal(result, '10'); + done(); + }); }); }); - describe('event', function () { - it('should create event subscription', function (done) { + describe('event', function() { + it('should create event subscription', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { @@ -733,7 +731,7 @@ var runTests = function(contractFactory) { }); }); provider.injectResult('0x123'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); done(); @@ -756,51 +754,57 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); var contract = contractFactory(abi, address, provider); - var event = contract.events.Changed({filter: {from: address}}, function (err, result, sub) { - assert.equal(result.returnValues.from, address); - assert.equal(result.returnValues.amount, 1); - assert.equal(result.returnValues.t1, 1); - assert.equal(result.returnValues.t2, 8); + contract.events.Changed( + { + filter: { + from: address + } + }, + function(err, result, sub) { + assert.equal(result.returnValues.from, address); + assert.equal(result.returnValues.amount, 1); + assert.equal(result.returnValues.t1, 1); + assert.equal(result.returnValues.t2, 8); - sub.unsubscribe(); - }); + sub.unsubscribe(); + }); }); - it('should create event from the events object and use the fromBlock option', function (done) { + it('should create event from the events object and use the fromBlock option', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_getLogs'); }); provider.injectResult([{ - address: addressLowercase, - topics: [ - sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), - '0x0000000000000000000000000000000000000000000000000000000000000002' - ], - blockNumber: '0x3', - transactionHash: '0x1234', - blockHash: '0x1345', - logIndex: '0x4', - data: '0x0000000000000000000000000000000000000000000000000000000000000002' + + address: addressLowercase, + topics: [ + sha3(signature), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), + '0x0000000000000000000000000000000000000000000000000000000000000002' + ], + blockNumber: '0x3', + transactionHash: '0x1234', + blockHash: '0x1345', + logIndex: '0x4', + data: '0x0000000000000000000000000000000000000000000000000000000000000002' + '0000000000000000000000000000000000000000000000000000000000000009' - }, + }, { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000003' ], blockNumber: '0x4', @@ -808,16 +812,16 @@ var runTests = function(contractFactory) { blockHash: '0x1346', logIndex: '0x1', data: '0x0000000000000000000000000000000000000000000000000000000000000004' + - '0000000000000000000000000000000000000000000000000000000000000005' - }]); + '0000000000000000000000000000000000000000000000000000000000000005' + }]); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), null ], address: addressLowercase @@ -825,7 +829,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x321'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); done(); @@ -840,7 +844,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -848,32 +852,32 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); var contract = contractFactory(abi, address, provider); var count = 0; - var event = contract.events.Changed({fromBlock: 0,filter: {from: address}}) - .on('data', function (result) { + var event = contract.events.Changed({fromBlock: 0, filter: {from: address}}) + .on('data', function(result) { count++; - if(count === 1) { + if (count === 1) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 2); assert.equal(result.returnValues.t1, 2); assert.equal(result.returnValues.t2, 9); } - if(count === 2) { + if (count === 2) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 3); assert.equal(result.returnValues.t1, 4); assert.equal(result.returnValues.t2, 5); } - if(count === 3) { + if (count === 3) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 1); assert.equal(result.returnValues.t1, 1); @@ -886,17 +890,17 @@ var runTests = function(contractFactory) { }); - it('should create event from the events object using a signature and callback', function (done) { + it('should create event from the events object using a signature and callback', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), null ], address: addressLowercase @@ -904,7 +908,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x321'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); done(); @@ -919,7 +923,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -927,13 +931,13 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); var contract = contractFactory(abi, address, provider); - var event = contract.events['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651']({filter: {from: address}}, function (err, result) { + var event = contract.events['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651']({filter: {from: address}}, function(err, result) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 1); assert.equal(result.returnValues.t1, 1); @@ -943,17 +947,17 @@ var runTests = function(contractFactory) { }); }); - it('should create event from the events object using event name and parameters', function (done) { + it('should create event from the events object using event name and parameters', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), null ], address: addressLowercase @@ -961,7 +965,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x321'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); done(); @@ -976,7 +980,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -984,13 +988,13 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); var contract = contractFactory(abi, address, provider); - var event = contract.events[signature]({filter: {from: address}}, function (err, result) { + var event = contract.events[signature]({filter: {from: address}}, function(err, result) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 1); assert.equal(result.returnValues.t1, 1); @@ -1000,17 +1004,17 @@ var runTests = function(contractFactory) { }); }); - it('should create event using the function and unsubscribe after one log received', function (done) { + it('should create event using the function and unsubscribe after one log received', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), null ], address: addressLowercase @@ -1018,7 +1022,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x321'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); }); @@ -1032,7 +1036,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1040,7 +1044,7 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); @@ -1053,7 +1057,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1061,14 +1065,14 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); var count = 1; var contract = contractFactory(abi, address, provider); - contract.once('Changed', {filter: {from: address}}, function (err, result, sub) { + contract.once('Changed', {filter: {from: address}}, function(err, result, sub) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 1); assert.equal(result.returnValues.t1, 1); @@ -1082,11 +1086,11 @@ var runTests = function(contractFactory) { }); }); - it('should create event using the function and unsubscribe after one log received when no options are provided', function (done) { + it('should create event using the function and unsubscribe after one log received when no options are provided', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { @@ -1100,7 +1104,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x321'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); }); @@ -1114,7 +1118,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1122,7 +1126,7 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); @@ -1135,7 +1139,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1143,14 +1147,14 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); var count = 1; var contract = contractFactory(abi, address, provider); - contract.once('Changed', function (err, result, sub) { + contract.once('Changed', function(err, result, sub) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 1); assert.equal(result.returnValues.t1, 1); @@ -1164,24 +1168,24 @@ var runTests = function(contractFactory) { }); }); - it('should throw an error when using the once() function and no callback is provided', function () { + it('should throw an error when using the once() function and no callback is provided', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); assert.throws(contract.once.bind(contract, 'Changed', {filter: {from: address}})); }); - it('should create event subscription and fire the changed event, if log.removed = true', function (done) { + it('should create event subscription and fire the changed event, if log.removed = true', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), null ], address: addressLowercase @@ -1189,7 +1193,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x321'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); }); @@ -1203,7 +1207,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1211,7 +1215,7 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); @@ -1224,7 +1228,7 @@ var runTests = function(contractFactory) { address: addressLowercase, topics: [ sha3(signature), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1233,7 +1237,7 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); @@ -1241,35 +1245,35 @@ var runTests = function(contractFactory) { var count = 1; var contract = contractFactory(abi, address, provider); contract.events.Changed({filter: {from: address}}) - .on('data', function(result) { - assert.equal(result.returnValues.from, address); - assert.equal(result.returnValues.amount, 1); - assert.equal(result.returnValues.t1, 1); - assert.equal(result.returnValues.t2, 8); + .on('data', function(result) { + assert.equal(result.returnValues.from, address); + assert.equal(result.returnValues.amount, 1); + assert.equal(result.returnValues.t1, 1); + assert.equal(result.returnValues.t2, 8); - assert.equal(count, 1); - count++; + assert.equal(count, 1); + count++; - }) - .on('changed', function(result) { - assert.equal(result.returnValues.from, address); - assert.equal(result.returnValues.amount, 1); - assert.equal(result.returnValues.t1, 1); - assert.equal(result.returnValues.t2, 8); - assert.equal(result.removed, true); + }) + .on('changed', function(result) { + assert.equal(result.returnValues.from, address); + assert.equal(result.returnValues.amount, 1); + assert.equal(result.returnValues.t1, 1); + assert.equal(result.returnValues.t2, 8); + assert.equal(result.removed, true); - assert.equal(count, 2); - }); + assert.equal(count, 2); + }); setTimeout(done, 60); }); - it('should create all event filter and receive two logs', function (done) { + it('should create all event filter and receive two logs', function(done) { var provider = new FakeIpcProvider(); var signature = 'Changed(address,uint256,uint256,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params[1], { @@ -1279,7 +1283,7 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x333'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.jsonrpc, '2.0'); assert.equal(payload.method, 'eth_unsubscribe'); done(); @@ -1290,16 +1294,16 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); var count = 0; - var event = contract.events.allEvents(function (err, result) { + var event = contract.events.allEvents(function(err, result) { count++; - if(count === 1) { + if (count === 1) { assert.equal(result.returnValues.from, address); assert.equal(result.returnValues.amount, 1); assert.equal(result.returnValues.t1, 1); assert.equal(result.returnValues.t2, 8); } - if(count === 2) { + if (count === 2) { assert.equal(result.returnValues.addressFrom, address); assert.equal(result.returnValues.value, 2); assert.equal(result.returnValues.t1, 5); @@ -1318,7 +1322,7 @@ var runTests = function(contractFactory) { address: address, topics: [ sha3('Changed(address,uint256,uint256,uint256)'), - '0x000000000000000000000000'+ address.replace('0x',''), + '0x000000000000000000000000' + address.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0x3', @@ -1326,7 +1330,7 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' } } }); @@ -1341,7 +1345,7 @@ var runTests = function(contractFactory) { topics: [ sha3('Unchanged(uint256,address,uint256)'), '0x0000000000000000000000000000000000000000000000000000000000000002', - '0x000000000000000000000000'+ address.replace('0x','') + '0x000000000000000000000000' + address.replace('0x', '') ], blockNumber: '0x3', transactionHash: '0x1234', @@ -1353,17 +1357,17 @@ var runTests = function(contractFactory) { }); }); }); - describe('with methods', function () { - it('should change the address', function () { + describe('with methods', function() { + it('should change the address', function() { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; var contract = contractFactory(abi, address, provider); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase, from: address2 }, 'latest']); @@ -1374,10 +1378,10 @@ var runTests = function(contractFactory) { // change address contract.options.address = address2; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: address2, from: addressLowercase }, 'latest']); @@ -1386,32 +1390,32 @@ var runTests = function(contractFactory) { contract.methods.balance(address).call({from: address}); }); - it('should reset functions when resetting json interface', function () { + it('should reset functions when resetting json interface', function() { var provider = new FakeIpcProvider(); - var contract = contractFactory(abi, provider); + var contract = contractFactory(abi, '', provider); assert.isFunction(contract.methods.mySend); assert.isFunction(contract.events.Changed); contract.options.jsonInterface = [{ - "name": "otherSend", - "type": "function", - "inputs": [{ - "name": "to", - "type": "address" + 'name': 'otherSend', + 'type': 'function', + 'inputs': [{ + 'name': 'to', + 'type': 'address' }, { - "name": "value", - "type": "uint256" + 'name': 'value', + 'type': 'uint256' }], - "outputs": [] + 'outputs': [] }, { - "name":"Unchanged", - "type":"event", - "inputs": [ - {"name":"value","type":"uint256","indexed":true}, - {"name":"addressFrom","type":"address","indexed":true}, - {"name":"t1","type":"uint256","indexed":false} + 'name': 'Unchanged', + 'type': 'event', + 'inputs': [ + {'name': 'value', 'type': 'uint256', 'indexed': true}, + {'name': 'addressFrom', 'type': 'address', 'indexed': true}, + {'name': 't1', 'type': 'uint256', 'indexed': false} ] }]; @@ -1422,53 +1426,51 @@ var runTests = function(contractFactory) { assert.isUndefined(contract.events.Changed); }); - it('should encode a function call', function () { + it('should encode a function call', function() { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - var contract = contractFactory(abi, provider); + var contract = contractFactory(abi, '', provider); var result = contract.methods.balance(address).encodeABI(); - assert.equal(result, sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x','')); + assert.equal(result, sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', '')); }); - it('should encode a constructor call with pre set data', function () { + it('should encode a constructor call with pre set data', function() { var provider = new FakeIpcProvider(); - var signature = 'balance(address)'; - var contract = contractFactory(abi, {data: '0x1234'}, provider); + var contract = contractFactory(abi, '', provider, {data: '0x1234'}); var result = contract.deploy({ arguments: [address, 10] }).encodeABI(); - assert.equal(result, '0x1234' + '000000000000000000000000'+ addressLowercase.replace('0x','')+ '000000000000000000000000000000000000000000000000000000000000000a'); + assert.equal(result, '0x1234' + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a'); }); - it('should encode a constructor call with passed data', function () { + it('should encode a constructor call with passed data', function() { var provider = new FakeIpcProvider(); - var signature = 'balance(address)'; - var contract = contractFactory(abi, provider); + var contract = contractFactory(abi, '', provider); var result = contract.deploy({ arguments: [address, 10], data: '0x1234' }).encodeABI(); - assert.equal(result, '0x1234' + '000000000000000000000000'+ addressLowercase.replace('0x','')+ '000000000000000000000000000000000000000000000000000000000000000a'); + assert.equal(result, '0x1234' + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a'); }); - it('should estimate a function', function (done) { + it('should estimate a function', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_estimateGas'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase }]); }); @@ -1476,49 +1478,49 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); - contract.methods.balance(address).estimateGas(function (err, res) { + contract.methods.balance(address).estimateGas(function(err, res) { assert.deepEqual(res, 50); done(); }); }); - it('should estimate the constructor', function (done) { + it('should estimate the constructor', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_estimateGas'); assert.deepEqual(payload.params, [{ - data: '0x1234000000000000000000000000'+ addressLowercase.replace('0x','') +'0000000000000000000000000000000000000000000000000000000000000032' + data: '0x1234000000000000000000000000' + addressLowercase.replace('0x', '') + '0000000000000000000000000000000000000000000000000000000000000032' }]); }); provider.injectResult('0x000000000000000000000000000000000000000000000000000000000000000a'); - var contract = contractFactory(abi, address, {data: '0x1234'}, provider); + var contract = contractFactory(abi, address, provider, {data: '0x1234'}); contract.deploy({ arguments: [address, 50] - }).estimateGas(function (err, res) { + }).estimateGas(function(err, res) { assert.deepEqual(res, 10); done(); }); }); - it('should send with many parameters', function (done) { + it('should send with many parameters', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: '0x8708f4a12454534500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000c30786666323435343533343500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ff24545345000000000000000000000000000000000000000000000000000000534500000000000000000000000000000000000000000000000000000000000045450000000000000000000000000000000000000000000000000000000000004533450000000000000000000000000000000000000000000000000000000000', to: addressLowercase }, 'latest']); }); - provider.injectResult('0x000000000000000000000000'+ addressLowercase.replace('0x','')); + provider.injectResult('0x000000000000000000000000' + addressLowercase.replace('0x', '')); var contract = contractFactory(abi, address, provider); - contract.methods.hasALotOfParams("0x24545345", "0xff24545345", ["0xff24545345", "0x5345", "0x4545", "0x453345"]).call(function (err, res) { + contract.methods.hasALotOfParams('0x24545345', '0xff24545345', ['0xff24545345', '0x5345', '0x4545', '0x453345']).call(function(err, res) { assert.deepEqual(res, address); done(); }); @@ -1527,7 +1529,7 @@ var runTests = function(contractFactory) { it('should send overload functions with zero parameters', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: '0xbb853481', @@ -1537,7 +1539,7 @@ var runTests = function(contractFactory) { provider.injectResult('0x0000000000000000000000000000000000000000000000000000000000000005'); var contract = contractFactory(abi, address, provider); - contract.methods.overloadedFunction().call(function (err, res) { + contract.methods.overloadedFunction().call(function(err, res) { assert.equal(res, 5); done(); }); @@ -1546,7 +1548,7 @@ var runTests = function(contractFactory) { it('should send overload functions with one parameters', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: '0x533678270000000000000000000000000000000000000000000000000000000000000006', @@ -1557,20 +1559,20 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); - contract.methods.overloadedFunction(6).call(function (err, res) { + contract.methods.overloadedFunction(6).call(function(err, res) { assert.equal(res, 6); done(); }); }); - it('should call constant function', function (done) { + it('should call constant function', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase }, 'latest']); }); @@ -1578,20 +1580,20 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); - contract.methods.balance(address).call(function (err, res) { + contract.methods.balance(address).call(function(err, res) { assert.deepEqual(res, '50'); done(); }); }); - it('should call constant function with default block', function (done) { + it('should call constant function with default block', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase }, '0xb']); }); @@ -1600,24 +1602,24 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.balance(address).call(11) - .then(function (r) { - assert.deepEqual(r, '50'); - done(); - }); + .then(function(r) { + assert.deepEqual(r, '50'); + done(); + }); }); - it('should call constant concurrently', function (done) { + it('should call constant concurrently', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3('balance(address)').slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3('balance(address)').slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase }, 'latest']); }); provider.injectResult('0x000000000000000000000000000000000000000000000000000000000000000a'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3('owner()').slice(0, 10), @@ -1625,7 +1627,7 @@ var runTests = function(contractFactory) { }, 'latest']); }); provider.injectResult('0x00000000000000000000000011f4d0a3c12e86b4b5f39b213f7e19d048276dae'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3('getStr()').slice(0, 10), @@ -1650,13 +1652,13 @@ var runTests = function(contractFactory) { }); }); - it('should return an error when returned string is 0x', function (done) { + it('should return an error when returned string is 0x', function(done) { var provider = new FakeIpcProvider(); var signature = 'getStr()'; var contract = contractFactory(abi, address, provider); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10), @@ -1667,7 +1669,7 @@ var runTests = function(contractFactory) { provider.injectResult('0x'); - contract.methods.getStr().call({from: address2}, function (err, result) { + contract.methods.getStr().call({from: address2}, function(err, result) { // console.log(err, result) assert.isTrue(err instanceof Error); done(); @@ -1675,13 +1677,13 @@ var runTests = function(contractFactory) { }); - it('should return an empty string when 0x0', function (done) { + it('should return an empty string when 0x0', function(done) { var provider = new FakeIpcProvider(); var signature = 'getStr()'; var contract = contractFactory(abi, address, provider); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10), @@ -1692,35 +1694,35 @@ var runTests = function(contractFactory) { provider.injectResult('0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000'); - contract.methods.getStr().call({from: address2}, function (err, result) { + contract.methods.getStr().call({from: address2}, function(err, result) { assert.equal(result, ''); done(); }); }); - it('should sendTransaction and check for receipts with formatted logs', function (done) { + it('should sendTransaction and check for receipts with formatted logs', function(done) { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: signature +'000000000000000000000000'+ addressLowercase.replace('0x','') +'000000000000000000000000000000000000000000000000000000000000000a', + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a', from: address2, to: addressLowercase, - gasPrice: "0x1369ed97fb71" + gasPrice: '0x1369ed97fb71' }]); }); provider.injectResult('0x1234000000000000000000000000000000000000000000000000000000056789'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); provider.injectResult(null); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params, ['newHeads']); }); @@ -1737,7 +1739,7 @@ var runTests = function(contractFactory) { } }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); @@ -1754,7 +1756,7 @@ var runTests = function(contractFactory) { topics: [ sha3('Unchanged(uint256,address,uint256)'), '0x0000000000000000000000000000000000000000000000000000000000000002', - '0x000000000000000000000000'+ addressLowercase.replace('0x','') + '0x000000000000000000000000' + addressLowercase.replace('0x', '') ], blockNumber: '0xa', transactionHash: '0x1234', @@ -1762,11 +1764,11 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000005' - },{ + }, { address: address, topics: [ sha3('Changed(address,uint256,uint256,uint256)'), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0xa', @@ -1775,10 +1777,10 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' }] }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_unsubscribe'); assert.deepEqual(payload.params, ['0x1234567']); }); @@ -1788,104 +1790,104 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.mySend(address, 10).send({from: address2, gasPrice: '21345678654321'}) - .on('receipt', function (receipt) { - // console.log(receipt); - // console.log(receipt.events[0].raw); - // console.log(receipt.events[1].raw); - - // wont throw if it errors ?! - assert.deepEqual(receipt, { - contractAddress: null, - cumulativeGasUsed: 10, - transactionIndex: 3, - transactionHash: '0x1234', - blockNumber: 10, - blockHash: '0x1234', - gasUsed: 0, - events: { - Unchanged: { - address: address, - blockNumber: 10, - transactionHash: '0x1234', - blockHash: '0x1345', - logIndex: 4, - id: 'log_9ff24cb4', - transactionIndex: 0, - returnValues: { - 0: '2', - 1: address, - 2: '5', - value: '2', - addressFrom: address, - t1: '5' - }, - event: 'Unchanged', - signature: "0xf359668f205d0b5cfdc20d11353e05f633f83322e96f15486cbb007d210d66e5", - raw: { - topics: ['0xf359668f205d0b5cfdc20d11353e05f633f83322e96f15486cbb007d210d66e5', - '0x0000000000000000000000000000000000000000000000000000000000000002', - '0x000000000000000000000000' + addressLowercase.replace('0x', '')], - data: '0x0000000000000000000000000000000000000000000000000000000000000005', - } - }, - Changed: { - address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', - blockNumber: 10, - transactionHash: '0x1234', - blockHash: '0x1345', - logIndex: 4, - id: 'log_9ff24cb4', - transactionIndex: 0, - returnValues: { - 0: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', - 1: '1', - 2: '1', - 3: '8', - from: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', - amount: '1', - t1: '1', - t2: '8' + .on('receipt', function(receipt) { + // console.log(receipt); + // console.log(receipt.events[0].raw); + // console.log(receipt.events[1].raw); + + // wont throw if it errors ?! + assert.deepEqual(receipt, { + contractAddress: null, + cumulativeGasUsed: 10, + transactionIndex: 3, + transactionHash: '0x1234', + blockNumber: 10, + blockHash: '0x1234', + gasUsed: 0, + events: { + Unchanged: { + address: address, + blockNumber: 10, + transactionHash: '0x1234', + blockHash: '0x1345', + logIndex: 4, + id: 'log_9ff24cb4', + transactionIndex: 0, + returnValues: { + 0: '2', + 1: address, + 2: '5', + value: '2', + addressFrom: address, + t1: '5' + }, + event: 'Unchanged', + signature: '0xf359668f205d0b5cfdc20d11353e05f633f83322e96f15486cbb007d210d66e5', + raw: { + topics: ['0xf359668f205d0b5cfdc20d11353e05f633f83322e96f15486cbb007d210d66e5', + '0x0000000000000000000000000000000000000000000000000000000000000002', + '0x000000000000000000000000' + addressLowercase.replace('0x', '')], + data: '0x0000000000000000000000000000000000000000000000000000000000000005' + } }, - event: 'Changed', - signature: "0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651", - raw: { - topics: ['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', - '0x000000000000000000000000' + addressLowercase.replace('0x', ''), - '0x0000000000000000000000000000000000000000000000000000000000000001'], - data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008', + Changed: { + address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', + blockNumber: 10, + transactionHash: '0x1234', + blockHash: '0x1345', + logIndex: 4, + id: 'log_9ff24cb4', + transactionIndex: 0, + returnValues: { + 0: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', + 1: '1', + 2: '1', + 3: '8', + from: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', + amount: '1', + t1: '1', + t2: '8' + }, + event: 'Changed', + signature: '0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', + raw: { + topics: ['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), + '0x0000000000000000000000000000000000000000000000000000000000000001'], + data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008' + } } } - } - }); + }); - done(); - }); + done(); + }); }); - it('should sendTransaction and check for receipts with formatted logs when multiple of same event', function (done) { + it('should sendTransaction and check for receipts with formatted logs when multiple of same event', function(done) { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: signature +'000000000000000000000000'+ addressLowercase.replace('0x','') +'000000000000000000000000000000000000000000000000000000000000000a', + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a', from: address2, to: addressLowercase, - gasPrice: "0x1369ed97fb71" + gasPrice: '0x1369ed97fb71' }]); }); provider.injectResult('0x1234000000000000000000000000000000000000000000000000000000056789'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); provider.injectResult(null); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params, ['newHeads']); }); @@ -1902,7 +1904,7 @@ var runTests = function(contractFactory) { } }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); @@ -1927,12 +1929,12 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' - },{ + '0000000000000000000000000000000000000000000000000000000000000008' + }, { address: address, topics: [ sha3('Changed(address,uint256,uint256,uint256)'), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000002' ], blockNumber: '0xa', @@ -1941,10 +1943,10 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x5', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' }] }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_unsubscribe'); assert.deepEqual(payload.params, ['0x1234567']); }); @@ -1954,7 +1956,7 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.mySend(address, 10).send({from: address2, gasPrice: '21345678654321'}) - .on('receipt', function (receipt) { + .on('receipt', function(receipt) { // wont throw if it errors ?! nope: causes a timeout assert.deepEqual(receipt, { @@ -1986,12 +1988,12 @@ var runTests = function(contractFactory) { t2: '8' }, event: 'Changed', - signature: "0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651", + signature: '0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', raw: { - topics: [ '0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', + topics: ['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', '0x000000000000000000000000' + addressLowercase.replace('0x', ''), - '0x0000000000000000000000000000000000000000000000000000000000000001' ], - data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008', + '0x0000000000000000000000000000000000000000000000000000000000000001'], + data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008' } }, { address: '0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe', @@ -2012,12 +2014,12 @@ var runTests = function(contractFactory) { t2: '8' }, event: 'Changed', - signature: "0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651", + signature: '0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', raw: { - topics: [ '0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', + topics: ['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', '0x000000000000000000000000' + addressLowercase.replace('0x', ''), - '0x0000000000000000000000000000000000000000000000000000000000000002' ], - data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008', + '0x0000000000000000000000000000000000000000000000000000000000000002'], + data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008' } } ] @@ -2030,29 +2032,29 @@ var runTests = function(contractFactory) { }); - it('should sendTransaction and check for receipts with formatted logs using the HTTP provider', function (done) { + it('should sendTransaction and check for receipts with formatted logs using the HTTP provider', function(done) { var provider = new FakeHttpProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: signature +'000000000000000000000000'+ addressLowercase.replace('0x','') +'000000000000000000000000000000000000000000000000000000000000000a', + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a', from: address2, to: addressLowercase, - gasPrice: "0x1369ed97fb71" + gasPrice: '0x1369ed97fb71' }]); }); provider.injectResult('0x1234000000000000000000000000000000000000000000000000000000056789'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); provider.injectResult(null); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); @@ -2069,7 +2071,7 @@ var runTests = function(contractFactory) { topics: [ sha3('Unchanged(uint256,address,uint256)'), '0x0000000000000000000000000000000000000000000000000000000000000002', - '0x000000000000000000000000'+ addressLowercase.replace('0x','') + '0x000000000000000000000000' + addressLowercase.replace('0x', '') ], blockNumber: '0xa', transactionHash: '0x1234', @@ -2077,11 +2079,11 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000005' - },{ + }, { address: address, topics: [ sha3('Changed(address,uint256,uint256,uint256)'), - '0x000000000000000000000000'+ addressLowercase.replace('0x',''), + '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001' ], blockNumber: '0xa', @@ -2090,10 +2092,10 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000001' + - '0000000000000000000000000000000000000000000000000000000000000008' + '0000000000000000000000000000000000000000000000000000000000000008' }] }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_unsubscribe'); assert.deepEqual(payload.params, ['0x1234567']); }); @@ -2103,7 +2105,7 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.mySend(address, 10).send({from: address2, gasPrice: '21345678654321'}) - .on('receipt', function (receipt) { + .on('receipt', function(receipt) { // console.log(receipt); // console.log(receipt.events[0].raw); // console.log(receipt.events[1].raw); @@ -2140,7 +2142,7 @@ var runTests = function(contractFactory) { topics: ['0xf359668f205d0b5cfdc20d11353e05f633f83322e96f15486cbb007d210d66e5', '0x0000000000000000000000000000000000000000000000000000000000000002', '0x000000000000000000000000' + addressLowercase.replace('0x', '')], - data: '0x0000000000000000000000000000000000000000000000000000000000000005', + data: '0x0000000000000000000000000000000000000000000000000000000000000005' } }, Changed: { @@ -2167,7 +2169,7 @@ var runTests = function(contractFactory) { topics: ['0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', '0x000000000000000000000000' + addressLowercase.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000001'], - data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008', + data: '0x00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000008' } } } @@ -2179,22 +2181,22 @@ var runTests = function(contractFactory) { }); - it('should sendTransaction and receive multiple confirmations', function(done){ + it('should sendTransaction and receive multiple confirmations', function(done) { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: signature +'000000000000000000000000'+ addressLowercase.replace('0x','') +'000000000000000000000000000000000000000000000000000000000000000a', + data: signature + '000000000000000000000000' + addressLowercase.replace('0x', '') + '000000000000000000000000000000000000000000000000000000000000000a', from: address2, to: addressLowercase, - gasPrice: "0x1369ed97fb71" + gasPrice: '0x1369ed97fb71' }]); }); provider.injectResult('0x1234000000000000000000000000000000000000000000000000000000056789'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x1234000000000000000000000000000000000000000000000000000000056789']); }); @@ -2210,7 +2212,7 @@ var runTests = function(contractFactory) { logs: [] }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params, ['newHeads']); }); @@ -2221,9 +2223,9 @@ var runTests = function(contractFactory) { var count = 0; contract.methods.mySend(address, 10) .send({from: address2, gasPrice: '21345678654321'}) - .on('confirmation', function (confirmationNumber, receipt) { + .on('confirmation', function(confirmationNumber, receipt) { count++; - if(count === 1) { + if (count === 1) { assert.deepEqual(receipt, { contractAddress: null, cumulativeGasUsed: 10, @@ -2237,7 +2239,7 @@ var runTests = function(contractFactory) { assert.equal(confirmationNumber, 0); } - if(count === 2) { + if (count === 2) { assert.deepEqual(receipt, { contractAddress: null, cumulativeGasUsed: 10, @@ -2276,19 +2278,19 @@ var runTests = function(contractFactory) { }); }); - it('should sendTransaction to contract function', function () { + it('should sendTransaction to contract function', function() { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', from: addressLowercase, to: addressLowercase, - gasPrice: "0x369d1f7fd2" + gasPrice: '0x369d1f7fd2' }]); }); @@ -2297,38 +2299,38 @@ var runTests = function(contractFactory) { contract.methods.mySend(address, 17).send({from: address, gasPrice: '234564321234'}); }); - it('should throw error when trying to send ether to a non payable contract function', function () { + it('should throw error when trying to send ether to a non payable contract function', function() { var provider = new FakeIpcProvider(); var contract = contractFactory(abi, address, provider); - try{ + try { contract.methods.myDisallowedSend(address, 17).send({from: address, value: 123}) - .on('error', function (e) { - assert.isTrue(e instanceof Error, 'Should throw error'); - }) - .catch(function (e) { - assert.isTrue(e instanceof Error, 'Should throw error'); - }); + .on('error', function(e) { + assert.isTrue(e instanceof Error, 'Should throw error'); + }) + .catch(function(e) { + assert.isTrue(e instanceof Error, 'Should throw error'); + }); - } catch(e){ + } catch (e) { assert.isTrue(e instanceof Error, 'Should throw error'); } }); - it('should not throw error when trying to not send ether to a non payable contract function', function (done) { + it('should not throw error when trying to not send ether to a non payable contract function', function(done) { var provider = new FakeIpcProvider(); var signature = 'myDisallowedSend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', from: addressLowercase, to: addressLowercase, - gasPrice: "0x1555757ee6b1" + gasPrice: '0x1555757ee6b1' }]); done(); @@ -2336,34 +2338,34 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); - try{ + try { contract.methods.myDisallowedSend(address, 17).send({from: address, gasPrice: '23456787654321'}) - .on('error', function (e) { - assert.isFalse(e instanceof Error, 'Should not throw error'); - }) - .catch(function (e) { - assert.isFalse(e instanceof Error, 'Should not throw error'); - }); + .on('error', function(e) { + assert.isFalse(e instanceof Error, 'Should not throw error'); + }) + .catch(function(e) { + assert.isFalse(e instanceof Error, 'Should not throw error'); + }); - } catch(e){ + } catch (e) { assert.isFalse(e instanceof Error, 'Should not throw error'); } }); - it('should sendTransaction to contract function using the function namen incl. parameters', function () { + it('should sendTransaction to contract function using the function namen incl. parameters', function() { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: signature + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', from: addressLowercase, to: addressLowercase, - gasPrice: "0x1555757ee6b1" + gasPrice: '0x1555757ee6b1' }]); }); @@ -2372,19 +2374,19 @@ var runTests = function(contractFactory) { contract.methods['mySend(address,uint256)'](address, 17).send({from: address, gasPrice: '23456787654321'}); }); - it('should sendTransaction to contract function using the signature', function () { + it('should sendTransaction to contract function using the signature', function() { var provider = new FakeIpcProvider(); var signature = sha3('mySend(address,uint256)').slice(0, 10); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: signature + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', from: addressLowercase, to: addressLowercase, - gasPrice: "0x49504f80" + gasPrice: '0x49504f80' }]); }); @@ -2393,16 +2395,16 @@ var runTests = function(contractFactory) { contract.methods[signature](address, 17).send({from: address, gasPrice: '1230000000'}); }); - it('should throw when trying to create a tx object and wrong amount of params', function (done) { + it('should throw when trying to create a tx object and wrong amount of params', function(done) { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', to: addressLowercase, from: addressLowercase, gas: '0xc350', @@ -2415,26 +2417,26 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); - assert.throws(function () { + assert.throws(function() { contract.methods.mySend(address); }); setTimeout(done, 1); }); - it('should make a call with optional params', function (done) { + it('should make a call with optional params', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; var count = 0; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { count++; - if(count > 1) return; + if (count > 1) return; assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase, from: addressLowercase, gas: '0xc350' @@ -2446,20 +2448,20 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.balance(address).call({from: address, gas: 50000}) - .then(function (r) { - assert.deepEqual(r, '50'); - done(); - }); + .then(function(r) { + assert.deepEqual(r, '50'); + done(); + }); }); - it('should explicitly make a call with optional params', function (done) { + it('should explicitly make a call with optional params', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase, from: addressLowercase, gas: '0xc350' @@ -2470,21 +2472,21 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.balance(address).call({from: address, gas: 50000}) - .then(function (r) { - assert.deepEqual(r, '50'); - done(); - }); + .then(function(r) { + assert.deepEqual(r, '50'); + done(); + }); }); - it('should explicitly make a call with optional params and defaultBlock', function (done) { + it('should explicitly make a call with optional params and defaultBlock', function(done) { var provider = new FakeIpcProvider(); var signature = 'balance(address)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ - data: sha3(signature).slice(0, 10) + '000000000000000000000000'+ addressLowercase.replace('0x',''), + data: sha3(signature).slice(0, 10) + '000000000000000000000000' + addressLowercase.replace('0x', ''), to: addressLowercase, from: addressLowercase, gas: '0xc350' @@ -2495,23 +2497,23 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.balance(address).call({from: address, gas: 50000}, 11) - .then(function (r) { - assert.deepEqual(r, '50'); - done(); - }); + .then(function(r) { + assert.deepEqual(r, '50'); + done(); + }); }); - it('should sendTransaction with optional params', function (done) { + it('should sendTransaction with optional params', function(done) { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', to: addressLowercase, from: addressLowercase, gas: '0xc350', @@ -2527,11 +2529,11 @@ var runTests = function(contractFactory) { contract.methods.mySend(address, 17).send({from: address, gas: 50000, gasPrice: 3000, value: 10000}); }); - it('should sendTransaction and fill in default gasPrice', function (done) { + it('should sendTransaction and fill in default gasPrice', function(done) { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_gasPrice'); assert.deepEqual(payload.params, []); }); @@ -2539,12 +2541,12 @@ var runTests = function(contractFactory) { provider.injectResult('0x45656456456456'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', to: addressLowercase, from: addressLowercase, gasPrice: '0x45656456456456' @@ -2558,16 +2560,16 @@ var runTests = function(contractFactory) { contract.methods.mySend(address, 17).send({from: address}); }); - it('should explicitly sendTransaction with optional params', function (done) { + it('should explicitly sendTransaction with optional params', function(done) { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', to: addressLowercase, from: addressLowercase, gas: '0xc350', @@ -2584,17 +2586,17 @@ var runTests = function(contractFactory) { }); - it('should explicitly call sendTransaction with optional params and call callback without error', function (done) { + it('should explicitly call sendTransaction with optional params and call callback without error', function(done) { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000'+ addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', to: addressLowercase, from: addressLowercase, gas: '0xc350', @@ -2605,22 +2607,27 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); - contract.methods.mySend(address, 17).send({from: address, gas: 50000, gasPrice: 3000, value: 10000}, function (err) { + contract.methods.mySend(address, 17).send({ + from: address, + gas: 50000, + gasPrice: 3000, + value: 10000 + }, function(err) { assert.equal(err, null); done(); }); - }) + }); - it('should explicitly estimateGas with optional params', function () { + it('should explicitly estimateGas with optional params', function() { var provider = new FakeIpcProvider(); var signature = 'mySend(address,uint256)'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_estimateGas'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + - '000000000000000000000000' + addressLowercase.replace('0x','') + - '0000000000000000000000000000000000000000000000000000000000000011' , + '000000000000000000000000' + addressLowercase.replace('0x', '') + + '0000000000000000000000000000000000000000000000000000000000000011', to: addressLowercase, from: addressLowercase, gas: '0xc350', @@ -2634,30 +2641,30 @@ var runTests = function(contractFactory) { contract.methods.mySend(address, 17).estimateGas({from: address, gas: 50000, gasPrice: 3000, value: 10000}); }); - it('getPastEvents should get past events and format them correctly', function (done) { + it('getPastEvents should get past events and format them correctly', function(done) { var provider = new FakeIpcProvider(); var signature = 'testArr(int[])'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getLogs'); assert.deepEqual(payload.params, [{ address: addressLowercase, topics: [ - "0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651", - "0x000000000000000000000000" + address2.replace('0x',''), - null + '0x792991ed5ba9322deaef76cff5051ce4bedaaa4d097585970f9ad8f09f54e651', + '0x000000000000000000000000' + address2.replace('0x', ''), + null ] }]); }); var topic1 = [ sha3(signature), - '0x000000000000000000000000'+ address.replace('0x',''), + '0x000000000000000000000000' + address.replace('0x', ''), '0x000000000000000000000000000000000000000000000000000000000000000a' ]; var topic2 = [ sha3(signature), - '0x000000000000000000000000'+ address.replace('0x',''), + '0x000000000000000000000000' + address.replace('0x', ''), '0x0000000000000000000000000000000000000000000000000000000000000003' ]; @@ -2670,87 +2677,87 @@ var runTests = function(contractFactory) { blockHash: '0x1345', logIndex: '0x4', data: '0x0000000000000000000000000000000000000000000000000000000000000002' + - '0000000000000000000000000000000000000000000000000000000000000009' + '0000000000000000000000000000000000000000000000000000000000000009' }, - { - address: address, - topics: topic2, - blockNumber: '0x4', - transactionHash: '0x1235', - transactionIndex: '0x0', - blockHash: '0x1346', - logIndex: '0x1', - data: '0x0000000000000000000000000000000000000000000000000000000000000004' + - '0000000000000000000000000000000000000000000000000000000000000005' - }]); + { + address: address, + topics: topic2, + blockNumber: '0x4', + transactionHash: '0x1235', + transactionIndex: '0x0', + blockHash: '0x1346', + logIndex: '0x1', + data: '0x0000000000000000000000000000000000000000000000000000000000000004' + + '0000000000000000000000000000000000000000000000000000000000000005' + }]); var contract = contractFactory(abi, address, provider); contract.getPastEvents('Changed', {filter: {from: address2}}) - .then(function (result) { + .then(function(result) { - assert.deepEqual(result, [{ - event: "Changed", - signature: "0xc00c1c37cc8b83163fb4fddc06c74d1d5c00d74648e7cb28c0ebada3e32fd62c", - id: "log_9ff24cb4", - address: address, - blockNumber: 3, - transactionHash: '0x1234', - blockHash: '0x1345', - logIndex: 4, - transactionIndex: 0, - raw: { - data: '0x0000000000000000000000000000000000000000000000000000000000000002' + - '0000000000000000000000000000000000000000000000000000000000000009', - topics: topic1 - }, - returnValues: { - 0: address, - 1: '10', - 2: '2', - 3: '9', - from: address, - amount: '10', - t1: '2', - t2: '9' - } - }, - { - event: "Changed", - signature: "0xc00c1c37cc8b83163fb4fddc06c74d1d5c00d74648e7cb28c0ebada3e32fd62c", - id: "log_29c93e15", + assert.deepEqual(result, [{ + event: 'Changed', + signature: '0xc00c1c37cc8b83163fb4fddc06c74d1d5c00d74648e7cb28c0ebada3e32fd62c', + id: 'log_9ff24cb4', address: address, - blockNumber: 4, - transactionHash: '0x1235', - blockHash: '0x1346', - logIndex: 1, + blockNumber: 3, + transactionHash: '0x1234', + blockHash: '0x1345', + logIndex: 4, transactionIndex: 0, raw: { - data: '0x0000000000000000000000000000000000000000000000000000000000000004' + - '0000000000000000000000000000000000000000000000000000000000000005', - topics: topic2 + data: '0x0000000000000000000000000000000000000000000000000000000000000002' + + '0000000000000000000000000000000000000000000000000000000000000009', + topics: topic1 }, returnValues: { 0: address, - 1: '3', - 2: '4', - 3: '5', + 1: '10', + 2: '2', + 3: '9', from: address, - amount: '3', - t1: '4', - t2: '5' + amount: '10', + t1: '2', + t2: '9' } - }]); + }, + { + event: 'Changed', + signature: '0xc00c1c37cc8b83163fb4fddc06c74d1d5c00d74648e7cb28c0ebada3e32fd62c', + id: 'log_29c93e15', + address: address, + blockNumber: 4, + transactionHash: '0x1235', + blockHash: '0x1346', + logIndex: 1, + transactionIndex: 0, + raw: { + data: '0x0000000000000000000000000000000000000000000000000000000000000004' + + '0000000000000000000000000000000000000000000000000000000000000005', + topics: topic2 + }, + returnValues: { + 0: address, + 1: '3', + 2: '4', + 3: '5', + from: address, + amount: '3', + t1: '4', + t2: '5' + } + }]); - done(); - }).catch(done); + done(); + }).catch(done); }); - it('should call testArr method and properly parse result', function (done) { + it('should call testArr method and properly parse result', function(done) { var provider = new FakeIpcProvider(); var signature = 'testArr(int[])'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + @@ -2759,7 +2766,7 @@ var runTests = function(contractFactory) { '0000000000000000000000000000000000000000000000000000000000000003', to: addressLowercase }, - 'latest' + 'latest' ]); }); @@ -2767,18 +2774,18 @@ var runTests = function(contractFactory) { var contract = contractFactory(abi, address, provider); contract.methods.testArr([3]).call() - .then(function (result) { - assert.deepEqual(result, '5'); - done(); - }); + .then(function(result) { + assert.deepEqual(result, '5'); + done(); + }); }); - it('should call testArr method, properly parse result and return the result in a callback', function (done) { + it('should call testArr method, properly parse result and return the result in a callback', function(done) { var provider = new FakeIpcProvider(); var signature = 'testArr(int[])'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10) + @@ -2787,26 +2794,26 @@ var runTests = function(contractFactory) { '0000000000000000000000000000000000000000000000000000000000000003', to: addressLowercase }, - 'latest' + 'latest' ]); }); provider.injectResult('0x0000000000000000000000000000000000000000000000000000000000000005'); var contract = contractFactory(abi, address, provider); - contract.methods.testArr([3]).call(function (err, result) { + contract.methods.testArr([3]).call(function(err, result) { assert.deepEqual(result, '5'); done(); }); }); - it('should call owner method, properly', function (done) { + it('should call owner method, properly', function(done) { var provider = new FakeIpcProvider(); var signature = 'owner()'; - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: sha3(signature).slice(0, 10), @@ -2815,11 +2822,11 @@ var runTests = function(contractFactory) { 'latest' ]); }); - provider.injectResult('0x000000000000000000000000'+ addressLowercase.replace('0x','')); + provider.injectResult('0x000000000000000000000000' + addressLowercase.replace('0x', '')); var contract = contractFactory(abi, address, provider); - contract.methods.owner().call(function (err, result) { + contract.methods.owner().call(function(err, result) { assert.deepEqual(result, address); done(); }); @@ -2827,10 +2834,10 @@ var runTests = function(contractFactory) { }); - it('should decode an struct correctly', function (done) { + it('should decode an struct correctly', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_call'); assert.deepEqual(payload.params, [{ data: '0x2a4aedd50000000000000000000000009cc9a2c777605af16872e0997b3aeb91d96d5d8c', @@ -2854,10 +2861,10 @@ var runTests = function(contractFactory) { }); }); - it('should call an contract method with an struct as parameter', function (done) { + it('should call an contract method with an struct as parameter', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ data: '0x814a4d160000000000000000000000000000000000000000000000000000000000000001', @@ -2879,23 +2886,23 @@ var runTests = function(contractFactory) { }); }); }); - describe('with data', function () { - it('should deploy a contract and use callback', function (done) { + describe('with data', function() { + it('should deploy a contract and use callback', function(done) { var provider = new FakeIpcProvider(); provider.injectResult('0x1234567'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: '0x1234567000000000000000000000000555456789012345678901234567890123456789100000000000000000000000000000000000000000000000000000000000000c8' , + data: '0x1234567000000000000000000000000555456789012345678901234567890123456789100000000000000000000000000000000000000000000000000000000000000c8', from: addressLowercase, gas: '0xc350', gasPrice: '0xbb8' }]); }); - var contract = contractFactory(abi, provider); + var contract = contractFactory(abi, '', provider); contract.deploy({ data: '0x1234567', @@ -2904,21 +2911,21 @@ var runTests = function(contractFactory) { from: address, gas: 50000, gasPrice: 3000 - }, function (err, result) { + }, function(err, result) { assert.equal(err, null); assert.equal(result, '0x1234567'); done(); }); }); - it('should deploy a contract and use all promise steps', function (done) { + it('should deploy a contract and use all promise steps', function(done) { var provider = new FakeIpcProvider(); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_sendTransaction'); assert.deepEqual(payload.params, [{ - data: '0x1234567000000000000000000000000'+ addressLowercase.replace('0x','') +'00000000000000000000000000000000000000000000000000000000000000c8' , + data: '0x1234567000000000000000000000000' + addressLowercase.replace('0x', '') + '00000000000000000000000000000000000000000000000000000000000000c8', from: addressLowercase, gas: '0xc350', gasPrice: '0xbb8' @@ -2927,14 +2934,14 @@ var runTests = function(contractFactory) { }); provider.injectResult('0x5550000000000000000000000000000000000000000000000000000000000032'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x5550000000000000000000000000000000000000000000000000000000000032']); }); provider.injectResult(null); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params, ['newHeads']); }); @@ -2951,7 +2958,7 @@ var runTests = function(contractFactory) { } }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x5550000000000000000000000000000000000000000000000000000000000032']); }); @@ -2959,14 +2966,14 @@ var runTests = function(contractFactory) { contractAddress: addressLowercase, blockHash: '0xffdd' }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getCode'); assert.deepEqual(payload.params, [addressLowercase, 'latest']); }); provider.injectResult('0x321'); - var contract = contractFactory(abi, provider); + var contract = contractFactory(abi, '', provider); contract.deploy({ data: '0x1234567', @@ -2976,21 +2983,21 @@ var runTests = function(contractFactory) { gas: 50000, gasPrice: 3000 }) - .on('transactionHash', function (value) { - assert.equal('0x5550000000000000000000000000000000000000000000000000000000000032', value); - }) - .on('receipt', function (receipt) { - assert.equal(address, receipt.contractAddress); - assert.isNull(contract.options.address); - }) - .then(function(newContract) { - assert.equal(newContract.options.address, address); - assert.isTrue(newContract !== contract, 'contract objects shouldn\'t the same'); + .on('transactionHash', function(value) { + assert.equal('0x5550000000000000000000000000000000000000000000000000000000000032', value); + }) + .on('receipt', function(receipt) { + assert.equal(address, receipt.contractAddress); + assert.isNull(contract.options.address); + }) + .then(function(newContract) { + assert.equal(newContract.options.address, address); + assert.isTrue(newContract !== contract, 'contract objects shouldn\'t the same'); - setTimeout(function () { - done(); - }, 1); - }); + setTimeout(function() { + done(); + }, 1); + }); // .on('error', function (value) { // console.log('error', value); // done(); @@ -2999,12 +3006,12 @@ var runTests = function(contractFactory) { }); }); -} +}; describe('typical usage', function() { runTests(getEthContractInstance); - it('should update contract instance provider when assigned a provider to eth instance that contract instance came from', function () { + it('should update contract instance provider when assigned a provider to eth instance that contract instance came from', function() { var provider1 = new FakeIpcProvider(); var provider2 = new FakeHttpProvider(); @@ -3018,12 +3025,13 @@ describe('typical usage', function() { assert.deepEqual(eth.currentProvider, provider2); }); - it('should deploy a contract, sign transaction, and return contract instance', function (done) { + it('should deploy a contract, sign transaction, and return contract instance', function(done) { var provider = new FakeIpcProvider(); var eth = new Eth(provider); + eth.accounts.wallet.add(account.privateKey); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { var expected = eth.accounts.wallet[0].signTransaction({ data: '0x1234567000000000000000000000000' + account.address.toLowerCase().replace('0x', '') + '00000000000000000000000000000000000000000000000000000000000000c8', from: account.address.toLowerCase(), @@ -3033,7 +3041,7 @@ describe('typical usage', function() { nonce: '0x1', chain: 'mainnet', hardfork: 'petersburg' - }).then(function (tx) { + }).then(function(tx) { const expected = tx.rawTransaction; assert.equal(payload.method, 'eth_sendRawTransaction'); assert.deepEqual(payload.params, [expected]); @@ -3042,13 +3050,13 @@ describe('typical usage', function() { provider.injectResult('0x5550000000000000000000000000000000000000000000000000000000000032'); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x5550000000000000000000000000000000000000000000000000000000000032']); }); provider.injectResult(null); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_subscribe'); assert.deepEqual(payload.params, ['newHeads']); }); @@ -3065,7 +3073,7 @@ describe('typical usage', function() { } }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getTransactionReceipt'); assert.deepEqual(payload.params, ['0x5550000000000000000000000000000000000000000000000000000000000032']); }); @@ -3074,7 +3082,7 @@ describe('typical usage', function() { contractAddress: addressLowercase, blockHash: '0xffdd' }); - provider.injectValidation(function (payload) { + provider.injectValidation(function(payload) { assert.equal(payload.method, 'eth_getCode'); assert.deepEqual(payload.params, [addressLowercase, 'latest']); }); @@ -3095,14 +3103,14 @@ describe('typical usage', function() { chain: 'mainnet', hardfork: 'petersburg' }) - .on('transactionHash', function (value) { + .on('transactionHash', function(value) { assert.equal('0x5550000000000000000000000000000000000000000000000000000000000032', value); }) - .on('receipt', function (receipt) { + .on('receipt', function(receipt) { assert.equal(address, receipt.contractAddress); assert.isNull(contract.options.address); }) - .then(function (newContract) { + .then(function(newContract) { // console.log(newContract); assert.equal(newContract.options.address, address); assert.isTrue(newContract !== contract, 'contract objects shouldn\'t the same'); @@ -3115,7 +3123,7 @@ describe('typical usage', function() { // }); }).timeout(6000); - // TODO add error check + // TODO add error check }); describe('standalone usage', function() { diff --git a/test/setProvider.js b/test/setProvider.js index b238d8c190a..f66b35239b6 100644 --- a/test/setProvider.js +++ b/test/setProvider.js @@ -22,7 +22,6 @@ var Eth = require('../packages/web3-eth'); var Shh = require('../packages/web3-shh'); var Personal = require('../packages/web3-eth-personal'); var Accounts = require('../packages/web3-eth-accounts'); -var Contract = require('../packages/web3-eth-contract'); var Net = require('../packages/web3-net'); var Bzz = require('../packages/web3-bzz');