From ce11cdab0a407c96433768b3ff5f9dee130942ae Mon Sep 17 00:00:00 2001 From: Geoffrey Hayes Date: Tue, 21 Jan 2020 17:33:18 -0800 Subject: [PATCH] Upgrade to Newest Version of Saddle This patch upgrades to the newest version of saddle and fixes most of our docker items to be more resiliant to any number of changes. --- .dockerignore | 12 + .gitignore | 1 + Dockerfile | 4 +- docker-compose.yml | 18 +- package.json | 4 +- poster/.dockerignore | 2 + poster/Dockerfile | 2 +- saddle.config.js | 2 +- sdk/javascript/.dockerignore | 2 + sdk/javascript/Dockerfile | 2 +- tests/DelFiPriceTest.js | 8 +- tests/IntegrationTest.js | 2 +- tests/OpenOracleDataTest.js | 22 +- yarn.lock | 470 ++++++++++++++++++++++++++++++----- 14 files changed, 463 insertions(+), 88 deletions(-) create mode 100644 .dockerignore create mode 100644 poster/.dockerignore create mode 100644 sdk/javascript/.dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..ca2c418d --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +.build +.circleci +.dockerbuild +.github +node_modules +sdk/javascript/node_modules +sdk/javascript/.tsbuilt +poster/node_modules +poster/.tsbuilt +tests +yarn-error.log +junit.xml diff --git a/.gitignore b/.gitignore index 63010019..9daadeeb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.dockerbuild *node_modules* *.tsbuilt* *.DS_Store* diff --git a/Dockerfile b/Dockerfile index 603df5a1..c7321753 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,6 @@ -FROM ethereum/solc:0.5.12-alpine +FROM node:13.6.0-alpine3.10 WORKDIR /open-oracle +RUN wget https://github.com/ethereum/solidity/releases/download/v0.5.12/solc-static-linux -O /usr/local/bin/solc && chmod +x /usr/local/bin/solc RUN apk update && apk add --no-cache --virtual .gyp \ python \ make \ @@ -15,6 +16,7 @@ RUN yarn install ENV PROVIDER PROVIDER ADD contracts contracts +ADD saddle.config.js saddle.config.js RUN npx saddle compile ENTRYPOINT [] diff --git a/docker-compose.yml b/docker-compose.yml index 2844a84c..203f4fed 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,13 +9,17 @@ services: deployer: build: . command: "sh -c ' - npx saddle deploy OpenOraclePriceData; - npx saddle deploy DelFiPrice 0xe78A0F7E598Cc8b0Bb87894B0F60dD2a88d6a8Ab [0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1,0xffcf8fdee72ac11b5c542428b35eef5769c409f0] + apk add jq; + SADDLE_BUILD=/build npx saddle compile; + GAS=6721975 SADDLE_BUILD=/build npx saddle deploy OpenOraclePriceData; + GAS=6721975 SADDLE_BUILD=/build npx saddle deploy DelFiPrice $$(cat /build/development.json | jq -r .OpenOraclePriceData) 0x90f8bf6a479f320ead074411a4b0e7944ea8c9c1,0xffcf8fdee72ac11b5c542428b35eef5769c409f0 '" environment: - PROVIDER=http://ganache:8545 depends_on: - ganache + volumes: + - ./.dockerbuild:/build reporter-1: build: sdk/javascript @@ -35,13 +39,19 @@ services: poster: build: poster - command: npm run start -- + command: "sh -c ' + apk add jq; + while [ ! -f /build/development.json ]; do echo waiting for /build/development.json; sleep 1; done; + npm run start -- --poster_key 0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d --sources http://reporter-1:3000/prices.json,http://reporter-2:3000/prices.json - --view_address 0x5b1869d9a4c187f2eaa108f3062412ecf0526b24 + --view_address $$(cat /build/development.json | jq -r .DelFiPrice) --web3_provider http://ganache:8545 + '" depends_on: - deployer - reporter-1 - reporter-2 restart: "always" + volumes: + - ./.dockerbuild:/build diff --git a/package.json b/package.json index 61c555ab..727b4ef0 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "author": "Compound Labs, Inc.", "license": "MIT", "dependencies": { - "eth-saddle": "^0.0.29", + "eth-saddle": "0.1.6", "web3": "^1.2.4", "yargs": "^15.0.2" }, @@ -19,7 +19,7 @@ "jest-junit": "^10.0.0" }, "scripts": { - "test": "npx saddle compile && npx saddle test" + "test": "npx saddle test" }, "resolutions": { "scrypt.js": "https://registry.npmjs.org/@compound-finance/ethereumjs-wallet/-/ethereumjs-wallet-0.6.3.tgz" diff --git a/poster/.dockerignore b/poster/.dockerignore new file mode 100644 index 00000000..31b19ff5 --- /dev/null +++ b/poster/.dockerignore @@ -0,0 +1,2 @@ +node_modules +.tsbuilt diff --git a/poster/Dockerfile b/poster/Dockerfile index 2d8ebbcd..f2ce6a25 100644 --- a/poster/Dockerfile +++ b/poster/Dockerfile @@ -1,4 +1,4 @@ -FROM node:current-alpine +FROM node:13.6.0-alpine3.10 RUN apk update && apk add --no-cache --virtual .gyp \ python \ diff --git a/saddle.config.js b/saddle.config.js index fa6269f5..f1f64643 100644 --- a/saddle.config.js +++ b/saddle.config.js @@ -2,7 +2,7 @@ module.exports = { // solc: "solc", // Solc command to run // solc_args: [], // Extra solc args - // build_dir: ".build", // Directory to place built contracts + build_dir: process.env['SADDLE_BUILD'] || ".build", // Directory to place built contracts // contracts: "contracts/*.sol", // Glob to match contract files tests: ['**/tests/*Test.js'], // Glob to match test files networks: { // Define configuration for each network diff --git a/sdk/javascript/.dockerignore b/sdk/javascript/.dockerignore new file mode 100644 index 00000000..31b19ff5 --- /dev/null +++ b/sdk/javascript/.dockerignore @@ -0,0 +1,2 @@ +node_modules +.tsbuilt diff --git a/sdk/javascript/Dockerfile b/sdk/javascript/Dockerfile index c68788c3..ded295fd 100644 --- a/sdk/javascript/Dockerfile +++ b/sdk/javascript/Dockerfile @@ -1,4 +1,4 @@ -FROM node:current-alpine +FROM node:13.6.0-alpine3.10 WORKDIR /open-oracle-reporter ADD package.json /open-oracle-reporter/package.json diff --git a/tests/DelFiPriceTest.js b/tests/DelFiPriceTest.js index 642cbe1f..08c3d169 100644 --- a/tests/DelFiPriceTest.js +++ b/tests/DelFiPriceTest.js @@ -44,11 +44,11 @@ async function setup(N) { signatures.push(signature); } }); - return send(delfi.methods.postPrices(messages, signatures, symbols), {gas: 6000000}); + return send(delfi, 'postPrices', [messages, signatures, symbols], {gas: 6000000}); } async function getPrice(symbol) { - return call(delfi.methods.prices(symbol)) + return call(delfi, 'prices', [symbol]); } return {sources, nonSources, priceData, delfi, now, postPrices, getPrice}; @@ -59,7 +59,7 @@ describe('DelFiPrice', () => { const {nonSources, delfi, now, postPrices, getPrice} = await setup(5); // Reads a price of an asset that doesn't exist yet - expect(await call(delfi.methods.prices('ETH'))).numEquals(0); + expect(await call(delfi, 'prices', ['ETH'])).numEquals(0); /** Posts nothing **/ @@ -164,7 +164,7 @@ describe('DelFiPrice', () => { /** Does revert on invalid message **/ - await expect(send(delfi.methods.postPrices(['0xabc'], ['0x123'], []), {gas: 5000000})).rejects.toRevert(); + await expect(send(delfi, 'postPrices', [['0xabc'], ['0x123'], []], {gas: 5000000})).rejects.toRevert(); }, 30000); it.skip('quantifies the amount of gas used for a substantial set of updates', async () => { diff --git a/tests/IntegrationTest.js b/tests/IntegrationTest.js index ed4fc1ab..c7f9c77b 100644 --- a/tests/IntegrationTest.js +++ b/tests/IntegrationTest.js @@ -13,7 +13,7 @@ describe('Integration', () => { const web3 = new Web3('http://localhost:9999'); const accounts = await web3.eth.getAccounts(); - const delfi = await contract.getContractAt(web3, 'DelFiPrice', false, '0x5b1869D9A4C187F2EAa108f3062412ecf0526b24'); + const delfi = await contract.getContractAt(web3, 'DelFiPrice', '.dockerbuild', false, '0x5b1869D9A4C187F2EAa108f3062412ecf0526b24'); expect(await delfi.methods.prices('BTC').call({from: accounts[0]})).numEquals(0); expect(await delfi.methods.prices('ETH').call({from: accounts[0]})).numEquals('260000000'); diff --git a/tests/OpenOracleDataTest.js b/tests/OpenOracleDataTest.js index e253b3d1..07db7696 100644 --- a/tests/OpenOracleDataTest.js +++ b/tests/OpenOracleDataTest.js @@ -20,7 +20,7 @@ describe('OpenOracleData', () => { let { 0: timestamp, 1: value - } = await call(priceData.methods.get(address(0), 'ETH')); + } = await call(priceData, 'get', [address(0), 'ETH']); expect(timestamp).numEquals(0); expect(value).numEquals(0); @@ -38,19 +38,19 @@ describe('OpenOracleData', () => { for (let {message, signature, signatory} of signed) { // writes - const wrote1 = await send(priceData.methods.put(message, signature), {gas: 1000000}); + const wrote1 = await send(priceData, 'put', [message, signature], {gas: 1000000}); expect(wrote1.gasUsed).toBeLessThan(86000); // the source we recover in solidity should match - expect(await call(oracleData.methods.source(message, signature))).toEqual(signatory); - expect(await call(oracleData.methods.source(bytes('bad'), signature))).not.toEqual(signatory); - await expect(call(oracleData.methods.source(message, bytes('0xbad')))).rejects.toRevert(); + expect(await call(oracleData, 'source', [message, signature])).toEqual(signatory); + expect(await call(oracleData, 'source', [bytes('bad'), signature])).not.toEqual(signatory); + await expect(call(oracleData, 'source', [message, bytes('0xbad')])).rejects.toRevert(); // reads ({ 0: timestamp, 1: value - } = await call(priceData.methods.get(signatory, K))); + } = await call(priceData, 'get', [signatory, K])); expect(timestamp).numEquals(now); expect(value).numEquals(V * 1e6); } @@ -60,12 +60,12 @@ describe('OpenOracleData', () => { for (let {message, signature, signatory} of signed) { // write fails - await send(priceData.methods.put(message, signature), {gas: 1000000}); + await send(priceData, 'put', [message, signature], {gas: 1000000}); ({ 0: timestamp, 1: value - } = await call(priceData.methods.get(signatory, K))); + } = await call(priceData, 'get', [signatory, K])); expect(timestamp).numEquals(now); expect(value).numEquals(V * 1e6); } @@ -79,14 +79,14 @@ describe('OpenOracleData', () => { let i = 0; for (let {message, signature, signatory} of signed) { // writes - const wrote2a = await send(priceData.methods.put(message, signature), {gas: 1000000}); + const wrote2a = await send(priceData, 'put', [message, signature], {gas: 1000000}); expect(wrote2a.gasUsed).toBeLessThan(135000); if (i++ == 1) { ({ 0: timestamp, 1: value - } = await call(priceData.methods.get(signatory, 'BTC'))); + } = await call(priceData, 'get', [signatory, 'BTC'])); expect(timestamp).numEquals(now); expect(value).numEquals(9000e6); } @@ -99,7 +99,7 @@ describe('OpenOracleData', () => { ]), privateKey); for (let {message, signature, signatory} of signed) { - const wrote2b = await send(priceData.methods.put(message, signature), {gas: 1000000}); + const wrote2b = await send(priceData, 'put', [message, signature], {gas: 1000000}); expect(wrote2b.gasUsed).toBeLessThan(75000); } }, 30000); diff --git a/yarn.lock b/yarn.lock index f735df2b..aeeb8e0b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13,6 +13,17 @@ lodash "^4.17.11" valid-url "^1.0.9" +"@0x/assert@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@0x/assert/-/assert-3.0.3.tgz#18f92aa4e5d87824259b3ddd1cc1882b59f29e8e" + integrity sha512-Yvu701gtykj44ggWe66E2sje4v9odBrO9uAoPwEj3EfN7Kk/AXJEthyWSZVGXQvj7MaFlAElq1Uw8VfzF/gtqA== + dependencies: + "@0x/json-schemas" "^5.0.3" + "@0x/typescript-typings" "^5.0.1" + "@0x/utils" "^5.1.2" + lodash "^4.17.11" + valid-url "^1.0.9" + "@0x/dev-utils@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@0x/dev-utils/-/dev-utils-3.0.0.tgz#c14a7ac03c9ca03a3063b700c933df70628a5031" @@ -32,6 +43,25 @@ lodash "^4.17.11" web3-provider-engine "14.0.6" +"@0x/dev-utils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@0x/dev-utils/-/dev-utils-3.1.0.tgz#a343f36aa819b2e748fe9946645fd959ebff843c" + integrity sha512-Xy2ub6gxsIu5MsWdmFpxsMaIg5o33lRwzeZshdfPLqGKx6GVM2Kk4GTWUiBrukpoUA8LvyV5nW8vzOrZm0UJfA== + dependencies: + "@0x/subproviders" "^6.0.3" + "@0x/types" "^3.1.1" + "@0x/typescript-typings" "^5.0.1" + "@0x/utils" "^5.1.2" + "@0x/web3-wrapper" "^7.0.3" + "@types/web3-provider-engine" "^14.0.0" + chai "^4.0.1" + chai-as-promised "^7.1.0" + chai-bignumber "^3.0.0" + dirty-chai "^2.0.1" + ethereum-types "^3.0.0" + lodash "^4.17.11" + web3-provider-engine "14.0.6" + "@0x/json-schemas@^5.0.0": version "5.0.0" resolved "https://registry.yarnpkg.com/@0x/json-schemas/-/json-schemas-5.0.0.tgz#95c29fb7977adb19b9f0127122ec90efb38651ec" @@ -42,6 +72,16 @@ jsonschema "^1.2.0" lodash.values "^4.3.0" +"@0x/json-schemas@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@0x/json-schemas/-/json-schemas-5.0.3.tgz#8804d20eb13f2551146c399b83cb5e1597205bee" + integrity sha512-B8mAyEb2bPrWHdaIpQjODGRmiH+gCAxadppWibpa36fkHF+4c9FNJCFqRE98Eg5w/IYTOj7JkrsRnkA3Ux1ltQ== + dependencies: + "@0x/typescript-typings" "^5.0.1" + "@types/node" "*" + jsonschema "^1.2.0" + lodash.values "^4.3.0" + "@0x/sol-compiler@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@0x/sol-compiler/-/sol-compiler-4.0.0.tgz#387bd6933c340124d0d2e78d5aa4a134840e3630" @@ -69,6 +109,33 @@ web3-eth-abi "^1.0.0-beta.24" yargs "^10.0.3" +"@0x/sol-compiler@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@0x/sol-compiler/-/sol-compiler-4.0.3.tgz#8e44c352071d2fff5022807cffd011ff274a8857" + integrity sha512-Aj8PQz5yOqo57ciHeL3Da4v4Dkn+JB/t+gBaqIHkrk7IvJ/d/AjPB3LKpGmqRT/AHVljYt3XbWokKxI7gZYafQ== + dependencies: + "@0x/assert" "^3.0.3" + "@0x/json-schemas" "^5.0.3" + "@0x/sol-resolver" "^3.0.2" + "@0x/types" "^3.1.1" + "@0x/typescript-typings" "^5.0.1" + "@0x/utils" "^5.1.2" + "@0x/web3-wrapper" "^7.0.3" + "@types/yargs" "^11.0.0" + chalk "^2.3.0" + chokidar "^3.0.2" + ethereum-types "^3.0.0" + ethereumjs-util "^5.1.1" + lodash "^4.17.11" + mkdirp "^0.5.1" + pluralize "^7.0.0" + require-from-string "^2.0.1" + semver "5.5.0" + solc "^0.5.5" + source-map-support "^0.5.0" + web3-eth-abi "^1.0.0-beta.24" + yargs "^10.0.3" + "@0x/sol-resolver@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@0x/sol-resolver/-/sol-resolver-3.0.0.tgz#0b67ce0b39aa571d0ce24f3401f9315005dbe8ee" @@ -78,6 +145,42 @@ "@0x/typescript-typings" "^5.0.0" lodash "^4.17.11" +"@0x/sol-resolver@^3.0.2": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@0x/sol-resolver/-/sol-resolver-3.0.2.tgz#2f89df2f049d5ea8501ee1fc2a1d0866a0b3c761" + integrity sha512-+FseY6gmifzrrtnHt70hNezmCDavVd69MqT/r2uyxXtgz2F3oegkPBTBYo4/sxrdiSA+2tYFcqGHNiMDtx6ELA== + dependencies: + "@0x/types" "^3.1.1" + "@0x/typescript-typings" "^5.0.1" + lodash "^4.17.11" + +"@0x/sol-tracing-utils@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@0x/sol-tracing-utils/-/sol-tracing-utils-7.0.3.tgz#33de0c07466b1faed2e7b3c9ffdf7fe3fd24315a" + integrity sha512-7LLAb+7EYIuT92xb84Ta560vbSs7EnbomgWztDeKK9HvQ13rRo0XPeu+TlsTsVbgPxVDba1rw30Ax0r9vmLdJw== + dependencies: + "@0x/dev-utils" "^3.1.0" + "@0x/sol-compiler" "^4.0.3" + "@0x/sol-resolver" "^3.0.2" + "@0x/subproviders" "^6.0.3" + "@0x/typescript-typings" "^5.0.1" + "@0x/utils" "^5.1.2" + "@0x/web3-wrapper" "^7.0.3" + "@types/solidity-parser-antlr" "^0.2.3" + chalk "^2.3.0" + ethereum-types "^3.0.0" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + glob "^7.1.2" + istanbul "^0.4.5" + lodash "^4.17.11" + loglevel "^1.6.1" + mkdirp "^0.5.1" + rimraf "^2.6.2" + semaphore-async-await "^1.5.1" + solc "^0.5.5" + solidity-parser-antlr "^0.4.2" + "@0x/subproviders@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@0x/subproviders/-/subproviders-6.0.0.tgz#9d4b32e22c9e71f450b0f6d00978ca6b1129c0b3" @@ -106,6 +209,34 @@ optionalDependencies: "@ledgerhq/hw-transport-node-hid" "^4.3.0" +"@0x/subproviders@^6.0.3": + version "6.0.3" + resolved "https://registry.yarnpkg.com/@0x/subproviders/-/subproviders-6.0.3.tgz#5d88dc15efab2df6463de5e48706396645c2b5ed" + integrity sha512-sPw9I1rv/JMXxkf6c7xZVbwSMB0RizsuqG45NSHaIwPoWPh3/+IkmIgRv4M9nWignDu/q+F8v0D1ww3aIGMX0Q== + dependencies: + "@0x/assert" "^3.0.3" + "@0x/types" "^3.1.1" + "@0x/typescript-typings" "^5.0.1" + "@0x/utils" "^5.1.2" + "@0x/web3-wrapper" "^7.0.3" + "@ledgerhq/hw-app-eth" "^4.3.0" + "@ledgerhq/hw-transport-u2f" "4.24.0" + "@types/hdkey" "^0.7.0" + "@types/web3-provider-engine" "^14.0.0" + bip39 "^2.5.0" + bn.js "^4.11.8" + ethereum-types "^3.0.0" + ethereumjs-tx "^1.3.5" + ethereumjs-util "^5.1.1" + ganache-core "^2.6.0" + hdkey "^0.7.1" + json-rpc-error "2.0.0" + lodash "^4.17.11" + semaphore-async-await "^1.5.1" + web3-provider-engine "14.0.6" + optionalDependencies: + "@ledgerhq/hw-transport-node-hid" "^4.3.0" + "@0x/types@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@0x/types/-/types-3.0.0.tgz#3cc815094fb9b73d3bc6bbe29735af982a0f519c" @@ -115,6 +246,15 @@ bignumber.js "~9.0.0" ethereum-types "^3.0.0" +"@0x/types@^3.1.1": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@0x/types/-/types-3.1.1.tgz#b20ca76e9516201b9c27621f941696f41ffc9fac" + integrity sha512-+TQmzH+chWeDWpc+Lce3/q4X2UEHFfAwZcWrV7tEQ5EVAJvph7gpKawRW2XRsmHeQDSHBmiiBdSZ8Rc/OAjvlQ== + dependencies: + "@types/node" "*" + bignumber.js "~9.0.0" + ethereum-types "^3.0.0" + "@0x/typescript-typings@^5.0.0": version "5.0.0" resolved "https://registry.yarnpkg.com/@0x/typescript-typings/-/typescript-typings-5.0.0.tgz#54bb89fe78216cd9a1a737dead329ad1cb05bd94" @@ -126,6 +266,17 @@ ethereum-types "^3.0.0" popper.js "1.14.3" +"@0x/typescript-typings@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@0x/typescript-typings/-/typescript-typings-5.0.1.tgz#031e291cc506ecd26d3fe10adf618f4f51ff1510" + integrity sha512-zSA39URHkFnL16WD30VMa8wL8va0Khpx9APHffdPWpBOr9SUPdADtae5HO4iNCYvSgo3mrtPlKID2nIqREIHOQ== + dependencies: + "@types/bn.js" "^4.11.0" + "@types/react" "*" + bignumber.js "~9.0.0" + ethereum-types "^3.0.0" + popper.js "1.14.3" + "@0x/utils@^5.0.0": version "5.0.0" resolved "https://registry.yarnpkg.com/@0x/utils/-/utils-5.0.0.tgz#4b0acff872c9b158c9293849f8bd2bb62f17b8c5" @@ -145,6 +296,25 @@ js-sha3 "^0.7.0" lodash "^4.17.11" +"@0x/utils@^5.1.2": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@0x/utils/-/utils-5.1.2.tgz#defc545a42343729c9bf7252f0b7413d7ba47694" + integrity sha512-p5BZxs3krXwkjBY8hrmGLkLp4BziVQ6z4tRFIcWSR8C4ptAlZ4QfFL1zqK6O6/rbOsGj+JSIpqRRrxJr2Is6LQ== + dependencies: + "@0x/types" "^3.1.1" + "@0x/typescript-typings" "^5.0.1" + "@types/node" "*" + abortcontroller-polyfill "^1.1.9" + bignumber.js "~9.0.0" + chalk "^2.3.0" + detect-node "2.0.3" + ethereum-types "^3.0.0" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + isomorphic-fetch "2.2.1" + js-sha3 "^0.7.0" + lodash "^4.17.11" + "@0x/web3-wrapper@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@0x/web3-wrapper/-/web3-wrapper-7.0.0.tgz#323e7931f067f7f9ed88cca30bd1ed1f7505fc48" @@ -159,6 +329,20 @@ ethers "~4.0.4" lodash "^4.17.11" +"@0x/web3-wrapper@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@0x/web3-wrapper/-/web3-wrapper-7.0.3.tgz#b6015a820909b36e00115047ca1c0c693d56fff8" + integrity sha512-ocUhIz04KORg1Hu3j+w/pKgJ3VF6WiFhwN0VbZkMBggK2eIAYsb3VncLY5hl9g63bTxSk0l3GI5WFgGuxMMn6Q== + dependencies: + "@0x/assert" "^3.0.3" + "@0x/json-schemas" "^5.0.3" + "@0x/typescript-typings" "^5.0.1" + "@0x/utils" "^5.1.2" + ethereum-types "^3.0.0" + ethereumjs-util "^5.1.1" + ethers "~4.0.4" + lodash "^4.17.11" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": version "7.5.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" @@ -675,6 +859,13 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/jest@^24.0.15": + version "24.9.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.0.tgz#78c6991cd1734cf0d390be24875e310bb0a9fb74" + integrity sha512-dXvuABY9nM1xgsXlOtLQXJKdacxZJd7AtvLsKZ/0b57ruMXDKCOXAC/M75GbllQX6o1pcZ5hAG4JzYy7Z/wM2w== + dependencies: + jest-diff "^24.3.0" + "@types/minimatch@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -924,7 +1115,7 @@ ansi-wrap@0.1.0, ansi-wrap@^0.1.0: resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= -any-promise@1.3.0, any-promise@^1.3.0: +any-promise@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= @@ -1805,7 +1996,7 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== -bindings@^1.2.1, bindings@^1.3.1, bindings@^1.4.0, bindings@^1.5.0: +bindings@^1.2.1, bindings@^1.4.0, bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -2003,6 +2194,13 @@ browserslist@^3.2.6: caniuse-lite "^1.0.30000844" electron-to-chromium "^1.3.47" +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + bs58@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" @@ -2064,7 +2262,7 @@ buffer-fill@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= -buffer-from@^1.0.0: +buffer-from@1.x, buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== @@ -2530,6 +2728,11 @@ copy-props@^2.0.1: each-props "^1.3.0" is-plain-object "^2.0.1" +core-js-pure@^3.0.1: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" + integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== + core-js@^2.4.0, core-js@^2.5.0: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" @@ -3346,14 +3549,23 @@ eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: json-rpc-random-id "^1.0.0" xtend "^4.0.1" -eth-saddle@^0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/eth-saddle/-/eth-saddle-0.0.29.tgz#2e2a3137b98f2170ccd7d6187816b3d41493761b" - integrity sha512-UwQCUBH6InddeXAEBv/LvTnarT19UbvGWjVoir5EJZ1YNksWBKY4CpFDVfomYy+FYih2Q2uXwmVzqbbIVHYD3g== +eth-saddle@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/eth-saddle/-/eth-saddle-0.1.6.tgz#37f12fce3dc553aa69585b905677d280b872e1b3" + integrity sha512-wJ1D9YT3VH6Q5+Oyq0vDsJYjb12q6cmMdHT1Iu3hh1a91jm+r0x0ornhda8jVlg8TPmsijl3SnOMOiSLNtdlSg== dependencies: + "@0x/sol-tracing-utils" "^7.0.3" "@0x/subproviders" "^6.0.0" "@compound-finance/sol-coverage" "^4.0.0-r1" - truffle-hdwallet-provider "^1.0.10" + "@types/jest" "^24.0.15" + ethereumjs-tx "2.1.2" + ethereumjs-util "5.2.0" + ganache-core "^2.9.1" + jest "^24.9.0" + jest-cli "^24.9.0" + jest-junit "^6.4.0" + ts-jest "^24.0.2" + typescript "^3.5.1" web3 "^1.2.4" web3-provider-engine "^15.0.4" yargs "^13.2.4" @@ -3452,7 +3664,7 @@ ethereumjs-abi@0.6.7: bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-account@3.0.0: +ethereumjs-account@3.0.0, ethereumjs-account@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ethereumjs-account/-/ethereumjs-account-3.0.0.tgz#728f060c8e0c6e87f1e987f751d3da25422570a9" integrity sha512-WP6BdscjiiPkQfF9PVfMcwx/rDvfZTjFKY0Uwc09zSQr9JfIVH87dYIJu0gNhBhpmovV4yq295fdllS925fnBA== @@ -3481,6 +3693,17 @@ ethereumjs-block@2.2.0: ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" +ethereumjs-block@2.2.1, ethereumjs-block@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.1.tgz#5fba423305b40ab6486a6b81922e5312b2667c8d" + integrity sha512-ze8I1844m5oKZL7hiHuezRcPzqdi4Iv0ssqQyuRaJ9Je0/YCYfXobJHvNLnex2ETgs5JypicdtLYrCNWdgcLvg== + dependencies: + async "^2.0.1" + ethereumjs-common "^1.1.0" + ethereumjs-tx "^2.1.1" + ethereumjs-util "^5.0.0" + merkle-patricia-tree "^2.1.2" + ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: version "1.7.1" resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-1.7.1.tgz#78b88e6cc56de29a6b4884ee75379b6860333c3f" @@ -3492,13 +3715,13 @@ ethereumjs-block@^1.2.2, ethereumjs-block@^1.4.1, ethereumjs-block@^1.6.0: ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" -ethereumjs-block@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.1.tgz#5fba423305b40ab6486a6b81922e5312b2667c8d" - integrity sha512-ze8I1844m5oKZL7hiHuezRcPzqdi4Iv0ssqQyuRaJ9Je0/YCYfXobJHvNLnex2ETgs5JypicdtLYrCNWdgcLvg== +ethereumjs-block@^2.2.1, ethereumjs-block@~2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ethereumjs-block/-/ethereumjs-block-2.2.2.tgz#c7654be7e22df489fda206139ecd63e2e9c04965" + integrity sha512-2p49ifhek3h2zeg/+da6XpdFR3GlqY3BIEiqxGF8j9aSRIgkb7M1Ky+yULBKJOu8PAZxfhsYA+HxUk2aCQp3vg== dependencies: async "^2.0.1" - ethereumjs-common "^1.1.0" + ethereumjs-common "^1.5.0" ethereumjs-tx "^2.1.1" ethereumjs-util "^5.0.0" merkle-patricia-tree "^2.1.2" @@ -3519,11 +3742,32 @@ ethereumjs-blockchain@^3.4.0: safe-buffer "^5.1.2" semaphore "^1.1.0" -ethereumjs-common@^1.1.0, ethereumjs-common@^1.3.1, ethereumjs-common@^1.3.2: +ethereumjs-blockchain@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/ethereumjs-blockchain/-/ethereumjs-blockchain-4.0.3.tgz#e013034633a30ad2006728e8e2b21956b267b773" + integrity sha512-0nJWbyA+Gu0ZKZr/cywMtB/77aS/4lOVsIKbgUN2sFQYscXO5rPbUfrEe7G2Zhjp86/a0VqLllemDSTHvx3vZA== + dependencies: + async "^2.6.1" + ethashjs "~0.0.7" + ethereumjs-block "~2.2.2" + ethereumjs-common "^1.5.0" + ethereumjs-util "~6.1.0" + flow-stoplight "^1.0.0" + level-mem "^3.0.1" + lru-cache "^5.1.1" + rlp "^2.2.2" + semaphore "^1.1.0" + +ethereumjs-common@1.4.0, ethereumjs-common@^1.1.0, ethereumjs-common@^1.3.1, ethereumjs-common@^1.3.2: version "1.4.0" resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.4.0.tgz#a940685f88f3c2587e4061630fe720b089c965b8" integrity sha512-ser2SAplX/YI5W2AnzU8wmSjKRy4KQd4uxInJ36BzjS3m18E/B9QedPUIresZN1CSEQb/RgNQ2gN7C/XbpTafA== +ethereumjs-common@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/ethereumjs-common/-/ethereumjs-common-1.5.0.tgz#d3e82fc7c47c0cef95047f431a99485abc9bb1cd" + integrity sha512-SZOjgK1356hIY7MRj3/ma5qtfr/4B5BL+G4rP/XSMYr2z1H5el4RX5GReYCKmQmYI/nSBmRnwrZ17IfHuG0viQ== + ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^1.2.2, ethereumjs-tx@^1.3.3, ethereumjs-tx@^1.3.5, ethereumjs-tx@^1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" @@ -3532,7 +3776,7 @@ ethereumjs-tx@1.3.7, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.2.0, ethereumjs-tx@^ ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" -ethereumjs-tx@^2.1.1: +ethereumjs-tx@2.1.1, ethereumjs-tx@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.1.tgz#7d204e2b319156c9bc6cec67e9529424a26e8ccc" integrity sha512-QtVriNqowCFA19X9BCRPMgdVNJ0/gMBS91TQb1DfrhsbR748g4STwxZptFAwfqehMyrF8rDwB23w87PQwru0wA== @@ -3540,7 +3784,28 @@ ethereumjs-tx@^2.1.1: ethereumjs-common "^1.3.1" ethereumjs-util "^6.0.0" -ethereumjs-util@6.1.0: +ethereumjs-tx@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-2.1.2.tgz#5dfe7688bf177b45c9a23f86cf9104d47ea35fed" + integrity sha512-zZEK1onCeiORb0wyCXUvg94Ve5It/K6GD1K+26KfFKodiBiS6d9lfCXlUKGBBdQ+bv7Day+JK0tj1K+BeNFRAw== + dependencies: + ethereumjs-common "^1.5.0" + ethereumjs-util "^6.0.0" + +ethereumjs-util@5.2.0, ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" + integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== + dependencies: + bn.js "^4.11.0" + create-hash "^1.1.2" + ethjs-util "^0.1.3" + keccak "^1.0.2" + rlp "^2.0.0" + safe-buffer "^5.1.1" + secp256k1 "^3.0.1" + +ethereumjs-util@6.1.0, ethereumjs-util@~6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== @@ -3564,19 +3829,6 @@ ethereumjs-util@^4.0.1, ethereumjs-util@^4.3.0: rlp "^2.0.0" secp256k1 "^3.0.1" -ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2, ethereumjs-util@^5.1.3, ethereumjs-util@^5.1.5: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" - integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - ethjs-util "^0.1.3" - keccak "^1.0.2" - rlp "^2.0.0" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - ethereumjs-util@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.0.tgz#23ec79b2488a7d041242f01e25f24e5ad0357960" @@ -3621,6 +3873,27 @@ ethereumjs-vm@3.0.0: rustbn.js "~0.2.0" safe-buffer "^5.1.1" +ethereumjs-vm@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-4.1.1.tgz#ba6f565fd7788a0e7db494fa2096d45f9ea0802b" + integrity sha512-Bh2avDY9Hyon9TvJ/fmkdyd5JDnmTudLJ5oKhmTfXn0Jjq7UzP4YRNp7e5PWoWXSmdXAGXU9W0DXK5TV9Qy/NQ== + dependencies: + async "^2.1.2" + async-eventemitter "^0.2.2" + core-js-pure "^3.0.1" + ethereumjs-account "^3.0.0" + ethereumjs-block "^2.2.1" + ethereumjs-blockchain "^4.0.2" + ethereumjs-common "^1.3.2" + ethereumjs-tx "^2.1.1" + ethereumjs-util "~6.1.0" + fake-merkle-patricia-tree "^1.0.1" + functional-red-black-tree "^1.0.1" + merkle-patricia-tree "^2.3.2" + rustbn.js "~0.2.0" + safe-buffer "^5.1.1" + util.promisify "^1.0.0" + ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" @@ -3900,6 +4173,11 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-json-stable-stringify@2.x: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -4216,6 +4494,40 @@ ganache-core@^2.5.6, ganache-core@^2.6.0: ethereumjs-wallet "0.6.3" web3 "1.2.1" +ganache-core@^2.9.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.9.2.tgz#1c7516f785669f35edac9ffaa40c3ece2749bf50" + integrity sha512-+BHzLDpickuq/f147ryoHClzSG7P9DfiOfwntEHbXFbfsLvmGCbE3TiKwwWkcVoiBdkN8ybyElWE0QoYe3/LOA== + dependencies: + abstract-leveldown "3.0.0" + async "2.6.2" + bip39 "2.5.0" + cachedown "1.0.0" + clone "2.1.2" + debug "3.2.6" + encoding-down "5.0.4" + eth-sig-util "2.3.0" + ethereumjs-abi "0.6.7" + ethereumjs-account "3.0.0" + ethereumjs-block "2.2.1" + ethereumjs-common "1.4.0" + ethereumjs-tx "2.1.1" + ethereumjs-util "6.1.0" + ethereumjs-vm "4.1.1" + heap "0.2.6" + level-sublevel "6.6.4" + levelup "3.1.1" + lodash "4.17.14" + merkle-patricia-tree "2.3.2" + seedrandom "3.0.1" + source-map-support "0.5.12" + tmp "0.1.0" + web3-provider-engine "14.2.1" + websocket "1.0.29" + optionalDependencies: + ethereumjs-wallet "0.6.3" + web3 "1.2.4" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -5247,7 +5559,7 @@ jest-config@^24.9.0: pretty-format "^24.9.0" realpath-native "^1.1.0" -jest-diff@^24.9.0: +jest-diff@^24.3.0, jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -5355,6 +5667,16 @@ jest-junit@^10.0.0: uuid "^3.3.3" xml "^1.0.1" +jest-junit@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-6.4.0.tgz#23e15c979fa6338afde46f2d2ac2a6b7e8cf0d9e" + integrity sha512-GXEZA5WBeUich94BARoEUccJumhCgCerg7mXDFLxWwI2P7wL3Z7sGWk+53x343YdBLjiMR9aD/gYMVKO+0pE4Q== + dependencies: + jest-validate "^24.0.0" + mkdirp "^0.5.1" + strip-ansi "^4.0.0" + xml "^1.0.1" + jest-leak-detector@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" @@ -5520,7 +5842,7 @@ jest-util@^24.9.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^24.9.0: +jest-validate@^24.0.0, jest-validate@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== @@ -5722,18 +6044,18 @@ json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= -json5@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^2.1.0: +json5@2.x, json5@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== dependencies: minimist "^1.2.0" +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -6083,6 +6405,11 @@ lodash.flatmap@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" integrity sha1-74y/QI9uSCaGYzRTBcaswLd4cC4= +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -6182,6 +6509,11 @@ make-dir@^2.1.0: pify "^4.0.1" semver "^5.6.0" +make-error@1.x: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + make-iterator@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" @@ -6425,7 +6757,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@*, mkdirp@0.5.x, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -7772,6 +8104,13 @@ resolve@1.1.7, resolve@1.1.x: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= +resolve@1.x: + version "1.14.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.14.2.tgz#dbf31d0fa98b1f29aa5169783b9c290cb865fea2" + integrity sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ== + dependencies: + path-parse "^1.0.6" + resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: version "1.13.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.13.1.tgz#be0aa4c06acd53083505abb35f4d66932ab35d16" @@ -7820,7 +8159,7 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.3: +rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.2, rlp@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.4.tgz#d6b0e1659e9285fc509a5d169a9bd06f704951c1" integrity sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw== @@ -7964,7 +8303,7 @@ semver-greatest-satisfied-range@^1.1.0: dependencies: sver-compat "^1.5.0" -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -8792,15 +9131,21 @@ trim-right@^1.0.1: resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= -truffle-hdwallet-provider@^1.0.10: - version "1.0.17" - resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.17.tgz#fe8edd0d6974eeb31af9959e41525fb19abd74ca" - integrity sha512-s6DvSP83jiIAc6TUcpr7Uqnja1+sLGJ8og3X7n41vfyC4OCaKmBtXL5HOHf+SsU3iblOvnbFDgmN6Y1VBL/fsg== - dependencies: - any-promise "^1.3.0" - bindings "^1.3.1" - web3 "1.2.1" - websocket "^1.0.28" +ts-jest@^24.0.2: + version "24.3.0" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.3.0.tgz#b97814e3eab359ea840a1ac112deae68aa440869" + integrity sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + mkdirp "0.x" + resolve "1.x" + semver "^5.5" + yargs-parser "10.x" tslib@^1.9.0: version "1.10.0" @@ -8871,6 +9216,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@^3.5.1: + version "3.7.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" + integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw== + typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195" @@ -9715,7 +10065,7 @@ web3@1.2.1: web3-shh "1.2.1" web3-utils "1.2.1" -web3@^1.2.4: +web3@1.2.4, web3@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.4.tgz#6e7ab799eefc9b4648c2dab63003f704a1d5e7d9" integrity sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A== @@ -9745,17 +10095,6 @@ websocket@1.0.29: typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" -websocket@^1.0.28: - version "1.0.31" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.31.tgz#e5d0f16c3340ed87670e489ecae6144c79358730" - integrity sha512-VAouplvGKPiKFDTeCCO65vYHsyay8DqoBSlzIO3fayrfOgU94lQN5a1uWVnFrMLceTJw/+fQXR5PGbUVRaHshQ== - dependencies: - debug "^2.2.0" - es5-ext "^0.10.50" - nan "^2.14.0" - typedarray-to-buffer "^3.1.5" - yaeti "^0.0.6" - "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": version "1.0.29" resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/905deb4812572b344f5801f8c9ce8bb02799d82e" @@ -9995,6 +10334,13 @@ yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yargs-parser@10.x: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0"