From b14bd3147437f216383602f11a2f067aa4e36b53 Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 14:30:32 +0530 Subject: [PATCH 01/19] web3-eth-txpool added --- docs/web3-eth-txpool.rst | 1 + packages/web3-core-method/src/index.js | 5 + .../methods/txpool/GetTxpoolContentMethod.js | 36 + .../methods/txpool/GetTxpoolInspectMethod.js | 36 + .../methods/txpool/GetTxpoolStatusMethod.js | 36 + .../txpool/GetTxpoolContentMethodTest.js | 29 + .../txpool/GetTxpoolInspectMethodTest.js | 29 + .../txpool/GetTxpoolStatusMethodTest.js | 29 + packages/web3-eth-txpool/README.md | 31 + packages/web3-eth-txpool/jest.config.js | 3 + packages/web3-eth-txpool/package-lock.json | 1348 +++++++++++++++++ packages/web3-eth-txpool/package.json | 37 + packages/web3-eth-txpool/rollup.config.js | 4 + packages/web3-eth-txpool/src/Txpool.js | 219 +++ .../src/factories/MethodFactory.js | 46 + packages/web3-eth-txpool/src/index.js | 53 + .../web3-eth-txpool/tests/src/TxpoolTest.js | 107 ++ .../tests/src/factories/MethodFactoryTest.js | 38 + packages/web3-eth-txpool/types/index.d.ts | 43 + .../types/tests/txpool-tests.ts | 33 + packages/web3-eth-txpool/types/tsconfig.json | 17 + packages/web3-eth-txpool/types/tslint.json | 10 + 22 files changed, 2190 insertions(+) create mode 100644 docs/web3-eth-txpool.rst create mode 100644 packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js create mode 100644 packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js create mode 100644 packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js create mode 100644 packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js create mode 100644 packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js create mode 100644 packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js create mode 100644 packages/web3-eth-txpool/README.md create mode 100644 packages/web3-eth-txpool/jest.config.js create mode 100644 packages/web3-eth-txpool/package-lock.json create mode 100644 packages/web3-eth-txpool/package.json create mode 100644 packages/web3-eth-txpool/rollup.config.js create mode 100644 packages/web3-eth-txpool/src/Txpool.js create mode 100644 packages/web3-eth-txpool/src/factories/MethodFactory.js create mode 100644 packages/web3-eth-txpool/src/index.js create mode 100644 packages/web3-eth-txpool/tests/src/TxpoolTest.js create mode 100644 packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js create mode 100644 packages/web3-eth-txpool/types/index.d.ts create mode 100644 packages/web3-eth-txpool/types/tests/txpool-tests.ts create mode 100644 packages/web3-eth-txpool/types/tsconfig.json create mode 100644 packages/web3-eth-txpool/types/tslint.json diff --git a/docs/web3-eth-txpool.rst b/docs/web3-eth-txpool.rst new file mode 100644 index 00000000000..7edbe599bb1 --- /dev/null +++ b/docs/web3-eth-txpool.rst @@ -0,0 +1 @@ +jh \ No newline at end of file diff --git a/packages/web3-core-method/src/index.js b/packages/web3-core-method/src/index.js index b1521c07083..be09394f514 100644 --- a/packages/web3-core-method/src/index.js +++ b/packages/web3-core-method/src/index.js @@ -117,3 +117,8 @@ export PostMethod from './methods/shh/PostMethod'; export SetMaxMessageSizeMethod from './methods/shh/SetMaxMessageSizeMethod'; export SetMinPoWMethod from './methods/shh/SetMinPoWMethod'; export ShhVersionMethod from './methods/shh/ShhVersionMethod'; + +// Txpool +export GetTxpoolContentMethod from './methods/txpool/GetTxpoolContentMethod'; +export GetTxpoolInspectMethod from './methods/txpool/GetTxpoolInspectMethod'; +export GetTxpoolStatusMethod from './methods/txpool/GetTxpoolStatusMethod'; diff --git a/packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js b/packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js new file mode 100644 index 00000000000..16f6444e24d --- /dev/null +++ b/packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js @@ -0,0 +1,36 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file GetTxpoolContentMethod.js + * @author Prince Sinha + * @date 2019 + */ + +import AbstractMethod from '../../../lib/methods/AbstractMethod'; + +export default class GetTxpoolContentMethod extends AbstractMethod { + /** + * @param {Utils} utils + * @param {Object} formatters + * @param {AbstractWeb3Module} moduleInstance + * + * @constructor + */ + constructor(utils, formatters, moduleInstance) { + super('txpool_content', 0, utils, formatters, moduleInstance); + } +} diff --git a/packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js b/packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js new file mode 100644 index 00000000000..29b599229f0 --- /dev/null +++ b/packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js @@ -0,0 +1,36 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file GetTxpoolInspectMethod.js + * @author Prince Sinha + * @date 2019 + */ + +import AbstractMethod from '../../../lib/methods/AbstractMethod'; + +export default class GetTxpoolInspectMethod extends AbstractMethod { + /** + * @param {Utils} utils + * @param {Object} formatters + * @param {AbstractWeb3Module} moduleInstance + * + * @constructor + */ + constructor(utils, formatters, moduleInstance) { + super('txpool_inspect', 0, utils, formatters, moduleInstance); + } +} diff --git a/packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js b/packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js new file mode 100644 index 00000000000..8436a81ad24 --- /dev/null +++ b/packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js @@ -0,0 +1,36 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file GetTxpoolStatusMethod.js + * @author Prince Sinha + * @date 2019 + */ + +import AbstractMethod from '../../../lib/methods/AbstractMethod'; + +export default class GetTxpoolStatusMethod extends AbstractMethod { + /** + * @param {Utils} utils + * @param {Object} formatters + * @param {AbstractWeb3Module} moduleInstance + * + * @constructor + */ + constructor(utils, formatters, moduleInstance) { + super('txpool_status', 0, utils, formatters, moduleInstance); + } +} diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js new file mode 100644 index 00000000000..cec0a3b8649 --- /dev/null +++ b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js @@ -0,0 +1,29 @@ +import {formatters} from 'web3-core-helpers'; +import AbstractMethod from '../../../../lib/methods/AbstractMethod'; +import GetTxpoolStatusMethod from '../../../../src/methods/txpool/GetTxpoolStatusMethod'; + +// Mocks +jest.mock('web3-core-helpers'); + +/** + * GetTxpoolContentMethod test + */ +describe('GetTxpoolStatusMethodTest', () => { + let method; + + beforeEach(() => { + method = new GetTxpoolStatusMethod(null, formatters, {}); + }); + + it('constructor check', () => { + expect(method).toBeInstanceOf(AbstractMethod); + + expect(method.rpcMethod).toEqual('txpool_content'); + + expect(method.parametersAmount).toEqual(0); + + expect(method.utils).toEqual(null); + + expect(method.formatters).toEqual(formatters); + }); +}); diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js new file mode 100644 index 00000000000..90eb5723200 --- /dev/null +++ b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js @@ -0,0 +1,29 @@ +import {formatters} from 'web3-core-helpers'; +import AbstractMethod from '../../../../lib/methods/AbstractMethod'; +import GetTxpoolInspectMethod from '../../../../src/methods/txpool/GetTxpoolInspectMethod'; + +// Mocks +jest.mock('web3-core-helpers'); + +/** + * GetTxpoolInspectMethod test + */ +describe('GetTxpoolInspectMethodTest', () => { + let method; + + beforeEach(() => { + method = new GetTxpoolInspectMethod(null, formatters, {}); + }); + + it('constructor check', () => { + expect(method).toBeInstanceOf(AbstractMethod); + + expect(method.rpcMethod).toEqual('txpool_inspect'); + + expect(method.parametersAmount).toEqual(0); + + expect(method.utils).toEqual(null); + + expect(method.formatters).toEqual(formatters); + }); +}); diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js new file mode 100644 index 00000000000..7f190090501 --- /dev/null +++ b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js @@ -0,0 +1,29 @@ +import {formatters} from 'web3-core-helpers'; +import AbstractMethod from '../../../../lib/methods/AbstractMethod'; +import GetTxpoolStatusMethod from '../../../../src/methods/txpool/GetTxpoolStatusMethod'; + +// Mocks +jest.mock('web3-core-helpers'); + +/** + * GetTxpoolStatusMethod test + */ +describe('GetTxpoolStatusMethodTest', () => { + let method; + + beforeEach(() => { + method = new GetTxpoolStatusMethod(null, formatters, {}); + }); + + it('constructor check', () => { + expect(method).toBeInstanceOf(AbstractMethod); + + expect(method.rpcMethod).toEqual('txpool_status'); + + expect(method.parametersAmount).toEqual(0); + + expect(method.utils).toEqual(null); + + expect(method.formatters).toEqual(formatters); + }); +}); diff --git a/packages/web3-eth-txpool/README.md b/packages/web3-eth-txpool/README.md new file mode 100644 index 00000000000..c249a38a757 --- /dev/null +++ b/packages/web3-eth-txpool/README.md @@ -0,0 +1,31 @@ +# web3-eth-txpool + +This is a sub package of [web3.js][repo] + +This is the personal package to be used in the `web3-eth` package. +Please read the [documentation][docs] for more. + +## Installation + +```bash +npm install web3-eth-txpool +``` + +## Usage + +```js +import {TxPool} from 'web3-eth-txpool'; + +const txpool = new TxPool( + 'http://127.0.0.1:8546', + null, + options +); +``` + +## Types + +All the typescript typings are placed in the types folder. + +[docs]: http://web3js.readthedocs.io/en/1.0/ +[repo]: https://github.com/ethereum/web3.js diff --git a/packages/web3-eth-txpool/jest.config.js b/packages/web3-eth-txpool/jest.config.js new file mode 100644 index 00000000000..015e9a3e24d --- /dev/null +++ b/packages/web3-eth-txpool/jest.config.js @@ -0,0 +1,3 @@ +const jestConfig = require('../../jest.config'); + +module.exports = jestConfig(); diff --git a/packages/web3-eth-txpool/package-lock.json b/packages/web3-eth-txpool/package-lock.json new file mode 100644 index 00000000000..e6927b96431 --- /dev/null +++ b/packages/web3-eth-txpool/package-lock.json @@ -0,0 +1,1348 @@ +{ + "name": "web3-eth-txpool", + "version": "1.0.0-beta.52", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/runtime": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz", + "integrity": "sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@types/bn.js": { + "version": "4.11.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.5.tgz", + "integrity": "sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "10.14.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", + "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" + }, + "@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 + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "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" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "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" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "buffer-to-arraybuffer": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "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 + }, + "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", + "supports-color": "^5.3.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "color-convert": { + "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" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "dev": true + }, + "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 + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "definitelytyped-header-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/definitelytyped-header-parser/-/definitelytyped-header-parser-1.1.0.tgz", + "integrity": "sha512-goGRhRUJVQhXc28OjwSCoAoutl/dcFUJXwEv3DYdtxGFCXWK+YFS/MrFfsAnHG0ZYPKBcniXWRUlr3UHGKaTHw==", + "dev": true, + "requires": { + "@types/parsimmon": "^1.3.0", + "parsimmon": "^1.2.0" + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "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#production", + "fs-extra": "^6.0.1", + "strip-json-comments": "^2.0.1", + "tslint": "^5.12.0", + "typescript": "^3.5.0-dev.20190407" + }, + "dependencies": { + "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" + } + } + } + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "es-abstract": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", + "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", + "requires": { + "es-to-primitive": "^1.2.0", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "is-callable": "^1.1.4", + "is-regex": "^1.0.4", + "object-keys": "^1.0.12" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "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 + }, + "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 + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "eth-lib": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", + "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", + "requires": { + "bn.js": "^4.11.6", + "elliptic": "^6.4.0", + "xhr-request-promise": "^0.1.2" + } + }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "requires": { + "bn.js": "4.11.6", + "number-to-bn": "1.7.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "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", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "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" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-hex-prefixed": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", + "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "requires": { + "has-symbols": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "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" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "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" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "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" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" + }, + "number-to-bn": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", + "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", + "requires": { + "bn.js": "4.11.6", + "strip-hex-prefix": "1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "parse-asn1": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-headers": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", + "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", + "requires": { + "for-each": "^0.3.3", + "string.prototype.trim": "^1.1.2" + } + }, + "parsimmon": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.12.0.tgz", + "integrity": "sha512-uC/BjuSfb4jfaWajKCp1mVncXXq+V1twbcYChbTxN3GM7fn+8XoHwUdvUz+PTaFtDSCRQxU8+Rnh+iMhAkVwdw==", + "dev": true + }, + "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 + }, + "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 + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "randomhex": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", + "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" + }, + "regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "scrypt": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", + "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", + "dev": true, + "requires": { + "nan": "^2.0.8" + } + }, + "scrypt.js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", + "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", + "dev": true, + "requires": { + "scrypt": "^6.0.2", + "scryptsy": "^1.2.1" + } + }, + "scryptsy": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", + "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", + "dev": true, + "requires": { + "pbkdf2": "^3.0.3" + } + }, + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-get": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", + "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "requires": { + "decompress-response": "^3.3.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string.prototype.trim": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", + "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.0", + "function-bind": "^1.0.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-hex-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", + "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", + "requires": { + "is-hex-prefixed": "1.0.0" + } + }, + "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 + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tslint": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz", + "integrity": "sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.13.0", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + } + }, + "tsutils": { + "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" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "3.5.0-dev.20190407", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.0-dev.20190407.tgz", + "integrity": "sha512-bm99LTk3/h7Hx0/GkiLhXEzg6ryWEHa0yTFzMVpUNI9RzFn2AGvrPVlnsIlqNrFwTmA8/GPbr7f8hanlk1kyiQ==", + "dev": true + }, + "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 + }, + "url-parse": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", + "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "url-set-query": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", + "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" + }, + "utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", + "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "web3-core": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.52.tgz", + "integrity": "sha512-UKHNBIj5b4M40DrGJRQKgWTtbqZCCZck38oQgBbtLAUUQmvlZybLf8jGWUfMamyhJg/eBqT/t1l7OcAn5i9zrA==", + "requires": { + "@babel/runtime": "^7.3.1", + "@types/bn.js": "^4.11.4", + "@types/node": "^10.12.18", + "lodash": "^4.17.11", + "web3-utils": "1.0.0-beta.52" + } + }, + "web3-core-helpers": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.52.tgz", + "integrity": "sha512-VJCJMEplvrU7jCgn0MCuLLa+XWkQVttQpShM5i0XkcKs2gmisMtoLO3lATx2b32ruu29EriBYkkAVzc0/nxppg==", + "requires": { + "@babel/runtime": "^7.3.1", + "lodash": "^4.17.11", + "web3-eth-iban": "1.0.0-beta.52", + "web3-utils": "1.0.0-beta.52" + } + }, + "web3-core-method": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.52.tgz", + "integrity": "sha512-lLbDsV2pxxrUDIWvRI/u6MsvG8mKGfCYOifXqb+yqAruhoNs/Gahoa/1UTjsn0qhVQafsffFRXaEhi6BQDQOYA==", + "requires": { + "@babel/runtime": "^7.3.1", + "eventemitter3": "3.1.0", + "lodash": "^4.17.11" + } + }, + "web3-eth-accounts": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.52.tgz", + "integrity": "sha512-B52yDVK2/3NKce1CESTZ/sD+6lU9pdNk4tPAtTkWTTPlejAbNlI04SdCX+hn2XJpDjsvU2HRSY3uNugVTrRQ6w==", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.1", + "crypto-browserify": "3.12.0", + "eth-lib": "0.2.8", + "lodash": "^4.17.11", + "scrypt.js": "0.2.0", + "uuid": "3.3.2", + "web3-core": "1.0.0-beta.52", + "web3-core-helpers": "1.0.0-beta.52", + "web3-core-method": "1.0.0-beta.52", + "web3-providers": "1.0.0-beta.52", + "web3-utils": "1.0.0-beta.52" + } + }, + "web3-eth-iban": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.52.tgz", + "integrity": "sha512-LJZRZ+hZZPU9Fb7xR54mX1li5aKMp9xj9wgZZa4ikdL7iWi0rg1tOacEhbxWGQsjEYhGZYcvxhW9RIdHOwAySg==", + "requires": { + "@babel/runtime": "^7.3.1", + "bn.js": "4.11.8", + "web3-utils": "1.0.0-beta.52" + } + }, + "web3-net": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.52.tgz", + "integrity": "sha512-rw66c5A5VTF/m3Acnr9ebIAgbr28q5jhXs8A8/F4VjbsDmUhQuQr3deyTPfyOEyupcnn6QRLoQ1EFVzeaUP7Ng==", + "requires": { + "@babel/runtime": "^7.3.1", + "lodash": "^4.17.11", + "web3-core": "1.0.0-beta.52", + "web3-core-helpers": "1.0.0-beta.52", + "web3-core-method": "1.0.0-beta.52", + "web3-providers": "1.0.0-beta.52", + "web3-utils": "1.0.0-beta.52" + } + }, + "web3-providers": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-providers/-/web3-providers-1.0.0-beta.52.tgz", + "integrity": "sha512-eRmWOn6BeYfAt8UQmCRnqXo1++IjSiIz7+EY9WJ+m7J5ncq/gQN3idWQxT3QZzGRiAvZlO8ZUuF7ff0vuufakg==", + "requires": { + "@babel/runtime": "^7.3.1", + "@types/node": "^10.12.18", + "eventemitter3": "3.1.0", + "lodash": "^4.17.11", + "url-parse": "1.4.4", + "websocket": "^1.0.28", + "xhr2-cookies": "1.1.0" + } + }, + "web3-utils": { + "version": "1.0.0-beta.52", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.52.tgz", + "integrity": "sha512-WdHyzPcZu/sOnNrkcOZT20QEX9FhwD9OJJXENojQNvMK2a1xo3n8JWBcC2gzAGwsa0Aah6z2B3Xwa1P//8FaoA==", + "requires": { + "@babel/runtime": "^7.3.1", + "@types/bn.js": "^4.11.4", + "@types/node": "^10.12.18", + "bn.js": "4.11.8", + "eth-lib": "0.2.8", + "ethjs-unit": "^0.1.6", + "lodash": "^4.17.11", + "number-to-bn": "1.7.0", + "randomhex": "0.1.5", + "utf8": "2.1.1" + } + }, + "websocket": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.28.tgz", + "integrity": "sha512-00y/20/80P7H4bCYkzuuvvfDvh+dgtXi5kzDf3UcZwN6boTYaKvsrtZ5lIYm1Gsg48siMErd9M4zjSYfYFHTrA==", + "requires": { + "debug": "^2.2.0", + "nan": "^2.11.0", + "typedarray-to-buffer": "^3.1.5", + "yaeti": "^0.0.6" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xhr-request": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "requires": { + "buffer-to-arraybuffer": "^0.0.5", + "object-assign": "^4.1.1", + "query-string": "^5.0.1", + "simple-get": "^2.7.0", + "timed-out": "^4.0.1", + "url-set-query": "^1.0.0", + "xhr": "^2.0.4" + } + }, + "xhr-request-promise": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", + "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", + "requires": { + "xhr-request": "^1.0.1" + } + }, + "xhr2-cookies": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", + "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", + "requires": { + "cookiejar": "^2.1.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "yaeti": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", + "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" + } + } +} diff --git a/packages/web3-eth-txpool/package.json b/packages/web3-eth-txpool/package.json new file mode 100644 index 00000000000..6125d91dbe7 --- /dev/null +++ b/packages/web3-eth-txpool/package.json @@ -0,0 +1,37 @@ +{ + "name": "web3-eth-txpool", + "namespace": "ethereum", + "version": "1.0.0-beta.52", + "description": "Web3 module to interact with the Ethereum blockchain accounts stored in the node.", + "repository": "https://github.com/ethereum/web3.js/tree/1.0/packages/web3-eth-txpool", + "license": "LGPL-3.0", + "main": "dist/web3-eth-txpool.cjs.js", + "module": "dist/web3-eth-txpool.esm.js", + "browser": "dist/web3-eth-txpool.umd.js", + "scripts": { + "build": "rollup -c", + "dev": "rollup -c -w", + "test": "jest", + "dtslint": "dtslint types --onlyTestTsNext" + }, + "types": "types/index.d.ts", + "dependencies": { + "@babel/runtime": "^7.3.1", + "web3-core": "1.0.0-beta.52", + "web3-core-helpers": "1.0.0-beta.52", + "web3-core-method": "1.0.0-beta.52", + "web3-net": "1.0.0-beta.52", + "web3-providers": "1.0.0-beta.52", + "web3-utils": "1.0.0-beta.52" + }, + "devDependencies": { + "definitelytyped-header-parser": "^1.0.1", + "dtslint": "0.4.2", + "web3-eth-accounts": "1.0.0-beta.52" + }, + "files": [ + "dist", + "types/index.d.ts" + ], + "gitHead": "1c89f503c90180598910d29892f6ebf92455cfe1" +} diff --git a/packages/web3-eth-txpool/rollup.config.js b/packages/web3-eth-txpool/rollup.config.js new file mode 100644 index 00000000000..e43c2245ba5 --- /dev/null +++ b/packages/web3-eth-txpool/rollup.config.js @@ -0,0 +1,4 @@ +import pkg from './package.json'; +import rollupConfig from '../../rollup.config'; + +export default rollupConfig('Web3EthPersonal', pkg.name); diff --git a/packages/web3-eth-txpool/src/Txpool.js b/packages/web3-eth-txpool/src/Txpool.js new file mode 100644 index 00000000000..349b5f1f87d --- /dev/null +++ b/packages/web3-eth-txpool/src/Txpool.js @@ -0,0 +1,219 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file index.js + * @author Prince Sinha + * @date 2019 + */ + +import {AbstractWeb3Module} from 'web3-core'; + +export default class Txpool extends AbstractWeb3Module { + /** + * @param {Web3EthereumProvider|HttpProvider|WebsocketProvider|IpcProvider|String} provider + * @param {MethodFactory} methodFactory + * @param {Network} net + * @param {Utils} utils + * @param {Object} formatters + * @param {Object} options + * @param {Net.Socket} nodeNet + * + * @constructor + */ + constructor(provider, methodFactory, net, utils, formatters, options, nodeNet) { + super(provider, options, methodFactory, nodeNet); + + this.utils = utils; + this.formatters = formatters; + this.net = net; + } + + /** + * Extends setProvider method from AbstractWeb3Module. + * + * @method setProvider + * + * @param {Object|String} provider + * @param {Net} net + * + * @returns {Boolean} + */ + setProvider(provider, net) { + return !!(super.setProvider(provider, net) && this.net.setProvider(provider, net)); + } + + /** + * Sets the defaultGasPrice property on the current object and the network module + * + * @property defaultGasPrice + * + * @param {String} value + */ + set defaultGasPrice(value) { + super.defaultGasPrice = value; + this.net.defaultGasPrice = value; + } + + /** + * Gets the defaultGasPrice property + * + * @property defaultGasPrice + * + * @returns {String|Number} value + */ + get defaultGasPrice() { + return super.defaultGasPrice; + } + + /** + * Sets the defaultGas property on the current object and the network module + * + * @property defaultGas + * + * @param {Number} value + */ + set defaultGas(value) { + super.defaultGas = value; + this.net.defaultGas = value; + } + + /** + * Gets the defaultGas property + * + * @property defaultGas + * + * @returns {String|Number} value + */ + get defaultGas() { + return super.defaultGas; + } + + /** + * Sets the transactionBlockTimeout property on the current object and the network module + * + * @property transactionBlockTimeout + * + * @param {Number} value + */ + set transactionBlockTimeout(value) { + super.transactionBlockTimeout = value; + this.net.transactionBlockTimeout = value; + } + + /** + * Gets the transactionBlockTimeout property + * + * @property transactionBlockTimeout + * + * @returns {Number} value + */ + get transactionBlockTimeout() { + return super.transactionBlockTimeout; + } + + /** + * Sets the transactionConfirmationBlocks property on the current object and the network module + * + * @property transactionConfirmationBlocks + * + * @param {Number} value + */ + set transactionConfirmationBlocks(value) { + super.transactionConfirmationBlocks = value; + this.net.transactionConfirmationBlocks = value; + } + + /** + * Gets the transactionConfirmationBlocks property + * + * @property transactionConfirmationBlocks + * + * @returns {Number} value + */ + get transactionConfirmationBlocks() { + return super.transactionConfirmationBlocks; + } + + /** + * Sets the transactionPollingTimeout property on the current object and the network module + * + * @property transactionPollingTimeout + * + * @param {Number} value + */ + set transactionPollingTimeout(value) { + super.transactionPollingTimeout = value; + this.net.transactionPollingTimeout = value; + } + + /** + * Gets the transactionPollingTimeout property + * + * @property transactionPollingTimeout + * + * @returns {Number} value + */ + get transactionPollingTimeout() { + return super.transactionPollingTimeout; + } + + /** + * Sets the defaultAccount property on the current object and the network module + * + * @property defaultAccount + * + * @param {String} value + */ + set defaultAccount(value) { + super.defaultAccount = value; + this.net.defaultAccount = value; + } + + /** + * Gets the defaultAccount property + * + * @property defaultAccount + * + * @returns {String} value + */ + get defaultAccount() { + return super.defaultAccount; + } + + /** + * Sets the defaultBlock property on the current object and the network module + * + * @property defaultBlock + * + * @param value + */ + set defaultBlock(value) { + super.defaultBlock = value; + this.net.defaultBlock = value; + } + + /** + * Gets the defaultBlock property + * + * @property defaultBlock + * + * @returns {String|Number} value + */ + get defaultBlock() { + return super.defaultBlock; + } +} diff --git a/packages/web3-eth-txpool/src/factories/MethodFactory.js b/packages/web3-eth-txpool/src/factories/MethodFactory.js new file mode 100644 index 00000000000..76962ae2c8b --- /dev/null +++ b/packages/web3-eth-txpool/src/factories/MethodFactory.js @@ -0,0 +1,46 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file MethodFactory.js + * @author Prince Sinha + * @date 2019 + */ + +import { + AbstractMethodFactory, + GetTxpoolContentMethod, + GetTxpoolInspectMethod, + GetTxpoolStatusMethod +} from 'web3-core-method'; + +export default class MethodFactory extends AbstractMethodFactory { + /** + * @param {Utils} utils + * @param {Object} formatters + * + * @constructor + */ + constructor(utils, formatters) { + super(utils, formatters); + + this.methods = { + GetTxpoolContentMethod, + GetTxpoolInspectMethod, + GetTxpoolStatusMethod + }; + } +} diff --git a/packages/web3-eth-txpool/src/index.js b/packages/web3-eth-txpool/src/index.js new file mode 100644 index 00000000000..c49ae7e34e5 --- /dev/null +++ b/packages/web3-eth-txpool/src/index.js @@ -0,0 +1,53 @@ +/* + This file is part of web3.js. + + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file index.js + * @author Prince Sinha + * @date 2019 + */ + +import {Network} from 'web3-net'; +import * as Utils from 'web3-utils'; +import {formatters} from 'web3-core-helpers'; +import {ProviderResolver} from 'web3-providers'; +import MethodFactory from './factories/MethodFactory'; +import TxpoolModule from './Txpool.js'; + +/** + * Returns the Txpool object + * + * @method Txpool + * + * @param {Web3EthereumProvider|HttpProvider|WebsocketProvider|IpcProvider|String} provider + * @param {Net.Socket} net + * @param {Object} options + * + * @returns {Txpool} + */ +export function Txpool(provider, net = null, options = {}) { + const resolvedProvider = new ProviderResolver().resolve(provider, net); + + return new TxpoolModule( + resolvedProvider, + new MethodFactory(Utils, formatters), + new Network(resolvedProvider, null, options), + Utils, + formatters, + options, + null + ); +} diff --git a/packages/web3-eth-txpool/tests/src/TxpoolTest.js b/packages/web3-eth-txpool/tests/src/TxpoolTest.js new file mode 100644 index 00000000000..ae38bcc0814 --- /dev/null +++ b/packages/web3-eth-txpool/tests/src/TxpoolTest.js @@ -0,0 +1,107 @@ +import * as Utils from 'web3-utils'; +import {formatters} from 'web3-core-helpers'; +import {Network} from 'web3-net'; +import {AbstractWeb3Module} from 'web3-core'; +import MethodFactory from '../../src/factories/MethodFactory'; +import Txpool from '../../src/Txpool'; + +// Mocks +jest.mock('web3-utils'); +jest.mock('web3-core-helpers'); +jest.mock('web3-net'); + +/** + * Txpool test + */ +describe('TxpoolTest', () => { + let txpool, providerMock, methodFactory, networkMock; + + beforeEach(() => { + providerMock = {send: jest.fn(), clearSubscriptions: jest.fn()}; + methodFactory = new MethodFactory(Utils, formatters); + + new Network(); + networkMock = Network.mock.instances[0]; + + txpool = new Txpool(providerMock, methodFactory, networkMock, Utils, formatters, {}, {}); + }); + + it('constructor check', () => { + expect(txpool.net).toEqual(networkMock); + + expect(txpool.utils).toEqual(Utils); + + expect(txpool.formatters).toEqual(formatters); + + expect(txpool).toBeInstanceOf(AbstractWeb3Module); + }); + + it('calls setProvider and returns true', () => { + networkMock.setProvider = jest.fn(); + networkMock.setProvider.mockReturnValueOnce(true); + + expect(txpool.setProvider(providerMock, 'net')).toEqual(true); + + expect(networkMock.setProvider).toHaveBeenCalledWith(providerMock, 'net'); + }); + + it('sets the defaultGasPrice property', () => { + txpool.defaultGasPrice = 10; + + expect(txpool.defaultGasPrice).toEqual(10); + + expect(networkMock.defaultGasPrice).toEqual(10); + }); + + it('sets the defaultGas property', () => { + txpool.defaultGas = 10; + + expect(txpool.defaultGas).toEqual(10); + + expect(networkMock.defaultGas).toEqual(10); + }); + + it('sets the transactionBlockTimeout property', () => { + txpool.transactionBlockTimeout = 10; + + expect(txpool.transactionBlockTimeout).toEqual(10); + + expect(networkMock.transactionBlockTimeout).toEqual(10); + }); + + it('sets the transactionConfirmationBlocks property', () => { + txpool.transactionConfirmationBlocks = 10; + + expect(txpool.transactionConfirmationBlocks).toEqual(10); + + expect(networkMock.transactionConfirmationBlocks).toEqual(10); + }); + + it('sets the transactionPollingTimeout property', () => { + txpool.transactionPollingTimeout = 10; + + expect(txpool.transactionPollingTimeout).toEqual(10); + + expect(networkMock.transactionPollingTimeout).toEqual(10); + }); + + it('sets the defaultAccount property', () => { + Utils.toChecksumAddress.mockReturnValue('0x2'); + + txpool.defaultAccount = '0x0'; + + expect(txpool.defaultAccount).toEqual('0x2'); + + expect(networkMock.defaultAccount).toEqual('0x0'); + + expect(Utils.toChecksumAddress).toHaveBeenCalledWith('0x0'); + }); + + it('sets the defaultBlock property', () => { + txpool.defaultBlock = 1; + + expect(txpool.defaultBlock).toEqual(1); + + expect(networkMock.defaultBlock).toEqual(1); + }); +}); diff --git a/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js b/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js new file mode 100644 index 00000000000..e43cc84473c --- /dev/null +++ b/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js @@ -0,0 +1,38 @@ +import * as Utils from 'web3-utils'; +import {formatters} from 'web3-core-helpers'; +import { + GetTxpoolContentMethod, + GetTxpoolInspectMethod, + GetTxpoolStatusMethod +} from 'web3-core-method'; + +import MethodFactory from '../../../src/factories/MethodFactory'; + +// Mocks +jest.mock('web3-utils'); +jest.mock('web3-core-helpers'); + +/** + * MethodFactory test + */ +describe('MethodFactoryTest', () => { + let methodFactory; + + beforeEach(() => { + methodFactory = new MethodFactory(Utils, formatters); + }); + + it('constructor check', () => { + expect(methodFactory.utils).toEqual(Utils); + + expect(methodFactory.formatters).toEqual(formatters); + }); + + it('JSON-RPC methods check', () => { + expect(methodFactory.methods).toEqual({ + GetTxpoolContentMethod, + GetTxpoolInspectMethod, + GetTxpoolStatusMethod + }); + }); +}); diff --git a/packages/web3-eth-txpool/types/index.d.ts b/packages/web3-eth-txpool/types/index.d.ts new file mode 100644 index 00000000000..9f3467766bc --- /dev/null +++ b/packages/web3-eth-txpool/types/index.d.ts @@ -0,0 +1,43 @@ +/* + This file is part of web3.js. + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file index.d.ts + * @author Prince Sinha , + * @date 2019 + */ + +import {Accounts} from 'web3-eth-accounts'; +import {provider} from 'web3-providers'; +import {AbstractWeb3Module, Web3ModuleOptions} from 'web3-core'; +import * as net from 'net'; + +export class Txpool extends AbstractWeb3Module { + constructor(provider: provider, net?: net.Socket|null, options?: Web3ModuleOptions, accounts?: Accounts|null); + + content(): Content; + + inspect(): Content; + + status(): Status; +} + +export interface Content { + pending: {}; + queued: {}; +} + +export interface Status { + pending: number; + queued: number; +} diff --git a/packages/web3-eth-txpool/types/tests/txpool-tests.ts b/packages/web3-eth-txpool/types/tests/txpool-tests.ts new file mode 100644 index 00000000000..588c887b22e --- /dev/null +++ b/packages/web3-eth-txpool/types/tests/txpool-tests.ts @@ -0,0 +1,33 @@ +/* + This file is part of web3.js. + web3.js is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + web3.js is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public License + along with web3.js. If not, see . +*/ +/** + * @file txpool-tests.ts + * @author Prince + * @date 2018 + */ + +import {RLPEncodedTransaction} from 'web3-core'; +import {Txpool} from 'web3-eth-txpool'; +import {Accounts} from 'web3-eth-accounts'; + +const txpool = new Txpool('http://localhost:8545'); + +// $ExpectType Content +txpool.content(); + +// $ExpectType Content +txpool.inspect(); + +// $ExpectType Status +txpool.status(); diff --git a/packages/web3-eth-txpool/types/tsconfig.json b/packages/web3-eth-txpool/types/tsconfig.json new file mode 100644 index 00000000000..730e8839df3 --- /dev/null +++ b/packages/web3-eth-txpool/types/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": ["es6"], + "target": "es6", + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "noEmit": true, + "allowSyntheticDefaultImports": false, + "baseUrl": ".", + "paths": { + "web3-eth-txpool": ["."] + } + } +} diff --git a/packages/web3-eth-txpool/types/tslint.json b/packages/web3-eth-txpool/types/tslint.json new file mode 100644 index 00000000000..6429b0c446e --- /dev/null +++ b/packages/web3-eth-txpool/types/tslint.json @@ -0,0 +1,10 @@ +{ + "extends": "dtslint/dtslint.json", + "rules": { + "semicolon": false, + "no-import-default-of-export-equals": false, + "file-name-casing": [true, "kebab-case"], + "whitespace": false, + "no-unnecessary-class": false + } +} From 45c8d602809c8e829be809966ee1eba6bec991ca Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 14:35:52 +0530 Subject: [PATCH 02/19] web3-eth-txpool documentation added --- docs/web3-eth-txpool.rst | 266 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 265 insertions(+), 1 deletion(-) diff --git a/docs/web3-eth-txpool.rst b/docs/web3-eth-txpool.rst index 7edbe599bb1..0ea5afb72c2 100644 --- a/docs/web3-eth-txpool.rst +++ b/docs/web3-eth-txpool.rst @@ -1 +1,265 @@ -jh \ No newline at end of file +.. _eth-txpool: + +.. include:: include_announcement.rst + +======== +web3.eth.txpool +======== + + +The ``web3-eth-txpool`` package gives you access to several non-standard RPC methods to inspect the contents of the transaction pool containing all the currently pending transactions as well as the ones queued for future processing. + + +.. code-block:: javascript + + import Web3 from 'web3'; + import {TxPool} from 'web3-eth-txpool'; + + // "Web3.givenProvider" will be set if in an Ethereum supported browser. + const txpool = new TxPool(Web3.givenProvider || 'ws://some.local-or-remote.node:8546', null, options); + + + // or using the web3 umbrella package + const web3 = new Web3(Web3.givenProvider || 'ws://some.local-or-remote.node:8546', null, options); + + // -> web3.eth.txpool + + +------------------------------------------------------------------------------ + + +.. include:: include_package-core.rst + + + +------------------------------------------------------------------------------ + +.. _txpool-content: + +content +========= + +.. code-block:: javascript + + web3.eth.txpool.content([callback]) + +This API can be used to list the exact details of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future executions. +The RPC method used is ``txpool_content``. + +---------- +Parameters +---------- + +1. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. + +------- +Returns +------- + +``Object`` - The list of pending as well as queued transactions. + +------- +Example +------- + +.. code-block:: javascript + + web3.eth.txpool.content().then(console.log); + > { + pending: { + 0x0216d5032f356960cd3749c31ab34eeff21b3395: { + 806: [{ + blockHash: "0x0000000000000000000000000000000000000000000000000000000000000000", + blockNumber: null, + from: "0x0216d5032f356960cd3749c31ab34eeff21b3395", + gas: "0x5208", + gasPrice: "0xba43b7400", + hash: "0xaf953a2d01f55cfe080c0c94150a60105e8ac3d51153058a1f03dd239dd08586", + input: "0x", + nonce: "0x326", + to: "0x7f69a91a3cf4be60020fb58b893b7cbb65376db8", + transactionIndex: null, + value: "0x19a99f0cf456000" + }] + }, + 0x24d407e5a0b506e1cb2fae163100b5de01f5193c: { + 34: [{ + blockHash: "0x0000000000000000000000000000000000000000000000000000000000000000", + blockNumber: null, + from: "0x24d407e5a0b506e1cb2fae163100b5de01f5193c", + gas: "0x44c72", + gasPrice: "0x4a817c800", + hash: "0xb5b8b853af32226755a65ba0602f7ed0e8be2211516153b75e9ed640a7d359fe", + input: "0xb61d27f600000000000000000000000024d407e5a0b506e1cb2fae163100b5de01f5193c00000000000000000000000000000000000000000000000053444835ec580000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + nonce: "0x22", + to: "0x7320785200f74861b69c49e4ab32399a71b34f1a", + transactionIndex: null, + value: "0x0" + }] + } + }, + queued: { + 0x976a3fc5d6f7d259ebfb4cc2ae75115475e9867c: { + 3: [{ + blockHash: "0x0000000000000000000000000000000000000000000000000000000000000000", + blockNumber: null, + from: "0x976a3fc5d6f7d259ebfb4cc2ae75115475e9867c", + gas: "0x15f90", + gasPrice: "0x4a817c800", + hash: "0x57b30c59fc39a50e1cba90e3099286dfa5aaf60294a629240b5bbec6e2e66576", + input: "0x", + nonce: "0x3", + to: "0x346fb27de7e7370008f5da379f74dd49f5f2f80f", + transactionIndex: null, + value: "0x1f161421c8e0000" + }] + }, + 0x9b11bf0459b0c4b2f87f8cebca4cfc26f294b63a: { + 2: [{ + blockHash: "0x0000000000000000000000000000000000000000000000000000000000000000", + blockNumber: null, + from: "0x9b11bf0459b0c4b2f87f8cebca4cfc26f294b63a", + gas: "0x15f90", + gasPrice: "0xba43b7400", + hash: "0x3a3c0698552eec2455ed3190eac3996feccc806970a4a056106deaf6ceb1e5e3", + input: "0x", + nonce: "0x2", + to: "0x24a461f25ee6a318bdef7f33de634a67bb67ac9d", + transactionIndex: null, + value: "0xebec21ee1da40000" + }] + } + } + } + +------------------------------------------------------------------------------ + + +inspect +===================== + +.. code-block:: javascript + + web3.eth.txpool.inspect([, callback]) + +The property can be queried to list a textual summary of all the transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future executions. +The RPC method used is ``txpool_inspect``. + +---------- +Parameters +---------- + + +1. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. + + +------- +Returns +------- + + +``Object`` - The List of pending and queued transactions summary. + + +------- +Example +------- + + +.. code-block:: javascript + + web3.eth.txpool.inspect().then(console.log); + > { + pending: { + 0x26588a9301b0428d95e6fc3a5024fce8bec12d51: { + 31813: ["0x3375ee30428b2a71c428afa5e89e427905f95f7e: 0 wei + 500000 × 20000000000 gas"] + }, + 0x2a65aca4d5fc5b5c859090a6c34d164135398226: { + 563662: ["0x958c1fa64b34db746925c6f8a3dd81128e40355e: 1051546810000000000 wei + 90000 × 20000000000 gas"], + 563663: ["0x77517b1491a0299a44d668473411676f94e97e34: 1051190740000000000 wei + 90000 × 20000000000 gas"], + 563664: ["0x3e2a7fe169c8f8eee251bb00d9fb6d304ce07d3a: 1050828950000000000 wei + 90000 × 20000000000 gas"], + 563665: ["0xaf6c4695da477f8c663ea2d8b768ad82cb6a8522: 1050544770000000000 wei + 90000 × 20000000000 gas"], + 563666: ["0x139b148094c50f4d20b01caf21b85edb711574db: 1048598530000000000 wei + 90000 × 20000000000 gas"], + 563667: ["0x48b3bd66770b0d1eecefce090dafee36257538ae: 1048367260000000000 wei + 90000 × 20000000000 gas"], + 563668: ["0x468569500925d53e06dd0993014ad166fd7dd381: 1048126690000000000 wei + 90000 × 20000000000 gas"], + 563669: ["0x3dcb4c90477a4b8ff7190b79b524773cbe3be661: 1047965690000000000 wei + 90000 × 20000000000 gas"], + 563670: ["0x6dfef5bc94b031407ffe71ae8076ca0fbf190963: 1047859050000000000 wei + 90000 × 20000000000 gas"] + }, + 0x9174e688d7de157c5c0583df424eaab2676ac162: { + 3: ["0xbb9bc244d798123fde783fcc1c72d3bb8c189413: 30000000000000000000 wei + 85000 × 21000000000 gas"] + }, + 0xb18f9d01323e150096650ab989cfecd39d757aec: { + 777: ["0xcd79c72690750f079ae6ab6ccd7e7aedc03c7720: 0 wei + 1000000 × 20000000000 gas"] + }, + 0xb2916c870cf66967b6510b76c07e9d13a5d23514: { + 2: ["0x576f25199d60982a8f31a8dff4da8acb982e6aba: 26000000000000000000 wei + 90000 × 20000000000 gas"] + }, + 0xbc0ca4f217e052753614d6b019948824d0d8688b: { + 0: ["0x2910543af39aba0cd09dbb2d50200b3e800a63d2: 1000000000000000000 wei + 50000 × 1171602790622 gas"] + }, + 0xea674fdde714fd979de3edf0f56aa9716b898ec8: { + 70148: ["0xe39c55ead9f997f7fa20ebe40fb4649943d7db66: 1000767667434026200 wei + 90000 × 20000000000 gas"] + } + }, + queued: { + 0x0f6000de1578619320aba5e392706b131fb1de6f: { + 6: ["0x8383534d0bcd0186d326c993031311c0ac0d9b2d: 9000000000000000000 wei + 21000 × 20000000000 gas"] + }, + 0x5b30608c678e1ac464a8994c3b33e5cdf3497112: { + 6: ["0x9773547e27f8303c87089dc42d9288aa2b9d8f06: 50000000000000000000 wei + 90000 × 50000000000 gas"] + }, + 0x976a3fc5d6f7d259ebfb4cc2ae75115475e9867c: { + 3: ["0x346fb27de7e7370008f5da379f74dd49f5f2f80f: 140000000000000000 wei + 90000 × 20000000000 gas"] + }, + 0x9b11bf0459b0c4b2f87f8cebca4cfc26f294b63a: { + 2: ["0x24a461f25ee6a318bdef7f33de634a67bb67ac9d: 17000000000000000000 wei + 90000 × 50000000000 gas"], + 6: ["0x6368f3f8c2b42435d6c136757382e4a59436a681: 17990000000000000000 wei + 90000 × 20000000000 gas", "0x8db7b4e0ecb095fbd01dffa62010801296a9ac78: 16998950000000000000 wei + 90000 × 20000000000 gas"], + 7: ["0x6368f3f8c2b42435d6c136757382e4a59436a681: 17900000000000000000 wei + 90000 × 20000000000 gas"] + } + } + } + + +------------------------------------------------------------------------------ + + +status +===================== + +.. code-block:: javascript + + web3.eth.txpool.status([, callback]) + +This will provide the number of transactions currently pending for inclusion in the next block(s), as well as the ones that are being scheduled for future executions. +The RPC method used is ``txpool_status``. + +---------- +Parameters +---------- + + +3. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. + + +------- +Returns +------- + + +``Object`` - A list of number of pending and queued transactions. + + +------- +Example +------- + + +.. code-block:: javascript + + web3.eth.txpool.status().then(console.log); + > { + pending: 10, + queued: 7 + } + +------------------------------------------------------------------------------ From fc0297ed7ae1afac9bf3708d1836d660a4f5ae3f Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 14:37:52 +0530 Subject: [PATCH 03/19] web3-eth-txpool documentation fix --- docs/web3-eth-txpool.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/web3-eth-txpool.rst b/docs/web3-eth-txpool.rst index 0ea5afb72c2..3a290093251 100644 --- a/docs/web3-eth-txpool.rst +++ b/docs/web3-eth-txpool.rst @@ -13,10 +13,10 @@ The ``web3-eth-txpool`` package gives you access to several non-standard RPC met .. code-block:: javascript import Web3 from 'web3'; - import {TxPool} from 'web3-eth-txpool'; + import {Txpool} from 'web3-eth-txpool'; // "Web3.givenProvider" will be set if in an Ethereum supported browser. - const txpool = new TxPool(Web3.givenProvider || 'ws://some.local-or-remote.node:8546', null, options); + const txpool = new Txpool(Web3.givenProvider || 'ws://some.local-or-remote.node:8546', null, options); // or using the web3 umbrella package @@ -238,7 +238,7 @@ Parameters ---------- -3. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. +1. ``Function`` - (optional) Optional callback, returns an error object as first parameter and the result as second. ------- From b4e43ee532ae7423460074c609807205eac9707c Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 15:01:38 +0530 Subject: [PATCH 04/19] GetTxpoolContentMethodTest fix --- .../tests/src/methods/txpool/GetTxpoolContentMethodTest.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js index cec0a3b8649..740472687e4 100644 --- a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js +++ b/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js @@ -1,6 +1,6 @@ import {formatters} from 'web3-core-helpers'; import AbstractMethod from '../../../../lib/methods/AbstractMethod'; -import GetTxpoolStatusMethod from '../../../../src/methods/txpool/GetTxpoolStatusMethod'; +import GetTxpoolContentMethod from '../../../../src/methods/txpool/GetTxpoolContentMethod'; // Mocks jest.mock('web3-core-helpers'); @@ -8,11 +8,11 @@ jest.mock('web3-core-helpers'); /** * GetTxpoolContentMethod test */ -describe('GetTxpoolStatusMethodTest', () => { +describe('GetTxpoolContentMethodTest', () => { let method; beforeEach(() => { - method = new GetTxpoolStatusMethod(null, formatters, {}); + method = new GetTxpoolContentMethod(null, formatters, {}); }); it('constructor check', () => { From 9fbea52aeb4615a4146383bfdf98c6db15623acc Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 15:20:26 +0530 Subject: [PATCH 05/19] build pipeline fix --- packages/web3-eth-txpool/package-lock.json | 1784 +++++--------------- 1 file changed, 438 insertions(+), 1346 deletions(-) diff --git a/packages/web3-eth-txpool/package-lock.json b/packages/web3-eth-txpool/package-lock.json index e6927b96431..4bfc154532f 100644 --- a/packages/web3-eth-txpool/package-lock.json +++ b/packages/web3-eth-txpool/package-lock.json @@ -1,1348 +1,440 @@ { - "name": "web3-eth-txpool", - "version": "1.0.0-beta.52", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/runtime": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz", - "integrity": "sha512-9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==", - "requires": { - "regenerator-runtime": "^0.13.2" - } - }, - "@types/bn.js": { - "version": "4.11.5", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.5.tgz", - "integrity": "sha512-AEAZcIZga0JgVMHNtl1CprA/hXX7/wPt79AgR4XqaDt7jyj3QWYw6LPoOiznPtugDmlubUnAahMs2PFxGcQrng==", - "requires": { - "@types/node": "*" - } - }, - "@types/node": { - "version": "10.14.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.4.tgz", - "integrity": "sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg==" - }, - "@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 - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "argparse": { - "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" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "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" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "buffer-to-arraybuffer": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", - "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "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 - }, - "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", - "supports-color": "^5.3.0" - }, - "dependencies": { - "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" - } - }, - "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" - } - } - } - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "color-convert": { - "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" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "dev": true - }, - "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 - }, - "cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "definitelytyped-header-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/definitelytyped-header-parser/-/definitelytyped-header-parser-1.1.0.tgz", - "integrity": "sha512-goGRhRUJVQhXc28OjwSCoAoutl/dcFUJXwEv3DYdtxGFCXWK+YFS/MrFfsAnHG0ZYPKBcniXWRUlr3UHGKaTHw==", - "dev": true, - "requires": { - "@types/parsimmon": "^1.3.0", - "parsimmon": "^1.2.0" - } - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, - "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#production", - "fs-extra": "^6.0.1", - "strip-json-comments": "^2.0.1", - "tslint": "^5.12.0", - "typescript": "^3.5.0-dev.20190407" - }, - "dependencies": { - "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" - } - } - } - }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "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 - }, - "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 - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true - }, - "eth-lib": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", - "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - }, - "ethjs-unit": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", - "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", - "requires": { - "bn.js": "4.11.6", - "number-to-bn": "1.7.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "eventemitter3": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", - "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "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", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" - } - }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "requires": { - "has": "^1.0.1" - } - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "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" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "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" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "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" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" - }, - "number-to-bn": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", - "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", - "requires": { - "bn.js": "4.11.6", - "strip-hex-prefix": "1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-headers": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz", - "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==", - "requires": { - "for-each": "^0.3.3", - "string.prototype.trim": "^1.1.2" - } - }, - "parsimmon": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.12.0.tgz", - "integrity": "sha512-uC/BjuSfb4jfaWajKCp1mVncXXq+V1twbcYChbTxN3GM7fn+8XoHwUdvUz+PTaFtDSCRQxU8+Rnh+iMhAkVwdw==", - "dev": true - }, - "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 - }, - "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 - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "query-string": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", - "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", - "requires": { - "decode-uri-component": "^0.2.0", - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "randomhex": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", - "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" - }, - "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "scrypt": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", - "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", - "dev": true, - "requires": { - "nan": "^2.0.8" - } - }, - "scrypt.js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", - "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", - "dev": true, - "requires": { - "scrypt": "^6.0.2", - "scryptsy": "^1.2.1" - } - }, - "scryptsy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", - "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", - "dev": true, - "requires": { - "pbkdf2": "^3.0.3" - } - }, - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" - }, - "simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", - "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string.prototype.trim": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", - "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.0", - "function-bind": "^1.0.2" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "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 - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, - "tslint": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.15.0.tgz", - "integrity": "sha512-6bIEujKR21/3nyeoX2uBnE8s+tMXCQXhqMmaIPJpHmXJoBJPTLcI7/VHRtUwMhnLVdwLqqY3zmd8Dxqa5CVdJA==", - "dev": true, - "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.13.0", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.29.0" - } - }, - "tsutils": { - "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" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "3.5.0-dev.20190407", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.0-dev.20190407.tgz", - "integrity": "sha512-bm99LTk3/h7Hx0/GkiLhXEzg6ryWEHa0yTFzMVpUNI9RzFn2AGvrPVlnsIlqNrFwTmA8/GPbr7f8hanlk1kyiQ==", - "dev": true - }, - "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 - }, - "url-parse": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", - "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", - "requires": { - "querystringify": "^2.0.0", - "requires-port": "^1.0.0" - } - }, - "url-set-query": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", - "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" - }, - "utf8": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", - "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "dev": true - }, - "web3-core": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.52.tgz", - "integrity": "sha512-UKHNBIj5b4M40DrGJRQKgWTtbqZCCZck38oQgBbtLAUUQmvlZybLf8jGWUfMamyhJg/eBqT/t1l7OcAn5i9zrA==", - "requires": { - "@babel/runtime": "^7.3.1", - "@types/bn.js": "^4.11.4", - "@types/node": "^10.12.18", - "lodash": "^4.17.11", - "web3-utils": "1.0.0-beta.52" - } - }, - "web3-core-helpers": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.52.tgz", - "integrity": "sha512-VJCJMEplvrU7jCgn0MCuLLa+XWkQVttQpShM5i0XkcKs2gmisMtoLO3lATx2b32ruu29EriBYkkAVzc0/nxppg==", - "requires": { - "@babel/runtime": "^7.3.1", - "lodash": "^4.17.11", - "web3-eth-iban": "1.0.0-beta.52", - "web3-utils": "1.0.0-beta.52" - } - }, - "web3-core-method": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.52.tgz", - "integrity": "sha512-lLbDsV2pxxrUDIWvRI/u6MsvG8mKGfCYOifXqb+yqAruhoNs/Gahoa/1UTjsn0qhVQafsffFRXaEhi6BQDQOYA==", - "requires": { - "@babel/runtime": "^7.3.1", - "eventemitter3": "3.1.0", - "lodash": "^4.17.11" - } - }, - "web3-eth-accounts": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.52.tgz", - "integrity": "sha512-B52yDVK2/3NKce1CESTZ/sD+6lU9pdNk4tPAtTkWTTPlejAbNlI04SdCX+hn2XJpDjsvU2HRSY3uNugVTrRQ6w==", - "dev": true, - "requires": { - "@babel/runtime": "^7.3.1", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.8", - "lodash": "^4.17.11", - "scrypt.js": "0.2.0", - "uuid": "3.3.2", - "web3-core": "1.0.0-beta.52", - "web3-core-helpers": "1.0.0-beta.52", - "web3-core-method": "1.0.0-beta.52", - "web3-providers": "1.0.0-beta.52", - "web3-utils": "1.0.0-beta.52" - } - }, - "web3-eth-iban": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.52.tgz", - "integrity": "sha512-LJZRZ+hZZPU9Fb7xR54mX1li5aKMp9xj9wgZZa4ikdL7iWi0rg1tOacEhbxWGQsjEYhGZYcvxhW9RIdHOwAySg==", - "requires": { - "@babel/runtime": "^7.3.1", - "bn.js": "4.11.8", - "web3-utils": "1.0.0-beta.52" - } - }, - "web3-net": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.52.tgz", - "integrity": "sha512-rw66c5A5VTF/m3Acnr9ebIAgbr28q5jhXs8A8/F4VjbsDmUhQuQr3deyTPfyOEyupcnn6QRLoQ1EFVzeaUP7Ng==", - "requires": { - "@babel/runtime": "^7.3.1", - "lodash": "^4.17.11", - "web3-core": "1.0.0-beta.52", - "web3-core-helpers": "1.0.0-beta.52", - "web3-core-method": "1.0.0-beta.52", - "web3-providers": "1.0.0-beta.52", - "web3-utils": "1.0.0-beta.52" - } - }, - "web3-providers": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-providers/-/web3-providers-1.0.0-beta.52.tgz", - "integrity": "sha512-eRmWOn6BeYfAt8UQmCRnqXo1++IjSiIz7+EY9WJ+m7J5ncq/gQN3idWQxT3QZzGRiAvZlO8ZUuF7ff0vuufakg==", - "requires": { - "@babel/runtime": "^7.3.1", - "@types/node": "^10.12.18", - "eventemitter3": "3.1.0", - "lodash": "^4.17.11", - "url-parse": "1.4.4", - "websocket": "^1.0.28", - "xhr2-cookies": "1.1.0" - } - }, - "web3-utils": { - "version": "1.0.0-beta.52", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.52.tgz", - "integrity": "sha512-WdHyzPcZu/sOnNrkcOZT20QEX9FhwD9OJJXENojQNvMK2a1xo3n8JWBcC2gzAGwsa0Aah6z2B3Xwa1P//8FaoA==", - "requires": { - "@babel/runtime": "^7.3.1", - "@types/bn.js": "^4.11.4", - "@types/node": "^10.12.18", - "bn.js": "4.11.8", - "eth-lib": "0.2.8", - "ethjs-unit": "^0.1.6", - "lodash": "^4.17.11", - "number-to-bn": "1.7.0", - "randomhex": "0.1.5", - "utf8": "2.1.1" - } - }, - "websocket": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.28.tgz", - "integrity": "sha512-00y/20/80P7H4bCYkzuuvvfDvh+dgtXi5kzDf3UcZwN6boTYaKvsrtZ5lIYm1Gsg48siMErd9M4zjSYfYFHTrA==", - "requires": { - "debug": "^2.2.0", - "nan": "^2.11.0", - "typedarray-to-buffer": "^3.1.5", - "yaeti": "^0.0.6" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xhr": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", - "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", - "requires": { - "global": "~4.3.0", - "is-function": "^1.0.1", - "parse-headers": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "xhr-request": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", - "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", - "requires": { - "buffer-to-arraybuffer": "^0.0.5", - "object-assign": "^4.1.1", - "query-string": "^5.0.1", - "simple-get": "^2.7.0", - "timed-out": "^4.0.1", - "url-set-query": "^1.0.0", - "xhr": "^2.0.4" - } - }, - "xhr-request-promise": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", - "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", - "requires": { - "xhr-request": "^1.0.1" - } - }, - "xhr2-cookies": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", - "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", - "requires": { - "cookiejar": "^2.1.1" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" - } - } + "name": "web3-eth-personal", + "version": "1.0.0-beta.51", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/runtime": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", + "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", + "requires": { + "regenerator-runtime": "^0.12.0" + } + }, + "@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 + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "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" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "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" + } + }, + "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 + }, + "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", + "supports-color": "^5.3.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, + "color-convert": { + "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" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "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 + }, + "definitelytyped-header-parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/definitelytyped-header-parser/-/definitelytyped-header-parser-1.0.1.tgz", + "integrity": "sha512-dotNYEd/IXw1LftTVKzjbbN/5TzsVhcmFJJi1W/L2IBgS1TaDcv3ZVh9Z8Zr0AFYC2T7OfdBT8vp0iDaUUlTyA==", + "dev": true, + "requires": { + "@types/parsimmon": "^1.3.0", + "parsimmon": "^1.2.0" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "dtslint": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/dtslint/-/dtslint-0.4.2.tgz", + "integrity": "sha512-ph4GXLw3HYzlQMJOFcpCqWHuL3MxJ/344OR7wn0wlQGchQGTIVNsSUl8iKEMatpy2geNMysgA9fQa6xVhHOkTQ==", + "dev": true, + "requires": { + "fs-extra": "^6.0.1", + "strip-json-comments": "^2.0.1", + "tslint": "^5.12.0", + "typescript": "^3.4.0-dev.20190315" + } + }, + "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 + }, + "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 + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "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", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "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" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", + "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "minimatch": { + "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" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "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" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "parsimmon": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.12.0.tgz", + "integrity": "sha512-uC/BjuSfb4jfaWajKCp1mVncXXq+V1twbcYChbTxN3GM7fn+8XoHwUdvUz+PTaFtDSCRQxU8+Rnh+iMhAkVwdw==", + "dev": true + }, + "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 + }, + "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 + }, + "regenerator-runtime": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" + }, + "resolve": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "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 + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", + "dev": true + }, + "tslint": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.14.0.tgz", + "integrity": "sha512-IUla/ieHVnB8Le7LdQFRGlVJid2T/gaJe5VkjzRVSRR6pA2ODYrnfR1hmxi+5+au9l50jBwpbBL34txgv4NnTQ==", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.29.0" + } + }, + "tsutils": { + "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" + } + }, + "typescript": { + "version": "3.4.0-dev.20190315", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.4.0-dev.20190315.tgz", + "integrity": "sha512-AmAGWYv52Bka/q20YNFy3jRiPMgAmWssti5uLTzFoPyuuzCd/GPmxm+j3iYm22ShrrDJw8biPxVDTq3DnOIaWA==", + "dev": true + }, + "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 + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + } + } } From f416070e5676ca230a582b7a11a90957c6ec3c01 Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 17:49:40 +0530 Subject: [PATCH 06/19] MethodFactory Correction --- .../web3-eth-txpool/src/factories/MethodFactory.js | 6 +++--- .../tests/src/factories/MethodFactoryTest.js | 12 ++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/packages/web3-eth-txpool/src/factories/MethodFactory.js b/packages/web3-eth-txpool/src/factories/MethodFactory.js index 76962ae2c8b..ac3778b47e3 100644 --- a/packages/web3-eth-txpool/src/factories/MethodFactory.js +++ b/packages/web3-eth-txpool/src/factories/MethodFactory.js @@ -38,9 +38,9 @@ export default class MethodFactory extends AbstractMethodFactory { super(utils, formatters); this.methods = { - GetTxpoolContentMethod, - GetTxpoolInspectMethod, - GetTxpoolStatusMethod + getContent: GetTxpoolContentMethod, + getInspect: GetTxpoolInspectMethod, + getStatus: GetTxpoolStatusMethod }; } } diff --git a/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js b/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js index e43cc84473c..b631fa68449 100644 --- a/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js +++ b/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js @@ -1,10 +1,6 @@ import * as Utils from 'web3-utils'; import {formatters} from 'web3-core-helpers'; -import { - GetTxpoolContentMethod, - GetTxpoolInspectMethod, - GetTxpoolStatusMethod -} from 'web3-core-method'; +import {GetTxpoolContentMethod, GetTxpoolInspectMethod, GetTxpoolStatusMethod} from 'web3-core-method'; import MethodFactory from '../../../src/factories/MethodFactory'; @@ -30,9 +26,9 @@ describe('MethodFactoryTest', () => { it('JSON-RPC methods check', () => { expect(methodFactory.methods).toEqual({ - GetTxpoolContentMethod, - GetTxpoolInspectMethod, - GetTxpoolStatusMethod + getContent: GetTxpoolContentMethod, + getInspect: GetTxpoolInspectMethod, + getStatus: GetTxpoolStatusMethod }); }); }); From 1856f2c404153a3e0d64142a81ce215d3367f55a Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Sun, 7 Apr 2019 23:31:23 +0530 Subject: [PATCH 07/19] Fixed type Hex --- packages/web3-eth-txpool/types/index.d.ts | 6 ++++-- packages/web3-eth-txpool/types/tests/txpool-tests.ts | 4 +--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/web3-eth-txpool/types/index.d.ts b/packages/web3-eth-txpool/types/index.d.ts index 9f3467766bc..ceb892648b8 100644 --- a/packages/web3-eth-txpool/types/index.d.ts +++ b/packages/web3-eth-txpool/types/index.d.ts @@ -38,6 +38,8 @@ export interface Content { } export interface Status { - pending: number; - queued: number; + pending: Hex; + queued: Hex; } + +export type Hex = string | number; diff --git a/packages/web3-eth-txpool/types/tests/txpool-tests.ts b/packages/web3-eth-txpool/types/tests/txpool-tests.ts index 588c887b22e..79b6c15cede 100644 --- a/packages/web3-eth-txpool/types/tests/txpool-tests.ts +++ b/packages/web3-eth-txpool/types/tests/txpool-tests.ts @@ -14,12 +14,10 @@ /** * @file txpool-tests.ts * @author Prince - * @date 2018 + * @date 2019 */ -import {RLPEncodedTransaction} from 'web3-core'; import {Txpool} from 'web3-eth-txpool'; -import {Accounts} from 'web3-eth-accounts'; const txpool = new Txpool('http://localhost:8545'); From 2f159011919eed52600092c98d9be9562cb9736f Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Mon, 8 Apr 2019 17:52:10 +0530 Subject: [PATCH 08/19] Method Renaming --- .../{GetTxpoolContentMethod.js => ContentMethod.js} | 4 ++-- .../{GetTxpoolInspectMethod.js => InspectMethod.js} | 4 ++-- .../{GetTxpoolStatusMethod.js => StatusMethod.js} | 4 ++-- ...oolContentMethodTest.js => ContentMethodTest.js} | 8 ++++---- ...oolInspectMethodTest.js => InspectMethodTest.js} | 8 ++++---- ...xpoolStatusMethodTest.js => StatusMethodTest.js} | 8 ++++---- .../web3-eth-txpool/src/factories/MethodFactory.js | 13 ++++--------- .../tests/src/factories/MethodFactoryTest.js | 8 ++++---- 8 files changed, 26 insertions(+), 31 deletions(-) rename packages/web3-core-method/src/methods/txpool/{GetTxpoolContentMethod.js => ContentMethod.js} (91%) rename packages/web3-core-method/src/methods/txpool/{GetTxpoolInspectMethod.js => InspectMethod.js} (91%) rename packages/web3-core-method/src/methods/txpool/{GetTxpoolStatusMethod.js => StatusMethod.js} (91%) rename packages/web3-core-method/tests/src/methods/txpool/{GetTxpoolContentMethodTest.js => ContentMethodTest.js} (69%) rename packages/web3-core-method/tests/src/methods/txpool/{GetTxpoolInspectMethodTest.js => InspectMethodTest.js} (69%) rename packages/web3-core-method/tests/src/methods/txpool/{GetTxpoolStatusMethodTest.js => StatusMethodTest.js} (69%) diff --git a/packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js b/packages/web3-core-method/src/methods/txpool/ContentMethod.js similarity index 91% rename from packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js rename to packages/web3-core-method/src/methods/txpool/ContentMethod.js index 16f6444e24d..ec594084279 100644 --- a/packages/web3-core-method/src/methods/txpool/GetTxpoolContentMethod.js +++ b/packages/web3-core-method/src/methods/txpool/ContentMethod.js @@ -15,14 +15,14 @@ along with web3.js. If not, see . */ /** - * @file GetTxpoolContentMethod.js + * @file ContentMethod.js * @author Prince Sinha * @date 2019 */ import AbstractMethod from '../../../lib/methods/AbstractMethod'; -export default class GetTxpoolContentMethod extends AbstractMethod { +export default class ContentMethod extends AbstractMethod { /** * @param {Utils} utils * @param {Object} formatters diff --git a/packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js b/packages/web3-core-method/src/methods/txpool/InspectMethod.js similarity index 91% rename from packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js rename to packages/web3-core-method/src/methods/txpool/InspectMethod.js index 29b599229f0..8314d491a67 100644 --- a/packages/web3-core-method/src/methods/txpool/GetTxpoolInspectMethod.js +++ b/packages/web3-core-method/src/methods/txpool/InspectMethod.js @@ -15,14 +15,14 @@ along with web3.js. If not, see . */ /** - * @file GetTxpoolInspectMethod.js + * @file InspectMethod.js * @author Prince Sinha * @date 2019 */ import AbstractMethod from '../../../lib/methods/AbstractMethod'; -export default class GetTxpoolInspectMethod extends AbstractMethod { +export default class InspectMethod extends AbstractMethod { /** * @param {Utils} utils * @param {Object} formatters diff --git a/packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js b/packages/web3-core-method/src/methods/txpool/StatusMethod.js similarity index 91% rename from packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js rename to packages/web3-core-method/src/methods/txpool/StatusMethod.js index 8436a81ad24..1be278cae43 100644 --- a/packages/web3-core-method/src/methods/txpool/GetTxpoolStatusMethod.js +++ b/packages/web3-core-method/src/methods/txpool/StatusMethod.js @@ -15,14 +15,14 @@ along with web3.js. If not, see . */ /** - * @file GetTxpoolStatusMethod.js + * @file StatusMethod.js * @author Prince Sinha * @date 2019 */ import AbstractMethod from '../../../lib/methods/AbstractMethod'; -export default class GetTxpoolStatusMethod extends AbstractMethod { +export default class StatusMethod extends AbstractMethod { /** * @param {Utils} utils * @param {Object} formatters diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/ContentMethodTest.js similarity index 69% rename from packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js rename to packages/web3-core-method/tests/src/methods/txpool/ContentMethodTest.js index 740472687e4..895ce04f790 100644 --- a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolContentMethodTest.js +++ b/packages/web3-core-method/tests/src/methods/txpool/ContentMethodTest.js @@ -1,18 +1,18 @@ import {formatters} from 'web3-core-helpers'; import AbstractMethod from '../../../../lib/methods/AbstractMethod'; -import GetTxpoolContentMethod from '../../../../src/methods/txpool/GetTxpoolContentMethod'; +import ContentMethod from '../../../../src/methods/txpool/ContentMethod'; // Mocks jest.mock('web3-core-helpers'); /** - * GetTxpoolContentMethod test + * ContentMethod test */ -describe('GetTxpoolContentMethodTest', () => { +describe('ContentMethodTest', () => { let method; beforeEach(() => { - method = new GetTxpoolContentMethod(null, formatters, {}); + method = new ContentMethod(null, formatters, {}); }); it('constructor check', () => { diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/InspectMethodTest.js similarity index 69% rename from packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js rename to packages/web3-core-method/tests/src/methods/txpool/InspectMethodTest.js index 90eb5723200..3405aee0bb6 100644 --- a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolInspectMethodTest.js +++ b/packages/web3-core-method/tests/src/methods/txpool/InspectMethodTest.js @@ -1,18 +1,18 @@ import {formatters} from 'web3-core-helpers'; import AbstractMethod from '../../../../lib/methods/AbstractMethod'; -import GetTxpoolInspectMethod from '../../../../src/methods/txpool/GetTxpoolInspectMethod'; +import InspectMethod from '../../../../src/methods/txpool/InspectMethod'; // Mocks jest.mock('web3-core-helpers'); /** - * GetTxpoolInspectMethod test + * InspectMethod test */ -describe('GetTxpoolInspectMethodTest', () => { +describe('InspectMethodTest', () => { let method; beforeEach(() => { - method = new GetTxpoolInspectMethod(null, formatters, {}); + method = new InspectMethod(null, formatters, {}); }); it('constructor check', () => { diff --git a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js b/packages/web3-core-method/tests/src/methods/txpool/StatusMethodTest.js similarity index 69% rename from packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js rename to packages/web3-core-method/tests/src/methods/txpool/StatusMethodTest.js index 7f190090501..a14f84dfef0 100644 --- a/packages/web3-core-method/tests/src/methods/txpool/GetTxpoolStatusMethodTest.js +++ b/packages/web3-core-method/tests/src/methods/txpool/StatusMethodTest.js @@ -1,18 +1,18 @@ import {formatters} from 'web3-core-helpers'; import AbstractMethod from '../../../../lib/methods/AbstractMethod'; -import GetTxpoolStatusMethod from '../../../../src/methods/txpool/GetTxpoolStatusMethod'; +import StatusMethod from '../../../../src/methods/txpool/StatusMethod'; // Mocks jest.mock('web3-core-helpers'); /** - * GetTxpoolStatusMethod test + * StatusMethod test */ -describe('GetTxpoolStatusMethodTest', () => { +describe('StatusMethodTest', () => { let method; beforeEach(() => { - method = new GetTxpoolStatusMethod(null, formatters, {}); + method = new StatusMethod(null, formatters, {}); }); it('constructor check', () => { diff --git a/packages/web3-eth-txpool/src/factories/MethodFactory.js b/packages/web3-eth-txpool/src/factories/MethodFactory.js index ac3778b47e3..97d32422c88 100644 --- a/packages/web3-eth-txpool/src/factories/MethodFactory.js +++ b/packages/web3-eth-txpool/src/factories/MethodFactory.js @@ -20,12 +20,7 @@ * @date 2019 */ -import { - AbstractMethodFactory, - GetTxpoolContentMethod, - GetTxpoolInspectMethod, - GetTxpoolStatusMethod -} from 'web3-core-method'; +import {AbstractMethodFactory, ContentMethod, InspectMethod, StatusMethod} from 'web3-core-method'; export default class MethodFactory extends AbstractMethodFactory { /** @@ -38,9 +33,9 @@ export default class MethodFactory extends AbstractMethodFactory { super(utils, formatters); this.methods = { - getContent: GetTxpoolContentMethod, - getInspect: GetTxpoolInspectMethod, - getStatus: GetTxpoolStatusMethod + getContent: ContentMethod, + getInspect: InspectMethod, + getStatus: StatusMethod }; } } diff --git a/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js b/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js index b631fa68449..f9ca85a7c22 100644 --- a/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js +++ b/packages/web3-eth-txpool/tests/src/factories/MethodFactoryTest.js @@ -1,6 +1,6 @@ import * as Utils from 'web3-utils'; import {formatters} from 'web3-core-helpers'; -import {GetTxpoolContentMethod, GetTxpoolInspectMethod, GetTxpoolStatusMethod} from 'web3-core-method'; +import {ContentMethod, InspectMethod, StatusMethod} from 'web3-core-method'; import MethodFactory from '../../../src/factories/MethodFactory'; @@ -26,9 +26,9 @@ describe('MethodFactoryTest', () => { it('JSON-RPC methods check', () => { expect(methodFactory.methods).toEqual({ - getContent: GetTxpoolContentMethod, - getInspect: GetTxpoolInspectMethod, - getStatus: GetTxpoolStatusMethod + getContent: ContentMethod, + getInspect: InspectMethod, + getStatus: StatusMethod }); }); }); From 1dbeaaa80c588ed14be6c4b23e9ed687bc6ac16a Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Mon, 8 Apr 2019 17:55:31 +0530 Subject: [PATCH 09/19] Renaming in Index --- packages/web3-core-method/src/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/web3-core-method/src/index.js b/packages/web3-core-method/src/index.js index be09394f514..5664aee09ba 100644 --- a/packages/web3-core-method/src/index.js +++ b/packages/web3-core-method/src/index.js @@ -119,6 +119,6 @@ export SetMinPoWMethod from './methods/shh/SetMinPoWMethod'; export ShhVersionMethod from './methods/shh/ShhVersionMethod'; // Txpool -export GetTxpoolContentMethod from './methods/txpool/GetTxpoolContentMethod'; -export GetTxpoolInspectMethod from './methods/txpool/GetTxpoolInspectMethod'; -export GetTxpoolStatusMethod from './methods/txpool/GetTxpoolStatusMethod'; +export ContentMethod from './methods/txpool/ContentMethod'; +export InspectMethod from './methods/txpool/InspectMethod'; +export StatusMethod from './methods/txpool/StatusMethod'; From dae448a4fd297148f668a1b63e8c093777d8d73d Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Tue, 9 Apr 2019 14:47:05 +0530 Subject: [PATCH 10/19] rquested changes --- docs/web3-eth-txpool.rst | 25 ++++++++++++++++--- packages/web3-core/types/index.d.ts | 7 ++++++ packages/web3-eth-txpool/types/index.d.ts | 20 +++------------ .../types/tests/txpool-tests.ts | 16 +++++++++--- packages/web3-eth/types/index.d.ts | 15 +++++++++-- packages/web3-eth/types/tests/eth.tests.ts | 20 ++++++++++++++- 6 files changed, 78 insertions(+), 25 deletions(-) diff --git a/docs/web3-eth-txpool.rst b/docs/web3-eth-txpool.rst index 3a290093251..7ee597cf478 100644 --- a/docs/web3-eth-txpool.rst +++ b/docs/web3-eth-txpool.rst @@ -56,7 +56,22 @@ Parameters Returns ------- -``Object`` - The list of pending as well as queued transactions. +``Promise`` - The list of pending as well as queued transactions. + + - ``pending`` - ``string{}``: List of pending transactions with transaction details. + - ``queued`` - ``string{}``: List of queued transactions with transaction details. + + - ``hash`` 32 Bytes - ``String``: Hash of the transaction. + - ``nonce`` - ``Number``: The number of transactions made by the sender prior to this one. + - ``blockHash`` 32 Bytes - ``String``: Hash of the block where this transaction was in. ``null`` when its pending. + - ``blockNumber`` - ``Number``: Block number where this transaction was in. ``null`` when its pending. + - ``transactionIndex`` - ``Number``: Integer of the transactions index position in the block. ``null`` when its pending. + - ``from`` - ``String``: Address of the sender. + - ``to`` - ``String``: Address of the receiver. ``null`` when its a contract creation transaction. + - ``value`` - ``String``: Value transferred in :ref:`wei `. + - ``gasPrice`` - ``String``: The wei per unit of gas provided by the sender in :ref:`wei `. + - ``gas`` - ``Number``: Gas provided by the sender. + - ``input`` - ``String``: The data sent along with the transaction. ------- Example @@ -158,8 +173,10 @@ Returns ------- -``Object`` - The List of pending and queued transactions summary. +``Promise`` - The List of pending and queued transactions summary. + - ``pending`` - ``string{}``: List of pending transactions with transaction details. + - ``queued`` - ``string{}``: List of queued transactions with transaction details. ------- Example @@ -246,8 +263,10 @@ Returns ------- -``Object`` - A list of number of pending and queued transactions. +``Promise`` - A list of number of pending and queued transactions. + - ``pending`` - ``number``: Number of pending transactions. + - ``queued`` - ``number``: Number of queued transactions. ------- Example diff --git a/packages/web3-core/types/index.d.ts b/packages/web3-core/types/index.d.ts index dc04807a06d..eb01e101ba2 100644 --- a/packages/web3-core/types/index.d.ts +++ b/packages/web3-core/types/index.d.ts @@ -197,3 +197,10 @@ export interface Log { blockHash: string; blockNumber: number; } + +export interface Content { + pending: any; + queued: any; +} + +export type Hex = string | number; diff --git a/packages/web3-eth-txpool/types/index.d.ts b/packages/web3-eth-txpool/types/index.d.ts index ceb892648b8..14d3e366819 100644 --- a/packages/web3-eth-txpool/types/index.d.ts +++ b/packages/web3-eth-txpool/types/index.d.ts @@ -19,27 +19,15 @@ import {Accounts} from 'web3-eth-accounts'; import {provider} from 'web3-providers'; -import {AbstractWeb3Module, Web3ModuleOptions} from 'web3-core'; +import {AbstractWeb3Module, Web3ModuleOptions, Content} from 'web3-core'; import * as net from 'net'; export class Txpool extends AbstractWeb3Module { constructor(provider: provider, net?: net.Socket|null, options?: Web3ModuleOptions, accounts?: Accounts|null); - content(): Content; + content(callback?: (error: Error, result: Content) => void): Promise; - inspect(): Content; + inspect(callback?: (error: Error, result: Content) => void): Promise; - status(): Status; + status(callback?: (error: Error, result: Content) => void): Promise; } - -export interface Content { - pending: {}; - queued: {}; -} - -export interface Status { - pending: Hex; - queued: Hex; -} - -export type Hex = string | number; diff --git a/packages/web3-eth-txpool/types/tests/txpool-tests.ts b/packages/web3-eth-txpool/types/tests/txpool-tests.ts index 79b6c15cede..6c4a3f5111f 100644 --- a/packages/web3-eth-txpool/types/tests/txpool-tests.ts +++ b/packages/web3-eth-txpool/types/tests/txpool-tests.ts @@ -18,14 +18,24 @@ */ import {Txpool} from 'web3-eth-txpool'; +import {Content} from 'web3-core'; const txpool = new Txpool('http://localhost:8545'); -// $ExpectType Content +// $ExpectType Promise txpool.content(); -// $ExpectType Content +// $ExpectType Promise +txpool.content((error: Error, result: Content) => {}); + +// $ExpectType Promise txpool.inspect(); -// $ExpectType Status +// $ExpectType Promise +txpool.inspect((error: Error, result: Content) => {}); + +// $ExpectType Promise txpool.status(); + +// $ExpectType Promise +txpool.status((error: Error, result: Content) => {}); diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index 0b573d01181..7f33913e2fb 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -13,7 +13,9 @@ */ /** * @file index.d.ts - * @author Josh Stevens , Samuel Furter + * @author Josh Stevens + * @author Samuel Furter + * @author Prince Sinha * @date 2018 */ @@ -26,7 +28,8 @@ import { Transaction, TransactionConfig, TransactionReceipt, - Web3ModuleOptions + Web3ModuleOptions, + Content } from 'web3-core'; import {Contract, ContractOptions} from 'web3-eth-contract'; import {Iban} from 'web3-eth-iban'; @@ -36,6 +39,7 @@ import {Network} from 'web3-net'; import {Personal} from 'web3-eth-personal'; import {AbiItem} from 'web3-utils'; import {Ens} from 'web3-eth-ens'; +import {Txpool} from 'web3-eth-txpool' import * as net from 'net'; export class Eth extends AbstractWeb3Module { @@ -52,6 +56,7 @@ export class Eth extends AbstractWeb3Module { ens: Ens; abi: AbiCoder; net: Network; + txpool: Txpool; clearSubscriptions(): Promise; @@ -141,6 +146,12 @@ export class Eth extends AbstractWeb3Module { getWork(callback?: (error: Error, result: string[]) => void): Promise; submitWork(data: [string, string, string], callback?: (error: Error, result: boolean) => void): Promise; + + content(callback?: (error: Error, result: Content) => void): Promise; + + inspect(callback?: (error: Error, result: Content) => void): Promise; + + status(callback?: (error: Error, result: Content) => void): Promise; } export interface Methods { diff --git a/packages/web3-eth/types/tests/eth.tests.ts b/packages/web3-eth/types/tests/eth.tests.ts index 330b3f432cf..3440457077b 100644 --- a/packages/web3-eth/types/tests/eth.tests.ts +++ b/packages/web3-eth/types/tests/eth.tests.ts @@ -17,7 +17,7 @@ * @date 2018 */ -import {Log, Transaction, TransactionReceipt, RLPEncodedTransaction} from 'web3-core'; +import {Log, Transaction, TransactionReceipt, RLPEncodedTransaction, Content} from 'web3-core'; import {Eth, BlockHeader, Syncing, Block} from 'web3-eth'; const eth = new Eth('http://localhost:8545'); @@ -451,3 +451,21 @@ eth.submitWork( ], (error: Error, result: boolean) => {} ); + +// $ExpectType Promise +eth.content(); + +// $ExpectType Promise +eth.content((error: Error, result: Content) => {}); + +// $ExpectType Promise +eth.inspect(); + +// $ExpectType Promise +eth.inspect((error: Error, result: Content) => {}); + +// $ExpectType Promise +eth.status(); + +// $ExpectType Promise +eth.status((error: Error, result: Content) => {}); From 6ca93dd6ea5d85e35f93fd51fe6083b0033fe6f3 Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Tue, 9 Apr 2019 16:22:04 +0530 Subject: [PATCH 11/19] updated package.json --- packages/web3-eth-txpool/types/index.d.ts | 6 +++--- packages/web3-eth/package.json | 1 + packages/web3-eth/types/index.d.ts | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/web3-eth-txpool/types/index.d.ts b/packages/web3-eth-txpool/types/index.d.ts index 14d3e366819..ddab2dd9dca 100644 --- a/packages/web3-eth-txpool/types/index.d.ts +++ b/packages/web3-eth-txpool/types/index.d.ts @@ -26,8 +26,8 @@ export class Txpool extends AbstractWeb3Module { constructor(provider: provider, net?: net.Socket|null, options?: Web3ModuleOptions, accounts?: Accounts|null); content(callback?: (error: Error, result: Content) => void): Promise; - - inspect(callback?: (error: Error, result: Content) => void): Promise; - + + inspect(callback?: (error: Error, result: Content) => void): Promise; + status(callback?: (error: Error, result: Content) => void): Promise; } diff --git a/packages/web3-eth/package.json b/packages/web3-eth/package.json index a413e3d47e9..9a93fe39288 100644 --- a/packages/web3-eth/package.json +++ b/packages/web3-eth/package.json @@ -29,6 +29,7 @@ "web3-eth-ens": "1.0.0-beta.52", "web3-eth-iban": "1.0.0-beta.52", "web3-eth-personal": "1.0.0-beta.52", + "web3-eth-txpool": "1.0.0-beta.52", "web3-net": "1.0.0-beta.52", "web3-providers": "1.0.0-beta.52", "web3-utils": "1.0.0-beta.52" diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index 08f68312394..028d828b888 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -150,9 +150,9 @@ export class Eth extends AbstractWeb3Module { pendingTransactions(callback?: (error: Error, result: []) => void): Promise<[]>; content(callback?: (error: Error, result: Content) => void): Promise; - - inspect(callback?: (error: Error, result: Content) => void): Promise; - + + inspect(callback?: (error: Error, result: Content) => void): Promise; + status(callback?: (error: Error, result: Content) => void): Promise; } From 0f2449223f88d37afe1f08a030e768bd210952c8 Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Tue, 9 Apr 2019 17:34:59 +0530 Subject: [PATCH 12/19] Removed whitespaces --- packages/web3-eth/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index 028d828b888..c66a87e3520 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -150,7 +150,7 @@ export class Eth extends AbstractWeb3Module { pendingTransactions(callback?: (error: Error, result: []) => void): Promise<[]>; content(callback?: (error: Error, result: Content) => void): Promise; - + inspect(callback?: (error: Error, result: Content) => void): Promise; status(callback?: (error: Error, result: Content) => void): Promise; From a1dd5c32b6c9d76e63bc59ba61a933f1d5739a3e Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Tue, 9 Apr 2019 17:35:49 +0530 Subject: [PATCH 13/19] Removed whitespaces --- packages/web3-eth/types/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index c66a87e3520..577ba397a54 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -150,7 +150,7 @@ export class Eth extends AbstractWeb3Module { pendingTransactions(callback?: (error: Error, result: []) => void): Promise<[]>; content(callback?: (error: Error, result: Content) => void): Promise; - + inspect(callback?: (error: Error, result: Content) => void): Promise; status(callback?: (error: Error, result: Content) => void): Promise; From bfb677803273c40cd8e56bdc3622edc80677aae3 Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Tue, 9 Apr 2019 18:41:10 +0530 Subject: [PATCH 14/19] Removed trailing whitspaces --- packages/web3-eth-txpool/types/index.d.ts | 4 ++-- packages/web3-eth/types/index.d.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/web3-eth-txpool/types/index.d.ts b/packages/web3-eth-txpool/types/index.d.ts index ddab2dd9dca..fa8da34c267 100644 --- a/packages/web3-eth-txpool/types/index.d.ts +++ b/packages/web3-eth-txpool/types/index.d.ts @@ -26,8 +26,8 @@ export class Txpool extends AbstractWeb3Module { constructor(provider: provider, net?: net.Socket|null, options?: Web3ModuleOptions, accounts?: Accounts|null); content(callback?: (error: Error, result: Content) => void): Promise; - + inspect(callback?: (error: Error, result: Content) => void): Promise; - + status(callback?: (error: Error, result: Content) => void): Promise; } diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index 577ba397a54..c66a87e3520 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -150,7 +150,7 @@ export class Eth extends AbstractWeb3Module { pendingTransactions(callback?: (error: Error, result: []) => void): Promise<[]>; content(callback?: (error: Error, result: Content) => void): Promise; - + inspect(callback?: (error: Error, result: Content) => void): Promise; status(callback?: (error: Error, result: Content) => void): Promise; From 450f4c73915cd59803bdd4194b6d939f38ce5a8c Mon Sep 17 00:00:00 2001 From: Prince Sinha Date: Fri, 12 Apr 2019 16:28:46 +0530 Subject: [PATCH 15/19] Removed web3-eth dependency --- packages/web3-eth/types/index.d.ts | 9 --------- packages/web3-eth/types/tests/eth.tests.ts | 18 ------------------ 2 files changed, 27 deletions(-) diff --git a/packages/web3-eth/types/index.d.ts b/packages/web3-eth/types/index.d.ts index c66a87e3520..c862414ff2b 100644 --- a/packages/web3-eth/types/index.d.ts +++ b/packages/web3-eth/types/index.d.ts @@ -29,7 +29,6 @@ import { TransactionConfig, TransactionReceipt, Web3ModuleOptions, - Content } from 'web3-core'; import {Contract, ContractOptions} from 'web3-eth-contract'; import {Iban} from 'web3-eth-iban'; @@ -39,7 +38,6 @@ import {Network} from 'web3-net'; import {Personal} from 'web3-eth-personal'; import {AbiItem} from 'web3-utils'; import {Ens} from 'web3-eth-ens'; -import {Txpool} from 'web3-eth-txpool' import * as net from 'net'; export class Eth extends AbstractWeb3Module { @@ -56,7 +54,6 @@ export class Eth extends AbstractWeb3Module { ens: Ens; abi: AbiCoder; net: Network; - txpool: Txpool; clearSubscriptions(): Promise; @@ -148,12 +145,6 @@ export class Eth extends AbstractWeb3Module { submitWork(data: [string, string, string], callback?: (error: Error, result: boolean) => void): Promise; pendingTransactions(callback?: (error: Error, result: []) => void): Promise<[]>; - - content(callback?: (error: Error, result: Content) => void): Promise; - - inspect(callback?: (error: Error, result: Content) => void): Promise; - - status(callback?: (error: Error, result: Content) => void): Promise; } export interface Methods { diff --git a/packages/web3-eth/types/tests/eth.tests.ts b/packages/web3-eth/types/tests/eth.tests.ts index cadc313257c..4eb4729883a 100644 --- a/packages/web3-eth/types/tests/eth.tests.ts +++ b/packages/web3-eth/types/tests/eth.tests.ts @@ -457,21 +457,3 @@ eth.pendingTransactions(); // $ExpectType Promise<[]> eth.pendingTransactions((error: Error, result: []) => {}); - -// $ExpectType Promise -eth.content(); - -// $ExpectType Promise -eth.content((error: Error, result: Content) => {}); - -// $ExpectType Promise -eth.inspect(); - -// $ExpectType Promise -eth.inspect((error: Error, result: Content) => {}); - -// $ExpectType Promise -eth.status(); - -// $ExpectType Promise -eth.status((error: Error, result: Content) => {}); From 5195d6eb705132425e563b68277bfd7eb115e518 Mon Sep 17 00:00:00 2001 From: princesinha19 Date: Fri, 12 Apr 2019 23:53:31 +0530 Subject: [PATCH 16/19] Removed web3-eth dependency --- packages/web3-eth/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/web3-eth/package.json b/packages/web3-eth/package.json index 9a93fe39288..a413e3d47e9 100644 --- a/packages/web3-eth/package.json +++ b/packages/web3-eth/package.json @@ -29,7 +29,6 @@ "web3-eth-ens": "1.0.0-beta.52", "web3-eth-iban": "1.0.0-beta.52", "web3-eth-personal": "1.0.0-beta.52", - "web3-eth-txpool": "1.0.0-beta.52", "web3-net": "1.0.0-beta.52", "web3-providers": "1.0.0-beta.52", "web3-utils": "1.0.0-beta.52" From 45639991a08a79d6b9fbd6cb8ef4ae3a12ee1561 Mon Sep 17 00:00:00 2001 From: princesinha19 Date: Mon, 15 Apr 2019 11:57:34 +0530 Subject: [PATCH 17/19] Name fix --- packages/web3-eth-txpool/rollup.config.js | 2 +- packages/web3-eth-txpool/src/Txpool.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web3-eth-txpool/rollup.config.js b/packages/web3-eth-txpool/rollup.config.js index e43c2245ba5..7a462ac9123 100644 --- a/packages/web3-eth-txpool/rollup.config.js +++ b/packages/web3-eth-txpool/rollup.config.js @@ -1,4 +1,4 @@ import pkg from './package.json'; import rollupConfig from '../../rollup.config'; -export default rollupConfig('Web3EthPersonal', pkg.name); +export default rollupConfig('Web3EthAdmin', pkg.name); diff --git a/packages/web3-eth-txpool/src/Txpool.js b/packages/web3-eth-txpool/src/Txpool.js index 349b5f1f87d..f949822bcd0 100644 --- a/packages/web3-eth-txpool/src/Txpool.js +++ b/packages/web3-eth-txpool/src/Txpool.js @@ -15,7 +15,7 @@ along with web3.js. If not, see . */ /** - * @file index.js + * @file Txpool.js * @author Prince Sinha * @date 2019 */ From e3032d1682fb1a1b682d041083c2ae27f570c7f2 Mon Sep 17 00:00:00 2001 From: princesinha19 Date: Mon, 15 Apr 2019 12:04:42 +0530 Subject: [PATCH 18/19] minor fix --- docs/web3-eth-txpool.rst | 4 ++-- packages/web3-eth/types/tests/eth.tests.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/web3-eth-txpool.rst b/docs/web3-eth-txpool.rst index 7ee597cf478..90a1806ce58 100644 --- a/docs/web3-eth-txpool.rst +++ b/docs/web3-eth-txpool.rst @@ -2,9 +2,9 @@ .. include:: include_announcement.rst -======== +=============== web3.eth.txpool -======== +=============== The ``web3-eth-txpool`` package gives you access to several non-standard RPC methods to inspect the contents of the transaction pool containing all the currently pending transactions as well as the ones queued for future processing. diff --git a/packages/web3-eth/types/tests/eth.tests.ts b/packages/web3-eth/types/tests/eth.tests.ts index 4eb4729883a..64cfa161517 100644 --- a/packages/web3-eth/types/tests/eth.tests.ts +++ b/packages/web3-eth/types/tests/eth.tests.ts @@ -17,7 +17,7 @@ * @date 2018 */ -import {Log, Transaction, TransactionReceipt, RLPEncodedTransaction, Content} from 'web3-core'; +import {Log, Transaction, TransactionReceipt, RLPEncodedTransaction} from 'web3-core'; import {Eth, BlockHeader, Syncing, Block} from 'web3-eth'; const eth = new Eth('http://localhost:8545'); From 32ab9de28318d319bd53c73d3740c748d181cde0 Mon Sep 17 00:00:00 2001 From: princesinha19 Date: Mon, 15 Apr 2019 14:05:34 +0530 Subject: [PATCH 19/19] Blankline fix --- packages/web3-core/types/index.d.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/web3-core/types/index.d.ts b/packages/web3-core/types/index.d.ts index 729131ec6fa..96475d274d5 100644 --- a/packages/web3-core/types/index.d.ts +++ b/packages/web3-core/types/index.d.ts @@ -199,7 +199,6 @@ export interface Log { blockNumber: number; } - export interface Content { pending: any; queued: any;