From 435dd5ac4d37bc09fdd3ba5adb74d58089cbf59c Mon Sep 17 00:00:00 2001 From: aalavandhan1984 Date: Tue, 2 Nov 2021 14:57:56 -0400 Subject: [PATCH 01/13] bumped up version --- .nvmrc | 2 +- .travis.yml | 2 +- package.json | 10 +- yarn.lock | 3928 +++++++++++++++++++++++++------------------------- 4 files changed, 1964 insertions(+), 1978 deletions(-) diff --git a/.nvmrc b/.nvmrc index 48082f7..b6a7d89 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -12 +16 diff --git a/.travis.yml b/.travis.yml index 18b3817..82d81f4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ dist: trusty sudo: required language: node_js node_js: - - '12' + - '16' cache: directories: - node_modules diff --git a/package.json b/package.json index a6796c6..fc3d59f 100644 --- a/package.json +++ b/package.json @@ -18,14 +18,18 @@ "lint" ], "dependencies": { - "@maticnetwork/maticjs": "^2.0.43", + "@maticnetwork/maticjs": "https://github.com/maticnetwork/matic.js.git#2.0.43", "@openzeppelin/contracts": "^3.4.0", "@openzeppelin/contracts-upgradeable": "^3.3.0", "@openzeppelin/upgrades": "^2.8.0", + "arb-bridge-eth": "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-eth", + "arb-bridge-peripherals": "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-peripherals", + "arb-ts": "^0.0.42", + "arbos-contracts": "https://gitpkg.now.sh/OffchainLabs/arb-os/contracts", "chainbridge-solidity": "https://github.com/meterio/chainbridge-solidity-v1.0.0-eth#6b02b0a52ce7e3967feeffbe6a6440a5b1006aec", - "fx-portal": "fx-portal/contracts", + "fx-portal": "fx-portal/contracts#v1.0.1", "market-oracle": "https://github.com/ampleforth/market-oracle#v1.0.1", - "uFragments": "https://github.com/ampleforth/uFragments#v1.1.0" + "uFragments": "https://github.com/ampleforth/ampleforth-contracts#v1.2.0" }, "devDependencies": { "@nomiclabs/hardhat-ethers": "^2.0.1", diff --git a/yarn.lock b/yarn.lock index 95d4ecc..b41469b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,31 +3,26 @@ "@babel/code-frame@^7.0.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" - integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" + integrity sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg== dependencies: - "@babel/highlight" "^7.10.4" + "@babel/highlight" "^7.14.5" -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== +"@babel/helper-validator-identifier@^7.14.5": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== +"@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" + "@babel/helper-validator-identifier" "^7.14.5" chalk "^2.0.0" js-tokens "^4.0.0" -"@cto.af/textdecoder@^0.0.0": - version "0.0.0" - resolved "https://registry.yarnpkg.com/@cto.af/textdecoder/-/textdecoder-0.0.0.tgz#e1e8d84c936c30a0f4619971f19ca41941af9fdc" - integrity sha512-sJpx3F5xcVV/9jNYJQtvimo4Vfld/nD3ph+ZWtQzZ03Zo8rJC7QKQTRcIGS13Rcz80DwFNthCWMrd58vpY4ZAQ== - "@ensdomains/ens@^0.4.4": version "0.4.5" resolved "https://registry.yarnpkg.com/@ensdomains/ens/-/ens-0.4.5.tgz#e0aebc005afdc066447c6e22feb4eda89a5edbfc" @@ -44,123 +39,127 @@ resolved "https://registry.yarnpkg.com/@ensdomains/resolver/-/resolver-0.2.4.tgz#c10fe28bf5efbf49bff4666d909aed0265efbc89" integrity sha512-bvaTH34PMCbv6anRa9I/0zjLJgY4EuznbEMgbV77JBCQ9KNC46rzi0avuxpOfu+xDjPEtSFGqVEOr5GlUSGudA== -"@ethereum-waffle/chai@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-3.2.1.tgz#5cb542b2a323adf0bc2dda00f48b0eb85944d8ab" - integrity sha512-0aG946J1+2Gg7WnEjtwPEWe+xwLTeBTy6LpCnGecosMf3YINkaf9Xv3Sd7CrXBR88ihCoUhfzfmOloMHIAQPAg== +"@ethereum-waffle/chai@^3.4.0": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-3.4.1.tgz#500b59db766a490cb19a7f74ac75a1c3cf86049b" + integrity sha512-8mjgjWCe8XSCWuyJgVtJY8sm00VTczGBTDxBejgEBWN/J9x7QD8jdmWW8bfxdnqZbxiDCTvRFL58Wmd254BEqQ== dependencies: - "@ethereum-waffle/provider" "^3.2.1" - ethers "^5.0.0" + "@ethereum-waffle/provider" "^3.4.0" + ethers "^5.4.7" -"@ethereum-waffle/compiler@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/compiler/-/compiler-3.2.1.tgz#612a9056285a94ce28eb57b895770ad10e438bf9" - integrity sha512-URSsbTp4g8HPHAaA4KiAD6Aya9WPx/TULfOr+YpjCJ6YWXqE9wwi3ubf9qJUQxu6W6PsiczBaQhVhpI9RLoVUA== +"@ethereum-waffle/compiler@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/compiler/-/compiler-3.4.0.tgz#68917321212563544913de33e408327745cb1284" + integrity sha512-a2wxGOoB9F1QFRE+Om7Cz2wn+pxM/o7a0a6cbwhaS2lECJgFzeN9xEkVrKahRkF4gEfXGcuORg4msP0Asxezlw== dependencies: "@resolver-engine/imports" "^0.3.3" "@resolver-engine/imports-fs" "^0.3.3" + "@typechain/ethers-v5" "^2.0.0" "@types/mkdirp" "^0.5.2" "@types/node-fetch" "^2.5.5" ethers "^5.0.1" mkdirp "^0.5.1" - node-fetch "^2.6.0" + node-fetch "^2.6.1" solc "^0.6.3" + ts-generator "^0.1.1" + typechain "^3.0.0" -"@ethereum-waffle/ens@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/ens/-/ens-3.2.1.tgz#9f369112d62f7aa88d010be4d133b6d0f5e8c492" - integrity sha512-dXv/Mb8EgEYOKv2jjmkFNFCmSjNv8nPk1Gaegc0J/KXWuTU6CBOhWet7YS5joGO8ORK21MvN2qVgcQj+FYw0Dw== +"@ethereum-waffle/ens@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/ens/-/ens-3.3.0.tgz#d54f4c8e6b7bcafdc13ab294433f45416b2b2791" + integrity sha512-zVIH/5cQnIEgJPg1aV8+ehYicpcfuAisfrtzYh1pN3UbfeqPylFBeBaIZ7xj/xYzlJjkrek/h9VfULl6EX9Aqw== dependencies: "@ensdomains/ens" "^0.4.4" "@ensdomains/resolver" "^0.2.4" ethers "^5.0.1" -"@ethereum-waffle/mock-contract@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/mock-contract/-/mock-contract-3.2.1.tgz#bf5f63f61c9749eb3270108893a88ff161e68f58" - integrity sha512-39GMp/IqsHF+3j3XK38cWA+nX7Q6ABfMsYkuAjtfpTguTFQKXx2C1/VJZwGOyb4de2pl4bssmN37VEraB3NWbQ== +"@ethereum-waffle/mock-contract@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/mock-contract/-/mock-contract-3.3.0.tgz#7b331f1c95c5d46ee9478f7a6be2869f707d307a" + integrity sha512-apwq0d+2nQxaNwsyLkE+BNMBhZ1MKGV28BtI9WjD3QD2Ztdt1q9II4sKA4VrLTUneYSmkYbJZJxw89f+OpJGyw== dependencies: "@ethersproject/abi" "^5.0.1" ethers "^5.0.1" -"@ethereum-waffle/provider@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereum-waffle/provider/-/provider-3.2.1.tgz#d84c0603936f09afa69ecb671d56f527e9818e71" - integrity sha512-doG18hThqldsYcZIIO0YoiwV+ERx0dCVY6bkg4FKZtoymNelf15zNycb881c6QD9RnLuz6A2Jp9lmnrAD+IvYQ== +"@ethereum-waffle/provider@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/provider/-/provider-3.4.0.tgz#a36a0890d4fbc230e807870c8d3b683594efef00" + integrity sha512-QgseGzpwlzmaHXhqfdzthCGu5a6P1SBF955jQHf/rBkK1Y7gGo2ukt3rXgxgfg/O5eHqRU+r8xw5MzVyVaBscQ== dependencies: - "@ethereum-waffle/ens" "^3.2.1" + "@ethereum-waffle/ens" "^3.3.0" ethers "^5.0.1" - ganache-core "^2.10.2" + ganache-core "^2.13.2" patch-package "^6.2.2" postinstall-postinstall "^2.1.0" -"@ethereumjs/block@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.3.0.tgz#a1b3baec831c71c0d9e7f6145f25e919cff4939c" - integrity sha512-WoefY9Rs4W8vZTxG9qwntAlV61xsSv0NPoXmHO7x3SH16dwJQtU15YvahPCz4HEEXbu7GgGgNgu0pv8JY7VauA== +"@ethereumjs/block@^3.4.0", "@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.5.1": + version "3.5.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.5.1.tgz#59737d393503249aa750c37dfc83896234f4e175" + integrity sha512-MoY9bHKABOBK6BW0v1N1Oc0Cve4x/giX67M3TtrVBUsKQTj2eznLGKpydoitxWSZ+WgKKSVhfRMzbCGRwk7T5w== dependencies: - "@ethereumjs/common" "^2.3.0" - "@ethereumjs/tx" "^3.2.0" - ethereumjs-util "^7.0.10" - merkle-patricia-tree "^4.2.0" + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.1" + ethereumjs-util "^7.1.1" + merkle-patricia-tree "^4.2.1" -"@ethereumjs/blockchain@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.3.0.tgz#206936e30a4320d87a26e58d157eadef21ef6ff1" - integrity sha512-B0Y5QDZcRDQISPilv3m8nzk97QmC98DnSE9WxzGpCxfef22Mw7xhwGipci5Iy0dVC2Np2Cr5d3F6bHAR7+yVmQ== +"@ethereumjs/blockchain@^5.4.0", "@ethereumjs/blockchain@^5.4.1": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.4.2.tgz#5074e0a0157818762a5f5175ea0bd93c5455fe32" + integrity sha512-AOAAwz/lw2lciG9gf5wHi7M/qknraXXnLR66lYgbQ04qfyFC3ZE5x/5rLVm1Vu+kfJLlKrYZTmA0IbOkc7kvgw== dependencies: - "@ethereumjs/block" "^3.3.0" - "@ethereumjs/common" "^2.3.0" - "@ethereumjs/ethash" "^1.0.0" + "@ethereumjs/block" "^3.5.1" + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/ethash" "^1.1.0" debug "^2.2.0" - ethereumjs-util "^7.0.10" + ethereumjs-util "^7.1.1" level-mem "^5.0.1" lru-cache "^5.1.1" rlp "^2.2.4" semaphore-async-await "^1.5.1" -"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.3.1.tgz#d692e3aff5adb35dd587dd1e6caab69e0ed2fa0b" - integrity sha512-V8hrULExoq0H4HFs3cCmdRGbgmipmlNzak6Xg34nHYfQyqkSdrCuflvYjyWmsNpI8GtrcZhzifAbgX/1C1Cjwg== +"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" + integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== dependencies: crc-32 "^1.2.0" - ethereumjs-util "^7.0.10" + ethereumjs-util "^7.1.1" -"@ethereumjs/ethash@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-1.0.0.tgz#4e77f85b37be1ade5393e8719bdabac3e796ddaa" - integrity sha512-iIqnGG6NMKesyOxv2YctB2guOVX18qMAWlj3QlZyrc+GqfzLqoihti+cVNQnyNxr7eYuPdqwLQOFuPe6g/uKjw== +"@ethereumjs/ethash@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-1.1.0.tgz#7c5918ffcaa9cb9c1dc7d12f77ef038c11fb83fb" + integrity sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA== dependencies: + "@ethereumjs/block" "^3.5.0" "@types/levelup" "^4.3.0" buffer-xor "^2.0.1" - ethereumjs-util "^7.0.7" + ethereumjs-util "^7.1.1" miller-rabin "^4.0.0" -"@ethereumjs/tx@^3.2.0", "@ethereumjs/tx@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.2.1.tgz#65f5f1c11541764f08377a94ba4b0dcbbd67739e" - integrity sha512-i9V39OtKvwWos1uVNZxdVhd7zFOyzFLjgt69CoiOY0EmXugS0HjO3uxpLBSglDKFMRriuGqw6ddKEv+RP1UNEw== +"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.0", "@ethereumjs/tx@^3.3.1": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" + integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== dependencies: - "@ethereumjs/common" "^2.3.1" - ethereumjs-util "^7.0.10" + "@ethereumjs/common" "^2.5.0" + ethereumjs-util "^7.1.2" -"@ethereumjs/vm@^5.3.2": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.4.1.tgz#62d9f64aa5a2fb334ad630418683c9654f683a5a" - integrity sha512-cpQcg5CtjzXJBn8QNiobaiWckeN/ZQwsDHLYa9df2wBEUvzuEZgFWK48YEXSpx3CnUY9fNT/lgA9CzKdq8HTzQ== +"@ethereumjs/vm@^5.5.2": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.5.3.tgz#dc8b30dd35efb589db093592600207660fa8dada" + integrity sha512-0k5OreWnlgXYs54wohgO11jtGI05GDasj2EYxzuaStxTi15CS3vow5wGYELC1pG9xngE1F/mFmKi/f14XRuDow== dependencies: - "@ethereumjs/block" "^3.3.0" - "@ethereumjs/blockchain" "^5.3.0" - "@ethereumjs/common" "^2.3.1" - "@ethereumjs/tx" "^3.2.1" + "@ethereumjs/block" "^3.5.0" + "@ethereumjs/blockchain" "^5.4.1" + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.1" async-eventemitter "^0.2.4" core-js-pure "^3.0.1" debug "^2.2.0" - ethereumjs-util "^7.0.10" + ethereumjs-util "^7.1.1" functional-red-black-tree "^1.0.1" mcl-wasm "^0.7.1" - merkle-patricia-tree "^4.2.0" + merkle-patricia-tree "^4.2.1" rustbn.js "~0.2.0" util.promisify "^1.0.1" @@ -179,7 +178,7 @@ "@ethersproject/properties" ">=5.0.0-beta.131" "@ethersproject/strings" ">=5.0.0-beta.130" -"@ethersproject/abi@5.0.7", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.0.5": +"@ethersproject/abi@5.0.7": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.7.tgz#79e52452bd3ca2956d0e1c964207a58ad1a0ee7b" integrity sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw== @@ -194,52 +193,22 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/abi@^5.0.0-beta.146": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.10.tgz#c32baa919ad0e5cddabb2f3a8aed0eaeeed7fa4a" - integrity sha512-cfC3lGgotfxX3SMri4+CisOPwignoj/QGHW9J29spC4R4Qqcnk/SYuVkPFBMdLbvBp3f/pGiVqPNwont0TSXhg== - dependencies: - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/hash" "^5.0.10" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - -"@ethersproject/abi@^5.0.2": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.0.12.tgz#9aebe6aedc05ce45bb6c41b06d80bd195b7de77c" - integrity sha512-Ujr/3bwyYYjXLDQfebeiiTuvOw9XtUKM8av6YkoBeMXyGQM9GkjrQlwJMNwGTmqjATH/ZNbRgCh98GjOLiIB1Q== - dependencies: - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/hash" "^5.0.10" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - -"@ethersproject/abi@^5.1.2": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.3.1.tgz#69a1a496729d3a83521675a57cbe21f3cc27241c" - integrity sha512-F98FWTJG7nWWAQ4DcV6R0cSlrj67MWK3ylahuFbzkumem5cLWg1p7fZ3vIdRoS1c7TEf55Lvyx0w7ICR47IImw== - dependencies: - "@ethersproject/address" "^5.3.0" - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/constants" "^5.3.0" - "@ethersproject/hash" "^5.3.0" - "@ethersproject/keccak256" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/strings" "^5.3.0" - -"@ethersproject/abstract-provider@5.0.5", "@ethersproject/abstract-provider@^5.0.4": +"@ethersproject/abi@5.4.1", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.0.5", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.1.tgz#6ac28fafc9ef6f5a7a37e30356a2eb31fa05d39b" + integrity sha512-9mhbjUk76BiSluiiW4BaYyI58KSbDMMQpCLdsAR+RsT2GyATiNYxVv+pGWRrekmsIdY3I+hOqsYQSTkc8L/mcg== + dependencies: + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/abstract-provider@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.5.tgz#797a32a8707830af1ad8f833e9c228994d5572b9" integrity sha512-i/CjElAkzV7vQBAeoz+IpjGfcFYEP9eD7j3fzZ0fzTq03DO7PPnR+xkEZ1IoDXGwDS+55aLM1xvLDwB/Lx6IOQ== @@ -252,44 +221,20 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/web" "^5.0.6" -"@ethersproject/abstract-provider@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.0.8.tgz#880793c29bfed33dff4c2b2be7ecb9ba966d52c0" - integrity sha512-fqJXkewcGdi8LogKMgRyzc/Ls2js07yor7+g9KfPs09uPOcQLg7cc34JN+lk34HH9gg2HU0DIA5797ZR8znkfw== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/networks" "^5.0.7" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/transactions" "^5.0.9" - "@ethersproject/web" "^5.0.12" - -"@ethersproject/abstract-provider@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.3.0.tgz#f4c0ae4a4cef9f204d7781de805fd44b72756c81" - integrity sha512-1+MLhGP1GwxBDBNwMWVmhCsvKwh4gK7oIfOrmlmePNeskg1NhIrYssraJBieaFNHUYfKEd/1DjiVZMw8Qu5Cxw== - dependencies: - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/networks" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/transactions" "^5.3.0" - "@ethersproject/web" "^5.3.0" - -"@ethersproject/abstract-signer@5.0.6", "@ethersproject/abstract-signer@^5.0.4": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.6.tgz#c01211665ab9c9e93988c4783b789712fd93a388" - integrity sha512-h8TZBX3pL2Xx9tmsRxfWcaaI+FcJFHWvZ/vNvFjLp8zJ0kPD501LKTt2jo44LZ20N3EW68JMoyEmRQ6bpsn+iA== - dependencies: - "@ethersproject/abstract-provider" "^5.0.4" - "@ethersproject/bignumber" "^5.0.7" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/properties" "^5.0.3" - -"@ethersproject/abstract-signer@5.0.7", "@ethersproject/abstract-signer@^5.0.6": +"@ethersproject/abstract-provider@5.4.1", "@ethersproject/abstract-provider@^5.0.4", "@ethersproject/abstract-provider@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz#e404309a29f771bd4d28dbafadcaa184668c2a6e" + integrity sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/web" "^5.4.0" + +"@ethersproject/abstract-signer@5.0.7": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.7.tgz#cdbd3bd479edf77c71b7f6a6156b0275b1176ded" integrity sha512-8W8gy/QutEL60EoMEpvxZ8MFAEWs/JvH5nmZ6xeLXoZvmBCasGmxqHdYjo2cxg0nevkPkq9SeenSsBBZSCx+SQ== @@ -300,29 +245,18 @@ "@ethersproject/logger" "^5.0.5" "@ethersproject/properties" "^5.0.3" -"@ethersproject/abstract-signer@^5.0.10": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.0.10.tgz#0b35359d470f2996823769ec183442352deb4c6c" - integrity sha512-irx7kH7FDAeW7QChDPW19WsxqeB1d3XLyOLSXm0bfPqL1SS07LXWltBJUBUxqC03ORpAOcM3JQj57DU8JnVY2g== - dependencies: - "@ethersproject/abstract-provider" "^5.0.8" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - -"@ethersproject/abstract-signer@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.3.0.tgz#05172b653e15b535ed5854ef5f6a72f4b441052d" - integrity sha512-w8IFwOYqiPrtvosPuArZ3+QPR2nmdVTRrVY8uJYL3NNfMmQfTy3V3l2wbzX47UUlNbPJY+gKvzJAyvK1onZxJg== +"@ethersproject/abstract-signer@5.4.1", "@ethersproject/abstract-signer@^5.0.4", "@ethersproject/abstract-signer@^5.0.6", "@ethersproject/abstract-signer@^5.4.0", "@ethersproject/abstract-signer@^5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz#e4e9abcf4dd4f1ba0db7dff9746a5f78f355ea81" + integrity sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA== dependencies: - "@ethersproject/abstract-provider" "^5.3.0" - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" -"@ethersproject/address@5.0.5", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.5": +"@ethersproject/address@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.5.tgz#2caa65f6b7125015395b1b54c985ee0b27059cc7" integrity sha512-DpkQ6rwk9jTefrRsJzEm6nhRiJd9pvhn1xN0rw5N/jswXG5r7BLk/GVA0mMAVWAsYfvi2xSc5L41FMox43RYEA== @@ -334,61 +268,32 @@ "@ethersproject/rlp" "^5.0.3" bn.js "^4.4.0" -"@ethersproject/address@^5.0.2": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.10.tgz#2bc69fdff4408e0570471cd19dee577ab06a10d0" - integrity sha512-70vqESmW5Srua1kMDIN6uVfdneZMaMyRYH4qPvkAXGkbicrCOsA9m01vIloA4wYiiF+HLEfL1ENKdn5jb9xiAw== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/rlp" "^5.0.7" - -"@ethersproject/address@^5.0.9": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.0.9.tgz#347ef30dc8243c682574a3f23ff63f73c8f8cbf1" - integrity sha512-gKkmbZDMyGbVjr8nA5P0md1GgESqSGH7ILIrDidPdNXBl4adqbuA3OAuZx/O2oGpL6PtJ9BDa0kHheZ1ToHU3w== - dependencies: - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/rlp" "^5.0.7" - -"@ethersproject/address@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.3.0.tgz#e53b69eacebf332e8175de814c5e6507d6932518" - integrity sha512-29TgjzEBK+gUEUAOfWCG7s9IxLNLCqvr+oDSk6L9TXD0VLvZJKhJV479tKQqheVA81OeGxfpdxYtUVH8hqlCvA== +"@ethersproject/address@5.4.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.5", "@ethersproject/address@^5.0.8", "@ethersproject/address@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3" + integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q== dependencies: - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/keccak256" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/rlp" "^5.3.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" -"@ethersproject/base64@5.0.4", "@ethersproject/base64@^5.0.3": +"@ethersproject/base64@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.4.tgz#b0d8fdbf3dda977cf546dcd35725a7b1d5256caa" integrity sha512-4KRykQ7BQMeOXfvio1YITwHjxwBzh92UoXIdzxDE1p53CK28bbHPdsPNYo0wl0El7lJAMpT2SOdL0hhbWRnyIA== dependencies: "@ethersproject/bytes" "^5.0.4" -"@ethersproject/base64@^5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.0.7.tgz#d5da73699b4a33dc92bd8e5056ad1880b262057d" - integrity sha512-S5oh5DVfCo06xwJXT8fQC68mvJfgScTl2AXvbYMsHNfIBTDb084Wx4iA9MNlEReOv6HulkS+gyrUM/j3514rSw== - dependencies: - "@ethersproject/bytes" "^5.0.9" - -"@ethersproject/base64@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.3.0.tgz#b831fb35418b42ad24d943c557259062b8640824" - integrity sha512-JIqgtOmgKcbc2sjGWTXyXktqUhvFUDte8fPVsAaOrcPiJf6YotNF+nsrOYGC9pbHBEGSuSBp3QR0varkO8JHEw== +"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.0.3", "@ethersproject/base64@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a" + integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ== dependencies: - "@ethersproject/bytes" "^5.3.0" + "@ethersproject/bytes" "^5.4.0" -"@ethersproject/basex@5.0.4", "@ethersproject/basex@^5.0.3": +"@ethersproject/basex@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.0.4.tgz#93e1cd11f9a47281da2389de24f88e13e9d90847" integrity sha512-ixIr/kKiAoSzOnSc777AGIOAhKai5Ivqr4HO/Gz+YG+xkfv6kqD6AW4ga9vM20Wwb0QBhh3LoRWTu4V1K+x9Ew== @@ -396,7 +301,15 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/properties" "^5.0.3" -"@ethersproject/bignumber@5.0.8", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.0.8": +"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.0.3", "@ethersproject/basex@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6" + integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + +"@ethersproject/bignumber@5.0.8": version "5.0.8" resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.8.tgz#cee33bd8eb0266176def0d371b45274b1d2c4ec0" integrity sha512-KXFVAFKS1jdTXYN8BE5Oj+ZfPMh28iRdFeNGBVT6cUFdtiPVqeXqc0ggvBqA3A1VoFFGgM7oAeaagA393aORHA== @@ -405,65 +318,42 @@ "@ethersproject/logger" "^5.0.5" bn.js "^4.4.0" -"@ethersproject/bignumber@^5.0.13": - version "5.0.13" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.0.13.tgz#a5466412b3b80104097b9c694f6ae827df4353fe" - integrity sha512-b89bX5li6aK492yuPP5mPgRVgIxxBP7ksaBtKX5QQBsrZTpNOjf/MR4CjcUrAw8g+RQuD6kap9lPjFgY4U1/5A== +"@ethersproject/bignumber@5.4.2", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.0.8", "@ethersproject/bignumber@^5.1.1", "@ethersproject/bignumber@^5.4.0", "@ethersproject/bignumber@^5.4.1": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.2.tgz#44232e015ae4ce82ac034de549eb3583c71283d8" + integrity sha512-oIBDhsKy5bs7j36JlaTzFgNPaZjiNDOXsdSgSpXRucUl+UA6L/1YLlFeI3cPAoodcenzF4nxNPV13pcy7XbWjA== dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - bn.js "^4.4.0" - -"@ethersproject/bignumber@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.3.0.tgz#74ab2ec9c3bda4e344920565720a6ee9c794e9db" - integrity sha512-5xguJ+Q1/zRMgHgDCaqAexx/8DwDVLRemw2i6uR8KyGjwGdXI8f32QZZ1cKGucBN6ekJvpUpHy6XAuQnTv0mPA== - dependencies: - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/logger" "^5.3.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" bn.js "^4.11.9" -"@ethersproject/bytes@5.0.5", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.4": +"@ethersproject/bytes@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.5.tgz#688b70000e550de0c97a151a21f15b87d7f97d7c" integrity sha512-IEj9HpZB+ACS6cZ+QQMTqmu/cnUK2fYNE6ms/PVxjoBjoxc6HCraLpam1KuRvreMy0i523PLmjN8OYeikRdcUQ== dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/bytes@^5.0.9": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.0.9.tgz#2748247402ad20df69f3a3e935dc7b58c0d75c08" - integrity sha512-k+17ZViDtAugC0s7HM6rdsTWEdIYII4RPCDkPEuxKc6i40Bs+m6tjRAtCECX06wKZnrEoR9pjOJRXHJ/VLoOcA== - dependencies: - "@ethersproject/logger" "^5.0.8" - -"@ethersproject/bytes@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.3.0.tgz#473e0da7f831d535b2002be05e6f4ca3729a1bc9" - integrity sha512-rqLJjdVqCcn7glPer7Fxh87PRqlnRScVAoxcIP3PmOUNApMWJ6yRdOFfo2KvPAdO7Le3yEI1o0YW+Yvr7XCYvw== +"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.8", "@ethersproject/bytes@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e" + integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA== dependencies: - "@ethersproject/logger" "^5.3.0" + "@ethersproject/logger" "^5.4.0" -"@ethersproject/constants@5.0.5", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.4": +"@ethersproject/constants@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.5.tgz#0ed19b002e8404bdf6d135234dc86a7d9bcf9b71" integrity sha512-foaQVmxp2+ik9FrLUCtVrLZCj4M3Ibgkqvh+Xw/vFRSerkjVSYePApaVE5essxhoSlF1U9oXfWY09QI2AXtgKA== dependencies: "@ethersproject/bignumber" "^5.0.7" -"@ethersproject/constants@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.0.8.tgz#50f2e23f48c0d1d0de3759ea79b68ec3e06435a1" - integrity sha512-sCc73pFBsl59eDfoQR5OCEZCRv5b0iywadunti6MQIr5lt3XpwxK1Iuzd8XSFO02N9jUifvuZRrt0cY0+NBgTg== +"@ethersproject/constants@5.4.0", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a" + integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q== dependencies: - "@ethersproject/bignumber" "^5.0.13" - -"@ethersproject/constants@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.3.0.tgz#a5d6d86c0eec2c64c3024479609493b9afb3fc77" - integrity sha512-4y1feNOwEpgjAfiCFWOHznvv6qUF/H6uI0UKp8xdhftb+H+FbKflXg1pOgH5qs4Sr7EYBL+zPyPb+YD5g1aEyw== - dependencies: - "@ethersproject/bignumber" "^5.3.0" + "@ethersproject/bignumber" "^5.4.0" "@ethersproject/contracts@5.0.5": version "5.0.5" @@ -480,15 +370,21 @@ "@ethersproject/logger" "^5.0.5" "@ethersproject/properties" "^5.0.3" -"@ethersproject/hash@5.0.5", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.4": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.5.tgz#e383ba2c7941834266fa6e2cf543d2b0c50a9d59" - integrity sha512-GpI80/h2HDpfNKpCZoxQJCjOQloGnlD5hM1G+tZe8FQDJhEvFjJoPDuWv+NaYjJfOciKS2Axqc4Q4WamdLoUgg== - dependencies: - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/strings" "^5.0.4" +"@ethersproject/contracts@5.4.1", "@ethersproject/contracts@^5.4.1": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.1.tgz#3eb4f35b7fe60a962a75804ada2746494df3e470" + integrity sha512-m+z2ZgPy4pyR15Je//dUaymRUZq5MtDajF6GwFbGAVmKz/RF+DNIPwF0k5qEcL3wPGVqUjFg2/krlCRVTU4T5w== + dependencies: + "@ethersproject/abi" "^5.4.0" + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" "@ethersproject/hash@5.0.6": version "5.0.6" @@ -504,35 +400,21 @@ "@ethersproject/properties" "^5.0.4" "@ethersproject/strings" "^5.0.4" -"@ethersproject/hash@^5.0.10": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.0.10.tgz#41bf37428e8ddbc229ffd81c47af667174cb491a" - integrity sha512-Tf0bvs6YFhw28LuHnhlDWyr0xfcDxSXdwM4TcskeBbmXVSKLv3bJQEEEBFUcRX0fJuslR3gCVySEaSh7vuMx5w== - dependencies: - "@ethersproject/abstract-signer" "^5.0.10" - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" - -"@ethersproject/hash@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.3.0.tgz#f65e3bf3db3282df4da676db6cfa049535dd3643" - integrity sha512-gAFZSjUPQ32CIfoKSMtMEQ+IO0kQxqhwz9fCIFt2DtAq2u4pWt8mL9Z5P0r6KkLcQU8LE9FmuPPyd+JvBzmr1w== - dependencies: - "@ethersproject/abstract-signer" "^5.3.0" - "@ethersproject/address" "^5.3.0" - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/keccak256" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/strings" "^5.3.0" - -"@ethersproject/hdnode@5.0.5", "@ethersproject/hdnode@^5.0.4": +"@ethersproject/hash@5.4.0", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0" + integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA== + dependencies: + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/hdnode@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.0.5.tgz#1f89aad0a5ba9dfae3a85a36e0669f8bc7a74781" integrity sha512-Ho4HZaK+KijE5adayvjAGusWMnT0mgwGa5hGMBofBOgX9nqiKf6Wxx68SXBGI1/L3rmKo6mlAjxUd8gefs0teQ== @@ -550,7 +432,25 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/wordlists" "^5.0.4" -"@ethersproject/json-wallets@5.0.7", "@ethersproject/json-wallets@^5.0.6": +"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.0.4", "@ethersproject/hdnode@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac" + integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q== + dependencies: + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/basex" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/pbkdf2" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/signing-key" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/wordlists" "^5.4.0" + +"@ethersproject/json-wallets@5.0.7": version "5.0.7" resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.0.7.tgz#4c48753b38ce7bce23a55f25c23f24617cf560e5" integrity sha512-dgOn9JtGgjT28mDXs4LYY2rT4CzS6bG/rxoYuPq3TLHIf6nmvBcr33Fee6RrM/y8UAx4gyIkf6wb2cXsOctvQQ== @@ -569,7 +469,26 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/keccak256@5.0.4", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.3": +"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.0.6", "@ethersproject/json-wallets@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95" + integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ== + dependencies: + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/hdnode" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/pbkdf2" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.4.tgz#36ca0a7d1ae2a272da5654cb886776d0c680ef3a" integrity sha512-GNpiOUm9PGUxFNqOxYKDQBM0u68bG9XC9iOulEQ8I0tOx/4qUpgVzvgXL6ugxr0RY554Gz/NQsVqknqPzUcxpQ== @@ -577,59 +496,39 @@ "@ethersproject/bytes" "^5.0.4" js-sha3 "0.5.7" -"@ethersproject/keccak256@^5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.0.7.tgz#2eedb5e4c160fcdf0079660f8ae362d7855ea943" - integrity sha512-zpUBmofWvx9PGfc7IICobgFQSgNmTOGTGLUxSYqZzY/T+b4y/2o5eqf/GGmD7qnTGzKQ42YlLNo+LeDP2qe55g== - dependencies: - "@ethersproject/bytes" "^5.0.9" - js-sha3 "0.5.7" - -"@ethersproject/keccak256@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.3.0.tgz#fb5cd36bdfd6fa02e2ea84964078a9fc6bd731be" - integrity sha512-Gv2YqgIUmRbYVNIibafT0qGaeGYLIA/EdWHJ7JcVxVSs2vyxafGxOJ5VpSBHWeOIsE6OOaCelYowhuuTicgdFQ== +"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" + integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== dependencies: - "@ethersproject/bytes" "^5.3.0" + "@ethersproject/bytes" "^5.4.0" js-sha3 "0.5.7" -"@ethersproject/logger@5.0.6", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.5": +"@ethersproject/logger@5.0.6": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.6.tgz#faa484203e86e08be9e07fef826afeef7183fe88" integrity sha512-FrX0Vnb3JZ1md/7GIZfmJ06XOAA8r3q9Uqt9O5orr4ZiksnbpXKlyDzQtlZ5Yv18RS8CAUbiKH9vwidJg1BPmQ== -"@ethersproject/logger@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.8.tgz#135c1903d35c878265f3cbf2b287042c4c20d5d4" - integrity sha512-SkJCTaVTnaZ3/ieLF5pVftxGEFX56pTH+f2Slrpv7cU0TNpUZNib84QQdukd++sWUp/S7j5t5NW+WegbXd4U/A== - -"@ethersproject/logger@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.3.0.tgz#7a69fa1d4ca0d4b7138da1627eb152f763d84dd0" - integrity sha512-8bwJ2gxJGkZZnpQSq5uSiZSJjyVTWmlGft4oH8vxHdvO1Asy4TwVepAhPgxIQIMxXZFUNMych1YjIV4oQ4I7dA== +"@ethersproject/logger@5.4.1", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.1.tgz#503bd33683538b923c578c07d1c2c0dd18672054" + integrity sha512-DZ+bRinnYLPw1yAC64oRl0QyVZj43QeHIhVKfD/+YwSz4wsv1pfwb5SOFjz+r710YEWzU6LrhuSjpSO+6PeE4A== -"@ethersproject/networks@5.0.4", "@ethersproject/networks@^5.0.3": +"@ethersproject/networks@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.4.tgz#6d320a5e15a0cda804f5da88be0ba846156f6eec" integrity sha512-/wHDTRms5mpJ09BoDrbNdFWINzONe05wZRgohCXvEv39rrH/Gd/yAnct8wC0RsW3tmFOgjgQxuBvypIxuUynTw== dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/networks@^5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.0.7.tgz#8d06e41197b27c2404d89a29ca21f741a01acbfc" - integrity sha512-dI14QATndIcUgcCBL1c5vUr/YsI5cCHLN81rF7PU+yS7Xgp2/Rzbr9+YqpC6NBXHFUASjh6GpKqsVMpufAL0BQ== - dependencies: - "@ethersproject/logger" "^5.0.8" - -"@ethersproject/networks@^5.3.0": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.3.1.tgz#78fe08324cee289ce239acf8c746121934b2ef61" - integrity sha512-6uQKHkYChlsfeiZhQ8IHIqGE/sQsf25o9ZxAYpMxi15dLPzz3IxOEF5KiSD32aHwsjXVBKBSlo+teAXLlYJybw== +"@ethersproject/networks@5.4.2", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.4.0": + version "5.4.2" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.2.tgz#2247d977626e97e2c3b8ee73cd2457babde0ce35" + integrity sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw== dependencies: - "@ethersproject/logger" "^5.3.0" + "@ethersproject/logger" "^5.4.0" -"@ethersproject/pbkdf2@5.0.4", "@ethersproject/pbkdf2@^5.0.3": +"@ethersproject/pbkdf2@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.0.4.tgz#a0841d53f5ce9a2b52a65a349d2dc15910b0a767" integrity sha512-9jVBjHXQKfr9+3bkCg01a8Cd1H9e+7Kw3ZMIvAxD0lZtuzrXsJxm1hVwY9KA+PRUvgS/9tTP4viXQYwLAax7zg== @@ -637,51 +536,27 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/sha2" "^5.0.3" -"@ethersproject/properties@5.0.4", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.4": +"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.0.3", "@ethersproject/pbkdf2@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c" + integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + +"@ethersproject/properties@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.4.tgz#a67a1f5a52c30850b5062c861631e73d131f666e" integrity sha512-UdyX3GqBxFt15B0uSESdDNmhvEbK3ACdDXl2soshoPcneXuTswHDeA0LoPlnaZzhbgk4p6jqb4GMms5C26Qu6A== dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/properties@^5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.0.7.tgz#951d11ba592ff90bbe8ec34c5a03a5157e3b3360" - integrity sha512-812H1Rus2vjw0zbasfDI1GLNPDsoyX1pYqiCgaR1BuyKxUTbwcH1B+214l6VGe1v+F6iEVb7WjIwMjKhb4EUsg== - dependencies: - "@ethersproject/logger" "^5.0.8" - -"@ethersproject/properties@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.3.0.tgz#feef4c4babeb7c10a6b3449575016f4ad2c092b2" - integrity sha512-PaHxJyM5/bfusk6vr3yP//JMnm4UEojpzuWGTmtL5X4uNhNnFNvlYilZLyDr4I9cTkIbipCMsAuIcXWsmdRnEw== +"@ethersproject/properties@5.4.1", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.4", "@ethersproject/properties@^5.4.0": + version "5.4.1" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.1.tgz#9f051f976ce790142c6261ccb7b826eaae1f2f36" + integrity sha512-cyCGlF8wWlIZyizsj2PpbJ9I7rIlUAfnHYwy/T90pdkSn/NFTa5YWZx2wTJBe9V7dD65dcrrEMisCRUJiq6n3w== dependencies: - "@ethersproject/logger" "^5.3.0" - -"@ethersproject/providers@5.0.12": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.0.12.tgz#de05e865e130709ea1e0870511eb892bda7d41cb" - integrity sha512-bRUEVNth+wGlm2Q0cQprVlixBWumfP9anrgAc3V2CbIh+GKvCwisVO8uRLrZOfOvTNSy6PUJi/Z4D5L+k3NAog== - dependencies: - "@ethersproject/abstract-provider" "^5.0.4" - "@ethersproject/abstract-signer" "^5.0.4" - "@ethersproject/address" "^5.0.4" - "@ethersproject/basex" "^5.0.3" - "@ethersproject/bignumber" "^5.0.7" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/constants" "^5.0.4" - "@ethersproject/hash" "^5.0.4" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/networks" "^5.0.3" - "@ethersproject/properties" "^5.0.3" - "@ethersproject/random" "^5.0.3" - "@ethersproject/rlp" "^5.0.3" - "@ethersproject/sha2" "^5.0.3" - "@ethersproject/strings" "^5.0.4" - "@ethersproject/transactions" "^5.0.5" - "@ethersproject/web" "^5.0.6" - bech32 "1.1.4" - ws "7.2.3" + "@ethersproject/logger" "^5.4.0" "@ethersproject/providers@5.0.13": version "5.0.13" @@ -708,7 +583,32 @@ bech32 "1.1.4" ws "7.2.3" -"@ethersproject/random@5.0.4", "@ethersproject/random@^5.0.3": +"@ethersproject/providers@5.4.5", "@ethersproject/providers@^5.4.4": + version "5.4.5" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.5.tgz#eb2ea2a743a8115f79604a8157233a3a2c832928" + integrity sha512-1GkrvkiAw3Fj28cwi1Sqm8ED1RtERtpdXmRfwIBGmqBSN5MoeRUHuwHPppMtbPayPgpFcvD7/Gdc9doO5fGYgw== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/basex" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/networks" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/web" "^5.4.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.0.4.tgz#98f7cf65b0e588cec39ef24843e391ed5004556f" integrity sha512-AIZJhqs6Ba4/+U3lOjt3QZbP6b/kuuGLJUYFUonAgWmkTHwqsCwYnFvnHKQSUuHbXHvErp7WFXFlztx+yMn3kQ== @@ -716,7 +616,15 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/rlp@5.0.4", "@ethersproject/rlp@^5.0.3": +"@ethersproject/random@5.4.0", "@ethersproject/random@^5.0.3", "@ethersproject/random@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16" + integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + +"@ethersproject/rlp@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.4.tgz#0090a0271e84ea803016a112a79f5cfd80271a77" integrity sha512-5qrrZad7VTjofxSsm7Zg/7Dr4ZOln4S2CqiDdOuTv6MBKnXj0CiBojXyuDy52M8O3wxH0CyE924hXWTDV1PQWQ== @@ -724,23 +632,15 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/rlp@^5.0.7": - version "5.0.7" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.0.7.tgz#cfa4fa6415960a435b7814e1a29bdfea657e2b6e" - integrity sha512-ulUTVEuV7PT4jJTPpfhRHK57tkLEDEY9XSYJtrSNHOqdwMvH0z7BM2AKIMq4LVDlnu4YZASdKrkFGEIO712V9w== - dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - -"@ethersproject/rlp@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.3.0.tgz#7cb93a7b5dfa69163894153c9d4b0d936f333188" - integrity sha512-oI0joYpsRanl9guDubaW+1NbcpK0vJ3F/6Wpcanzcnqq+oaW9O5E98liwkEDPcb16BUTLIJ+ZF8GPIHYxJ/5Pw== +"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931" + integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg== dependencies: - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/logger" "^5.3.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" -"@ethersproject/sha2@5.0.4", "@ethersproject/sha2@^5.0.3": +"@ethersproject/sha2@5.0.4": version "5.0.4" resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.0.4.tgz#40f639721a27dbe034b3dee021ba20b054586fec" integrity sha512-0yFhf1mspxAfWdXXoPtK94adUeu1R7/FzAa+DfEiZTc76sz/vHXf0LSIazoR3znYKFny6haBxME+usbvvEcF3A== @@ -749,7 +649,16 @@ "@ethersproject/logger" "^5.0.5" hash.js "1.1.3" -"@ethersproject/signing-key@5.0.5", "@ethersproject/signing-key@^5.0.4": +"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.0.3", "@ethersproject/sha2@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371" + integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.5.tgz#acfd06fc05a14180df7e027688bbd23fc4baf782" integrity sha512-Z1wY7JC1HVO4CvQWY2TyTTuAr8xK3bJijZw1a9G92JEmKdv1j255R/0YLBBcFTl2J65LUjtXynNJ2GbArPGi5g== @@ -759,24 +668,14 @@ "@ethersproject/properties" "^5.0.3" elliptic "6.5.3" -"@ethersproject/signing-key@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.0.8.tgz#156522e542916b9aa9135527b40c5b6f9235af02" - integrity sha512-YKxQM45eDa6WAD+s3QZPdm1uW1MutzVuyoepdRRVmMJ8qkk7iOiIhUkZwqKLNxKzEJijt/82ycuOREc9WBNAKg== +"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.0.4", "@ethersproject/signing-key@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec" + integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A== dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - elliptic "6.5.3" - -"@ethersproject/signing-key@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.3.0.tgz#a96c88f8173e1abedfa35de32d3e5db7c48e5259" - integrity sha512-+DX/GwHAd0ok1bgedV1cKO0zfK7P/9aEyNoaYiRsGHpCecN7mhLqcdoUiUzE7Uz86LBsxm5ssK0qA1kBB47fbQ== - dependencies: - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" bn.js "^4.11.9" elliptic "6.5.4" hash.js "1.1.7" @@ -792,7 +691,18 @@ "@ethersproject/sha2" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/strings@5.0.5", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.4": +"@ethersproject/solidity@5.4.0", "@ethersproject/solidity@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec" + integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ== + dependencies: + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/sha2" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@ethersproject/strings@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.5.tgz#ed7e99a282a02f40757691b04a24cd83f3752195" integrity sha512-JED6WaIV00xM/gvj8vSnd+0VWtDYdidTmavFRCTQakqfz+4tDo6Jz5LHgG+dd45h7ah7ykCHW0C7ZXWEDROCXQ== @@ -801,25 +711,16 @@ "@ethersproject/constants" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/strings@^5.0.8": - version "5.0.8" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.0.8.tgz#11a1b0ed1e8417408693789839f0b5f4e323c0c9" - integrity sha512-5IsdXf8tMY8QuHl8vTLnk9ehXDDm6x9FB9S9Og5IA1GYhLe5ZewydXSjlJlsqU2t9HRbfv97OJZV/pX8DVA/Hw== +"@ethersproject/strings@5.4.0", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a" + integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA== dependencies: - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/logger" "^5.0.8" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" -"@ethersproject/strings@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.3.0.tgz#a6b640aab56a18e0909f657da798eef890968ff0" - integrity sha512-j/AzIGZ503cvhuF2ldRSjB0BrKzpsBMtCieDtn4TYMMZMQ9zScJn9wLzTQl/bRNvJbBE6TOspK0r8/Ngae/f2Q== - dependencies: - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/constants" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - -"@ethersproject/transactions@5.0.6", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.5": +"@ethersproject/transactions@5.0.6": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.6.tgz#b8b27938be6e9ed671dbdd35fe98af8b14d0df7c" integrity sha512-htsFhOD+NMBxx676A8ehSuwVV49iqpSB+CkjPZ02tpNew0K6p8g0CZ46Z1ZP946gIHAU80xQ0NACHYrjIUaCFA== @@ -834,35 +735,20 @@ "@ethersproject/rlp" "^5.0.3" "@ethersproject/signing-key" "^5.0.4" -"@ethersproject/transactions@^5.0.9": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.0.9.tgz#ccfcc1d395b5e3ce7342545fa28bfe5541182fd6" - integrity sha512-0Fu1yhdFBkrbMjenEr+39tmDxuHmaw0pe9Jb18XuKoItj7Z3p7+UzdHLr2S/okvHDHYPbZE5gtANDdQ3ZL1nBA== - dependencies: - "@ethersproject/address" "^5.0.9" - "@ethersproject/bignumber" "^5.0.13" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/constants" "^5.0.8" - "@ethersproject/keccak256" "^5.0.7" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/rlp" "^5.0.7" - "@ethersproject/signing-key" "^5.0.8" - -"@ethersproject/transactions@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.3.0.tgz#49b86f2bafa4d0bdf8e596578fc795ee47c50458" - integrity sha512-cdfK8VVyW2oEBCXhURG0WQ6AICL/r6Gmjh0e4Bvbv6MCn/GBd8FeBH3rtl7ho+AW50csMKeGv3m3K1HSHB2jMQ== - dependencies: - "@ethersproject/address" "^5.3.0" - "@ethersproject/bignumber" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/constants" "^5.3.0" - "@ethersproject/keccak256" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/rlp" "^5.3.0" - "@ethersproject/signing-key" "^5.3.0" +"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.5", "@ethersproject/transactions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0" + integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ== + dependencies: + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/rlp" "^5.4.0" + "@ethersproject/signing-key" "^5.4.0" "@ethersproject/units@5.0.6": version "5.0.6" @@ -873,26 +759,14 @@ "@ethersproject/constants" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/wallet@5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.0.5.tgz#93973d919e75bbc5422f11d1c3f39695f1a27e71" - integrity sha512-NbrKmsW3w+5dVOEyVCN5VAAIp3y8ckutW6AV7Lo0Hn8RO9mLT8ZFzLGp4lzgJoxkm+EV8BE+x1N6NdiOgUzRng== +"@ethersproject/units@5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe" + integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg== dependencies: - "@ethersproject/abstract-provider" "^5.0.4" - "@ethersproject/abstract-signer" "^5.0.4" - "@ethersproject/address" "^5.0.4" - "@ethersproject/bignumber" "^5.0.7" - "@ethersproject/bytes" "^5.0.4" - "@ethersproject/hash" "^5.0.4" - "@ethersproject/hdnode" "^5.0.4" - "@ethersproject/json-wallets" "^5.0.6" - "@ethersproject/keccak256" "^5.0.3" - "@ethersproject/logger" "^5.0.5" - "@ethersproject/properties" "^5.0.3" - "@ethersproject/random" "^5.0.3" - "@ethersproject/signing-key" "^5.0.4" - "@ethersproject/transactions" "^5.0.5" - "@ethersproject/wordlists" "^5.0.4" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/constants" "^5.4.0" + "@ethersproject/logger" "^5.4.0" "@ethersproject/wallet@5.0.6": version "5.0.6" @@ -915,7 +789,28 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/wordlists" "^5.0.4" -"@ethersproject/web@5.0.9", "@ethersproject/web@^5.0.6": +"@ethersproject/wallet@5.4.0", "@ethersproject/wallet@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353" + integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ== + dependencies: + "@ethersproject/abstract-provider" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.0" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/hdnode" "^5.4.0" + "@ethersproject/json-wallets" "^5.4.0" + "@ethersproject/keccak256" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/random" "^5.4.0" + "@ethersproject/signing-key" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/wordlists" "^5.4.0" + +"@ethersproject/web@5.0.9": version "5.0.9" resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.9.tgz#b08f8295f4bfd4777c8723fe9572f5453b9f03cb" integrity sha512-//QNlv1MSkOII1hv3+HQwWoiVFS+BMVGI0KYeUww4cyrEktnx1QIez5bTSab9s9fWTFaWKNmQNBwMbxAqPuYDw== @@ -926,29 +821,18 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/web@^5.0.12": - version "5.0.12" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.0.12.tgz#f123397c107f863c31fce5f31a97c66ec155e755" - integrity sha512-gVxS5iW0bgidZ76kr7LsTxj4uzN5XpCLzvZrLp8TP+4YgxHfCeetFyQkRPgBEAJdNrexdSBayvyJvzGvOq0O8g== +"@ethersproject/web@5.4.0", "@ethersproject/web@^5.0.6", "@ethersproject/web@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f" + integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og== dependencies: - "@ethersproject/base64" "^5.0.7" - "@ethersproject/bytes" "^5.0.9" - "@ethersproject/logger" "^5.0.8" - "@ethersproject/properties" "^5.0.7" - "@ethersproject/strings" "^5.0.8" + "@ethersproject/base64" "^5.4.0" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" -"@ethersproject/web@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.3.0.tgz#7959c403f6476c61515008d8f92da51c553a8ee1" - integrity sha512-Ni6/DHnY6k/TD41LEkv0RQDx4jqWz5e/RZvrSecsxGYycF+MFy2z++T/yGc2peRunLOTIFwEksgEGGlbwfYmhQ== - dependencies: - "@ethersproject/base64" "^5.3.0" - "@ethersproject/bytes" "^5.3.0" - "@ethersproject/logger" "^5.3.0" - "@ethersproject/properties" "^5.3.0" - "@ethersproject/strings" "^5.3.0" - -"@ethersproject/wordlists@5.0.5", "@ethersproject/wordlists@^5.0.4": +"@ethersproject/wordlists@5.0.5": version "5.0.5" resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.0.5.tgz#a935b7fdb86c96b44ea8391fed94b3fa2f33c606" integrity sha512-XA3ycFltVrCTQt04w5nHu3Xq5Z6HjqWsXaAYQHFdqtugyUsIumaO9S5MOwFFuUYTNkZUoT3jCRa/OBS+K4tLfA== @@ -959,10 +843,20 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@maticnetwork/maticjs@^2.0.43": +"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.0.4", "@ethersproject/wordlists@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7" + integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA== + dependencies: + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/hash" "^5.4.0" + "@ethersproject/logger" "^5.4.0" + "@ethersproject/properties" "^5.4.0" + "@ethersproject/strings" "^5.4.0" + +"@maticnetwork/maticjs@https://github.com/maticnetwork/matic.js.git#2.0.43": version "2.0.43" - resolved "https://registry.yarnpkg.com/@maticnetwork/maticjs/-/maticjs-2.0.43.tgz#4a0825204517d211ec5a04b2bf69b2909dac604e" - integrity sha512-HCWMBNaj9Ac/+AAYMDIXRy3af6SH/9fqSeSjrixCMb9+w0NTXHM8iunq006juW8R00/Do+rtSHflcRRL/btPbw== + resolved "https://github.com/maticnetwork/matic.js.git#21479b16256af4163adcbbe76e80a92e1a936ece" dependencies: "@maticnetwork/meta" "^2.4.13" axios "^0.21.1" @@ -977,42 +871,42 @@ web3 "^1.3.0" "@maticnetwork/meta@^2.4.13": - version "2.4.16" - resolved "https://registry.yarnpkg.com/@maticnetwork/meta/-/meta-2.4.16.tgz#7087317577a5171b71b85cfe77092be78e845e1c" - integrity sha512-N8dgOEtetBWP0Cn33F7F9ZqL+bDwK6LHWPTHlVHR1X3CrrroC/I0jMkDWQdxmTuAkkyCFI34g4qdqh5QrbNnwA== + version "2.4.21" + resolved "https://registry.yarnpkg.com/@maticnetwork/meta/-/meta-2.4.21.tgz#46d047b17b3441eb9f469933a39fa5fee5077400" + integrity sha512-Yi/AGvhVvAhXcsTNmBBqIPP4v8ShUaTlM4J4jWlWE348liD8ez8KjkSZNz37R+MtnA86SF2sn2oIefmExkZZiA== -"@nodelib/fs.scandir@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" - integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: - "@nodelib/fs.stat" "2.0.3" + "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" - integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" - integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: - "@nodelib/fs.scandir" "2.1.3" + "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@nomiclabs/hardhat-ethers@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.1.tgz#f86a6fa210dbe6270adffccc75e93ed60a856904" - integrity sha512-uTFHDhhvJ+UjfvvMeQxD3ZALuzuI3FXzTYT1Z5N3ebyZL5z4Ogwt55GB0R9tdKY0p5HhDhBjU/gsCjUEwIVoaw== +"@nomiclabs/hardhat-ethers@^2.0.1", "@nomiclabs/hardhat-ethers@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz#c472abcba0c5185aaa4ad4070146e95213c68511" + integrity sha512-6quxWe8wwS4X5v3Au8q1jOvXYEPkS1Fh+cME5u6AwNdnI4uERvPlVjlgRWzpnb+Rrt1l/cEqiNRH9GlsBMSDQg== "@nomiclabs/hardhat-etherscan@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.3.tgz#ba52e5cb526f6c477e5e97e07c72a42232773c92" - integrity sha512-0Ic5dLBWASeX3e8tR5cdfoSQw8fTp2Bw49RGUN1pSJuxKIQAOWq5MI9qC1Bd51xK/AsdRSnHDxoVYK1+FC1s1w== + version "2.1.6" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.6.tgz#8d1502f42adc6f7b8ef16fb917c0b5a8780cb83a" + integrity sha512-gCvT5fj8GbXS9+ACS3BzrX0pzYHHZqAHCb+NcipOkl2cy48FakUXlzrCf4P4sTH+Y7W10OgT62ezD1sJ+/NikQ== dependencies: - "@ethersproject/abi" "^5.0.2" + "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" cbor "^5.0.2" debug "^4.1.1" @@ -1021,9 +915,9 @@ semver "^6.3.0" "@nomiclabs/hardhat-ganache@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ganache/-/hardhat-ganache-2.0.0.tgz#92ec922af01de36b39042db94cb0b5ca91eb9616" - integrity sha512-JJI4+5bHZUoeuIZL42usxp+0i/krYnoApzzA2Xii1P7DwrZHwFBa2OCtR1sUq5z3VTSTvQKrJ1d2/Y6CoQGTKQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ganache/-/hardhat-ganache-2.0.1.tgz#d4974dc379cef1892904378de00e12709c0719aa" + integrity sha512-Q3D8iTtsvQVkJd1EzhhYYvXAFY8fF/JEUt6l6jW7tduhFDRCKvyoSMCw+lH/3nBOHsBolr80pF76NHZ2mYCMeQ== dependencies: debug "^4.1.1" ganache-core "^2.7.0" @@ -1037,36 +931,39 @@ "@types/sinon-chai" "^3.2.3" "@types/web3" "1.0.19" -"@openzeppelin/contracts-upgradeable@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.3.0.tgz#a536c6ff107d21319490e6cb699e555a3edcf6ea" - integrity sha512-kJeNuKauR4xH52Yo3GdXXAOW4CWyWdm7VXcJFe63G8TRb45ISSnkt/gXwUa8zzEYqokQrwNZYoH/iGYfUlp6wA== +"@openzeppelin/contracts-0.8@npm:@openzeppelin/contracts@^4.3.2", "@openzeppelin/contracts@^4.3.0": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.3.2.tgz#ff80affd6d352dbe1bbc5b4e1833c41afd6283b6" + integrity sha512-AybF1cesONZStg5kWf6ao9OlqTZuPqddvprc0ky7lrUVOjXeKpmQ2Y9FK+6ygxasb+4aic4O5pneFBfwVsRRRg== -"@openzeppelin/contracts@^3.4.0": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.1.tgz#03c891fec7f93be0ae44ed74e57a122a38732ce7" - integrity sha512-cUriqMauq1ylzP2TxePNdPqkwI7Le3Annh4K9rrpvKfSBB/bdW+Iu1ihBaTIABTAAJ85LmKL5SSPPL9ry8d1gQ== +"@openzeppelin/contracts-upgradeable@3.4.2", "@openzeppelin/contracts-upgradeable@^3.3.0": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2.tgz#2c2a1b0fa748235a1f495b6489349776365c51b3" + integrity sha512-mDlBS17ymb2wpaLcrqRYdnBAmP1EwqhOXMvqWk2c5Q1N1pm5TkiCtXM9Xzznh4bYsQBq0aIWEkFFE2+iLSN1Tw== + +"@openzeppelin/contracts@3.4.2", "@openzeppelin/contracts@^3.4.0": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.2.tgz#d81f786fda2871d1eb8a8c5a73e455753ba53527" + integrity sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA== "@openzeppelin/hardhat-upgrades@^1.5.1": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.6.0.tgz#735e1c70aea859e284937995e238fcfdea7b69d7" - integrity sha512-4oRB5lH3d5RAUIWKX5wuJvgo06IOgndUoPKYUuLTKW2BmyrMTPc6GZycKf7UCxU0GYeUC9BjsohUAIjqJwMnww== + version "1.10.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.10.0.tgz#e7751e3b9a005ccc9cef4e0de190628b181b59b6" + integrity sha512-iGe058iV7Ba/g11RxlbqBG47nbqbZn1FRdg1FCQq7xPmvjRhXmFsoI/5gGw5el0aZlLDRtpFOBZbzMZvI/S7iw== dependencies: - "@openzeppelin/upgrades-core" "^1.5.0" + "@openzeppelin/upgrades-core" "^1.9.0" -"@openzeppelin/upgrades-core@^1.5.0": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.5.1.tgz#2165f0c2961cc748e7d1c2bce1ba96589d31390b" - integrity sha512-rL0h/+Yfcky98XaxLRcxKunmC2uVP+dr9tVxzZfbjDpIco7VkmyODsI1YBPZTn3e5kCj7A6cmgNrFmao/UkQyA== +"@openzeppelin/upgrades-core@^1.7.6", "@openzeppelin/upgrades-core@^1.9.0": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.9.2.tgz#9d7497f58b1f2bb704c162c716302bfff7923749" + integrity sha512-LU2NMvnz+6jXheh3Rnfql4UgtS7ViHWwcivS3JRI9DMCazmlyibwMYz5QMakrNNGAF7bY0t0Sw1UCfe5qTYxjA== dependencies: bn.js "^5.1.2" - cbor "^7.0.0" + cbor "^8.0.0" chalk "^4.1.0" compare-versions "^3.6.0" debug "^4.1.1" ethereumjs-util "^7.0.3" - fp-ts "^2.7.1" - io-ts "^2.2.9" proper-lockfile "^4.1.1" solidity-ast "^0.4.15" @@ -1162,72 +1059,72 @@ path-browserify "^1.0.0" url "^0.11.0" -"@sentry/core@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.26.0.tgz#9b5fe4de8a869d733ebcc77f5ec9c619f8717a51" - integrity sha512-Ubrw7K52orTVsaxpz8Su40FPXugKipoQC+zPrXcH+JIMB+o18kutF81Ae4WzuUqLfP7YB91eAlRrP608zw0EXA== +"@sentry/core@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" + integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== dependencies: - "@sentry/hub" "5.26.0" - "@sentry/minimal" "5.26.0" - "@sentry/types" "5.26.0" - "@sentry/utils" "5.26.0" + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" tslib "^1.9.3" -"@sentry/hub@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.26.0.tgz#b2bbd8128cd5915f2ee59cbc29fff30272d74ec5" - integrity sha512-lAYeWvvhGYS6eQ5d0VEojw0juxGc3v4aAu8VLvMKWcZ1jXD13Bhc46u9Nvf4qAY6BAQsJDQcpEZLpzJu1bk1Qw== +"@sentry/hub@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" + integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== dependencies: - "@sentry/types" "5.26.0" - "@sentry/utils" "5.26.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" tslib "^1.9.3" -"@sentry/minimal@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.26.0.tgz#851dea3644153ed3ac4837fa8ed5661d94e7a313" - integrity sha512-mdFo3FYaI1W3KEd8EHATYx8mDOZIxeoUhcBLlH7Iej6rKvdM7p8GoECrmHPU1l6sCCPtBuz66QT5YeXc7WILsA== +"@sentry/minimal@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" + integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== dependencies: - "@sentry/hub" "5.26.0" - "@sentry/types" "5.26.0" + "@sentry/hub" "5.30.0" + "@sentry/types" "5.30.0" tslib "^1.9.3" "@sentry/node@^5.18.1": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.26.0.tgz#d3ed5856bc5f30b13435be4c569d6c72746cf286" - integrity sha512-BuN9c84f8MxGhYZl+JgVsORh3GiDmuyG9QjawVQ2fmJKVxQ+fcNvde/wq5z7jEca4Z8FrNLa+DHb4c8Fl8gz8g== - dependencies: - "@sentry/core" "5.26.0" - "@sentry/hub" "5.26.0" - "@sentry/tracing" "5.26.0" - "@sentry/types" "5.26.0" - "@sentry/utils" "5.26.0" + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" + integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== + dependencies: + "@sentry/core" "5.30.0" + "@sentry/hub" "5.30.0" + "@sentry/tracing" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" cookie "^0.4.1" https-proxy-agent "^5.0.0" lru_map "^0.3.3" tslib "^1.9.3" -"@sentry/tracing@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.26.0.tgz#33ee0426da14836e54e7b9a8838e4d7d0cb14b70" - integrity sha512-N9qWGmKrFJYKFTZBe8zVT3Qiju0+9bbNJuyun69T+fqP3PCDh+aRlRiP+OKTJyeCZjNG5HIvIlU8wTVUDoYfjQ== +"@sentry/tracing@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" + integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== dependencies: - "@sentry/hub" "5.26.0" - "@sentry/minimal" "5.26.0" - "@sentry/types" "5.26.0" - "@sentry/utils" "5.26.0" + "@sentry/hub" "5.30.0" + "@sentry/minimal" "5.30.0" + "@sentry/types" "5.30.0" + "@sentry/utils" "5.30.0" tslib "^1.9.3" -"@sentry/types@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.26.0.tgz#b0cbacb0b24cd86620fb296b46cf7277bb004a3e" - integrity sha512-ugpa1ePOhK55pjsyutAsa2tiJVQEyGYCaOXzaheg/3+EvhMdoW+owiZ8wupfvPhtZFIU3+FPOVz0d5k9K5d1rw== +"@sentry/types@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" + integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== -"@sentry/utils@5.26.0": - version "5.26.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.26.0.tgz#09a3d01d91747f38f796cafeb24f8fd86e4fa05f" - integrity sha512-F2gnHIAWbjiowcAgxz3VpKxY/NQ39NTujEd/NPnRTWlRynLFg3bAV+UvZFXljhYJeN3b/zRlScNDcpCWTrtZGw== +"@sentry/utils@5.30.0": + version "5.30.0" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" + integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== dependencies: - "@sentry/types" "5.26.0" + "@sentry/types" "5.30.0" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -1235,21 +1132,42 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^7.1.0": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" + integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== + dependencies: + "@sinonjs/commons" "^1.7.0" + "@solidity-parser/parser@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.11.0.tgz#28bc1972e1620f7b388b485bca76a78ac2cb5c59" - integrity sha512-IaC4IaW8uoOB8lmEkw6c19y1vJBK/+7SzAbGQ+LmBYRPXSLNB+UgpORvmcAJEXhB04kWKyz/Os1U8onqm6U/+w== + version "0.11.1" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.11.1.tgz#fa840af64840c930f24a9c82c08d4a092a068add" + integrity sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ== + +"@solidity-parser/parser@^0.12.0": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.12.2.tgz#1afad367cb29a2ed8cdd4a3a62701c2821fb578f" + integrity sha512-d7VS7PxgMosm5NyaiyDJRNID5pK4AWj1l64Dbz0147hJgy5k2C0/ZiKK/9u5c5K+HRUVHmp+RMvGEjGh84oA5Q== -"@solidity-parser/parser@^0.8.0", "@solidity-parser/parser@^0.8.2": +"@solidity-parser/parser@^0.13.2": + version "0.13.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.13.2.tgz#b6c71d8ca0b382d90a7bbed241f9bc110af65cbe" + integrity sha512-RwHnpRnfrnD2MSPveYoPh8nhofEvX7fgjHk1Oq+NNvCcLx4r1js91CO9o+F/F3fBzOCyvm8kKRTriFICX/odWw== + dependencies: + antlr4ts "^0.5.0-alpha.4" + +"@solidity-parser/parser@^0.8.0": version "0.8.2" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.2.tgz#a6a5e93ac8dca6884a99a532f133beba59b87b69" integrity sha512-8LySx3qrNXPgB5JiULfG10O3V7QTxI/TLzSw5hFQhXWSkVxZBAv4rZQ0sYgLEbc8g3L2lmnujj1hKul38Eu5NQ== -"@solidity-parser/parser@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.1.tgz#1b606578af86b9ad10755409804a6ba83f9ce8a4" - integrity sha512-DF7H6T8I4lo2IZOE2NZwt3631T8j1gjpQLjmvY2xBNK50c4ltslR4XPKwT6RkeSd4+xCAK0GHC/k7sbRDBE4Yw== - "@szmarczak/http-timer@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" @@ -1257,54 +1175,60 @@ dependencies: defer-to-connect "^1.0.1" -"@truffle/error@^0.0.11": - version "0.0.11" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.11.tgz#2789c0042d7e796dcbb840c7a9b5d2bcd8e0e2d8" - integrity sha512-ju6TucjlJkfYMmdraYY/IBJaFb+Sa+huhYtOoyOJ+G29KcgytUVnDzKGwC7Kgk6IsxQMm62Mc1E0GZzFbGGipw== +"@truffle/error@^0.0.14": + version "0.0.14" + resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.0.14.tgz#59683b5407bede7bddf16d80dc5592f9c5e5fa05" + integrity sha512-utJx+SZYoMqk8wldQG4gCVKhV8GwMJbWY7sLXFT/D8wWZTnE2peX7URFJh/cxkjTRCO328z1s2qewkhyVsu2HA== -"@truffle/interface-adapter@^0.4.18": - version "0.4.18" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.4.18.tgz#1aac45596997d208085d5168f82b990624610646" - integrity sha512-P9JVSYD/CX3V+NgTWu+Bf71sLh8pMwrCpbiYRB93pRw/1H3ZTvt5iDC2MVvVxCs8FkSiy4OZzQK/DJ8+hXAmYw== +"@truffle/interface-adapter@^0.5.8": + version "0.5.8" + resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.8.tgz#76cfd34374d85849e1164de1a3d5a3dce0dc5d01" + integrity sha512-vvy3xpq36oLgjjy8KE9l2Jabg3WcGPOt18tIyMfTQX9MFnbHoQA2Ne2i8xsd4p6KfxIqSjAB53Q9/nScAqY0UQ== dependencies: - bn.js "^4.11.8" + bn.js "^5.1.3" ethers "^4.0.32" - source-map-support "^0.5.19" - web3 "1.2.9" + web3 "1.5.3" "@truffle/provider@^0.2.24": - version "0.2.25" - resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.25.tgz#32a9539b625fad2d2203be9843e8a9d3011aebed" - integrity sha512-BohKgT2357c2dYCH2IQwldQ4EJkfsWUClpb3j+kR8ng02vbsyAPe0HMH463I+h+tiDKvL757dBltXpe0DBJusg== + version "0.2.42" + resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.2.42.tgz#9da6a144b3c9188cdb587451dd7bd907b4c7164b" + integrity sha512-ZNoglPho4alYIjJR+sLTgX0x6ho7m4OAUWuJ50RAWmoEqYc4AM6htdrI+lTSoRrOHHbmgasv22a7rFPMnmDrTg== dependencies: - "@truffle/error" "^0.0.11" - "@truffle/interface-adapter" "^0.4.18" - web3 "1.2.9" + "@truffle/error" "^0.0.14" + "@truffle/interface-adapter" "^0.5.8" + web3 "1.5.3" + +"@typechain/ethers-v5@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-2.0.0.tgz#cd3ca1590240d587ca301f4c029b67bfccd08810" + integrity sha512-0xdCkyGOzdqh4h5JSf+zoWx85IusEjDcPIwNEHP8mrWSnCae4rvrqB+/gtpdNfX7zjlFlZiMeePn2r63EI3Lrw== + dependencies: + ethers "^5.0.2" "@typechain/ethers-v5@^6.0.2": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-6.0.2.tgz#61383e8e9b16693cd873559a0a22808e94c1d208" - integrity sha512-v22qRO7v6gOVLznwSnPBEHZnTyyc2G1zAFmQdFv6sPelBsCvXrMY3sIhVow2gU2j43SpJ5vmGx84xLeWmll8CA== + version "6.0.5" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-6.0.5.tgz#39bbf9baadd0e8d9efad9d16c60152b7cd9a467b" + integrity sha512-KJh+EWuxmX1a17fQWS1ba8DCYcqK7UpdbqMZZwyfiv9FQfn8ZQJX17anbkCMOSU8TV3EvRuJ/vFEKGzKnpkO8g== "@types/abstract-leveldown@*": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-5.0.1.tgz#3c7750d0186b954c7f2d2f6acc8c3c7ba0c3412e" - integrity sha512-wYxU3kp5zItbxKmeRYCEplS2MW7DzyBnxPGj+GJVHZEUZiK/nn5Ei1sUFgURDh+X051+zsGe28iud3oHjrYWQQ== - -"@types/bn.js@*", "@types/bn.js@^4.11.3", "@types/bn.js@^4.11.4", "@types/bn.js@^4.11.5": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-5.0.2.tgz#ee81917fe38f770e29eec8139b6f16ee4a8b0a5f" + integrity sha512-+jA1XXF3jsz+Z7FcuiNqgK53hTa/luglT2TyTpKPqoYbxVY+mCPF22Rm+q3KPBrMHJwNXFrTViHszBOfU4vftQ== -"@types/bn.js@^5.1.0": +"@types/bn.js@*", "@types/bn.js@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.0.tgz#32c5d271503a12653c62cf4d2b45e6eab8cebc68" integrity sha512-QSSVYj7pYFN49kW77o2s9xTCwZ8F2xLbjLLSEVh8D2F4JUhZtPAGOFLTD+ffqksBx/u4cE/KImFjyhqCjn/LIA== dependencies: "@types/node" "*" +"@types/bn.js@^4.11.3", "@types/bn.js@^4.11.4", "@types/bn.js@^4.11.5": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== + dependencies: + "@types/node" "*" + "@types/cbor@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@types/cbor/-/cbor-2.0.0.tgz#c627afc2ee22f23f2337fecb34628a4f97c6afbb" @@ -1313,14 +1237,14 @@ "@types/node" "*" "@types/chai@*", "@types/chai@^4.2.12": - version "4.2.13" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.13.tgz#8a3801f6655179d1803d81e94a2e4aaf317abd16" - integrity sha512-o3SGYRlOpvLFpwJA6Sl1UPOwKFEvE4FxTEB/c9XHI2whdnd4kmPVkNLL8gY4vWGBxWWDumzLbKsAhEH5SKn37Q== + version "4.2.22" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.22.tgz#47020d7e4cf19194d43b5202f35f75bd2ad35ce7" + integrity sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ== "@types/concat-stream@^1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.0.tgz#394dbe0bb5fee46b38d896735e8b68ef2390d00d" - integrity sha1-OU2+C7X+5Gs42JZzXoto7yOQ0A0= + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" + integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== dependencies: "@types/node" "*" @@ -1332,30 +1256,36 @@ "@types/node" "*" "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + version "7.1.4" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" + integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== dependencies: "@types/minimatch" "*" "@types/node" "*" +"@types/level-errors@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/level-errors/-/level-errors-3.0.0.tgz#15c1f4915a5ef763b51651b15e90f6dc081b96a8" + integrity sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ== + "@types/levelup@^4.3.0": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.1.tgz#7a53b9fd510716e11b2065332790fdf5f9b950b9" - integrity sha512-n//PeTpbHLjMLTIgW5B/g06W/6iuTBHuvUka2nFL9APMSVMNe2r4enADfu3CIE9IyV9E+uquf9OEQQqrDeg24A== + version "4.3.3" + resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.3.tgz#4dc2b77db079b1cf855562ad52321aa4241b8ef4" + integrity sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA== dependencies: "@types/abstract-leveldown" "*" + "@types/level-errors" "*" "@types/node" "*" "@types/lru-cache@^5.1.0": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03" - integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== "@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/mkdirp@^0.5.2": version "0.5.2" @@ -1365,42 +1295,37 @@ "@types/node" "*" "@types/mocha@^8.0.3": - version "8.0.3" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.0.3.tgz#51b21b6acb6d1b923bbdc7725c38f9f455166402" - integrity sha512-vyxR57nv8NfcU0GZu8EUXZLTbCMupIUwy95LJ6lllN+JRPG25CwMHoB1q5xKh8YKhQnHYRAn4yW2yuHbf/5xgg== + version "8.2.3" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-8.2.3.tgz#bbeb55fbc73f28ea6de601fbfa4613f58d785323" + integrity sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw== "@types/node-fetch@^2.5.5": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.7.tgz#20a2afffa882ab04d44ca786449a276f9f6bbf3c" - integrity sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw== + version "2.5.12" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.12.tgz#8a6f779b1d4e60b7a57fb6fd48d84fb545b9cc66" + integrity sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw== dependencies: "@types/node" "*" form-data "^3.0.0" -"@types/node@*", "@types/node@^14.6.1": - version "14.11.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.8.tgz#fe2012f2355e4ce08bca44aeb3abbb21cf88d33f" - integrity sha512-KPcKqKm5UKDkaYPTuXSx8wEP7vE9GnuaXIZKijwRYcePpZFDVuy2a57LarFKiORbHOuTOOwYzxVxcUzsh2P2Pw== - -"@types/node@^10.0.3": - version "10.17.50" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.50.tgz#7a20902af591282aa9176baefc37d4372131c32d" - integrity sha512-vwX+/ija9xKc/z9VqMCdbf4WYcMTGsI0I/L/6shIF3qXURxZOhPQlPRHtjTpiNhAwn0paMJzlOQqw6mAGEQnTA== - -"@types/node@^10.12.18": - version "10.17.39" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.39.tgz#ce1122758d0608de8303667cebf171f44192629b" - integrity sha512-dJLCxrpQmgyxYGcl0Ae9MTsQgI22qHHcGFj/8VKu7McJA5zQpnuGjoksnxbo1JxSjW/Nahnl13W8MYZf01CZHA== +"@types/node@*": + version "16.11.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.0.tgz#4b95f2327bacd1ef8f08d8ceda193039c5d7f52e" + integrity sha512-8MLkBIYQMuhRBQzGN9875bYsOhPnf/0rgXGo66S2FemHkhbn9qtsz9ywV1iCG+vbjigE4WUNVvw37Dx+L0qsPg== -"@types/node@^10.3.2": +"@types/node@^10.0.3", "@types/node@^10.12.18", "@types/node@^10.3.2": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^12.12.6", "@types/node@^12.6.1": - version "12.12.67" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.67.tgz#4f86badb292e822e3b13730a1f9713ed2377f789" - integrity sha512-R48tgL2izApf+9rYNH+3RBMbRpPeW3N8f0I9HMhggeq4UXwBDqumJ14SDs4ctTMhG11pIOduZ4z3QWGOiMc9Vg== + version "12.20.33" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.33.tgz#24927446e8b7669d10abacedd16077359678f436" + integrity sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw== + +"@types/node@^14.0.13", "@types/node@^14.6.1": + version "14.17.27" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.27.tgz#5054610d37bb5f6e21342d0e6d24c494231f3b85" + integrity sha512-94+Ahf9IcaDuJTle/2b+wzvjmutxXAEXU6O81JHblYXUg2BDG+dnBy7VxIPHKAyEEDHzCMQydTJuWvrE+Aanzw== "@types/node@^8.0.0": version "8.10.66" @@ -1415,14 +1340,14 @@ "@types/node" "*" "@types/prettier@^2.1.1": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.2.tgz#e2280c89ddcbeef340099d6968d8c86ba155fdf6" - integrity sha512-i99hy7Ki19EqVOl77WplDrvgNugHnsSjECVR/wUrzw2TJXz1zlUfT2ngGckR6xN7yFYaijsMAqPkOLx9HgUqHg== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" + integrity sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw== -"@types/qs@^6.2.31": - version "6.9.5" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" - integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== +"@types/qs@^6.2.31", "@types/qs@^6.9.7": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== "@types/resolve@^0.0.8": version "0.0.8" @@ -1432,9 +1357,9 @@ "@types/node" "*" "@types/secp256k1@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.1.tgz#fb3aa61a1848ad97d7425ff9dcba784549fca5a4" - integrity sha512-+ZjSA8ELlOp8SlKi0YLB2tz9d5iPNEmOBd+8Rz21wTMdaXQIa9b6TEnD6l5qKOCypE7FSyPyck12qZJxSDNoog== + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" + integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== dependencies: "@types/node" "*" @@ -1447,21 +1372,16 @@ "@types/sinon" "*" "@types/sinon@*": - version "9.0.8" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-9.0.8.tgz#1ed0038d356784f75b086104ef83bfd4130bb81b" - integrity sha512-IVnI820FZFMGI+u1R+2VdRaD/82YIQTdqLYC9DLPszZuynAJDtCvCtCs3bmyL66s7FqRM3+LPX7DhHnVTaagDw== + version "10.0.4" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.4.tgz#9332527665692b9f6826afe017f342a3ac6120f4" + integrity sha512-fOYjrxQv8zJsqOY6V6ecP4eZhQBxtY80X0er1VVnUIAIZo74jHm8e1vguG5Yt4Iv8W2Wr7TgibB8MfRe32k9pA== dependencies: - "@types/sinonjs__fake-timers" "*" - -"@types/sinonjs__fake-timers@*": - version "6.0.2" - resolved "https://registry.yarnpkg.com/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" - integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== + "@sinonjs/fake-timers" "^7.1.0" "@types/underscore@*": - version "1.10.24" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.10.24.tgz#dede004deed3b3f99c4db0bdb9ee21cae25befdd" - integrity sha512-T3NQD8hXNW2sRsSbLNjF/aBo18MyJlbw0lSpQHB/eZZtScPdexN4HSa8cByYwTw9Wy7KuOFr81mlDQcQQaZ79w== + version "1.11.3" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.11.3.tgz#d6734f3741ce41b2630018c6b61c6745f6188c07" + integrity sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw== "@types/web3@1.0.19": version "1.0.19" @@ -1559,9 +1479,9 @@ acorn-jsx@^3.0.0: acorn "^3.0.4" acorn-jsx@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn@^3.0.4: version "3.3.0" @@ -1599,9 +1519,9 @@ aes-js@^3.1.1: integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== agent-base@6: - version "6.0.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.1.tgz#808007e4e5867decb0ab6ab2f928fbdb5a596db4" - integrity sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg== + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" @@ -1651,11 +1571,11 @@ ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: - type-fest "^0.11.0" + type-fest "^0.21.3" ansi-regex@^2.0.0: version "2.1.1" @@ -1672,10 +1592,10 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^2.2.1: version "2.2.1" @@ -1701,15 +1621,20 @@ antlr4@4.7.1: resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.7.1.tgz#69984014f096e9e775f53dd9744bf994d8959773" integrity sha512-haHyTW7Y9joE5MVs37P2lNYfU2RWBLfcRDD8OWldcdZm5TiCE91B5Xl1oWSwiDUSd4rlExpt2pu1fksYQjRBYQ== +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + any-promise@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== +anymatch@~3.1.1, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -1724,6 +1649,41 @@ app-root-path@~2.1.0: resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-2.1.0.tgz#98bf6599327ecea199309866e8140368fd2e646a" integrity sha1-mL9lmTJ+zqGZMJhm6BQDaP0uZGo= +"arb-bridge-eth@https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-eth": + version "0.7.2" + resolved "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-eth#321d912dfcea4838f8a2a23673a4c36789525bf1" + dependencies: + "@openzeppelin/contracts" "3.4.2" + "@openzeppelin/contracts-0.8" "npm:@openzeppelin/contracts@^4.3.2" + "@openzeppelin/contracts-upgradeable" "3.4.2" + "@types/node" "^14.0.13" + dotenv "^10.0.0" + ethers "^5.4.0" + hardhat-deploy "^0.9.1" + typescript "^4.2.2" + +"arb-bridge-peripherals@https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-peripherals": + version "1.0.0" + resolved "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-peripherals#c17ad41b5020e42a04835da8564930c379c43c2a" + optionalDependencies: + "@openzeppelin/upgrades-core" "^1.7.6" + +arb-ts@^0.0.42: + version "0.0.42" + resolved "https://registry.yarnpkg.com/arb-ts/-/arb-ts-0.0.42.tgz#c29ce19897c636aa7b8fb6f1dbb0076e15eed1e3" + integrity sha512-QbUf1iQR9YsuD0RutZD/evRUrIipVPyBegNzjGheEwDtSlZ2djMWKWrvkJnAXnmP5qKjVYLVCeJFxkvORKKPvw== + dependencies: + "@ethersproject/address" "^5.0.8" + "@ethersproject/bignumber" "^5.1.1" + "@ethersproject/bytes" "^5.0.8" + "@nomiclabs/hardhat-ethers" "^2.0.2" + dotenv "^10.0.0" + ethers "^5.1.0" + +"arbos-contracts@https://gitpkg.now.sh/OffchainLabs/arb-os/contracts": + version "1.0.0" + resolved "https://gitpkg.now.sh/OffchainLabs/arb-os/contracts#063cacfca96623785d3087aa7ff37507a4b77e88" + arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1873,10 +1833,10 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -available-typed-arrays@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9" - integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA== +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== aws-sign2@~0.7.0: version "0.7.0" @@ -1884,9 +1844,9 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== axios@^0.18.0: version "0.18.1" @@ -1897,11 +1857,11 @@ axios@^0.18.0: is-buffer "^2.0.2" axios@^0.21.1: - version "0.21.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" - integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: - follow-redirects "^1.10.0" + follow-redirects "^1.14.0" babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" @@ -2430,9 +2390,9 @@ backoff@^2.5.0: precond "0.2" balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base-x@^3.0.2, base-x@^3.0.8: version "3.0.8" @@ -2441,10 +2401,10 @@ base-x@^3.0.2, base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -2482,9 +2442,9 @@ bignumber.js@^9.0.0, bignumber.js@^9.0.1: integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bindings@^1.5.0: version "1.5.0" @@ -2531,9 +2491,9 @@ bl@^1.0.0: safe-buffer "^5.1.1" blakejs@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.0.tgz#69df92ef953aa88ca51a32df6ab1c54a155fc7a5" - integrity sha1-ad+S75U6qIylGjLfarHFShVfx6U= + version "1.1.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" + integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== bluebird@^3.5.0, bluebird@^3.5.2: version "3.7.2" @@ -2555,15 +2515,15 @@ bn.js@5.0.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.0.0.tgz#5c3d398021b3ddb548c1296a16f857e908f35c70" integrity sha512-bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0, bn.js@^4.8.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.10.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0, bn.js@^4.8.0: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1, bn.js@^5.1.2: - version "5.1.3" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" - integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== +bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== body-parser@1.19.0, body-parser@^1.16.0: version "1.19.0" @@ -2659,11 +2619,11 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: @@ -2729,9 +2689,9 @@ buffer-fill@^1.0.0: integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-to-arraybuffer@^0.0.5: version "0.0.5" @@ -2751,19 +2711,19 @@ buffer-xor@^2.0.1: safe-buffer "^5.1.1" buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" + base64-js "^1.3.1" + ieee754 "^1.1.13" bufferutil@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.1.tgz#3a177e8e5819a1243fe16b63a199951a7ad8d4a7" - integrity sha512-xowrxvpxojqkagPcWRQVXZl0YXhRhAtBEIq3VoER1NH5Mw1n1o0ojdspp+GS2J//2gCVyrzQDApQ4unGF+QOoA== + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== dependencies: - node-gyp-build "~3.7.0" + node-gyp-build "^4.3.0" builtin-modules@^1.1.1: version "1.1.1" @@ -2826,7 +2786,7 @@ cachedown@1.0.0: abstract-leveldown "^2.4.1" lru-cache "^3.2.0" -call-bind@^1.0.0, call-bind@^1.0.2: +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -2881,9 +2841,9 @@ camelcase@^5.0.0: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30000844: - version "1.0.30001148" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001148.tgz#dc97c7ed918ab33bf8706ddd5e387287e015d637" - integrity sha512-E66qcd0KMKZHNJQt9hiLZGE3J4zuTqE1OnU53miEVtylFbwOEmeA5OsRu90noZful+XGSQOni1aT2tiqu/9yYw== + version "1.0.30001267" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz#b1cf2937175afc0570e4615fc2d2f9069fa0ed30" + integrity sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg== caseless@^0.12.0, caseless@~0.12.0: version "0.12.0" @@ -2908,24 +2868,23 @@ cbor@^5.0.2: bignumber.js "^9.0.1" nofilter "^1.0.4" -cbor@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-7.0.3.tgz#216d292f2aedd1bb61414a8f949b63e4de11b33b" - integrity sha512-Io+lJytjYBJKgJqZQUz2bFaMPj+HtlsnT9kHSUiIJFqzWa05lm5/ycQ+NiZWpks3DR2Fz7j7axiTGeT57w/syg== +cbor@^8.0.0: + version "8.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.0.2.tgz#d0f5088423437efcc160e9304bd0576f45d06abb" + integrity sha512-H5WTjQYgyHQI0VrCmbyQBOPy1353MjmUi/r3DbPib4U13vuyqm7es9Mfpe8G58bN/mCdRlJWkiCrPl1uM1wAlg== dependencies: - "@cto.af/textdecoder" "^0.0.0" - nofilter "^2.0.3" + nofilter "^3.0.3" chai@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + version "4.3.4" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.4.tgz#b55e655b31e1eac7099be4c08c21964fce2e6c49" + integrity sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA== dependencies: assertion-error "^1.1.0" check-error "^1.0.2" deep-eql "^3.0.1" get-func-name "^2.0.0" - pathval "^1.1.0" + pathval "^1.1.1" type-detect "^4.0.5" "chainbridge-solidity@https://github.com/meterio/chainbridge-solidity-v1.0.0-eth#6b02b0a52ce7e3967feeffbe6a6440a5b1006aec": @@ -2952,10 +2911,10 @@ chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== +chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -3002,22 +2961,22 @@ chokidar@3.3.0: optionalDependencies: fsevents "~2.1.1" -chokidar@^3.4.0: - version "3.4.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.3.tgz#c1df38231448e45ca4ac588e6c79573ba6a57d5b" - integrity sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== +chokidar@^3.4.0, chokidar@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== dependencies: - anymatch "~3.1.1" + anymatch "~3.1.2" braces "~3.0.2" - glob-parent "~5.1.0" + glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.5.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "~2.1.2" + fsevents "~2.3.2" -chownr@^1.1.1: +chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -3270,9 +3229,9 @@ content-type@~1.0.4: integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== convert-source-map@^1.5.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" @@ -3292,9 +3251,9 @@ cookie@^0.4.1: integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== cookiejar@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" - integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== + version "2.1.3" + resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.3.tgz#fc7a6216e408e74414b90230050842dacda75acc" + integrity sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ== copy-descriptor@^0.1.0: version "0.1.1" @@ -3302,20 +3261,25 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-pure@^3.0.1: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== + version "3.18.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.3.tgz#7eed77dcce1445ab68fd68715856633e2fb3b90c" + integrity sha512-qfskyO/KjtbYn09bn1IPkuhHl5PlJ6IzJ9s9sraJ1EqcuGyLGKzhSM1cY0zgyL9hx42eulQLZ6WaeK5ycJCkqw== core-js@^2.4.0, core-js@^2.5.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + cors@^2.8.1: version "2.8.5" resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" @@ -3373,12 +3337,17 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + cross-fetch@^2.1.0, cross-fetch@^2.1.1: - version "2.2.3" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e" - integrity sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw== + version "2.2.5" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.5.tgz#afaf5729f3b6c78d89c9296115c9f142541a5705" + integrity sha512-xqYAhQb4NhCJSRym03dwxpP1bYXpK3y7UN83Bo2WFi3x1Zmzn0SL/6xGoPr+gpt4WmNrgCCX3HPysvOwFOW36w== dependencies: - node-fetch "2.1.2" + node-fetch "2.6.1" whatwg-fetch "2.0.4" cross-spawn@^5.0.1, cross-spawn@^5.1.0: @@ -3462,20 +3431,27 @@ debug@3.1.0, debug@=3.1.0: dependencies: ms "2.0.0" -debug@3.2.6, debug@^3.1.0: +debug@3.2.6: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== dependencies: ms "^2.1.1" -debug@4, debug@^4.0.1, debug@^4.1.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" - integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== +debug@4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== dependencies: ms "2.1.2" +debug@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -3566,9 +3542,9 @@ deep-equal@~1.1.1: regexp.prototype.flags "^1.2.0" deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== defer-to-connect@^1.0.1: version "1.1.3" @@ -3706,11 +3682,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dir-to-object@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-to-object/-/dir-to-object-2.0.0.tgz#29723e9bd1c3e58e4f307bd04ff634c0370c8f8a" - integrity sha512-sXs0JKIhymON7T1UZuO2Ud6VTNAx/VTBXIl4+3mjb2RgfOpt+hectX0x04YqPOPdkeOAKoJuKqwqnXXURNPNEA== - doctrine@1.3.x: version "1.3.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.3.0.tgz#13e75682b55518424276f7c173783456ef913d26" @@ -3738,6 +3709,11 @@ dom-walk@^0.1.0: resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + dotignore@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" @@ -3773,9 +3749,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.47: - version "1.3.579" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.579.tgz#58bf17499de6edf697e1442017d8569bce0d301a" - integrity sha512-9HaGm4UDxCtcmIqWWdv79pGgpRZWTqr+zg6kxp0MelSHfe1PNjrI8HXy1HgTSy4p0iQETGt8/ElqKFLW008BSA== + version "1.3.870" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.870.tgz#c15c921e66a46985181b261f8093b91c2abb6604" + integrity sha512-PiJMshfq6PL+i1V+nKLwhHbCKeD8eAz8rvO9Cwk/7cChOHJBtufmjajLyYLsSRHguRFiOCVx3XzJLeZsIAYfSA== elliptic@6.3.3: version "6.3.3" @@ -3787,7 +3763,7 @@ elliptic@6.3.3: hash.js "^1.0.0" inherits "^2.0.1" -elliptic@6.5.3, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: +elliptic@6.5.3: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== @@ -3800,7 +3776,7 @@ elliptic@6.5.3, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -elliptic@6.5.4: +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -3823,10 +3799,15 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.0.0: - version "9.1.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.1.1.tgz#1d5ffce26d8191e6c3f3a9d27987b1c5bba7d20a" - integrity sha512-AaWyDiNO9rbtMIcGl7tdxMcNu8SOLaDLxmQEFT5JhgKufOJzPPkYmgN2QwqTgw4doWMZZQttC6sUWVQjb+1VdA== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +encode-utf8@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== encodeurl@~1.0.2: version "1.0.2" @@ -3868,7 +3849,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.0: +enquirer@^2.3.0, enquirer@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -3876,14 +3857,14 @@ enquirer@^2.3.0: ansi-colors "^4.1.1" env-paths@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" - integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== errno@~0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -3894,57 +3875,26 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.7" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" - integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.0-next.0, es-abstract@^1.18.0-next.1: - version "1.18.0-next.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" - integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.0" - is-regex "^1.1.1" - object-inspect "^1.8.0" - object-keys "^1.1.1" - object.assign "^4.1.1" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.0-next.2: - version "1.18.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" - integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== +es-abstract@^1.18.5, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" - is-callable "^1.2.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" @@ -4267,13 +4217,6 @@ espree@^5.0.1: acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" -esprima-extract-comments@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/esprima-extract-comments/-/esprima-extract-comments-1.1.0.tgz#0dacab567a5900240de6d344cf18c33617becbc9" - integrity sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw== - dependencies: - esprima "^4.0.0" - esprima@2.7.x, esprima@^2.7.1: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" @@ -4285,9 +4228,9 @@ esprima@^4.0.0: integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.0.0, esquery@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" @@ -4345,12 +4288,12 @@ eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: js-sha3 "^0.5.7" eth-gas-reporter@^0.2.20: - version "0.2.20" - resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.20.tgz#431c144f00cd01cc29ce211a10a4e5a539a84e25" - integrity sha512-gp/PhKrr3hYEEFg5emIQxbhQkVH2mg+iHcM6GvqhzFx5IkZGeQx+5oNzYDEfBXQefcA90rwWHId6eCty6jbdDA== + version "0.2.22" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.22.tgz#bbe91f5d7b22433d26f099eeb5b20118ced0e575" + integrity sha512-L1FlC792aTf3j/j+gGzSNlGrXKSxNPXQNk6TnV5NNZ2w3jnQCRyJjDl0zUo25Cq2t90IS5vGdbkwqFQK7Ce+kw== dependencies: "@ethersproject/abi" "^5.0.0-beta.146" - "@solidity-parser/parser" "^0.8.2" + "@solidity-parser/parser" "^0.12.0" cli-table3 "^0.5.0" colors "^1.1.2" ethereumjs-util "6.2.0" @@ -4403,7 +4346,7 @@ eth-lib@0.2.7: elliptic "^6.4.0" xhr-request-promise "^0.1.2" -eth-lib@0.2.8, eth-lib@^0.2.8: +eth-lib@0.2.8: version "0.2.8" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== @@ -4432,10 +4375,10 @@ eth-query@^2.0.2, eth-query@^2.1.0, eth-query@^2.1.2: json-rpc-random-id "^1.0.0" xtend "^4.0.1" -eth-sig-util@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.3.0.tgz#c54a6ac8e8796f7e25f59cf436982a930e645231" - integrity sha512-ugD1AvaggvKaZDgnS19W5qOfepjGc7qHrt7TrAaL54gJw9SHvgIXJ3r2xOMW30RWJZNP+1GlTOy5oye7yXA4xA== +eth-sig-util@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.0.tgz#75133b3d7c20a5731af0690c385e184ab942b97e" + integrity sha512-4eFkMOhpGbTxBQ3AMzVf0haUX2uTur7DpWiHzWyTURa28BVJJtOkcb9Ok5TV0YvEPG61DODPW7ZUATbJTslioQ== dependencies: buffer "^5.2.1" elliptic "^6.4.0" @@ -4452,19 +4395,7 @@ eth-sig-util@^1.4.2: ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git" ethereumjs-util "^5.1.1" -eth-sig-util@^2.5.2: - version "2.5.3" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.5.3.tgz#6938308b38226e0b3085435474900b03036abcbe" - integrity sha512-KpXbCKmmBUNUTGh9MRKmNkIPietfhzBqqYqysDavLseIiMUGl95k6UcPEkALAZlj41e9E6yioYXc1PC333RKqw== - dependencies: - buffer "^5.2.1" - elliptic "^6.4.0" - ethereumjs-abi "0.6.5" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.0" - tweetnacl-util "^0.15.0" - -eth-sig-util@^2.5.3: +eth-sig-util@^2.5.2, eth-sig-util@^2.5.3: version "2.5.4" resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-2.5.4.tgz#577b01fe491b6bf59b0464be09633e20c1677bc5" integrity sha512-aCMBwp8q/4wrW4QLsF/HYBOSA7TpLKmkVwP3pYQNkEEseW2Rr8Z5Uxc9/h6HX+OG3tuHo+2bINVSihIeBfym6A== @@ -4501,9 +4432,9 @@ ethashjs@~0.0.7: miller-rabin "^4.0.0" ethereum-bloom-filters@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.7.tgz#b7b80735e385dbb7f944ce6b4533e24511306060" - integrity sha512-cDcJJSJ9GMAcURiAWO3DxIEhTL/uWqlQnvgKpuYQzYPrt/izuGU+1ntQmHt0IRq6ADoSYHFnB+aCEFIldjhkMQ== + version "1.0.10" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" + integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== dependencies: js-sha3 "^0.8.0" @@ -4539,14 +4470,14 @@ ethereum-cryptography@^0.1.2, ethereum-cryptography@^0.1.3: setimmediate "^1.0.5" ethereum-waffle@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.2.1.tgz#9d6d6b93484c5e1b77dfdeb646c050ed877e836e" - integrity sha512-Fhg7BaBuV+Xo5XT+NEC3UTKGunvpq+iQPglZbIAJF6ZcwQwkiKfJUDuB0ZSkg5ntbRS4gpahfoXj1nTzdtx8UA== + version "3.4.0" + resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-3.4.0.tgz#990b3c6c26db9c2dd943bf26750a496f60c04720" + integrity sha512-ADBqZCkoSA5Isk486ntKJVjFEawIiC+3HxNqpJqONvh3YXBTNiRfXvJtGuAFLXPG91QaqkGqILEHANAo7j/olQ== dependencies: - "@ethereum-waffle/chai" "^3.2.1" - "@ethereum-waffle/compiler" "^3.2.1" - "@ethereum-waffle/mock-contract" "^3.2.1" - "@ethereum-waffle/provider" "^3.2.1" + "@ethereum-waffle/chai" "^3.4.0" + "@ethereum-waffle/compiler" "^3.4.0" + "@ethereum-waffle/mock-contract" "^3.3.0" + "@ethereum-waffle/provider" "^3.4.0" ethers "^5.0.1" ethereumjs-abi@0.6.5: @@ -4557,17 +4488,17 @@ ethereumjs-abi@0.6.5: bn.js "^4.10.0" ethereumjs-util "^4.3.0" -ethereumjs-abi@0.6.7: - version "0.6.7" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.7.tgz#d1d1c5cdb8d910a7d97645ba9e93be5d153bba2e" - integrity sha512-EMLOA8ICO5yAaXDhjVEfYjsJIXYutY8ufTE93eEKwsVtp2usQreKwsDTJ9zvam3omYqNuffr8IONIqb2uUslGQ== +ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.8: + version "0.6.8" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" + integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== dependencies: bn.js "^4.11.8" ethereumjs-util "^6.0.0" -ethereumjs-abi@0.6.8, ethereumjs-abi@^0.6.8, "ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": +"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git": version "0.6.8" - resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#1ce6a1d64235fabe2aaf827fd606def55693508f" + resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0" dependencies: bn.js "^4.11.8" ethereumjs-util "^6.0.0" @@ -4715,28 +4646,15 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereum rlp "^2.0.0" safe-buffer "^5.1.1" -ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.7: - version "7.0.10" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.10.tgz#5fb7b69fa1fda0acc59634cf39d6b0291180fc1f" - integrity sha512-c/xThw6A+EAnej5Xk5kOzFzyoSnw0WX0tSlZ6pAsfGVvQj3TItaDg9b1+Fz1RJXA+y2YksKwQnuzgt1eY6LKzw== +ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.2, ethereumjs-util@^7.0.3, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2: + version "7.1.3" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" + integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== dependencies: "@types/bn.js" "^5.1.0" bn.js "^5.1.2" create-hash "^1.1.2" ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.4" - -ethereumjs-util@^7.0.2, ethereumjs-util@^7.0.3: - version "7.0.6" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.0.6.tgz#ce4a6391a163cd1f2217b5276273f83bdacc7ab2" - integrity sha512-E9aJ9W7XZkcBqIblfstBU+0nGSjF9Dz/Ps7s1NTFOgDZM8pwD+nX1P1GBJeSqB6Osxhj2UtuxVCqjvmrj2svzw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" rlp "^2.2.4" ethereumjs-vm@4.2.0: @@ -4845,13 +4763,13 @@ ethers@5.0.18: "@ethersproject/wordlists" "5.0.5" ethers@^4.0.20, ethers@^4.0.32, ethers@^4.0.40: - version "4.0.48" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.48.tgz#330c65b8133e112b0613156e57e92d9009d8fbbe" - integrity sha512-sZD5K8H28dOrcidzx9f8KYh8083n5BexIO3+SbE4jK83L85FxtpXZBCQdXb8gkg+7sBqomcLhhkU7UHL+F7I2g== + version "4.0.49" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" + integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== dependencies: aes-js "3.0.0" - bn.js "^4.4.0" - elliptic "6.5.3" + bn.js "^4.11.9" + elliptic "6.5.4" hash.js "1.1.3" js-sha3 "0.5.7" scrypt-js "2.0.4" @@ -4859,41 +4777,41 @@ ethers@^4.0.20, ethers@^4.0.32, ethers@^4.0.40: uuid "2.0.1" xmlhttprequest "1.8.0" -ethers@^5.0.0, ethers@^5.0.1: - version "5.0.17" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.0.17.tgz#35dea41f1d09d31f80e0bb4c03cb633cd6673756" - integrity sha512-E0MrwCttHgdD6Irfa0B9cNdX0VoWVWLusaj51+EQalkl3pqhV2zGMPncfhYbc9+4nD2u81dbX8Pk9UN5kh/jew== - dependencies: - "@ethersproject/abi" "5.0.7" - "@ethersproject/abstract-provider" "5.0.5" - "@ethersproject/abstract-signer" "5.0.6" - "@ethersproject/address" "5.0.5" - "@ethersproject/base64" "5.0.4" - "@ethersproject/basex" "5.0.4" - "@ethersproject/bignumber" "5.0.8" - "@ethersproject/bytes" "5.0.5" - "@ethersproject/constants" "5.0.5" - "@ethersproject/contracts" "5.0.5" - "@ethersproject/hash" "5.0.5" - "@ethersproject/hdnode" "5.0.5" - "@ethersproject/json-wallets" "5.0.7" - "@ethersproject/keccak256" "5.0.4" - "@ethersproject/logger" "5.0.6" - "@ethersproject/networks" "5.0.4" - "@ethersproject/pbkdf2" "5.0.4" - "@ethersproject/properties" "5.0.4" - "@ethersproject/providers" "5.0.12" - "@ethersproject/random" "5.0.4" - "@ethersproject/rlp" "5.0.4" - "@ethersproject/sha2" "5.0.4" - "@ethersproject/signing-key" "5.0.5" - "@ethersproject/solidity" "5.0.5" - "@ethersproject/strings" "5.0.5" - "@ethersproject/transactions" "5.0.6" - "@ethersproject/units" "5.0.6" - "@ethersproject/wallet" "5.0.5" - "@ethersproject/web" "5.0.9" - "@ethersproject/wordlists" "5.0.5" +ethers@^5.0.1, ethers@^5.0.2, ethers@^5.1.0, ethers@^5.4.0, ethers@^5.4.7: + version "5.4.7" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.7.tgz#0fd491a5da7c9793de2d6058d76b41b1e7efba8f" + integrity sha512-iZc5p2nqfWK1sj8RabwsPM28cr37Bpq7ehTQ5rWExBr2Y09Sn1lDKZOED26n+TsZMye7Y6mIgQ/1cwpSD8XZew== + dependencies: + "@ethersproject/abi" "5.4.1" + "@ethersproject/abstract-provider" "5.4.1" + "@ethersproject/abstract-signer" "5.4.1" + "@ethersproject/address" "5.4.0" + "@ethersproject/base64" "5.4.0" + "@ethersproject/basex" "5.4.0" + "@ethersproject/bignumber" "5.4.2" + "@ethersproject/bytes" "5.4.0" + "@ethersproject/constants" "5.4.0" + "@ethersproject/contracts" "5.4.1" + "@ethersproject/hash" "5.4.0" + "@ethersproject/hdnode" "5.4.0" + "@ethersproject/json-wallets" "5.4.0" + "@ethersproject/keccak256" "5.4.0" + "@ethersproject/logger" "5.4.1" + "@ethersproject/networks" "5.4.2" + "@ethersproject/pbkdf2" "5.4.0" + "@ethersproject/properties" "5.4.1" + "@ethersproject/providers" "5.4.5" + "@ethersproject/random" "5.4.0" + "@ethersproject/rlp" "5.4.0" + "@ethersproject/sha2" "5.4.0" + "@ethersproject/signing-key" "5.4.0" + "@ethersproject/solidity" "5.4.0" + "@ethersproject/strings" "5.4.0" + "@ethersproject/transactions" "5.4.0" + "@ethersproject/units" "5.4.0" + "@ethersproject/wallet" "5.4.0" + "@ethersproject/web" "5.4.0" + "@ethersproject/wordlists" "5.4.0" ethjs-unit@0.1.6: version "0.1.6" @@ -4934,15 +4852,10 @@ eventemitter3@4.0.4: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - events@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" - integrity sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -5020,11 +4933,11 @@ express@^4.14.0: vary "~1.1.2" ext@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== dependencies: - type "^2.0.0" + type "^2.5.0" extend-shallow@^2.0.1: version "2.0.1" @@ -5078,14 +4991,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-comments@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/extract-comments/-/extract-comments-1.1.0.tgz#b90bca033a056bd69b8ba1c6b6b120fc2ee95c18" - integrity sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q== - dependencies: - esprima-extract-comments "^1.1.0" - parse-code-context "^1.0.0" - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -5119,16 +5024,15 @@ fast-diff@^1.1.1, fast-diff@^1.1.2: integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-glob@^3.0.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" - integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0: version "2.1.0" @@ -5141,9 +5045,9 @@ fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastq@^1.6.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" - integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" @@ -5271,6 +5175,13 @@ find-yarn-workspace-root@^1.2.1: fs-extra "^4.0.3" micromatch "^3.1.4" +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + flat-cache@^1.2.1: version "1.3.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" @@ -5307,6 +5218,13 @@ flow-stoplight@^1.0.0: resolved "https://registry.yarnpkg.com/flow-stoplight/-/flow-stoplight-1.0.0.tgz#4a292c5bcff8b39fa6cc0cb1a853d86f27eeff7b" integrity sha1-SiksW8/4s5+mzAyxqFPYbyfu/3s= +fmix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fmix/-/fmix-0.1.0.tgz#c7bbf124dec42c9d191cfb947d0a9778dd986c0c" + integrity sha1-x7vxJN7ELJ0ZHPuUfQqXeN2YbAw= + dependencies: + imul "^1.0.0" + follow-redirects@1.5.10: version "1.5.10" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" @@ -5314,15 +5232,10 @@ follow-redirects@1.5.10: dependencies: debug "=3.1.0" -follow-redirects@^1.10.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.1.tgz#d9114ded0a1cfdd334e164e6662ad02bfd91ff43" - integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== - -follow-redirects@^1.12.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== +follow-redirects@^1.12.1, follow-redirects@^1.14.0: + version "1.14.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" + integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -5356,9 +5269,18 @@ form-data@^2.2.0: mime-types "^2.1.12" form-data@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" - integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -5373,10 +5295,10 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fp-ts@1.19.3: version "1.19.3" @@ -5388,11 +5310,6 @@ fp-ts@^1.0.0: resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== -fp-ts@^2.7.1: - version "2.8.4" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.8.4.tgz#d1af738a94de8591d441ef656153d04bd878edeb" - integrity sha512-J+kwce5SysU0YKuZ3aCnFk+dyezZD1mij6u26w1fCVfuLYgJR4eeXmVfJiUjthpZ+4yCRkRfcwMI5SkGw52oFA== - fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -5429,6 +5346,15 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^4.0.2, fs-extra@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -5456,7 +5382,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^1.2.5: +fs-minipass@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== @@ -5473,12 +5399,17 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@~2.1.1, fsevents@~2.1.2: +fsevents@~2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -function-bind@^1.1.1, function-bind@~1.1.1: +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== @@ -5488,23 +5419,23 @@ functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -fx-portal@fx-portal/contracts: +fx-portal@fx-portal/contracts#v1.0.1: version "1.0.0" - resolved "https://codeload.github.com/fx-portal/contracts/tar.gz/d7c12b29293dbbbf662dc9c6868a99466584ca13" + resolved "https://codeload.github.com/fx-portal/contracts/tar.gz/268325b5b65c25f78b034cd97476bcd2fe3afe37" -ganache-cli@^6.11.0: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.0.tgz#0cfe3ae2287b2bb036c1ec1fa7360c1ff837535b" - integrity sha512-WV354mOSCbVH+qR609ftpz/1zsZPRsHMaQ4jo9ioBQAkguYNVU5arfgIE0+0daU0Vl9WJ/OMhRyl0XRswd/j9A== +ganache-cli@^6.12.2: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ganache-cli/-/ganache-cli-6.12.2.tgz#c0920f7db0d4ac062ffe2375cb004089806f627a" + integrity sha512-bnmwnJDBDsOWBUP8E/BExWf85TsdDEFelQSzihSJm9VChVO1SHp94YXLP5BlA4j/OTxp0wR4R1Tje9OHOuAJVw== dependencies: ethereumjs-util "6.2.1" source-map-support "0.5.12" yargs "13.2.4" -ganache-core@^2.10.2, ganache-core@^2.7.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.13.0.tgz#e211d995eb806a1cd792096a989cf624417f0f7c" - integrity sha512-yTSsesDBwPh+34ZN2w5SZoPNVbR0Gn75InvQc2D1zUdy9prED6R2sVbefSyiXFR/uwZK9NrIVS1+HcEtgQVb9Q== +ganache-core@^2.13.2, ganache-core@^2.7.0: + version "2.13.2" + resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.13.2.tgz#27e6fc5417c10e6e76e2e646671869d7665814a3" + integrity sha512-tIF5cR+ANQz0+3pHWxHjIwHqFXcVo0Mb+kcsNhglNFALcYo49aQpnS9dqHartqPfMFjiHh/qFoD3mYK0d/qGgw== dependencies: abstract-leveldown "3.0.0" async "2.6.2" @@ -5513,8 +5444,8 @@ ganache-core@^2.10.2, ganache-core@^2.7.0: clone "2.1.2" debug "3.2.6" encoding-down "5.0.4" - eth-sig-util "2.3.0" - ethereumjs-abi "0.6.7" + eth-sig-util "3.0.0" + ethereumjs-abi "0.6.8" ethereumjs-account "3.0.0" ethereumjs-block "2.2.2" ethereumjs-common "1.5.0" @@ -5553,7 +5484,7 @@ get-func-name@^2.0.0: resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -5599,6 +5530,14 @@ get-stream@^5.1.0: dependencies: pump "^3.0.0" +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -5619,10 +5558,10 @@ ghost-testrpc@^0.0.2: chalk "^2.4.2" node-emoji "^1.10.0" -glob-parent@^5.1.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== +glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" @@ -5661,10 +5600,22 @@ glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.1.2, glob@^7.1.3, glob@~7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.0.0, glob@^7.1.2, glob@^7.1.3: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -5689,13 +5640,13 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -global@~4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" - integrity sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8= +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== dependencies: min-document "^2.19.0" - process "~0.5.1" + process "^0.11.10" globals@^11.0.1, globals@^11.3.0, globals@^11.7.0: version "11.12.0" @@ -5758,15 +5709,10 @@ got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.10: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== growl@1.10.3: version "1.10.3" @@ -5779,9 +5725,9 @@ growl@1.10.5: integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== handlebars@^4.0.1: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== + version "4.7.7" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" + integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== dependencies: minimist "^1.2.5" neo-async "^2.6.0" @@ -5803,7 +5749,34 @@ har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" -hardhat-gas-reporter@^1.0.3, hardhat-gas-reporter@^1.0.4: +hardhat-deploy@^0.9.1: + version "0.9.3" + resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.9.3.tgz#cf9a7806c0a86a6f7e9352fc558b26c079983496" + integrity sha512-0sxxQoxcA1+LSVmmLwp9empK4Pz5tjr92JvfcobojBz35DSpp0o3f0f/tXocYWaGbOrms3eQJ8OX5WVsmcnN4Q== + dependencies: + "@ethersproject/abi" "^5.4.0" + "@ethersproject/abstract-signer" "^5.4.1" + "@ethersproject/address" "^5.4.0" + "@ethersproject/bignumber" "^5.4.1" + "@ethersproject/bytes" "^5.4.0" + "@ethersproject/contracts" "^5.4.1" + "@ethersproject/providers" "^5.4.4" + "@ethersproject/solidity" "^5.4.0" + "@ethersproject/transactions" "^5.4.0" + "@ethersproject/wallet" "^5.4.0" + "@types/qs" "^6.9.7" + axios "^0.21.1" + chalk "^4.1.2" + chokidar "^3.5.2" + debug "^4.3.2" + enquirer "^2.3.6" + form-data "^4.0.0" + fs-extra "^10.0.0" + match-all "^1.2.6" + murmur-128 "^0.2.1" + qs "^6.9.4" + +hardhat-gas-reporter@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.4.tgz#59e3137e38e0dfeac2e4f90d5c74160b50ad4829" integrity sha512-G376zKh81G3K9WtDA+SoTLWsoygikH++tD1E7llx+X7J+GbIqfwhDKKgvJjcnEesMrtR9UqQHK02lJuXY1RTxw== @@ -5812,15 +5785,15 @@ hardhat-gas-reporter@^1.0.3, hardhat-gas-reporter@^1.0.4: sha1 "^1.1.1" hardhat@^2.0.8: - version "2.4.1" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.4.1.tgz#2cd1e86ee6ca3a6a473eeb0f55bd3124c8c59250" - integrity sha512-vwllrFypukeE/Q+4ZfWj7j7nUo4ncUhRpsAYUM0Ruuuk6pQlKmRa0A6c0kxRSvvVgQsMud6j+/weYhbMX1wPmQ== - dependencies: - "@ethereumjs/block" "^3.3.0" - "@ethereumjs/blockchain" "^5.3.0" - "@ethereumjs/common" "^2.3.1" - "@ethereumjs/tx" "^3.2.1" - "@ethereumjs/vm" "^5.3.2" + version "2.6.6" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.6.6.tgz#11d2dc4c1659fcbb8632de9399b1b4999f8b3628" + integrity sha512-GneZAwvNxf3cNobYTmMSp2qGX/yJyUmHD/xjW+8zF2AgWkLS33CHmGn4aRFKqfjsk7BS7FU6jqMmmZhHHO3gUw== + dependencies: + "@ethereumjs/block" "^3.4.0" + "@ethereumjs/blockchain" "^5.4.0" + "@ethereumjs/common" "^2.4.0" + "@ethereumjs/tx" "^3.3.0" + "@ethereumjs/vm" "^5.5.2" "@ethersproject/abi" "^5.1.2" "@sentry/node" "^5.18.1" "@solidity-parser/parser" "^0.11.0" @@ -5838,7 +5811,7 @@ hardhat@^2.0.8: eth-sig-util "^2.5.2" ethereum-cryptography "^0.1.2" ethereumjs-abi "^0.6.8" - ethereumjs-util "^7.0.10" + ethereumjs-util "^7.1.0" find-up "^2.1.0" fp-ts "1.19.3" fs-extra "^7.0.1" @@ -5901,12 +5874,7 @@ has-symbol-support-x@^1.4.1: resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: +has-symbols@^1.0.0, has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== @@ -5918,6 +5886,13 @@ has-to-string-tag-x@^1.2.0: dependencies: has-symbol-support-x "^1.4.1" +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -6014,9 +5989,9 @@ home-or-tmp@^2.0.0: os-tmpdir "^1.0.1" hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== http-basic@^8.1.1: version "8.1.3" @@ -6097,9 +6072,9 @@ iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24: safer-buffer ">= 2.1.2 < 3" iconv-lite@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" - integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== dependencies: safer-buffer ">= 2.1.2 < 3.0.0" @@ -6110,10 +6085,10 @@ idna-uts46-hx@^2.3.1: dependencies: punycode "2.1.0" -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^3.3.3: version "3.3.10" @@ -6141,9 +6116,9 @@ immediate@~3.2.3: integrity sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw= immutable@^4.0.0-rc.12: - version "4.0.0-rc.12" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0-rc.12.tgz#ca59a7e4c19ae8d9bf74a97bdf0f6e2f2a5d0217" - integrity sha512-0M2XxkZLx/mi3t8NVwIm1g8nHoEmM9p9UBl/G9k4+hm0kBgOVdMV/B3CY5dQ8qG8qc80NN4gDV4HQv6FTJ5q7A== + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== import-fresh@^2.0.0: version "2.0.0" @@ -6154,13 +6129,18 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" +imul@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/imul/-/imul-1.0.1.tgz#9d5867161e8b3de96c2c38d5dc7cb102f35e2ac9" + integrity sha1-nVhnFh6LPelsLDjV3HyxAvNeKsk= + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -6185,9 +6165,9 @@ inherits@2.0.3: integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== inquirer@^3.0.6: version "3.3.0" @@ -6228,6 +6208,15 @@ inquirer@^6.2.2: strip-ansi "^5.1.0" through "^2.3.6" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -6257,11 +6246,6 @@ io-ts@1.10.4: dependencies: fp-ts "^1.0.0" -io-ts@^2.2.9: - version "2.2.11" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.11.tgz#968a02f57b740fd422c8f9cf7ee99187854636f9" - integrity sha512-lGxyPvZNhmo1U1Hy0ovjRtXljG6F59R3bZErK9XjiIQPlt4nuzbDNSwvalXvS7Z8iSZhx2S5GpNz5tVhpnDf6w== - ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -6282,9 +6266,12 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -6292,9 +6279,11 @@ is-arrayish@^0.2.1: integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-bigint@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" - integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" @@ -6304,36 +6293,27 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" - integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.2: +is-buffer@^2.0.2, is-buffer@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-buffer@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" - integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" - integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== - -is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^2.0.0: version "2.0.0" @@ -6343,9 +6323,9 @@ is-ci@^2.0.0: ci-info "^2.0.0" is-core-module@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== dependencies: has "^1.0.3" @@ -6364,9 +6344,11 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" is-descriptor@^0.1.0: version "0.1.6" @@ -6391,6 +6373,11 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -6441,14 +6428,16 @@ is-function@^1.0.1: integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== is-generator-function@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c" - integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A== + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -6462,20 +6451,17 @@ is-natural-number@^4.0.1: resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= -is-negative-zero@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz#9553b121b0fac28869da9ed459e20c7543788461" - integrity sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= - is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== is-number-object@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" - integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" @@ -6490,9 +6476,9 @@ is-number@^7.0.0: integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== is-plain-obj@^1.1.0: version "1.1.0" @@ -6506,27 +6492,13 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-regex@^1.0.4, is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - -is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" - integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== +is-regex@^1.0.4, is-regex@^1.1.4, is-regex@~1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.2" - -is-regex@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== - dependencies: - has "^1.0.3" + has-tostringtag "^1.0.0" is-resolvable@^1.0.0: version "1.1.0" @@ -6538,40 +6510,40 @@ is-retry-allowed@^1.0.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= -is-string@^1.0.5, is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" - integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: - has-symbols "^1.0.1" + has-tostringtag "^1.0.0" -is-symbol@^1.0.3: +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" - integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== +is-typed-array@^1.1.3, is-typed-array@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" + integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== dependencies: - available-typed-arrays "^1.0.2" + available-typed-arrays "^1.0.5" call-bind "^1.0.2" - es-abstract "^1.18.0-next.2" + es-abstract "^1.18.5" foreach "^2.0.5" - has-symbols "^1.0.1" + has-tostringtag "^1.0.0" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -6588,11 +6560,25 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -6667,17 +6653,17 @@ js-yaml@3.13.1, js-yaml@~3.13.1: esprima "^4.0.0" js-yaml@3.x, js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.9.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" js-yaml@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" - integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" @@ -6788,15 +6774,24 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= jsonschema@^1.2.4: - version "1.2.11" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.11.tgz#7a799cc2aa5a285d893203e8dc81f5becbfb0e91" - integrity sha512-XNZHs3N1IOa3lPKm//npxMhOdaoPw+MvEV0NIgxcER83GTJcG13rehtWmpBCfEt8DrtYwIkMTs8bdXoYs4fvnQ== + version "1.4.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" + integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== jsprim@^1.2.2: version "1.4.1" @@ -6808,7 +6803,7 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -keccak@3.0.1, keccak@^3.0.0: +keccak@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== @@ -6826,6 +6821,15 @@ keccak@^2.0.0: nan "^2.14.0" safe-buffer "^5.2.0" +keccak@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -7147,16 +7151,16 @@ lodash.mergewith@^4.3.2: resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== -lodash.toarray@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561" - integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= - -lodash@4.17.20, lodash@^4.14.2, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.4, lodash@^4.3.0: +lodash@4.17.20: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== +lodash@^4.14.2, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.3.0: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + log-symbols@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" @@ -7282,12 +7286,15 @@ markdown-table@^1.1.3: solhint "^2.0.0" truffle "4.1.14" +match-all@^1.2.6: + version "1.2.6" + resolved "https://registry.yarnpkg.com/match-all/-/match-all-1.2.6.tgz#66d276ad6b49655551e63d3a6ee53e8be0566f8d" + integrity sha512-0EESkXiTkWzrQQntBu2uzKvLu6vVkUGz40nGPbSZuegcfE5UuSzNjLaIu76zJWuaT/2I3Z/8M06OlUOZLGwLlQ== + mcl-wasm@^0.7.1: - version "0.7.8" - resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.8.tgz#4d0dc5a92f7bd20892fd3fcd41764acf86fd1e6e" - integrity sha512-qNHlYO6wuEtSoH5A8TcZfCEHtw8gGPqF6hLZpQn2SVd/Mck0ELIKOkmj072D98S9B9CI/jZybTUC96q1P2/ZDw== - dependencies: - typescript "^4.3.4" + version "0.7.9" + resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.9.tgz#c1588ce90042a8700c3b60e40efb339fc07ab87f" + integrity sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ== md5.js@^1.3.4: version "1.3.5" @@ -7390,13 +7397,13 @@ merkle-patricia-tree@3.0.0: rlp "^2.0.0" semaphore ">=1.0.1" -merkle-patricia-tree@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-4.2.0.tgz#a204b9041be5c25e8d14f0ff47021de090e811a1" - integrity sha512-0sBVXs7z1Q1/kxzWZ3nPnxSPiaHKF/f497UQzt9O7isRcS10tel9jM/4TivF6Jv7V1yFq4bWyoATxbDUOen5vQ== +merkle-patricia-tree@^4.2.0, merkle-patricia-tree@^4.2.1: + version "4.2.2" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz#6dec17855370172458244c2f42c989dd60b773a3" + integrity sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q== dependencies: "@types/levelup" "^4.3.0" - ethereumjs-util "^7.0.10" + ethereumjs-util "^7.1.2" level-mem "^5.0.1" level-ws "^2.0.0" readable-stream "^3.6.0" @@ -7427,13 +7434,13 @@ micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== +micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" - picomatch "^2.0.5" + picomatch "^2.2.3" miller-rabin@^4.0.0: version "4.0.1" @@ -7443,17 +7450,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" + integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + version "2.1.33" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" + integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== dependencies: - mime-db "1.44.0" + mime-db "1.50.0" mime@1.6.0: version "1.6.0" @@ -7509,7 +7516,7 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@~1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: +minipass@^2.6.0, minipass@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== @@ -7517,7 +7524,7 @@ minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: safe-buffer "^5.1.2" yallist "^3.0.0" -minizlib@^1.2.1: +minizlib@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== @@ -7551,7 +7558,7 @@ mkdirp@0.5.1: dependencies: minimist "0.0.8" -mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@^0.5.1, mkdirp@^0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== @@ -7559,9 +7566,9 @@ mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1: minimist "^1.2.5" mnemonist@^0.38.0: - version "0.38.3" - resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.3.tgz#35ec79c1c1f4357cfda2fe264659c2775ccd7d9d" - integrity sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw== + version "0.38.4" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.4.tgz#5d2f2dc4386aef78bfadeea60ce704dcf0ef8f3d" + integrity sha512-mflgW0gEWmVLbDDE2gJbOh3+RltTN7CgV9jV25qyCnyLN9FtoltWr7ZtAEDeD9u8W4oFAoolR6fBWieXdn3u8Q== dependencies: obliterator "^1.6.1" @@ -7612,9 +7619,9 @@ mocha@^7.1.1, mocha@^7.1.2: yargs-unparser "1.6.0" mock-fs@^4.1.0: - version "4.13.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.13.0.tgz#31c02263673ec3789f90eb7b6963676aa407a598" - integrity sha512-DD0vOdofJdoaRNtnWcrXe6RQbpHkPPmtqGq14uRX0F8ZKJ5nv89CVTYl/BZdppDxBDaV0hl75htg3abpEWlPZA== + version "4.14.0" + resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" + integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== ms@2.0.0: version "2.0.0" @@ -7626,11 +7633,16 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multibase@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" @@ -7671,15 +7683,24 @@ multihashes@^0.4.15, multihashes@~0.4.15: multibase "^0.7.0" varint "^5.0.0" +murmur-128@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/murmur-128/-/murmur-128-0.2.1.tgz#a9f6568781d2350ecb1bf80c14968cadbeaa4b4d" + integrity sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg== + dependencies: + encode-utf8 "^1.0.2" + fmix "^0.1.0" + imul "^1.0.0" + mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= nan@^2.14.0: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== nano-json-stream-parser@^0.1.2: version "0.1.2" @@ -7734,11 +7755,11 @@ node-addon-api@^2.0.0: integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== node-emoji@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" - integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + version "1.11.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== dependencies: - lodash.toarray "^4.4.0" + lodash "^4.17.21" node-environment-flags@1.0.6: version "1.0.6" @@ -7748,16 +7769,18 @@ node-environment-flags@1.0.6: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" -node-fetch@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" - integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= - -node-fetch@^2.6.0, node-fetch@^2.6.1: +node-fetch@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== +node-fetch@^2.6.0, node-fetch@^2.6.1: + version "2.6.5" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" + integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== + dependencies: + whatwg-url "^5.0.0" + node-fetch@~1.7.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -7766,27 +7789,20 @@ node-fetch@~1.7.1: encoding "^0.1.11" is-stream "^1.0.1" -node-gyp-build@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739" - integrity sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg== - -node-gyp-build@~3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.7.0.tgz#daa77a4f547b9aed3e2aac779eaf151afd60ec8d" - integrity sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w== +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== nofilter@^1.0.3, nofilter@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== -nofilter@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-2.0.3.tgz#f5460f3cb33147005883e3f5d4476239501fa187" - integrity sha512-FbuXC+lK+GU2+63D1kC1ETiZo+Z7SIi7B+mxKTCH1byrh6WFvfBCN/wpherFz0a0bjGd7EKTst/cz0yLeNngug== - dependencies: - "@cto.af/textdecoder" "^0.0.0" +nofilter@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== nopt@3.x: version "3.0.6" @@ -7811,9 +7827,9 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-url@^4.1.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129" - integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + version "4.5.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== npm-run-path@^2.0.0: version "2.0.2" @@ -7854,28 +7870,18 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" - integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== - -object-inspect@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== - -object-inspect@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== +object-inspect@^1.11.0, object-inspect@^1.9.0, object-inspect@~1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== object-is@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.3.tgz#2e3b9e65560137455ee3bd62aec4d90a2ea1cc81" - integrity sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" @@ -7904,16 +7910,6 @@ object.assign@4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.1.tgz#303867a666cdd41936ecdedfb1f8f3e32a478cdd" - integrity sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.18.0-next.0" - has-symbols "^1.0.1" - object-keys "^1.1.1" - object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" @@ -7924,22 +7920,14 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -object.getownpropertydescriptors@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" object.pick@^1.3.0: version "1.3.0" @@ -7995,6 +7983,14 @@ onetime@^5.1.0: dependencies: mimic-fn "^2.1.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + openzeppelin-solidity@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/openzeppelin-solidity/-/openzeppelin-solidity-2.0.1.tgz#c58ab35e2aa6268308a9a9a7d19475e2ce7a7b22" @@ -8141,15 +8137,10 @@ parse-cache-control@^1.0.1: resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" integrity sha1-juqz5U+laSD+Fro493+iGqzC104= -parse-code-context@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-code-context/-/parse-code-context-1.0.0.tgz#718c295c593d0d19a37f898473268cc75e98de1e" - integrity sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA== - parse-headers@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.3.tgz#5e8e7512383d140ba02f0c7aa9f49b4399c92515" - integrity sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA== + version "2.0.4" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.4.tgz#9eaf2d02bed2d1eff494331ce3df36d7924760bf" + integrity sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw== parse-json@^2.2.0: version "2.2.0" @@ -8176,7 +8167,7 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -patch-package@6.2.2, patch-package@^6.2.2: +patch-package@6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.2.tgz#71d170d650c65c26556f0d0fbbb48d92b6cc5f39" integrity sha512-YqScVYkVcClUY0v8fF0kWOjDYopzIM8e3bj/RU1DPeEF14+dCGm6UeOYm4jvCyxqIEQ5/eJzmbWfDWnUleFNMg== @@ -8194,6 +8185,25 @@ patch-package@6.2.2, patch-package@^6.2.2: slash "^2.0.0" tmp "^0.0.33" +patch-package@^6.2.2: + version "6.4.7" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148" + integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^2.0.0" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + open "^7.4.2" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + path-browserify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -8227,9 +8237,9 @@ path-key@^2.0.0, path-key@^2.0.1: integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" @@ -8250,15 +8260,15 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -8276,10 +8286,10 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== pify@^2.0.0, pify@^2.3.0: version "2.3.0" @@ -8374,33 +8384,26 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier-plugin-solidity@^1.0.0-alpha.57: - version "1.0.0-alpha.59" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-alpha.59.tgz#b0cf82fb068537d152d0bc417588d08e952a56c6" - integrity sha512-6cE0SWaiYCBoJY4clCfsbWlEEOU4K42Ny6Tg4Jwprgts/q+AVfYnPQ5coRs7zIjYzc4RVspifYPeh+oAg8RpLw== + version "1.0.0-beta.18" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.18.tgz#9705453bacd55b3242110d472f23f624ae6777fc" + integrity sha512-ezWdsG/jIeClmYBzg8V9Voy8jujt+VxWF8OS3Vld+C3c+3cPVib8D9l8ahTod7O5Df1anK9zo+WiiS5wb1mLmg== dependencies: - "@solidity-parser/parser" "^0.8.1" - dir-to-object "^2.0.0" - emoji-regex "^9.0.0" + "@solidity-parser/parser" "^0.13.2" + emoji-regex "^9.2.2" escape-string-regexp "^4.0.0" - extract-comments "^1.1.0" - prettier "^2.0.5" - semver "^7.3.2" - string-width "^4.2.0" + semver "^7.3.5" + solidity-comments-extractor "^0.0.7" + string-width "^4.2.2" prettier@^1.14.3: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.0.5, prettier@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" - integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== - -prettier@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== +prettier@^2.1.1, prettier@^2.1.2: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" + integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== printj@~1.1.0: version "1.1.2" @@ -8417,10 +8420,10 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@~0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" - integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= progress@^2.0.0: version "2.0.3" @@ -8443,20 +8446,20 @@ promise@^8.0.0: asap "~2.0.6" proper-lockfile@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.1.tgz#284cf9db9e30a90e647afad69deb7cb06881262c" - integrity sha512-1w6rxXodisVpn7QYvLk706mzprPTAPCYAqxMvctmPN3ekuRk/kuGkGc82pangZiAt4R3lwSuUzheTTn0/Yb7Zg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== dependencies: - graceful-fs "^4.1.11" + graceful-fs "^4.2.4" retry "^0.12.0" signal-exit "^3.0.2" proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" + forwarded "0.2.0" ipaddr.js "1.9.1" prr@~1.0.1: @@ -8562,10 +8565,12 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== -qs@^6.4.0, qs@^6.7.0: - version "6.9.4" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687" - integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== +qs@^6.4.0, qs@^6.7.0, qs@^6.9.4: + version "6.10.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" + integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + dependencies: + side-channel "^1.0.4" qs@~6.5.2: version "6.5.2" @@ -8595,6 +8600,11 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -8701,10 +8711,10 @@ readdirp@~3.2.0: dependencies: picomatch "^2.0.4" -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" @@ -8723,9 +8733,9 @@ recursive-readdir@^2.2.2: minimatch "3.0.4" regenerate@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.11.0: version "0.11.1" @@ -8750,12 +8760,12 @@ regex-not@^1.0.0, regex-not@^1.0.2: safe-regex "^1.1.0" regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" regexpp@^1.0.1: version "1.1.0" @@ -8789,9 +8799,9 @@ regjsparser@^0.1.4: jsesc "~0.5.0" repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.6.1: version "1.6.1" @@ -8919,14 +8929,14 @@ resolve@1.1.x: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@1.17.0, resolve@^1.1.6, resolve@^1.10.0, resolve@~1.17.0: +resolve@1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: path-parse "^1.0.6" -resolve@^1.8.1: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.8.1, resolve@~1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -9002,11 +9012,11 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: inherits "^2.0.1" rlp@^2.0.0, rlp@^2.2.1, rlp@^2.2.2, rlp@^2.2.3, rlp@^2.2.4: - version "2.2.6" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" - integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== dependencies: - bn.js "^4.11.1" + bn.js "^5.2.0" run-async@^2.2.0: version "2.4.1" @@ -9014,9 +9024,11 @@ run-async@^2.2.0: integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== run-parallel@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" - integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" rustbn.js@~0.2.0: version "0.2.0" @@ -9036,9 +9048,9 @@ rx-lite@*, rx-lite@^4.0.8: integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= rxjs@^6.4.0: - version "6.6.3" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" @@ -9047,7 +9059,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -9072,9 +9084,9 @@ safe-regex@^1.1.0: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sc-istanbul@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.5.tgz#1896066484d55336cf2cdbcc7884dc79da50dc76" - integrity sha512-7wR5EZFLsC4w0wSm9BUuCgW+OGKAU7PNlW5L0qwVPbh+Q1sfVn2fyzfMXYCm6rkNA5ipaCOt94nApcguQwF5Gg== + version "0.4.6" + resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" + integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== dependencies: abbrev "1.0.x" async "1.x" @@ -9180,15 +9192,10 @@ semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.3.2: - version "7.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" - integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== - -semver@^7.3.4: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== +semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" @@ -9309,10 +9316,19 @@ shelljs@^0.8.3: interpret "^1.0.0" rechoir "^0.6.2" +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" + integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== simple-concat@^1.0.0: version "1.0.1" @@ -9482,11 +9498,11 @@ solhint@^2.0.0: prettier "^1.14.3" solhint@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.2.1.tgz#62f250930fe2fdaf8787e50ad35c038eedb52bbf" - integrity sha512-Pq6jZxHp1TJ3K7dGxuY5c+ByMmUwJ/vs8FTZmeryf0SKB+zjPDWfYGpchPqW+PSbVzRCpS2O/+57O64mG4x/JA== + version "3.3.6" + resolved "https://registry.yarnpkg.com/solhint/-/solhint-3.3.6.tgz#abe9af185a9a7defefba480047b3e42cbe9a1210" + integrity sha512-HWUxTAv2h7hx3s3hAab3ifnlwb02ZWhwFU/wSudUHqteMS3ll9c+m1FlGn9V8ztE2rf3Z82fQZA005Wv7KpcFA== dependencies: - "@solidity-parser/parser" "^0.8.1" + "@solidity-parser/parser" "^0.13.2" ajv "^6.6.1" antlr4 "4.7.1" ast-parents "0.0.1" @@ -9504,22 +9520,27 @@ solhint@^3.2.0: prettier "^1.14.3" solidity-ast@^0.4.15: - version "0.4.17" - resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.17.tgz#e857b4f64466f3eb94da78fe961c0d256c84b228" - integrity sha512-5jkkabmjPdy9W9c2DMQBlKobVBz7KDnipxn+0zW191uD6BML3w7dQ+ihUvwA9XOm9ILDECrb5Y8z2vu47STqCg== + version "0.4.27" + resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.27.tgz#7eff60a2269ab24a440ef2bb4baaa088e0a3b4be" + integrity sha512-kCP7njjZlZzl2Ijur7gFwcmuAGBgz+v17xMDFmF9B9GOIljMS+6uJ6aUrbuMEcCuff/aDsW7HyMYMccJDxGbiw== + +solidity-comments-extractor@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" + integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== solidity-coverage@^0.7.12: - version "0.7.13" - resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.7.13.tgz#eca0659e857aef25580742ae1fae9bdc1d9f3dd4" - integrity sha512-06r0R+/j8lgl5/Z57VwxWNFZId0ZavcQU45W2gCfsBmEt/1Y6Xgm96oMSa6JBIvwrPR8H4T3icxTLiUVsMFNeg== + version "0.7.17" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.7.17.tgz#5139de8f6666d4755d88f453d8e35632a7bb3444" + integrity sha512-Erw2hd2xdACAvDX8jUdYkmgJlIIazGznwDJA5dhRaw4def2SisXN9jUjneeyOZnl/E7j6D3XJYug4Zg9iwodsg== dependencies: - "@solidity-parser/parser" "^0.8.1" + "@solidity-parser/parser" "^0.13.2" "@truffle/provider" "^0.2.24" chalk "^2.4.2" death "^1.1.0" detect-port "^1.3.0" fs-extra "^8.1.0" - ganache-cli "^6.11.0" + ganache-cli "^6.12.2" ghost-testrpc "^0.0.2" global-modules "^2.0.0" globby "^10.0.1" @@ -9559,18 +9580,18 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.13, source-map-support@^0.5.17, source-map-support@^0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@^0.5.13, source-map-support@^0.5.17: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" @@ -9619,9 +9640,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce" - integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw== + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== spinnies@^0.4.2: version "0.4.3" @@ -9738,30 +9759,23 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== +string-width@^4.2.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trim@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.2.tgz#f538d0bacd98fc4297f0bef645226d5aaebf59f3" - integrity sha512-b5yrbl3BXIjHau9Prk7U0RRYcUYdN4wGSVaqoBQS50CCE3KBuYU0TYRNPFCP7aVoNMX87HKThdMRVIP3giclKg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.18.0-next.0" + strip-ansi "^6.0.1" -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== +string.prototype.trim@~1.2.4: + version "1.2.5" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz#a587bcc8bfad8cb9829a577f5de30dd170c1682c" + integrity sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.5" + es-abstract "^1.19.1" string.prototype.trimend@^1.0.4: version "1.0.4" @@ -9771,14 +9785,6 @@ string.prototype.trimend@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" @@ -9827,12 +9833,12 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^5.0.0" + ansi-regex "^5.0.1" strip-bom@^2.0.0: version "2.0.0" @@ -9979,24 +9985,24 @@ table@^5.2.3: string-width "^3.0.0" tape@^4.6.3: - version "4.13.3" - resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.3.tgz#51b3d91c83668c7a45b1a594b607dee0a0b46278" - integrity sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw== + version "4.14.0" + resolved "https://registry.yarnpkg.com/tape/-/tape-4.14.0.tgz#e4d46097e129817175b90925f2385f6b1bcfa826" + integrity sha512-z0+WrUUJuG6wIdWrl4W3rTte2CR26G6qcPOj3w1hfRdcmhF3kHBhOBW9VHsPVAkz08ZmGzp7phVpDupbLzrYKQ== dependencies: + call-bind "~1.0.2" deep-equal "~1.1.1" defined "~1.0.0" dotignore "~0.1.2" for-each "~0.3.3" - function-bind "~1.1.1" - glob "~7.1.6" + glob "~7.1.7" has "~1.0.3" inherits "~2.0.4" - is-regex "~1.0.5" + is-regex "~1.1.3" minimist "~1.2.5" - object-inspect "~1.7.0" - resolve "~1.17.0" + object-inspect "~1.11.0" + resolve "~1.20.0" resumer "~0.0.0" - string.prototype.trim "~1.2.1" + string.prototype.trim "~1.2.4" through "~2.3.8" tar-stream@^1.5.2: @@ -10013,17 +10019,17 @@ tar-stream@^1.5.2: xtend "^4.0.0" tar@^4.0.2: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" + version "4.4.19" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" + integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== + dependencies: + chownr "^1.1.4" + fs-minipass "^1.2.7" + minipass "^2.9.0" + minizlib "^1.3.3" + mkdirp "^0.5.5" + safe-buffer "^5.2.1" + yallist "^3.1.1" test-value@^2.1.0: version "2.1.0" @@ -10152,6 +10158,11 @@ tough-cookie@^2.3.3, tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -10187,10 +10198,15 @@ ts-essentials@^1.0.0: resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-1.0.4.tgz#ce3b5dade5f5d97cf69889c11bf7d2da8555b15a" integrity sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ== +ts-essentials@^6.0.3: + version "6.0.7" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-6.0.7.tgz#5f4880911b7581a873783740ce8b94da163d18a6" + integrity sha512-2E4HIIj4tQJlIHuATRHayv0EfMGK3ris/GRk1E3CFnsZzeNV+hUmelbaTZHLtXaZppM5oLhHRtO04gINC4Jusw== + ts-essentials@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.1.tgz#d205508cae0cdadfb73c89503140cf2228389e2d" - integrity sha512-8lwh3QJtIc1UWhkQtr9XuksXu3O0YQdEE5g79guDfhCaU1FWTDIEDZ1ZSx4HTHUmlJZ8L812j3BZQ4a0aOUkSA== + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== ts-generator@^0.1.1: version "0.1.1" @@ -10213,11 +10229,12 @@ ts-interface-checker@^0.1.9: integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== ts-node@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.0.0.tgz#e7699d2a110cc8c0d3b831715e417688683460b3" - integrity sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg== + version "9.1.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" + integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== dependencies: arg "^4.1.0" + create-require "^1.1.0" diff "^4.0.1" make-error "^1.1.1" source-map-support "^0.5.17" @@ -10262,15 +10279,15 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@^4.0.0, type-detect@^4.0.5: +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-fest@^0.7.1: version "0.7.1" @@ -10290,10 +10307,23 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== -type@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" - integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA== +type@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +typechain@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-3.0.0.tgz#d5a47700831f238e43f7429b987b4bb54849b92e" + integrity sha512-ft4KVmiN3zH4JUFu2WJBrwfHeDf772Tt2d8bssDTo/YcckKW2D+OwFrHXRC6hJvO3mHjFQTihoMV6fJOi0Hngg== + dependencies: + command-line-args "^4.0.7" + debug "^4.1.1" + fs-extra "^7.0.0" + js-sha3 "^0.8.0" + lodash "^4.17.15" + ts-essentials "^6.0.3" + ts-generator "^0.1.1" typechain@^4.0.3: version "4.0.3" @@ -10320,15 +10350,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" - integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== - -typescript@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" - integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew== +typescript@^4.0.2, typescript@^4.2.2: + version "4.4.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" + integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" @@ -10352,16 +10377,16 @@ typical@^2.6.0, typical@^2.6.1: resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d" integrity sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0= -"uFragments@https://github.com/ampleforth/uFragments#v1.1.0": +"uFragments@https://github.com/ampleforth/ampleforth-contracts#v1.2.0": version "0.0.1" - resolved "https://github.com/ampleforth/uFragments#68049dc4ba653458b35af5d2f34113f3d55ae6d5" + resolved "https://github.com/ampleforth/ampleforth-contracts#cd85ba13a3550ab8fba980ef0349483b32b2c3a9" dependencies: - hardhat-gas-reporter "^1.0.4" + "@openzeppelin/contracts" "^4.3.0" uglify-js@^3.1.4: - version "3.11.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.2.tgz#9f50325544273c27b20e586def140e7726c525ea" - integrity sha512-G440NU6fewtnQftSgqRV1r2A5ChKbU1gqFCJ7I8S7MPpY/eZZfLGefaY6gUZYiWebMaO+txgiQ1ZyLDuNWJulg== + version "3.14.2" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" + integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== ultron@~1.1.0: version "1.1.1" @@ -10386,11 +10411,6 @@ unbzip2-stream@^1.0.9: buffer "^5.2.1" through "^2.3.8" -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - underscore@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" @@ -10416,6 +10436,11 @@ universalify@^0.1.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + unorm@^1.3.3: version "1.6.0" resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" @@ -10435,9 +10460,9 @@ unset-value@^1.0.0: isobject "^3.0.0" uri-js@^4.2.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602" - integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -10484,11 +10509,11 @@ use@^3.1.0: integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== utf-8-validate@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.2.tgz#63cfbccd85dc1f2b66cf7a1d0eebc08ed056bfb3" - integrity sha512-SwV++i2gTD5qh2XqaPzBnNX88N6HdyhQrNNRykvcS0QKvItV9u3vPEJr+X5Hhfb1JC0r0e1alL0iB09rY8+nmw== + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== dependencies: - node-gyp-build "~3.7.0" + node-gyp-build "^4.3.0" utf8@3.0.0, utf8@^3.0.0: version "3.0.0" @@ -10500,17 +10525,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util.promisify@^1.0.1: +util.promisify@^1.0.0, util.promisify@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== @@ -10600,25 +10615,23 @@ web3-bzz@1.2.2: swarm-js "0.1.39" underscore "1.9.1" -web3-bzz@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.9.tgz#25f8a373bc2dd019f47bf80523546f98b93c8790" - integrity sha512-ogVQr9jHodu9HobARtvUSmWG22cv2EUQzlPeejGWZ7j5h20HX40EDuWyomGY5VclIj5DdLY76Tmq88RTf/6nxA== +web3-bzz@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.5.3.tgz#e36456905ce051138f9c3ce3623cbc73da088c2b" + integrity sha512-SlIkAqG0eS6cBS9Q2eBOTI1XFzqh83RqGJWnyrNZMDxUwsTVHL+zNnaPShVPvrWQA1Ub5b0bx1Kc5+qJVxsTJg== dependencies: - "@types/node" "^10.12.18" + "@types/node" "^12.12.6" got "9.6.0" swarm-js "^0.1.40" - underscore "1.9.1" -web3-bzz@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.4.0.tgz#78a5db3544624b6709b2554094d931639f6f85b8" - integrity sha512-KhXmz8hcfGsqhplB7NrekAeNkG2edHjXV4bL3vnXde8RGMWpabpSNxuwiGv+dv/3nWlrHatH0vGooONYCkP5TA== +web3-bzz@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.0.tgz#584b51339f21eedff159abc9239b4b7ef6ded840" + integrity sha512-ugYV6BsinwhIi0CsLWINBz4mqN9wR9vNG0WmyEbdECjxcPyr6vkaWt4qi0zqlUxEnYAwGj4EJXNrbjPILntQTQ== dependencies: "@types/node" "^12.12.6" got "9.6.0" swarm-js "^0.1.40" - underscore "1.12.1" web3-core-helpers@1.2.11: version "1.2.11" @@ -10638,23 +10651,21 @@ web3-core-helpers@1.2.2: web3-eth-iban "1.2.2" web3-utils "1.2.2" -web3-core-helpers@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.9.tgz#6381077c3e01c127018cb9e9e3d1422697123315" - integrity sha512-t0WAG3orLCE3lqi77ZoSRNFok3VQWZXTniZigDQjyOJYMAX7BU3F3js8HKbjVnAxlX3tiKoDxI0KBk9F3AxYuw== +web3-core-helpers@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.5.3.tgz#099030235c477aadf39a94199ef40092151d563c" + integrity sha512-Ip1IjB3S8vN7Kf1PPjK41U5gskmMk6IJQlxIVuS8/1U7n/o0jC8krqtpRwiMfAgYyw3TXwBFtxSRTvJtnLyXZw== dependencies: - underscore "1.9.1" - web3-eth-iban "1.2.9" - web3-utils "1.2.9" + web3-eth-iban "1.5.3" + web3-utils "1.5.3" -web3-core-helpers@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.4.0.tgz#5cbed46dd325b9498f6fafb15aed4a4295cce514" - integrity sha512-8Ebq0nmRfzw7iPoXbIRHEWOuPh+1cOV3OOEvKm5Od3McZOjja914vdk+DM3MgmbSpDzYJRFM6KoF0+Z/U/1bPw== +web3-core-helpers@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz#77e161b6ba930a4008a0df804ab379e0aa7e1e7f" + integrity sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg== dependencies: - underscore "1.12.1" - web3-eth-iban "1.4.0" - web3-utils "1.4.0" + web3-eth-iban "1.6.0" + web3-utils "1.6.0" web3-core-method@1.2.11: version "1.2.11" @@ -10679,29 +10690,29 @@ web3-core-method@1.2.2: web3-core-subscriptions "1.2.2" web3-utils "1.2.2" -web3-core-method@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.9.tgz#3fb538751029bea570e4f86731e2fa5e4945e462" - integrity sha512-bjsIoqP3gs7A/gP8+QeLUCyOKJ8bopteCSNbCX36Pxk6TYfYWNuC6hP+2GzUuqdP3xaZNe+XEElQFUNpR3oyAg== +web3-core-method@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.5.3.tgz#6cff97ed19fe4ea2e9183d6f703823a079f5132c" + integrity sha512-8wJrwQ2qD9ibWieF9oHXwrJsUGrv3XAtEkNeyvyNMpktNTIjxJ2jaFGQUuLiyUrMubD18XXgLk4JS6PJU4Loeg== dependencies: + "@ethereumjs/common" "^2.4.0" "@ethersproject/transactions" "^5.0.0-beta.135" - underscore "1.9.1" - web3-core-helpers "1.2.9" - web3-core-promievent "1.2.9" - web3-core-subscriptions "1.2.9" - web3-utils "1.2.9" + web3-core-helpers "1.5.3" + web3-core-promievent "1.5.3" + web3-core-subscriptions "1.5.3" + web3-utils "1.5.3" -web3-core-method@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.4.0.tgz#0e26001e4029d359731b25a82e0bed4d1bef8392" - integrity sha512-KW9922fEkgKu8zDcJR8Iikg/epsuWMArAUVTipKVwzAI5TVdvOMRgSe/b7IIDRUIeoeXMARmJ+PrAlx+IU2acQ== +web3-core-method@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.0.tgz#ebe4ea51f5a4fa809bb68185576186359d3982e9" + integrity sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g== dependencies: + "@ethereumjs/common" "^2.4.0" "@ethersproject/transactions" "^5.0.0-beta.135" - underscore "1.12.1" - web3-core-helpers "1.4.0" - web3-core-promievent "1.4.0" - web3-core-subscriptions "1.4.0" - web3-utils "1.4.0" + web3-core-helpers "1.6.0" + web3-core-promievent "1.6.0" + web3-core-subscriptions "1.6.0" + web3-utils "1.6.0" web3-core-promievent@1.2.11: version "1.2.11" @@ -10718,17 +10729,17 @@ web3-core-promievent@1.2.2: any-promise "1.3.0" eventemitter3 "3.1.2" -web3-core-promievent@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.9.tgz#bb1c56aa6fac2f4b3c598510f06554d25c11c553" - integrity sha512-0eAUA2zjgXTleSrnc1wdoKQPPIHU6KHf4fAscu4W9kKrR+mqP1KsjYrxY9wUyjNnXxfQ+5M29ipvbiaK8OqdOw== +web3-core-promievent@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.5.3.tgz#3f11833c3dc6495577c274350b61144e0a4dba01" + integrity sha512-CFfgqvk3Vk6PIAxtLLuX+pOMozxkKCY+/GdGr7weMh033mDXEPvwyVjoSRO1PqIKj668/hMGQsVoIgbyxkJ9Mg== dependencies: - eventemitter3 "3.1.2" + eventemitter3 "4.0.4" -web3-core-promievent@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.4.0.tgz#531644dab287e83653d983aeb3d9daa0f894f775" - integrity sha512-YEwko22kcry7lHwbe0k80BrjXCZ+73jMdvZtptRH5k2B+XZ1XtmXwYL1PFIlZy9V0zgZijdg+3GabCnAHjVXAw== +web3-core-promievent@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz#8b6053ae83cb47164540167fc361469fc604d2dd" + integrity sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ== dependencies: eventemitter3 "4.0.4" @@ -10754,28 +10765,27 @@ web3-core-requestmanager@1.2.2: web3-providers-ipc "1.2.2" web3-providers-ws "1.2.2" -web3-core-requestmanager@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.9.tgz#dd6d855256c4dd681434fe0867f8cd742fe10503" - integrity sha512-1PwKV2m46ALUnIN5VPPgjOj8yMLJhhqZYvYJE34hTN5SErOkwhzx5zScvo5MN7v7KyQGFnpVCZKKGCiEnDmtFA== +web3-core-requestmanager@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.5.3.tgz#b339525815fd40e3a2a81813c864ddc413f7b6f7" + integrity sha512-9k/Bze2rs8ONix5IZR+hYdMNQv+ark2Ek2kVcrFgWO+LdLgZui/rn8FikPunjE+ub7x7pJaKCgVRbYFXjo3ZWg== dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.9" - web3-providers-http "1.2.9" - web3-providers-ipc "1.2.9" - web3-providers-ws "1.2.9" + util "^0.12.0" + web3-core-helpers "1.5.3" + web3-providers-http "1.5.3" + web3-providers-ipc "1.5.3" + web3-providers-ws "1.5.3" -web3-core-requestmanager@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.4.0.tgz#39043da0e1a1b1474f85af531df786e6036ef4b3" - integrity sha512-qIwKJO5T0KkUAIL7y9JRSUkk3+LaCwghdUHK8FzbMvq6R1W9lgCBnccqFGEI76EJjHvsiw4kEKBEXowdB3xenQ== +web3-core-requestmanager@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz#8ef3a3b89cd08983bd94574f9c5893f70a8a6aea" + integrity sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA== dependencies: - underscore "1.12.1" util "^0.12.0" - web3-core-helpers "1.4.0" - web3-providers-http "1.4.0" - web3-providers-ipc "1.4.0" - web3-providers-ws "1.4.0" + web3-core-helpers "1.6.0" + web3-providers-http "1.6.0" + web3-providers-ipc "1.6.0" + web3-providers-ws "1.6.0" web3-core-subscriptions@1.2.11: version "1.2.11" @@ -10795,23 +10805,21 @@ web3-core-subscriptions@1.2.2: underscore "1.9.1" web3-core-helpers "1.2.2" -web3-core-subscriptions@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.9.tgz#335fd7d15dfce5d78b4b7bef05ce4b3d7237b0e4" - integrity sha512-Y48TvXPSPxEM33OmXjGVDMzTd0j8X0t2+sDw66haeBS8eYnrEzasWuBZZXDq0zNUsqyxItgBGDn+cszkgEnFqg== +web3-core-subscriptions@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.5.3.tgz#d7d69c4caad65074212028656e9dc56ca5c2159d" + integrity sha512-L2m9vG1iRN6thvmv/HQwO2YLhOQlmZU8dpLG6GSo9FBN14Uch868Swk0dYVr3rFSYjZ/GETevSXU+O+vhCummA== dependencies: - eventemitter3 "3.1.2" - underscore "1.9.1" - web3-core-helpers "1.2.9" + eventemitter3 "4.0.4" + web3-core-helpers "1.5.3" -web3-core-subscriptions@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.4.0.tgz#ec44e5cfe7bffe0c2a9da330007f88e08e1b5837" - integrity sha512-/UMC9rSLEd0U+h6Qanx6CM29o/cfUyGWgl/HM6O/AIuth9G+34QBuKDa11Gr2Qg6F8Lr9tSFm8QIGVniOx9i5A== +web3-core-subscriptions@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz#8c23b15b434a7c9f937652ecca45d7108e2c54df" + integrity sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ== dependencies: eventemitter3 "4.0.4" - underscore "1.12.1" - web3-core-helpers "1.4.0" + web3-core-helpers "1.6.0" web3-core@1.2.11: version "1.2.11" @@ -10838,31 +10846,31 @@ web3-core@1.2.2: web3-core-requestmanager "1.2.2" web3-utils "1.2.2" -web3-core@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.9.tgz#2cba57aa259b6409db532d21bdf57db8d504fd3e" - integrity sha512-fSYv21IP658Ty2wAuU9iqmW7V+75DOYMVZsDH/c14jcF/1VXnedOcxzxSj3vArsCvXZNe6XC5/wAuGZyQwR9RA== +web3-core@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.5.3.tgz#59f8728b27c8305b349051326aa262b9b7e907bf" + integrity sha512-ACTbu8COCu+0eUNmd9pG7Q9EVsNkAg2w3Y7SqhDr+zjTgbSHZV01jXKlapm9z+G3AN/BziV3zGwudClJ4u4xXQ== dependencies: - "@types/bn.js" "^4.11.4" - "@types/node" "^12.6.1" + "@types/bn.js" "^4.11.5" + "@types/node" "^12.12.6" bignumber.js "^9.0.0" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-core-requestmanager "1.2.9" - web3-utils "1.2.9" + web3-core-helpers "1.5.3" + web3-core-method "1.5.3" + web3-core-requestmanager "1.5.3" + web3-utils "1.5.3" -web3-core@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.4.0.tgz#db830ed9fa9cca37479c501f0e5bc4201493b46b" - integrity sha512-VRNMNqwzvPeKIet2l9BMApPHoUv0UqwaZH0lZJhG2RBko42w9Xls+pQwfVNSV16j04t/ehm1aLRV2Sx6lzVfRg== +web3-core@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.0.tgz#144eb00f651c9812faf7176abd7ee99d5f45e212" + integrity sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g== dependencies: "@types/bn.js" "^4.11.5" "@types/node" "^12.12.6" bignumber.js "^9.0.0" - web3-core-helpers "1.4.0" - web3-core-method "1.4.0" - web3-core-requestmanager "1.4.0" - web3-utils "1.4.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-core-requestmanager "1.6.0" + web3-utils "1.6.0" web3-eth-abi@1.2.11: version "1.2.11" @@ -10882,23 +10890,21 @@ web3-eth-abi@1.2.2: underscore "1.9.1" web3-utils "1.2.2" -web3-eth-abi@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.9.tgz#14bedd7e4be04fcca35b2ac84af1400574cd8280" - integrity sha512-3YwUYbh/DMfDbhMWEebAdjSd5bj3ZQieOjLzWFHU23CaLEqT34sUix1lba+hgUH/EN6A7bKAuKOhR3p0OvTn7Q== +web3-eth-abi@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.5.3.tgz#5aea9394d797f99ca0d9bd40c3417eb07241c96c" + integrity sha512-i/qhuFsoNrnV130CSRYX/z4SlCfSQ4mHntti5yTmmQpt70xZKYZ57BsU0R29ueSQ9/P+aQrL2t2rqkQkAloUxg== dependencies: - "@ethersproject/abi" "5.0.0-beta.153" - underscore "1.9.1" - web3-utils "1.2.9" + "@ethersproject/abi" "5.0.7" + web3-utils "1.5.3" -web3-eth-abi@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.4.0.tgz#83f9f0ce48fd6d6b233a30a33bd674b3518e472b" - integrity sha512-FtmWipG/dSSkTGFb72JCwky7Jd0PIvd0kGTInWQwIEZlw5qMOYl61WZ9gwfojFHvHF6q1eKncerQr+MRXHO6zg== +web3-eth-abi@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz#4225608f61ebb0607d80849bb2b20f910780253d" + integrity sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA== dependencies: "@ethersproject/abi" "5.0.7" - underscore "1.12.1" - web3-utils "1.4.0" + web3-utils "1.6.0" web3-eth-accounts@1.2.11: version "1.2.11" @@ -10935,27 +10941,27 @@ web3-eth-accounts@1.2.2: web3-core-method "1.2.2" web3-utils "1.2.2" -web3-eth-accounts@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.9.tgz#7ec422df90fecb5243603ea49dc28726db7bdab6" - integrity sha512-jkbDCZoA1qv53mFcRHCinoCsgg8WH+M0YUO1awxmqWXRmCRws1wW0TsuSQ14UThih5Dxolgl+e+aGWxG58LMwg== +web3-eth-accounts@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.5.3.tgz#076c816ff4d68c9dffebdc7fd2bfaddcfc163d77" + integrity sha512-pdGhXgeBaEJENMvRT6W9cmji3Zz/46ugFSvmnLLw79qi5EH7XJhKISNVb41eWCrs4am5GhI67GLx5d2s2a72iw== dependencies: + "@ethereumjs/common" "^2.3.0" + "@ethereumjs/tx" "^3.2.1" crypto-browserify "3.12.0" - eth-lib "^0.2.8" - ethereumjs-common "^1.3.2" - ethereumjs-tx "^2.1.1" + eth-lib "0.2.8" + ethereumjs-util "^7.0.10" scrypt-js "^3.0.1" - underscore "1.9.1" uuid "3.3.2" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-utils "1.2.9" + web3-core "1.5.3" + web3-core-helpers "1.5.3" + web3-core-method "1.5.3" + web3-utils "1.5.3" -web3-eth-accounts@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.4.0.tgz#25fc4b2b582a16b77c1492f27f58c59481156068" - integrity sha512-tETHBvfO3Z7BXZ7HJIwuX7ol6lPefP55X7b4IiX82C1PujHwsxENY7c/3wyxzqKoDyH6zfyEQo17yhxkhsM1oA== +web3-eth-accounts@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.0.tgz#530927f4c5b78df93b3ea1203abbb467de29cd04" + integrity sha512-2f6HS4KIH4laAsNCOfbNX3dRiQosqSY2TRK86C8jtAA/QKGdx+5qlPfYzbI2RjG81iayb2+mVbHIaEaBGZ8sGw== dependencies: "@ethereumjs/common" "^2.3.0" "@ethereumjs/tx" "^3.2.1" @@ -10963,12 +10969,11 @@ web3-eth-accounts@1.4.0: eth-lib "0.2.8" ethereumjs-util "^7.0.10" scrypt-js "^3.0.1" - underscore "1.12.1" uuid "3.3.2" - web3-core "1.4.0" - web3-core-helpers "1.4.0" - web3-core-method "1.4.0" - web3-utils "1.4.0" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-utils "1.6.0" web3-eth-contract@1.2.11: version "1.2.11" @@ -11000,35 +11005,33 @@ web3-eth-contract@1.2.2: web3-eth-abi "1.2.2" web3-utils "1.2.2" -web3-eth-contract@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.9.tgz#713d9c6d502d8c8f22b696b7ffd8e254444e6bfd" - integrity sha512-PYMvJf7EG/HyssUZa+pXrc8IB06K/YFfWYyW4R7ed3sab+9wWUys1TlWxBCBuiBXOokSAyM6H6P6/cKEx8FT8Q== +web3-eth-contract@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.5.3.tgz#12b03a4a16ce583a945f874bea2ff2fb4c5b81ad" + integrity sha512-Gdlt1L6cdHe83k7SdV6xhqCytVtOZkjD0kY/15x441AuuJ4JLubCHuqu69k2Dr3tWifHYVys/vG8QE/W16syGg== dependencies: - "@types/bn.js" "^4.11.4" - underscore "1.9.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-core-promievent "1.2.9" - web3-core-subscriptions "1.2.9" - web3-eth-abi "1.2.9" - web3-utils "1.2.9" - -web3-eth-contract@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.4.0.tgz#604187d1e44365fa0c0592e61ac5a1b5fd7c2eaa" - integrity sha512-GfIhOzfp/ZXKd+1tFEH3ePq0DEsvq9XO5tOsI0REDtEYUj2GNxO5e/x/Fhekk7iLZ7xAqSzDMweFruDQ1fxn0A== + "@types/bn.js" "^4.11.5" + web3-core "1.5.3" + web3-core-helpers "1.5.3" + web3-core-method "1.5.3" + web3-core-promievent "1.5.3" + web3-core-subscriptions "1.5.3" + web3-eth-abi "1.5.3" + web3-utils "1.5.3" + +web3-eth-contract@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.0.tgz#deb946867ad86d32bcbba899d733b681b25ea674" + integrity sha512-ZUtO77zFnxuFtrc+D+iJ3AzNgFXAVcKnhEYN7f1PNz/mFjbtE6dJ+ujO0mvMbxIZF02t9IZv0CIXRpK0rDvZAw== dependencies: "@types/bn.js" "^4.11.5" - underscore "1.12.1" - web3-core "1.4.0" - web3-core-helpers "1.4.0" - web3-core-method "1.4.0" - web3-core-promievent "1.4.0" - web3-core-subscriptions "1.4.0" - web3-eth-abi "1.4.0" - web3-utils "1.4.0" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-core-promievent "1.6.0" + web3-core-subscriptions "1.6.0" + web3-eth-abi "1.6.0" + web3-utils "1.6.0" web3-eth-ens@1.2.11: version "1.2.11" @@ -11059,35 +11062,33 @@ web3-eth-ens@1.2.2: web3-eth-contract "1.2.2" web3-utils "1.2.2" -web3-eth-ens@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.9.tgz#577b9358c036337833fb2bdc59c11be7f6f731b6" - integrity sha512-kG4+ZRgZ8I1WYyOBGI8QVRHfUSbbJjvJAGA1AF/NOW7JXQ+x7gBGeJw6taDWJhSshMoEKWcsgvsiuoG4870YxQ== +web3-eth-ens@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.5.3.tgz#ef6eee1ddf32b1ff9536fc7c599a74f2656bafe1" + integrity sha512-QmGFFtTGElg0E+3xfCIFhiUF+1imFi9eg/cdsRMUZU4F1+MZCC/ee+IAelYLfNTGsEslCqfAusliKOT9DdGGnw== dependencies: content-hash "^2.5.2" eth-ens-namehash "2.0.8" - underscore "1.9.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-promievent "1.2.9" - web3-eth-abi "1.2.9" - web3-eth-contract "1.2.9" - web3-utils "1.2.9" - -web3-eth-ens@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.4.0.tgz#4e66dfc3bdc6439553482972ffb2a181f1c12cbc" - integrity sha512-jR1KorjU1erpYFpFzsMXAWZnHhqUqWPBq/4+BGVj7/pJ43+A3mrE1eB0zl91Dwc1RTNwOhB02iOj1c9OlpGr3g== + web3-core "1.5.3" + web3-core-helpers "1.5.3" + web3-core-promievent "1.5.3" + web3-eth-abi "1.5.3" + web3-eth-contract "1.5.3" + web3-utils "1.5.3" + +web3-eth-ens@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.0.tgz#af13852168d56fa71b9198eb097e96fb93831c2a" + integrity sha512-AG24PNv9qbYHSpjHcU2pViOII0jvIR7TeojJ2bxXSDqfcgHuRp3NZGKv6xFvT4uNI4LEQHUhSC7bzHoNF5t8CA== dependencies: content-hash "^2.5.2" eth-ens-namehash "2.0.8" - underscore "1.12.1" - web3-core "1.4.0" - web3-core-helpers "1.4.0" - web3-core-promievent "1.4.0" - web3-eth-abi "1.4.0" - web3-eth-contract "1.4.0" - web3-utils "1.4.0" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-promievent "1.6.0" + web3-eth-abi "1.6.0" + web3-eth-contract "1.6.0" + web3-utils "1.6.0" web3-eth-iban@1.2.11: version "1.2.11" @@ -11105,21 +11106,21 @@ web3-eth-iban@1.2.2: bn.js "4.11.8" web3-utils "1.2.2" -web3-eth-iban@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.9.tgz#4ebf3d8783f34d04c4740dc18938556466399f7a" - integrity sha512-RtdVvJE0pyg9dHLy0GzDiqgnLnssSzfz/JYguhC1wsj9+Gnq1M6Diy3NixACWUAp6ty/zafyOaZnNQ+JuH9TjQ== +web3-eth-iban@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.5.3.tgz#91b1475893a877b10eac1de5cce6eb379fb81b5d" + integrity sha512-vMzmGqolYZvRHwP9P4Nf6G8uYM5aTLlQu2a34vz78p0KlDC+eV1th3+90Qeaupa28EG7OO0IT1F0BejiIauOPw== dependencies: - bn.js "4.11.8" - web3-utils "1.2.9" + bn.js "^4.11.9" + web3-utils "1.5.3" -web3-eth-iban@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.4.0.tgz#b54902c019d677b6356d838b3e964f925017c143" - integrity sha512-YNx748VzwiBe0gvtZjvU9BQsooZ9s9sAlmiDWJOMcvMbUTDhC7SvxA7vV/vrnOxL6oGHRh0U/azsYNxxlKiTBw== +web3-eth-iban@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz#edbe46cedc5b148d53fa455edea6b4eef53b2be7" + integrity sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw== dependencies: bn.js "^4.11.9" - web3-utils "1.4.0" + web3-utils "1.6.0" web3-eth-personal@1.2.11: version "1.2.11" @@ -11145,29 +11146,29 @@ web3-eth-personal@1.2.2: web3-net "1.2.2" web3-utils "1.2.2" -web3-eth-personal@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.9.tgz#9b95eb159b950b83cd8ae15873e1d57711b7a368" - integrity sha512-cFiNrktxZ1C/rIdJFzQTvFn3/0zcsR3a+Jf8Y3KxeQDHszQtosjLWptP7bsUmDwEh4hzh0Cy3KpOxlYBWB8bJQ== +web3-eth-personal@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.5.3.tgz#4ebe09e9a77dd49d23d93b36b36cfbf4a6dae713" + integrity sha512-JzibJafR7ak/Icas8uvos3BmUNrZw1vShuNR5Cxjo+vteOC8XMqz1Vr7RH65B4bmlfb3bm9xLxetUHO894+Sew== dependencies: - "@types/node" "^12.6.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-net "1.2.9" - web3-utils "1.2.9" + "@types/node" "^12.12.6" + web3-core "1.5.3" + web3-core-helpers "1.5.3" + web3-core-method "1.5.3" + web3-net "1.5.3" + web3-utils "1.5.3" -web3-eth-personal@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.4.0.tgz#77420d1f49e36f8c461a61aeabac16045d8592c0" - integrity sha512-8Ip6xZ8plmWqAD4ESbKUIPVV9gfTAFFm0ff1FQIw9I9kYvFlBIPzukvm852w2SftGem+/iRH+2+2mK7HvuKXZQ== +web3-eth-personal@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.0.tgz#b75a61c0737b8b8bcc11d05db2ed7bfce7e4b262" + integrity sha512-8ohf4qAwbShf4RwES2tLHVqa+pHZnS5Q6tV80sU//bivmlZeyO1W4UWyNn59vu9KPpEYvLseOOC6Muxuvr8mFQ== dependencies: "@types/node" "^12.12.6" - web3-core "1.4.0" - web3-core-helpers "1.4.0" - web3-core-method "1.4.0" - web3-net "1.4.0" - web3-utils "1.4.0" + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-net "1.6.0" + web3-utils "1.6.0" web3-eth@1.2.11: version "1.2.11" @@ -11207,43 +11208,41 @@ web3-eth@1.2.2: web3-net "1.2.2" web3-utils "1.2.2" -web3-eth@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.9.tgz#e40e7b88baffc9b487193211c8b424dc944977b3" - integrity sha512-sIKO4iE9FEBa/CYUd6GdPd7GXt/wISqxUd8PlIld6+hvMJj02lgO7Z7p5T9mZIJcIZJGvZX81ogx8oJ9yif+Ag== - dependencies: - underscore "1.9.1" - web3-core "1.2.9" - web3-core-helpers "1.2.9" - web3-core-method "1.2.9" - web3-core-subscriptions "1.2.9" - web3-eth-abi "1.2.9" - web3-eth-accounts "1.2.9" - web3-eth-contract "1.2.9" - web3-eth-ens "1.2.9" - web3-eth-iban "1.2.9" - web3-eth-personal "1.2.9" - web3-net "1.2.9" - web3-utils "1.2.9" - -web3-eth@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.4.0.tgz#6ca2dcbd72d128a225ada1fec0d1e751f8df5200" - integrity sha512-L990eMJeWh4h/Z3M8MJb9HrKq8tqvzdGZ7igdzd6Ba3B/VKgGFAJ/4XIqtLwAJ1Wg5Cj8my60tYY+34c2cLefw== - dependencies: - underscore "1.12.1" - web3-core "1.4.0" - web3-core-helpers "1.4.0" - web3-core-method "1.4.0" - web3-core-subscriptions "1.4.0" - web3-eth-abi "1.4.0" - web3-eth-accounts "1.4.0" - web3-eth-contract "1.4.0" - web3-eth-ens "1.4.0" - web3-eth-iban "1.4.0" - web3-eth-personal "1.4.0" - web3-net "1.4.0" - web3-utils "1.4.0" +web3-eth@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.5.3.tgz#d7d1ac7198f816ab8a2088c01e0bf1eda45862fe" + integrity sha512-saFurA1L23Bd7MEf7cBli6/jRdMhD4X/NaMiO2mdMMCXlPujoudlIJf+VWpRWJpsbDFdu7XJ2WHkmBYT5R3p1Q== + dependencies: + web3-core "1.5.3" + web3-core-helpers "1.5.3" + web3-core-method "1.5.3" + web3-core-subscriptions "1.5.3" + web3-eth-abi "1.5.3" + web3-eth-accounts "1.5.3" + web3-eth-contract "1.5.3" + web3-eth-ens "1.5.3" + web3-eth-iban "1.5.3" + web3-eth-personal "1.5.3" + web3-net "1.5.3" + web3-utils "1.5.3" + +web3-eth@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.0.tgz#4c9d5fb4eccf9f8744828281757e6ea76af58cbd" + integrity sha512-qJMvai//r0be6I9ghU24/152f0zgJfYC23TMszN3Y6jse1JtjCBP2TlTibFcvkUN1RRdIUY5giqO7ZqAYAmp7w== + dependencies: + web3-core "1.6.0" + web3-core-helpers "1.6.0" + web3-core-method "1.6.0" + web3-core-subscriptions "1.6.0" + web3-eth-abi "1.6.0" + web3-eth-accounts "1.6.0" + web3-eth-contract "1.6.0" + web3-eth-ens "1.6.0" + web3-eth-iban "1.6.0" + web3-eth-personal "1.6.0" + web3-net "1.6.0" + web3-utils "1.6.0" web3-net@1.2.11: version "1.2.11" @@ -11263,23 +11262,23 @@ web3-net@1.2.2: web3-core-method "1.2.2" web3-utils "1.2.2" -web3-net@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.9.tgz#51d248ed1bc5c37713c4ac40c0073d9beacd87d3" - integrity sha512-d2mTn8jPlg+SI2hTj2b32Qan6DmtU9ap/IUlJTeQbZQSkTLf0u9suW8Vjwyr4poJYXTurdSshE7OZsPNn30/ZA== +web3-net@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.5.3.tgz#545fee49b8e213b0c55cbe74ffd0295766057463" + integrity sha512-0W/xHIPvgVXPSdLu0iZYnpcrgNnhzHMC888uMlGP5+qMCt8VuflUZHy7tYXae9Mzsg1kxaJAS5lHVNyeNw4CoQ== dependencies: - web3-core "1.2.9" - web3-core-method "1.2.9" - web3-utils "1.2.9" + web3-core "1.5.3" + web3-core-method "1.5.3" + web3-utils "1.5.3" -web3-net@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.4.0.tgz#eaea1562dc96ddde6f14e823d2b94886091d2049" - integrity sha512-41WkKobL+KnKC0CY0RZ1KhMMyR/hMFGlbHZQac4KtB7ro1UdXeK+RiYX+GzSr1h7j9Dj+dQZqyBs70cxmL9cPQ== +web3-net@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.0.tgz#2c28f8787073110a7c2310336889d2dad647e500" + integrity sha512-LFfG95ovTT2sNHkO1TEfsaKpYcxOSUtbuwHQ0K3G0e5nevKDJkPEFIqIcob40yiwcWoqEjENJP9Bjk8CRrZ99Q== dependencies: - web3-core "1.4.0" - web3-core-method "1.4.0" - web3-utils "1.4.0" + web3-core "1.6.0" + web3-core-method "1.6.0" + web3-utils "1.6.0" web3-provider-engine@14.2.1: version "14.2.1" @@ -11323,20 +11322,20 @@ web3-providers-http@1.2.2: web3-core-helpers "1.2.2" xhr2-cookies "1.1.0" -web3-providers-http@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.9.tgz#e698aa5377e2019c24c5a1e6efa0f51018728934" - integrity sha512-F956tCIj60Ttr0UvEHWFIhx+be3He8msoPzyA44/kfzzYoMAsCFRn5cf0zQG6al0znE75g6HlWVSN6s3yAh51A== +web3-providers-http@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.5.3.tgz#74f170fc3d79eb7941d9fbc34e2a067d61ced0b2" + integrity sha512-5DpUyWGHtDAr2RYmBu34Fu+4gJuBAuNx2POeiJIooUtJ+Mu6pIx4XkONWH6V+Ez87tZAVAsFOkJRTYuzMr3rPw== dependencies: - web3-core-helpers "1.2.9" + web3-core-helpers "1.5.3" xhr2-cookies "1.1.0" -web3-providers-http@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.4.0.tgz#2d67f85fda00765c1402aede3d7e6cbacaa3091b" - integrity sha512-A9nLF4XGZfDb1KYYuKRwHY1H90Ee/0I0CqQQEELI0yuY9eca50qdCHEg3sJhvqBIG44JCm83amOGxR8wi+76tQ== +web3-providers-http@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.0.tgz#8db4e589abf7197f5d65b12af1bf9726c45f4160" + integrity sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA== dependencies: - web3-core-helpers "1.4.0" + web3-core-helpers "1.6.0" xhr2-cookies "1.1.0" web3-providers-ipc@1.2.11: @@ -11357,23 +11356,21 @@ web3-providers-ipc@1.2.2: underscore "1.9.1" web3-core-helpers "1.2.2" -web3-providers-ipc@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.9.tgz#6159eacfcd7ac31edc470d93ef10814fe874763b" - integrity sha512-NQ8QnBleoHA2qTJlqoWu7EJAD/FR5uimf7Ielzk4Z2z+m+6UAuJdJMSuQNj+Umhz9L/Ys6vpS1vHx9NizFl+aQ== +web3-providers-ipc@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.5.3.tgz#4bd7f5e445c2f3c2595fce0929c72bb879320a3f" + integrity sha512-JmeAptugVpmXI39LGxUSAymx0NOFdgpuI1hGQfIhbEAcd4sv7fhfd5D+ZU4oLHbRI8IFr4qfGU0uhR8BXhDzlg== dependencies: - oboe "2.1.4" - underscore "1.9.1" - web3-core-helpers "1.2.9" + oboe "2.1.5" + web3-core-helpers "1.5.3" -web3-providers-ipc@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.4.0.tgz#cd14e93e2d22689a26587dd2d2101e575d1e2924" - integrity sha512-ul/tSNUI5anhdBGBV+FWFH9EJgO73/G21haFDEXvTnSJQa9/byj401H/E2Xd8BXGk+2XB+CCGLZBiuAjhhhtTA== +web3-providers-ipc@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz#6a3410fd47a67c4a36719fb97f99534ae12aac98" + integrity sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA== dependencies: oboe "2.1.5" - underscore "1.12.1" - web3-core-helpers "1.4.0" + web3-core-helpers "1.6.0" web3-providers-ws@1.2.11: version "1.2.11" @@ -11394,24 +11391,22 @@ web3-providers-ws@1.2.2: web3-core-helpers "1.2.2" websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" -web3-providers-ws@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.9.tgz#22c2006655ec44b4ad2b41acae62741a6ae7a88c" - integrity sha512-6+UpvINeI//dglZoAKStUXqxDOXJy6Iitv2z3dbgInG4zb8tkYl/VBDL80UjUg3ZvzWG0g7EKY2nRPEpON2TFA== +web3-providers-ws@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.5.3.tgz#eec6cfb32bb928a4106de506f13a49070a21eabf" + integrity sha512-6DhTw4Q7nm5CFYEUHOJM0gAb3xFx+9gWpVveg3YxJ/ybR1BUvEWo3bLgIJJtX56cYX0WyY6DS35a7f0LOI1kVg== dependencies: - eventemitter3 "^4.0.0" - underscore "1.9.1" - web3-core-helpers "1.2.9" - websocket "^1.0.31" + eventemitter3 "4.0.4" + web3-core-helpers "1.5.3" + websocket "^1.0.32" -web3-providers-ws@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.4.0.tgz#a4db03fc865a73db62bc15c5da37f930517cfe08" - integrity sha512-E5XfF58RLXuCtGiMSXxXEtjceCfPli+I4MDYCKx/J/bDJ6qvLUM2OnnGEmE7pq1Z03h0xh1ZezaB/qoweK3ZIQ== +web3-providers-ws@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz#dc15dc18c30089efda992015fd5254bd2b77af5f" + integrity sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA== dependencies: eventemitter3 "4.0.4" - underscore "1.12.1" - web3-core-helpers "1.4.0" + web3-core-helpers "1.6.0" websocket "^1.0.32" web3-shh@1.2.11: @@ -11434,25 +11429,25 @@ web3-shh@1.2.2: web3-core-subscriptions "1.2.2" web3-net "1.2.2" -web3-shh@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.9.tgz#c4ba70d6142cfd61341a50752d8cace9a0370911" - integrity sha512-PWa8b/EaxaMinFaxy6cV0i0EOi2M7a/ST+9k9nhyhCjVa2vzXuNoBNo2IUOmeZ0WP2UQB8ByJ2+p4htlJaDOjA== +web3-shh@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.5.3.tgz#3c04aa4cda9ba0b746d7225262401160f8e38b13" + integrity sha512-COfEXfsqoV/BkcsNLRxQqnWc1Teb8/9GxdGag5GtPC5gQC/vsN+7hYVJUwNxY9LtJPKYTij2DHHnx6UkITng+Q== dependencies: - web3-core "1.2.9" - web3-core-method "1.2.9" - web3-core-subscriptions "1.2.9" - web3-net "1.2.9" + web3-core "1.5.3" + web3-core-method "1.5.3" + web3-core-subscriptions "1.5.3" + web3-net "1.5.3" -web3-shh@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.4.0.tgz#d22ff8dce16987bef73172191d9e95c3ccf0aa80" - integrity sha512-OZMkMgo+VZnu1ErhIFXW+5ExnPKQg9v8/2DHGVtNEwuC5OHYuAEF5U7MQgbxYJYwbRmxQCt/hA3VwKjnkbmSAA== +web3-shh@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.0.tgz#838a3435dce1039f669a48e53e948062de197931" + integrity sha512-ymN0OFL81WtEeSyb+PFpuUv39fR3frGwsZnIg5EVPZvrOIdaDSFcGSLDmafUt0vKSubvLMVYIBOCskRD6YdtEQ== dependencies: - web3-core "1.4.0" - web3-core-method "1.4.0" - web3-core-subscriptions "1.4.0" - web3-net "1.4.0" + web3-core "1.6.0" + web3-core-method "1.6.0" + web3-core-subscriptions "1.6.0" + web3-net "1.6.0" web3-utils@1.2.11: version "1.2.11" @@ -11482,38 +11477,10 @@ web3-utils@1.2.2: underscore "1.9.1" utf8 "3.0.0" -web3-utils@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.2.9.tgz#abe11735221627da943971ef1a630868fb9c61f3" - integrity sha512-9hcpuis3n/LxFzEVjwnVgvJzTirS2S9/MiNAa7l4WOEoywY+BSNwnRX4MuHnjkh9NY25B6QOjuNG6FNnSjTw1w== - dependencies: - bn.js "4.11.8" - eth-lib "0.2.7" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - underscore "1.9.1" - utf8 "3.0.0" - -web3-utils@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.4.0.tgz#e8cb381c81b242dc1d4ecb397200356d404410e6" - integrity sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q== - dependencies: - bn.js "^4.11.9" - eth-lib "0.2.8" - ethereum-bloom-filters "^1.0.6" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - underscore "1.12.1" - utf8 "3.0.0" - -web3-utils@^1.0.0-beta.31: - version "1.3.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.0.tgz#5bac16e5e0ec9fe7bdcfadb621655e8aa3cf14e1" - integrity sha512-2mS5axFCbkhicmoDRuJeuo0TVGQDgC2sPi/5dblfVC+PMtX0efrb8Xlttv/eGkq7X4E83Pds34FH98TP2WOUZA== +web3-utils@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.5.3.tgz#e914c9320cd663b2a09a5cb920ede574043eb437" + integrity sha512-56nRgA+Ad9SEyCv39g36rTcr5fpsd4L9LgV3FK0aB66nAMazLAA6Qz4lH5XrUKPDyBIPGJIR+kJsyRtwcu2q1Q== dependencies: bn.js "^4.11.9" eth-lib "0.2.8" @@ -11521,21 +11488,19 @@ web3-utils@^1.0.0-beta.31: ethjs-unit "0.1.6" number-to-bn "1.7.0" randombytes "^2.1.0" - underscore "1.9.1" utf8 "3.0.0" -web3-utils@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.3.1.tgz#9aa880dd8c9463fe5c099107889f86a085370c2e" - integrity sha512-9gPwFm8SXtIJuzdrZ37PRlalu40fufXxo+H2PiCwaO6RpKGAvlUlWU0qQbyToFNXg7W2H8djEgoAVac8NLMCKQ== +web3-utils@1.6.0, web3-utils@^1.0.0-beta.31, web3-utils@^1.3.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.0.tgz#1975c5ee5b7db8a0836eb7004848a7cd962d1ddc" + integrity sha512-bgCAWAeQnJF035YTFxrcHJ5mGEfTi/McsjqldZiXRwlHK7L1PyOqvXiQLE053dlzvy1kdAxWl/sSSfLMyNUAXg== dependencies: bn.js "^4.11.9" - eth-lib "0.2.8" ethereum-bloom-filters "^1.0.6" + ethereumjs-util "^7.1.0" ethjs-unit "0.1.6" number-to-bn "1.7.0" randombytes "^2.1.0" - underscore "1.9.1" utf8 "3.0.0" web3@1.2.11: @@ -11565,33 +11530,38 @@ web3@1.2.2: web3-shh "1.2.2" web3-utils "1.2.2" -web3@1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.9.tgz#cbcf1c0fba5e213a6dfb1f2c1f4b37062e4ce337" - integrity sha512-Mo5aBRm0JrcNpN/g4VOrDzudymfOnHRC3s2VarhYxRA8aWgF5rnhQ0ziySaugpic1gksbXPe105pUWyRqw8HUA== +web3@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.5.3.tgz#11882679453c645bf33620fbc255a243343075aa" + integrity sha512-eyBg/1K44flfv0hPjXfKvNwcUfIVDI4NX48qHQe6wd7C8nPSdbWqo9vLy6ksZIt9NLa90HjI8HsGYgnMSUxn6w== dependencies: - web3-bzz "1.2.9" - web3-core "1.2.9" - web3-eth "1.2.9" - web3-eth-personal "1.2.9" - web3-net "1.2.9" - web3-shh "1.2.9" - web3-utils "1.2.9" + web3-bzz "1.5.3" + web3-core "1.5.3" + web3-eth "1.5.3" + web3-eth-personal "1.5.3" + web3-net "1.5.3" + web3-shh "1.5.3" + web3-utils "1.5.3" web3@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.4.0.tgz#717c01723226daebab9274be5cb56644de860688" - integrity sha512-faT3pIX+1tuo+wqmUFQPe10MUGaB1UvRYxw9dmVJFLxaRAIfXErSilOf3jFhSwKbbPNkwG0bTiudCLN9JgeS7A== - dependencies: - web3-bzz "1.4.0" - web3-core "1.4.0" - web3-eth "1.4.0" - web3-eth-personal "1.4.0" - web3-net "1.4.0" - web3-shh "1.4.0" - web3-utils "1.4.0" - -websocket@1.0.32, websocket@^1.0.31: + version "1.6.0" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.0.tgz#d8fa0cd9e7bf252f9fe43bb77dc42bc6671affde" + integrity sha512-rWpXnO88MiVX5yTRqMBCVKASxc7QDkXZZUl1D48sKlbX4dt3BAV+nVMVUKCBKiluZ5Bp8pDrVCUdPx/jIYai5Q== + dependencies: + web3-bzz "1.6.0" + web3-core "1.6.0" + web3-eth "1.6.0" + web3-eth-personal "1.6.0" + web3-net "1.6.0" + web3-shh "1.6.0" + web3-utils "1.6.0" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +websocket@1.0.32: version "1.0.32" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.32.tgz#1f16ddab3a21a2d929dec1687ab21cfdc6d3dbb1" integrity sha512-i4yhcllSP4wrpoPMU2N0TQ/q0O94LRG/eUQjEAamRltjQ1oT1PFFKOG4i877OlJgCG8rw6LrrowJp+TYCEWF7Q== @@ -11603,7 +11573,7 @@ websocket@1.0.32, websocket@^1.0.31: utf-8-validate "^5.0.2" yaeti "^0.0.6" -websocket@^1.0.32: +websocket@^1.0.31, websocket@^1.0.32: version "1.0.34" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== @@ -11630,6 +11600,14 @@ whatwg-fetch@2.0.4: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -11652,17 +11630,16 @@ which-module@^2.0.0: integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= which-typed-array@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" - integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== + version "1.1.7" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" + integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== dependencies: - available-typed-arrays "^1.0.2" - call-bind "^1.0.0" - es-abstract "^1.18.0-next.1" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-abstract "^1.18.5" foreach "^2.0.5" - function-bind "^1.1.1" - has-symbols "^1.0.1" - is-typed-array "^1.1.3" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.7" which@1.2.x: version "1.2.14" @@ -11741,6 +11718,11 @@ ws@7.2.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.3.tgz#a5411e1fb04d5ed0efee76d26d5c46d830c39b46" integrity sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ== +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + ws@^3.0.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -11751,16 +11733,16 @@ ws@^3.0.0: ultron "~1.1.0" ws@^5.1.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + version "5.2.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" + integrity sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA== dependencies: async-limiter "~1.0.0" ws@^7.4.6: - version "7.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691" - integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw== + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== xhr-request-promise@^0.1.2: version "0.1.3" @@ -11790,11 +11772,11 @@ xhr2-cookies@1.1.0: cookiejar "^2.1.1" xhr@^2.0.4, xhr@^2.2.0, xhr@^2.3.3: - version "2.5.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" - integrity sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ== + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== dependencies: - global "~4.3.0" + global "~4.4.0" is-function "^1.0.1" parse-headers "^2.0.0" xtend "^4.0.0" @@ -11817,14 +11799,14 @@ xtend@~2.1.1: object-keys "~0.4.0" y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= + version "3.2.2" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== yaeti@^0.0.6: version "0.0.6" @@ -11836,7 +11818,7 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: +yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== From 60f50f3b97d2569959f4a396e0b4b0793ed8748f Mon Sep 17 00:00:00 2001 From: aalavandhan1984 Date: Tue, 2 Nov 2021 15:01:43 -0400 Subject: [PATCH 02/13] restructured interfaces --- .../bridge-gateways/IArbitrumGateway.sol | 69 ++++ .../bridge-gateways/IChainBridgeGateway.sol | 43 ++ ...TransferGatewayEvents.sol => IGateway.sol} | 24 ++ .../bridge-gateways/IMaticGateway.sol | 13 + .../bridge-gateways/IRebaseGatewayEvents.sol | 23 -- .../ChainBridgeRebaseGateway.sol | 21 - .../ChainBridgeTransferGateway.sol | 45 -- .../Layer2RebaseGateway.sol | 10 - .../Layer2TransferGateway.sol | 10 - .../bridge-gateways/AMPLArbitrumGateway.sol | 388 ++++++++++++++++++ .../AMPLChainBridgeGateway.sol | 22 +- .../AMPLMaticRebaseGateway.sol | 18 +- .../AMPLMaticTransferGateway.sol | 64 +-- .../ChainBridgeXCAmpleGateway.sol | 18 +- .../MaticXCAmpleRebaseGateway.sol | 19 +- .../MaticXCAmpleTransferGateway.sol | 64 +-- 16 files changed, 657 insertions(+), 194 deletions(-) create mode 100644 contracts/_interfaces/bridge-gateways/IArbitrumGateway.sol create mode 100644 contracts/_interfaces/bridge-gateways/IChainBridgeGateway.sol rename contracts/_interfaces/bridge-gateways/{ITransferGatewayEvents.sol => IGateway.sol} (54%) create mode 100644 contracts/_interfaces/bridge-gateways/IMaticGateway.sol delete mode 100644 contracts/_interfaces/bridge-gateways/IRebaseGatewayEvents.sol delete mode 100644 contracts/base-bridge-gateways/ChainBridgeRebaseGateway.sol delete mode 100644 contracts/base-bridge-gateways/ChainBridgeTransferGateway.sol delete mode 100644 contracts/base-bridge-gateways/Layer2RebaseGateway.sol delete mode 100644 contracts/base-bridge-gateways/Layer2TransferGateway.sol create mode 100644 contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol diff --git a/contracts/_interfaces/bridge-gateways/IArbitrumGateway.sol b/contracts/_interfaces/bridge-gateways/IArbitrumGateway.sol new file mode 100644 index 0000000..ff7a806 --- /dev/null +++ b/contracts/_interfaces/bridge-gateways/IArbitrumGateway.sol @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +import {IBCRebaseGatewayEvents, ISCRebaseGatewayEvents, ITransferGatewayEvents} from "./IGateway.sol"; +import {ITokenGateway} from "arb-bridge-peripherals/contracts/tokenbridge/libraries/gateway/ITokenGateway.sol"; + +// Arbitrum chains expect the cross chain transaction to "pre-pay" in eth +// for execution on the other chain +// https://developer.offchainlabs.com/docs/l1_l2_messages + +interface IArbitrumBCRebaseGateway is IBCRebaseGatewayEvents { + event RebaseReportInitiated(uint256 indexed _sequenceNumber); + + function reportRebaseInit( + uint256 _maxSubmissionCost, + uint256 _maxGas, + uint256 _gasPriceBid + ) external payable returns (bytes memory); +} + +interface IArbitrumSCRebaseGateway is ISCRebaseGatewayEvents { + event RebaseReportFinalized(uint256 indexed _exitNum); + + function reportRebaseCommit(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) external; +} + +interface IArbitrumTransferGateway is ITransferGatewayEvents, ITokenGateway { + function getOutboundCalldata( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes memory _data + ) external view returns (bytes memory); +} + +interface IArbitrumBCTransferGateway is IArbitrumTransferGateway { + event DepositInitiated( + address l1Token, + address indexed _from, + address indexed _to, + uint256 indexed _sequenceNumber, + uint256 _amount + ); + + event WithdrawalFinalized( + address l1Token, + address indexed _from, + address indexed _to, + uint256 indexed _exitNum, + uint256 _amount + ); +} + +interface IArbitrumSCTransferGateway is IArbitrumTransferGateway { + event DepositFinalized( + address indexed l1Token, + address indexed _from, + address indexed _to, + uint256 _amount + ); + + event WithdrawalInitiated( + address l1Token, + address indexed _from, + address indexed _to, + uint256 indexed _l2ToL1Id, + uint256 _exitNum, + uint256 _amount + ); +} diff --git a/contracts/_interfaces/bridge-gateways/IChainBridgeGateway.sol b/contracts/_interfaces/bridge-gateways/IChainBridgeGateway.sol new file mode 100644 index 0000000..31350cb --- /dev/null +++ b/contracts/_interfaces/bridge-gateways/IChainBridgeGateway.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +import {IBCRebaseGatewayEvents, ISCRebaseGatewayEvents, ITransferGatewayEvents} from "./IGateway.sol"; + +interface IChainBridgeBCRebaseGateway is IBCRebaseGatewayEvents { + function validateRebaseReport(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) external; +} + +interface IChainBridgeSCRebaseGateway is ISCRebaseGatewayEvents { + function reportRebase(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) external; +} + +interface IChainBridgeBCTransferGateway is ITransferGatewayEvents { + function validateAndLock( + address sender, + address recipientInTargetChain, + uint256 amount, + uint256 globalAMPLSupply + ) external; + + function unlock( + address senderInSourceChain, + address recipient, + uint256 amount, + uint256 globalAMPLSupply + ) external; +} + +interface IChainBridgeSCTransferGateway is ITransferGatewayEvents { + function mint( + address senderInSourceChain, + address recipient, + uint256 amount, + uint256 globalAMPLSupply + ) external; + + function validateAndBurn( + address sender, + address recipientInTargetChain, + uint256 amount, + uint256 globalAMPLSupply + ) external; +} diff --git a/contracts/_interfaces/bridge-gateways/ITransferGatewayEvents.sol b/contracts/_interfaces/bridge-gateways/IGateway.sol similarity index 54% rename from contracts/_interfaces/bridge-gateways/ITransferGatewayEvents.sol rename to contracts/_interfaces/bridge-gateways/IGateway.sol index 3669df7..7b676ec 100644 --- a/contracts/_interfaces/bridge-gateways/ITransferGatewayEvents.sol +++ b/contracts/_interfaces/bridge-gateways/IGateway.sol @@ -1,5 +1,29 @@ // SPDX-License-Identifier: GPL-3.0-or-later +interface IBCRebaseGatewayEvents { + // Logged on the base chain gateway (ethereum) when rebase report is propagated out + event XCRebaseReportOut( + // epoch from the Ampleforth Monetary Policy on the base chain + uint256 globalAmpleforthEpoch, + // totalSupply of AMPL ERC-20 contract on the base chain + uint256 globalAMPLSupply + ); +} + +interface ISCRebaseGatewayEvents { + // Logged on the satellite chain gateway when bridge reports most recent rebase + event XCRebaseReportIn( + // new value coming in from the base chain + uint256 globalAmpleforthEpoch, + // new value coming in from the base chain + uint256 globalAMPLSupply, + // existing value on the satellite chain + uint256 recordedGlobalAmpleforthEpoch, + // existing value on the satellite chain + uint256 recordedGlobalAMPLSupply + ); +} + interface ITransferGatewayEvents { // Logged on source chain when cross-chain transfer is initiated event XCTransferOut( diff --git a/contracts/_interfaces/bridge-gateways/IMaticGateway.sol b/contracts/_interfaces/bridge-gateways/IMaticGateway.sol new file mode 100644 index 0000000..ff00885 --- /dev/null +++ b/contracts/_interfaces/bridge-gateways/IMaticGateway.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +import {IBCRebaseGatewayEvents, ISCRebaseGatewayEvents, ITransferGatewayEvents} from "./IGateway.sol"; + +interface IMaticBCRebaseGateway is IBCRebaseGatewayEvents { + function reportRebase() external; +} + +interface IMaticSCRebaseGateway is ISCRebaseGatewayEvents {} + +interface IMaticTransferGateway is ITransferGatewayEvents { + function transfer(address recipientInTargetChain, uint256 amount) external; +} diff --git a/contracts/_interfaces/bridge-gateways/IRebaseGatewayEvents.sol b/contracts/_interfaces/bridge-gateways/IRebaseGatewayEvents.sol deleted file mode 100644 index 1bba692..0000000 --- a/contracts/_interfaces/bridge-gateways/IRebaseGatewayEvents.sol +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -interface IRebaseGatewayEvents { - // Logged on the base chain gateway (ethereum) when rebase report is propagated out - event XCRebaseReportOut( - // epoch from the Ampleforth Monetary Policy on the base chain - uint256 globalAmpleforthEpoch, - // totalSupply of AMPL ERC-20 contract on the base chain - uint256 globalAMPLSupply - ); - - // Logged on the satellite chain gateway (tron, acala, near) when bridge reports most recent rebase - event XCRebaseReportIn( - // new value coming in from the base chain - uint256 globalAmpleforthEpoch, - // new value coming in from the base chain - uint256 globalAMPLSupply, - // existing value on the satellite chain - uint256 recordedGlobalAmpleforthEpoch, - // existing value on the satellite chain - uint256 recordedGlobalAMPLSupply - ); -} diff --git a/contracts/base-bridge-gateways/ChainBridgeRebaseGateway.sol b/contracts/base-bridge-gateways/ChainBridgeRebaseGateway.sol deleted file mode 100644 index 8ff6f89..0000000 --- a/contracts/base-bridge-gateways/ChainBridgeRebaseGateway.sol +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -import {IRebaseGatewayEvents} from "../_interfaces/bridge-gateways/IRebaseGatewayEvents.sol"; - -contract ChainBridgeRebaseGateway is IRebaseGatewayEvents { - // overridden on the base chain gateway (ethereum) - function validateRebaseReport(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) - external - virtual - { - require(false, "Gateway function NOT_IMPLEMENTED"); - } - - // overridden on the satellite chain gateway (tron, acala, near) - function reportRebase(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) - external - virtual - { - require(false, "Gateway function NOT_IMPLEMENTED"); - } -} diff --git a/contracts/base-bridge-gateways/ChainBridgeTransferGateway.sol b/contracts/base-bridge-gateways/ChainBridgeTransferGateway.sol deleted file mode 100644 index ccd4c5e..0000000 --- a/contracts/base-bridge-gateways/ChainBridgeTransferGateway.sol +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -import {ITransferGatewayEvents} from "../_interfaces/bridge-gateways/ITransferGatewayEvents.sol"; - -contract ChainBridgeTransferGateway is ITransferGatewayEvents { - // overridden on the base chain gateway (ethereum) - function validateAndLock( - address sender, - address recipientAddressInTargetChain, - uint256 amount, - uint256 globalAMPLSupply - ) external virtual { - require(false, "Gateway function NOT_IMPLEMENTED"); - } - - // overridden on the base chain gateway (ethereum) - function unlock( - address senderAddressInSourceChain, - address recipient, - uint256 amount, - uint256 globalAMPLSupply - ) external virtual { - require(false, "Gateway function NOT_IMPLEMENTED"); - } - - // overridden on the satellite chain gateway (tron, acala, near) - function mint( - address senderAddressInSourceChain, - address recipient, - uint256 amount, - uint256 globalAMPLSupply - ) external virtual { - require(false, "Gateway function NOT_IMPLEMENTED"); - } - - // overridden on the satellite chain gateway (tron, acala, near) - function validateAndBurn( - address sender, - address recipientAddressInTargetChain, - uint256 amount, - uint256 globalAMPLSupply - ) external virtual { - require(false, "Gateway function NOT_IMPLEMENTED"); - } -} diff --git a/contracts/base-bridge-gateways/Layer2RebaseGateway.sol b/contracts/base-bridge-gateways/Layer2RebaseGateway.sol deleted file mode 100644 index b76caf8..0000000 --- a/contracts/base-bridge-gateways/Layer2RebaseGateway.sol +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -import {IRebaseGatewayEvents} from "../_interfaces/bridge-gateways/IRebaseGatewayEvents.sol"; - -contract Layer2RebaseGateway is IRebaseGatewayEvents { - // overridden on the base chain gateway (ethereum) - function reportRebase() external virtual { - require(false, "Gateway function NOT_IMPLEMENTED"); - } -} diff --git a/contracts/base-bridge-gateways/Layer2TransferGateway.sol b/contracts/base-bridge-gateways/Layer2TransferGateway.sol deleted file mode 100644 index 6ed324c..0000000 --- a/contracts/base-bridge-gateways/Layer2TransferGateway.sol +++ /dev/null @@ -1,10 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later - -import {ITransferGatewayEvents} from "../_interfaces/bridge-gateways/ITransferGatewayEvents.sol"; - -contract Layer2TransferGateway is ITransferGatewayEvents { - // overridden on the satellite chain gateway (tron, acala, near) - function transfer(address recipientInTargetChain, uint256 amount) external virtual { - require(false, "Gateway function NOT_IMPLEMENTED"); - } -} diff --git a/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol b/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol new file mode 100644 index 0000000..c634508 --- /dev/null +++ b/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol @@ -0,0 +1,388 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +pragma solidity 0.6.11; +pragma experimental ABIEncoderV2; + +import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; +import {Initializable} from "@openzeppelin/contracts/proxy/Initializable.sol"; +import {GatewayMessageHandler} from "arb-bridge-peripherals/contracts/tokenbridge/libraries/gateway/GatewayMessageHandler.sol"; +import {L1ArbitrumMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol"; + +import {IArbitrumBCRebaseGateway, IArbitrumBCTransferGateway, IArbitrumSCRebaseGateway, IArbitrumSCTransferGateway} from "../../_interfaces/bridge-gateways/IArbitrumGateway.sol"; +import {IAmpleforth} from "uFragments/contracts/interfaces/IAmpleforth.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/SafeERC20.sol"; +import {ITokenVault} from "../../_interfaces/ITokenVault.sol"; + +/// @dev Abstract l2 gateway contarct implementation to define function selectors +abstract contract ArbitrumXCAmpleGateway is IArbitrumSCRebaseGateway, IArbitrumSCTransferGateway { + function reportRebaseCommit(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) + external + override + { + require(false, "ArbitrumXCAmpleGateway: NOT_IMPLEMENTED"); + } + + function finalizeInboundTransfer( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes calldata _data + ) external payable override { + require(false, "ArbitrumXCAmpleGateway: NOT_IMPLEMENTED"); + } +} + +/** + * @title AMPLArbitrumGateway: AMPL-Arbitrum Gateway Contract + * @dev This contract is deployed on the base chain (Ethereum). + * + * It's a pass-through contract between the Arbitrum's bridge and + * the Ampleforth policy. + * + */ +contract AMPLArbitrumGateway is + IArbitrumBCRebaseGateway, + IArbitrumBCTransferGateway, + L1ArbitrumMessenger, + Initializable +{ + using SafeMath for uint256; + using SafeERC20 for IERC20; + + //-------------------------------------------------------------------------- + // AMPL Base chain gateway attributes + + /// @dev Address of the AMPL ERC20 on the base chain. + address public immutable ampl; + + /// @dev Address of the Ampleforth monetary policy on the base chain. + address public immutable policy; + + /// @dev Address of the token vault which escrows funds on the base chain. + address public immutable vault; + + //-------------------------------------------------------------------------- + // Arbitrum gateway attributes + + /// @dev Address of the arbitrum bridge inbox. + address public inbox; + + /// @dev Address if the arbitrum bridge router. + address public router; + + /// @dev Address of the counterpart gateway contract on the arbitrum chain + /// which "finalizes" cross chain transactions. + address public counterpartGateway; + + /// @dev Address of XCAmple token on the satellite chain. + address public xcAmple; + + //-------------------------------------------------------------------------- + // Modifiers + + // @dev Validate incoming transactions before "finalization". + modifier onlyCounterpartGateway() { + address bridge = address(super.getBridge(inbox)); + require(msg.sender == bridge, "AMPLArbitrumGateway: NOT_FROM_BRIDGE"); + + address l2ToL1Sender = super.getL2ToL1Sender(inbox); + require( + l2ToL1Sender == counterpartGateway, + "AMPLArbitrumGateway: ONLY_COUNTERPART_GATEWAY" + ); + _; + } + + //-------------------------------------------------------------------------- + // Constructor + + /** + * @notice Instantiate the contract with references. + * @param ampl_ Address of the AMPL ERC-20 on the Base Chain. + * @param policy_ Address of the Ampleforth monetary policy on the Base Chain. + * @param vault_ Address of the vault contract. + */ + constructor( + address ampl_, + address policy_, + address vault_ + ) public { + ampl = ampl_; + policy = policy_; + vault = vault_; + } + + /** + * @notice Initialize contract with the addresses from the satellite chain (arbitrum). + * @param inbox_ Address of the arbitrum bridge inbox on the base chain. + * @param router_ Address of the arbitrum token transfer router on the base chain. + * @param xcAmple_ Address of the XCAmple ERC-20 on the satellite chain. + * @param counterpartGateway_ Address the counterpart gateway contract on the satellite chain. + */ + function initialize( + address inbox_, + address router_, + address xcAmple_, + address counterpartGateway_ + ) public initializer { + inbox = inbox_; + router = router_; + xcAmple = xcAmple_; + counterpartGateway = counterpartGateway_; + } + + //-------------------------------------------------------------------------- + // External methods + + /** + * @notice Builds the payload and transmits rebase report to Arbitrum. + * @param _maxSubmissionCost Amount of ETH allocated to pay for the base submission fee. + * @param _maxGas Max gas deducted from user's L2 balance to cover L2 execution. + * @param _gasPriceBid Gas price for L2 execution. + * @return res abi encoded inbox sequence number. + */ + function reportRebaseInit( + uint256 _maxSubmissionCost, + uint256 _maxGas, + uint256 _gasPriceBid + ) external payable override returns (bytes memory) { + require(xcAmple != address(0), "AMPLArbitrumGateway: NOT_INITIALIZED"); + + uint256 recordedGlobalAmpleforthEpoch = IAmpleforth(policy).epoch(); + uint256 recordedGlobalAMPLSupply = IERC20(ampl).totalSupply(); + + emit XCRebaseReportOut(recordedGlobalAmpleforthEpoch, recordedGlobalAMPLSupply); + + uint256 seqNumber = sendTxToL2( + inbox, + counterpartGateway, + tx.origin, + msg.value, + 0, + L2GasParams({ + _maxSubmissionCost: _maxSubmissionCost, + _maxGas: _maxGas, + _gasPriceBid: _gasPriceBid + }), + abi.encodeWithSelector( + ArbitrumXCAmpleGateway.reportRebaseCommit.selector, + recordedGlobalAmpleforthEpoch, + recordedGlobalAMPLSupply + ) + ); + + emit RebaseReportInitiated(seqNumber); + + return abi.encode(seqNumber); + } + + /** + * @notice Deposit AMPL from Ethereum into Arbitrum. + * @param _l1Token L1 address of the AMPL ERC20. + * @param _to account to be credited with the tokens in the L2 (can be the user's L2 account or a contract). + * @param _amount Token Amount. + * @param _maxGas Max gas deducted from user's L2 balance to cover L2 execution. + * @param _gasPriceBid Gas price for L2 execution. + * @param _data encoded data from router and user. + * @return res abi encoded inbox sequence number. + */ + function outboundTransfer( + address _l1Token, + address _to, + uint256 _amount, + uint256 _maxGas, + uint256 _gasPriceBid, + bytes calldata _data + ) external payable override returns (bytes memory) { + require(msg.sender == router, "AMPLArbitrumGateway: NOT_FROM_ROUTER"); + + require(_l1Token == ampl, "AMPLArbitrumGateway: ONLY_AMPL_ALLOWED"); + + require(xcAmple != address(0), "AMPLArbitrumGateway: NOT_INITIALIZED"); + + L2GasParams memory gasParams = L2GasParams({ + _maxSubmissionCost: 0, + _maxGas: _maxGas, + _gasPriceBid: _gasPriceBid + }); + + address from; + (from, gasParams._maxSubmissionCost) = _parseDataFromRouterOnTransfer(_data); + + // Lock funds and log outbound transfer + uint256 recordedGlobalAMPLSupply; + { + recordedGlobalAMPLSupply = IERC20(_l1Token).totalSupply(); + + // NOTE: The usual xc-transfer flow involves the depositer approving the vault + // and initiating the transfer. However the arbitrum implementation expects + // the user to approve the gateway. We thus add this extra step to confirm + // to both interfaces. + // 1) User approves the gateway + // 2) Tokens transfer from user => gateway => vault + IERC20(_l1Token).safeTransferFrom(from, address(this), _amount); + IERC20(_l1Token).approve(vault, _amount); + + ITokenVault(vault).lock(_l1Token, address(this), _amount); + + emit XCTransferOut(from, address(0), _amount, recordedGlobalAMPLSupply); + } + + // Execute cross-chain transfer + return + abi.encode( + createOutboundTransfer( + _l1Token, + from, + _to, + _amount, + gasParams, + recordedGlobalAMPLSupply + ) + ); + } + + /** + * @notice Finalizes a withdrawal via Outbox message; callable only by L2Gateway.outboundTransfer + * @param _l1Token L1 address of the AMPL ERC20. + * @param _from initiator of withdrawal. + * @param _to address the L2 withdrawal call set as the destination. + * @param _amount Token amount being withdrawn. + * @param _data encoded exitNum (Sequentially increasing exit counter determined by the L2Gateway) + * and recordedGlobalAMPLSupply from the source chain. + */ + function finalizeInboundTransfer( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes calldata _data + ) external payable override onlyCounterpartGateway { + require(_l1Token == ampl, "AMPLArbitrumGateway: ONLY_AMPL_ALLOWED"); + + // Decode data from the bridge + uint256 exitNum; + uint256 globalAMPLSupply; + (exitNum, globalAMPLSupply) = abi.decode(_data, (uint256, uint256)); + + // Log inbound transfer and release funds + // NOTE: this fails with the aribturm UI which approves this contract NOT the vault. + // TODO: safe transfer from user to self and then forward to the vault. + uint256 unlockAmount; + { + uint256 recordedGlobalAMPLSupply = IERC20(ampl).totalSupply(); + + emit XCTransferIn(address(0), _to, globalAMPLSupply, _amount, recordedGlobalAMPLSupply); + + unlockAmount = _amount.mul(recordedGlobalAMPLSupply).div(globalAMPLSupply); + + ITokenVault(vault).unlock(ampl, _to, unlockAmount); + } + + emit WithdrawalFinalized(_l1Token, _from, _to, exitNum, unlockAmount); + } + + //-------------------------------------------------------------------------- + // View methods + + /// @return The L2 AMPL token address. + function calculateL2TokenAddress(address token) public view override returns (address) { + if (token != ampl) { + return address(0); + } + return xcAmple; + } + + /// @return The encoded outbound call data with the current globalAMPLSupply. + function getOutboundCalldata( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes memory _data + ) external view override returns (bytes memory) { + return _getOutboundCalldata(_l1Token, _from, _to, _amount, IERC20(ampl).totalSupply()); + } + + //-------------------------------------------------------------------------- + // Internal methods + + /// @dev Parses data packed by the router + /// @return The depositor address and maxSubmissionCost + function _parseDataFromRouterOnTransfer(bytes calldata _data) + internal + returns (address, uint256) + { + address from; + bytes memory packedDataFromRouter; + (from, packedDataFromRouter) = GatewayMessageHandler.parseFromRouterToGateway(_data); + + uint256 maxSubmissionCost; + bytes memory extraData; + (maxSubmissionCost, extraData) = abi.decode(packedDataFromRouter, (uint256, bytes)); + + require(extraData.length == 0, "AMPLArbitrumGateway: EXTRA_DATA_DISABLED"); + + return (from, maxSubmissionCost); + } + + /// @dev Builds and executes the outbound transfer. + /// @return seqNumber The bridge sequence number. + function createOutboundTransfer( + address _l1Token, + address _from, + address _to, + uint256 _amount, + L2GasParams memory _gasParams, + uint256 recordedGlobalAMPLSupply + ) internal returns (uint256) { + // packed data sent over the bridge + bytes memory _outboundCallData = _getOutboundCalldata( + _l1Token, + _from, + _to, + _amount, + recordedGlobalAMPLSupply + ); + + // Send data through the arbitrum bridge + // Extra eth gets forwarded to the _from address on L2 + uint256 seqNumber = sendTxToL2( + inbox, + counterpartGateway, + _from, + msg.value, // we forward the L1 call value to the inbox + 0, // l2 call value 0 by default + _gasParams, + _outboundCallData + ); + + emit DepositInitiated(_l1Token, _from, _to, seqNumber, _amount); + + return seqNumber; + } + + /// @dev Packs data for the outbound token transfer (with the current AMPL supply). + /// @return The packed byte array. + function _getOutboundCalldata( + address _l1Token, + address _from, + address _to, + uint256 _amount, + uint256 recordedGlobalAMPLSupply + ) internal view returns (bytes memory) { + bytes memory packedData = abi.encode(recordedGlobalAMPLSupply); + + bytes memory outboundCalldata = abi.encodeWithSelector( + ArbitrumXCAmpleGateway.finalizeInboundTransfer.selector, + _l1Token, + _from, + _to, + _amount, + packedData + ); + + return outboundCalldata; + } +} diff --git a/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol b/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol index 8e64f20..2210d50 100644 --- a/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol +++ b/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol @@ -4,9 +4,7 @@ pragma solidity 0.7.3; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; -import {ChainBridgeRebaseGateway} from "../../base-bridge-gateways/ChainBridgeRebaseGateway.sol"; -import {ChainBridgeTransferGateway} from "../../base-bridge-gateways/ChainBridgeTransferGateway.sol"; - +import {IChainBridgeBCRebaseGateway, IChainBridgeBCTransferGateway} from "../../_interfaces/bridge-gateways/IChainBridgeGateway.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {IAmpleforth} from "uFragments/contracts/interfaces/IAmpleforth.sol"; import {ITokenVault} from "../../_interfaces/ITokenVault.sol"; @@ -18,7 +16,9 @@ import {ITokenVault} from "../../_interfaces/ITokenVault.sol"; * It's a pass-through contract between the ChainBridge handler contract and * the Ampleforth policy and the Token vault. * - * The contract is owned by the ChainBridge handler contract. + * The contract is owned by the ChainBridge handler contract and only it can + * execute functions.The user interacts with the bridge contract and the bridge + * callsback into this gateway. * * When rebase is transmitted across the bridge, It checks the consistency of rebase data * from the ChainBridge handler contract with the recorded on-chain value. @@ -37,7 +37,11 @@ import {ITokenVault} from "../../_interfaces/ITokenVault.sol"; * and the total ERC-20 AMPL supply on the current chain, at the time of unlock. * */ -contract AMPLChainBridgeGateway is ChainBridgeRebaseGateway, ChainBridgeTransferGateway, Ownable { +contract AMPLChainBridgeGateway is + IChainBridgeBCRebaseGateway, + IChainBridgeBCTransferGateway, + Ownable +{ using SafeMath for uint256; address public immutable ampl; @@ -74,13 +78,13 @@ contract AMPLChainBridgeGateway is ChainBridgeRebaseGateway, ChainBridgeTransfer * @dev Validates the data from the handler and transfers specified amount from * the sender's wallet and locks it in the vault contract. * @param sender Address of the sender wallet on the base chain. - * @param recipientAddressInTargetChain Address of the recipient wallet in the target chain. + * @param recipientInTargetChain Address of the recipient wallet in the target chain. * @param amount Amount of tokens to be locked on the current chain (source chain). * @param globalAMPLSupply AMPL ERC-20 total supply at the time of transfer locking. */ function validateAndLock( address sender, - address recipientAddressInTargetChain, + address recipientInTargetChain, uint256 amount, uint256 globalAMPLSupply ) external override onlyOwner { @@ -99,13 +103,13 @@ contract AMPLChainBridgeGateway is ChainBridgeRebaseGateway, ChainBridgeTransfer /** * @dev Calculates the amount of amples to be unlocked based on the share of total supply and * transfers it to the recipient. - * @param senderAddressInSourceChain Address of the sender wallet in the transaction originating chain. + * @param senderInSourceChain Address of the sender wallet in the transaction originating chain. * @param recipient Address of the recipient wallet in the current chain (target chain). * @param amount Amount of tokens that were {locked/burnt} on the base chain. * @param globalAMPLSupply AMPL ERC-20 total supply at the time of transfer. */ function unlock( - address senderAddressInSourceChain, + address senderInSourceChain, address recipient, uint256 amount, uint256 globalAMPLSupply diff --git a/contracts/base-chain/bridge-gateways/AMPLMaticRebaseGateway.sol b/contracts/base-chain/bridge-gateways/AMPLMaticRebaseGateway.sol index 45f15f5..859704c 100644 --- a/contracts/base-chain/bridge-gateways/AMPLMaticRebaseGateway.sol +++ b/contracts/base-chain/bridge-gateways/AMPLMaticRebaseGateway.sol @@ -2,8 +2,8 @@ pragma solidity 0.7.3; import {FxBaseRootTunnel} from "fx-portal/contracts/tunnel/FxBaseRootTunnel.sol"; -import {Layer2RebaseGateway} from "../../base-bridge-gateways/Layer2RebaseGateway.sol"; +import {IMaticBCRebaseGateway} from "../../_interfaces/bridge-gateways/IMaticGateway.sol"; import {IAmpleforth} from "uFragments/contracts/interfaces/IAmpleforth.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -15,17 +15,10 @@ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; * the Ampleforth policy. * */ -contract AMPLMaticRebaseGateway is Layer2RebaseGateway, FxBaseRootTunnel { +contract AMPLMaticRebaseGateway is IMaticBCRebaseGateway, FxBaseRootTunnel { address public immutable ampl; address public immutable policy; - /** - * @dev No-op as rebase report is one-way. - */ - function _processMessageFromChild(bytes memory data) internal override { - return; - } - /** * @dev Builds the payload and transmits rebase report to matic. */ @@ -38,6 +31,13 @@ contract AMPLMaticRebaseGateway is Layer2RebaseGateway, FxBaseRootTunnel { _sendMessageToChild(abi.encode(recordedGlobalAmpleforthEpoch, recordedGlobalAMPLSupply)); } + /** + * @dev Bridge callback. No-op as rebase report is one-way. + */ + function _processMessageFromChild(bytes memory data) internal override { + return; + } + constructor( address _checkpointManager, address _fxRoot, diff --git a/contracts/base-chain/bridge-gateways/AMPLMaticTransferGateway.sol b/contracts/base-chain/bridge-gateways/AMPLMaticTransferGateway.sol index 3842257..53d88b1 100644 --- a/contracts/base-chain/bridge-gateways/AMPLMaticTransferGateway.sol +++ b/contracts/base-chain/bridge-gateways/AMPLMaticTransferGateway.sol @@ -4,8 +4,8 @@ pragma solidity 0.7.3; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; import {FxBaseRootTunnel} from "fx-portal/contracts/tunnel/FxBaseRootTunnel.sol"; -import {Layer2TransferGateway} from "../../base-bridge-gateways/Layer2TransferGateway.sol"; +import {IMaticTransferGateway} from "../../_interfaces/bridge-gateways/IMaticGateway.sol"; import {ITokenVault} from "../../_interfaces/ITokenVault.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -17,19 +17,32 @@ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; * the and the Token vault. * */ -contract AMPLMaticTransferGateway is Layer2TransferGateway, FxBaseRootTunnel { +contract AMPLMaticTransferGateway is IMaticTransferGateway, FxBaseRootTunnel { using SafeMath for uint256; address public immutable ampl; address public immutable vault; /** - * @dev Calculates the amount of amples to be unlocked based on the share of total supply and - * transfers it to the recipient. - * "senderAddressInSourceChain": Address of the sender wallet in the matic chain. - * "recipient": Address of the recipient wallet in ethereum. - * "amount": Amount of tokens that were {burnt} on the matic. - * "globalAMPLSupply": AMPL ERC-20 total supply at the time of transfer. + * @dev Transfers specified amount from the {msg.sender}'s wallet and locks it in the vault contract, + * notifies the bridge about the transfer. + * @param recipientInTargetChain Address of the recipient wallet in the matic chain. + * @param amount Amount of tokens to be locked on ethereum. + */ + function transfer(address recipientInTargetChain, uint256 amount) external override { + uint256 recordedGlobalAMPLSupply = IERC20(ampl).totalSupply(); + + ITokenVault(vault).lock(ampl, msg.sender, amount); + + emit XCTransferOut(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply); + + _sendMessageToChild( + abi.encode(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply) + ); + } + + /** + * @dev Bridge callback. */ function _processMessageFromChild(bytes memory data) internal override { address senderInSourceChain; @@ -41,6 +54,23 @@ contract AMPLMaticTransferGateway is Layer2TransferGateway, FxBaseRootTunnel { (address, address, uint256, uint256) ); + _executeTransfer(senderInSourceChain, recipient, amount, globalAMPLSupply); + } + + /** + * @dev Calculates the amount of amples to be unlocked based on the share of total supply and + * transfers it to the recipient. + * @param senderInSourceChain Address of the sender wallet in the matic chain. + * @param recipient Address of the recipient wallet in ethereum. + * @param amount Amount of tokens that were {burnt} on the matic. + * @param globalAMPLSupply AMPL ERC-20 total supply at the time of transfer. + */ + function _executeTransfer( + address senderInSourceChain, + address recipient, + uint256 amount, + uint256 globalAMPLSupply + ) internal { uint256 recordedGlobalAMPLSupply = IERC20(ampl).totalSupply(); emit XCTransferIn( @@ -55,24 +85,6 @@ contract AMPLMaticTransferGateway is Layer2TransferGateway, FxBaseRootTunnel { ITokenVault(vault).unlock(ampl, recipient, unlockAmount); } - /** - * @dev Transfers specified amount from the {msg.sender}'s wallet and locks it in the vault contract, - * notifies the bridge about the transfer. - * @param recipientInTargetChain Address of the recipient wallet in the matic chain. - * @param amount Amount of tokens to be locked on ethereum. - */ - function transfer(address recipientInTargetChain, uint256 amount) external override { - uint256 recordedGlobalAMPLSupply = IERC20(ampl).totalSupply(); - - ITokenVault(vault).lock(ampl, msg.sender, amount); - - emit XCTransferOut(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply); - - _sendMessageToChild( - abi.encode(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply) - ); - } - constructor( address _checkpointManager, address _fxRoot, diff --git a/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol b/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol index 1ffe833..f08d36a 100644 --- a/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol +++ b/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol @@ -4,16 +4,14 @@ pragma solidity 0.7.3; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; -import {ChainBridgeRebaseGateway} from "../../base-bridge-gateways/ChainBridgeRebaseGateway.sol"; -import {ChainBridgeTransferGateway} from "../../base-bridge-gateways/ChainBridgeTransferGateway.sol"; - +import {IChainBridgeSCRebaseGateway, IChainBridgeSCTransferGateway} from "../../_interfaces/bridge-gateways/IChainBridgeGateway.sol"; import {IXCAmpleController} from "../../_interfaces/IXCAmpleController.sol"; import {IXCAmpleControllerGateway} from "../../_interfaces/IXCAmpleControllerGateway.sol"; import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; /** * @title ChainBridgeXCAmpleGateway - * @dev This contract is deployed on the satellite EVM chains eg). tron, acala, near etc. + * @dev This contract is deployed on the satellite EVM chains (Bsc, avax etc). * * It's a pass-through contract between the ChainBridge handler contract and * the xc-ample controller contract. @@ -35,8 +33,8 @@ import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; * */ contract ChainBridgeXCAmpleGateway is - ChainBridgeRebaseGateway, - ChainBridgeTransferGateway, + IChainBridgeSCRebaseGateway, + IChainBridgeSCTransferGateway, Ownable { using SafeMath for uint256; @@ -76,13 +74,13 @@ contract ChainBridgeXCAmpleGateway is * @dev Calculates the amount of xc-amples to be mint based on the amount and the total supply * on the base chain when the transaction was initiated * and mints xc-amples to the recipient. - * @param senderAddressInSourceChain Address of the sender wallet in the transaction originating chain. + * @param senderInSourceChain Address of the sender wallet in the transaction originating chain. * @param recipient Address of the recipient wallet in the current chain (target chain). * @param amount Amount of tokens that were {locked/burnt} on the source chain. * @param globalAMPLSupply AMPL ERC-20 total supply at the time of transfer. */ function mint( - address senderAddressInSourceChain, + address senderInSourceChain, address recipient, uint256 amount, uint256 globalAMPLSupply @@ -104,13 +102,13 @@ contract ChainBridgeXCAmpleGateway is /** * @dev Validates the data from the handler and burns specified amount from the sender's wallet. * @param sender Address of the sender wallet on the source chain. - * @param recipientAddressInTargetChain Address of the recipient wallet in the target chain. + * @param recipientInTargetChain Address of the recipient wallet in the target chain. * @param amount Amount of tokens to be burnt on the current chain (source chain). * @param globalAMPLSupply AMPL ERC-20 total supply at the time of transfer burning. */ function validateAndBurn( address sender, - address recipientAddressInTargetChain, + address recipientInTargetChain, uint256 amount, uint256 globalAMPLSupply ) external override onlyOwner { diff --git a/contracts/satellite-chain/bridge-gateways/MaticXCAmpleRebaseGateway.sol b/contracts/satellite-chain/bridge-gateways/MaticXCAmpleRebaseGateway.sol index c61408f..848a363 100644 --- a/contracts/satellite-chain/bridge-gateways/MaticXCAmpleRebaseGateway.sol +++ b/contracts/satellite-chain/bridge-gateways/MaticXCAmpleRebaseGateway.sol @@ -2,8 +2,8 @@ pragma solidity 0.7.3; import {FxBaseChildTunnel} from "fx-portal/contracts/tunnel/FxBaseChildTunnel.sol"; -import {Layer2RebaseGateway} from "../../base-bridge-gateways/Layer2RebaseGateway.sol"; +import {IMaticSCRebaseGateway} from "../../_interfaces/bridge-gateways/IMaticGateway.sol"; import {IXCAmpleController} from "../../_interfaces/IXCAmpleController.sol"; import {IXCAmpleControllerGateway} from "../../_interfaces/IXCAmpleControllerGateway.sol"; import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; @@ -16,14 +16,12 @@ import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; * the xc-ample contracts. * */ -contract MaticXCAmpleRebaseGateway is Layer2RebaseGateway, FxBaseChildTunnel { +contract MaticXCAmpleRebaseGateway is IMaticSCRebaseGateway, FxBaseChildTunnel { address public immutable xcAmple; address public immutable xcController; /** - * @dev Forwards the most recent rebase information from the matic bridge to the xc-ample controller. - * "globalAmpleforthEpoch": Ampleforth monetary policy epoch from ethereum. - * "globalAMPLSupply": AMPL ERC-20 total supply from ethereum. + * @dev Bridge callback. */ function _processMessageFromRoot( uint256 stateId, @@ -34,6 +32,17 @@ contract MaticXCAmpleRebaseGateway is Layer2RebaseGateway, FxBaseChildTunnel { uint256 globalAMPLSupply; (globalAmpleforthEpoch, globalAMPLSupply) = abi.decode(data, (uint256, uint256)); + _executeReportRebase(globalAmpleforthEpoch, globalAMPLSupply); + } + + /* + * @dev Forwards the most recent rebase information from the matic bridge to the xc-ample controller. + * @param globalAmpleforthEpoch Ampleforth monetary policy epoch from ethereum. + * @param globalAMPLSupply AMPL ERC-20 total supply from ethereum. + */ + function _executeReportRebase(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) + internal + { uint256 recordedGlobalAmpleforthEpoch = IXCAmpleController(xcController) .globalAmpleforthEpoch(); diff --git a/contracts/satellite-chain/bridge-gateways/MaticXCAmpleTransferGateway.sol b/contracts/satellite-chain/bridge-gateways/MaticXCAmpleTransferGateway.sol index 7cf1609..0aef430 100644 --- a/contracts/satellite-chain/bridge-gateways/MaticXCAmpleTransferGateway.sol +++ b/contracts/satellite-chain/bridge-gateways/MaticXCAmpleTransferGateway.sol @@ -4,8 +4,8 @@ pragma solidity 0.7.3; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; import {FxBaseChildTunnel} from "fx-portal/contracts/tunnel/FxBaseChildTunnel.sol"; -import {Layer2TransferGateway} from "../../base-bridge-gateways/Layer2TransferGateway.sol"; +import {IMaticTransferGateway} from "../../_interfaces/bridge-gateways/IMaticGateway.sol"; import {IXCAmpleController} from "../../_interfaces/IXCAmpleController.sol"; import {IXCAmpleControllerGateway} from "../../_interfaces/IXCAmpleControllerGateway.sol"; import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; @@ -18,25 +18,37 @@ import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; * the xc-ample contracts. * */ -contract MaticXCAmpleTransferGateway is Layer2TransferGateway, FxBaseChildTunnel { +contract MaticXCAmpleTransferGateway is IMaticTransferGateway, FxBaseChildTunnel { using SafeMath for uint256; address public immutable xcAmple; address public immutable xcController; /** - * @dev Calculates the amount of xc-amples to be mint based on the amount and the total supply - * on ethereum when the transaction was initiated, and mints xc-amples to the recipient. - * "senderAddressInSourceChain": Address of the sender wallet in ethereum. - * "recipient": Address of the recipient wallet in matic. - * "amount": Amount of tokens that were locked on ethereum. - * "globalAMPLSupply": AMPL ERC-20 total supply on ethereum at the time of transfer. + * @dev Burns specified amount from the {msg.sender}'s and notifies the bridge about the transfer. + * @param recipientInTargetChain Address of the recipient wallet in the ethereum chain. + * @param amount Amount of tokens to be burnt on matic. + */ + function transfer(address recipientInTargetChain, uint256 amount) external override { + uint256 recordedGlobalAMPLSupply = IXCAmple(xcAmple).globalAMPLSupply(); + + IXCAmpleControllerGateway(xcController).burn(msg.sender, amount); + + emit XCTransferOut(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply); + + _sendMessageToRoot( + abi.encode(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply) + ); + } + + /** + * @dev Bridge callback. */ function _processMessageFromRoot( uint256 stateId, address sender, bytes memory data - ) internal override validateSender(sender) { + ) internal override { address senderInSourceChain; address recipient; uint256 amount; @@ -46,6 +58,23 @@ contract MaticXCAmpleTransferGateway is Layer2TransferGateway, FxBaseChildTunnel (address, address, uint256, uint256) ); + _executeTransfer(senderInSourceChain, recipient, amount, globalAMPLSupply); + } + + /** + * @dev Calculates the amount of amples to be unlocked based on the share of total supply and + * transfers it to the recipient. + * @param senderInSourceChain Address of the sender wallet in the matic chain. + * @param recipient Address of the recipient wallet in ethereum. + * @param amount Amount of tokens that were {burnt} on the matic. + * @param globalAMPLSupply AMPL ERC-20 total supply at the time of transfer. + */ + function _executeTransfer( + address senderInSourceChain, + address recipient, + uint256 amount, + uint256 globalAMPLSupply + ) internal { uint256 recordedGlobalAMPLSupply = IXCAmple(xcAmple).globalAMPLSupply(); uint256 mintAmount = amount.mul(recordedGlobalAMPLSupply).div(globalAMPLSupply); @@ -60,23 +89,6 @@ contract MaticXCAmpleTransferGateway is Layer2TransferGateway, FxBaseChildTunnel IXCAmpleControllerGateway(xcController).mint(recipient, mintAmount); } - /** - * @dev Burns specified amount from the {msg.sender}'s and notifies the bridge about the transfer. - * @param recipientInTargetChain Address of the recipient wallet in the ethereum chain. - * @param amount Amount of tokens to be burnt on matic. - */ - function transfer(address recipientInTargetChain, uint256 amount) external override { - uint256 recordedGlobalAMPLSupply = IXCAmple(xcAmple).globalAMPLSupply(); - - IXCAmpleControllerGateway(xcController).burn(msg.sender, amount); - - emit XCTransferOut(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply); - - _sendMessageToRoot( - abi.encode(msg.sender, recipientInTargetChain, amount, recordedGlobalAMPLSupply) - ); - } - constructor( address _fxChild, address xcAmple_, From 4aa8b6ede22233c7b0a0270d715f55373a2b0804 Mon Sep 17 00:00:00 2001 From: aalavandhan1984 Date: Tue, 2 Nov 2021 15:04:51 -0400 Subject: [PATCH 03/13] restructured deployment scripts --- hardhat.config.js | 83 +-- helpers/contracts.js | 18 +- helpers/deploy.js | 508 ------------------ helpers/deploy/ampl.js | 169 ++++++ helpers/deploy/chain_bridge.js | 270 ++++++++++ helpers/deploy/index.js | 13 + helpers/deploy/matic.js | 100 ++++ helpers/deploy/vault.js | 23 + tasks/deploy/ampleforth.js | 13 +- tasks/deploy/chain_bridge.js | 13 +- tasks/deploy/matic.js | 10 +- tasks/deploy/rebase_reporter.js | 3 +- tasks/ops/rebase.js | 69 ++- test/helpers/ethers.js | 12 +- test/integration/chain_bridge.js | 38 +- test/unit/_utilities/batch_tx_executor.js | 6 +- test/unit/_utilities/signatures.js | 14 +- .../ampl_chain_bridge_gateway.js | 2 +- test/unit/base-chain/token_vault.js | 2 +- .../chain_bridge_xcampl_gateway.js | 2 +- .../satellite-chain/xc-ampleforth/xc_ample.js | 4 +- .../xc-ampleforth/xc_ample_burn.js | 6 +- .../xc_ample_elastic_behavior.js | 6 +- .../xc-ampleforth/xc_ample_erc20_behavior.js | 6 +- .../xc-ampleforth/xc_ample_mint.js | 6 +- .../xc-ampleforth/xc_ample_permit.js | 4 +- .../xc-ampleforth/xc_controller.js | 4 +- .../xc-ampleforth/xc_controller_bridge.js | 6 +- .../xc-ampleforth/xc_controller_rebase.js | 4 +- 29 files changed, 790 insertions(+), 624 deletions(-) delete mode 100644 helpers/deploy.js create mode 100644 helpers/deploy/ampl.js create mode 100644 helpers/deploy/chain_bridge.js create mode 100644 helpers/deploy/index.js create mode 100644 helpers/deploy/matic.js create mode 100644 helpers/deploy/vault.js diff --git a/hardhat.config.js b/hardhat.config.js index e2aecdf..9dffe84 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -10,6 +10,7 @@ require('@nomiclabs/hardhat-etherscan'); require('./tasks/deploy/ampleforth'); require('./tasks/deploy/chain_bridge'); require('./tasks/deploy/matic'); +require('./tasks/deploy/arbitrum'); require('./tasks/deploy/rebase_reporter'); require('./tasks/ops/rebase'); @@ -26,94 +27,114 @@ module.exports = { solidity: { compilers: [ { - version: '0.4.24' + version: '0.4.24', }, { - version: '0.7.6' + version: '0.5.12', }, { - version: '0.6.4' + version: '0.6.4', }, { - version: '0.6.8' + version: '0.6.8', }, { - version: '0.5.12' + version: '0.6.11', + settings: { + optimizer: { + enabled: true, + runs: 200, + }, + }, }, { version: '0.7.3', settings: { optimizer: { enabled: true, - runs: 200 - } - } - } - ] + runs: 200, + }, + }, + }, + { + version: '0.7.6', + settings: { + optimizer: { + enabled: true, + runs: 200, + }, + }, + }, + ], }, mocha: { - timeout: 1000000 + timeout: 1000000, }, gasReporter: { currency: 'USD', enabled: !!process.env.REPORT_GAS, excludeContracts: ['_mocks', '_external', 'uFragments'], - coinmarketcap: process.env.COINMARKETCAP_API_KEY + coinmarketcap: process.env.COINMARKETCAP_API_KEY, }, etherscan: { - apiKey: process.env.ETHERSCAN_API_KEY + apiKey: process.env.ETHERSCAN_API_KEY, }, bscscan: { - apiKey: process.env.BSCSCAN_API_KEY + apiKey: process.env.BSCSCAN_API_KEY, }, networks: { localGethBaseChain: { - url: 'http://localhost:7545' + url: 'http://localhost:7545', }, localGethSatChain1: { - url: 'http://localhost:7550' + url: 'http://localhost:7550', }, localGethSatChain2: { - url: 'http://localhost:7555' + url: 'http://localhost:7555', }, // meter-passport dev1RopstenBaseChain: { - url: 'https://eth-ropsten.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET + url: 'https://eth-ropsten.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET, }, dev1BscTestnetSatChain: { - url: 'https://data-seed-prebsc-1-s1.binance.org:8545' + url: 'https://data-seed-prebsc-1-s1.binance.org:8545', }, dev1MeterTestnetSatChain: { - url: 'https://rpctest.meter.io' + url: 'https://rpctest.meter.io', }, // matic dev2GoerliBaseChain: { - url: 'https://eth-goerli.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET + url: 'https://eth-goerli.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET, }, dev2MumbaiSatChain: { - url: 'https://polygon-mumbai.infura.io/v3/' + process.env.INFURA_SECRET + url: 'https://polygon-mumbai.infura.io/v3/' + process.env.INFURA_SECRET, + }, + + // arbitrum + dev3RinkebyBaseChain: { + url: 'https://eth-rinkeby.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET, + }, + dev3RinkebyArbitrumSatChain: { + url: 'https://rinkeby.arbitrum.io/rpc', }, // prod prodEthereumBaseChain: { - url: 'https://mainnet.infura.io/v3/' + process.env.INFURA_SECRET + url: 'https://mainnet.infura.io/v3/' + process.env.INFURA_SECRET, }, prodBscSatChain: { - url: 'https://bsc-dataseed.binance.org' - }, - prodAvaxSatChain: { - url: 'https://api.avax.network/ext/bc/C/rpc' + url: 'https://bsc-dataseed.binance.org', }, prodMeterSatChain: { - url: 'https://rpc.meter.io' + url: 'https://rpc.meter.io', }, prodMaticSatChain: { - url: 'https://polygon-mainnet.infura.io/v3/' + process.env.INFURA_SECRET - } - } + url: 'https://polygon-mainnet.infura.io/v3/' + process.env.INFURA_SECRET, + }, + }, }; diff --git a/helpers/contracts.js b/helpers/contracts.js index 159f64b..5f9227b 100644 --- a/helpers/contracts.js +++ b/helpers/contracts.js @@ -15,6 +15,7 @@ const ContractABIPaths = { UFragmentsPolicy: 'uFragments/contracts', Orchestrator: 'uFragments/contracts', MedianOracle: 'market-oracle/contracts', + UFragmentsTestnet: 'contracts/_test', // Chainbridge Bridge: 'chainbridge-solidity/contracts', @@ -58,8 +59,9 @@ const deployContract = async (ethers, contractName, signer, args, txParams) => { // console.log('Deploying', contractName); const Factory = await getCompiledContractFactory(ethers, contractName); const contract = await Factory.connect(signer).deploy(...args, txParams); - await contract.deployTransaction.wait(); - // console.log('Deployed'); + if (waitBlocks > 0) { + await contract.deployTransaction.wait(waitBlocks); + } return contract; }; @@ -88,8 +90,9 @@ const deployProxyContract = async ( initializerDef, txParams, ); - await contract.deployTransaction.wait(); - // console.log('Deployed'); + if (waitBlocks > 0) { + await contract.deployTransaction.wait(waitBlocks); + } const defaultProxyAdmin = ProxyAdminFactory.connect(signer).attach( await getAdminAddress(signer.provider, contract.address), @@ -99,7 +102,10 @@ const deployProxyContract = async ( newProxyAdmin.address, txParams, ); - await refChangeTx.wait(); + + if (waitBlocks > 0) { + await refChangeTx.wait(waitBlocks); + } return contract; }; @@ -141,7 +147,7 @@ const upgradeProxyContract = async ( proxy.address, Factory.connect(signer), ); - await sleep(180); + await sleep(30); } else { console.log(`CAUTION: Skpping storage layout verification!`); const newImpl = await deployContract( diff --git a/helpers/deploy.js b/helpers/deploy.js deleted file mode 100644 index f400b3a..0000000 --- a/helpers/deploy.js +++ /dev/null @@ -1,508 +0,0 @@ -const { AMPL_BASE_RATE, AMPL_BASE_CPI } = require('../sdk/ampleforth'); - -const { - XC_REBASE_RESOURCE_ID, - XC_TRANSFER_RESOURCE_ID, - CB_FUNCTION_SIG_baseChainReportRebase, - CB_FUNCTION_SIG_satelliteChainReportRebase, - CB_FUNCTION_SIG_baseChainTransfer, - CB_FUNCTION_SIG_satelliteChainTransfer, -} = require('../sdk/chain_bridge'); - -const { - deployContract, - deployProxyAdminContract, - deployProxyContract, -} = require('./contracts'); - -async function deployAMPLContracts(ethers, deployer, txParams = {}) { - const deployerAddress = await deployer.getAddress(); - - const proxyAdmin = await deployProxyAdminContract(ethers, deployer, txParams); - - const ampl = await deployProxyContract( - ethers, - 'UFragments', - proxyAdmin, - deployer, - [deployerAddress], - { initializer: 'initialize(address)' }, - txParams, - ); - - const rateOracle = await deployContract( - ethers, - 'MedianOracle', - deployer, - [3600 * 24 * 365, 0, 1], - txParams, - ); - await ( - await rateOracle.connect(deployer).addProvider(deployerAddress, txParams) - ).wait(); - await ( - await rateOracle.connect(deployer).pushReport(AMPL_BASE_RATE, txParams) - ).wait(); - - const cpiOracle = await deployContract( - ethers, - 'MedianOracle', - deployer, - [3600 * 24 * 365, 0, 1], - txParams, - ); - await (await cpiOracle.addProvider(deployerAddress, txParams)).wait(); - await ( - await cpiOracle.connect(deployer).pushReport(AMPL_BASE_CPI, txParams) - ).wait(); - - const policy = await deployProxyContract( - ethers, - 'UFragmentsPolicy', - proxyAdmin, - deployer, - [deployerAddress, ampl.address, AMPL_BASE_CPI.toString()], - { - initializer: 'initialize(address,address,uint256)', - }, - txParams, - ); - await ( - await policy.connect(deployer).setMarketOracle(rateOracle.address, txParams) - ).wait(); - await ( - await policy.connect(deployer).setCpiOracle(cpiOracle.address, txParams) - ).wait(); - await (await policy.connect(deployer).setRebaseLag(1, txParams)).wait(); - await ( - await policy - .connect(deployer) - .setRebaseTimingParameters(1, 0, 3600, txParams) - ).wait(); - await ( - await ampl.connect(deployer).setMonetaryPolicy(policy.address, txParams) - ).wait(); - - const orchestrator = await deployContract( - ethers, - 'Orchestrator', - deployer, - [policy.address], - txParams, - ); - await ( - await policy - .connect(deployer) - .setOrchestrator(orchestrator.address, txParams) - ).wait(); - - return { - proxyAdmin, - ampl, - policy, - orchestrator, - rateOracle, - cpiOracle, - }; -} - -async function deployXCAmpleContracts( - { tokenSymbol, tokenName, globalAmpleforthEpoch, globalAMPLSupply }, - ethers, - deployer, - txParams = {}, -) { - const proxyAdmin = await deployProxyAdminContract(ethers, deployer, txParams); - - const xcAmple = await deployProxyContract( - ethers, - 'XCAmple', - proxyAdmin, - deployer, - [tokenName, tokenSymbol, globalAMPLSupply], - { initializer: 'initialize(string,string,uint256)' }, - txParams, - ); - - const xcAmpleController = await deployProxyContract( - ethers, - 'XCAmpleController', - proxyAdmin, - deployer, - [xcAmple.address, globalAmpleforthEpoch], - { - initializer: 'initialize(address,uint256)', - }, - txParams, - ); - - const rebaseRelayer = await deployContract( - ethers, - 'BatchTxExecutor', - deployer, - [], - txParams, - ); - - await ( - await xcAmple.setController(xcAmpleController.address, txParams) - ).wait(); - await ( - await xcAmpleController.setRebaseRelayer(rebaseRelayer.address, txParams) - ).wait(); - - return { proxyAdmin, xcAmple, xcAmpleController, rebaseRelayer }; -} - -async function deployChainBridgeHelpers( - bridge, - { chainId, relayers, relayerThreshold, fee, expiry }, - ethers, - deployer, - txParams = {}, -) { - const batchRebaseReporter = await deployContract( - ethers, - 'ChainBridgeBatchRebaseReport', - deployer, - [], - txParams, - ); - - return { - batchRebaseReporter, - }; -} - -async function deployChainBridgeContracts( - { chainId, relayers, relayerThreshold, fee, expiry }, - ethers, - deployer, - txParams = {}, -) { - const bridge = await deployContract( - ethers, - 'Bridge', - deployer, - [chainId, relayers, relayerThreshold, fee, expiry], - txParams, - ); - - const genericHandler = await deployContract( - ethers, - 'GenericHandler', - deployer, - [bridge.address, [], [], [], [], []], - txParams, - ); - - const helpers = await deployChainBridgeHelpers( - bridge, - { chainId, relayers, relayerThreshold, fee, expiry }, - ethers, - deployer, - txParams, - ); - - return { - bridge, - genericHandler, - ...helpers, - }; -} - -async function deployTokenVault(ethers, deployer, txParams = {}) { - const tokenVault = await deployContract( - ethers, - 'TokenVault', - deployer, - [], - txParams, - ); - - return tokenVault; -} - -async function deployChainBridgeBaseChainGatewayContracts( - { ampl, policy, bridge, genericHandler, tokenVault }, - ethers, - deployer, - txParams = {}, -) { - const rebaseGateway = await deployContract( - ethers, - 'AMPLChainBridgeGateway', - deployer, - [genericHandler.address, ampl.address, policy.address, tokenVault.address], - txParams, - ); - const transferGateway = await deployContract( - ethers, - 'AMPLChainBridgeGateway', - deployer, - [genericHandler.address, ampl.address, policy.address, tokenVault.address], - txParams, - ); - - const deployerAddress = await deployer.getAddress(); - const adminRole = await bridge.DEFAULT_ADMIN_ROLE(); - const isAdmin = await bridge.hasRole(adminRole, deployerAddress); - - const reportRebaseFnSig = - CB_FUNCTION_SIG_baseChainReportRebase(rebaseGateway); - - if (isAdmin) { - await ( - await bridge - .connect(deployer) - .adminSetGenericResource( - genericHandler.address, - XC_REBASE_RESOURCE_ID, - rebaseGateway.address, - ...reportRebaseFnSig, - txParams, - ) - ).wait(); - } else { - console.log( - 'Failed adding generic resource to bridge, deployer key not bridge owner', - ); - console.log('Execute the following on-chain'); - console.log('adminSetGenericResource', [ - genericHandler.address, - XC_REBASE_RESOURCE_ID, - rebaseGateway.address, - ...reportRebaseFnSig, - ]); - } - - const transferFnSig = CB_FUNCTION_SIG_baseChainTransfer(transferGateway); - if (isAdmin) { - await ( - await bridge - .connect(deployer) - .adminSetGenericResource( - genericHandler.address, - XC_TRANSFER_RESOURCE_ID, - transferGateway.address, - ...transferFnSig, - txParams, - ) - ).wait(); - } else { - console.log( - 'Failed adding generic resource to bridge, deployer key not bridge owner', - ); - console.log('Execute the following on-chain'); - console.log('adminSetGenericResource', [ - genericHandler.address, - XC_TRANSFER_RESOURCE_ID, - transferGateway.address, - ...transferFnSig, - ]); - } - - if ((await tokenVault.owner()) == deployerAddress) { - await ( - await tokenVault - .connect(deployer) - .addBridgeGateway(transferGateway.address) - ).wait(); - } else { - console.log( - 'Failed to add whitelist transfer gateway to vault as deployer not vault owner', - ); - console.log('Execute the following on-chain'); - console.log('addBridgeGateway', [transferGateway.address]); - } - - return { rebaseGateway, transferGateway }; -} - -async function deployChainBridgeSatelliteChainGatewayContracts( - { xcAmple, xcAmpleController, bridge, genericHandler }, - ethers, - deployer, - txParams = {}, -) { - const rebaseGateway = await deployContract( - ethers, - 'ChainBridgeXCAmpleGateway', - deployer, - [genericHandler.address, xcAmple.address, xcAmpleController.address], - txParams, - ); - const transferGateway = await deployContract( - ethers, - 'ChainBridgeXCAmpleGateway', - deployer, - [genericHandler.address, xcAmple.address, xcAmpleController.address], - txParams, - ); - - await ( - await xcAmpleController - .connect(deployer) - .addBridgeGateway(rebaseGateway.address, txParams) - ).wait(); - - await ( - await xcAmpleController - .connect(deployer) - .addBridgeGateway(transferGateway.address, txParams) - ).wait(); - - const adminRole = await bridge.DEFAULT_ADMIN_ROLE(); - const isAdmin = await bridge.hasRole(adminRole, await deployer.getAddress()); - - const reportRebaseFnSig = - CB_FUNCTION_SIG_satelliteChainReportRebase(rebaseGateway); - if (isAdmin) { - await ( - await bridge.adminSetGenericResource( - genericHandler.address, - XC_REBASE_RESOURCE_ID, - rebaseGateway.address, - ...reportRebaseFnSig, - txParams, - ) - ).wait(); - } else { - console.log( - 'Failed adding generic resource to bridge, deployer key not bridge owner', - ); - console.log('Execute the following on-chain'); - console.log('adminSetGenericResource', [ - genericHandler.address, - XC_REBASE_RESOURCE_ID, - rebaseGateway.address, - ...reportRebaseFnSig, - ]); - } - - const transferFnSig = CB_FUNCTION_SIG_satelliteChainTransfer(transferGateway); - if (isAdmin) { - await ( - await bridge.adminSetGenericResource( - genericHandler.address, - XC_TRANSFER_RESOURCE_ID, - transferGateway.address, - ...transferFnSig, - txParams, - ) - ).wait(); - } else { - console.log( - 'Failed adding generic resource to bridge, deployer key not bridge owner', - ); - console.log('Execute the following on-chain'); - console.log('adminSetGenericResource', [ - genericHandler.address, - XC_TRANSFER_RESOURCE_ID, - transferGateway.address, - ...transferFnSig, - ]); - } - - return { rebaseGateway, transferGateway }; -} - -async function deployMaticBaseChainGatewayContracts( - { ampl, policy, tokenVault, checkpointManagerAddress, fxRootAddress }, - ethers, - deployer, - txParams = {}, -) { - const rebaseGateway = await deployContract( - ethers, - 'AMPLMaticRebaseGateway', - deployer, - [checkpointManagerAddress, fxRootAddress, ampl.address, policy.address], - txParams, - ); - const transferGateway = await deployContract( - ethers, - 'AMPLMaticTransferGateway', - deployer, - [checkpointManagerAddress, fxRootAddress, ampl.address, tokenVault.address], - txParams, - ); - - const deployerAddress = await deployer.getAddress(); - if ((await tokenVault.owner()) == deployerAddress) { - await ( - await tokenVault.connect(deployer).addBridgeGateway(rebaseGateway.address) - ).wait(); - await ( - await tokenVault - .connect(deployer) - .addBridgeGateway(transferGateway.address) - ).wait(); - } else { - console.log( - 'Failed to add whitelist transfer gateway to vault as deployer not vault owner', - ); - console.log('Execute the following on-chain'); - console.log('addBridgeGateway', [rebaseGateway.address]); - console.log('addBridgeGateway', [transferGateway.address]); - } - - return { rebaseGateway, transferGateway }; -} - -async function deployMaticSatelliteChainGatewayContracts( - { xcAmple, xcAmpleController, fxChildAddress }, - ethers, - deployer, - txParams = {}, -) { - const rebaseGateway = await deployContract( - ethers, - 'MaticXCAmpleRebaseGateway', - deployer, - [fxChildAddress, xcAmple.address, xcAmpleController.address], - txParams, - ); - const transferGateway = await deployContract( - ethers, - 'MaticXCAmpleTransferGateway', - deployer, - [fxChildAddress, xcAmple.address, xcAmpleController.address], - txParams, - ); - - const deployerAddress = await deployer.getAddress(); - if ((await xcAmpleController.owner()) == deployerAddress) { - await ( - await xcAmpleController - .connect(deployer) - .addBridgeGateway(rebaseGateway.address) - ).wait(); - await ( - await xcAmpleController - .connect(deployer) - .addBridgeGateway(transferGateway.address) - ).wait(); - } else { - console.log( - 'Failed to add whitelist transfer gateway to XCAmpleController as deployer owner', - ); - console.log('Execute the following on-chain'); - console.log('addBridgeGateway', [rebaseGateway.address]); - console.log('addBridgeGateway', [transferGateway.address]); - } - - return { rebaseGateway, transferGateway }; -} - -module.exports = { - deployAMPLContracts, - deployXCAmpleContracts, - deployChainBridgeContracts, - deployChainBridgeHelpers, - deployTokenVault, - deployChainBridgeBaseChainGatewayContracts, - deployChainBridgeSatelliteChainGatewayContracts, - deployMaticBaseChainGatewayContracts, - deployMaticSatelliteChainGatewayContracts, -}; diff --git a/helpers/deploy/ampl.js b/helpers/deploy/ampl.js new file mode 100644 index 0000000..7538604 --- /dev/null +++ b/helpers/deploy/ampl.js @@ -0,0 +1,169 @@ +const { AMPL_BASE_RATE, AMPL_BASE_CPI } = require('../../sdk/ampleforth'); + +const { + deployContract, + deployProxyAdminContract, + deployProxyContract, +} = require('../contracts'); + +async function deployAMPLTestnetContracts( + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const deployerAddress = await deployer.getAddress(); + + const proxyAdmin = await deployProxyAdminContract(ethers, deployer, txParams); + + const ampl = await deployProxyContract( + ethers, + 'UFragmentsTestnet', + proxyAdmin, + deployer, + [deployerAddress], + { initializer: 'initialize(address)' }, + txParams, + waitBlocks, + ); + + const rateOracle = await deployContract( + ethers, + 'MedianOracle', + deployer, + [3600 * 24 * 365, 0, 1], + txParams, + waitBlocks, + ); + await ( + await rateOracle.connect(deployer).addProvider(deployerAddress, txParams) + ).wait(waitBlocks); + await ( + await rateOracle.connect(deployer).pushReport(AMPL_BASE_RATE, txParams) + ).wait(waitBlocks); + + const cpiOracle = await deployContract( + ethers, + 'MedianOracle', + deployer, + [3600 * 24 * 365, 0, 1], + txParams, + waitBlocks, + ); + await ( + await cpiOracle.addProvider(deployerAddress, txParams) + ).wait(waitBlocks); + await ( + await cpiOracle.connect(deployer).pushReport(AMPL_BASE_CPI, txParams) + ).wait(waitBlocks); + + const policy = await deployProxyContract( + ethers, + 'UFragmentsPolicy', + proxyAdmin, + deployer, + [deployerAddress, ampl.address, AMPL_BASE_CPI.toString()], + { + initializer: 'initialize(address,address,uint256)', + }, + txParams, + waitBlocks, + ); + await ( + await policy.connect(deployer).setMarketOracle(rateOracle.address, txParams) + ).wait(waitBlocks); + await ( + await policy.connect(deployer).setCpiOracle(cpiOracle.address, txParams) + ).wait(waitBlocks); + await ( + await policy.connect(deployer).setRebaseLag(1, txParams) + ).wait(waitBlocks); + await ( + await policy + .connect(deployer) + .setRebaseTimingParameters(1, 0, 3600, txParams) + ).wait(waitBlocks); + await ( + await ampl.connect(deployer).setMonetaryPolicy(policy.address, txParams) + ).wait(waitBlocks); + + const orchestrator = await deployContract( + ethers, + 'Orchestrator', + deployer, + [policy.address], + txParams, + waitBlocks, + ); + await ( + await policy + .connect(deployer) + .setOrchestrator(orchestrator.address, txParams) + ).wait(waitBlocks); + + return { + proxyAdmin, + ampl, + policy, + orchestrator, + rateOracle, + cpiOracle, + }; +} + +async function deployXCAmpleContracts( + { tokenSymbol, tokenName, globalAmpleforthEpoch, globalAMPLSupply }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const proxyAdmin = await deployProxyAdminContract(ethers, deployer, txParams); + + const xcAmple = await deployProxyContract( + ethers, + 'XCAmple', + proxyAdmin, + deployer, + [tokenName, tokenSymbol, globalAMPLSupply], + { initializer: 'initialize(string,string,uint256)' }, + txParams, + waitBlocks, + ); + + const xcAmpleController = await deployProxyContract( + ethers, + 'XCAmpleController', + proxyAdmin, + deployer, + [xcAmple.address, globalAmpleforthEpoch], + { + initializer: 'initialize(address,uint256)', + }, + txParams, + waitBlocks, + ); + + const rebaseRelayer = await deployContract( + ethers, + 'BatchTxExecutor', + deployer, + [], + txParams, + waitBlocks, + ); + + await ( + await xcAmple.setController(xcAmpleController.address, txParams) + ).wait(waitBlocks); + await ( + await xcAmpleController.setRebaseRelayer(rebaseRelayer.address, txParams) + ).wait(waitBlocks); + + return { proxyAdmin, xcAmple, xcAmpleController, rebaseRelayer }; +} + +module.exports = { + deployAMPLTestnetContracts, + deployXCAmpleContracts, +}; diff --git a/helpers/deploy/chain_bridge.js b/helpers/deploy/chain_bridge.js new file mode 100644 index 0000000..fdd01d5 --- /dev/null +++ b/helpers/deploy/chain_bridge.js @@ -0,0 +1,270 @@ +const { + XC_REBASE_RESOURCE_ID, + XC_TRANSFER_RESOURCE_ID, + CB_FUNCTION_SIG_baseChainReportRebase, + CB_FUNCTION_SIG_satelliteChainReportRebase, + CB_FUNCTION_SIG_baseChainTransfer, + CB_FUNCTION_SIG_satelliteChainTransfer, +} = require('../../sdk/chain_bridge'); + +const { deployContract } = require('../contracts'); + +async function deployChainBridgeHelpers( + bridge, + { chainId, relayers, relayerThreshold, fee, expiry }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const batchRebaseReporter = await deployContract( + ethers, + 'ChainBridgeBatchRebaseReport', + deployer, + [], + txParams, + waitBlocks, + ); + + return { + batchRebaseReporter, + }; +} + +async function deployChainBridgeContracts( + { chainId, relayers, relayerThreshold, fee, expiry }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const bridge = await deployContract( + ethers, + 'Bridge', + deployer, + [chainId, relayers, relayerThreshold, fee, expiry], + txParams, + waitBlocks, + ); + + const genericHandler = await deployContract( + ethers, + 'GenericHandler', + deployer, + [bridge.address, [], [], [], [], []], + txParams, + waitBlocks, + ); + + const helpers = await deployChainBridgeHelpers( + bridge, + { chainId, relayers, relayerThreshold, fee, expiry }, + ethers, + deployer, + txParams, + waitBlocks, + ); + + return { + bridge, + genericHandler, + ...helpers, + }; +} + +async function deployChainBridgeBaseChainGatewayContracts( + { ampl, policy, bridge, genericHandler, tokenVault }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const rebaseGateway = await deployContract( + ethers, + 'AMPLChainBridgeGateway', + deployer, + [genericHandler.address, ampl.address, policy.address, tokenVault.address], + txParams, + waitBlocks, + ); + const transferGateway = await deployContract( + ethers, + 'AMPLChainBridgeGateway', + deployer, + [genericHandler.address, ampl.address, policy.address, tokenVault.address], + txParams, + waitBlocks, + ); + + const deployerAddress = await deployer.getAddress(); + const adminRole = await bridge.DEFAULT_ADMIN_ROLE(); + const isAdmin = await bridge.hasRole(adminRole, deployerAddress); + + const reportRebaseFnSig = + CB_FUNCTION_SIG_baseChainReportRebase(rebaseGateway); + + if (isAdmin) { + await ( + await bridge + .connect(deployer) + .adminSetGenericResource( + genericHandler.address, + XC_REBASE_RESOURCE_ID, + rebaseGateway.address, + ...reportRebaseFnSig, + txParams, + ) + ).wait(waitBlocks); + } else { + console.log( + 'Failed adding generic resource to bridge, deployer key not bridge owner', + ); + console.log('Execute the following on-chain'); + console.log('adminSetGenericResource', [ + genericHandler.address, + XC_REBASE_RESOURCE_ID, + rebaseGateway.address, + ...reportRebaseFnSig, + ]); + } + + const transferFnSig = CB_FUNCTION_SIG_baseChainTransfer(transferGateway); + if (isAdmin) { + await ( + await bridge + .connect(deployer) + .adminSetGenericResource( + genericHandler.address, + XC_TRANSFER_RESOURCE_ID, + transferGateway.address, + ...transferFnSig, + txParams, + ) + ).wait(waitBlocks); + } else { + console.log( + 'Failed adding generic resource to bridge, deployer key not bridge owner', + ); + console.log('Execute the following on-chain'); + console.log('adminSetGenericResource', [ + genericHandler.address, + XC_TRANSFER_RESOURCE_ID, + transferGateway.address, + ...transferFnSig, + ]); + } + + if ((await tokenVault.owner()) == deployerAddress) { + await ( + await tokenVault + .connect(deployer) + .addBridgeGateway(transferGateway.address) + ).wait(waitBlocks); + } else { + console.log( + 'Failed to add whitelist transfer gateway to vault as deployer not vault owner', + ); + console.log('Execute the following on-chain'); + console.log('addBridgeGateway', [transferGateway.address]); + } + + return { rebaseGateway, transferGateway }; +} + +async function deployChainBridgeSatelliteChainGatewayContracts( + { xcAmple, xcAmpleController, bridge, genericHandler }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const rebaseGateway = await deployContract( + ethers, + 'ChainBridgeXCAmpleGateway', + deployer, + [genericHandler.address, xcAmple.address, xcAmpleController.address], + txParams, + waitBlocks, + ); + const transferGateway = await deployContract( + ethers, + 'ChainBridgeXCAmpleGateway', + deployer, + [genericHandler.address, xcAmple.address, xcAmpleController.address], + txParams, + waitBlocks, + ); + + await ( + await xcAmpleController + .connect(deployer) + .addBridgeGateway(rebaseGateway.address, txParams) + ).wait(waitBlocks); + + await ( + await xcAmpleController + .connect(deployer) + .addBridgeGateway(transferGateway.address, txParams) + ).wait(waitBlocks); + + const adminRole = await bridge.DEFAULT_ADMIN_ROLE(); + const isAdmin = await bridge.hasRole(adminRole, await deployer.getAddress()); + + const reportRebaseFnSig = + CB_FUNCTION_SIG_satelliteChainReportRebase(rebaseGateway); + if (isAdmin) { + await ( + await bridge.adminSetGenericResource( + genericHandler.address, + XC_REBASE_RESOURCE_ID, + rebaseGateway.address, + ...reportRebaseFnSig, + txParams, + ) + ).wait(waitBlocks); + } else { + console.log( + 'Failed adding generic resource to bridge, deployer key not bridge owner', + ); + console.log('Execute the following on-chain'); + console.log('adminSetGenericResource', [ + genericHandler.address, + XC_REBASE_RESOURCE_ID, + rebaseGateway.address, + ...reportRebaseFnSig, + ]); + } + + const transferFnSig = CB_FUNCTION_SIG_satelliteChainTransfer(transferGateway); + if (isAdmin) { + await ( + await bridge.adminSetGenericResource( + genericHandler.address, + XC_TRANSFER_RESOURCE_ID, + transferGateway.address, + ...transferFnSig, + txParams, + ) + ).wait(waitBlocks); + } else { + console.log( + 'Failed adding generic resource to bridge, deployer key not bridge owner', + ); + console.log('Execute the following on-chain'); + console.log('adminSetGenericResource', [ + genericHandler.address, + XC_TRANSFER_RESOURCE_ID, + transferGateway.address, + ...transferFnSig, + ]); + } + + return { rebaseGateway, transferGateway }; +} + +module.exports = { + deployChainBridgeContracts, + deployChainBridgeHelpers, + deployChainBridgeBaseChainGatewayContracts, + deployChainBridgeSatelliteChainGatewayContracts, +}; diff --git a/helpers/deploy/index.js b/helpers/deploy/index.js new file mode 100644 index 0000000..7b94ec1 --- /dev/null +++ b/helpers/deploy/index.js @@ -0,0 +1,13 @@ +const ampl = require('./ampl'); +const vault = require('./vault'); +const chainBridge = require('./chain_bridge'); +const matic = require('./matic'); +const arbitrum = require('./arbitrum'); + +module.exports = { + ...ampl, + ...vault, + ...chainBridge, + ...matic, + ...arbitrum, +}; diff --git a/helpers/deploy/matic.js b/helpers/deploy/matic.js new file mode 100644 index 0000000..28e3598 --- /dev/null +++ b/helpers/deploy/matic.js @@ -0,0 +1,100 @@ +const { deployContract } = require('../contracts'); + +async function deployMaticBaseChainGatewayContracts( + { ampl, policy, tokenVault, checkpointManagerAddress, fxRootAddress }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const rebaseGateway = await deployContract( + ethers, + 'AMPLMaticRebaseGateway', + deployer, + [checkpointManagerAddress, fxRootAddress, ampl.address, policy.address], + txParams, + waitBlocks, + ); + const transferGateway = await deployContract( + ethers, + 'AMPLMaticTransferGateway', + deployer, + [checkpointManagerAddress, fxRootAddress, ampl.address, tokenVault.address], + txParams, + waitBlocks, + ); + + const deployerAddress = await deployer.getAddress(); + if ((await tokenVault.owner()) == deployerAddress) { + await ( + await tokenVault.connect(deployer).addBridgeGateway(rebaseGateway.address) + ).wait(waitBlocks); + await ( + await tokenVault + .connect(deployer) + .addBridgeGateway(transferGateway.address) + ).wait(waitBlocks); + } else { + console.log( + 'Failed to add whitelist transfer gateway to vault as deployer not vault owner', + ); + console.log('Execute the following on-chain'); + console.log('addBridgeGateway', [rebaseGateway.address]); + console.log('addBridgeGateway', [transferGateway.address]); + } + + return { rebaseGateway, transferGateway }; +} + +async function deployMaticSatelliteChainGatewayContracts( + { xcAmple, xcAmpleController, fxChildAddress }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const rebaseGateway = await deployContract( + ethers, + 'MaticXCAmpleRebaseGateway', + deployer, + [fxChildAddress, xcAmple.address, xcAmpleController.address], + txParams, + waitBlocks, + ); + const transferGateway = await deployContract( + ethers, + 'MaticXCAmpleTransferGateway', + deployer, + [fxChildAddress, xcAmple.address, xcAmpleController.address], + txParams, + waitBlocks, + ); + + const deployerAddress = await deployer.getAddress(); + if ((await xcAmpleController.owner()) == deployerAddress) { + await ( + await xcAmpleController + .connect(deployer) + .addBridgeGateway(rebaseGateway.address) + ).wait(waitBlocks); + await ( + await xcAmpleController + .connect(deployer) + .addBridgeGateway(transferGateway.address) + ).wait(waitBlocks); + } else { + console.log( + 'Failed to add whitelist transfer gateway to XCAmpleController as deployer owner', + ); + console.log('Execute the following on-chain'); + console.log('addBridgeGateway', [rebaseGateway.address]); + console.log('addBridgeGateway', [transferGateway.address]); + } + + return { rebaseGateway, transferGateway }; +} + +module.exports = { + deployMaticBaseChainGatewayContracts, + deployMaticSatelliteChainGatewayContracts, +}; diff --git a/helpers/deploy/vault.js b/helpers/deploy/vault.js new file mode 100644 index 0000000..0de056e --- /dev/null +++ b/helpers/deploy/vault.js @@ -0,0 +1,23 @@ +const { deployContract } = require('../contracts'); + +async function deployTokenVault( + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const tokenVault = await deployContract( + ethers, + 'TokenVault', + deployer, + [], + txParams, + waitBlocks, + ); + + return tokenVault; +} + +module.exports = { + deployTokenVault, +}; diff --git a/tasks/deploy/ampleforth.js b/tasks/deploy/ampleforth.js index 9dc52ef..2ad5fc7 100644 --- a/tasks/deploy/ampleforth.js +++ b/tasks/deploy/ampleforth.js @@ -16,7 +16,7 @@ const { } = require('../../helpers/contracts'); const { - deployAMPLContracts, + deployAMPLTestnetContracts, deployXCAmpleContracts, deployTokenVault, } = require('../../helpers/deploy'); @@ -103,7 +103,7 @@ txTask('testnet:deploy:ampleforth', 'Deploy ampleforth contract suite') console.log('Deployer:', deployerAddress); const { proxyAdmin, ampl, policy, orchestrator, rateOracle, cpiOracle } = - await deployAMPLContracts(hre.ethers, deployer, txParams); + await deployAMPLTestnetContracts(hre.ethers, deployer, txParams, 2); for (const w in args.fundingWallets) { await ampl.transfer(args.fundingWallets[w], toAmplFixedPt(args.amount)); } @@ -149,6 +149,7 @@ txTask('deploy:ampleforth_xc', 'Deploy cross chain ampleforth contract suite') if (txParams.gasPrice == 0) { txParams.gasPrice = await hre.ethers.provider.getGasPrice(); } + // const txParams = {} const deployer = await loadSignerSync(args, hre.ethers.provider); const deployerAddress = await deployer.getAddress(); @@ -177,6 +178,7 @@ txTask('deploy:ampleforth_xc', 'Deploy cross chain ampleforth contract suite') hre.ethers, deployer, txParams, + 2, ); console.log('------------------------------------------------------------'); @@ -224,7 +226,12 @@ txTask('deploy:token_vault', 'Deploy the token vault contract on base chain') console.log('------------------------------------------------------------'); console.log('Deploying TokenVault on base chain'); - const tokenVault = await deployTokenVault(hre.ethers, deployer, txParams); + const tokenVault = await deployTokenVault( + hre.ethers, + deployer, + txParams, + 2, + ); console.log('------------------------------------------------------------'); console.log('Writing data to file'); diff --git a/tasks/deploy/chain_bridge.js b/tasks/deploy/chain_bridge.js index d415c8e..c802383 100644 --- a/tasks/deploy/chain_bridge.js +++ b/tasks/deploy/chain_bridge.js @@ -8,7 +8,6 @@ const { } = require('../../helpers/tasks'); const { getEthersProvider } = require('../../helpers/utils'); const { - deployContract, getDeployedContractInstance, readDeploymentData, writeDeploymentData, @@ -100,6 +99,7 @@ cbDeployTask( hre.ethers, deployer, txParams, + 2, ); bridge = chainBridge.bridge; genericHandler = chainBridge.genericHandler; @@ -129,6 +129,7 @@ cbDeployTask( hre.ethers, deployer, txParams, + 2, ); const { rebaseGateway, transferGateway } = @@ -143,6 +144,7 @@ cbDeployTask( hre.ethers, deployer, txParams, + 2, ); console.log('------------------------------------------------------------'); @@ -263,6 +265,7 @@ cbDeployTask( hre.ethers, deployer, txParams, + 2, ); console.log('------------------------------------------------------------'); @@ -373,7 +376,7 @@ txTask( ...reportRebaseFnSig, txParams, ) - ).wait(); + ).wait(2); await ( await bridge @@ -385,7 +388,7 @@ txTask( ...transferFnSig, txParams, ) - ).wait(); + ).wait(2); } else { console.log('Execute the following on-chain', network); console.log('adminSetGenericResource', [ @@ -450,7 +453,7 @@ txTask( ...reportRebaseFnSig, txParams, ) - ).wait(); + ).wait(2); await ( await bridge .connect(deployer) @@ -461,7 +464,7 @@ txTask( ...transferFnSig, txParams, ) - ).wait(); + ).wait(2); } else { console.log('Execute the following on-chain', network); console.log('adminSetGenericResource', [ diff --git a/tasks/deploy/matic.js b/tasks/deploy/matic.js index d8cccf1..ba3930b 100644 --- a/tasks/deploy/matic.js +++ b/tasks/deploy/matic.js @@ -68,6 +68,7 @@ txTask( hre.ethers, deployer, txParams, + 2, ); console.log('------------------------------------------------------------'); @@ -136,6 +137,7 @@ txTask( hre.ethers, deployer, txParams, + 2, ); console.log('------------------------------------------------------------'); @@ -209,22 +211,22 @@ txTask('deploy:matic_connection', 'Connects the two gateway contracts') await baseRebaseGateway .connect(baseChainSigner) .setFxChildTunnel(satRebaseGateway.address, txParams) - ).wait(); + ).wait(2); await ( await satRebaseGateway .connect(satChainSigner) .setFxRootTunnel(baseRebaseGateway.address, txParams) - ).wait(); + ).wait(2); await ( await baseTransferGateway .connect(baseChainSigner) .setFxChildTunnel(satTransferGateway.address, txParams) - ).wait(); + ).wait(2); await ( await satTransferGateway .connect(satChainSigner) .setFxRootTunnel(baseTransferGateway.address, txParams) - ).wait(); + ).wait(2); }); diff --git a/tasks/deploy/rebase_reporter.js b/tasks/deploy/rebase_reporter.js index 5365fa8..46cce43 100644 --- a/tasks/deploy/rebase_reporter.js +++ b/tasks/deploy/rebase_reporter.js @@ -37,8 +37,9 @@ txTask( deployer, [], txParams, + 2, ); - await batchRebaseReporter.deployTransaction.wait(5); + await batchRebaseReporter.deployTransaction.wait(2); console.log('------------------------------------------------------------'); console.log('Writing data to file'); diff --git a/tasks/ops/rebase.js b/tasks/ops/rebase.js index cdc7461..8cf1667 100644 --- a/tasks/ops/rebase.js +++ b/tasks/ops/rebase.js @@ -1,5 +1,7 @@ const { txTask, types, loadSignerSync } = require('../../helpers/tasks'); const { getEthersProvider } = require('../../helpers/utils'); +const { Bridge } = require('arb-ts'); +const { hexDataLength } = require('@ethersproject/bytes'); const { readDeploymentData, @@ -97,7 +99,7 @@ txTask( ); const satelliteChainIDs = []; - let totalFee = hre.ethers.BigNumber.from('0'); + let totalFee = BigNumber.from('0'); for (let n in args.satelliteChainNetworks) { const network = args.satelliteChainNetworks[n]; const provider = await getEthersProvider(network); @@ -113,8 +115,6 @@ txTask( } console.log('Initiating cross-chain rebase', satelliteChainIDs); - console.log('totalFee', totalFee); - const tx = await batchRebaseReporter .connect(sender) .execute( @@ -131,7 +131,7 @@ txTask( txTask( 'matic:report_rebase', - 'Reports most recent rebase to bridge on base chain for list of given satellite chains through matic bridge', + 'Reports most recent rebase to bridge on base chain to the matic satellite chain', ).setAction(async (args, hre) => { const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; if (txParams.gasPrice == 0) { @@ -149,12 +149,71 @@ txTask( 'matic/rebaseGateway', baseChainProvider, ); - const tx = await rebaseGateway.connect(sender).reportRebase(txParams); + const tx = await rebaseGateway.connect(sender).reportRebaseInit(txParams); const txR = await tx.wait(); console.log(txR.transactionHash); }); +txTask( + 'arbitrum:report_rebase', + 'Reports most recent rebase to bridge on base chain to the arbitrum, satellite chain', +) + .addParam( + 'satChainNetwork', + 'The network name of the satellite chain network', + ) + .setAction(async (args, hre) => { + const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; + if (txParams.gasPrice == 0) { + txParams.gasPrice = await hre.ethers.provider.getGasPrice(); + } + const sender = await loadSignerSync(args, hre.ethers.provider); + const senderAddress = await sender.getAddress(); + console.log('Sender:', senderAddress); + console.log(txParams); + + const baseChainNetwork = hre.network.name; + const baseChainProvider = hre.ethers.provider; + const baseChainSigner = loadSignerSync(args, baseChainProvider); + + const satChainProvider = getEthersProvider(args.satChainNetwork); + const satChainSigner = loadSignerSync(args, satChainProvider); + + const policy = await getDeployedContractInstance( + hre.network.name, + 'policy', + hre.ethers.provider, + ); + + const rebaseGateway = await getDeployedContractInstance( + baseChainNetwork, + 'arbitrum/rebaseGateway', + baseChainProvider, + ); + + const arb = await Bridge.init(baseChainSigner, satChainSigner); + const fnDataBytes = ethers.utils.defaultAbiCoder.encode( + ['uint256', 'uint256'], + await policy.globalAmpleforthEpochAndAMPLSupply(), + ); + const fnBytesLength = hexDataLength(fnDataBytes) + 4; + const [_submissionPriceWei, nextUpdateTimestamp] = + await arb.l2Bridge.getTxnSubmissionPrice(fnBytesLength); + const submissionPriceWei = _submissionPriceWei.mul(5); // buffer can be reduced + const maxGas = 500000; + const gasPriceBid = await satChainProvider.getGasPrice(); + const callValue = submissionPriceWei.add(gasPriceBid.mul(maxGas)); + txParams.value = callValue; + + const tx = await rebaseGateway + .connect(sender) + .reportRebaseInit(submissionPriceWei, maxGas, gasPriceBid, txParams); + + const txR = await tx.wait(); + console.log(txR.transactionHash); + }); + txTask( 'rebase:satellite_chain', 'Executes rebase on the list of given satellite chains', diff --git a/test/helpers/ethers.js b/test/helpers/ethers.js index facd3c7..3559fb3 100644 --- a/test/helpers/ethers.js +++ b/test/helpers/ethers.js @@ -1,22 +1,22 @@ const { ethers } = require('hardhat'); -async function getBlockTime () { +async function getBlockTime() { return (await ethers.provider.getBlock('latest')).timestamp; } -async function mineEmpty () { +async function mineEmpty() { return ethers.provider.send('evm_mine'); } -async function increaseTime (seconds) { +async function increaseTime(seconds) { await ethers.provider.send('evm_mine', [ ethers.BigNumber.from(seconds) .add(await getBlockTime()) - .toNumber() + .toNumber(), ]); } -async function parseEventFromLogs (contract, tx, event) { +async function parseEventFromLogs(contract, tx, event) { const txR = await contract.provider.getTransactionReceipt(tx.hash); for (const l in txR.logs) { if (txR.logs.hasOwnProperty(l)) { @@ -35,5 +35,5 @@ module.exports = { getBlockTime, increaseTime, mineEmpty, - parseEventFromLogs + parseEventFromLogs, }; diff --git a/test/integration/chain_bridge.js b/test/integration/chain_bridge.js index 1b78739..b1dcbd3 100644 --- a/test/integration/chain_bridge.js +++ b/test/integration/chain_bridge.js @@ -10,17 +10,17 @@ const { executeXCRebase, executeXCTransfer, XC_TRANSFER_RESOURCE_ID, - packXCTransferData + packXCTransferData, } = require('../../sdk/chain_bridge'); const { execRebase, toAmplFixedPt } = require('../../sdk/ampleforth'); const { - deployAMPLContracts, + deployAMPLTestnetContracts, deployXCAmpleContracts, deployTokenVault, deployChainBridgeContracts, deployChainBridgeBaseChainGatewayContracts, - deployChainBridgeSatelliteChainGatewayContracts + deployChainBridgeSatelliteChainGatewayContracts, } = require('../../helpers/deploy'); let accounts, @@ -41,7 +41,7 @@ let accounts, userASatChain2Wallet, userBSatChain2Wallet; -async function setupContracts () { +async function setupContracts() { accounts = await ethers.getSigners(); deployer = accounts[0]; relayer = accounts[1]; @@ -55,7 +55,7 @@ async function setupContracts () { userASatChain2Wallet = accounts[6]; userBSatChain2Wallet = accounts[7]; - baseChainAmplContracts = await deployAMPLContracts(ethers, deployer); + baseChainAmplContracts = await deployAMPLTestnetContracts(ethers, deployer); baseChainAmplContracts.tokenVault = await deployTokenVault(ethers, deployer); baseChainBridgeContracts = await deployChainBridgeContracts( @@ -64,7 +64,7 @@ async function setupContracts () { relayers: [await deployer.getAddress(), await relayer.getAddress()], relayerThreshold: RELAYER_TRESHOLD, fee: 0, - expiry: 1000 + expiry: 1000, }, ethers, deployer, @@ -89,7 +89,7 @@ async function setupContracts () { tokenSymbol: 'satChain1XCAmple', tokenName: 'satChain1XCAmple', globalAmpleforthEpoch, - globalAMPLSupply + globalAMPLSupply, }, ethers, deployer, @@ -100,7 +100,7 @@ async function setupContracts () { relayers: [await deployer.getAddress(), await relayer.getAddress()], relayerThreshold: RELAYER_TRESHOLD, fee: 0, - expiry: 1000 + expiry: 1000, }, ethers, deployer, @@ -121,7 +121,7 @@ async function setupContracts () { tokenSymbol: 'satChain2XCAmple', tokenName: 'satChain2XCAmple', globalAmpleforthEpoch, - globalAMPLSupply + globalAMPLSupply, }, ethers, deployer, @@ -132,7 +132,7 @@ async function setupContracts () { relayers: [await deployer.getAddress(), await relayer.getAddress()], relayerThreshold: RELAYER_TRESHOLD, fee: 0, - expiry: 1000 + expiry: 1000, }, ethers, deployer, @@ -151,13 +151,13 @@ async function setupContracts () { bridgeContractsMap = { base: baseChainBridgeContracts, sat1: satChain1BridgeContracts, - sat2: satChain2BridgeContracts + sat2: satChain2BridgeContracts, }; amplContractsMap = { base: baseChainAmplContracts, sat1: satChain1AmplContracts, - sat2: satChain2AmplContracts + sat2: satChain2AmplContracts, }; // On the main-chain userA and userB have 100k AMPLs each @@ -170,7 +170,7 @@ async function setupContracts () { .transfer(await userBBaseChainWallet.getAddress(), toAmplFixedPt('100000')); } -async function mockOffchain ( +async function mockOffchain( toChainBridge, fromChainID, depositNonce, @@ -192,7 +192,7 @@ async function mockOffchain ( // console.log((await toChainBridge.getProposal(fromChainID, depositNonce, dataHash))._status); } -async function execXCReportRebase (chain) { +async function execXCReportRebase(chain) { // Triggering rebase report to sat chain const { data, dataHash, depositNonce, resourceID } = await executeXCRebase( deployer, @@ -214,7 +214,7 @@ async function execXCReportRebase (chain) { } // Executes rebase end to end -async function execXCRebaseE2E (perc, chainSubset = []) { +async function execXCRebaseE2E(perc, chainSubset = []) { const chains = chainSubset.length === 0 ? Object.keys(bridgeContractsMap) : chainSubset; @@ -245,7 +245,7 @@ async function execXCRebaseE2E (perc, chainSubset = []) { } } -async function execXCSend ( +async function execXCSend( fromChain, toChain, fromAccount, @@ -292,7 +292,7 @@ async function execXCSend ( ); } -async function getBalancesAndSupply () { +async function getBalancesAndSupply() { const userAEthBal = await baseChainAmplContracts.ampl.balanceOf( await userABaseChainWallet.getAddress(), ); @@ -322,11 +322,11 @@ async function getBalancesAndSupply () { sat1Balances: [userATronBal, userBTronBal], sat2Balances: [userAAcalaBal, userBAcalaBal], sat1Supply, - sat2Supply + sat2Supply, }; } -async function checkBalancesAndSupply ( +async function checkBalancesAndSupply( baseBalances, sat1Balances, sat1Supply, diff --git a/test/unit/_utilities/batch_tx_executor.js b/test/unit/_utilities/batch_tx_executor.js index 562fee9..1ab13a4 100644 --- a/test/unit/_utilities/batch_tx_executor.js +++ b/test/unit/_utilities/batch_tx_executor.js @@ -2,7 +2,7 @@ const { ethers } = require('hardhat'); const { expect } = require('chai'); let accounts, deployer, user, batchExecutor, mockDownstream, r; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -140,12 +140,12 @@ describe('BatchTxExecutor', function () { await expect( await batchExecutor.callStatic.checkExecution(0, { - value: '1000000000000000000' + value: '1000000000000000000', }), ).to.be.true; await expect( await batchExecutor.callStatic.executeAll({ - value: '1000000000000000000' + value: '1000000000000000000', }), ).to.be.true; expect(await batchExecutor.totalValue()).to.be.eq('1000000000000000000'); diff --git a/test/unit/_utilities/signatures.js b/test/unit/_utilities/signatures.js index f8192cf..7aa082a 100644 --- a/test/unit/_utilities/signatures.js +++ b/test/unit/_utilities/signatures.js @@ -3,7 +3,7 @@ const { keccak256, defaultAbiCoder, toUtf8Bytes, - solidityPack + solidityPack, } = require('ethers/lib/utils'); const { ecsign } = require('ethereumjs-util'); @@ -17,7 +17,7 @@ const EIP712_DOMAIN_TYPE = [ { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'chainId', type: 'uint256' }, - { name: 'verifyingContract', type: 'address' } + { name: 'verifyingContract', type: 'address' }, ]; const EIP2612_PERMIT_TYPEHASH = keccak256( @@ -31,11 +31,11 @@ const EIP2612_PERMIT_TYPE = [ { name: 'spender', type: 'address' }, { name: 'value', type: 'uint256' }, { name: 'nonce', type: 'uint256' }, - { name: 'deadline', type: 'uint256' } + { name: 'deadline', type: 'uint256' }, ]; // Gets the EIP712 domain separator -function getDomainSeparator (version, name, contractAddress, chainId) { +function getDomainSeparator(version, name, contractAddress, chainId) { return keccak256( defaultAbiCoder.encode( ['bytes32', 'bytes32', 'bytes32', 'uint256', 'address'], @@ -44,7 +44,7 @@ function getDomainSeparator (version, name, contractAddress, chainId) { keccak256(toUtf8Bytes(name)), keccak256(toUtf8Bytes(version)), chainId, - contractAddress + contractAddress, ], ), ); @@ -52,7 +52,7 @@ function getDomainSeparator (version, name, contractAddress, chainId) { // Returns the EIP712 hash which should be signed by the user // in order to make a call to `permit` -function getPermitDigest ( +function getPermitDigest( version, name, address, @@ -115,5 +115,5 @@ module.exports = { EIP2612_PERMIT_TYPE, getDomainSeparator, getPermitDigest, - signEIP712Permission + signEIP712Permission, }; diff --git a/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js b/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js index d7660bf..c4e4bfd 100644 --- a/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js +++ b/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js @@ -12,7 +12,7 @@ let accounts, policy, vault, gateway; -async function setupContracts () { +async function setupContracts() { accounts = await ethers.getSigners(); deployer = accounts[0]; depositorAddress = await deployer.getAddress(); diff --git a/test/unit/base-chain/token_vault.js b/test/unit/base-chain/token_vault.js index 5f5f66f..0d33576 100644 --- a/test/unit/base-chain/token_vault.js +++ b/test/unit/base-chain/token_vault.js @@ -10,7 +10,7 @@ let accounts, otherBridgeAddress, vault, mockToken; -async function setupContracts () { +async function setupContracts() { accounts = await ethers.getSigners(); deployer = accounts[0]; bridge = accounts[1]; diff --git a/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js b/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js index d3a7182..f8d2706 100644 --- a/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js +++ b/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js @@ -11,7 +11,7 @@ let accounts, xcAmple, xcController, gateway; -async function setupContracts () { +async function setupContracts() { accounts = await ethers.getSigners(); deployer = accounts[0]; depositorAddress = await deployer.getAddress(); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample.js index 2f998cb..180e978 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample.js @@ -5,7 +5,7 @@ const { expect } = require('chai'); // https://github.com/ampleforth/uFragments/blob/master/test/unit/UFragments.js const DECIMALS = 9; -const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); const INITIAL_AMPL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const REBASE_AMT = INITIAL_AMPL_SUPPLY.div(10); @@ -21,7 +21,7 @@ const unitTokenAmount = toUFrgDenomination('1'); let accounts, deployer, xcAmple; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js index e7ed609..7928d6e 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js @@ -2,7 +2,7 @@ const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); const DECIMALS = 9; -const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); const INITIAL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const MAX_SUPPLY = ethers.BigNumber.from('2').pow(128).sub(1); @@ -10,7 +10,7 @@ const unitTokenAmount = toUFrgDenomination('1'); let accounts, deployer, otherUser, xcAmple; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -24,7 +24,7 @@ async function setupContracts () { factory.connect(deployer), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)' + initializer: 'initialize(string,string,uint256)', }, ); await xcAmple.setController(deployer.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js index 1e7d89d..e9e58ea 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js @@ -6,12 +6,12 @@ const INITIAL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const MAX_UINT256 = ethers.BigNumber.from(2).pow(256).sub(1); const TOTAL_GONS = MAX_UINT256.sub(MAX_UINT256.mod(INITIAL_SUPPLY)); -const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); const unitTokenAmount = toUFrgDenomination('1'); let token, owner, anotherAccount, recipient; -async function upgradeableToken () { +async function upgradeableToken() { const [owner, recipient, anotherAccount] = await ethers.getSigners(); const factory = await ethers.getContractFactory( 'contracts/satellite-chain/xc-ampleforth/XCAmple.sol:XCAmple', @@ -20,7 +20,7 @@ async function upgradeableToken () { factory.connect(owner), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)' + initializer: 'initialize(string,string,uint256)', }, ); await token.setController(owner.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js index e6a7df6..df035c7 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js @@ -29,7 +29,7 @@ const { ethers, upgrades, waffle } = require('hardhat'); const { expect } = require('chai'); -function toUFrgDenomination (x) { +function toUFrgDenomination(x) { return ethers.utils.parseUnits(x, DECIMALS); } @@ -44,7 +44,7 @@ const transferAmountPlusOne = transferAmount.add(unitTokenAmount); const transferAmountMinusOne = transferAmount.sub(unitTokenAmount); let token, owner, anotherAccount, recipient; -async function upgradeableToken () { +async function upgradeableToken() { const [owner, recipient, anotherAccount] = await ethers.getSigners(); const factory = await ethers.getContractFactory( 'contracts/satellite-chain/xc-ampleforth/XCAmple.sol:XCAmple', @@ -53,7 +53,7 @@ async function upgradeableToken () { factory.connect(owner), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)' + initializer: 'initialize(string,string,uint256)', }, ); await token.setController(owner.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js index 09d92eb..88595f5 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js @@ -2,7 +2,7 @@ const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); const DECIMALS = 9; -const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); const INITIAL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const MAX_SUPPLY = ethers.BigNumber.from('2').pow(128).sub(1); @@ -10,7 +10,7 @@ const unitTokenAmount = toUFrgDenomination('1'); let accounts, deployer, otherUser, xcAmple, initialSupply; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -24,7 +24,7 @@ async function setupContracts () { factory.connect(deployer), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)' + initializer: 'initialize(string,string,uint256)', }, ); await xcAmple.setController(deployer.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js index d16304f..3bfe981 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js @@ -9,7 +9,7 @@ const { EIP712_DOMAIN_TYPEHASH, EIP2612_PERMIT_TYPEHASH, getDomainSeparator, - signEIP712Permission + signEIP712Permission, } = require('../../_utilities/signatures'); const EIP712_REVISION = '1'; @@ -25,7 +25,7 @@ let accounts, spenderAddress, xcAmple; -async function setupContracts () { +async function setupContracts() { accounts = await ethers.getSigners(); deployer = accounts[0]; diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_controller.js b/test/unit/satellite-chain/xc-ampleforth/xc_controller.js index 9c079b7..95d527d 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_controller.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_controller.js @@ -2,7 +2,7 @@ const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); let accounts, deployer, controller, mockToken; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -25,7 +25,7 @@ async function setupContracts () { factory.connect(deployer), [mockToken.address, 1], { - initializer: 'initialize(address,uint256)' + initializer: 'initialize(address,uint256)', }, ); } diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js b/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js index c250837..dcdde6e 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js @@ -8,7 +8,7 @@ let accounts, beneficiaryAddress, controller, mockToken; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -32,14 +32,14 @@ async function setupContracts () { factory.connect(deployer), [mockToken.address, 1], { - initializer: 'initialize(address,uint256)' + initializer: 'initialize(address,uint256)', }, ); await controller.connect(deployer).addBridgeGateway(bridge.getAddress()); await controller.connect(deployer).addBridgeGateway(bridgeOther.getAddress()); } -async function getBlockTime (b = 'latest') { +async function getBlockTime(b = 'latest') { return (await ethers.provider.getBlock(b)).timestamp; } diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js b/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js index f259247..72e157a 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js @@ -9,7 +9,7 @@ let accounts, controller, mockToken, mockRebaseRelayer; -async function setupContracts () { +async function setupContracts() { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -39,7 +39,7 @@ async function setupContracts () { factory.connect(deployer), [mockToken.address, 1], { - initializer: 'initialize(address,uint256)' + initializer: 'initialize(address,uint256)', }, ); await controller.connect(deployer).addBridgeGateway(bridge.getAddress()); From 67529a18de342258c89b2dfd50c77e6cb6b3755e Mon Sep 17 00:00:00 2001 From: aalavandhan1984 Date: Tue, 2 Nov 2021 15:05:13 -0400 Subject: [PATCH 04/13] arbitrum gateways --- contracts/_mocks/MockArbitrum.sol | 85 ++++ contracts/_test/UFragmentsTestnet.sol | 24 ++ .../ArbitrumXCAmpleGateway.sol | 325 +++++++++++++++ helpers/deploy/arbitrum.js | 72 ++++ .../dev3RinkebyArbitrumSatChain.json | 169 ++++++++ sdk/deployments/dev3RinkebyBaseChain.json | 262 ++++++++++++ tasks/deploy/arbitrum.js | 309 ++++++++++++++ .../bridge-gateways/ampl_arbitrum_gateway.js | 392 ++++++++++++++++++ .../arbitrum_xcampl_gateway.js | 320 ++++++++++++++ 9 files changed, 1958 insertions(+) create mode 100644 contracts/_mocks/MockArbitrum.sol create mode 100644 contracts/_test/UFragmentsTestnet.sol create mode 100644 contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol create mode 100644 helpers/deploy/arbitrum.js create mode 100644 sdk/deployments/dev3RinkebyArbitrumSatChain.json create mode 100644 sdk/deployments/dev3RinkebyBaseChain.json create mode 100644 tasks/deploy/arbitrum.js create mode 100644 test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js create mode 100644 test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js diff --git a/contracts/_mocks/MockArbitrum.sol b/contracts/_mocks/MockArbitrum.sol new file mode 100644 index 0000000..2dcdc08 --- /dev/null +++ b/contracts/_mocks/MockArbitrum.sol @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +pragma solidity 0.6.11; +pragma experimental ABIEncoderV2; + +import {InboxMock} from "arb-bridge-peripherals/contracts/tokenbridge/test/InboxMock.sol"; +import {L1ArbitrumMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol"; +import {L2ArbitrumMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/arbitrum/L2ArbitrumMessenger.sol"; +import {L1ArbitrumTestMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/test/GatewayTest.sol"; +import {L2ArbitrumTestMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/test/GatewayTest.sol"; +import {IBridge} from "arb-bridge-peripherals/contracts/tokenbridge/test/GatewayTest.sol"; +import {AMPLArbitrumGateway} from "../base-chain/bridge-gateways/AMPLArbitrumGateway.sol"; +import {ArbitrumXCAmpleGateway} from "../satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol"; + +contract MockArbitrumInbox is InboxMock {} + +// Mocking sendTxToL2 +// https://shorturl.at/dgABO +contract MockAMPLArbitrumGateway is L1ArbitrumTestMessenger, AMPLArbitrumGateway { + constructor( + address ampl_, + address policy_, + address vault_ + ) public AMPLArbitrumGateway(ampl_, policy_, vault_) {} + + function sendTxToL2( + address _inbox, + address _to, + address _user, + uint256 _l1CallValue, + uint256 _l2CallValue, + uint256 _maxSubmissionCost, + uint256 _maxGas, + uint256 _gasPriceBid, + bytes memory _data + ) internal virtual override(L1ArbitrumMessenger, L1ArbitrumTestMessenger) returns (uint256) { + return + L1ArbitrumTestMessenger.sendTxToL2( + _inbox, + _to, + _user, + _l1CallValue, + _l2CallValue, + _maxSubmissionCost, + _maxGas, + _gasPriceBid, + _data + ); + } + + function getL2ToL1Sender(address _inbox) + internal + view + virtual + override(L1ArbitrumMessenger, L1ArbitrumTestMessenger) + returns (address) + { + return L1ArbitrumTestMessenger.getL2ToL1Sender(_inbox); + } + + function getBridge(address _inbox) + internal + view + virtual + override(L1ArbitrumMessenger, L1ArbitrumTestMessenger) + returns (IBridge) + { + return L1ArbitrumTestMessenger.getBridge(_inbox); + } +} + +contract MockArbitrumXCAmpleGateway is L2ArbitrumTestMessenger, ArbitrumXCAmpleGateway { + constructor(address xcAmple_, address xcController_) + public + ArbitrumXCAmpleGateway(xcAmple_, xcController_) + {} + + function sendTxToL1( + uint256 _l1CallValue, + address _from, + address _to, + bytes memory _data + ) internal virtual override(L2ArbitrumMessenger, L2ArbitrumTestMessenger) returns (uint256) { + return L2ArbitrumTestMessenger.sendTxToL1(_l1CallValue, _from, _to, _data); + } +} diff --git a/contracts/_test/UFragmentsTestnet.sol b/contracts/_test/UFragmentsTestnet.sol new file mode 100644 index 0000000..8bf1a18 --- /dev/null +++ b/contracts/_test/UFragmentsTestnet.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +// Importing uFragments contract dependencies to be compiled for integration tests +pragma solidity 0.7.6; + +import {UFragments} from "uFragments/contracts/UFragments.sol"; + +contract UFragmentsTestnet is UFragments { + event Result(bool result, bytes reason); + + function isArbitrumEnabled() external view returns (uint8) { + return uint8(0xa4b1); + } + + // NOTE: this allows the token contarct to register itself with the bridge on testnet + // The AMPL contract on mainnet is immutable and this can't be used! + function externalCall( + address destination, + bytes calldata data, + uint256 value + ) external payable { + (bool result, bytes memory reason) = destination.call{value: value}(data); + emit Result(result, reason); + } +} diff --git a/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol b/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol new file mode 100644 index 0000000..656c129 --- /dev/null +++ b/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol @@ -0,0 +1,325 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +pragma solidity 0.6.11; +pragma experimental ABIEncoderV2; + +import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; +import {Initializable} from "@openzeppelin/contracts/proxy/Initializable.sol"; +import {GatewayMessageHandler} from "arb-bridge-peripherals/contracts/tokenbridge/libraries/gateway/GatewayMessageHandler.sol"; +import {L2ArbitrumMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/arbitrum/L2ArbitrumMessenger.sol"; +import {AddressAliasHelper} from "arb-bridge-eth/contracts/libraries/AddressAliasHelper.sol"; + +import {IArbitrumBCRebaseGateway, IArbitrumBCTransferGateway, IArbitrumSCRebaseGateway, IArbitrumSCTransferGateway} from "../../_interfaces/bridge-gateways/IArbitrumGateway.sol"; +import {IXCAmpleController} from "../../_interfaces/IXCAmpleController.sol"; +import {IXCAmpleControllerGateway} from "../../_interfaces/IXCAmpleControllerGateway.sol"; +import {IXCAmple} from "../../_interfaces/IXCAmple.sol"; + +/// @dev Abstract l1 gateway contarct implementation to define function selector +abstract contract AMPLArbitrumGateway is IArbitrumBCRebaseGateway, IArbitrumBCTransferGateway { + function finalizeInboundTransfer( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes calldata _data + ) external payable override { + require(false, "AMPLArbitrumGateway: NOT_IMPLEMENTED"); + } +} + +/** + * @title ArbitrumXCAmpleGateway: Arbitrum-XCAmple Gateway Contract + * @dev This contract is deployed on the l2 chain (Arbitrum). + * + * It's a pass-through contract between the Arbitrum's bridge and + * the the XCAmple contracts. + * + */ +contract ArbitrumXCAmpleGateway is + IArbitrumSCRebaseGateway, + IArbitrumSCTransferGateway, + L2ArbitrumMessenger, + Initializable +{ + using SafeMath for uint256; + + //-------------------------------------------------------------------------- + // XCAmple Satelltie chain gateway attributes + + /// @dev Address of XCAmple token on the satellite chain. + address public immutable xcAmple; + + /// @dev Address of XCAmple Controller on the satellite chain. + address public immutable xcController; + + //-------------------------------------------------------------------------- + // AMPL Base chain gateway attributes + + /// @dev Address of the AMPL ERC20 on the base chain. + address public ampl; + + //-------------------------------------------------------------------------- + // Arbitrum gateway attributes + + /// @dev Address if the arbitrum bridge router. + address public router; + + /// @dev Address of the counterpart gateway contract on the base chain + /// which "finalizes" cross chain transactions. + address public counterpartGateway; + + /// @dev Cross chain deposit nonce. + uint256 public exitNum; + + //-------------------------------------------------------------------------- + // Modifiers + + // @dev Validate incoming transactions before "finalization". + modifier onlyCounterpartGateway() { + require( + msg.sender == counterpartGateway || + AddressAliasHelper.undoL1ToL2Alias(msg.sender) == counterpartGateway, + "ArbitrumXCAmpleGateway: ONLY_COUNTERPART_GATEWAY" + ); + _; + } + + //-------------------------------------------------------------------------- + // Constructor + + /** + * @notice Instantiate the contract with references. + * @param xcAmple_ Address of the XCAmple ERC-20 on the satellite chain. + * @param xcController_ Address of the XCAmple Controller on the satellite chain. + */ + constructor(address xcAmple_, address xcController_) public { + xcAmple = xcAmple_; + xcController = xcController_; + } + + /** + * @notice Initialize contract with the addresses from the base chain. + * @param router_ Address of the arbitrum token transfer router on the satellite chain. + * @param ampl_ Address of the AMPL ERC-20 on the base chain. + * @param counterpartGateway_ Address the counterpart gateway contract on the base chain. + */ + function initialize( + address router_, + address ampl_, + address counterpartGateway_ + ) public initializer { + ampl = ampl_; + router = router_; + counterpartGateway = counterpartGateway_; + } + + //-------------------------------------------------------------------------- + // External methods + + /* + * @notice Forwards the most recent rebase information from the bridge to the XCAmple controller. + * @param globalAmpleforthEpoch Ampleforth monetary policy epoch from ethereum. + * @param globalAMPLSupply AMPL ERC-20 total supply from ethereum. + */ + function reportRebaseCommit(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply) + external + override + onlyCounterpartGateway + { + uint256 recordedGlobalAmpleforthEpoch = IXCAmpleController(xcController) + .globalAmpleforthEpoch(); + + uint256 recordedGlobalAMPLSupply = IXCAmple(xcAmple).globalAMPLSupply(); + + emit XCRebaseReportIn( + globalAmpleforthEpoch, + globalAMPLSupply, + recordedGlobalAmpleforthEpoch, + recordedGlobalAMPLSupply + ); + + IXCAmpleControllerGateway(xcController).reportRebase( + globalAmpleforthEpoch, + globalAMPLSupply + ); + } + + /** + * @notice Initiates a token withdrawal from Arbitrum to Ethereum. + * @param _l1Token l1 address of token. + * @param _to destination address. + * @param _amount amount of tokens withdrawn. + * @return res encoded unique identifier for withdrawal. + */ + function outboundTransfer( + address _l1Token, + address _to, + uint256 _amount, + uint256, /* _maxGas */ + uint256, /* _gasPriceBid */ + bytes calldata _data + ) public payable virtual override returns (bytes memory res) { + require(msg.sender == router, "ArbitrumXCAmpleGateway: NOT_FROM_ROUTER"); + + // the function is marked as payable to conform to the inheritance setup + // this particular code path shouldn't have a msg.value > 0 + require(msg.value == 0, "ArbitrumXCAmpleGateway: NO_VALUE"); + + require(_l1Token == ampl, "ArbitrumXCAmpleGateway: ONLY_AMPL_ALLOWED"); + + require(ampl != address(0), "AMPLArbitrumGateway: NOT_INITIALIZED"); + + address from = _parseDataFromRouterOnTransfer(_data); + + // Burn funds and log outbound transfer + uint256 recordedGlobalAMPLSupply; + { + recordedGlobalAMPLSupply = IXCAmple(xcAmple).globalAMPLSupply(); + + IXCAmpleControllerGateway(xcController).burn(from, _amount); + + emit XCTransferOut(from, address(0), _amount, recordedGlobalAMPLSupply); + } + + // Execute cross-chain transfer + return + abi.encode( + createOutboundTransfer(_l1Token, from, _to, _amount, recordedGlobalAMPLSupply) + ); + } + + /** + * @notice Mint on L2 upon L1 deposit. + * @dev Callable only by the L1ERC20Gateway.outboundTransfer method. + * @param _l1Token L1 address of ERC20. + * @param _from account that initiated the deposit in the L1. + * @param _to account to be credited with the tokens in the L2 (can be the user's L2 account or a contract). + * @param _amount token amount to be minted to the user. + * @param _data encoded symbol/name/decimal data for deploy, in addition to any additional callhook data. + */ + function finalizeInboundTransfer( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes calldata _data + ) external payable override onlyCounterpartGateway { + require(_l1Token == ampl, "ArbitrumXCAmpleGateway: ONLY_AMPL_ALLOWED"); + + // Decode data from the bridge + uint256 globalAMPLSupply = abi.decode(_data, (uint256)); + + // Log inbound transfer and mint funds + uint256 mintAmount; + { + uint256 recordedGlobalAMPLSupply = IXCAmple(xcAmple).globalAMPLSupply(); + + mintAmount = _amount.mul(recordedGlobalAMPLSupply).div(globalAMPLSupply); + emit XCTransferIn( + address(0), + _to, + globalAMPLSupply, + mintAmount, + recordedGlobalAMPLSupply + ); + + IXCAmpleControllerGateway(xcController).mint(_to, mintAmount); + } + + emit DepositFinalized(_l1Token, _from, _to, mintAmount); + } + + //-------------------------------------------------------------------------- + // View methods + + /// @return The L2 AMPL token address. + function calculateL2TokenAddress(address token) public view override returns (address) { + if (token != ampl) { + return address(0); + } + return xcAmple; + } + + /// @return The encoded outbound call data with the current globalAMPLSupply. + function getOutboundCalldata( + address _l1Token, + address _from, + address _to, + uint256 _amount, + bytes memory _data + ) external view override returns (bytes memory) { + return + _getOutboundCalldata( + _l1Token, + _from, + _to, + _amount, + exitNum, + IXCAmple(xcAmple).globalAMPLSupply() + ); + } + + //-------------------------------------------------------------------------- + // Internal methods + + /// @dev Parses data packed by the router + /// @return The depositor address + function _parseDataFromRouterOnTransfer(bytes calldata _data) internal returns (address) { + address from; + bytes memory packedDataFromRouter; + (from, packedDataFromRouter) = GatewayMessageHandler.parseFromRouterToGateway(_data); + + require(packedDataFromRouter.length == 0, "ArbitrumXCAmpleGateway: EXTRA_DATA_DISABLED"); + + return from; + } + + /// @dev Builds and executes the outbound transfer. + /// @return seqNumber The bridge sequence number. + function createOutboundTransfer( + address _l1Token, + address _from, + address _to, + uint256 _amount, + uint256 recordedGlobalAMPLSupply + ) internal returns (uint256) { + // packed data sent over the bridge + bytes memory _outboundCallData = _getOutboundCalldata( + _l1Token, + _from, + _to, + _amount, + exitNum, + recordedGlobalAMPLSupply + ); + + uint256 id = sendTxToL1(0, _from, counterpartGateway, _outboundCallData); + + emit WithdrawalInitiated(_l1Token, _from, _to, id, exitNum, _amount); + + exitNum++; + + return id; + } + + function _getOutboundCalldata( + address _l1Token, + address _from, + address _to, + uint256 _amount, + uint256 exitNum, + uint256 recordedGlobalAMPLSupply + ) internal view returns (bytes memory) { + bytes memory packedData = abi.encode(exitNum, recordedGlobalAMPLSupply); + + bytes memory outboundCalldata = abi.encodeWithSelector( + AMPLArbitrumGateway.finalizeInboundTransfer.selector, + _l1Token, + _from, + _to, + _amount, + packedData + ); + + return outboundCalldata; + } +} diff --git a/helpers/deploy/arbitrum.js b/helpers/deploy/arbitrum.js new file mode 100644 index 0000000..eda95b3 --- /dev/null +++ b/helpers/deploy/arbitrum.js @@ -0,0 +1,72 @@ +const { deployContract } = require('../contracts'); + +async function deployArbitrumBaseChainGatewayContracts( + { ampl, policy, tokenVault }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const gateway = await deployContract( + ethers, + 'AMPLArbitrumGateway', + deployer, + [ampl.address, policy.address, tokenVault.address], + txParams, + waitBlocks, + ); + + const deployerAddress = await deployer.getAddress(); + if ((await tokenVault.owner()) == deployerAddress) { + await ( + await tokenVault.connect(deployer).addBridgeGateway(gateway.address) + ).wait(waitBlocks); + } else { + console.log( + 'Failed to add whitelist transfer gateway to vault as deployer not vault owner', + ); + console.log('Execute the following on-chain'); + console.log('addBridgeGateway', [gateway.address]); + } + + return { gateway }; +} + +async function deployArbitrumSatelliteChainGatewayContracts( + { xcAmple, xcAmpleController }, + ethers, + deployer, + txParams = {}, + waitBlocks = 0, +) { + const gateway = await deployContract( + ethers, + 'ArbitrumXCAmpleGateway', + deployer, + [xcAmple.address, xcAmpleController.address], + txParams, + waitBlocks, + ); + + const deployerAddress = await deployer.getAddress(); + if ((await xcAmpleController.owner()) == deployerAddress) { + await ( + await xcAmpleController + .connect(deployer) + .addBridgeGateway(gateway.address) + ).wait(waitBlocks); + } else { + console.log( + 'Failed to add whitelist transfer gateway to XCAmpleController as deployer owner', + ); + console.log('Execute the following on-chain'); + console.log('addBridgeGateway', [gateway.address]); + } + + return { gateway }; +} + +module.exports = { + deployArbitrumBaseChainGatewayContracts, + deployArbitrumSatelliteChainGatewayContracts, +}; diff --git a/sdk/deployments/dev3RinkebyArbitrumSatChain.json b/sdk/deployments/dev3RinkebyArbitrumSatChain.json new file mode 100644 index 0000000..c99eeed --- /dev/null +++ b/sdk/deployments/dev3RinkebyArbitrumSatChain.json @@ -0,0 +1,169 @@ +{ + "proxyAdmin": { + "address": "0xbAdBD05c2eC381B2DdF610E125A73baBda54fc7f", + "abi": [ + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function changeProxyAdmin(address proxy, address newAdmin)", + "function getProxyAdmin(address proxy) view returns (address)", + "function getProxyImplementation(address proxy) view returns (address)", + "function isOwner() view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function upgrade(address proxy, address implementation)", + "function upgradeAndCall(address proxy, address implementation, bytes data) payable" + ], + "hash": "0x800809255038a5d6659ff394b65b1334ac215c017d7ea8c43e16fa91c55ec753", + "blockNumber": 6019296 + }, + "xcAmple": { + "address": "0x4162aEE7665a2b8EafE5C257e600DEa7c4296f73", + "abi": [ + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event ControllerUpdated(address controller)", + "event LogRebase(uint256 indexed epoch, uint256 globalAMPLSupply)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function DOMAIN_SEPARATOR() view returns (bytes32)", + "function EIP712_DOMAIN() view returns (bytes32)", + "function EIP712_REVISION() view returns (string)", + "function PERMIT_TYPEHASH() view returns (bytes32)", + "function allowance(address owner_, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address who) view returns (uint256)", + "function burnFrom(address who, uint256 xcAmpleAmount)", + "function controller() view returns (address)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function globalAMPLSupply() view returns (uint256)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string name, string symbol, uint256 globalAMPLSupply_)", + "function mint(address who, uint256 xcAmpleAmount)", + "function name() view returns (string)", + "function nonces(address who) view returns (uint256)", + "function owner() view returns (address)", + "function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)", + "function rebase(uint256 epoch, uint256 newGlobalAMPLSupply) returns (uint256)", + "function renounceOwnership()", + "function scaledBalanceOf(address who) view returns (uint256)", + "function scaledTotalSupply() pure returns (uint256)", + "function setController(address controller_)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferAll(address to) returns (bool)", + "function transferAllFrom(address from, address to) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferOwnership(address newOwner)" + ], + "hash": "0xd14fd701a190ab766181adfeb5e94b94011cf6628672521b2e789f3066f5623d", + "blockNumber": 6019298 + }, + "xcAmpleController": { + "address": "0xDFbE71D6D42284e9a28aA84304c4696dE0e89f99", + "abi": [ + "event GatewayBurn(address indexed bridgeGateway, address indexed depositor, uint256 xcAmpleAmount)", + "event GatewayMint(address indexed bridgeGateway, address indexed recipient, uint256 xcAmpleAmount)", + "event GatewayRebaseReported(address indexed bridgeGateway, uint256 indexed epoch, uint256 globalAMPLSupply, uint256 timestampSec)", + "event GatewayWhitelistUpdated(address indexed bridgeGateway, bool active)", + "event LogRebase(uint256 indexed epoch, int256 requestedSupplyAdjustment, uint256 timestampSec)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function addBridgeGateway(address bridgeGateway)", + "function burn(address depositor, uint256 xcAmpleAmount)", + "function globalAmpleforthEpoch() view returns (uint256)", + "function globalAmpleforthEpochAndAMPLSupply() view returns (uint256, uint256)", + "function initialize(address xcAmple_, uint256 globalAmpleforthEpoch_)", + "function lastRebaseTimestampSec() view returns (uint256)", + "function mint(address recipient, uint256 xcAmpleAmount)", + "function nextGlobalAMPLSupply() view returns (uint256)", + "function nextGlobalAmpleforthEpoch() view returns (uint256)", + "function owner() view returns (address)", + "function rebase()", + "function rebaseRelayer() view returns (address)", + "function removeBridgeGateway(address bridgeGateway)", + "function renounceOwnership()", + "function reportRebase(uint256 nextGlobalAmpleforthEpoch_, uint256 nextGlobalAMPLSupply_)", + "function setRebaseRelayer(address rebaseRelayer_)", + "function transferOwnership(address newOwner)", + "function whitelistedBridgeGateways(address) view returns (bool)", + "function xcAmple() view returns (address)" + ], + "hash": "0x3081fdb2f1146254f743c8c4940b7fd6e6356927f94918227a07fc1ed4da4f9c", + "blockNumber": 6019305 + }, + "rebaseRelayer": { + "address": "0xBf1D78dEC7f1D82CCF0c45ab7Ee362e72BeE6f39", + "abi": [ + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event TransactionFailed(address indexed destination, uint256 index, bytes data, bytes reason)", + "function addTransaction(address destination, uint256 value, bytes data)", + "function checkExecution(uint256 index) payable returns (bool)", + "function executeAll() payable returns (bool)", + "function owner() view returns (address)", + "function removeTransaction(uint256 index)", + "function renounceOwnership()", + "function setTransactionEnabled(uint256 index, bool enabled)", + "function totalValue() view returns (uint256)", + "function transactions(uint256) view returns (bool enabled, address destination, uint256 value, bytes data)", + "function transactionsSize() view returns (uint256)", + "function transferOwnership(address newOwner)" + ], + "hash": "0x48788898957d483844e03f54f7eb6c330f32d59503872c7864b8fc5469390c21", + "blockNumber": 6019311 + }, + "isBaseChain": false, + "arbitrum/transferGateway": { + "address": "0x75c00CF8B6C932AaD2E20fa238a57D389aE3842d", + "abi": [ + "constructor(address xcAmple_, address xcController_)", + "event DepositFinalized(address indexed l1Token, address indexed _from, address indexed _to, uint256 _amount)", + "event RebaseReportFinalized(uint256 indexed _exitNum)", + "event TxToL1(address indexed _from, address indexed _to, uint256 indexed _id, bytes _data)", + "event WithdrawalInitiated(address l1Token, address indexed _from, address indexed _to, uint256 indexed _l2ToL1Id, uint256 _exitNum, uint256 _amount)", + "event XCRebaseReportIn(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply, uint256 recordedGlobalAmpleforthEpoch, uint256 recordedGlobalAMPLSupply)", + "event XCTransferIn(address indexed senderInSourceChain, address indexed recipient, uint256 globalAMPLSupply, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "event XCTransferOut(address indexed sender, address indexed recipientInTargetChain, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "function ampl() view returns (address)", + "function calculateL2TokenAddress(address token) view returns (address)", + "function counterpartGateway() view returns (address)", + "function exitNum() view returns (uint256)", + "function finalizeInboundTransfer(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) payable", + "function getOutboundCalldata(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) view returns (bytes)", + "function initialize(address router_, address ampl_, address counterpartGateway_)", + "function outboundTransfer(address _l1Token, address _to, uint256 _amount, uint256, uint256, bytes _data) payable returns (bytes res)", + "function reportRebaseCommit(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply)", + "function router() view returns (address)", + "function xcAmple() view returns (address)", + "function xcController() view returns (address)" + ], + "hash": "0xb43520d64bc6ba1d1af688745608b7414e43457b484103f7f3f4a55c9bab2fe7", + "blockNumber": 6019546 + }, + "arbitrum/rebaseGateway": { + "address": "0x75c00CF8B6C932AaD2E20fa238a57D389aE3842d", + "abi": [ + "constructor(address xcAmple_, address xcController_)", + "event DepositFinalized(address indexed l1Token, address indexed _from, address indexed _to, uint256 _amount)", + "event RebaseReportFinalized(uint256 indexed _exitNum)", + "event TxToL1(address indexed _from, address indexed _to, uint256 indexed _id, bytes _data)", + "event WithdrawalInitiated(address l1Token, address indexed _from, address indexed _to, uint256 indexed _l2ToL1Id, uint256 _exitNum, uint256 _amount)", + "event XCRebaseReportIn(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply, uint256 recordedGlobalAmpleforthEpoch, uint256 recordedGlobalAMPLSupply)", + "event XCTransferIn(address indexed senderInSourceChain, address indexed recipient, uint256 globalAMPLSupply, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "event XCTransferOut(address indexed sender, address indexed recipientInTargetChain, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "function ampl() view returns (address)", + "function calculateL2TokenAddress(address token) view returns (address)", + "function counterpartGateway() view returns (address)", + "function exitNum() view returns (uint256)", + "function finalizeInboundTransfer(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) payable", + "function getOutboundCalldata(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) view returns (bytes)", + "function initialize(address router_, address ampl_, address counterpartGateway_)", + "function outboundTransfer(address _l1Token, address _to, uint256 _amount, uint256, uint256, bytes _data) payable returns (bytes res)", + "function reportRebaseCommit(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply)", + "function router() view returns (address)", + "function xcAmple() view returns (address)", + "function xcController() view returns (address)" + ], + "hash": "0xb43520d64bc6ba1d1af688745608b7414e43457b484103f7f3f4a55c9bab2fe7", + "blockNumber": 6019546 + } +} \ No newline at end of file diff --git a/sdk/deployments/dev3RinkebyBaseChain.json b/sdk/deployments/dev3RinkebyBaseChain.json new file mode 100644 index 0000000..dc7bf31 --- /dev/null +++ b/sdk/deployments/dev3RinkebyBaseChain.json @@ -0,0 +1,262 @@ +{ + "proxyAdmin": { + "address": "0x38fab7E342311cF384f76d1Ea31c4AFcc565c55c", + "abi": [ + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function changeProxyAdmin(address proxy, address newAdmin)", + "function getProxyAdmin(address proxy) view returns (address)", + "function getProxyImplementation(address proxy) view returns (address)", + "function isOwner() view returns (bool)", + "function owner() view returns (address)", + "function renounceOwnership()", + "function transferOwnership(address newOwner)", + "function upgrade(address proxy, address implementation)", + "function upgradeAndCall(address proxy, address implementation, bytes data) payable" + ], + "hash": "0x0c4d620b0220a581f617919b347f7a078f312bcc51c047a042b2a63fecb10835", + "blockNumber": 9535696 + }, + "ampl": { + "address": "0x244E12361f488adFa757E706466023673a96Fa3d", + "abi": [ + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event LogMonetaryPolicyUpdated(address monetaryPolicy)", + "event LogRebase(uint256 indexed epoch, uint256 totalSupply)", + "event OwnershipRenounced(address indexed previousOwner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "event Result(bool result, bytes reason)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "function DOMAIN_SEPARATOR() view returns (bytes32)", + "function EIP712_DOMAIN() view returns (bytes32)", + "function EIP712_REVISION() view returns (string)", + "function PERMIT_TYPEHASH() view returns (bytes32)", + "function allowance(address owner_, address spender) view returns (uint256)", + "function approve(address spender, uint256 value) returns (bool)", + "function balanceOf(address who) view returns (uint256)", + "function decimals() view returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function externalCall(address destination, bytes data, uint256 value) payable", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(string name, string symbol, uint8 decimals)", + "function initialize(address owner_)", + "function isArbitrumEnabled() view returns (uint8)", + "function isOwner() view returns (bool)", + "function monetaryPolicy() view returns (address)", + "function name() view returns (string)", + "function nonces(address who) view returns (uint256)", + "function owner() view returns (address)", + "function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)", + "function rebase(uint256 epoch, int256 supplyDelta) returns (uint256)", + "function renounceOwnership()", + "function scaledBalanceOf(address who) view returns (uint256)", + "function scaledTotalSupply() pure returns (uint256)", + "function setMonetaryPolicy(address monetaryPolicy_)", + "function symbol() view returns (string)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 value) returns (bool)", + "function transferAll(address to) returns (bool)", + "function transferAllFrom(address from, address to) returns (bool)", + "function transferFrom(address from, address to, uint256 value) returns (bool)", + "function transferOwnership(address newOwner)" + ], + "hash": "0x4dc164878c11e4bd6ba0986435d68a013dfb1dcf762ac2624db4632802b58aa0", + "blockNumber": 9535696 + }, + "policy": { + "address": "0x4964610919942c8680A0717b342c2A6176FE16b2", + "abi": [ + "event LogRebase(uint256 indexed epoch, uint256 exchangeRate, uint256 cpi, int256 requestedSupplyAdjustment, uint256 timestampSec)", + "event OwnershipRenounced(address indexed previousOwner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function cpiOracle() view returns (address)", + "function deviationThreshold() view returns (uint256)", + "function epoch() view returns (uint256)", + "function globalAmpleforthEpochAndAMPLSupply() view returns (uint256, uint256)", + "function inRebaseWindow() view returns (bool)", + "function initialize(address owner_, address uFrags_, uint256 baseCpi_)", + "function initialize(address sender)", + "function isOwner() view returns (bool)", + "function lastRebaseTimestampSec() view returns (uint256)", + "function marketOracle() view returns (address)", + "function minRebaseTimeIntervalSec() view returns (uint256)", + "function orchestrator() view returns (address)", + "function owner() view returns (address)", + "function rebase()", + "function rebaseLag() view returns (uint256)", + "function rebaseWindowLengthSec() view returns (uint256)", + "function rebaseWindowOffsetSec() view returns (uint256)", + "function renounceOwnership()", + "function setCpiOracle(address cpiOracle_)", + "function setDeviationThreshold(uint256 deviationThreshold_)", + "function setMarketOracle(address marketOracle_)", + "function setOrchestrator(address orchestrator_)", + "function setRebaseLag(uint256 rebaseLag_)", + "function setRebaseTimingParameters(uint256 minRebaseTimeIntervalSec_, uint256 rebaseWindowOffsetSec_, uint256 rebaseWindowLengthSec_)", + "function transferOwnership(address newOwner)", + "function uFrags() view returns (address)" + ], + "hash": "0xfbf40d4e2e276af206825e29bab48824a267fd9baec2822c60ab79321fdd4bc8", + "blockNumber": 9535712 + }, + "orchestrator": { + "address": "0x90dE686Ba9289A2978B23Bf199299A33eA3ef036", + "abi": [ + "constructor(address policy_)", + "event OwnershipRenounced(address indexed previousOwner)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function addTransaction(address destination, bytes data)", + "function initialize(address sender)", + "function isOwner() view returns (bool)", + "function owner() view returns (address)", + "function policy() view returns (address)", + "function rebase()", + "function removeTransaction(uint256 index)", + "function renounceOwnership()", + "function setTransactionEnabled(uint256 index, bool enabled)", + "function transactions(uint256) view returns (bool enabled, address destination, bytes data)", + "function transactionsSize() view returns (uint256)", + "function transferOwnership(address newOwner)" + ], + "hash": "0xe7bd741ac56bbbcaee274b1261f237864b537f2dfba5ac86ed696132fc72409d", + "blockNumber": 9535726 + }, + "rateOracle": { + "address": "0x7156F72425C0D6A729b0016F7DC1E00050f6DA6E", + "abi": [ + "function reportDelaySec() view returns (uint256)", + "function pushReport(uint256 payload)", + "function getData() returns (uint256, bool)", + "function addProvider(address provider)", + "function providers(uint256) view returns (address)", + "function renounceOwnership()", + "function removeProvider(address provider)", + "function owner() view returns (address)", + "function isOwner() view returns (bool)", + "function minimumProviders() view returns (uint256)", + "function purgeReports()", + "function setReportDelaySec(uint256 reportDelaySec_)", + "function providersSize() view returns (uint256)", + "function reportExpirationTimeSec() view returns (uint256)", + "function setMinimumProviders(uint256 minimumProviders_)", + "function providerReports(address, uint256) view returns (uint256 timestamp, uint256 payload)", + "function transferOwnership(address newOwner)", + "function setReportExpirationTimeSec(uint256 reportExpirationTimeSec_)", + "constructor(uint256 reportExpirationTimeSec_, uint256 reportDelaySec_, uint256 minimumProviders_)", + "event ProviderAdded(address provider)", + "event ProviderRemoved(address provider)", + "event ReportTimestampOutOfRange(address provider)", + "event ProviderReportPushed(address indexed provider, uint256 payload, uint256 timestamp)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)" + ], + "hash": "0x9f2e3ef3361cbce993f5dafc6bff2223164b6b75d61a842e721db1224577b3fc", + "blockNumber": 9535700 + }, + "cpiOracle": { + "address": "0x6e31D7Ea7176238392c07d58Fb9e3c6D78ae8910", + "abi": [ + "function reportDelaySec() view returns (uint256)", + "function pushReport(uint256 payload)", + "function getData() returns (uint256, bool)", + "function addProvider(address provider)", + "function providers(uint256) view returns (address)", + "function renounceOwnership()", + "function removeProvider(address provider)", + "function owner() view returns (address)", + "function isOwner() view returns (bool)", + "function minimumProviders() view returns (uint256)", + "function purgeReports()", + "function setReportDelaySec(uint256 reportDelaySec_)", + "function providersSize() view returns (uint256)", + "function reportExpirationTimeSec() view returns (uint256)", + "function setMinimumProviders(uint256 minimumProviders_)", + "function providerReports(address, uint256) view returns (uint256 timestamp, uint256 payload)", + "function transferOwnership(address newOwner)", + "function setReportExpirationTimeSec(uint256 reportExpirationTimeSec_)", + "constructor(uint256 reportExpirationTimeSec_, uint256 reportDelaySec_, uint256 minimumProviders_)", + "event ProviderAdded(address provider)", + "event ProviderRemoved(address provider)", + "event ReportTimestampOutOfRange(address provider)", + "event ProviderReportPushed(address indexed provider, uint256 payload, uint256 timestamp)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)" + ], + "hash": "0x62577b74d7b88b0a748651998d134af4de3cc692b95145430b24ff7fd7c9e721", + "blockNumber": 9535706 + }, + "isBaseChain": true, + "arbitrum/tokenVault": { + "address": "0x02C04C9DF6F994BFd54C66e770e5945f444A9526", + "abi": [ + "event GatewayLocked(address indexed bridgeGateway, address indexed token, address indexed depositor, uint256 amount)", + "event GatewayUnlocked(address indexed bridgeGateway, address indexed token, address indexed recipient, uint256 amount)", + "event GatewayWhitelistUpdated(address indexed bridgeGateway, bool active)", + "event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)", + "function addBridgeGateway(address bridgeGateway)", + "function lock(address token, address depositor, uint256 amount)", + "function owner() view returns (address)", + "function removeBridgeGateway(address bridgeGateway)", + "function renounceOwnership()", + "function totalLocked(address token) view returns (uint256)", + "function transferOwnership(address newOwner)", + "function unlock(address token, address recipient, uint256 amount)", + "function whitelistedBridgeGateways(address) view returns (bool)" + ], + "hash": "0x773e193e00f36636c7bb633e31e6acecc2b428b54f0543ee8c698be60110d7c1", + "blockNumber": 9535747 + }, + "arbitrum/transferGateway": { + "address": "0xbAb60bb39D6f086CA2e7e578fbF945E61a12cE3a", + "abi": [ + "constructor(address ampl_, address policy_, address vault_)", + "event DepositInitiated(address l1Token, address indexed _from, address indexed _to, uint256 indexed _sequenceNumber, uint256 _amount)", + "event RebaseReportInitiated(uint256 indexed _sequenceNumber)", + "event TxToL2(address indexed _from, address indexed _to, uint256 indexed _seqNum, bytes _data)", + "event WithdrawalFinalized(address l1Token, address indexed _from, address indexed _to, uint256 indexed _exitNum, uint256 _amount)", + "event XCRebaseReportOut(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply)", + "event XCTransferIn(address indexed senderInSourceChain, address indexed recipient, uint256 globalAMPLSupply, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "event XCTransferOut(address indexed sender, address indexed recipientInTargetChain, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "function ampl() view returns (address)", + "function calculateL2TokenAddress(address token) view returns (address)", + "function counterpartGateway() view returns (address)", + "function finalizeInboundTransfer(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) payable", + "function getOutboundCalldata(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) view returns (bytes)", + "function inbox() view returns (address)", + "function initialize(address inbox_, address router_, address xcAmple_, address counterpartGateway_)", + "function outboundTransfer(address _l1Token, address _to, uint256 _amount, uint256 _maxGas, uint256 _gasPriceBid, bytes _data) payable returns (bytes)", + "function policy() view returns (address)", + "function reportRebaseInit(uint256 _maxSubmissionCost, uint256 _maxGas, uint256 _gasPriceBid) payable returns (bytes)", + "function router() view returns (address)", + "function vault() view returns (address)", + "function xcAmple() view returns (address)" + ], + "hash": "0xbb5bda37bdd726212b9c9cc5c08045d8b4eeec3631d24ba4a3293b8f34362b54", + "blockNumber": 9535779 + }, + "arbitrum/rebaseGateway": { + "address": "0xbAb60bb39D6f086CA2e7e578fbF945E61a12cE3a", + "abi": [ + "constructor(address ampl_, address policy_, address vault_)", + "event DepositInitiated(address l1Token, address indexed _from, address indexed _to, uint256 indexed _sequenceNumber, uint256 _amount)", + "event RebaseReportInitiated(uint256 indexed _sequenceNumber)", + "event TxToL2(address indexed _from, address indexed _to, uint256 indexed _seqNum, bytes _data)", + "event WithdrawalFinalized(address l1Token, address indexed _from, address indexed _to, uint256 indexed _exitNum, uint256 _amount)", + "event XCRebaseReportOut(uint256 globalAmpleforthEpoch, uint256 globalAMPLSupply)", + "event XCTransferIn(address indexed senderInSourceChain, address indexed recipient, uint256 globalAMPLSupply, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "event XCTransferOut(address indexed sender, address indexed recipientInTargetChain, uint256 amount, uint256 recordedGlobalAMPLSupply)", + "function ampl() view returns (address)", + "function calculateL2TokenAddress(address token) view returns (address)", + "function counterpartGateway() view returns (address)", + "function finalizeInboundTransfer(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) payable", + "function getOutboundCalldata(address _l1Token, address _from, address _to, uint256 _amount, bytes _data) view returns (bytes)", + "function inbox() view returns (address)", + "function initialize(address inbox_, address router_, address xcAmple_, address counterpartGateway_)", + "function outboundTransfer(address _l1Token, address _to, uint256 _amount, uint256 _maxGas, uint256 _gasPriceBid, bytes _data) payable returns (bytes)", + "function policy() view returns (address)", + "function reportRebaseInit(uint256 _maxSubmissionCost, uint256 _maxGas, uint256 _gasPriceBid) payable returns (bytes)", + "function router() view returns (address)", + "function vault() view returns (address)", + "function xcAmple() view returns (address)" + ], + "hash": "0xbb5bda37bdd726212b9c9cc5c08045d8b4eeec3631d24ba4a3293b8f34362b54", + "blockNumber": 9535779 + } +} \ No newline at end of file diff --git a/tasks/deploy/arbitrum.js b/tasks/deploy/arbitrum.js new file mode 100644 index 0000000..bccbcc5 --- /dev/null +++ b/tasks/deploy/arbitrum.js @@ -0,0 +1,309 @@ +const { Bridge } = require('arb-ts'); +const { hexDataLength } = require('@ethersproject/bytes'); +const { + txTask, + loadSignerSync, + etherscanVerify, +} = require('../../helpers/tasks'); +const { getEthersProvider } = require('../../helpers/utils'); +const { + getDeployedContractInstance, + readDeploymentData, + writeDeploymentData, + writeBulkDeploymentData, + getCompiledContractFactory, +} = require('../../helpers/contracts'); + +const { + deployArbitrumBaseChainGatewayContracts, + deployArbitrumSatelliteChainGatewayContracts, +} = require('../../helpers/deploy'); + +txTask( + 'deploy:arbitrum_base_chain', + 'Deploys the chain gateway on the base chain', +).setAction(async (args, hre) => { + const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; + if (txParams.gasPrice == 0) { + txParams.gasPrice = await hre.ethers.provider.getGasPrice(); + } + + const deployer = loadSignerSync(args, hre.ethers.provider); + const deployerAddress = await deployer.getAddress(); + const chainAddresses = await readDeploymentData(hre.network.name); + + console.log('------------------------------------------------------------'); + console.log('Deploying contracts on base-chain'); + console.log('Deployer:', deployerAddress); + console.log(txParams); + + const ampl = await getDeployedContractInstance( + hre.network.name, + 'ampl', + hre.ethers.provider, + ); + + const policy = await getDeployedContractInstance( + hre.network.name, + 'policy', + hre.ethers.provider, + ); + + const tokenVault = await getDeployedContractInstance( + hre.network.name, + 'arbitrum/tokenVault', + hre.ethers.provider, + ); + + const { gateway } = await deployArbitrumBaseChainGatewayContracts( + { + ampl, + policy, + tokenVault, + }, + hre.ethers, + deployer, + txParams, + 5, + ); + + console.log('------------------------------------------------------------'); + console.log('Writing data to file'); + await writeDeploymentData( + hre.network.name, + 'arbitrum/transferGateway', + gateway, + ); + await writeDeploymentData( + hre.network.name, + 'arbitrum/rebaseGateway', + gateway, + ); + + console.log('------------------------------------------------------------'); + console.log('Verify on etherscan'); + await etherscanVerify(hre, gateway.address, [ + ampl.address, + policy.address, + tokenVault.address, + ]); +}); + +txTask( + 'deploy:arbitrum_satellite_chain', + 'Deploys the chain gateway contract and connects it with arbitrum bridge and the cross-chain ample token', +).setAction(async (args, hre) => { + // NOTE: gas estimation is off on arbitrum + // const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; + // if (txParams.gasPrice == 0) { + // txParams.gasPrice = await hre.ethers.provider.getGasPrice(); + // } + const txParams = {}; + const deployer = loadSignerSync(args, hre.ethers.provider); + const deployerAddress = await deployer.getAddress(); + const chainAddresses = await readDeploymentData(hre.network.name); + + console.log('------------------------------------------------------------'); + console.log('Deploying contracts on satellite-chain'); + console.log('Deployer:', deployerAddress); + console.log(txParams); + + const xcAmple = await getDeployedContractInstance( + hre.network.name, + 'xcAmple', + hre.ethers.provider, + ); + + const xcAmpleController = await getDeployedContractInstance( + hre.network.name, + 'xcAmpleController', + hre.ethers.provider, + ); + + const { gateway } = await deployArbitrumSatelliteChainGatewayContracts( + { xcAmple, xcAmpleController }, + hre.ethers, + deployer, + txParams, + 5, + ); + + console.log('------------------------------------------------------------'); + console.log('Writing data to file'); + await writeDeploymentData( + hre.network.name, + 'arbitrum/transferGateway', + gateway, + ); + await writeDeploymentData( + hre.network.name, + 'arbitrum/rebaseGateway', + gateway, + ); + + console.log('------------------------------------------------------------'); + console.log('Verify on etherscan'); + await etherscanVerify(hre, gateway.address, [ + xcAmple.address, + xcAmpleController.address, + ]); +}); + +txTask('deploy:arbitrum_connection', 'Connects the two gateway contracts') + .addParam('baseChainNetwork', 'The network name of the base chain network') + .addParam( + 'satChainNetwork', + 'The network name of the satellite chain network', + ) + .addParam('baseInbox', 'The address of the arbitrum inbox on the base chain') + .addParam( + 'baseRouter', + 'The address of the arbitrum router contract on the base chain', + ) + .addParam( + 'satRouter', + 'The address of the arbitrum router contract on the satellite chain', + ) + .setAction(async (args, hre) => { + const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; + if (txParams.gasPrice == 0) { + txParams.gasPrice = await hre.ethers.provider.getGasPrice(); + } + + const baseChainProvider = getEthersProvider(args.baseChainNetwork); + const satChainProvider = getEthersProvider(args.satChainNetwork); + + const baseChainSigner = loadSignerSync(args, baseChainProvider); + const satChainSigner = loadSignerSync(args, satChainProvider); + + const baseGateway = await getDeployedContractInstance( + args.baseChainNetwork, + 'arbitrum/rebaseGateway', + baseChainProvider, + ); + const ampl = await getDeployedContractInstance( + args.baseChainNetwork, + 'ampl', + baseChainProvider, + ); + + const satGateway = await getDeployedContractInstance( + args.satChainNetwork, + 'arbitrum/rebaseGateway', + satChainProvider, + ); + const xcAmple = await getDeployedContractInstance( + args.satChainNetwork, + 'xcAmple', + satChainProvider, + ); + + await ( + await baseGateway + .connect(baseChainSigner) + .initialize( + args.baseInbox, + args.baseRouter, + xcAmple.address, + satGateway.address, + txParams, + ) + ).wait(2); + + // NOTE: gas estimation is off on arbitrum + await ( + await satGateway + .connect(satChainSigner) + .initialize(args.satRouter, ampl.address, baseGateway.address, {}) + ).wait(2); + }); + +txTask('deploy:arbitrum_register_testnet', 'Registers the token to the router') + .addParam('baseChainNetwork', 'The network name of the base chain network') + .addParam( + 'satChainNetwork', + 'The network name of the satellite chain network', + ) + .addParam( + 'baseRouter', + 'The address of the arbitrum router contract on the base chain', + ) + .setAction(async (args, hre) => { + const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; + if (txParams.gasPrice == 0) { + txParams.gasPrice = await hre.ethers.provider.getGasPrice(); + } + + const baseChainProvider = getEthersProvider(args.baseChainNetwork); + const satChainProvider = getEthersProvider(args.satChainNetwork); + + const baseChainSigner = loadSignerSync(args, baseChainProvider); + const satChainSigner = loadSignerSync(args, satChainProvider); + + const routerABI = [ + { + inputs: [ + { internalType: 'address', name: '_gateway', type: 'address' }, + { internalType: 'uint256', name: '_maxGas', type: 'uint256' }, + { internalType: 'uint256', name: '_gasPriceBid', type: 'uint256' }, + { + internalType: 'uint256', + name: '_maxSubmissionCost', + type: 'uint256', + }, + ], + name: 'setGateway', + outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }], + stateMutability: 'payable', + type: 'function', + }, + ]; + const router = new ethers.Contract( + args.baseRouter, + routerABI, + hre.ethers.provider, + ); + + const ampl = await getDeployedContractInstance( + args.baseChainNetwork, + 'ampl', + baseChainProvider, + ); + + const baseGateway = await getDeployedContractInstance( + args.baseChainNetwork, + 'arbitrum/transferGateway', + baseChainProvider, + ); + + const arb = await Bridge.init(baseChainSigner, satChainSigner); + const fnDataBytes = ethers.utils.defaultAbiCoder.encode( + ['address', 'uint256', 'uint256', 'uint256'], + [baseGateway.address, '0', '0', '0'], + ); + const fnBytesLength = hexDataLength(fnDataBytes) + 4; + const [_submissionPriceWei, nextUpdateTimestamp] = + await arb.l2Bridge.getTxnSubmissionPrice(fnBytesLength); + const submissionPriceWei = _submissionPriceWei.mul(5); // buffer can be reduced + const maxGas = 500000; + const gasPriceBid = await satChainProvider.getGasPrice(); + const callValue = submissionPriceWei.add(gasPriceBid.mul(maxGas)); + + const ptx = await router.populateTransaction.setGateway( + baseGateway.address, + maxGas, + gasPriceBid, + submissionPriceWei, + ); + + const tx = await ampl + .connect(baseChainSigner) + .externalCall(ptx.to, ptx.data, callValue, { + ...txParams, + value: callValue, + }); + + console.log(tx.hash); + + await tx.wait(2); + }); diff --git a/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js b/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js new file mode 100644 index 0000000..c219995 --- /dev/null +++ b/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js @@ -0,0 +1,392 @@ +const { ethers } = require('hardhat'); +const { expect } = require('chai'); + +let accounts, + deployer, + depositor, + depositorAddress, + recipient, + recipientAddress, + router, + routerAddress, + counterpartGateway, + counterpartAddress, + inbox, + ampl, + policy, + vault, + xcAmple, + gateway; + +// l2 gas paramters +const maxSubmissionCost = 1; +const maxGas = 500000; +const gasPriceBid = 0; + +async function setupContracts() { + accounts = await ethers.getSigners(); + deployer = accounts[0]; + depositor = deployer; + depositorAddress = await deployer.getAddress(); + recipient = accounts[1]; + recipientAddress = await recipient.getAddress(); + router = accounts[2]; + routerAddress = await router.getAddress(); + counterpartGateway = accounts[3]; + counterpartAddress = await counterpartGateway.getAddress(); + + inbox = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockArbitrum.sol:MockArbitrumInbox', + ) + ) + .connect(deployer) + .deploy(); + + const uFragmentsFactory = await ethers.getContractFactory( + 'uFragments/contracts/UFragments.sol:UFragments', + ); + ampl = await upgrades.deployProxy( + uFragmentsFactory.connect(deployer), + [depositorAddress], + { initializer: 'initialize(address)' }, + ); + await ampl.setMonetaryPolicy(depositorAddress); + + policy = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockAmpleforth.sol:MockAmpleforth', + ) + ) + .connect(deployer) + .deploy(); + vault = await ( + await ethers.getContractFactory('contracts/_mocks/MockVault.sol:MockVault') + ) + .connect(deployer) + .deploy(); + + xcAmple = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockXCAmple.sol:MockXCAmple', + ) + ) + .connect(deployer) + .deploy(); + + gateway = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockArbitrum.sol:MockAMPLArbitrumGateway', + ) + ) + .connect(deployer) + .deploy(ampl.address, policy.address, vault.address); + + await gateway.initialize( + inbox.address, + routerAddress, + xcAmple.address, + counterpartAddress, + ); + await inbox.setL2ToL1Sender(counterpartAddress); + + await policy.updateEpoch(1); + await ampl.rebase(1, '-49999999999950000'); +} + +describe('AMPLArbitrumGateway:Initialization', () => { + before('setup AMPLArbitrumGateway contract', setupContracts); + + it('should initialize the references', async function () { + expect(await gateway.ampl()).to.eq(ampl.address); + expect(await gateway.policy()).to.eq(policy.address); + expect(await gateway.vault()).to.eq(vault.address); + expect(await gateway.inbox()).to.eq(inbox.address); + expect(await gateway.router()).to.eq(routerAddress); + expect(await gateway.counterpartGateway()).to.eq(counterpartAddress); + expect(await gateway.xcAmple()).to.eq(xcAmple.address); + expect(await gateway.calculateL2TokenAddress(ampl.address)).to.eq( + xcAmple.address, + ); + }); +}); + +describe('AMPLArbitrumGateway:reportRebaseInit', () => { + let r, seqNumber; + before('setup AMPLArbitrumGateway contract', async function () { + await setupContracts(); + seqNumber = await gateway + .connect(depositor) + .callStatic.reportRebaseInit(maxSubmissionCost, maxGas, gasPriceBid); + r = gateway + .connect(depositor) + .reportRebaseInit(maxSubmissionCost, maxGas, gasPriceBid); + }); + + it('should emit XCRebaseReportOut', async function () { + await expect(r).to.emit(gateway, 'XCRebaseReportOut').withArgs(1, 50000); + }); + + it('should emit RebaseReportInitiated', async function () { + await expect(r) + .to.emit(gateway, 'RebaseReportInitiated') + .withArgs(seqNumber); + }); +}); + +describe('AMPLArbitrumGateway:outboundTransfer:accessControl', () => { + before('setup AMPLArbitrumGateway contract', setupContracts); + + it('should NOT be callable by non-router', async function () { + await expect( + gateway + .connect(depositor) + .outboundTransfer( + ampl.address, + recipientAddress, + 1001, + maxGas, + gasPriceBid, + [], + ), + ).to.be.revertedWith('AMPLArbitrumGateway: NOT_FROM_ROUTER'); + }); + + it('should NOT be callable for other tokens', async function () { + await expect( + gateway + .connect(router) + .outboundTransfer( + xcAmple.address, + recipientAddress, + 1001, + maxGas, + gasPriceBid, + [], + ), + ).to.be.revertedWith('AMPLArbitrumGateway: ONLY_AMPL_ALLOWED'); + }); + + it('should NOT allow extra data', async function () { + let data = ethers.utils.defaultAbiCoder.encode( + ['uint256', 'bytes'], + [ + maxSubmissionCost, + ethers.utils.defaultAbiCoder.encode(['uint256'], ['123']), + ], + ); + + data = ethers.utils.defaultAbiCoder.encode( + ['address', 'bytes'], + [depositorAddress, data], + ); + + await expect( + gateway + .connect(router) + .outboundTransfer( + ampl.address, + recipientAddress, + 1001, + maxGas, + gasPriceBid, + data, + ), + ).to.be.revertedWith('AMPLArbitrumGateway: EXTRA_DATA_DISABLED'); + }); +}); + +describe('AMPLArbitrumGateway:outboundTransfer', () => { + let r, seqNumber; + before('setup AMPLArbitrumGateway contract', async function () { + await setupContracts(); + + // router usually does this encoding part + let data = ethers.utils.defaultAbiCoder.encode( + ['uint256', 'bytes'], + [maxSubmissionCost, '0x'], + ); + + data = ethers.utils.defaultAbiCoder.encode( + ['address', 'bytes'], + [depositorAddress, data], + ); + + await ampl.connect(depositor).approve(gateway.address, 1001); + + seqNumber = await gateway + .connect(router) + .callStatic.outboundTransfer( + ampl.address, + recipientAddress, + 1001, + maxGas, + gasPriceBid, + data, + ); + r = gateway + .connect(router) + .outboundTransfer( + ampl.address, + recipientAddress, + 1001, + maxGas, + gasPriceBid, + data, + ); + }); + + it('should emit XCTransferOut', async function () { + await expect(r) + .to.emit(gateway, 'XCTransferOut') + .withArgs(depositorAddress, ethers.constants.AddressZero, 1001, 50000); + }); + + it('should emit DepositInitiated', async function () { + await expect(r) + .to.emit(gateway, 'DepositInitiated') + .withArgs( + ampl.address, + depositorAddress, + recipientAddress, + seqNumber, + 1001, + ); + }); + + it('should lock into vault', async function () { + await expect(r) + .to.emit(vault, 'Lock') + .withArgs(ampl.address, gateway.address, 1001); + }); +}); + +describe('AMPLArbitrumGateway:finalizeInboundTransfer:accessControl', () => { + before('setup AMPLArbitrumGateway contract', setupContracts); + + it('should revert when called by non counterpart', async function () { + const r = gateway + .connect(deployer) + .finalizeInboundTransfer( + ampl.address, + depositorAddress, + recipientAddress, + 1001, + [], + ); + await expect(r).to.be.revertedWith( + 'AMPLArbitrumGateway: ONLY_COUNTERPART_GATEWAY', + ); + }); +}); + +describe('AMPLArbitrumGateway:finalizeInboundTransfer', () => { + let r, seqNumber; + + describe('when supply is out of sync', function () { + before('setup AMPLArbitrumGateway contract', async function () { + await setupContracts(); + + const exitNum = 123213213; + const withdrawData = ethers.utils.defaultAbiCoder.encode( + ['uint256', 'uint256'], + [exitNum, 50000], + ); + + await policy.updateEpoch(2); + await ampl.rebase(2, 50000); + + r = gateway + .connect(counterpartGateway) + .finalizeInboundTransfer( + ampl.address, + depositorAddress, + recipientAddress, + 1001, + withdrawData, + ); + }); + + it('should emit XCTransferIn', async function () { + await expect(r) + .to.emit(gateway, 'XCTransferIn') + .withArgs( + ethers.constants.AddressZero, + recipientAddress, + 50000, + 1001, + 100000, + ); + }); + + it('should emit WithdrawalFinalized', async function () { + await expect(r) + .to.emit(gateway, 'WithdrawalFinalized') + .withArgs( + ampl.address, + depositorAddress, + recipientAddress, + 123213213, + 2002, + ); + }); + + it('should unlock from vault', async function () { + await expect(r) + .to.emit(vault, 'Unlock') + .withArgs(ampl.address, recipientAddress, 2002); + }); + }); + + describe('when supply is in sync', function () { + before('setup AMPLArbitrumGateway contract', async function () { + await setupContracts(); + + const exitNum = 89324; + const withdrawData = ethers.utils.defaultAbiCoder.encode( + ['uint256', 'uint256'], + [exitNum, 50000], + ); + + r = gateway + .connect(counterpartGateway) + .finalizeInboundTransfer( + ampl.address, + depositorAddress, + recipientAddress, + 1001, + withdrawData, + ); + }); + + it('should emit XCTransferIn', async function () { + await expect(r) + .to.emit(gateway, 'XCTransferIn') + .withArgs( + ethers.constants.AddressZero, + recipientAddress, + 50000, + 1001, + 50000, + ); + }); + + it('should emit WithdrawalFinalized', async function () { + await expect(r) + .to.emit(gateway, 'WithdrawalFinalized') + .withArgs( + ampl.address, + depositorAddress, + recipientAddress, + 89324, + 1001, + ); + }); + + it('should unlock from vault', async function () { + await expect(r) + .to.emit(vault, 'Unlock') + .withArgs(ampl.address, recipientAddress, 1001); + }); + }); +}); diff --git a/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js b/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js new file mode 100644 index 0000000..ad3dc81 --- /dev/null +++ b/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js @@ -0,0 +1,320 @@ +const { ethers } = require('hardhat'); +const { expect } = require('chai'); + +let accounts, + deployer, + depositor, + depositorAddress, + recipient, + recipientAddress, + router, + routerAddress, + counterpartGateway, + counterpartAddress, + ampl, + xcAmple, + xcController, + gateway; + +async function setupContracts() { + accounts = await ethers.getSigners(); + deployer = accounts[0]; + depositor = deployer; + depositorAddress = await deployer.getAddress(); + recipient = accounts[1]; + recipientAddress = await recipient.getAddress(); + router = accounts[2]; + routerAddress = await router.getAddress(); + counterpartGateway = accounts[3]; + counterpartAddress = await counterpartGateway.getAddress(); + + xcAmple = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockXCAmple.sol:MockXCAmple', + ) + ) + .connect(deployer) + .deploy(); + xcController = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockXCAmpleController.sol:MockXCAmpleController', + ) + ) + .connect(deployer) + .deploy(); + + ampl = await ( + await ethers.getContractFactory('contracts/_mocks/MockAmpl.sol:MockAmpl') + ) + .connect(deployer) + .deploy(); + + gateway = await ( + await ethers.getContractFactory( + 'contracts/_mocks/MockArbitrum.sol:MockArbitrumXCAmpleGateway', + ) + ) + .connect(deployer) + .deploy(xcAmple.address, xcController.address); + + await gateway.initialize(routerAddress, ampl.address, counterpartAddress); + + await ampl.updateTotalSupply(50000); + await xcController.updateAMPLEpoch(1); + await xcAmple.updateGlobalAMPLSupply(50000); +} + +describe('ArbitrumXCAmpleGateway:Initialization', () => { + before('setup ArbitrumXCAmpleGateway contract', setupContracts); + + it('should initialize the references', async function () { + expect(await gateway.xcAmple()).to.eq(xcAmple.address); + expect(await gateway.xcController()).to.eq(xcController.address); + expect(await gateway.ampl()).to.eq(ampl.address); + expect(await gateway.router()).to.eq(routerAddress); + expect(await gateway.counterpartGateway()).to.eq(counterpartAddress); + }); +}); + +describe('ArbitrumXCAmpleGateway:reportRebaseCommit:accessControl', () => { + before('setup ArbitrumXCAmpleGateway contract', setupContracts); + + it('should NOT be callable by non gateway', async function () { + await expect( + gateway.connect(deployer).reportRebaseCommit(1, 50000), + ).to.be.revertedWith('ArbitrumXCAmpleGateway: ONLY_COUNTERPART_GATEWAY'); + }); +}); + +describe('ArbitrumXCAmpleGateway:reportRebaseCommit', () => { + before('setup ArbitrumXCAmpleGateway contract', setupContracts); + + describe('when on-chain supply is different', async function () { + it('should emit XCRebaseReportIn', async function () { + await expect( + gateway.connect(counterpartGateway).reportRebaseCommit(2, 100000), + ) + .to.emit(gateway, 'XCRebaseReportIn') + .withArgs(2, 100000, 1, 50000); + + await expect( + gateway.connect(counterpartGateway).reportRebaseCommit(3, 40000), + ) + .to.emit(gateway, 'XCRebaseReportIn') + .withArgs(3, 40000, 1, 50000); + }); + }); + + describe('when on-chain supply is the same', async function () { + it('should emit XCRebaseReportIn', async function () { + await expect( + gateway.connect(counterpartGateway).reportRebaseCommit(2, 50000), + ) + .to.emit(gateway, 'XCRebaseReportIn') + .withArgs(2, 50000, 1, 50000); + }); + }); +}); + +describe('ArbitrumXCAmpleGateway:outboundTransfer:accessControl', () => { + before('setup ArbitrumXCAmpleGateway contract', setupContracts); + + it('should NOT be callable by non-gateway', async function () { + await expect( + gateway + .connect(depositor) + .outboundTransfer(ampl.address, recipientAddress, 1001, 0, 0, []), + ).to.be.revertedWith('ArbitrumXCAmpleGateway: NOT_FROM_ROUTER'); + }); + + it('should NOT be callable for other tokens', async function () { + await expect( + gateway + .connect(router) + .outboundTransfer(xcAmple.address, recipientAddress, 1001, 0, 0, []), + ).to.be.revertedWith('ArbitrumXCAmpleGateway: ONLY_AMPL_ALLOWED'); + }); + + it('should NOT allow extra data', async function () { + const data = ethers.utils.defaultAbiCoder.encode( + ['address', 'bytes'], + [depositorAddress, '0x01'], + ); + + await expect( + gateway + .connect(router) + .outboundTransfer(ampl.address, recipientAddress, 1001, 0, 0, data), + ).to.be.revertedWith('ArbitrumXCAmpleGateway: EXTRA_DATA_DISABLED'); + }); +}); + +describe('ArbitrumXCAmpleGateway:outboundTransfer', () => { + let r, seqNumber, exitNum; + before('setup ArbitrumXCAmpleGateway contract', async function () { + await setupContracts(); + + // router usually does this encoding part + const data = ethers.utils.defaultAbiCoder.encode( + ['address', 'bytes'], + [depositorAddress, '0x'], + ); + + exitNum = await gateway.exitNum(); + + seqNumber = await gateway + .connect(router) + .callStatic.outboundTransfer( + ampl.address, + recipientAddress, + 1001, + 0, + 0, + data, + ); + + r = gateway + .connect(router) + .outboundTransfer(ampl.address, recipientAddress, 1001, 0, 0, data); + }); + + it('should emit XCTransferOut', async function () { + await expect(r) + .to.emit(gateway, 'XCTransferOut') + .withArgs(depositorAddress, ethers.constants.AddressZero, 1001, 50000); + }); + + it('should emit WithdrawalInitiated', async function () { + await expect(r) + .to.emit(gateway, 'WithdrawalInitiated') + .withArgs( + ampl.address, + depositorAddress, + recipientAddress, + seqNumber, + exitNum, + 1001, + ); + }); + + it('should increment exitNum', async function () { + expect(await gateway.exitNum()).to.eq(exitNum.add(1)); + }); + + it('should burn xcAmples', async function () { + await expect(r) + .to.emit(xcController, 'Burn') + .withArgs(depositorAddress, 1001); + }); +}); + +describe('ArbitrumXCAmpleGateway:finalizeInboundTransfer:accessControl', () => { + before('setup ArbitrumXCAmpleGateway contract', setupContracts); + + it('should revert when called by non counterpart', async function () { + const r = gateway + .connect(deployer) + .finalizeInboundTransfer( + ampl.address, + depositorAddress, + recipientAddress, + 1001, + [], + ); + await expect(r).to.be.revertedWith( + 'ArbitrumXCAmpleGateway: ONLY_COUNTERPART_GATEWAY', + ); + }); +}); + +describe('ArbitrumXCAmpleGateway:finalizeInboundTransfer', () => { + let r, seqNumber; + + describe('when supply is out of sync', function () { + before('setup ArbitrumXCAmpleGateway contract', async function () { + await setupContracts(); + + const exitNum = 0; + const data = ethers.utils.defaultAbiCoder.encode(['uint256'], [50000]); + + await xcAmple.updateGlobalAMPLSupply(100000); + + r = gateway + .connect(counterpartGateway) + .finalizeInboundTransfer( + ampl.address, + depositorAddress, + recipientAddress, + 1001, + data, + ); + }); + + it('should emit XCTransferIn', async function () { + await expect(r) + .to.emit(gateway, 'XCTransferIn') + .withArgs( + ethers.constants.AddressZero, + recipientAddress, + 50000, + 2002, + 100000, + ); + }); + + it('should emit DepositFinalized', async function () { + await expect(r) + .to.emit(gateway, 'DepositFinalized') + .withArgs(ampl.address, depositorAddress, recipientAddress, 2002); + }); + + it('should mint', async function () { + await expect(r) + .to.emit(xcController, 'Mint') + .withArgs(recipientAddress, 2002); + }); + }); + + describe('when supply is in sync', function () { + before('setup ArbitrumXCAmpleGateway contract', async function () { + await setupContracts(); + + const exitNum = 0; + const data = ethers.utils.defaultAbiCoder.encode(['uint256'], [50000]); + + r = gateway + .connect(counterpartGateway) + .finalizeInboundTransfer( + ampl.address, + depositorAddress, + recipientAddress, + 1001, + data, + ); + }); + + it('should emit XCTransferIn', async function () { + await expect(r) + .to.emit(gateway, 'XCTransferIn') + .withArgs( + ethers.constants.AddressZero, + recipientAddress, + 50000, + 1001, + 50000, + ); + }); + + it('should emit DepositFinalized', async function () { + await expect(r) + .to.emit(gateway, 'DepositFinalized') + .withArgs(ampl.address, depositorAddress, recipientAddress, 1001); + }); + + it('should mint', async function () { + await expect(r) + .to.emit(xcController, 'Mint') + .withArgs(recipientAddress, 1001); + }); + }); +}); From 9078653b789d21a13662bbeec1790e8aa80a81e9 Mon Sep 17 00:00:00 2001 From: aalavandhan1984 Date: Tue, 2 Nov 2021 15:13:15 -0400 Subject: [PATCH 05/13] fixed rebase error --- helpers/contracts.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/helpers/contracts.js b/helpers/contracts.js index 5f9227b..696d795 100644 --- a/helpers/contracts.js +++ b/helpers/contracts.js @@ -55,7 +55,7 @@ const getCompiledContractFactory = (ethers, contract) => { ); }; -const deployContract = async (ethers, contractName, signer, args, txParams) => { +const deployContract = async (ethers, contractName, signer, args, txParams, waitBlocks=0) => { // console.log('Deploying', contractName); const Factory = await getCompiledContractFactory(ethers, contractName); const contract = await Factory.connect(signer).deploy(...args, txParams); @@ -77,6 +77,7 @@ const deployProxyContract = async ( args, initializerDef, txParams, + waitBlocks=0 ) => { // console.log('Deploying proxy', contractName); const ProxyAdminFactory = await getCompiledContractFactory( From fe6032bd6295ca4a22c6e52f84dac738b4908e39 Mon Sep 17 00:00:00 2001 From: aalavandhan1984 Date: Tue, 9 Nov 2021 15:28:12 -0500 Subject: [PATCH 06/13] minor updates --- sdk/deployments/dev3RinkebyBaseChain.json | 9 +++++++++ tasks/info/ampl.js | 8 ++++++++ tasks/ops/rebase.js | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/sdk/deployments/dev3RinkebyBaseChain.json b/sdk/deployments/dev3RinkebyBaseChain.json index dc7bf31..56c236a 100644 --- a/sdk/deployments/dev3RinkebyBaseChain.json +++ b/sdk/deployments/dev3RinkebyBaseChain.json @@ -258,5 +258,14 @@ ], "hash": "0xbb5bda37bdd726212b9c9cc5c08045d8b4eeec3631d24ba4a3293b8f34362b54", "blockNumber": 9535779 + }, + "batchRebaseReporter": { + "address": "0x9b8a5d60567C342DFF24cA04fCab64e41d518b1C", + "abi": [ + "event TransactionFailed(address indexed destination, uint256 index, bytes data, bytes reason)", + "function executeAll(address[] destinations, bytes[] data, uint256[] values) payable returns (bool)" + ], + "hash": "0x5478a4b326b9472b1e9c64350ada1e0b381c455efb2e6ffe03437848b9d1624f", + "blockNumber": 9612686 } } \ No newline at end of file diff --git a/tasks/info/ampl.js b/tasks/info/ampl.js index 8d27c6f..3a9f39d 100644 --- a/tasks/info/ampl.js +++ b/tasks/info/ampl.js @@ -253,6 +253,14 @@ task( 'XCAmpleController:totalSupply', toAmplFloatingPt(globalAMPLSupply), ); + console.log( + 'XCAmpleController:nextGlobalAmpleforthEpoch', + (await xcAmpleController.nextGlobalAmpleforthEpoch()).toString(), + ); + console.log( + 'XCAmpleController:nextGlobalAMPLSupply', + toAmplFloatingPt(await xcAmpleController.nextGlobalAMPLSupply()), + ); console.log('XCAmpleController:gatewayWhitelist', gatewayWhitelist); console.log( 'XCAmpleController:rebaseRelayer', diff --git a/tasks/ops/rebase.js b/tasks/ops/rebase.js index 8cf1667..49abb7f 100644 --- a/tasks/ops/rebase.js +++ b/tasks/ops/rebase.js @@ -201,7 +201,7 @@ txTask( const [_submissionPriceWei, nextUpdateTimestamp] = await arb.l2Bridge.getTxnSubmissionPrice(fnBytesLength); const submissionPriceWei = _submissionPriceWei.mul(5); // buffer can be reduced - const maxGas = 500000; + const maxGas = 200000; const gasPriceBid = await satChainProvider.getGasPrice(); const callValue = submissionPriceWei.add(gasPriceBid.mul(maxGas)); txParams.value = callValue; From b6d5e49dd9705fcedb41cc20baf8496dff9bcbdb Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Tue, 7 Dec 2021 11:10:48 -0500 Subject: [PATCH 07/13] updated yarn lock --- yarn.lock | 1433 +++++++++++++++++++++++++++-------------------------- 1 file changed, 733 insertions(+), 700 deletions(-) diff --git a/yarn.lock b/yarn.lock index b41469b..6f72ad4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,23 +3,23 @@ "@babel/code-frame@^7.0.0": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" - integrity sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: - "@babel/highlight" "^7.14.5" + "@babel/highlight" "^7.16.0" -"@babel/helper-validator-identifier@^7.14.5": +"@babel/helper-validator-identifier@^7.15.7": version "7.15.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== -"@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== +"@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== dependencies: - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" chalk "^2.0.0" js-tokens "^4.0.0" @@ -92,38 +92,37 @@ patch-package "^6.2.2" postinstall-postinstall "^2.1.0" -"@ethereumjs/block@^3.4.0", "@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.5.1": - version "3.5.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.5.1.tgz#59737d393503249aa750c37dfc83896234f4e175" - integrity sha512-MoY9bHKABOBK6BW0v1N1Oc0Cve4x/giX67M3TtrVBUsKQTj2eznLGKpydoitxWSZ+WgKKSVhfRMzbCGRwk7T5w== +"@ethereumjs/block@^3.4.0", "@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.6.0.tgz#5cf89ea748607597a3f8b038abc986e4ac0b05db" + integrity sha512-dqLo1LtsLG+Oelu5S5tWUDG0pah3QUwV5TJZy2cm19BXDr4ka/S9XBSgao0i09gTcuPlovlHgcs6d7EZ37urjQ== dependencies: - "@ethereumjs/common" "^2.5.0" - "@ethereumjs/tx" "^3.3.1" - ethereumjs-util "^7.1.1" - merkle-patricia-tree "^4.2.1" + "@ethereumjs/common" "^2.6.0" + "@ethereumjs/tx" "^3.4.0" + ethereumjs-util "^7.1.3" + merkle-patricia-tree "^4.2.2" -"@ethereumjs/blockchain@^5.4.0", "@ethereumjs/blockchain@^5.4.1": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.4.2.tgz#5074e0a0157818762a5f5175ea0bd93c5455fe32" - integrity sha512-AOAAwz/lw2lciG9gf5wHi7M/qknraXXnLR66lYgbQ04qfyFC3ZE5x/5rLVm1Vu+kfJLlKrYZTmA0IbOkc7kvgw== +"@ethereumjs/blockchain@^5.4.0", "@ethereumjs/blockchain@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.5.1.tgz#60f1f50592c06cc47e1704800b88b7d32f609742" + integrity sha512-JS2jeKxl3tlaa5oXrZ8mGoVBCz6YqsGG350XVNtHAtNZXKk7pU3rH4xzF2ru42fksMMqzFLzKh9l4EQzmNWDqA== dependencies: - "@ethereumjs/block" "^3.5.1" - "@ethereumjs/common" "^2.5.0" + "@ethereumjs/block" "^3.6.0" + "@ethereumjs/common" "^2.6.0" "@ethereumjs/ethash" "^1.1.0" debug "^2.2.0" - ethereumjs-util "^7.1.1" + ethereumjs-util "^7.1.3" level-mem "^5.0.1" lru-cache "^5.1.1" - rlp "^2.2.4" semaphore-async-await "^1.5.1" -"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" - integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== +"@ethereumjs/common@^2.3.0", "@ethereumjs/common@^2.4.0", "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" + integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== dependencies: crc-32 "^1.2.0" - ethereumjs-util "^7.1.1" + ethereumjs-util "^7.1.3" "@ethereumjs/ethash@^1.1.0": version "1.1.0" @@ -136,32 +135,31 @@ ethereumjs-util "^7.1.1" miller-rabin "^4.0.0" -"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.0", "@ethereumjs/tx@^3.3.1": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" - integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== +"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.0", "@ethereumjs/tx@^3.3.2", "@ethereumjs/tx@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7" + integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw== dependencies: - "@ethereumjs/common" "^2.5.0" - ethereumjs-util "^7.1.2" + "@ethereumjs/common" "^2.6.0" + ethereumjs-util "^7.1.3" "@ethereumjs/vm@^5.5.2": - version "5.5.3" - resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.5.3.tgz#dc8b30dd35efb589db093592600207660fa8dada" - integrity sha512-0k5OreWnlgXYs54wohgO11jtGI05GDasj2EYxzuaStxTi15CS3vow5wGYELC1pG9xngE1F/mFmKi/f14XRuDow== - dependencies: - "@ethereumjs/block" "^3.5.0" - "@ethereumjs/blockchain" "^5.4.1" - "@ethereumjs/common" "^2.5.0" - "@ethereumjs/tx" "^3.3.1" + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.6.0.tgz#e0ca62af07de820143674c30b776b86c1983a464" + integrity sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ== + dependencies: + "@ethereumjs/block" "^3.6.0" + "@ethereumjs/blockchain" "^5.5.0" + "@ethereumjs/common" "^2.6.0" + "@ethereumjs/tx" "^3.4.0" async-eventemitter "^0.2.4" core-js-pure "^3.0.1" debug "^2.2.0" - ethereumjs-util "^7.1.1" + ethereumjs-util "^7.1.3" functional-red-black-tree "^1.0.1" mcl-wasm "^0.7.1" - merkle-patricia-tree "^4.2.1" + merkle-patricia-tree "^4.2.2" rustbn.js "~0.2.0" - util.promisify "^1.0.1" "@ethersproject/abi@5.0.0-beta.153": version "5.0.0-beta.153" @@ -193,20 +191,20 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/abi@5.4.1", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.0.5", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.1.tgz#6ac28fafc9ef6f5a7a37e30356a2eb31fa05d39b" - integrity sha512-9mhbjUk76BiSluiiW4BaYyI58KSbDMMQpCLdsAR+RsT2GyATiNYxVv+pGWRrekmsIdY3I+hOqsYQSTkc8L/mcg== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" +"@ethersproject/abi@5.5.0", "@ethersproject/abi@^5.0.0-beta.146", "@ethersproject/abi@^5.0.1", "@ethersproject/abi@^5.0.5", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.5.0.tgz#fb52820e22e50b854ff15ce1647cc508d6660613" + integrity sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" "@ethersproject/abstract-provider@5.0.5": version "5.0.5" @@ -221,18 +219,18 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/web" "^5.0.6" -"@ethersproject/abstract-provider@5.4.1", "@ethersproject/abstract-provider@^5.0.4", "@ethersproject/abstract-provider@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz#e404309a29f771bd4d28dbafadcaa184668c2a6e" - integrity sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ== +"@ethersproject/abstract-provider@5.5.1", "@ethersproject/abstract-provider@^5.0.4", "@ethersproject/abstract-provider@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz#2f1f6e8a3ab7d378d8ad0b5718460f85649710c5" + integrity sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg== dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" "@ethersproject/abstract-signer@5.0.7": version "5.0.7" @@ -245,16 +243,16 @@ "@ethersproject/logger" "^5.0.5" "@ethersproject/properties" "^5.0.3" -"@ethersproject/abstract-signer@5.4.1", "@ethersproject/abstract-signer@^5.0.4", "@ethersproject/abstract-signer@^5.0.6", "@ethersproject/abstract-signer@^5.4.0", "@ethersproject/abstract-signer@^5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz#e4e9abcf4dd4f1ba0db7dff9746a5f78f355ea81" - integrity sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA== +"@ethersproject/abstract-signer@5.5.0", "@ethersproject/abstract-signer@^5.0.4", "@ethersproject/abstract-signer@^5.0.6", "@ethersproject/abstract-signer@^5.4.1", "@ethersproject/abstract-signer@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz#590ff6693370c60ae376bf1c7ada59eb2a8dd08d" + integrity sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA== dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" "@ethersproject/address@5.0.5": version "5.0.5" @@ -268,16 +266,16 @@ "@ethersproject/rlp" "^5.0.3" bn.js "^4.4.0" -"@ethersproject/address@5.4.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.5", "@ethersproject/address@^5.0.8", "@ethersproject/address@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3" - integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q== +"@ethersproject/address@5.5.0", "@ethersproject/address@>=5.0.0-beta.128", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.0.4", "@ethersproject/address@^5.0.5", "@ethersproject/address@^5.0.8", "@ethersproject/address@^5.4.0", "@ethersproject/address@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.5.0.tgz#bcc6f576a553f21f3dd7ba17248f81b473c9c78f" + integrity sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw== dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" "@ethersproject/base64@5.0.4": version "5.0.4" @@ -286,12 +284,12 @@ dependencies: "@ethersproject/bytes" "^5.0.4" -"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.0.3", "@ethersproject/base64@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a" - integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ== +"@ethersproject/base64@5.5.0", "@ethersproject/base64@^5.0.3", "@ethersproject/base64@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.5.0.tgz#881e8544e47ed976930836986e5eb8fab259c090" + integrity sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA== dependencies: - "@ethersproject/bytes" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" "@ethersproject/basex@5.0.4": version "5.0.4" @@ -301,13 +299,13 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/properties" "^5.0.3" -"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.0.3", "@ethersproject/basex@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6" - integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg== +"@ethersproject/basex@5.5.0", "@ethersproject/basex@^5.0.3", "@ethersproject/basex@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.5.0.tgz#e40a53ae6d6b09ab4d977bd037010d4bed21b4d3" + integrity sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/properties" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/properties" "^5.5.0" "@ethersproject/bignumber@5.0.8": version "5.0.8" @@ -318,13 +316,13 @@ "@ethersproject/logger" "^5.0.5" bn.js "^4.4.0" -"@ethersproject/bignumber@5.4.2", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.0.8", "@ethersproject/bignumber@^5.1.1", "@ethersproject/bignumber@^5.4.0", "@ethersproject/bignumber@^5.4.1": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.2.tgz#44232e015ae4ce82ac034de549eb3583c71283d8" - integrity sha512-oIBDhsKy5bs7j36JlaTzFgNPaZjiNDOXsdSgSpXRucUl+UA6L/1YLlFeI3cPAoodcenzF4nxNPV13pcy7XbWjA== +"@ethersproject/bignumber@5.5.0", "@ethersproject/bignumber@>=5.0.0-beta.130", "@ethersproject/bignumber@^5.0.7", "@ethersproject/bignumber@^5.0.8", "@ethersproject/bignumber@^5.1.1", "@ethersproject/bignumber@^5.4.1", "@ethersproject/bignumber@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.5.0.tgz#875b143f04a216f4f8b96245bde942d42d279527" + integrity sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" bn.js "^4.11.9" "@ethersproject/bytes@5.0.5": @@ -334,12 +332,12 @@ dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.8", "@ethersproject/bytes@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e" - integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA== +"@ethersproject/bytes@5.5.0", "@ethersproject/bytes@>=5.0.0-beta.129", "@ethersproject/bytes@^5.0.4", "@ethersproject/bytes@^5.0.8", "@ethersproject/bytes@^5.4.0", "@ethersproject/bytes@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.5.0.tgz#cb11c526de657e7b45d2e0f0246fb3b9d29a601c" + integrity sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog== dependencies: - "@ethersproject/logger" "^5.4.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/constants@5.0.5": version "5.0.5" @@ -348,12 +346,12 @@ dependencies: "@ethersproject/bignumber" "^5.0.7" -"@ethersproject/constants@5.4.0", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a" - integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q== +"@ethersproject/constants@5.5.0", "@ethersproject/constants@>=5.0.0-beta.128", "@ethersproject/constants@^5.0.4", "@ethersproject/constants@^5.4.0", "@ethersproject/constants@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.5.0.tgz#d2a2cd7d94bd1d58377d1d66c4f53c9be4d0a45e" + integrity sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ== dependencies: - "@ethersproject/bignumber" "^5.4.0" + "@ethersproject/bignumber" "^5.5.0" "@ethersproject/contracts@5.0.5": version "5.0.5" @@ -370,21 +368,21 @@ "@ethersproject/logger" "^5.0.5" "@ethersproject/properties" "^5.0.3" -"@ethersproject/contracts@5.4.1", "@ethersproject/contracts@^5.4.1": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.1.tgz#3eb4f35b7fe60a962a75804ada2746494df3e470" - integrity sha512-m+z2ZgPy4pyR15Je//dUaymRUZq5MtDajF6GwFbGAVmKz/RF+DNIPwF0k5qEcL3wPGVqUjFg2/krlCRVTU4T5w== - dependencies: - "@ethersproject/abi" "^5.4.0" - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" +"@ethersproject/contracts@5.5.0", "@ethersproject/contracts@^5.4.1": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.5.0.tgz#b735260d4bd61283a670a82d5275e2a38892c197" + integrity sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg== + dependencies: + "@ethersproject/abi" "^5.5.0" + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" "@ethersproject/hash@5.0.6": version "5.0.6" @@ -400,19 +398,19 @@ "@ethersproject/properties" "^5.0.4" "@ethersproject/strings" "^5.0.4" -"@ethersproject/hash@5.4.0", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0" - integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" +"@ethersproject/hash@5.5.0", "@ethersproject/hash@>=5.0.0-beta.128", "@ethersproject/hash@^5.0.4", "@ethersproject/hash@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.5.0.tgz#7cee76d08f88d1873574c849e0207dcb32380cc9" + integrity sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" "@ethersproject/hdnode@5.0.5": version "5.0.5" @@ -432,23 +430,23 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/wordlists" "^5.0.4" -"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.0.4", "@ethersproject/hdnode@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac" - integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" +"@ethersproject/hdnode@5.5.0", "@ethersproject/hdnode@^5.0.4", "@ethersproject/hdnode@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.5.0.tgz#4a04e28f41c546f7c978528ea1575206a200ddf6" + integrity sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" "@ethersproject/json-wallets@5.0.7": version "5.0.7" @@ -469,22 +467,22 @@ aes-js "3.0.0" scrypt-js "3.0.1" -"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.0.6", "@ethersproject/json-wallets@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95" - integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ== - dependencies: - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/pbkdf2" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" +"@ethersproject/json-wallets@5.5.0", "@ethersproject/json-wallets@^5.0.6", "@ethersproject/json-wallets@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz#dd522d4297e15bccc8e1427d247ec8376b60e325" + integrity sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ== + dependencies: + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/pbkdf2" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" aes-js "3.0.0" scrypt-js "3.0.1" @@ -496,23 +494,23 @@ "@ethersproject/bytes" "^5.0.4" js-sha3 "0.5.7" -"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318" - integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A== +"@ethersproject/keccak256@5.5.0", "@ethersproject/keccak256@>=5.0.0-beta.127", "@ethersproject/keccak256@^5.0.3", "@ethersproject/keccak256@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.5.0.tgz#e4b1f9d7701da87c564ffe336f86dcee82983492" + integrity sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg== dependencies: - "@ethersproject/bytes" "^5.4.0" - js-sha3 "0.5.7" + "@ethersproject/bytes" "^5.5.0" + js-sha3 "0.8.0" "@ethersproject/logger@5.0.6": version "5.0.6" resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.0.6.tgz#faa484203e86e08be9e07fef826afeef7183fe88" integrity sha512-FrX0Vnb3JZ1md/7GIZfmJ06XOAA8r3q9Uqt9O5orr4ZiksnbpXKlyDzQtlZ5Yv18RS8CAUbiKH9vwidJg1BPmQ== -"@ethersproject/logger@5.4.1", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.1.tgz#503bd33683538b923c578c07d1c2c0dd18672054" - integrity sha512-DZ+bRinnYLPw1yAC64oRl0QyVZj43QeHIhVKfD/+YwSz4wsv1pfwb5SOFjz+r710YEWzU6LrhuSjpSO+6PeE4A== +"@ethersproject/logger@5.5.0", "@ethersproject/logger@>=5.0.0-beta.129", "@ethersproject/logger@^5.0.5", "@ethersproject/logger@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.5.0.tgz#0c2caebeff98e10aefa5aef27d7441c7fd18cf5d" + integrity sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg== "@ethersproject/networks@5.0.4": version "5.0.4" @@ -521,12 +519,12 @@ dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/networks@5.4.2", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.4.0": - version "5.4.2" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.2.tgz#2247d977626e97e2c3b8ee73cd2457babde0ce35" - integrity sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw== +"@ethersproject/networks@5.5.1", "@ethersproject/networks@^5.0.3", "@ethersproject/networks@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.5.1.tgz#b7f7b9fb88dec1ea48f739b7fb9621311aa8ce6c" + integrity sha512-tYRDM4zZtSUcKnD4UMuAlj7SeXH/k5WC4SP2u1Pn57++JdXHkRu2zwNkgNogZoxHzhm9Q6qqurDBVptHOsW49Q== dependencies: - "@ethersproject/logger" "^5.4.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/pbkdf2@5.0.4": version "5.0.4" @@ -536,13 +534,13 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/sha2" "^5.0.3" -"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.0.3", "@ethersproject/pbkdf2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c" - integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g== +"@ethersproject/pbkdf2@5.5.0", "@ethersproject/pbkdf2@^5.0.3", "@ethersproject/pbkdf2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz#e25032cdf02f31505d47afbf9c3e000d95c4a050" + integrity sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" "@ethersproject/properties@5.0.4": version "5.0.4" @@ -551,12 +549,12 @@ dependencies: "@ethersproject/logger" "^5.0.5" -"@ethersproject/properties@5.4.1", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.4", "@ethersproject/properties@^5.4.0": - version "5.4.1" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.1.tgz#9f051f976ce790142c6261ccb7b826eaae1f2f36" - integrity sha512-cyCGlF8wWlIZyizsj2PpbJ9I7rIlUAfnHYwy/T90pdkSn/NFTa5YWZx2wTJBe9V7dD65dcrrEMisCRUJiq6n3w== +"@ethersproject/properties@5.5.0", "@ethersproject/properties@>=5.0.0-beta.131", "@ethersproject/properties@^5.0.3", "@ethersproject/properties@^5.0.4", "@ethersproject/properties@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.5.0.tgz#61f00f2bb83376d2071baab02245f92070c59995" + integrity sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA== dependencies: - "@ethersproject/logger" "^5.4.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/providers@5.0.13": version "5.0.13" @@ -583,28 +581,28 @@ bech32 "1.1.4" ws "7.2.3" -"@ethersproject/providers@5.4.5", "@ethersproject/providers@^5.4.4": - version "5.4.5" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.5.tgz#eb2ea2a743a8115f79604a8157233a3a2c832928" - integrity sha512-1GkrvkiAw3Fj28cwi1Sqm8ED1RtERtpdXmRfwIBGmqBSN5MoeRUHuwHPppMtbPayPgpFcvD7/Gdc9doO5fGYgw== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/basex" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/web" "^5.4.0" +"@ethersproject/providers@5.5.1", "@ethersproject/providers@^5.4.4": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.5.1.tgz#ba87e3c93219bbd2e2edf8b369873aee774abf04" + integrity sha512-2zdD5sltACDWhjUE12Kucg2PcgM6V2q9JMyVvObtVGnzJu+QSmibbP+BHQyLWZUBfLApx2942+7DC5D+n4wBQQ== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/basex" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/networks" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/web" "^5.5.0" bech32 "1.1.4" ws "7.4.6" @@ -616,13 +614,13 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/random@5.4.0", "@ethersproject/random@^5.0.3", "@ethersproject/random@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16" - integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw== +"@ethersproject/random@5.5.0", "@ethersproject/random@^5.0.3", "@ethersproject/random@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.5.0.tgz#305ed9e033ca537735365ac12eed88580b0f81f9" + integrity sha512-egGYZwZ/YIFKMHcoBUo8t3a8Hb/TKYX8BCBoLjudVCZh892welR3jOxgOmb48xznc9bTcMm7Tpwc1gHC1PFNFQ== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/rlp@5.0.4": version "5.0.4" @@ -632,13 +630,13 @@ "@ethersproject/bytes" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931" - integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg== +"@ethersproject/rlp@5.5.0", "@ethersproject/rlp@^5.0.3", "@ethersproject/rlp@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.5.0.tgz#530f4f608f9ca9d4f89c24ab95db58ab56ab99a0" + integrity sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/sha2@5.0.4": version "5.0.4" @@ -649,13 +647,13 @@ "@ethersproject/logger" "^5.0.5" hash.js "1.1.3" -"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.0.3", "@ethersproject/sha2@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371" - integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg== +"@ethersproject/sha2@5.5.0", "@ethersproject/sha2@^5.0.3", "@ethersproject/sha2@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.5.0.tgz#a40a054c61f98fd9eee99af2c3cc6ff57ec24db7" + integrity sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" hash.js "1.1.7" "@ethersproject/signing-key@5.0.5": @@ -668,14 +666,14 @@ "@ethersproject/properties" "^5.0.3" elliptic "6.5.3" -"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.0.4", "@ethersproject/signing-key@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec" - integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A== +"@ethersproject/signing-key@5.5.0", "@ethersproject/signing-key@^5.0.4", "@ethersproject/signing-key@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.5.0.tgz#2aa37169ce7e01e3e80f2c14325f624c29cedbe0" + integrity sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" bn.js "^4.11.9" elliptic "6.5.4" hash.js "1.1.7" @@ -691,16 +689,17 @@ "@ethersproject/sha2" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/solidity@5.4.0", "@ethersproject/solidity@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec" - integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ== +"@ethersproject/solidity@5.5.0", "@ethersproject/solidity@^5.4.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.5.0.tgz#2662eb3e5da471b85a20531e420054278362f93f" + integrity sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw== dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/sha2" "^5.4.0" - "@ethersproject/strings" "^5.4.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/sha2" "^5.5.0" + "@ethersproject/strings" "^5.5.0" "@ethersproject/strings@5.0.5": version "5.0.5" @@ -711,14 +710,14 @@ "@ethersproject/constants" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/strings@5.4.0", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a" - integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA== +"@ethersproject/strings@5.5.0", "@ethersproject/strings@>=5.0.0-beta.130", "@ethersproject/strings@^5.0.4", "@ethersproject/strings@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.5.0.tgz#e6784d00ec6c57710755699003bc747e98c5d549" + integrity sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/transactions@5.0.6": version "5.0.6" @@ -735,20 +734,20 @@ "@ethersproject/rlp" "^5.0.3" "@ethersproject/signing-key" "^5.0.4" -"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.5", "@ethersproject/transactions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0" - integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ== - dependencies: - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/rlp" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" +"@ethersproject/transactions@5.5.0", "@ethersproject/transactions@^5.0.0-beta.135", "@ethersproject/transactions@^5.0.5", "@ethersproject/transactions@^5.4.0", "@ethersproject/transactions@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.5.0.tgz#7e9bf72e97bcdf69db34fe0d59e2f4203c7a2908" + integrity sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA== + dependencies: + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/rlp" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" "@ethersproject/units@5.0.6": version "5.0.6" @@ -759,14 +758,14 @@ "@ethersproject/constants" "^5.0.4" "@ethersproject/logger" "^5.0.5" -"@ethersproject/units@5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe" - integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg== +"@ethersproject/units@5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.5.0.tgz#104d02db5b5dc42cc672cc4587bafb87a95ee45e" + integrity sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag== dependencies: - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/constants" "^5.4.0" - "@ethersproject/logger" "^5.4.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/constants" "^5.5.0" + "@ethersproject/logger" "^5.5.0" "@ethersproject/wallet@5.0.6": version "5.0.6" @@ -789,26 +788,26 @@ "@ethersproject/transactions" "^5.0.5" "@ethersproject/wordlists" "^5.0.4" -"@ethersproject/wallet@5.4.0", "@ethersproject/wallet@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353" - integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ== - dependencies: - "@ethersproject/abstract-provider" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/hdnode" "^5.4.0" - "@ethersproject/json-wallets" "^5.4.0" - "@ethersproject/keccak256" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/random" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@ethersproject/wordlists" "^5.4.0" +"@ethersproject/wallet@5.5.0", "@ethersproject/wallet@^5.4.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.5.0.tgz#322a10527a440ece593980dca6182f17d54eae75" + integrity sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q== + dependencies: + "@ethersproject/abstract-provider" "^5.5.0" + "@ethersproject/abstract-signer" "^5.5.0" + "@ethersproject/address" "^5.5.0" + "@ethersproject/bignumber" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/hdnode" "^5.5.0" + "@ethersproject/json-wallets" "^5.5.0" + "@ethersproject/keccak256" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/random" "^5.5.0" + "@ethersproject/signing-key" "^5.5.0" + "@ethersproject/transactions" "^5.5.0" + "@ethersproject/wordlists" "^5.5.0" "@ethersproject/web@5.0.9": version "5.0.9" @@ -821,16 +820,16 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/web@5.4.0", "@ethersproject/web@^5.0.6", "@ethersproject/web@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f" - integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og== +"@ethersproject/web@5.5.1", "@ethersproject/web@^5.0.6", "@ethersproject/web@^5.5.0": + version "5.5.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.5.1.tgz#cfcc4a074a6936c657878ac58917a61341681316" + integrity sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg== dependencies: - "@ethersproject/base64" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" + "@ethersproject/base64" "^5.5.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" "@ethersproject/wordlists@5.0.5": version "5.0.5" @@ -843,16 +842,16 @@ "@ethersproject/properties" "^5.0.3" "@ethersproject/strings" "^5.0.4" -"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.0.4", "@ethersproject/wordlists@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7" - integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA== +"@ethersproject/wordlists@5.5.0", "@ethersproject/wordlists@^5.0.4", "@ethersproject/wordlists@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.5.0.tgz#aac74963aa43e643638e5172353d931b347d584f" + integrity sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q== dependencies: - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/hash" "^5.4.0" - "@ethersproject/logger" "^5.4.0" - "@ethersproject/properties" "^5.4.0" - "@ethersproject/strings" "^5.4.0" + "@ethersproject/bytes" "^5.5.0" + "@ethersproject/hash" "^5.5.0" + "@ethersproject/logger" "^5.5.0" + "@ethersproject/properties" "^5.5.0" + "@ethersproject/strings" "^5.5.0" "@maticnetwork/maticjs@https://github.com/maticnetwork/matic.js.git#2.0.43": version "2.0.43" @@ -871,9 +870,9 @@ web3 "^1.3.0" "@maticnetwork/meta@^2.4.13": - version "2.4.21" - resolved "https://registry.yarnpkg.com/@maticnetwork/meta/-/meta-2.4.21.tgz#46d047b17b3441eb9f469933a39fa5fee5077400" - integrity sha512-Yi/AGvhVvAhXcsTNmBBqIPP4v8ShUaTlM4J4jWlWE348liD8ez8KjkSZNz37R+MtnA86SF2sn2oIefmExkZZiA== + version "2.4.25" + resolved "https://registry.yarnpkg.com/@maticnetwork/meta/-/meta-2.4.25.tgz#a0c75ffc1c061e4c33aef08eb701e5d6ced5a77f" + integrity sha512-xZJs5mn421ACZ/yary1WI5ajPr4O3ELMsOswfY4N2zLFaJ8gSo3kGj2udtfGTxvuJuRjLDT/TbGjE5kLdGza3w== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -897,14 +896,14 @@ fastq "^1.6.0" "@nomiclabs/hardhat-ethers@^2.0.1", "@nomiclabs/hardhat-ethers@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.2.tgz#c472abcba0c5185aaa4ad4070146e95213c68511" - integrity sha512-6quxWe8wwS4X5v3Au8q1jOvXYEPkS1Fh+cME5u6AwNdnI4uERvPlVjlgRWzpnb+Rrt1l/cEqiNRH9GlsBMSDQg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-ethers/-/hardhat-ethers-2.0.3.tgz#06e20a57274f6ce3148132910e723948a711edf1" + integrity sha512-IJ0gBotVtO7YyLZyHNgbxzskUtFok+JkRlKPo8YELqj1ms9XL6Qm3vsfsGdZr22wnJeVEF5TQPotKuwQk21Dag== "@nomiclabs/hardhat-etherscan@^2.1.3": - version "2.1.6" - resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.6.tgz#8d1502f42adc6f7b8ef16fb917c0b5a8780cb83a" - integrity sha512-gCvT5fj8GbXS9+ACS3BzrX0pzYHHZqAHCb+NcipOkl2cy48FakUXlzrCf4P4sTH+Y7W10OgT62ezD1sJ+/NikQ== + version "2.1.8" + resolved "https://registry.yarnpkg.com/@nomiclabs/hardhat-etherscan/-/hardhat-etherscan-2.1.8.tgz#e206275e96962cd15e5ba9148b44388bc922d8c2" + integrity sha512-0+rj0SsZotVOcTLyDOxnOc3Gulo8upo0rsw/h+gBPcmtj91YqYJNhdARHoBxOhhE8z+5IUQPx+Dii04lXT14PA== dependencies: "@ethersproject/abi" "^5.1.2" "@ethersproject/address" "^5.0.2" @@ -932,9 +931,9 @@ "@types/web3" "1.0.19" "@openzeppelin/contracts-0.8@npm:@openzeppelin/contracts@^4.3.2", "@openzeppelin/contracts@^4.3.0": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.3.2.tgz#ff80affd6d352dbe1bbc5b4e1833c41afd6283b6" - integrity sha512-AybF1cesONZStg5kWf6ao9OlqTZuPqddvprc0ky7lrUVOjXeKpmQ2Y9FK+6ygxasb+4aic4O5pneFBfwVsRRRg== + version "4.4.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.4.0.tgz#4a1df71f736c31230bbbd634dfb006a756b51e6b" + integrity sha512-dlKiZmDvJnGRLHojrDoFZJmsQVeltVeoiRN7RK+cf2FmkhASDEblE0RiaYdxPNsUZa6mRG8393b9bfyp+V5IAw== "@openzeppelin/contracts-upgradeable@3.4.2", "@openzeppelin/contracts-upgradeable@^3.3.0": version "3.4.2" @@ -947,16 +946,16 @@ integrity sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA== "@openzeppelin/hardhat-upgrades@^1.5.1": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.10.0.tgz#e7751e3b9a005ccc9cef4e0de190628b181b59b6" - integrity sha512-iGe058iV7Ba/g11RxlbqBG47nbqbZn1FRdg1FCQq7xPmvjRhXmFsoI/5gGw5el0aZlLDRtpFOBZbzMZvI/S7iw== + version "1.12.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/hardhat-upgrades/-/hardhat-upgrades-1.12.0.tgz#35b4dd9bdefb203e7e0ba4b1c38df133bf721ddf" + integrity sha512-C5eOSt01zHKYUaRRDunqCsP5fXLpqFatIEs+NywVKLfVV6LNatugaNiRC4oHT8FF8wnr38uSoWrJJVTRoXUECw== dependencies: - "@openzeppelin/upgrades-core" "^1.9.0" + "@openzeppelin/upgrades-core" "^1.10.0" -"@openzeppelin/upgrades-core@^1.7.6", "@openzeppelin/upgrades-core@^1.9.0": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.9.2.tgz#9d7497f58b1f2bb704c162c716302bfff7923749" - integrity sha512-LU2NMvnz+6jXheh3Rnfql4UgtS7ViHWwcivS3JRI9DMCazmlyibwMYz5QMakrNNGAF7bY0t0Sw1UCfe5qTYxjA== +"@openzeppelin/upgrades-core@^1.10.0", "@openzeppelin/upgrades-core@^1.7.6": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.10.0.tgz#d3aa72b7a23827e0e6daff08ddfb8dcd75171abb" + integrity sha512-N20t1i1wlHrVmu3etVZLiaRxT6XLkCrO9gIo4mUZNpsaVftl8V+WBu8o940AjoYXvzTEqj7O0re2DSFzjpkRBw== dependencies: bn.js "^5.1.2" cbor "^8.0.0" @@ -1146,16 +1145,6 @@ dependencies: "@sinonjs/commons" "^1.7.0" -"@solidity-parser/parser@^0.11.0": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.11.1.tgz#fa840af64840c930f24a9c82c08d4a092a068add" - integrity sha512-H8BSBoKE8EubJa0ONqecA2TviT3TnHeC4NpgnAHSUiuhZoQBfPB4L2P9bs8R6AoTW10Endvh3vc+fomVMIDIYQ== - -"@solidity-parser/parser@^0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.12.2.tgz#1afad367cb29a2ed8cdd4a3a62701c2821fb578f" - integrity sha512-d7VS7PxgMosm5NyaiyDJRNID5pK4AWj1l64Dbz0147hJgy5k2C0/ZiKK/9u5c5K+HRUVHmp+RMvGEjGh84oA5Q== - "@solidity-parser/parser@^0.13.2": version "0.13.2" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.13.2.tgz#b6c71d8ca0b382d90a7bbed241f9bc110af65cbe" @@ -1163,6 +1152,13 @@ dependencies: antlr4ts "^0.5.0-alpha.4" +"@solidity-parser/parser@^0.14.0": + version "0.14.0" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.0.tgz#d51f074efb0acce0e953ec48133561ed710cebc0" + integrity sha512-cX0JJRcmPtNUJpzD2K7FdA7qQsTOk1UZnFx2k7qAg9ZRvuaH5NBe5IEdBMXGlmf2+FmjhqbygJ26H8l2SV7aKQ== + dependencies: + antlr4ts "^0.5.0-alpha.4" + "@solidity-parser/parser@^0.8.0": version "0.8.2" resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.2.tgz#a6a5e93ac8dca6884a99a532f133beba59b87b69" @@ -1256,9 +1252,9 @@ "@types/node" "*" "@types/glob@^7.1.1": - version "7.1.4" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.4.tgz#ea59e21d2ee5c517914cb4bc8e4153b99e566672" - integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" @@ -1308,9 +1304,9 @@ form-data "^3.0.0" "@types/node@*": - version "16.11.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.0.tgz#4b95f2327bacd1ef8f08d8ceda193039c5d7f52e" - integrity sha512-8MLkBIYQMuhRBQzGN9875bYsOhPnf/0rgXGo66S2FemHkhbn9qtsz9ywV1iCG+vbjigE4WUNVvw37Dx+L0qsPg== + version "16.11.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10" + integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== "@types/node@^10.0.3", "@types/node@^10.12.18", "@types/node@^10.3.2": version "10.17.60" @@ -1318,14 +1314,14 @@ integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== "@types/node@^12.12.6", "@types/node@^12.6.1": - version "12.20.33" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.33.tgz#24927446e8b7669d10abacedd16077359678f436" - integrity sha512-5XmYX2GECSa+CxMYaFsr2mrql71Q4EvHjKS+ox/SiwSdaASMoBIWE6UmZqFO+VX1jIcsYLStI4FFoB6V7FeIYw== + version "12.20.37" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.37.tgz#abb38afa9d6e8a2f627a8cb52290b3c80fbe61ed" + integrity sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA== "@types/node@^14.0.13", "@types/node@^14.6.1": - version "14.17.27" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.27.tgz#5054610d37bb5f6e21342d0e6d24c494231f3b85" - integrity sha512-94+Ahf9IcaDuJTle/2b+wzvjmutxXAEXU6O81JHblYXUg2BDG+dnBy7VxIPHKAyEEDHzCMQydTJuWvrE+Aanzw== + version "14.18.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.0.tgz#98df2397f6936bfbff4f089e40e06fa5dd88d32a" + integrity sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ== "@types/node@^8.0.0": version "8.10.66" @@ -1340,9 +1336,9 @@ "@types/node" "*" "@types/prettier@^2.1.1": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" - integrity sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw== + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" + integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== "@types/qs@^6.2.31", "@types/qs@^6.9.7": version "6.9.7" @@ -1364,24 +1360,24 @@ "@types/node" "*" "@types/sinon-chai@^3.2.3": - version "3.2.5" - resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.5.tgz#df21ae57b10757da0b26f512145c065f2ad45c48" - integrity sha512-bKQqIpew7mmIGNRlxW6Zli/QVyc3zikpGzCa797B/tRnD9OtHvZ/ts8sYXV+Ilj9u3QRaUEM8xrjgd1gwm1BpQ== + version "3.2.6" + resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.6.tgz#3504a744e2108646394766fb1339f52ea5d6bd0f" + integrity sha512-Z57LprQ+yOQNu9d6mWdHNvnmncPXzDWGSeLj+8L075/QahToapC4Q13zAFRVKV4clyBmdJ5gz4xBfVkOso5lXw== dependencies: "@types/chai" "*" "@types/sinon" "*" "@types/sinon@*": - version "10.0.4" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.4.tgz#9332527665692b9f6826afe017f342a3ac6120f4" - integrity sha512-fOYjrxQv8zJsqOY6V6ecP4eZhQBxtY80X0er1VVnUIAIZo74jHm8e1vguG5Yt4Iv8W2Wr7TgibB8MfRe32k9pA== + version "10.0.6" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-10.0.6.tgz#bc3faff5154e6ecb69b797d311b7cf0c1b523a1d" + integrity sha512-6EF+wzMWvBNeGrfP3Nx60hhx+FfwSg1JJBLAAP/IdIUq0EYkqCYf70VT3PhuhPX9eLD+Dp+lNdpb/ZeHG8Yezg== dependencies: "@sinonjs/fake-timers" "^7.1.0" "@types/underscore@*": - version "1.11.3" - resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.11.3.tgz#d6734f3741ce41b2630018c6b61c6745f6188c07" - integrity sha512-Fl1TX1dapfXyDqFg2ic9M+vlXRktcPJrc4PR7sRc7sdVrjavg/JHlbUXBt8qWWqhJrmSqg3RNAkAPRiOYw6Ahw== + version "1.11.4" + resolved "https://registry.yarnpkg.com/@types/underscore/-/underscore-1.11.4.tgz#62e393f8bc4bd8a06154d110c7d042a93751def3" + integrity sha512-uO4CD2ELOjw8tasUrAhvnn2W4A0ZECOvMjCivJr4gA9pGgjv+qxKWY9GLTMVEK8ej85BxQOocUyE7hImmSQYcg== "@types/web3@1.0.19": version "1.0.19" @@ -1740,6 +1736,11 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-uniq@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -1761,9 +1762,9 @@ asn1.js@^5.2.0: safer-buffer "^2.1.0" asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" @@ -2395,9 +2396,9 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base-x@^3.0.2, base-x@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d" - integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA== + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== dependencies: safe-buffer "^5.0.1" @@ -2735,6 +2736,11 @@ bytes@3.1.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +bytes@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" + integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== + bytewise-core@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/bytewise-core/-/bytewise-core-1.2.3.tgz#3fb410c7e91558eb1ab22a82834577aa6bd61d42" @@ -2841,9 +2847,9 @@ camelcase@^5.0.0: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30000844: - version "1.0.30001267" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz#b1cf2937175afc0570e4615fc2d2f9069fa0ed30" - integrity sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg== + version "1.0.30001285" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001285.tgz#fe1e52229187e11d6670590790d669b9e03315b7" + integrity sha512-KAOkuUtcQ901MtmvxfKD+ODHH9YVDYnBt+TGYSz2KIfnq22CiArbUxXPN9067gNbgMlnNYRSwho8OPXZPALB9Q== caseless@^0.12.0, caseless@~0.12.0: version "0.12.0" @@ -2869,11 +2875,11 @@ cbor@^5.0.2: nofilter "^1.0.4" cbor@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.0.2.tgz#d0f5088423437efcc160e9304bd0576f45d06abb" - integrity sha512-H5WTjQYgyHQI0VrCmbyQBOPy1353MjmUi/r3DbPib4U13vuyqm7es9Mfpe8G58bN/mCdRlJWkiCrPl1uM1wAlg== + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== dependencies: - nofilter "^3.0.3" + nofilter "^3.1.0" chai@^4.2.0: version "4.3.4" @@ -3261,9 +3267,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-pure@^3.0.1: - version "3.18.3" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.3.tgz#7eed77dcce1445ab68fd68715856633e2fb3b90c" - integrity sha512-qfskyO/KjtbYn09bn1IPkuhHl5PlJ6IzJ9s9sraJ1EqcuGyLGKzhSM1cY0zgyL9hx42eulQLZ6WaeK5ycJCkqw== + version "3.19.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.3.tgz#c69b2b36b58927317824994b532ec3f0f7e49607" + integrity sha512-N3JruInmCyt7EJj5mAq3csCgGYgiSqu7p7TQp2KOztr180/OAIxyIvL1FCjzgmQk/t3Yniua50Fsak7FShI9lA== core-js@^2.4.0, core-js@^2.5.0: version "2.6.12" @@ -3439,9 +3445,9 @@ debug@3.2.6: ms "^2.1.1" debug@4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -3749,9 +3755,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.47: - version "1.3.870" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.870.tgz#c15c921e66a46985181b261f8093b91c2abb6604" - integrity sha512-PiJMshfq6PL+i1V+nKLwhHbCKeD8eAz8rvO9Cwk/7cChOHJBtufmjajLyYLsSRHguRFiOCVx3XzJLeZsIAYfSA== + version "1.4.12" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.12.tgz#5f73d1278c6205fc41d7a0ebd75563046b77c5d8" + integrity sha512-zjfhG9Us/hIy8AlQ5OzfbR/C4aBv1Dg/ak4GX35CELYlJ4tDAtoEcQivXvyBdqdNQ+R6PhlgQqV8UNPJmhkJog== elliptic@6.3.3: version "6.3.3" @@ -3789,6 +3795,11 @@ elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +emoji-regex@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.0.0.tgz#96559e19f82231b436403e059571241d627c42b8" + integrity sha512-KmJa8l6uHi1HrBI34udwlzZY1jOEuID/ft4d8BSSEdRyap7PwBEt910453PJa5MuGvxkLqlt4Uvhu7tttFHViw== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -3799,11 +3810,6 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - encode-utf8@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" @@ -4252,9 +4258,9 @@ estraverse@^4.1.1: integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" @@ -4287,13 +4293,13 @@ eth-ens-namehash@2.0.8, eth-ens-namehash@^2.0.8: idna-uts46-hx "^2.3.1" js-sha3 "^0.5.7" -eth-gas-reporter@^0.2.20: - version "0.2.22" - resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.22.tgz#bbe91f5d7b22433d26f099eeb5b20118ced0e575" - integrity sha512-L1FlC792aTf3j/j+gGzSNlGrXKSxNPXQNk6TnV5NNZ2w3jnQCRyJjDl0zUo25Cq2t90IS5vGdbkwqFQK7Ce+kw== +eth-gas-reporter@^0.2.23: + version "0.2.23" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.23.tgz#7a2a412b41285298cdad810cf54adac11d406208" + integrity sha512-T8KsVakDEupvQxW3MfFfHDfJ7y8zl2+XhyEQk4hZ3qQsAh/FE27BfFHM9UhqNQvrJLz8zVWnPZWNcARwLT/lsA== dependencies: "@ethersproject/abi" "^5.0.0-beta.146" - "@solidity-parser/parser" "^0.12.0" + "@solidity-parser/parser" "^0.14.0" cli-table3 "^0.5.0" colors "^1.1.2" ethereumjs-util "6.2.0" @@ -4646,7 +4652,7 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1, ethereum rlp "^2.0.0" safe-buffer "^5.1.1" -ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.2, ethereumjs-util@^7.0.3, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2: +ethereumjs-util@^7.0.10, ethereumjs-util@^7.0.2, ethereumjs-util@^7.0.3, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== @@ -4778,40 +4784,40 @@ ethers@^4.0.20, ethers@^4.0.32, ethers@^4.0.40: xmlhttprequest "1.8.0" ethers@^5.0.1, ethers@^5.0.2, ethers@^5.1.0, ethers@^5.4.0, ethers@^5.4.7: - version "5.4.7" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.7.tgz#0fd491a5da7c9793de2d6058d76b41b1e7efba8f" - integrity sha512-iZc5p2nqfWK1sj8RabwsPM28cr37Bpq7ehTQ5rWExBr2Y09Sn1lDKZOED26n+TsZMye7Y6mIgQ/1cwpSD8XZew== - dependencies: - "@ethersproject/abi" "5.4.1" - "@ethersproject/abstract-provider" "5.4.1" - "@ethersproject/abstract-signer" "5.4.1" - "@ethersproject/address" "5.4.0" - "@ethersproject/base64" "5.4.0" - "@ethersproject/basex" "5.4.0" - "@ethersproject/bignumber" "5.4.2" - "@ethersproject/bytes" "5.4.0" - "@ethersproject/constants" "5.4.0" - "@ethersproject/contracts" "5.4.1" - "@ethersproject/hash" "5.4.0" - "@ethersproject/hdnode" "5.4.0" - "@ethersproject/json-wallets" "5.4.0" - "@ethersproject/keccak256" "5.4.0" - "@ethersproject/logger" "5.4.1" - "@ethersproject/networks" "5.4.2" - "@ethersproject/pbkdf2" "5.4.0" - "@ethersproject/properties" "5.4.1" - "@ethersproject/providers" "5.4.5" - "@ethersproject/random" "5.4.0" - "@ethersproject/rlp" "5.4.0" - "@ethersproject/sha2" "5.4.0" - "@ethersproject/signing-key" "5.4.0" - "@ethersproject/solidity" "5.4.0" - "@ethersproject/strings" "5.4.0" - "@ethersproject/transactions" "5.4.0" - "@ethersproject/units" "5.4.0" - "@ethersproject/wallet" "5.4.0" - "@ethersproject/web" "5.4.0" - "@ethersproject/wordlists" "5.4.0" + version "5.5.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.5.2.tgz#cd2e508c7342c44fa70392f722e8de8f2416489f" + integrity sha512-EF5W+6Wwcu6BqVwpgmyR5U2+L4c1FQzlM/02dkZOugN3KF0cG9bzHZP+TDJglmPm2/IzCEJDT7KBxzayk7SAHw== + dependencies: + "@ethersproject/abi" "5.5.0" + "@ethersproject/abstract-provider" "5.5.1" + "@ethersproject/abstract-signer" "5.5.0" + "@ethersproject/address" "5.5.0" + "@ethersproject/base64" "5.5.0" + "@ethersproject/basex" "5.5.0" + "@ethersproject/bignumber" "5.5.0" + "@ethersproject/bytes" "5.5.0" + "@ethersproject/constants" "5.5.0" + "@ethersproject/contracts" "5.5.0" + "@ethersproject/hash" "5.5.0" + "@ethersproject/hdnode" "5.5.0" + "@ethersproject/json-wallets" "5.5.0" + "@ethersproject/keccak256" "5.5.0" + "@ethersproject/logger" "5.5.0" + "@ethersproject/networks" "5.5.1" + "@ethersproject/pbkdf2" "5.5.0" + "@ethersproject/properties" "5.5.0" + "@ethersproject/providers" "5.5.1" + "@ethersproject/random" "5.5.0" + "@ethersproject/rlp" "5.5.0" + "@ethersproject/sha2" "5.5.0" + "@ethersproject/signing-key" "5.5.0" + "@ethersproject/solidity" "5.5.0" + "@ethersproject/strings" "5.5.0" + "@ethersproject/transactions" "5.5.0" + "@ethersproject/units" "5.5.0" + "@ethersproject/wallet" "5.5.0" + "@ethersproject/web" "5.5.1" + "@ethersproject/wordlists" "5.5.0" ethjs-unit@0.1.6: version "0.1.6" @@ -4997,9 +5003,9 @@ extsprintf@1.3.0: integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fake-merkle-patricia-tree@^1.0.1: version "1.0.1" @@ -5233,9 +5239,9 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.12.1, follow-redirects@^1.14.0: - version "1.14.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.4.tgz#838fdf48a8bbdd79e52ee51fb1c94e3ed98b9379" - integrity sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g== + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -5750,15 +5756,16 @@ har-validator@~5.1.3: har-schema "^2.0.0" hardhat-deploy@^0.9.1: - version "0.9.3" - resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.9.3.tgz#cf9a7806c0a86a6f7e9352fc558b26c079983496" - integrity sha512-0sxxQoxcA1+LSVmmLwp9empK4Pz5tjr92JvfcobojBz35DSpp0o3f0f/tXocYWaGbOrms3eQJ8OX5WVsmcnN4Q== + version "0.9.14" + resolved "https://registry.yarnpkg.com/hardhat-deploy/-/hardhat-deploy-0.9.14.tgz#88c07497efd14cfca6f9fed1574f0bad65f0a8a0" + integrity sha512-mCwXeXdqtrQN8dL1gOnoGUh0z9Jylfsh56UNVZJC0c8AhjlwjLPgGE3pzNmMuyy88pj9OX4qo53X57bW2W7NJQ== dependencies: "@ethersproject/abi" "^5.4.0" "@ethersproject/abstract-signer" "^5.4.1" "@ethersproject/address" "^5.4.0" "@ethersproject/bignumber" "^5.4.1" "@ethersproject/bytes" "^5.4.0" + "@ethersproject/constants" "^5.4.0" "@ethersproject/contracts" "^5.4.1" "@ethersproject/providers" "^5.4.4" "@ethersproject/solidity" "^5.4.0" @@ -5777,17 +5784,18 @@ hardhat-deploy@^0.9.1: qs "^6.9.4" hardhat-gas-reporter@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.4.tgz#59e3137e38e0dfeac2e4f90d5c74160b50ad4829" - integrity sha512-G376zKh81G3K9WtDA+SoTLWsoygikH++tD1E7llx+X7J+GbIqfwhDKKgvJjcnEesMrtR9UqQHK02lJuXY1RTxw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.6.tgz#699bc0bb96e8c962c7f136a1c1f29cd3c32d569e" + integrity sha512-LlCEmSx1dZpnxKmODb2hmP5eJ1IAM5It3NnBNTUpBTxn9g9qPPI3JQTxj8AbGEiNc3r6V+w/mXYCmiC8pWvnoQ== dependencies: - eth-gas-reporter "^0.2.20" + array-uniq "1.0.3" + eth-gas-reporter "^0.2.23" sha1 "^1.1.1" hardhat@^2.0.8: - version "2.6.6" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.6.6.tgz#11d2dc4c1659fcbb8632de9399b1b4999f8b3628" - integrity sha512-GneZAwvNxf3cNobYTmMSp2qGX/yJyUmHD/xjW+8zF2AgWkLS33CHmGn4aRFKqfjsk7BS7FU6jqMmmZhHHO3gUw== + version "2.7.0" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.7.0.tgz#d8f01bc07bdd88ccaa00719ddb18618bc59a73b5" + integrity sha512-DqweY3KH5gwExoZ8EtsAfioj0Hk0NBXWXT3fMXWkiQNfyYBoZLrqdPNkbJ/E2LD4mZ+BKF7v/1chYR9ZCn2Z+g== dependencies: "@ethereumjs/block" "^3.4.0" "@ethereumjs/blockchain" "^5.4.0" @@ -5796,7 +5804,7 @@ hardhat@^2.0.8: "@ethereumjs/vm" "^5.5.2" "@ethersproject/abi" "^5.1.2" "@sentry/node" "^5.18.1" - "@solidity-parser/parser" "^0.11.0" + "@solidity-parser/parser" "^0.14.0" "@types/bn.js" "^5.1.0" "@types/lru-cache" "^5.1.0" abort-controller "^3.0.0" @@ -5834,7 +5842,7 @@ hardhat@^2.0.8: stacktrace-parser "^0.1.10" "true-case-path" "^2.2.1" tsort "0.0.1" - uuid "^3.3.2" + uuid "^8.3.2" ws "^7.4.6" has-ansi@^2.0.0: @@ -6019,7 +6027,18 @@ http-errors@1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-errors@1.7.3, http-errors@~1.7.2: +http-errors@1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" + integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.1" + +http-errors@~1.7.2: version "1.7.3" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== @@ -6101,9 +6120,9 @@ ignore@^4.0.6: integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.1.1: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + version "5.1.9" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== immediate@^3.2.3: version "3.3.0" @@ -6726,10 +6745,10 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" @@ -6794,13 +6813,13 @@ jsonschema@^1.2.4: integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" - json-schema "0.2.3" + json-schema "0.4.0" verror "1.10.0" keccak@3.0.1: @@ -7397,7 +7416,7 @@ merkle-patricia-tree@3.0.0: rlp "^2.0.0" semaphore ">=1.0.1" -merkle-patricia-tree@^4.2.0, merkle-patricia-tree@^4.2.1: +merkle-patricia-tree@^4.2.0, merkle-patricia-tree@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-4.2.2.tgz#6dec17855370172458244c2f42c989dd60b773a3" integrity sha512-eqZYNTshcYx9aESkSPr71EqwsR/QmpnObDEV4iLxkt/x/IoLYZYjJvKY72voP/27Vy61iMOrfOG6jrn7ttXD+Q== @@ -7450,17 +7469,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.50.0: - version "1.50.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" - integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== +mime-db@1.51.0: + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.33" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" - integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: - mime-db "1.50.0" + mime-db "1.51.0" mime@1.6.0: version "1.6.0" @@ -7566,11 +7585,11 @@ mkdirp@0.5.5, mkdirp@0.5.x, mkdirp@^0.5.1, mkdirp@^0.5.5: minimist "^1.2.5" mnemonist@^0.38.0: - version "0.38.4" - resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.4.tgz#5d2f2dc4386aef78bfadeea60ce704dcf0ef8f3d" - integrity sha512-mflgW0gEWmVLbDDE2gJbOh3+RltTN7CgV9jV25qyCnyLN9FtoltWr7ZtAEDeD9u8W4oFAoolR6fBWieXdn3u8Q== + version "0.38.5" + resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" + integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== dependencies: - obliterator "^1.6.1" + obliterator "^2.0.0" mocha@^4.1.0: version "4.1.0" @@ -7775,9 +7794,9 @@ node-fetch@2.6.1: integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== node-fetch@^2.6.0, node-fetch@^2.6.1: - version "2.6.5" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd" - integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ== + version "2.6.6" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" + integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== dependencies: whatwg-url "^5.0.0" @@ -7799,7 +7818,7 @@ nofilter@^1.0.3, nofilter@^1.0.4: resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== -nofilter@^3.0.3: +nofilter@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== @@ -7871,9 +7890,9 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-inspect@^1.11.0, object-inspect@^1.9.0, object-inspect@~1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + version "1.11.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz#d4bd7d7de54b9a75599f59a00bd698c1f1c6549b" + integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA== object-is@^1.0.1: version "1.1.5" @@ -7936,10 +7955,10 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -obliterator@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-1.6.1.tgz#dea03e8ab821f6c4d96a299e17aef6a3af994ef3" - integrity sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig== +obliterator@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.1.tgz#fbdd873bf39fc4f365a53b1fc86617a22526987c" + integrity sha512-XnkiCrrBcIZQitJPAI36mrrpEUvatbte8hLcTcQwKA1v9NkCKasSi+UAguLsLDs/out7MoRzAlmz7VXvY6ph6w== oboe@2.1.4: version "2.1.4" @@ -8384,16 +8403,16 @@ prettier-linter-helpers@^1.0.0: fast-diff "^1.1.2" prettier-plugin-solidity@^1.0.0-alpha.57: - version "1.0.0-beta.18" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.18.tgz#9705453bacd55b3242110d472f23f624ae6777fc" - integrity sha512-ezWdsG/jIeClmYBzg8V9Voy8jujt+VxWF8OS3Vld+C3c+3cPVib8D9l8ahTod7O5Df1anK9zo+WiiS5wb1mLmg== + version "1.0.0-beta.19" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-beta.19.tgz#7c3607fc4028f5e6a425259ff03e45eedf733df3" + integrity sha512-xxRQ5ZiiZyUoMFLE9h7HnUDXI/daf1tnmL1msEdcKmyh7ZGQ4YklkYLC71bfBpYU2WruTb5/SFLUaEb3RApg5g== dependencies: - "@solidity-parser/parser" "^0.13.2" - emoji-regex "^9.2.2" + "@solidity-parser/parser" "^0.14.0" + emoji-regex "^10.0.0" escape-string-regexp "^4.0.0" semver "^7.3.5" solidity-comments-extractor "^0.0.7" - string-width "^4.2.2" + string-width "^4.2.3" prettier@^1.14.3: version "1.19.1" @@ -8401,9 +8420,9 @@ prettier@^1.14.3: integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== prettier@^2.1.1, prettier@^2.1.2: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" - integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== + version "2.5.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== printj@~1.1.0: version "1.1.2" @@ -8566,9 +8585,9 @@ qs@6.7.0: integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== qs@^6.4.0, qs@^6.7.0, qs@^6.9.4: - version "6.10.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" - integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== + version "6.10.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe" + integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw== dependencies: side-channel "^1.0.4" @@ -8636,12 +8655,12 @@ raw-body@2.4.0: unpipe "1.0.0" raw-body@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" - integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== + version "2.4.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" + integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== dependencies: - bytes "3.1.0" - http-errors "1.7.3" + bytes "3.1.1" + http-errors "1.8.1" iconv-lite "0.4.24" unpipe "1.0.0" @@ -9279,6 +9298,11 @@ setprototypeof@1.1.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + sha.js@^2.4.0, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" @@ -9326,9 +9350,9 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" - integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== + version "3.0.6" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== simple-concat@^1.0.0: version "1.0.1" @@ -9520,9 +9544,9 @@ solhint@^3.2.0: prettier "^1.14.3" solidity-ast@^0.4.15: - version "0.4.27" - resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.27.tgz#7eff60a2269ab24a440ef2bb4baaa088e0a3b4be" - integrity sha512-kCP7njjZlZzl2Ijur7gFwcmuAGBgz+v17xMDFmF9B9GOIljMS+6uJ6aUrbuMEcCuff/aDsW7HyMYMccJDxGbiw== + version "0.4.28" + resolved "https://registry.yarnpkg.com/solidity-ast/-/solidity-ast-0.4.28.tgz#5589998512b9a3602e6ba612cbe7fed7401294f4" + integrity sha512-RtZCP5tSvZMadVtg9/IfLmAMKDOnQEvG2HA6VnPuoTMxqxsbbn4lQy8jgH3RVbqW0eO1hd7cSCKecb72/OeOIw== solidity-comments-extractor@^0.0.7: version "0.0.7" @@ -9581,9 +9605,9 @@ source-map-support@^0.4.15: source-map "^0.5.6" source-map-support@^0.5.13, source-map-support@^0.5.17: - version "0.5.20" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -9640,9 +9664,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== spinnies@^0.4.2: version "0.4.3" @@ -9759,7 +9783,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.2.2: +string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -10150,6 +10174,11 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + tough-cookie@^2.3.3, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" @@ -10351,9 +10380,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@^4.0.2, typescript@^4.2.2: - version "4.4.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" - integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== + version "4.5.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" + integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" @@ -10384,9 +10413,9 @@ typical@^2.6.0, typical@^2.6.1: "@openzeppelin/contracts" "^4.3.0" uglify-js@^3.1.4: - version "3.14.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99" - integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A== + version "3.14.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.4.tgz#68756f17d1b90b9d289341736cb9a567d6882f90" + integrity sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA== ultron@~1.1.0: version "1.1.1" @@ -10525,7 +10554,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@^1.0.0, util.promisify@^1.0.1: +util.promisify@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.1.1.tgz#77832f57ced2c9478174149cae9b96e9918cd54b" integrity sha512-/s3UsZUrIfa6xDhr7zZhnE9SLQ5RIXyYfiVnMMyMDzOc8WhWN4Nbh36H842OyurKbCDAesZOJaVyvmSl6fhGQw== @@ -10568,6 +10597,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -10624,10 +10658,10 @@ web3-bzz@1.5.3: got "9.6.0" swarm-js "^0.1.40" -web3-bzz@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.0.tgz#584b51339f21eedff159abc9239b4b7ef6ded840" - integrity sha512-ugYV6BsinwhIi0CsLWINBz4mqN9wR9vNG0WmyEbdECjxcPyr6vkaWt4qi0zqlUxEnYAwGj4EJXNrbjPILntQTQ== +web3-bzz@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.6.1.tgz#8430eb3cbb69baaee4981d190b840748c37a9ec2" + integrity sha512-JbnFNbRlwwHJZPtVuCxo7rC4U4OTg+mPsyhjgPQJJhS0a6Y54OgVWYk9UA/95HqbmTJwTtX329gJoSsseEfrng== dependencies: "@types/node" "^12.12.6" got "9.6.0" @@ -10659,13 +10693,13 @@ web3-core-helpers@1.5.3: web3-eth-iban "1.5.3" web3-utils "1.5.3" -web3-core-helpers@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.0.tgz#77e161b6ba930a4008a0df804ab379e0aa7e1e7f" - integrity sha512-H/IAH/0mrgvad/oxVKiAMC7qDzMrPPe/nRKmJOoIsupRg9/frvL62kZZiHhqVD1HMyyswbQFC69QRl7JqWzvxg== +web3-core-helpers@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.6.1.tgz#cb21047306871f4cf0fedfece7d47ea2aa96141b" + integrity sha512-om2PZvK1uoWcgMq6JfcSx3241LEIVF6qi2JuHz2SLKiKEW5UsBUaVx0mNCmcZaiuYQCyOsLS3r33q5AdM+v8ng== dependencies: - web3-eth-iban "1.6.0" - web3-utils "1.6.0" + web3-eth-iban "1.6.1" + web3-utils "1.6.1" web3-core-method@1.2.11: version "1.2.11" @@ -10702,17 +10736,16 @@ web3-core-method@1.5.3: web3-core-subscriptions "1.5.3" web3-utils "1.5.3" -web3-core-method@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.0.tgz#ebe4ea51f5a4fa809bb68185576186359d3982e9" - integrity sha512-cHekyEil4mtcCOk6Q1Zh4y+2o5pTwsLIxP6Bpt4BRtZgdsyPiadYJpkLAVT/quch5xN7Qs5ZwG5AvRCS3VwD2g== +web3-core-method@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.6.1.tgz#4ae91c639bf1da85ebfd8b99595da6a2235d7b98" + integrity sha512-szH5KyIWIaULQDBdDvevQUCHV9lsExJ/oV0ePqK+w015D2SdMPMuhii0WB+HCePaksWO+rr/GAypvV9g2T3N+w== dependencies: - "@ethereumjs/common" "^2.4.0" "@ethersproject/transactions" "^5.0.0-beta.135" - web3-core-helpers "1.6.0" - web3-core-promievent "1.6.0" - web3-core-subscriptions "1.6.0" - web3-utils "1.6.0" + web3-core-helpers "1.6.1" + web3-core-promievent "1.6.1" + web3-core-subscriptions "1.6.1" + web3-utils "1.6.1" web3-core-promievent@1.2.11: version "1.2.11" @@ -10736,10 +10769,10 @@ web3-core-promievent@1.5.3: dependencies: eventemitter3 "4.0.4" -web3-core-promievent@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.0.tgz#8b6053ae83cb47164540167fc361469fc604d2dd" - integrity sha512-ZzsevjMXWkhqW9dnVfTfb1OUcK7jKcKPvPIbQ4boJccNgvNZPZKlo8xB4pkAX38n4c59O5mC7Lt/z2QL/M5CeQ== +web3-core-promievent@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.6.1.tgz#f650dea9361e2edf02691015b213fcc8ea499992" + integrity sha512-byJ5s2MQxrWdXd27pWFmujfzsTZK4ik8rDgIV1RFDFc+rHZ2nZhq+VWk7t/Nkrj7EaVXncEgTdPEHc18nx+ocQ== dependencies: eventemitter3 "4.0.4" @@ -10776,16 +10809,16 @@ web3-core-requestmanager@1.5.3: web3-providers-ipc "1.5.3" web3-providers-ws "1.5.3" -web3-core-requestmanager@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.0.tgz#8ef3a3b89cd08983bd94574f9c5893f70a8a6aea" - integrity sha512-CY5paPdiDXKTXPWaEUZekDfUXSuoE2vPxolwqzsvKwFWH5+H1NaXgrc+D5HpufgSvTXawTw0fy7IAicg8+PWqA== +web3-core-requestmanager@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.6.1.tgz#d9c08b0716c9cda546a0c02767b7e08deb04448a" + integrity sha512-4y7etYEUtkfflyYVBfN1oJtCbVFNhNX1omlEYzezhTnPj3/dT7n+dhUXcqvIhx9iKA13unGfpFge80XNFfcB8A== dependencies: util "^0.12.0" - web3-core-helpers "1.6.0" - web3-providers-http "1.6.0" - web3-providers-ipc "1.6.0" - web3-providers-ws "1.6.0" + web3-core-helpers "1.6.1" + web3-providers-http "1.6.1" + web3-providers-ipc "1.6.1" + web3-providers-ws "1.6.1" web3-core-subscriptions@1.2.11: version "1.2.11" @@ -10813,13 +10846,13 @@ web3-core-subscriptions@1.5.3: eventemitter3 "4.0.4" web3-core-helpers "1.5.3" -web3-core-subscriptions@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.0.tgz#8c23b15b434a7c9f937652ecca45d7108e2c54df" - integrity sha512-kY9WZUY/m1URSOv3uTLshoZD9ZDiFKReIzHuPUkxFpD5oYNmr1/aPQNPCrrMxKODR7UVX/D90FxWwCYqHhLaxQ== +web3-core-subscriptions@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.6.1.tgz#4dfc1f74137354d4ac9eaa628aa916c5e2cc8741" + integrity sha512-WZwxsYttIojyGQ5RqxuQcKg0IJdDCFpUe4EncS3QKZwxPqWzGmgyLwE0rm7tP+Ux1waJn5CUaaoSCBxWGSun1g== dependencies: eventemitter3 "4.0.4" - web3-core-helpers "1.6.0" + web3-core-helpers "1.6.1" web3-core@1.2.11: version "1.2.11" @@ -10859,18 +10892,18 @@ web3-core@1.5.3: web3-core-requestmanager "1.5.3" web3-utils "1.5.3" -web3-core@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.0.tgz#144eb00f651c9812faf7176abd7ee99d5f45e212" - integrity sha512-o0WsLrJ2yD+HAAc29lGMWJef/MutTyuzpJC0UzLJtIAQJqtpDalzWINEu4j8XYXGk34N/V6vudtzRPo23QEE6g== +web3-core@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.6.1.tgz#b41f08fdc9ea1082d15384a3d6fa93a47c3fc1b4" + integrity sha512-m+b7UfYvU5cQUAh6NRfxRzH/5B3to1AdEQi1HIQt570cDWlObOOmoO9tY6iJnI5w4acxIO19LqjDMqEJGBYyRQ== dependencies: "@types/bn.js" "^4.11.5" "@types/node" "^12.12.6" bignumber.js "^9.0.0" - web3-core-helpers "1.6.0" - web3-core-method "1.6.0" - web3-core-requestmanager "1.6.0" - web3-utils "1.6.0" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-core-requestmanager "1.6.1" + web3-utils "1.6.1" web3-eth-abi@1.2.11: version "1.2.11" @@ -10898,13 +10931,13 @@ web3-eth-abi@1.5.3: "@ethersproject/abi" "5.0.7" web3-utils "1.5.3" -web3-eth-abi@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.0.tgz#4225608f61ebb0607d80849bb2b20f910780253d" - integrity sha512-fImomGE9McuTMJLwK8Tp0lTUzXqCkWeMm00qPVIwpJ/h7lCw9UFYV9+4m29wSqW6FF+FIZKwc6UBEf9dlx3orA== +web3-eth-abi@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.6.1.tgz#15b937e3188570754d50bbac51a4bb0578600d1d" + integrity sha512-svhYrAlXP9XQtV7poWKydwDJq2CaNLMtmKydNXoOBLcQec6yGMP+v20pgrxF2H6wyTK+Qy0E3/5ciPOqC/VuoQ== dependencies: "@ethersproject/abi" "5.0.7" - web3-utils "1.6.0" + web3-utils "1.6.1" web3-eth-accounts@1.2.11: version "1.2.11" @@ -10958,22 +10991,22 @@ web3-eth-accounts@1.5.3: web3-core-method "1.5.3" web3-utils "1.5.3" -web3-eth-accounts@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.0.tgz#530927f4c5b78df93b3ea1203abbb467de29cd04" - integrity sha512-2f6HS4KIH4laAsNCOfbNX3dRiQosqSY2TRK86C8jtAA/QKGdx+5qlPfYzbI2RjG81iayb2+mVbHIaEaBGZ8sGw== +web3-eth-accounts@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.6.1.tgz#aeb0dfb52c4391773550569732975b471212583f" + integrity sha512-rGn3jwnuOKwaQRu4SiShz0YAQ87aVDBKs4HO43+XTCI1q1Y1jn3NOsG3BW9ZHaOckev4+zEyxze/Bsh2oEk24w== dependencies: - "@ethereumjs/common" "^2.3.0" - "@ethereumjs/tx" "^3.2.1" + "@ethereumjs/common" "^2.5.0" + "@ethereumjs/tx" "^3.3.2" crypto-browserify "3.12.0" eth-lib "0.2.8" ethereumjs-util "^7.0.10" scrypt-js "^3.0.1" uuid "3.3.2" - web3-core "1.6.0" - web3-core-helpers "1.6.0" - web3-core-method "1.6.0" - web3-utils "1.6.0" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-utils "1.6.1" web3-eth-contract@1.2.11: version "1.2.11" @@ -11019,19 +11052,19 @@ web3-eth-contract@1.5.3: web3-eth-abi "1.5.3" web3-utils "1.5.3" -web3-eth-contract@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.0.tgz#deb946867ad86d32bcbba899d733b681b25ea674" - integrity sha512-ZUtO77zFnxuFtrc+D+iJ3AzNgFXAVcKnhEYN7f1PNz/mFjbtE6dJ+ujO0mvMbxIZF02t9IZv0CIXRpK0rDvZAw== +web3-eth-contract@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.6.1.tgz#4b0a2c0b37015d70146e54c7cb3f035a58fbeec0" + integrity sha512-GXqTe3mF6kpbOAakiNc7wtJ120/gpuKMTZjuGFKeeY8aobRLfbfgKzM9IpyqVZV2v5RLuGXDuurVN2KPgtu3hQ== dependencies: "@types/bn.js" "^4.11.5" - web3-core "1.6.0" - web3-core-helpers "1.6.0" - web3-core-method "1.6.0" - web3-core-promievent "1.6.0" - web3-core-subscriptions "1.6.0" - web3-eth-abi "1.6.0" - web3-utils "1.6.0" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-core-promievent "1.6.1" + web3-core-subscriptions "1.6.1" + web3-eth-abi "1.6.1" + web3-utils "1.6.1" web3-eth-ens@1.2.11: version "1.2.11" @@ -11076,19 +11109,19 @@ web3-eth-ens@1.5.3: web3-eth-contract "1.5.3" web3-utils "1.5.3" -web3-eth-ens@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.0.tgz#af13852168d56fa71b9198eb097e96fb93831c2a" - integrity sha512-AG24PNv9qbYHSpjHcU2pViOII0jvIR7TeojJ2bxXSDqfcgHuRp3NZGKv6xFvT4uNI4LEQHUhSC7bzHoNF5t8CA== +web3-eth-ens@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.6.1.tgz#801bd5fb5237377ec2ed8517a9fe4634f2269c7a" + integrity sha512-ngprtbnoRgxg8s1wXt9nXpD3h1P+p7XnKXrp/8GdFI9uDmrbSQPRfzBw86jdZgOmy78hAnWmrHI6pBInmgi2qQ== dependencies: content-hash "^2.5.2" eth-ens-namehash "2.0.8" - web3-core "1.6.0" - web3-core-helpers "1.6.0" - web3-core-promievent "1.6.0" - web3-eth-abi "1.6.0" - web3-eth-contract "1.6.0" - web3-utils "1.6.0" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-promievent "1.6.1" + web3-eth-abi "1.6.1" + web3-eth-contract "1.6.1" + web3-utils "1.6.1" web3-eth-iban@1.2.11: version "1.2.11" @@ -11114,13 +11147,13 @@ web3-eth-iban@1.5.3: bn.js "^4.11.9" web3-utils "1.5.3" -web3-eth-iban@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.0.tgz#edbe46cedc5b148d53fa455edea6b4eef53b2be7" - integrity sha512-HM/bKBS/e8qg0+Eh7B8C/JVG+GkR4AJty17DKRuwMtrh78YsonPj7GKt99zS4n5sDLFww1Imu/ZIk3+K5uJCjw== +web3-eth-iban@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.6.1.tgz#20bbed75723e3e9ff98e624979629d26329462b6" + integrity sha512-91H0jXZnWlOoXmc13O9NuQzcjThnWyAHyDn5Yf7u6mmKOhpJSGF/OHlkbpXt1Y4v2eJdEPaVFa+6i8aRyagE7Q== dependencies: bn.js "^4.11.9" - web3-utils "1.6.0" + web3-utils "1.6.1" web3-eth-personal@1.2.11: version "1.2.11" @@ -11158,17 +11191,17 @@ web3-eth-personal@1.5.3: web3-net "1.5.3" web3-utils "1.5.3" -web3-eth-personal@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.0.tgz#b75a61c0737b8b8bcc11d05db2ed7bfce7e4b262" - integrity sha512-8ohf4qAwbShf4RwES2tLHVqa+pHZnS5Q6tV80sU//bivmlZeyO1W4UWyNn59vu9KPpEYvLseOOC6Muxuvr8mFQ== +web3-eth-personal@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.6.1.tgz#9b524fb9f92b51163f46920ee2663d34a4897c8d" + integrity sha512-ItsC89Ln02+irzJjK6ALcLrMZfbVUCqVbmb/ieDKJ+eLW3pNkBNwoUzaydh92d5NzxNZgNxuQWVdlFyYX2hkEw== dependencies: "@types/node" "^12.12.6" - web3-core "1.6.0" - web3-core-helpers "1.6.0" - web3-core-method "1.6.0" - web3-net "1.6.0" - web3-utils "1.6.0" + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-net "1.6.1" + web3-utils "1.6.1" web3-eth@1.2.11: version "1.2.11" @@ -11226,23 +11259,23 @@ web3-eth@1.5.3: web3-net "1.5.3" web3-utils "1.5.3" -web3-eth@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.0.tgz#4c9d5fb4eccf9f8744828281757e6ea76af58cbd" - integrity sha512-qJMvai//r0be6I9ghU24/152f0zgJfYC23TMszN3Y6jse1JtjCBP2TlTibFcvkUN1RRdIUY5giqO7ZqAYAmp7w== - dependencies: - web3-core "1.6.0" - web3-core-helpers "1.6.0" - web3-core-method "1.6.0" - web3-core-subscriptions "1.6.0" - web3-eth-abi "1.6.0" - web3-eth-accounts "1.6.0" - web3-eth-contract "1.6.0" - web3-eth-ens "1.6.0" - web3-eth-iban "1.6.0" - web3-eth-personal "1.6.0" - web3-net "1.6.0" - web3-utils "1.6.0" +web3-eth@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.6.1.tgz#a25aba1ac213d872ecf3f81c7b4ab8072ecae224" + integrity sha512-kOV1ZgCKypSo5BQyltRArS7ZC3bRpIKAxSgzl7pUFinUb/MxfbM9KGeNxUXoCfTSErcCQJaDjcS6bSre5EMKuQ== + dependencies: + web3-core "1.6.1" + web3-core-helpers "1.6.1" + web3-core-method "1.6.1" + web3-core-subscriptions "1.6.1" + web3-eth-abi "1.6.1" + web3-eth-accounts "1.6.1" + web3-eth-contract "1.6.1" + web3-eth-ens "1.6.1" + web3-eth-iban "1.6.1" + web3-eth-personal "1.6.1" + web3-net "1.6.1" + web3-utils "1.6.1" web3-net@1.2.11: version "1.2.11" @@ -11271,14 +11304,14 @@ web3-net@1.5.3: web3-core-method "1.5.3" web3-utils "1.5.3" -web3-net@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.0.tgz#2c28f8787073110a7c2310336889d2dad647e500" - integrity sha512-LFfG95ovTT2sNHkO1TEfsaKpYcxOSUtbuwHQ0K3G0e5nevKDJkPEFIqIcob40yiwcWoqEjENJP9Bjk8CRrZ99Q== +web3-net@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.6.1.tgz#7a630a804ec9f81908ae52ccbb4ebbb9530b3906" + integrity sha512-gpnqKEIwfUHh5ik7wsQFlCje1DfcmGv+Sk7LCh1hCqn++HEDQxJ/mZCrMo11ZZpZHCH7c87imdxTg96GJnRxDw== dependencies: - web3-core "1.6.0" - web3-core-method "1.6.0" - web3-utils "1.6.0" + web3-core "1.6.1" + web3-core-method "1.6.1" + web3-utils "1.6.1" web3-provider-engine@14.2.1: version "14.2.1" @@ -11330,12 +11363,12 @@ web3-providers-http@1.5.3: web3-core-helpers "1.5.3" xhr2-cookies "1.1.0" -web3-providers-http@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.0.tgz#8db4e589abf7197f5d65b12af1bf9726c45f4160" - integrity sha512-sNxHFNv3lnxpmULt34AS6M36IYB/Hzm2Et4yPNzdP1XE644D8sQBZQZaJQdTaza5HfrlwoqU6AOK935armqGuA== +web3-providers-http@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.6.1.tgz#b59b14eefef23b98c327806f5f566303a73bd435" + integrity sha512-xBoKOJxu10+kO3ikamXmBfrWZ/xpQOGy0ocdp7Y81B17En5TXELwlmMXt1UlIgWiyYDhjq4OwlH/VODYqHXy3A== dependencies: - web3-core-helpers "1.6.0" + web3-core-helpers "1.6.1" xhr2-cookies "1.1.0" web3-providers-ipc@1.2.11: @@ -11364,13 +11397,13 @@ web3-providers-ipc@1.5.3: oboe "2.1.5" web3-core-helpers "1.5.3" -web3-providers-ipc@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.0.tgz#6a3410fd47a67c4a36719fb97f99534ae12aac98" - integrity sha512-ETYdfhpGiGoWpmmSJnONvnPfd3TPivHEGjXyuX+L5FUsbMOVZj9MFLNIS19Cx/YGL8UWJ/8alLJoTcWSIdz/aA== +web3-providers-ipc@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.6.1.tgz#7ba460589d46896bb3d124288deed1b6a72d517e" + integrity sha512-anyoIZlpMzwEQI4lwylTzDrHsVp20v0QUtSTp2B5jInBinmQtyCE7vnbX20jEQ4j5uPwfJabKNtoJsk6a3O4WQ== dependencies: oboe "2.1.5" - web3-core-helpers "1.6.0" + web3-core-helpers "1.6.1" web3-providers-ws@1.2.11: version "1.2.11" @@ -11400,13 +11433,13 @@ web3-providers-ws@1.5.3: web3-core-helpers "1.5.3" websocket "^1.0.32" -web3-providers-ws@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.0.tgz#dc15dc18c30089efda992015fd5254bd2b77af5f" - integrity sha512-eNRmlhOPCpuVYwBrKBBQRLGPFb4U1Uo44r9EWV69Cpo4gP6XeBTl6nkawhLz6DS0fq79apyPfItJVuSfAy77pA== +web3-providers-ws@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.6.1.tgz#f7ee71f158971102b865e99ea7911f483e0507e9" + integrity sha512-FWMEFYb4rYFYRgSFBf/O1Ex4p/YKSlN+JydCtdlJwRimd89qm95CTfs4xGjCskwvXMjV2sarH+f1NPwJXicYpg== dependencies: eventemitter3 "4.0.4" - web3-core-helpers "1.6.0" + web3-core-helpers "1.6.1" websocket "^1.0.32" web3-shh@1.2.11: @@ -11439,15 +11472,15 @@ web3-shh@1.5.3: web3-core-subscriptions "1.5.3" web3-net "1.5.3" -web3-shh@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.0.tgz#838a3435dce1039f669a48e53e948062de197931" - integrity sha512-ymN0OFL81WtEeSyb+PFpuUv39fR3frGwsZnIg5EVPZvrOIdaDSFcGSLDmafUt0vKSubvLMVYIBOCskRD6YdtEQ== +web3-shh@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.6.1.tgz#eebaab2e5e6be80fe2585c6c094fa10a03349ca7" + integrity sha512-oP00HbAtybLCGlLOZUYXOdeB9xq88k2l0TtStvKBtmFqRt+zVk5TxEeuOnVPRxNhcA2Un8RUw6FtvgZlWStu9A== dependencies: - web3-core "1.6.0" - web3-core-method "1.6.0" - web3-core-subscriptions "1.6.0" - web3-net "1.6.0" + web3-core "1.6.1" + web3-core-method "1.6.1" + web3-core-subscriptions "1.6.1" + web3-net "1.6.1" web3-utils@1.2.11: version "1.2.11" @@ -11490,10 +11523,10 @@ web3-utils@1.5.3: randombytes "^2.1.0" utf8 "3.0.0" -web3-utils@1.6.0, web3-utils@^1.0.0-beta.31, web3-utils@^1.3.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.0.tgz#1975c5ee5b7db8a0836eb7004848a7cd962d1ddc" - integrity sha512-bgCAWAeQnJF035YTFxrcHJ5mGEfTi/McsjqldZiXRwlHK7L1PyOqvXiQLE053dlzvy1kdAxWl/sSSfLMyNUAXg== +web3-utils@1.6.1, web3-utils@^1.0.0-beta.31, web3-utils@^1.3.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.6.1.tgz#befcb23922b00603ab56d8c5b4158468dc494aca" + integrity sha512-RidGKv5kOkcerI6jQqDFDoTllQQqV+rPhTzZHhmbqtFObbYpU93uc+yG1LHivRTQhA6llIx67iudc/vzisgO+w== dependencies: bn.js "^4.11.9" ethereum-bloom-filters "^1.0.6" @@ -11544,17 +11577,17 @@ web3@1.5.3: web3-utils "1.5.3" web3@^1.3.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.0.tgz#d8fa0cd9e7bf252f9fe43bb77dc42bc6671affde" - integrity sha512-rWpXnO88MiVX5yTRqMBCVKASxc7QDkXZZUl1D48sKlbX4dt3BAV+nVMVUKCBKiluZ5Bp8pDrVCUdPx/jIYai5Q== + version "1.6.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.6.1.tgz#c9e68fe7b3073adddf35393441f950ec69b92735" + integrity sha512-c299lLiyb2/WOcxh7TinwvbATaMmrgNIeAzbLbmOKHI0LcwyfsB1eu2ReOIrfrCYDYRW2KAjYr7J7gHawqDNPQ== dependencies: - web3-bzz "1.6.0" - web3-core "1.6.0" - web3-eth "1.6.0" - web3-eth-personal "1.6.0" - web3-net "1.6.0" - web3-shh "1.6.0" - web3-utils "1.6.0" + web3-bzz "1.6.1" + web3-core "1.6.1" + web3-eth "1.6.1" + web3-eth-personal "1.6.1" + web3-net "1.6.1" + web3-shh "1.6.1" + web3-utils "1.6.1" webidl-conversions@^3.0.0: version "3.0.1" @@ -11740,9 +11773,9 @@ ws@^5.1.1: async-limiter "~1.0.0" ws@^7.4.6: - version "7.5.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + version "7.5.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" + integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== xhr-request-promise@^0.1.2: version "0.1.3" From 77c1ba9675d9fc6e58f5cf91180069106dd08146 Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Tue, 7 Dec 2021 14:52:39 -0500 Subject: [PATCH 08/13] updated rebase script --- sdk/ampleforth.js | 9 ++++----- tasks/ops/rebase.js | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/sdk/ampleforth.js b/sdk/ampleforth.js index 00c456b..d27ddf2 100644 --- a/sdk/ampleforth.js +++ b/sdk/ampleforth.js @@ -34,11 +34,10 @@ const execRebase = async ( txParams = {}, ) => { // Casting percChange to Bignumber.js instance to handle floating points - const rateDiff = BigNumber(AMPL_BASE_RATE.toString()) - .times(percChange) - .div(100) - .toString(10); - const newRate = AMPL_BASE_RATE.add(rateDiff); + const newRate = new BigNumber(AMPL_BASE_RATE.toString()) + .times(100 + parseFloat(percChange)) + .div(100) + .toString(10); const rateTx = await rateOracle.connect(signer).pushReport(newRate, txParams); await rateTx.wait(); diff --git a/tasks/ops/rebase.js b/tasks/ops/rebase.js index 49abb7f..c38d865 100644 --- a/tasks/ops/rebase.js +++ b/tasks/ops/rebase.js @@ -14,7 +14,7 @@ const { const { printRebaseInfo, execRebase } = require('../../sdk/ampleforth'); txTask('testnet:rebase:base_chain', 'Executes rebase on the base chain') - .addParam('rebasePerc', 'The rebase percentage to be applied', 0, types.float) + .addParam('rebasePerc', 'The rebase percentage to be applied', '0') .setAction(async (args, hre) => { const txParams = { gasPrice: args.gasPrice, gasLimit: args.gasLimit }; if (txParams.gasPrice == 0) { From 6aba0d299e6e275d5d42e2114f61ba5c9317a82f Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Thu, 16 Dec 2021 12:45:19 -0500 Subject: [PATCH 09/13] added back wrongfully removed endpoint --- hardhat.config.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hardhat.config.js b/hardhat.config.js index 9dffe84..6c767a5 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -130,6 +130,9 @@ module.exports = { prodBscSatChain: { url: 'https://bsc-dataseed.binance.org', }, + prodAvaxSatChain: { + url: 'https://api.avax.network/ext/bc/C/rpc' + }, prodMeterSatChain: { url: 'https://rpc.meter.io', }, From 388cb3694cad7262b9fc24bbaa7b8e242b3314d0 Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Thu, 16 Dec 2021 13:10:10 -0500 Subject: [PATCH 10/13] removed todo --- contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol | 2 -- 1 file changed, 2 deletions(-) diff --git a/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol b/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol index c634508..6e90069 100644 --- a/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol +++ b/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol @@ -267,8 +267,6 @@ contract AMPLArbitrumGateway is (exitNum, globalAMPLSupply) = abi.decode(_data, (uint256, uint256)); // Log inbound transfer and release funds - // NOTE: this fails with the aribturm UI which approves this contract NOT the vault. - // TODO: safe transfer from user to self and then forward to the vault. uint256 unlockAmount; { uint256 recordedGlobalAMPLSupply = IERC20(ampl).totalSupply(); From 5b3d984f355104a754d4e0fdbbfadc1f588d45db Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Thu, 16 Dec 2021 13:39:41 -0500 Subject: [PATCH 11/13] updated yarn.lock --- yarn.lock | 135 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 78 insertions(+), 57 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6f72ad4..df7142d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -92,7 +92,7 @@ patch-package "^6.2.2" postinstall-postinstall "^2.1.0" -"@ethereumjs/block@^3.4.0", "@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.6.0": +"@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.6.0": version "3.6.0" resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.6.0.tgz#5cf89ea748607597a3f8b038abc986e4ac0b05db" integrity sha512-dqLo1LtsLG+Oelu5S5tWUDG0pah3QUwV5TJZy2cm19BXDr4ka/S9XBSgao0i09gTcuPlovlHgcs6d7EZ37urjQ== @@ -102,7 +102,7 @@ ethereumjs-util "^7.1.3" merkle-patricia-tree "^4.2.2" -"@ethereumjs/blockchain@^5.4.0", "@ethereumjs/blockchain@^5.5.0": +"@ethereumjs/blockchain@^5.5.0": version "5.5.1" resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.5.1.tgz#60f1f50592c06cc47e1704800b88b7d32f609742" integrity sha512-JS2jeKxl3tlaa5oXrZ8mGoVBCz6YqsGG350XVNtHAtNZXKk7pU3rH4xzF2ru42fksMMqzFLzKh9l4EQzmNWDqA== @@ -135,7 +135,7 @@ ethereumjs-util "^7.1.1" miller-rabin "^4.0.0" -"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.0", "@ethereumjs/tx@^3.3.2", "@ethereumjs/tx@^3.4.0": +"@ethereumjs/tx@^3.2.1", "@ethereumjs/tx@^3.3.2", "@ethereumjs/tx@^3.4.0": version "3.4.0" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7" integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw== @@ -143,7 +143,7 @@ "@ethereumjs/common" "^2.6.0" ethereumjs-util "^7.1.3" -"@ethereumjs/vm@^5.5.2": +"@ethereumjs/vm@^5.6.0": version "5.6.0" resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.6.0.tgz#e0ca62af07de820143674c30b776b86c1983a464" integrity sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ== @@ -931,9 +931,9 @@ "@types/web3" "1.0.19" "@openzeppelin/contracts-0.8@npm:@openzeppelin/contracts@^4.3.2", "@openzeppelin/contracts@^4.3.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.4.0.tgz#4a1df71f736c31230bbbd634dfb006a756b51e6b" - integrity sha512-dlKiZmDvJnGRLHojrDoFZJmsQVeltVeoiRN7RK+cf2FmkhASDEblE0RiaYdxPNsUZa6mRG8393b9bfyp+V5IAw== + version "4.4.1" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.4.1.tgz#3382db2cd83ab565ed9626765e7da92944b45de8" + integrity sha512-o+pHCf/yMLSlV5MkDQEzEQL402i6SoRnktru+0rdSxVEFZcTzzGhZCAtZjUFyKGazMSv1TilzMg+RbED1N8XHQ== "@openzeppelin/contracts-upgradeable@3.4.2", "@openzeppelin/contracts-upgradeable@^3.3.0": version "3.4.2" @@ -1233,9 +1233,9 @@ "@types/node" "*" "@types/chai@*", "@types/chai@^4.2.12": - version "4.2.22" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.22.tgz#47020d7e4cf19194d43b5202f35f75bd2ad35ce7" - integrity sha512-tFfcE+DSTzWAgifkjik9AySNqIyNoYwmR+uecPwwD/XRNfvOjmC/FjCxpiUGDkDVDphPfCUecSQVFw+lN3M3kQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.0.tgz#23509ebc1fa32f1b4d50d6a66c4032d5b8eaabdc" + integrity sha512-/ceqdqeRraGolFTcfoXNiqjyQhZzbINDngeoAq9GoHa8PPK1yNzTaxWjA6BFWp5Ua9JpXEMSS4s5i9tS0hOJtw== "@types/concat-stream@^1.6.0": version "1.6.1" @@ -1304,9 +1304,9 @@ form-data "^3.0.0" "@types/node@*": - version "16.11.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10" - integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== + version "17.0.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.0.tgz#62797cee3b8b497f6547503b2312254d4fe3c2bb" + integrity sha512-eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw== "@types/node@^10.0.3", "@types/node@^10.12.18", "@types/node@^10.3.2": version "10.17.60" @@ -1647,7 +1647,7 @@ app-root-path@~2.1.0: "arb-bridge-eth@https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-eth": version "0.7.2" - resolved "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-eth#321d912dfcea4838f8a2a23673a4c36789525bf1" + resolved "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-eth#dc07930a5cf57505dddd261632227f1cf4fdb67e" dependencies: "@openzeppelin/contracts" "3.4.2" "@openzeppelin/contracts-0.8" "npm:@openzeppelin/contracts@^4.3.2" @@ -1660,7 +1660,7 @@ app-root-path@~2.1.0: "arb-bridge-peripherals@https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-peripherals": version "1.0.0" - resolved "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-peripherals#c17ad41b5020e42a04835da8564930c379c43c2a" + resolved "https://gitpkg.now.sh/OffchainLabs/arbitrum/packages/arb-bridge-peripherals#3208bf4060f356716f25a6091419927cce33fe74" optionalDependencies: "@openzeppelin/upgrades-core" "^1.7.6" @@ -2438,9 +2438,9 @@ bignumber.js@^7.2.0: integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== bignumber.js@^9.0.0, bignumber.js@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.1.tgz#8d7ba124c882bfd8e43260c67475518d0689e4e5" - integrity sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA== + version "9.0.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" + integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== binary-extensions@^2.0.0: version "2.2.0" @@ -2526,7 +2526,7 @@ bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== -body-parser@1.19.0, body-parser@^1.16.0: +body-parser@1.19.0: version "1.19.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== @@ -2542,6 +2542,22 @@ body-parser@1.19.0, body-parser@^1.16.0: raw-body "2.4.0" type-is "~1.6.17" +body-parser@^1.16.0: + version "1.19.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" + integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== + dependencies: + bytes "3.1.1" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.8.1" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.9.6" + raw-body "2.4.2" + type-is "~1.6.18" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -2847,9 +2863,9 @@ camelcase@^5.0.0: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== caniuse-lite@^1.0.30000844: - version "1.0.30001285" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001285.tgz#fe1e52229187e11d6670590790d669b9e03315b7" - integrity sha512-KAOkuUtcQ901MtmvxfKD+ODHH9YVDYnBt+TGYSz2KIfnq22CiArbUxXPN9067gNbgMlnNYRSwho8OPXZPALB9Q== + version "1.0.30001287" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001287.tgz#5fab6a46ab9e47146d5dd35abfe47beaf8073c71" + integrity sha512-4udbs9bc0hfNrcje++AxBuc6PfLNHwh3PO9kbwnfCQWyqtlzg3py0YgFu8jyRTTo85VAz4U+VLxSlID09vNtWA== caseless@^0.12.0, caseless@~0.12.0: version "0.12.0" @@ -3267,9 +3283,9 @@ copy-descriptor@^0.1.0: integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= core-js-pure@^3.0.1: - version "3.19.3" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.3.tgz#c69b2b36b58927317824994b532ec3f0f7e49607" - integrity sha512-N3JruInmCyt7EJj5mAq3csCgGYgiSqu7p7TQp2KOztr180/OAIxyIvL1FCjzgmQk/t3Yniua50Fsak7FShI9lA== + version "3.20.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.0.tgz#7253feccf8bb05b72c153ddccdbe391ddbffbe03" + integrity sha512-qsrbIwWSEEYOM7z616jAVgwhuDDtPLwZSpUsU3vyUkHYqKTf/uwOJBZg2V7lMurYWkpVlaVOxBrfX0Q3ppvjfg== core-js@^2.4.0, core-js@^2.5.0: version "2.6.12" @@ -3755,9 +3771,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.47: - version "1.4.12" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.12.tgz#5f73d1278c6205fc41d7a0ebd75563046b77c5d8" - integrity sha512-zjfhG9Us/hIy8AlQ5OzfbR/C4aBv1Dg/ak4GX35CELYlJ4tDAtoEcQivXvyBdqdNQ+R6PhlgQqV8UNPJmhkJog== + version "1.4.20" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.20.tgz#8fbf9677ccac19b4249c0a6204e0943d9d66ce30" + integrity sha512-N7ZVNrdzX8NE90OXEFBMsBf3fp8P/vVDUER3WCUZjzC7OkNTXHVoF6W9qVhq8+dA8tGnbDajzUpj2ISNVVyj+Q== elliptic@6.3.3: version "6.3.3" @@ -5239,9 +5255,9 @@ follow-redirects@1.5.10: debug "=3.1.0" follow-redirects@^1.12.1, follow-redirects@^1.14.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + version "1.14.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd" + integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A== for-each@^0.3.3, for-each@~0.3.3: version "0.3.3" @@ -5793,15 +5809,15 @@ hardhat-gas-reporter@^1.0.3: sha1 "^1.1.1" hardhat@^2.0.8: - version "2.7.0" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.7.0.tgz#d8f01bc07bdd88ccaa00719ddb18618bc59a73b5" - integrity sha512-DqweY3KH5gwExoZ8EtsAfioj0Hk0NBXWXT3fMXWkiQNfyYBoZLrqdPNkbJ/E2LD4mZ+BKF7v/1chYR9ZCn2Z+g== + version "2.8.0" + resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.8.0.tgz#4701fafe2de4fe88bed328561e554df85455385b" + integrity sha512-A2L5F+B7HgdvfcuEWBXyokzP3biSlu4UeIvNR/lgSC0Og/2kbP9cjMMkIH42V1W8nQEZk70VuryhVKX2uHwSYw== dependencies: - "@ethereumjs/block" "^3.4.0" - "@ethereumjs/blockchain" "^5.4.0" - "@ethereumjs/common" "^2.4.0" - "@ethereumjs/tx" "^3.3.0" - "@ethereumjs/vm" "^5.5.2" + "@ethereumjs/block" "^3.6.0" + "@ethereumjs/blockchain" "^5.5.0" + "@ethereumjs/common" "^2.6.0" + "@ethereumjs/tx" "^3.4.0" + "@ethereumjs/vm" "^5.6.0" "@ethersproject/abi" "^5.1.2" "@sentry/node" "^5.18.1" "@solidity-parser/parser" "^0.14.0" @@ -5819,7 +5835,7 @@ hardhat@^2.0.8: eth-sig-util "^2.5.2" ethereum-cryptography "^0.1.2" ethereumjs-abi "^0.6.8" - ethereumjs-util "^7.1.0" + ethereumjs-util "^7.1.3" find-up "^2.1.0" fp-ts "1.19.3" fs-extra "^7.0.1" @@ -6471,9 +6487,9 @@ is-natural-number@^4.0.1: integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.6" @@ -6580,11 +6596,11 @@ is-utf8@^0.2.0: integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= is-weakref@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" - integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" is-windows@^1.0.2: version "1.0.2" @@ -8584,6 +8600,11 @@ qs@6.7.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== +qs@6.9.6: + version "6.9.6" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" + integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== + qs@^6.4.0, qs@^6.7.0, qs@^6.9.4: version "6.10.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe" @@ -8654,7 +8675,7 @@ raw-body@2.4.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@^2.4.1: +raw-body@2.4.2, raw-body@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== @@ -10380,9 +10401,9 @@ typedarray@^0.0.6: integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= typescript@^4.0.2, typescript@^4.2.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" - integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== + version "4.5.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" + integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" @@ -10413,9 +10434,9 @@ typical@^2.6.0, typical@^2.6.1: "@openzeppelin/contracts" "^4.3.0" uglify-js@^3.1.4: - version "3.14.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.4.tgz#68756f17d1b90b9d289341736cb9a567d6882f90" - integrity sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA== + version "3.14.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.5.tgz#cdabb7d4954231d80cb4a927654c4655e51f4859" + integrity sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ== ultron@~1.1.0: version "1.1.1" @@ -10446,9 +10467,9 @@ underscore@1.9.1: integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== underscore@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" - integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + version "1.13.2" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881" + integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g== union-value@^1.0.0: version "1.0.1" From 641e69fab04ab67c6884e2d33c557a1e0d945727 Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Thu, 16 Dec 2021 13:59:08 -0500 Subject: [PATCH 12/13] linter fixes --- .eslintrc.js | 2 + .solcover.js | 2 +- .../bridge-gateways/AMPLArbitrumGateway.sol | 2 + .../AMPLChainBridgeGateway.sol | 1 + .../ArbitrumXCAmpleGateway.sol | 3 + .../ChainBridgeXCAmpleGateway.sol | 1 + hardhat.config.js | 70 +++++++++---------- helpers/contracts.js | 11 ++- sdk/ampleforth.js | 6 +- tasks/info/ampl.js | 2 +- test/helpers/ethers.js | 12 ++-- test/integration/chain_bridge.js | 34 ++++----- test/unit/_utilities/batch_tx_executor.js | 6 +- test/unit/_utilities/signatures.js | 14 ++-- .../bridge-gateways/ampl_arbitrum_gateway.js | 10 +-- .../ampl_chain_bridge_gateway.js | 2 +- test/unit/base-chain/token_vault.js | 2 +- .../arbitrum_xcampl_gateway.js | 6 +- .../chain_bridge_xcampl_gateway.js | 2 +- .../satellite-chain/xc-ampleforth/xc_ample.js | 4 +- .../xc-ampleforth/xc_ample_burn.js | 6 +- .../xc_ample_elastic_behavior.js | 6 +- .../xc-ampleforth/xc_ample_erc20_behavior.js | 6 +- .../xc-ampleforth/xc_ample_mint.js | 6 +- .../xc-ampleforth/xc_ample_permit.js | 4 +- .../xc-ampleforth/xc_controller.js | 4 +- .../xc-ampleforth/xc_controller_bridge.js | 6 +- .../xc-ampleforth/xc_controller_rebase.js | 4 +- 28 files changed, 124 insertions(+), 110 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index cf102f1..cf0ed17 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -156,7 +156,9 @@ module.exports = { 'matic', 'dev1', 'dev2', + 'dev3', 'avax', + 'arbitrum', // names 'nithin', diff --git a/.solcover.js b/.solcover.js index 42511ac..40af3b2 100644 --- a/.solcover.js +++ b/.solcover.js @@ -1,5 +1,5 @@ module.exports = { - skipFiles: ['_external', '_mocks'], + skipFiles: ['_external', '_interfaces', '_mocks', '_test'], mocha: { timeout: 100000, }, diff --git a/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol b/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol index 6e90069..762cda4 100644 --- a/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol +++ b/contracts/base-chain/bridge-gateways/AMPLArbitrumGateway.sol @@ -4,9 +4,11 @@ pragma experimental ABIEncoderV2; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; import {Initializable} from "@openzeppelin/contracts/proxy/Initializable.sol"; +// solhint-disable-next-line max-line-length import {GatewayMessageHandler} from "arb-bridge-peripherals/contracts/tokenbridge/libraries/gateway/GatewayMessageHandler.sol"; import {L1ArbitrumMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/ethereum/L1ArbitrumMessenger.sol"; +// solhint-disable-next-line max-line-length import {IArbitrumBCRebaseGateway, IArbitrumBCTransferGateway, IArbitrumSCRebaseGateway, IArbitrumSCTransferGateway} from "../../_interfaces/bridge-gateways/IArbitrumGateway.sol"; import {IAmpleforth} from "uFragments/contracts/interfaces/IAmpleforth.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; diff --git a/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol b/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol index 2210d50..17ea5b1 100644 --- a/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol +++ b/contracts/base-chain/bridge-gateways/AMPLChainBridgeGateway.sol @@ -4,6 +4,7 @@ pragma solidity 0.7.3; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; +// solhint-disable-next-line max-line-length import {IChainBridgeBCRebaseGateway, IChainBridgeBCTransferGateway} from "../../_interfaces/bridge-gateways/IChainBridgeGateway.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {IAmpleforth} from "uFragments/contracts/interfaces/IAmpleforth.sol"; diff --git a/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol b/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol index 656c129..a4732b6 100644 --- a/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol +++ b/contracts/satellite-chain/bridge-gateways/ArbitrumXCAmpleGateway.sol @@ -4,10 +4,13 @@ pragma experimental ABIEncoderV2; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; import {Initializable} from "@openzeppelin/contracts/proxy/Initializable.sol"; + +// solhint-disable-next-line max-line-length import {GatewayMessageHandler} from "arb-bridge-peripherals/contracts/tokenbridge/libraries/gateway/GatewayMessageHandler.sol"; import {L2ArbitrumMessenger} from "arb-bridge-peripherals/contracts/tokenbridge/arbitrum/L2ArbitrumMessenger.sol"; import {AddressAliasHelper} from "arb-bridge-eth/contracts/libraries/AddressAliasHelper.sol"; +// solhint-disable-next-line max-line-length import {IArbitrumBCRebaseGateway, IArbitrumBCTransferGateway, IArbitrumSCRebaseGateway, IArbitrumSCTransferGateway} from "../../_interfaces/bridge-gateways/IArbitrumGateway.sol"; import {IXCAmpleController} from "../../_interfaces/IXCAmpleController.sol"; import {IXCAmpleControllerGateway} from "../../_interfaces/IXCAmpleControllerGateway.sol"; diff --git a/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol b/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol index f08d36a..c3ec1b3 100644 --- a/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol +++ b/contracts/satellite-chain/bridge-gateways/ChainBridgeXCAmpleGateway.sol @@ -4,6 +4,7 @@ pragma solidity 0.7.3; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {SafeMath} from "@openzeppelin/contracts/math/SafeMath.sol"; +// solhint-disable-next-line max-line-length import {IChainBridgeSCRebaseGateway, IChainBridgeSCTransferGateway} from "../../_interfaces/bridge-gateways/IChainBridgeGateway.sol"; import {IXCAmpleController} from "../../_interfaces/IXCAmpleController.sol"; import {IXCAmpleControllerGateway} from "../../_interfaces/IXCAmpleControllerGateway.sol"; diff --git a/hardhat.config.js b/hardhat.config.js index 6c767a5..75f3965 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -27,117 +27,117 @@ module.exports = { solidity: { compilers: [ { - version: '0.4.24', + version: '0.4.24' }, { - version: '0.5.12', + version: '0.5.12' }, { - version: '0.6.4', + version: '0.6.4' }, { - version: '0.6.8', + version: '0.6.8' }, { version: '0.6.11', settings: { optimizer: { enabled: true, - runs: 200, - }, - }, + runs: 200 + } + } }, { version: '0.7.3', settings: { optimizer: { enabled: true, - runs: 200, - }, - }, + runs: 200 + } + } }, { version: '0.7.6', settings: { optimizer: { enabled: true, - runs: 200, - }, - }, - }, - ], + runs: 200 + } + } + } + ] }, mocha: { - timeout: 1000000, + timeout: 1000000 }, gasReporter: { currency: 'USD', enabled: !!process.env.REPORT_GAS, excludeContracts: ['_mocks', '_external', 'uFragments'], - coinmarketcap: process.env.COINMARKETCAP_API_KEY, + coinmarketcap: process.env.COINMARKETCAP_API_KEY }, etherscan: { - apiKey: process.env.ETHERSCAN_API_KEY, + apiKey: process.env.ETHERSCAN_API_KEY }, bscscan: { - apiKey: process.env.BSCSCAN_API_KEY, + apiKey: process.env.BSCSCAN_API_KEY }, networks: { localGethBaseChain: { - url: 'http://localhost:7545', + url: 'http://localhost:7545' }, localGethSatChain1: { - url: 'http://localhost:7550', + url: 'http://localhost:7550' }, localGethSatChain2: { - url: 'http://localhost:7555', + url: 'http://localhost:7555' }, // meter-passport dev1RopstenBaseChain: { - url: 'https://eth-ropsten.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET, + url: 'https://eth-ropsten.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET }, dev1BscTestnetSatChain: { - url: 'https://data-seed-prebsc-1-s1.binance.org:8545', + url: 'https://data-seed-prebsc-1-s1.binance.org:8545' }, dev1MeterTestnetSatChain: { - url: 'https://rpctest.meter.io', + url: 'https://rpctest.meter.io' }, // matic dev2GoerliBaseChain: { - url: 'https://eth-goerli.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET, + url: 'https://eth-goerli.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET }, dev2MumbaiSatChain: { - url: 'https://polygon-mumbai.infura.io/v3/' + process.env.INFURA_SECRET, + url: 'https://polygon-mumbai.infura.io/v3/' + process.env.INFURA_SECRET }, // arbitrum dev3RinkebyBaseChain: { - url: 'https://eth-rinkeby.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET, + url: 'https://eth-rinkeby.alchemyapi.io/v2/' + process.env.ALCHEMY_SECRET }, dev3RinkebyArbitrumSatChain: { - url: 'https://rinkeby.arbitrum.io/rpc', + url: 'https://rinkeby.arbitrum.io/rpc' }, // prod prodEthereumBaseChain: { - url: 'https://mainnet.infura.io/v3/' + process.env.INFURA_SECRET, + url: 'https://mainnet.infura.io/v3/' + process.env.INFURA_SECRET }, prodBscSatChain: { - url: 'https://bsc-dataseed.binance.org', + url: 'https://bsc-dataseed.binance.org' }, prodAvaxSatChain: { url: 'https://api.avax.network/ext/bc/C/rpc' }, prodMeterSatChain: { - url: 'https://rpc.meter.io', + url: 'https://rpc.meter.io' }, prodMaticSatChain: { - url: 'https://polygon-mainnet.infura.io/v3/' + process.env.INFURA_SECRET, - }, - }, + url: 'https://polygon-mainnet.infura.io/v3/' + process.env.INFURA_SECRET + } + } }; diff --git a/helpers/contracts.js b/helpers/contracts.js index 696d795..4cb6934 100644 --- a/helpers/contracts.js +++ b/helpers/contracts.js @@ -55,7 +55,14 @@ const getCompiledContractFactory = (ethers, contract) => { ); }; -const deployContract = async (ethers, contractName, signer, args, txParams, waitBlocks=0) => { +const deployContract = async ( + ethers, + contractName, + signer, + args, + txParams, + waitBlocks = 0, +) => { // console.log('Deploying', contractName); const Factory = await getCompiledContractFactory(ethers, contractName); const contract = await Factory.connect(signer).deploy(...args, txParams); @@ -77,7 +84,7 @@ const deployProxyContract = async ( args, initializerDef, txParams, - waitBlocks=0 + waitBlocks = 0, ) => { // console.log('Deploying proxy', contractName); const ProxyAdminFactory = await getCompiledContractFactory( diff --git a/sdk/ampleforth.js b/sdk/ampleforth.js index d27ddf2..22b72df 100644 --- a/sdk/ampleforth.js +++ b/sdk/ampleforth.js @@ -35,9 +35,9 @@ const execRebase = async ( ) => { // Casting percChange to Bignumber.js instance to handle floating points const newRate = new BigNumber(AMPL_BASE_RATE.toString()) - .times(100 + parseFloat(percChange)) - .div(100) - .toString(10); + .times(100 + parseFloat(percChange)) + .div(100) + .toString(10); const rateTx = await rateOracle.connect(signer).pushReport(newRate, txParams); await rateTx.wait(); diff --git a/tasks/info/ampl.js b/tasks/info/ampl.js index 3a9f39d..2844b51 100644 --- a/tasks/info/ampl.js +++ b/tasks/info/ampl.js @@ -135,7 +135,7 @@ task('info:ampl:balance', 'Prints AMPL token balance from given networks') task( 'info:ampl:setup', - 'Prints AMPL configuration paramters from given networks', + 'Prints AMPL configuration parameters from given networks', ) .addParam('networks', 'List of hardhat networks', [], types.json) .setAction(async (args, hre) => { diff --git a/test/helpers/ethers.js b/test/helpers/ethers.js index 3559fb3..facd3c7 100644 --- a/test/helpers/ethers.js +++ b/test/helpers/ethers.js @@ -1,22 +1,22 @@ const { ethers } = require('hardhat'); -async function getBlockTime() { +async function getBlockTime () { return (await ethers.provider.getBlock('latest')).timestamp; } -async function mineEmpty() { +async function mineEmpty () { return ethers.provider.send('evm_mine'); } -async function increaseTime(seconds) { +async function increaseTime (seconds) { await ethers.provider.send('evm_mine', [ ethers.BigNumber.from(seconds) .add(await getBlockTime()) - .toNumber(), + .toNumber() ]); } -async function parseEventFromLogs(contract, tx, event) { +async function parseEventFromLogs (contract, tx, event) { const txR = await contract.provider.getTransactionReceipt(tx.hash); for (const l in txR.logs) { if (txR.logs.hasOwnProperty(l)) { @@ -35,5 +35,5 @@ module.exports = { getBlockTime, increaseTime, mineEmpty, - parseEventFromLogs, + parseEventFromLogs }; diff --git a/test/integration/chain_bridge.js b/test/integration/chain_bridge.js index b1dcbd3..01bd20e 100644 --- a/test/integration/chain_bridge.js +++ b/test/integration/chain_bridge.js @@ -10,7 +10,7 @@ const { executeXCRebase, executeXCTransfer, XC_TRANSFER_RESOURCE_ID, - packXCTransferData, + packXCTransferData } = require('../../sdk/chain_bridge'); const { execRebase, toAmplFixedPt } = require('../../sdk/ampleforth'); @@ -20,7 +20,7 @@ const { deployTokenVault, deployChainBridgeContracts, deployChainBridgeBaseChainGatewayContracts, - deployChainBridgeSatelliteChainGatewayContracts, + deployChainBridgeSatelliteChainGatewayContracts } = require('../../helpers/deploy'); let accounts, @@ -41,7 +41,7 @@ let accounts, userASatChain2Wallet, userBSatChain2Wallet; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; relayer = accounts[1]; @@ -64,7 +64,7 @@ async function setupContracts() { relayers: [await deployer.getAddress(), await relayer.getAddress()], relayerThreshold: RELAYER_TRESHOLD, fee: 0, - expiry: 1000, + expiry: 1000 }, ethers, deployer, @@ -89,7 +89,7 @@ async function setupContracts() { tokenSymbol: 'satChain1XCAmple', tokenName: 'satChain1XCAmple', globalAmpleforthEpoch, - globalAMPLSupply, + globalAMPLSupply }, ethers, deployer, @@ -100,7 +100,7 @@ async function setupContracts() { relayers: [await deployer.getAddress(), await relayer.getAddress()], relayerThreshold: RELAYER_TRESHOLD, fee: 0, - expiry: 1000, + expiry: 1000 }, ethers, deployer, @@ -121,7 +121,7 @@ async function setupContracts() { tokenSymbol: 'satChain2XCAmple', tokenName: 'satChain2XCAmple', globalAmpleforthEpoch, - globalAMPLSupply, + globalAMPLSupply }, ethers, deployer, @@ -132,7 +132,7 @@ async function setupContracts() { relayers: [await deployer.getAddress(), await relayer.getAddress()], relayerThreshold: RELAYER_TRESHOLD, fee: 0, - expiry: 1000, + expiry: 1000 }, ethers, deployer, @@ -151,13 +151,13 @@ async function setupContracts() { bridgeContractsMap = { base: baseChainBridgeContracts, sat1: satChain1BridgeContracts, - sat2: satChain2BridgeContracts, + sat2: satChain2BridgeContracts }; amplContractsMap = { base: baseChainAmplContracts, sat1: satChain1AmplContracts, - sat2: satChain2AmplContracts, + sat2: satChain2AmplContracts }; // On the main-chain userA and userB have 100k AMPLs each @@ -170,7 +170,7 @@ async function setupContracts() { .transfer(await userBBaseChainWallet.getAddress(), toAmplFixedPt('100000')); } -async function mockOffchain( +async function mockOffchain ( toChainBridge, fromChainID, depositNonce, @@ -192,7 +192,7 @@ async function mockOffchain( // console.log((await toChainBridge.getProposal(fromChainID, depositNonce, dataHash))._status); } -async function execXCReportRebase(chain) { +async function execXCReportRebase (chain) { // Triggering rebase report to sat chain const { data, dataHash, depositNonce, resourceID } = await executeXCRebase( deployer, @@ -214,7 +214,7 @@ async function execXCReportRebase(chain) { } // Executes rebase end to end -async function execXCRebaseE2E(perc, chainSubset = []) { +async function execXCRebaseE2E (perc, chainSubset = []) { const chains = chainSubset.length === 0 ? Object.keys(bridgeContractsMap) : chainSubset; @@ -245,7 +245,7 @@ async function execXCRebaseE2E(perc, chainSubset = []) { } } -async function execXCSend( +async function execXCSend ( fromChain, toChain, fromAccount, @@ -292,7 +292,7 @@ async function execXCSend( ); } -async function getBalancesAndSupply() { +async function getBalancesAndSupply () { const userAEthBal = await baseChainAmplContracts.ampl.balanceOf( await userABaseChainWallet.getAddress(), ); @@ -322,11 +322,11 @@ async function getBalancesAndSupply() { sat1Balances: [userATronBal, userBTronBal], sat2Balances: [userAAcalaBal, userBAcalaBal], sat1Supply, - sat2Supply, + sat2Supply }; } -async function checkBalancesAndSupply( +async function checkBalancesAndSupply ( baseBalances, sat1Balances, sat1Supply, diff --git a/test/unit/_utilities/batch_tx_executor.js b/test/unit/_utilities/batch_tx_executor.js index 1ab13a4..562fee9 100644 --- a/test/unit/_utilities/batch_tx_executor.js +++ b/test/unit/_utilities/batch_tx_executor.js @@ -2,7 +2,7 @@ const { ethers } = require('hardhat'); const { expect } = require('chai'); let accounts, deployer, user, batchExecutor, mockDownstream, r; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -140,12 +140,12 @@ describe('BatchTxExecutor', function () { await expect( await batchExecutor.callStatic.checkExecution(0, { - value: '1000000000000000000', + value: '1000000000000000000' }), ).to.be.true; await expect( await batchExecutor.callStatic.executeAll({ - value: '1000000000000000000', + value: '1000000000000000000' }), ).to.be.true; expect(await batchExecutor.totalValue()).to.be.eq('1000000000000000000'); diff --git a/test/unit/_utilities/signatures.js b/test/unit/_utilities/signatures.js index 7aa082a..f8192cf 100644 --- a/test/unit/_utilities/signatures.js +++ b/test/unit/_utilities/signatures.js @@ -3,7 +3,7 @@ const { keccak256, defaultAbiCoder, toUtf8Bytes, - solidityPack, + solidityPack } = require('ethers/lib/utils'); const { ecsign } = require('ethereumjs-util'); @@ -17,7 +17,7 @@ const EIP712_DOMAIN_TYPE = [ { name: 'name', type: 'string' }, { name: 'version', type: 'string' }, { name: 'chainId', type: 'uint256' }, - { name: 'verifyingContract', type: 'address' }, + { name: 'verifyingContract', type: 'address' } ]; const EIP2612_PERMIT_TYPEHASH = keccak256( @@ -31,11 +31,11 @@ const EIP2612_PERMIT_TYPE = [ { name: 'spender', type: 'address' }, { name: 'value', type: 'uint256' }, { name: 'nonce', type: 'uint256' }, - { name: 'deadline', type: 'uint256' }, + { name: 'deadline', type: 'uint256' } ]; // Gets the EIP712 domain separator -function getDomainSeparator(version, name, contractAddress, chainId) { +function getDomainSeparator (version, name, contractAddress, chainId) { return keccak256( defaultAbiCoder.encode( ['bytes32', 'bytes32', 'bytes32', 'uint256', 'address'], @@ -44,7 +44,7 @@ function getDomainSeparator(version, name, contractAddress, chainId) { keccak256(toUtf8Bytes(name)), keccak256(toUtf8Bytes(version)), chainId, - contractAddress, + contractAddress ], ), ); @@ -52,7 +52,7 @@ function getDomainSeparator(version, name, contractAddress, chainId) { // Returns the EIP712 hash which should be signed by the user // in order to make a call to `permit` -function getPermitDigest( +function getPermitDigest ( version, name, address, @@ -115,5 +115,5 @@ module.exports = { EIP2612_PERMIT_TYPE, getDomainSeparator, getPermitDigest, - signEIP712Permission, + signEIP712Permission }; diff --git a/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js b/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js index c219995..e29a976 100644 --- a/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js +++ b/test/unit/base-chain/bridge-gateways/ampl_arbitrum_gateway.js @@ -1,4 +1,4 @@ -const { ethers } = require('hardhat'); +const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); let accounts, @@ -18,12 +18,12 @@ let accounts, xcAmple, gateway; -// l2 gas paramters +// l2 gas parameters const maxSubmissionCost = 1; const maxGas = 500000; const gasPriceBid = 0; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; depositor = deployer; @@ -172,7 +172,7 @@ describe('AMPLArbitrumGateway:outboundTransfer:accessControl', () => { ['uint256', 'bytes'], [ maxSubmissionCost, - ethers.utils.defaultAbiCoder.encode(['uint256'], ['123']), + ethers.utils.defaultAbiCoder.encode(['uint256'], ['123']) ], ); @@ -281,7 +281,7 @@ describe('AMPLArbitrumGateway:finalizeInboundTransfer:accessControl', () => { }); describe('AMPLArbitrumGateway:finalizeInboundTransfer', () => { - let r, seqNumber; + let r; describe('when supply is out of sync', function () { before('setup AMPLArbitrumGateway contract', async function () { diff --git a/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js b/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js index c4e4bfd..d7660bf 100644 --- a/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js +++ b/test/unit/base-chain/bridge-gateways/ampl_chain_bridge_gateway.js @@ -12,7 +12,7 @@ let accounts, policy, vault, gateway; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; depositorAddress = await deployer.getAddress(); diff --git a/test/unit/base-chain/token_vault.js b/test/unit/base-chain/token_vault.js index 0d33576..5f5f66f 100644 --- a/test/unit/base-chain/token_vault.js +++ b/test/unit/base-chain/token_vault.js @@ -10,7 +10,7 @@ let accounts, otherBridgeAddress, vault, mockToken; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; bridge = accounts[1]; diff --git a/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js b/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js index ad3dc81..6740315 100644 --- a/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js +++ b/test/unit/satellite-chain/bridge-gateways/arbitrum_xcampl_gateway.js @@ -16,7 +16,7 @@ let accounts, xcController, gateway; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; depositor = deployer; @@ -228,13 +228,12 @@ describe('ArbitrumXCAmpleGateway:finalizeInboundTransfer:accessControl', () => { }); describe('ArbitrumXCAmpleGateway:finalizeInboundTransfer', () => { - let r, seqNumber; + let r; describe('when supply is out of sync', function () { before('setup ArbitrumXCAmpleGateway contract', async function () { await setupContracts(); - const exitNum = 0; const data = ethers.utils.defaultAbiCoder.encode(['uint256'], [50000]); await xcAmple.updateGlobalAMPLSupply(100000); @@ -279,7 +278,6 @@ describe('ArbitrumXCAmpleGateway:finalizeInboundTransfer', () => { before('setup ArbitrumXCAmpleGateway contract', async function () { await setupContracts(); - const exitNum = 0; const data = ethers.utils.defaultAbiCoder.encode(['uint256'], [50000]); r = gateway diff --git a/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js b/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js index f8d2706..d3a7182 100644 --- a/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js +++ b/test/unit/satellite-chain/bridge-gateways/chain_bridge_xcampl_gateway.js @@ -11,7 +11,7 @@ let accounts, xcAmple, xcController, gateway; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; depositorAddress = await deployer.getAddress(); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample.js index 180e978..2f998cb 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample.js @@ -5,7 +5,7 @@ const { expect } = require('chai'); // https://github.com/ampleforth/uFragments/blob/master/test/unit/UFragments.js const DECIMALS = 9; -const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); const INITIAL_AMPL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const REBASE_AMT = INITIAL_AMPL_SUPPLY.div(10); @@ -21,7 +21,7 @@ const unitTokenAmount = toUFrgDenomination('1'); let accounts, deployer, xcAmple; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js index 7928d6e..e7ed609 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_burn.js @@ -2,7 +2,7 @@ const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); const DECIMALS = 9; -const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); const INITIAL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const MAX_SUPPLY = ethers.BigNumber.from('2').pow(128).sub(1); @@ -10,7 +10,7 @@ const unitTokenAmount = toUFrgDenomination('1'); let accounts, deployer, otherUser, xcAmple; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -24,7 +24,7 @@ async function setupContracts() { factory.connect(deployer), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)', + initializer: 'initialize(string,string,uint256)' }, ); await xcAmple.setController(deployer.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js index e9e58ea..1e7d89d 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_elastic_behavior.js @@ -6,12 +6,12 @@ const INITIAL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const MAX_UINT256 = ethers.BigNumber.from(2).pow(256).sub(1); const TOTAL_GONS = MAX_UINT256.sub(MAX_UINT256.mod(INITIAL_SUPPLY)); -const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); const unitTokenAmount = toUFrgDenomination('1'); let token, owner, anotherAccount, recipient; -async function upgradeableToken() { +async function upgradeableToken () { const [owner, recipient, anotherAccount] = await ethers.getSigners(); const factory = await ethers.getContractFactory( 'contracts/satellite-chain/xc-ampleforth/XCAmple.sol:XCAmple', @@ -20,7 +20,7 @@ async function upgradeableToken() { factory.connect(owner), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)', + initializer: 'initialize(string,string,uint256)' }, ); await token.setController(owner.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js index df035c7..e6a7df6 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_erc20_behavior.js @@ -29,7 +29,7 @@ const { ethers, upgrades, waffle } = require('hardhat'); const { expect } = require('chai'); -function toUFrgDenomination(x) { +function toUFrgDenomination (x) { return ethers.utils.parseUnits(x, DECIMALS); } @@ -44,7 +44,7 @@ const transferAmountPlusOne = transferAmount.add(unitTokenAmount); const transferAmountMinusOne = transferAmount.sub(unitTokenAmount); let token, owner, anotherAccount, recipient; -async function upgradeableToken() { +async function upgradeableToken () { const [owner, recipient, anotherAccount] = await ethers.getSigners(); const factory = await ethers.getContractFactory( 'contracts/satellite-chain/xc-ampleforth/XCAmple.sol:XCAmple', @@ -53,7 +53,7 @@ async function upgradeableToken() { factory.connect(owner), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)', + initializer: 'initialize(string,string,uint256)' }, ); await token.setController(owner.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js index 88595f5..09d92eb 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_mint.js @@ -2,7 +2,7 @@ const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); const DECIMALS = 9; -const toUFrgDenomination = (ample) => ethers.utils.parseUnits(ample, DECIMALS); +const toUFrgDenomination = ample => ethers.utils.parseUnits(ample, DECIMALS); const INITIAL_SUPPLY = ethers.utils.parseUnits('50', 6 + DECIMALS); const MAX_SUPPLY = ethers.BigNumber.from('2').pow(128).sub(1); @@ -10,7 +10,7 @@ const unitTokenAmount = toUFrgDenomination('1'); let accounts, deployer, otherUser, xcAmple, initialSupply; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -24,7 +24,7 @@ async function setupContracts() { factory.connect(deployer), ['XCAmple', 'xcAMPL', INITIAL_SUPPLY], { - initializer: 'initialize(string,string,uint256)', + initializer: 'initialize(string,string,uint256)' }, ); await xcAmple.setController(deployer.getAddress()); diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js b/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js index 3bfe981..d16304f 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_ample_permit.js @@ -9,7 +9,7 @@ const { EIP712_DOMAIN_TYPEHASH, EIP2612_PERMIT_TYPEHASH, getDomainSeparator, - signEIP712Permission, + signEIP712Permission } = require('../../_utilities/signatures'); const EIP712_REVISION = '1'; @@ -25,7 +25,7 @@ let accounts, spenderAddress, xcAmple; -async function setupContracts() { +async function setupContracts () { accounts = await ethers.getSigners(); deployer = accounts[0]; diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_controller.js b/test/unit/satellite-chain/xc-ampleforth/xc_controller.js index 95d527d..9c079b7 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_controller.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_controller.js @@ -2,7 +2,7 @@ const { ethers, upgrades } = require('hardhat'); const { expect } = require('chai'); let accounts, deployer, controller, mockToken; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -25,7 +25,7 @@ async function setupContracts() { factory.connect(deployer), [mockToken.address, 1], { - initializer: 'initialize(address,uint256)', + initializer: 'initialize(address,uint256)' }, ); } diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js b/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js index dcdde6e..c250837 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_controller_bridge.js @@ -8,7 +8,7 @@ let accounts, beneficiaryAddress, controller, mockToken; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -32,14 +32,14 @@ async function setupContracts() { factory.connect(deployer), [mockToken.address, 1], { - initializer: 'initialize(address,uint256)', + initializer: 'initialize(address,uint256)' }, ); await controller.connect(deployer).addBridgeGateway(bridge.getAddress()); await controller.connect(deployer).addBridgeGateway(bridgeOther.getAddress()); } -async function getBlockTime(b = 'latest') { +async function getBlockTime (b = 'latest') { return (await ethers.provider.getBlock(b)).timestamp; } diff --git a/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js b/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js index 72e157a..f259247 100644 --- a/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js +++ b/test/unit/satellite-chain/xc-ampleforth/xc_controller_rebase.js @@ -9,7 +9,7 @@ let accounts, controller, mockToken, mockRebaseRelayer; -async function setupContracts() { +async function setupContracts () { // prepare signers accounts = await ethers.getSigners(); deployer = accounts[0]; @@ -39,7 +39,7 @@ async function setupContracts() { factory.connect(deployer), [mockToken.address, 1], { - initializer: 'initialize(address,uint256)', + initializer: 'initialize(address,uint256)' }, ); await controller.connect(deployer).addBridgeGateway(bridge.getAddress()); From 2e1765d62fccb93fdfcfacf6b3dff398bcf8e62d Mon Sep 17 00:00:00 2001 From: aalavandhan1984 <6264334+aalavandhan@users.noreply.github.com> Date: Thu, 16 Dec 2021 14:00:26 -0500 Subject: [PATCH 13/13] removing ci failure on coverage reduction --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 82d81f4..bed35e7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,8 +10,8 @@ script: - yarn format - yarn lint - yarn test - - yarn coverage after_success: + - yarn coverage - cat coverage/lcov.info | npx coveralls notifications: email: