From 8bc4dab92072f01cc0bcf271f158deb70bdb8b8f Mon Sep 17 00:00:00 2001 From: Alex Coseru Date: Wed, 22 Nov 2023 09:09:40 +0200 Subject: [PATCH] Feature/add_optimism & use graph-node 0.33.0 (#742) * bump contracts * remove ss contracts * add optimism * fix * use upcoming barge * move deactivateMint and delete sell test * add withMint=True and delete sell test * fix lint * more fixes * more fixes --- .github/workflows/tests.yml | 4 +- package-lock.json | 651 ++++++++------------- package.json | 4 +- schema.graphql | 1 - src/mappings/factoryRouter.ts | 28 - src/mappings/utils/fixedRateUtils.ts | 5 + subgraph.template.yaml | 4 - test/integration/FixedRateExchange.test.ts | 283 ++++----- test/integration/users.test.ts | 25 +- 9 files changed, 370 insertions(+), 635 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ebe48cc9..e023f74f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -37,7 +37,7 @@ jobs: with: repository: 'oceanprotocol/barge' path: 'barge' - ref: main + ref: feature/bump_contracts_and_subgraph - name: Login to Docker Hub if: ${{ env.DOCKERHUB_PASSWORD && env.DOCKERHUB_USERNAME }} @@ -51,8 +51,6 @@ jobs: working-directory: ${{ github.workspace }}/barge run: | bash -x start_ocean.sh --with-thegraph --skip-subgraph-deploy --no-dashboard 2>&1 > start_ocean.log & - env: - CONTRACTS_VERSION: predictoor3 - run: npm ci diff --git a/package-lock.json b/package-lock.json index 1af778d8..33ee2224 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "4.0.0", "license": "Apache-2.0", "dependencies": { - "@oceanprotocol/contracts": "^2.0.2", + "@oceanprotocol/contracts": "^2.0.3", "@oceanprotocol/lib": "^2.7.0", "cross-fetch": "^3.1.6", "ethereumjs-util": "^7.1.5" @@ -1049,6 +1049,7 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-4.0.10.tgz", "integrity": "sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw==", + "peer": true, "dependencies": { "@ethereum-waffle/provider": "4.0.5", "debug": "^4.3.4", @@ -1065,6 +1066,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", "integrity": "sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==", + "peer": true, "dependencies": { "@resolver-engine/imports": "^0.3.3", "@resolver-engine/imports-fs": "^0.3.3", @@ -1087,6 +1089,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-4.0.3.tgz", "integrity": "sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw==", + "peer": true, "engines": { "node": ">=10.0" }, @@ -1100,6 +1103,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz", "integrity": "sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA==", + "peer": true, "engines": { "node": ">=10.0" }, @@ -1111,6 +1115,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-4.0.5.tgz", "integrity": "sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw==", + "peer": true, "dependencies": { "@ethereum-waffle/ens": "4.0.3", "@ganache/ethereum-options": "0.1.4", @@ -1128,6 +1133,7 @@ "version": "3.6.3", "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", + "peer": true, "dependencies": { "@ethereumjs/common": "^2.6.5", "@ethereumjs/tx": "^3.5.2", @@ -1139,6 +1145,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "peer": true, "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.5" @@ -1148,6 +1155,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "peer": true, "dependencies": { "@ethereumjs/common": "^2.6.4", "ethereumjs-util": "^7.1.5" @@ -1157,6 +1165,7 @@ "version": "5.5.3", "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", + "peer": true, "dependencies": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/common": "^2.6.4", @@ -1172,6 +1181,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "peer": true, "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.5" @@ -1181,6 +1191,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, "dependencies": { "yallist": "^3.0.2" } @@ -1198,6 +1209,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "peer": true, "dependencies": { "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", @@ -1210,6 +1222,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "peer": true, "dependencies": { "safe-buffer": "^5.1.1" } @@ -1227,6 +1240,7 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.6.0.tgz", "integrity": "sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==", + "peer": true, "dependencies": { "@ethereumjs/block": "^3.6.0", "@ethereumjs/blockchain": "^5.5.0", @@ -1246,6 +1260,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "peer": true, "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.5" @@ -1255,6 +1270,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "peer": true, "dependencies": { "@ethereumjs/common": "^2.6.4", "ethereumjs-util": "^7.1.5" @@ -1264,6 +1280,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "dependencies": { "ms": "2.0.0" } @@ -1271,7 +1288,8 @@ "node_modules/@ethereumjs/vm/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true }, "node_modules/@ethersproject/abi": { "version": "5.0.7", @@ -2044,6 +2062,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", "integrity": "sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw==", + "peer": true, "dependencies": { "@ganache/utils": "0.1.4" } @@ -2052,6 +2071,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz", "integrity": "sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw==", + "peer": true, "dependencies": { "@ganache/ethereum-address": "0.1.4", "@ganache/ethereum-utils": "0.1.4", @@ -2065,6 +2085,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz", "integrity": "sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg==", + "peer": true, "dependencies": { "@ethereumjs/common": "2.6.0", "@ethereumjs/tx": "3.4.0", @@ -2081,6 +2102,7 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.0.tgz", "integrity": "sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==", + "peer": true, "dependencies": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.3" @@ -2090,6 +2112,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.4.0.tgz", "integrity": "sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==", + "peer": true, "dependencies": { "@ethereumjs/common": "^2.6.0", "ethereumjs-util": "^7.1.3" @@ -2098,12 +2121,14 @@ "node_modules/@ganache/ethereum-utils/node_modules/bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "peer": true }, "node_modules/@ganache/ethereum-utils/node_modules/ethereumjs-util": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", + "peer": true, "dependencies": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -2119,6 +2144,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/options/-/options-0.1.4.tgz", "integrity": "sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw==", + "peer": true, "dependencies": { "@ganache/utils": "0.1.4", "bip39": "3.0.4", @@ -2129,6 +2155,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/rlp/-/rlp-0.1.4.tgz", "integrity": "sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ==", + "peer": true, "dependencies": { "@ganache/utils": "0.1.4", "rlp": "2.2.6" @@ -2138,6 +2165,7 @@ "version": "2.2.6", "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "peer": true, "dependencies": { "bn.js": "^4.11.1" }, @@ -2149,6 +2177,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/utils/-/utils-0.1.4.tgz", "integrity": "sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w==", + "peer": true, "dependencies": { "emittery": "0.10.0", "keccak": "3.0.1", @@ -2163,6 +2192,7 @@ "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", "hasInstallScript": true, + "peer": true, "dependencies": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" @@ -3065,26 +3095,9 @@ } }, "node_modules/@oceanprotocol/contracts": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-2.0.2.tgz", - "integrity": "sha512-CnGs9QvmsDMHr+Bu0RN+QssD9JzcoS8bLZgbSXZNmuNQFuUfbbz7Gi2vNzwUw+IK+9CjL3hMFIaENNimzmQ1Ig==", - "dependencies": { - "@nomiclabs/hardhat-ethers": "^2.2.3", - "@nomiclabs/hardhat-etherscan": "^3.1.7", - "@nomiclabs/hardhat-vyper": "^3.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.6", - "@openzeppelin/contracts": "^4.8.3", - "dotenv": "^16.3.1", - "eth-permit": "^0.2.3", - "ethereum-waffle": "^4.0.10", - "ethereumjs-util": "^7.1.5", - "ethers": "^5.7.2", - "hardhat": "^2.18.3", - "hardhat-contract-sizer": "^2.10.0", - "hardhat-gas-reporter": "^1.0.8", - "solidity-bytes-utils": "^0.8.0", - "solidity-coverage": "^0.8.5" - } + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-2.0.3.tgz", + "integrity": "sha512-D2YtlsgmhBuSmF/Ue8zMWPtXNiB4zgW09NjUQzvDFrloUo0a7yC8r8L84LrVniw+0Nmly/PhLcdm8i018yc34g==" }, "node_modules/@oceanprotocol/lib": { "version": "2.7.0", @@ -5181,6 +5194,7 @@ "integrity": "sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==", "hasInstallScript": true, "optional": true, + "peer": true, "dependencies": { "node-gyp-build": "4.3.0" }, @@ -5216,6 +5230,7 @@ "version": "10.2.1", "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz", "integrity": "sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==", + "peer": true, "dependencies": { "lodash": "^4.17.15", "ts-essentials": "^7.0.1" @@ -5231,7 +5246,8 @@ "node_modules/@types/abstract-leveldown": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.5.tgz", - "integrity": "sha512-/2B0nQF4UdupuxeKTJA2+Rj1D+uDemo6P4kMwKCpbfpnzeVaWSELTsAw4Lxn3VJD6APtRrZOCuYo+4nHUQfTfg==" + "integrity": "sha512-/2B0nQF4UdupuxeKTJA2+Rj1D+uDemo6P4kMwKCpbfpnzeVaWSELTsAw4Lxn3VJD6APtRrZOCuYo+4nHUQfTfg==", + "peer": true }, "node_modules/@types/bn.js": { "version": "5.1.0", @@ -5353,12 +5369,14 @@ "node_modules/@types/level-errors": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.2.tgz", - "integrity": "sha512-gyZHbcQ2X5hNXf/9KS2qGEmgDe9EN2WDM3rJ5Ele467C0nA1sLhtmv1bZiPMDYfAYCfPWft0uQIaTvXbASSTRA==" + "integrity": "sha512-gyZHbcQ2X5hNXf/9KS2qGEmgDe9EN2WDM3rJ5Ele467C0nA1sLhtmv1bZiPMDYfAYCfPWft0uQIaTvXbASSTRA==", + "peer": true }, "node_modules/@types/levelup": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "peer": true, "dependencies": { "@types/abstract-leveldown": "*", "@types/level-errors": "*", @@ -5957,6 +5975,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "peer": true, "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -5972,6 +5991,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "dependencies": { "xtend": "^4.0.2" }, @@ -6228,6 +6248,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "peer": true, "engines": { "node": ">=6" } @@ -6833,6 +6854,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", + "peer": true, "dependencies": { "@types/node": "11.11.6", "create-hash": "^1.1.0", @@ -6843,7 +6865,8 @@ "node_modules/bip39/node_modules/@types/node": { "version": "11.11.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==" + "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", + "peer": true }, "node_modules/bl": { "version": "4.1.0", @@ -7874,6 +7897,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "peer": true, "dependencies": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -7888,6 +7912,7 @@ "version": "6.1.3", "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "peer": true, "dependencies": { "array-back": "^4.0.2", "chalk": "^2.4.2", @@ -7902,6 +7927,7 @@ "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==", + "peer": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -7913,6 +7939,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "peer": true, "engines": { "node": ">=8" } @@ -7921,6 +7948,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "peer": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -7934,6 +7962,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, "dependencies": { "color-name": "1.1.3" } @@ -7941,12 +7970,14 @@ "node_modules/command-line-usage/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true }, "node_modules/command-line-usage/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true, "engines": { "node": ">=0.8.0" } @@ -7955,6 +7986,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true, "engines": { "node": ">=4" } @@ -7963,6 +7995,7 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -7974,6 +8007,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true, "engines": { "node": ">=8" } @@ -8122,6 +8156,7 @@ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.3.tgz", "integrity": "sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==", "hasInstallScript": true, + "peer": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -8601,6 +8636,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "peer": true, "dependencies": { "abstract-leveldown": "~6.2.1", "inherits": "^2.0.3" @@ -8613,6 +8649,7 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "peer": true, "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -8628,6 +8665,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "dependencies": { "xtend": "^4.0.2" }, @@ -8774,17 +8812,6 @@ "randombytes": "^2.0.0" } }, - "node_modules/difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", - "dependencies": { - "heap": ">= 0.2.0" - }, - "engines": { - "node": "*" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -9008,6 +9035,7 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "peer": true, "engines": { "node": ">=12" }, @@ -9041,6 +9069,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "peer": true, "dependencies": { "abstract-leveldown": "^6.2.1", "inherits": "^2.0.3", @@ -10729,6 +10758,7 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz", "integrity": "sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==", + "peer": true, "dependencies": { "@ethereum-waffle/chai": "4.0.10", "@ethereum-waffle/compiler": "4.0.3", @@ -11910,6 +11940,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "peer": true, "dependencies": { "array-back": "^3.0.1" }, @@ -12187,6 +12218,7 @@ "@types/seedrandom" ], "hasShrinkwrap": true, + "peer": true, "dependencies": { "@trufflesuite/bigint-buffer": "1.1.10", "@types/bn.js": "^5.1.0", @@ -20598,6 +20630,7 @@ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "optional": true, + "peer": true, "dependencies": { "node-gyp-build": "^4.3.0" } @@ -20934,6 +20967,7 @@ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "optional": true, + "peer": true, "dependencies": { "node-gyp-build": "^4.3.0" } @@ -22100,11 +22134,6 @@ "he": "bin/he" } }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" - }, "node_modules/hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -23564,6 +23593,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "peer": true, "dependencies": { "bignumber.js": "^9.0.0" } @@ -23840,6 +23870,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "peer": true, "dependencies": { "buffer": "^5.6.0" }, @@ -23851,6 +23882,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "peer": true, "engines": { "node": ">=6" } @@ -23859,6 +23891,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "peer": true, "dependencies": { "errno": "~0.1.1" }, @@ -23870,6 +23903,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "peer": true, "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.4.0", @@ -23883,6 +23917,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -23896,6 +23931,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "peer": true, "dependencies": { "level-packager": "^5.0.3", "memdown": "^5.0.0" @@ -23908,6 +23944,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "peer": true, "dependencies": { "encoding-down": "^6.3.0", "levelup": "^4.3.2" @@ -23963,6 +24000,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "peer": true, "dependencies": { "inherits": "^2.0.3", "readable-stream": "^3.1.0", @@ -23976,6 +24014,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -23989,6 +24028,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "peer": true, "dependencies": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -24004,6 +24044,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "dependencies": { "xtend": "^4.0.2" }, @@ -24374,6 +24415,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "peer": true, "dependencies": { "abstract-leveldown": "~6.2.1", "functional-red-black-tree": "~1.0.1", @@ -24390,6 +24432,7 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "peer": true, "dependencies": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -24404,12 +24447,14 @@ "node_modules/memdown/node_modules/immediate": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==" + "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", + "peer": true }, "node_modules/memdown/node_modules/level-supports": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "dependencies": { "xtend": "^4.0.2" }, @@ -24473,6 +24518,7 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "peer": true, "dependencies": { "@types/levelup": "^4.3.0", "ethereumjs-util": "^7.1.4", @@ -24486,6 +24532,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -26676,6 +26723,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "peer": true, "engines": { "node": ">=6" } @@ -28018,7 +28066,8 @@ "node_modules/seedrandom": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "peer": true }, "node_modules/semaphore": { "version": "1.1.0", @@ -28032,6 +28081,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", + "peer": true, "engines": { "node": ">=4.1" } @@ -28402,6 +28452,7 @@ "version": "0.8.15", "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.15.tgz", "integrity": "sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w==", + "peer": true, "dependencies": { "command-exists": "^1.2.8", "commander": "^8.1.0", @@ -28422,6 +28473,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "peer": true, "engines": { "node": ">= 12" } @@ -28430,6 +28482,7 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true, "bin": { "semver": "bin/semver" } @@ -28438,6 +28491,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "peer": true, "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -28453,176 +28507,6 @@ "@truffle/hdwallet-provider": "latest" } }, - "node_modules/solidity-coverage": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.5.tgz", - "integrity": "sha512-6C6N6OV2O8FQA0FWA95FdzVH+L16HU94iFgg5wAFZ29UpLFkgNI/DRR2HotG1bC0F4gAc/OMs2BJI44Q/DYlKQ==", - "dependencies": { - "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.16.0", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "difflib": "^0.2.4", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "mocha": "10.2.0", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.6" - }, - "bin": { - "solidity-coverage": "plugins/bin.js" - }, - "peerDependencies": { - "hardhat": "^2.11.0" - } - }, - "node_modules/solidity-coverage/node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/solidity-coverage/node_modules/@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "dependencies": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "node_modules/solidity-coverage/node_modules/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==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/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==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/solidity-coverage/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/solidity-coverage/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/solidity-coverage/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/solidity-coverage/node_modules/globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "dependencies": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/solidity-coverage/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/solidity-coverage/node_modules/ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/solidity-coverage/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -28848,7 +28732,8 @@ "node_modules/string-format": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "peer": true }, "node_modules/string-width": { "version": "4.2.3", @@ -29153,6 +29038,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "peer": true, "dependencies": { "array-back": "^4.0.1", "deep-extend": "~0.6.0", @@ -29167,6 +29053,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "peer": true, "engines": { "node": ">=8" } @@ -29175,6 +29062,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true, "engines": { "node": ">=8" } @@ -29510,6 +29398,7 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", + "peer": true, "dependencies": { "chalk": "^4.1.0", "command-line-args": "^5.1.1", @@ -29524,6 +29413,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -29539,6 +29429,7 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "peer": true, "peerDependencies": { "typescript": ">=3.7.0" } @@ -29880,6 +29771,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", + "peer": true, "dependencies": { "@types/prettier": "^2.1.1", "debug": "^4.3.1", @@ -29903,6 +29795,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -29916,6 +29809,7 @@ "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -29935,6 +29829,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "peer": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -30036,6 +29931,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "peer": true, "engines": { "node": ">=8" } @@ -31120,6 +31016,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "peer": true, "dependencies": { "reduce-flatten": "^2.0.0", "typical": "^5.2.0" @@ -31132,6 +31029,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true, "engines": { "node": ">=8" } @@ -32175,6 +32073,7 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/@ethereum-waffle/chai/-/chai-4.0.10.tgz", "integrity": "sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw==", + "peer": true, "requires": { "@ethereum-waffle/provider": "4.0.5", "debug": "^4.3.4", @@ -32185,6 +32084,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz", "integrity": "sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw==", + "peer": true, "requires": { "@resolver-engine/imports": "^0.3.3", "@resolver-engine/imports-fs": "^0.3.3", @@ -32199,18 +32099,21 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/@ethereum-waffle/ens/-/ens-4.0.3.tgz", "integrity": "sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw==", + "peer": true, "requires": {} }, "@ethereum-waffle/mock-contract": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz", "integrity": "sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA==", + "peer": true, "requires": {} }, "@ethereum-waffle/provider": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@ethereum-waffle/provider/-/provider-4.0.5.tgz", "integrity": "sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw==", + "peer": true, "requires": { "@ethereum-waffle/ens": "4.0.3", "@ganache/ethereum-options": "0.1.4", @@ -32222,6 +32125,7 @@ "version": "3.6.3", "resolved": "https://registry.npmjs.org/@ethereumjs/block/-/block-3.6.3.tgz", "integrity": "sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg==", + "peer": true, "requires": { "@ethereumjs/common": "^2.6.5", "@ethereumjs/tx": "^3.5.2", @@ -32233,6 +32137,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "peer": true, "requires": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.5" @@ -32242,6 +32147,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "peer": true, "requires": { "@ethereumjs/common": "^2.6.4", "ethereumjs-util": "^7.1.5" @@ -32253,6 +32159,7 @@ "version": "5.5.3", "resolved": "https://registry.npmjs.org/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz", "integrity": "sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw==", + "peer": true, "requires": { "@ethereumjs/block": "^3.6.2", "@ethereumjs/common": "^2.6.4", @@ -32268,6 +32175,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "peer": true, "requires": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.5" @@ -32277,6 +32185,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, "requires": { "yallist": "^3.0.2" } @@ -32296,6 +32205,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@ethereumjs/ethash/-/ethash-1.1.0.tgz", "integrity": "sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA==", + "peer": true, "requires": { "@ethereumjs/block": "^3.5.0", "@types/levelup": "^4.3.0", @@ -32308,6 +32218,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-2.0.2.tgz", "integrity": "sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ==", + "peer": true, "requires": { "safe-buffer": "^5.1.1" } @@ -32327,6 +32238,7 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/@ethereumjs/vm/-/vm-5.6.0.tgz", "integrity": "sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ==", + "peer": true, "requires": { "@ethereumjs/block": "^3.6.0", "@ethereumjs/blockchain": "^5.5.0", @@ -32346,6 +32258,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.5.tgz", "integrity": "sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==", + "peer": true, "requires": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.5" @@ -32355,6 +32268,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.5.2.tgz", "integrity": "sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw==", + "peer": true, "requires": { "@ethereumjs/common": "^2.6.4", "ethereumjs-util": "^7.1.5" @@ -32364,6 +32278,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "peer": true, "requires": { "ms": "2.0.0" } @@ -32371,7 +32286,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "peer": true } } }, @@ -32830,6 +32746,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz", "integrity": "sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw==", + "peer": true, "requires": { "@ganache/utils": "0.1.4" } @@ -32838,6 +32755,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz", "integrity": "sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw==", + "peer": true, "requires": { "@ganache/ethereum-address": "0.1.4", "@ganache/ethereum-utils": "0.1.4", @@ -32851,6 +32769,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz", "integrity": "sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg==", + "peer": true, "requires": { "@ethereumjs/common": "2.6.0", "@ethereumjs/tx": "3.4.0", @@ -32867,6 +32786,7 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/@ethereumjs/common/-/common-2.6.0.tgz", "integrity": "sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA==", + "peer": true, "requires": { "crc-32": "^1.2.0", "ethereumjs-util": "^7.1.3" @@ -32876,6 +32796,7 @@ "version": "3.4.0", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-3.4.0.tgz", "integrity": "sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw==", + "peer": true, "requires": { "@ethereumjs/common": "^2.6.0", "ethereumjs-util": "^7.1.3" @@ -32884,12 +32805,14 @@ "bn.js": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "peer": true }, "ethereumjs-util": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz", "integrity": "sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==", + "peer": true, "requires": { "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", @@ -32904,6 +32827,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/options/-/options-0.1.4.tgz", "integrity": "sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw==", + "peer": true, "requires": { "@ganache/utils": "0.1.4", "bip39": "3.0.4", @@ -32914,6 +32838,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/rlp/-/rlp-0.1.4.tgz", "integrity": "sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ==", + "peer": true, "requires": { "@ganache/utils": "0.1.4", "rlp": "2.2.6" @@ -32923,6 +32848,7 @@ "version": "2.2.6", "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "peer": true, "requires": { "bn.js": "^4.11.1" } @@ -32933,6 +32859,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/@ganache/utils/-/utils-0.1.4.tgz", "integrity": "sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w==", + "peer": true, "requires": { "@trufflesuite/bigint-buffer": "1.1.9", "emittery": "0.10.0", @@ -32944,6 +32871,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz", "integrity": "sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==", + "peer": true, "requires": { "node-addon-api": "^2.0.0", "node-gyp-build": "^4.2.0" @@ -33650,26 +33578,9 @@ "requires": {} }, "@oceanprotocol/contracts": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-2.0.2.tgz", - "integrity": "sha512-CnGs9QvmsDMHr+Bu0RN+QssD9JzcoS8bLZgbSXZNmuNQFuUfbbz7Gi2vNzwUw+IK+9CjL3hMFIaENNimzmQ1Ig==", - "requires": { - "@nomiclabs/hardhat-ethers": "^2.2.3", - "@nomiclabs/hardhat-etherscan": "^3.1.7", - "@nomiclabs/hardhat-vyper": "^3.0.5", - "@nomiclabs/hardhat-waffle": "^2.0.6", - "@openzeppelin/contracts": "^4.8.3", - "dotenv": "^16.3.1", - "eth-permit": "^0.2.3", - "ethereum-waffle": "^4.0.10", - "ethereumjs-util": "^7.1.5", - "ethers": "^5.7.2", - "hardhat": "^2.18.3", - "hardhat-contract-sizer": "^2.10.0", - "hardhat-gas-reporter": "^1.0.8", - "solidity-bytes-utils": "^0.8.0", - "solidity-coverage": "^0.8.5" - } + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@oceanprotocol/contracts/-/contracts-2.0.3.tgz", + "integrity": "sha512-D2YtlsgmhBuSmF/Ue8zMWPtXNiB4zgW09NjUQzvDFrloUo0a7yC8r8L84LrVniw+0Nmly/PhLcdm8i018yc34g==" }, "@oceanprotocol/lib": { "version": "2.7.0", @@ -35417,6 +35328,7 @@ "resolved": "https://registry.npmjs.org/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz", "integrity": "sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw==", "optional": true, + "peer": true, "requires": { "node-gyp-build": "4.3.0" } @@ -35449,6 +35361,7 @@ "version": "10.2.1", "resolved": "https://registry.npmjs.org/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz", "integrity": "sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A==", + "peer": true, "requires": { "lodash": "^4.17.15", "ts-essentials": "^7.0.1" @@ -35457,7 +35370,8 @@ "@types/abstract-leveldown": { "version": "7.2.5", "resolved": "https://registry.npmjs.org/@types/abstract-leveldown/-/abstract-leveldown-7.2.5.tgz", - "integrity": "sha512-/2B0nQF4UdupuxeKTJA2+Rj1D+uDemo6P4kMwKCpbfpnzeVaWSELTsAw4Lxn3VJD6APtRrZOCuYo+4nHUQfTfg==" + "integrity": "sha512-/2B0nQF4UdupuxeKTJA2+Rj1D+uDemo6P4kMwKCpbfpnzeVaWSELTsAw4Lxn3VJD6APtRrZOCuYo+4nHUQfTfg==", + "peer": true }, "@types/bn.js": { "version": "5.1.0", @@ -35578,12 +35492,14 @@ "@types/level-errors": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/@types/level-errors/-/level-errors-3.0.2.tgz", - "integrity": "sha512-gyZHbcQ2X5hNXf/9KS2qGEmgDe9EN2WDM3rJ5Ele467C0nA1sLhtmv1bZiPMDYfAYCfPWft0uQIaTvXbASSTRA==" + "integrity": "sha512-gyZHbcQ2X5hNXf/9KS2qGEmgDe9EN2WDM3rJ5Ele467C0nA1sLhtmv1bZiPMDYfAYCfPWft0uQIaTvXbASSTRA==", + "peer": true }, "@types/levelup": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/@types/levelup/-/levelup-4.3.3.tgz", "integrity": "sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA==", + "peer": true, "requires": { "@types/abstract-leveldown": "*", "@types/level-errors": "*", @@ -36049,6 +35965,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz", "integrity": "sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ==", + "peer": true, "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -36061,6 +35978,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "requires": { "xtend": "^4.0.2" } @@ -36256,7 +36174,8 @@ "array-back": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" + "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", + "peer": true }, "array-buffer-byte-length": { "version": "1.0.0", @@ -36715,6 +36634,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", + "peer": true, "requires": { "@types/node": "11.11.6", "create-hash": "^1.1.0", @@ -36725,7 +36645,8 @@ "@types/node": { "version": "11.11.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz", - "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==" + "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==", + "peer": true } } }, @@ -37499,6 +37420,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", + "peer": true, "requires": { "array-back": "^3.1.0", "find-replace": "^3.0.0", @@ -37510,6 +37432,7 @@ "version": "6.1.3", "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", + "peer": true, "requires": { "array-back": "^4.0.2", "chalk": "^2.4.2", @@ -37521,6 +37444,7 @@ "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==", + "peer": true, "requires": { "color-convert": "^1.9.0" } @@ -37528,12 +37452,14 @@ "array-back": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==" + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "peer": 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==", + "peer": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -37544,6 +37470,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "peer": true, "requires": { "color-name": "1.1.3" } @@ -37551,22 +37478,26 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "peer": true }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "peer": true }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "peer": true }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "peer": true, "requires": { "has-flag": "^3.0.0" } @@ -37574,7 +37505,8 @@ "typical": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true } } }, @@ -37692,7 +37624,8 @@ "core-js-pure": { "version": "3.33.3", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.3.tgz", - "integrity": "sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==" + "integrity": "sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ==", + "peer": true }, "core-util-is": { "version": "1.0.3", @@ -38036,6 +37969,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz", "integrity": "sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw==", + "peer": true, "requires": { "abstract-leveldown": "~6.2.1", "inherits": "^2.0.3" @@ -38045,6 +37979,7 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "peer": true, "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -38057,6 +37992,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "requires": { "xtend": "^4.0.2" } @@ -38161,14 +38097,6 @@ "randombytes": "^2.0.0" } }, - "difflib": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", - "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", - "requires": { - "heap": ">= 0.2.0" - } - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -38357,7 +38285,8 @@ "emittery": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.0.tgz", - "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==" + "integrity": "sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ==", + "peer": true }, "emoji-regex": { "version": "8.0.0", @@ -38393,6 +38322,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/encoding-down/-/encoding-down-6.3.0.tgz", "integrity": "sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw==", + "peer": true, "requires": { "abstract-leveldown": "^6.2.1", "inherits": "^2.0.3", @@ -39673,6 +39603,7 @@ "version": "4.0.10", "resolved": "https://registry.npmjs.org/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz", "integrity": "sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ==", + "peer": true, "requires": { "@ethereum-waffle/chai": "4.0.10", "@ethereum-waffle/compiler": "4.0.3", @@ -40750,6 +40681,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "peer": true, "requires": { "array-back": "^3.0.1" } @@ -40953,6 +40885,7 @@ "version": "7.4.3", "resolved": "https://registry.npmjs.org/ganache/-/ganache-7.4.3.tgz", "integrity": "sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA==", + "peer": true, "requires": { "@trufflesuite/bigint-buffer": "1.1.10", "@types/bn.js": "^5.1.0", @@ -41037,6 +40970,7 @@ "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.5.tgz", "integrity": "sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A==", "optional": true, + "peer": true, "requires": { "node-gyp-build": "^4.3.0" } @@ -41255,6 +41189,7 @@ "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.7.tgz", "integrity": "sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==", "optional": true, + "peer": true, "requires": { "node-gyp-build": "^4.3.0" } @@ -48272,11 +48207,6 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==" - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -49327,6 +49257,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "peer": true, "requires": { "bignumber.js": "^9.0.0" } @@ -49550,6 +49481,7 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/level-codec/-/level-codec-9.0.2.tgz", "integrity": "sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ==", + "peer": true, "requires": { "buffer": "^5.6.0" } @@ -49557,12 +49489,14 @@ "level-concat-iterator": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz", - "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==" + "integrity": "sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw==", + "peer": true }, "level-errors": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/level-errors/-/level-errors-2.0.1.tgz", "integrity": "sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw==", + "peer": true, "requires": { "errno": "~0.1.1" } @@ -49571,6 +49505,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz", "integrity": "sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q==", + "peer": true, "requires": { "inherits": "^2.0.4", "readable-stream": "^3.4.0", @@ -49581,6 +49516,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -49593,6 +49529,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/level-mem/-/level-mem-5.0.1.tgz", "integrity": "sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg==", + "peer": true, "requires": { "level-packager": "^5.0.3", "memdown": "^5.0.0" @@ -49602,6 +49539,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/level-packager/-/level-packager-5.1.1.tgz", "integrity": "sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ==", + "peer": true, "requires": { "encoding-down": "^6.3.0", "levelup": "^4.3.2" @@ -49636,6 +49574,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/level-ws/-/level-ws-2.0.0.tgz", "integrity": "sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA==", + "peer": true, "requires": { "inherits": "^2.0.3", "readable-stream": "^3.1.0", @@ -49646,6 +49585,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -49658,6 +49598,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/levelup/-/levelup-4.4.0.tgz", "integrity": "sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ==", + "peer": true, "requires": { "deferred-leveldown": "~5.3.0", "level-errors": "~2.0.0", @@ -49670,6 +49611,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "requires": { "xtend": "^4.0.2" } @@ -49986,6 +49928,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/memdown/-/memdown-5.1.0.tgz", "integrity": "sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw==", + "peer": true, "requires": { "abstract-leveldown": "~6.2.1", "functional-red-black-tree": "~1.0.1", @@ -49999,6 +49942,7 @@ "version": "6.2.3", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz", "integrity": "sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==", + "peer": true, "requires": { "buffer": "^5.5.0", "immediate": "^3.2.3", @@ -50010,12 +49954,14 @@ "immediate": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", - "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==" + "integrity": "sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg==", + "peer": true }, "level-supports": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz", "integrity": "sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==", + "peer": true, "requires": { "xtend": "^4.0.2" } @@ -50066,6 +50012,7 @@ "version": "4.2.4", "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz", "integrity": "sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w==", + "peer": true, "requires": { "@types/levelup": "^4.3.0", "ethereumjs-util": "^7.1.4", @@ -50079,6 +50026,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "peer": true, "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -51736,7 +51684,8 @@ "reduce-flatten": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==" + "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", + "peer": true }, "regenerator-runtime": { "version": "0.14.0", @@ -52650,7 +52599,8 @@ "seedrandom": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", - "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==", + "peer": true }, "semaphore": { "version": "1.1.0", @@ -52660,7 +52610,8 @@ "semaphore-async-await": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz", - "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==" + "integrity": "sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg==", + "peer": true }, "semver": { "version": "7.3.5", @@ -52947,6 +52898,7 @@ "version": "0.8.15", "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.15.tgz", "integrity": "sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w==", + "peer": true, "requires": { "command-exists": "^1.2.8", "commander": "^8.1.0", @@ -52960,17 +52912,20 @@ "commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "peer": true }, "semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "peer": true }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "peer": true, "requires": { "os-tmpdir": "~1.0.2" } @@ -52985,138 +52940,6 @@ "@truffle/hdwallet-provider": "latest" } }, - "solidity-coverage": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/solidity-coverage/-/solidity-coverage-0.8.5.tgz", - "integrity": "sha512-6C6N6OV2O8FQA0FWA95FdzVH+L16HU94iFgg5wAFZ29UpLFkgNI/DRR2HotG1bC0F4gAc/OMs2BJI44Q/DYlKQ==", - "requires": { - "@ethersproject/abi": "^5.0.9", - "@solidity-parser/parser": "^0.16.0", - "chalk": "^2.4.2", - "death": "^1.1.0", - "detect-port": "^1.3.0", - "difflib": "^0.2.4", - "fs-extra": "^8.1.0", - "ghost-testrpc": "^0.0.2", - "global-modules": "^2.0.0", - "globby": "^10.0.1", - "jsonschema": "^1.2.4", - "lodash": "^4.17.15", - "mocha": "10.2.0", - "node-emoji": "^1.10.0", - "pify": "^4.0.1", - "recursive-readdir": "^2.2.2", - "sc-istanbul": "^0.4.5", - "semver": "^7.3.4", - "shelljs": "^0.8.3", - "web3-utils": "^1.3.6" - }, - "dependencies": { - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@solidity-parser/parser": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@solidity-parser/parser/-/parser-0.16.2.tgz", - "integrity": "sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg==", - "requires": { - "antlr4ts": "^0.5.0-alpha.4" - } - }, - "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==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.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==", - "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "globby": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", - "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.0.3", - "glob": "^7.1.3", - "ignore": "^5.1.1", - "merge2": "^1.2.3", - "slash": "^3.0.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "ignore": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", - "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -53296,7 +53119,8 @@ "string-format": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/string-format/-/string-format-2.0.0.tgz", - "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==" + "integrity": "sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA==", + "peer": true }, "string-width": { "version": "4.2.3", @@ -53550,6 +53374,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "peer": true, "requires": { "array-back": "^4.0.1", "deep-extend": "~0.6.0", @@ -53560,12 +53385,14 @@ "array-back": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==" + "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", + "peer": true }, "typical": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true } } }, @@ -53823,6 +53650,7 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz", "integrity": "sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw==", + "peer": true, "requires": { "chalk": "^4.1.0", "command-line-args": "^5.1.1", @@ -53834,6 +53662,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -53845,6 +53674,7 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "peer": true, "requires": {} }, "ts-generator": { @@ -54097,6 +53927,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/typechain/-/typechain-8.3.2.tgz", "integrity": "sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==", + "peer": true, "requires": { "@types/prettier": "^2.1.1", "debug": "^4.3.1", @@ -54114,6 +53945,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "peer": true, "requires": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -54124,6 +53956,7 @@ "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "peer": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -54136,7 +53969,8 @@ "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "peer": true } } }, @@ -54208,7 +54042,8 @@ "typical": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" + "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "peer": true }, "uglify-js": { "version": "3.14.2", @@ -55079,6 +54914,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", + "peer": true, "requires": { "reduce-flatten": "^2.0.0", "typical": "^5.2.0" @@ -55087,7 +54923,8 @@ "typical": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" + "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "peer": true } } }, diff --git a/package.json b/package.json index 8e8cc3c0..1c915324 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,8 @@ "quickstart:bsc": "node ./scripts/generatenetworkssubgraphs.js bsc && npm run codegen && npm run create:local && npm run deploy:local", "quickstart:oasis_saphire_testnet": "node ./scripts/generatenetworkssubgraphs.js oasis_saphire_testnet && npm run codegen && npm run create:local && npm run deploy:local", "quickstart:oasis_saphire": "node ./scripts/generatenetworkssubgraphs.js oasis_saphire && npm run codegen && npm run create:local && npm run deploy:local", + "quickstart:optimism": "node ./scripts/generatenetworkssubgraphs.js optimism && npm run codegen && npm run create:local && npm run deploy:local", + "quickstart:optimism_sepolia": "node ./scripts/generatenetworkssubgraphs.js optimism_sepolia && npm run codegen && npm run create:local && npm run deploy:local", "create:thegraph": "graph create oceanprotocol/ocean-subgraph --node https://api.thegraph.com/deploy/", "create:local": "graph create oceanprotocol/ocean-subgraph --node http://127.0.0.1:8020", "create:local-barge": "graph create oceanprotocol/ocean-subgraph --node http://172.15.0.15:8020", @@ -79,7 +81,7 @@ "typescript": "^5.2.2" }, "dependencies": { - "@oceanprotocol/contracts": "^2.0.2", + "@oceanprotocol/contracts": "^2.0.3", "@oceanprotocol/lib": "^2.7.0", "cross-fetch": "^3.1.6", "ethereumjs-util": "^7.1.5" diff --git a/schema.graphql b/schema.graphql index 334ae251..479e8b97 100644 --- a/schema.graphql +++ b/schema.graphql @@ -403,7 +403,6 @@ type Template @entity{ id: ID! fixedRateTemplates: [String!] dispenserTemplates: [String!] - ssTemplates: [String!] } # Not tracking allocationToId or idToAllocation diff --git a/src/mappings/factoryRouter.ts b/src/mappings/factoryRouter.ts index ef6ea6e9..255622db 100644 --- a/src/mappings/factoryRouter.ts +++ b/src/mappings/factoryRouter.ts @@ -3,8 +3,6 @@ import { TokenRemoved, OPCFeeChanged, FactoryRouter, - SSContractAdded, - SSContractRemoved, FixedRateContractAdded, FixedRateContractRemoved, DispenserContractAdded, @@ -91,32 +89,6 @@ export function handleTokenRemoved(event: TokenRemoved): void { opc.approvedTokens = newList opc.save() } -export function handleSSContractAdded(event: SSContractAdded): void { - // add token to approvedTokens - const templates = getTemplates() - let existingContracts: string[] - if (!templates.ssTemplates) existingContracts = [] - else existingContracts = templates.ssTemplates as string[] - if (!existingContracts.includes(event.params.contractAddress.toHexString())) - existingContracts.push(event.params.contractAddress.toHexString()) - templates.ssTemplates = existingContracts - templates.save() -} -export function handleSSContractRemoved(event: SSContractRemoved): void { - const templates = getTemplates() - const newList: string[] = [] - let existingContracts: string[] - if (!templates.ssTemplates) existingContracts = [] - else existingContracts = templates.ssTemplates as string[] - if (!existingContracts || existingContracts.length < 1) return - while (existingContracts.length > 0) { - const role = existingContracts.shift().toString() - if (!role) break - if (role != event.params.contractAddress.toHexString()) newList.push(role) - } - templates.ssTemplates = newList - templates.save() -} export function handleFixedRateContractAdded( event: FixedRateContractAdded diff --git a/src/mappings/utils/fixedRateUtils.ts b/src/mappings/utils/fixedRateUtils.ts index b81fa856..0eb1aa34 100644 --- a/src/mappings/utils/fixedRateUtils.ts +++ b/src/mappings/utils/fixedRateUtils.ts @@ -52,6 +52,11 @@ export function updateFixedRateExchangeSupply( fixedRateDetails.value.value8.toBigDecimal(), baseToken.decimals ) + // update withMint state + fixedRateExchange.withMint = fixedRateDetails.value.value11 + + // update active state + fixedRateExchange.active = fixedRateDetails.value.value6 fixedRateExchange.save() } diff --git a/subgraph.template.yaml b/subgraph.template.yaml index 25f8a595..e317d04e 100644 --- a/subgraph.template.yaml +++ b/subgraph.template.yaml @@ -268,10 +268,6 @@ dataSources: handler: handleTokenRemoved - event: OPCFeeChanged(indexed address,uint256,uint256,uint256,uint256) handler: handleOPCFeeChanged - - event: SSContractAdded(indexed address,indexed address) - handler: handleSSContractAdded - - event: SSContractRemoved(indexed address,indexed address) - handler: handleSSContractRemoved - event: FixedRateContractAdded(indexed address,indexed address) handler: handleFixedRateContractAdded - event: FixedRateContractRemoved(indexed address,indexed address) diff --git a/test/integration/FixedRateExchange.test.ts b/test/integration/FixedRateExchange.test.ts index 00f15c35..145734d3 100644 --- a/test/integration/FixedRateExchange.test.ts +++ b/test/integration/FixedRateExchange.test.ts @@ -44,7 +44,7 @@ describe('Fixed Rate Exchange tests', async () => { const publishMarketSwapFee = '0.003' const templateIndex = 1 const dtAmount = '10' - const datatoken = new Datatoken(web3, 8996) + // const datatoken = new Datatoken(web3, 8996) let datatokenAddress: string let fixedRateAddress: string let baseTokenAddress: string @@ -108,7 +108,7 @@ describe('Fixed Rate Exchange tests', async () => { fixedRate: price, marketFee: publishMarketSwapFee, allowedConsumer: ZERO_ADDRESS, - withMint: false + withMint: true } const result = await Factory.createNftWithDatatokenWithFixedRate( @@ -356,7 +356,8 @@ describe('Fixed Rate Exchange tests', async () => { 'incorrect value for: baseToken.id' ) assert( - fixed.datatokenSupply === '0', + fixed.datatokenSupply === + '115792089237316195423570985008687900000000000000000000000000', 'incorrect value for: datatokenSupply' ) assert( @@ -378,7 +379,7 @@ describe('Fixed Rate Exchange tests', async () => { fixed.allowedSwapper === ZERO_ADDRESS, 'incorrect value for: allowedSwapper' ) - assert(fixed.withMint === null, 'incorrect value for: withMint') + assert(fixed.withMint === true, 'incorrect value for: withMint') assert(fixed.isMinter === null, 'incorrect value for: isMinter') assert(fixed.updates, 'incorrect value for: updates.id') assert(fixed.swaps, 'incorrect value for: swaps') @@ -496,125 +497,6 @@ describe('Fixed Rate Exchange tests', async () => { 'incorrect value: 3nd eventIndex' ) }) - it('Deactivates exchange', async () => { - const deactiveQuery = { - query: `query {fixedRateExchange(id: "${fixedRateId}"){active, eventIndex}}` - } - - const initialResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(deactiveQuery) - }) - const initialActive = (await initialResponse.json()).data.fixedRateExchange - .active - assert(initialActive === true, 'incorrect value for: initialActive') - - // Deactivate exchange - await fixedRate.deactivate(publisher, exchangeId) - await sleep(sleepMs) - - // Check the updated value for active - const updatedResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(deactiveQuery) - }) - const updatedActive = (await updatedResponse.json()).data.fixedRateExchange - - assert(updatedActive.active === false, 'incorrect value for: updatedActive') - assert( - updatedActive.eventIndex !== null && updatedActive.eventIndex > 0, - 'incorrect value: eventIndex' - ) - }) - - it('Activates exchange', async () => { - const activeQuery = { - query: `query {fixedRateExchange(id: "${fixedRateId}"){active, eventIndex}}` - } - const initialResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(activeQuery) - }) - const initialActive = (await initialResponse.json()).data.fixedRateExchange - .active - assert(initialActive === false, 'incorrect value for: initialActive') - - // Activate exchange - await fixedRate.activate(publisher, exchangeId) - await sleep(sleepMs) - - // Check the updated value for active - const updatedResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(activeQuery) - }) - const updatedActive = (await updatedResponse.json()).data.fixedRateExchange - assert(updatedActive.active === true, 'incorrect value for: updatedActive') - assert( - updatedActive.eventIndex !== null && updatedActive.eventIndex > 0, - 'incorrect value: eventIndex' - ) - }) - - it('Activate Minting', async () => { - const mintingQuery = { - query: `query {fixedRateExchange(id: "${fixedRateId}"){withMint, eventIndex}}` - } - const initialResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(mintingQuery) - }) - const initialMint = (await initialResponse.json()).data.fixedRateExchange - .withMint - assert(initialMint === null, 'incorrect value for: initialMint') - - // Activate minting - const tx = await fixedRate.activateMint(publisher, exchangeId) - await sleep(sleepMs) - - // Check the updated value for active - const updatedResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(mintingQuery) - }) - - const updatedMint = (await updatedResponse.json()).data.fixedRateExchange - assert(updatedMint.withMint === true, 'incorrect value for: updatedMint') - assert( - updatedMint.eventIndex === tx.events.ExchangeMintStateChanged.logIndex, - 'incorrect value for: eventIndex' - ) - }) - - it('Deactivate Minting', async () => { - const mintingQuery = { - query: `query {fixedRateExchange(id: "${fixedRateId}"){withMint, eventIndex}}` - } - const initialResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(mintingQuery) - }) - const initialMint = (await initialResponse.json()).data.fixedRateExchange - .withMint - assert(initialMint === true, 'incorrect value for: initialMint') - - // Activate minting - const tx = await fixedRate.deactivateMint(publisher, exchangeId) - await sleep(sleepMs) - - // Check the updated value for active - const updatedResponse = await fetch(subgraphUrl, { - method: 'POST', - body: JSON.stringify(mintingQuery) - }) - - const updatedMint = (await updatedResponse.json()).data.fixedRateExchange - assert(updatedMint.withMint === false, 'incorrect value for: updatedMint') - assert( - updatedMint.eventIndex === tx.events.ExchangeMintStateChanged.logIndex, - 'incorrect value for: eventIndex' - ) - }) it('User1 buys a datatoken', async () => { const swapsQuery = { @@ -721,57 +603,63 @@ describe('Fixed Rate Exchange tests', async () => { assert(swaps.eventIndex === tx.logIndex, 'incorrect value for: eventIndex') assert(swaps.__typename === 'FixedRateExchangeSwap', 'incorrect __typename') }) - it('User1 sells a datatoken', async () => { - await datatoken.approve(datatokenAddress, fixedRateAddress, dtAmount, user1) - const tx = (await fixedRate.sellDatatokens(user1, exchangeId, '10', '9')) - .events?.Swapped - const oceanFeeAmount = web3.utils.fromWei( - new BN(tx.returnValues.oceanFeeAmount) - ) - assert(tx != null) - await sleep(sleepMs) - const swapsQuery = { - query: `query {fixedRateExchange(id: "${fixedRateId}"){ - swaps(orderBy: createdTimestamp, orderDirection: desc){ - id - exchangeId{id} - by{id} - baseTokenAmount - dataTokenAmount - block - createdTimestamp - tx - eventIndex - oceanFeeAmount - __typename - } - }}` + + it('Deactivate Minting', async () => { + const mintingQuery = { + query: `query {fixedRateExchange(id: "${fixedRateId}"){withMint, eventIndex}}` } - // Check initial swaps - const response = await fetch(subgraphUrl, { + const initialResponse = await fetch(subgraphUrl, { method: 'POST', - body: JSON.stringify(swapsQuery) + body: JSON.stringify(mintingQuery) }) - const swaps = (await response.json()).data.fixedRateExchange.swaps[0] - const swappedAmount = web3.utils.fromWei( - new BN(tx.returnValues.baseTokenSwappedAmount) + const initialMint = (await initialResponse.json()).data.fixedRateExchange + .withMint + assert(initialMint === true, 'incorrect value for: initialMint') + + // Activate minting + const tx = await fixedRate.deactivateMint(publisher, exchangeId) + await sleep(sleepMs) + + // Check the updated value for active + const updatedResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(mintingQuery) + }) + + const updatedMint = (await updatedResponse.json()).data.fixedRateExchange + assert(updatedMint.withMint === false, 'incorrect value for: updatedMint') + assert( + updatedMint.eventIndex === tx.events.ExchangeMintStateChanged.logIndex, + 'incorrect value for: eventIndex' ) + }) + it('Activate Minting', async () => { + const mintingQuery = { + query: `query {fixedRateExchange(id: "${fixedRateId}"){withMint, eventIndex}}` + } + const initialResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(mintingQuery) + }) + const initialMint = (await initialResponse.json()).data.fixedRateExchange + .withMint + assert(initialMint === false, 'incorrect value for: initialMint') + + // Activate minting + const tx = await fixedRate.activateMint(publisher, exchangeId) + await sleep(sleepMs) + + // Check the updated value for active + const updatedResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(mintingQuery) + }) + const updatedMint = (await updatedResponse.json()).data.fixedRateExchange + assert(updatedMint.withMint === true, 'incorrect value for: updatedMint') assert( - swaps.id === - `${tx.transactionHash}-${fixedRateId}-${tx.logIndex.toFixed(1)}`, - 'incorrect: id' + updatedMint.eventIndex === tx.events.ExchangeMintStateChanged.logIndex, + 'incorrect value for: eventIndex' ) - assert(swaps.exchangeId.id === fixedRateId, 'incorrect: exchangeId') - assert(swaps.by.id === user1, 'incorrect value for: id') - assert(swaps.baseTokenAmount === swappedAmount, 'incorrect baseTokenAmount') - assert(swaps.dataTokenAmount === dtAmount, 'incorrect: dataTokenAmount') - assert(swaps.block === tx.blockNumber, 'incorrect value for: block') - assert(swaps.createdTimestamp >= time, 'incorrect: createdTimestamp') - assert(swaps.createdTimestamp < time + 25, 'incorrect: createdTimestamp 2') - assert(swaps.oceanFeeAmount === oceanFeeAmount, 'incorrect: oceanFeeAmount') - assert(swaps.tx === tx.transactionHash, 'incorrect value for: tx') - assert(swaps.eventIndex === tx.logIndex, 'incorrect value for: eventIndex') - assert(swaps.__typename === 'FixedRateExchangeSwap', 'incorrect __typename') }) it('Updates allowed swapper', async () => { @@ -810,4 +698,63 @@ describe('Fixed Rate Exchange tests', async () => { 'incorrect value for: eventIndex' ) }) + it('Deactivates exchange', async () => { + const deactiveQuery = { + query: `query {fixedRateExchange(id: "${fixedRateId}"){active, eventIndex}}` + } + + const initialResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(deactiveQuery) + }) + const initialActive = (await initialResponse.json()).data.fixedRateExchange + .active + assert(initialActive === true, 'incorrect value for: initialActive') + + // Deactivate exchange + await fixedRate.deactivate(publisher, exchangeId) + await sleep(sleepMs) + + // Check the updated value for active + const updatedResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(deactiveQuery) + }) + const updatedActive = (await updatedResponse.json()).data.fixedRateExchange + + assert(updatedActive.active === false, 'incorrect value for: updatedActive') + assert( + updatedActive.eventIndex !== null && updatedActive.eventIndex >= 0, + 'incorrect value: eventIndex' + ) + }) + + it('Activates exchange', async () => { + const activeQuery = { + query: `query {fixedRateExchange(id: "${fixedRateId}"){active, eventIndex}}` + } + const initialResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(activeQuery) + }) + const initialActive = (await initialResponse.json()).data.fixedRateExchange + .active + assert(initialActive === false, 'incorrect value for: initialActive') + + // Activate exchange + await fixedRate.activate(publisher, exchangeId) + await sleep(sleepMs) + + // Check the updated value for active + const updatedResponse = await fetch(subgraphUrl, { + method: 'POST', + body: JSON.stringify(activeQuery) + }) + const updatedActive = (await updatedResponse.json()).data.fixedRateExchange + assert(updatedActive.active === true, 'incorrect value for: updatedActive') + assert( + updatedActive.eventIndex !== null && updatedActive.eventIndex >= 0, + 'incorrect value: eventIndex' + ) + }) }) diff --git a/test/integration/users.test.ts b/test/integration/users.test.ts index afd791ba..a9e8a600 100644 --- a/test/integration/users.test.ts +++ b/test/integration/users.test.ts @@ -64,7 +64,7 @@ describe('User tests', async () => { const publishMarketSwapFee = '0.003' const templateIndex = 1 const dtAmount = '10' - const datatoken = new Datatoken(web3, 8996) + // const datatoken = new Datatoken(web3, 8996) let datatokenAddress: string let fixedRateAddress: string let baseTokenAddress: string @@ -123,7 +123,7 @@ describe('User tests', async () => { fixedRate: price, marketFee: publishMarketSwapFee, allowedConsumer: ZERO_ADDRESS, - withMint: false + withMint: true } const result = await Factory.createNftWithDatatokenWithFixedRate( @@ -196,27 +196,6 @@ describe('User tests', async () => { assert(user.totalSales === '0', 'incorrect value for: totalSales') assert(user.__typename === 'User', 'incorrect value for: __typename') }) - it('User1 sells a datatoken', async () => { - const initialUser = await userQuery(user1) - await datatoken.approve(datatokenAddress, fixedRateAddress, dtAmount, user1) - const tx = (await fixedRate.sellDatatokens(user1, exchangeId, '10', '9')) - .events?.Swapped - - assert(tx != null) - const user = await userQuery(user1) - - assert(user.id === user1, 'incorrect value for: id') - assert(user.tokenBalancesOwned.length === 0, 'incorrect tokenBalancesOwned') - assert(user.orders.length === 0, 'incorrect value for: orders') - assert( - user.freSwaps.length === initialUser.freSwaps.length, - 'incorrect value for: freSwaps' - ) - assert(user.totalOrders === '0', 'incorrect value for: totalOrders') - assert(user.totalSales === '0', 'incorrect value for: totalSales') - assert(user.__typename === 'User', 'incorrect value for: __typename') - }) - it('Check user fields after publishing & ordering a datatoken', async () => { // Start with publishing a new datatoken const nftParams: NftCreateData = {