From 4dae8de1b60a24e5a0fd76c7d4ee2809694d166c Mon Sep 17 00:00:00 2001 From: phil-ociraptor Date: Mon, 8 Aug 2022 11:46:50 -0500 Subject: [PATCH] feat: add Foundry support to contracts/zero-ex (#534) Co-authored-by: Michael Zhu --- .circleci/config.yml | 15 + .gitignore | 9 + .gitmodules | 3 + contracts/zero-ex/CHANGELOG.json | 10 + contracts/zero-ex/README.md | 4 + contracts/zero-ex/compiler.json | 206 +++++++++++++ contracts/zero-ex/contracts/deps/forge-std | 1 + .../contracts/test/foundry/ContractTest.sol | 30 ++ contracts/zero-ex/foundry.toml | 8 + contracts/zero-ex/package.json | 5 +- yarn.lock | 271 ++++++++++-------- 11 files changed, 441 insertions(+), 121 deletions(-) create mode 100644 .gitmodules create mode 160000 contracts/zero-ex/contracts/deps/forge-std create mode 100644 contracts/zero-ex/contracts/test/foundry/ContractTest.sol create mode 100644 contracts/zero-ex/foundry.toml diff --git a/.circleci/config.yml b/.circleci/config.yml index 219c17cd11..f93f784510 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,6 +10,7 @@ jobs: working_directory: ~/repo steps: - checkout + - run: git submodule update --init --recursive - run: echo 'export PATH=$HOME/CIRCLE_PROJECT_REPONAME/node_modules/.bin:$PATH' >> $BASH_ENV - run: name: install-yarn @@ -77,6 +78,17 @@ jobs: keys: - repo-{{ .Environment.CIRCLE_SHA1 }} - run: yarn wsrun -p @0x/contracts-multisig -p @0x/contracts-utils -p @0x/contracts-exchange-libs -p @0x/contracts-erc20 -p @0x/contracts-erc721 -p @0x/contracts-erc1155 -p @0x/contracts-asset-proxy -p @0x/contracts-broker -p @0x/contracts-zero-ex -m --serial -c test:circleci + test-foundry: + resource_class: medium+ + docker: + - image: ghcr.io/foundry-rs/foundry:latest + working_directory: ~/repo/contracts/zero-ex + steps: + - restore_cache: + keys: + - repo-{{ .Environment.CIRCLE_SHA1 }} + # - run: forge install + - run: forge test test-publish: resource_class: large environment: @@ -181,6 +193,9 @@ workflows: # - test-contracts-extra-ganache: # requires: # - build + - test-foundry: + requires: + - build - test-contracts-rest-ganache: requires: - build diff --git a/.gitignore b/.gitignore index b4b64c2260..e30e893bff 100644 --- a/.gitignore +++ b/.gitignore @@ -173,6 +173,15 @@ contracts/zero-ex/test/generated-wrappers/ contracts/treasury/generated-wrappers/ contracts/treasury/test/generated-wrappers/ +# foundry artifacts +contracts/zero-ex/foundry-artifacts/ + +# foundry cache +contracts/zero-ex/foundry-cache/ + +# typechain wrappers +contracts/zero-ex/typechain-wrappers/ + # Doc README copy packages/*/docs/README.md diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..a82cad9211 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "contracts/zero-ex/contracts/deps/forge-std"] + path = contracts/zero-ex/contracts/deps/forge-std + url = https://github.com/foundry-rs/forge-std diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index eae30a33ce..e5de249882 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -1,4 +1,14 @@ [ + { + "version": "0.36.2", + "changes": [ + { + "note": "Add Foundry support", + "pr": 534 + } + ], + "timestamp": 1659976271 + }, { "timestamp": 1659750766, "version": "0.36.1", diff --git a/contracts/zero-ex/README.md b/contracts/zero-ex/README.md index 7696806e97..caafce40d7 100644 --- a/contracts/zero-ex/README.md +++ b/contracts/zero-ex/README.md @@ -2,6 +2,10 @@ This package contains contracts for the ZeroEx extensible contract architecture. +> **_NOTE:_** This repo is undergoing a tooling change. If adding a contract, you will need to +> add it to `compiler.json`. You can generate the entire list by running the following: +> `find . -type f -name "*.sol" | grep -v foundry | grep -v "contracts/dep" | grep -v "node_modules"` + ## Installation **Install** diff --git a/contracts/zero-ex/compiler.json b/contracts/zero-ex/compiler.json index 435dd39830..d7e0566651 100644 --- a/contracts/zero-ex/compiler.json +++ b/contracts/zero-ex/compiler.json @@ -1,6 +1,212 @@ { "artifactsDir": "./test/generated-artifacts", "contractsDir": "./contracts", + "contracts": [ + "./contracts/test/TestFixinProtocolFees.sol", + "./contracts/test/TestTransformerHost.sol", + "./contracts/test/TestFillQuoteTransformerHost.sol", + "./contracts/test/TestTransformerDeployerTransformer.sol", + "./contracts/test/TestUniswapV3Feature.sol", + "./contracts/test/TestBridge.sol", + "./contracts/test/TestCallTarget.sol", + "./contracts/test/TestNoEthRecipient.sol", + "./contracts/test/TestFullMigration.sol", + "./contracts/test/TestLibSignature.sol", + "./contracts/test/integration/TestUniswapV3Pool.sol", + "./contracts/test/integration/TestMooniswap.sol", + "./contracts/test/integration/TestUniswapV3Factory.sol", + "./contracts/test/integration/TestCurve.sol", + "./contracts/test/integration/TestUniswapV2Pool.sol", + "./contracts/test/integration/TestUniswapV2Factory.sol", + "./contracts/test/integration/TestLiquidityProvider.sol", + "./contracts/test/TestMetaTransactionsNativeOrdersFeature.sol", + "./contracts/test/TestFeeCollectorController.sol", + "./contracts/test/TestNFTOrderPresigner.sol", + "./contracts/test/TestMetaTransactionsTransformERC20Feature.sol", + "./contracts/test/TestTransformERC20.sol", + "./contracts/test/TestFeeRecipient.sol", + "./contracts/test/TestPermissionlessTransformerDeployerTransformer.sol", + "./contracts/test/TestMigrator.sol", + "./contracts/test/TestFixinTokenSpender.sol", + "./contracts/test/TestDelegateCaller.sol", + "./contracts/test/TestTransformerBase.sol", + "./contracts/test/TestZeroExFeature.sol", + "./contracts/test/TestLibNativeOrder.sol", + "./contracts/test/TestWethTransformerHost.sol", + "./contracts/test/TestPropertyValidator.sol", + "./contracts/test/TestMintTokenERC20Transformer.sol", + "./contracts/test/TestFillQuoteTransformerBridge.sol", + "./contracts/test/TestOrderSignerRegistryWithContractWallet.sol", + "./contracts/test/TestNativeOrdersFeature.sol", + "./contracts/test/TestRfqOriginRegistration.sol", + "./contracts/test/TestStaking.sol", + "./contracts/test/TestFillQuoteTransformerExchange.sol", + "./contracts/test/TestInitialMigration.sol", + "./contracts/test/tokens/TestMintableERC721Token.sol", + "./contracts/test/tokens/TestTokenSpenderERC20Token.sol", + "./contracts/test/tokens/TestWeth.sol", + "./contracts/test/tokens/TestMintableERC1155Token.sol", + "./contracts/test/tokens/TestMintableERC20Token.sol", + "./contracts/test/TestSimpleFunctionRegistryFeatureImpl1.sol", + "./contracts/test/ITestSimpleFunctionRegistryFeature.sol", + "./contracts/test/TestPermissionlessTransformerDeployerSuicidal.sol", + "./contracts/test/TestSimpleFunctionRegistryFeatureImpl2.sol", + "./contracts/src/migrations/InitialMigration.sol", + "./contracts/src/migrations/LibMigrate.sol", + "./contracts/src/migrations/LibBootstrap.sol", + "./contracts/src/migrations/FullMigration.sol", + "./contracts/src/ZeroExOptimized.sol", + "./contracts/src/fixins/FixinERC721Spender.sol", + "./contracts/src/fixins/FixinTokenSpender.sol", + "./contracts/src/fixins/FixinERC1155Spender.sol", + "./contracts/src/fixins/FixinReentrancyGuard.sol", + "./contracts/src/fixins/FixinProtocolFees.sol", + "./contracts/src/fixins/FixinEIP712.sol", + "./contracts/src/fixins/FixinCommon.sol", + "./contracts/src/features/BatchFillNativeOrdersFeature.sol", + "./contracts/src/features/LiquidityProviderFeature.sol", + "./contracts/src/features/ERC165Feature.sol", + "./contracts/src/features/MetaTransactionsFeature.sol", + "./contracts/src/features/nft_orders/NFTOrders.sol", + "./contracts/src/features/nft_orders/ERC1155OrdersFeature.sol", + "./contracts/src/features/nft_orders/ERC721OrdersFeature.sol", + "./contracts/src/features/TransformERC20Feature.sol", + "./contracts/src/features/OwnableFeature.sol", + "./contracts/src/features/libs/LibSignature.sol", + "./contracts/src/features/libs/LibNativeOrder.sol", + "./contracts/src/features/libs/LibNFTOrder.sol", + "./contracts/src/features/native_orders/NativeOrdersSettlement.sol", + "./contracts/src/features/native_orders/NativeOrdersCancellation.sol", + "./contracts/src/features/native_orders/NativeOrdersProtocolFees.sol", + "./contracts/src/features/native_orders/NativeOrdersInfo.sol", + "./contracts/src/features/UniswapV3Feature.sol", + "./contracts/src/features/NativeOrdersFeature.sol", + "./contracts/src/features/UniswapFeature.sol", + "./contracts/src/features/BootstrapFeature.sol", + "./contracts/src/features/multiplex/MultiplexTransformERC20.sol", + "./contracts/src/features/multiplex/MultiplexRfq.sol", + "./contracts/src/features/multiplex/MultiplexFeature.sol", + "./contracts/src/features/multiplex/MultiplexLiquidityProvider.sol", + "./contracts/src/features/multiplex/MultiplexOtc.sol", + "./contracts/src/features/multiplex/MultiplexUniswapV3.sol", + "./contracts/src/features/multiplex/MultiplexUniswapV2.sol", + "./contracts/src/features/OtcOrdersFeature.sol", + "./contracts/src/features/FundRecoveryFeature.sol", + "./contracts/src/features/SimpleFunctionRegistryFeature.sol", + "./contracts/src/features/PancakeSwapFeature.sol", + "./contracts/src/features/interfaces/IMultiplexFeature.sol", + "./contracts/src/features/interfaces/IPancakeSwapFeature.sol", + "./contracts/src/features/interfaces/IUniswapV3Feature.sol", + "./contracts/src/features/interfaces/INativeOrdersFeature.sol", + "./contracts/src/features/interfaces/IOwnableFeature.sol", + "./contracts/src/features/interfaces/IERC165Feature.sol", + "./contracts/src/features/interfaces/IFundRecoveryFeature.sol", + "./contracts/src/features/interfaces/IERC721OrdersFeature.sol", + "./contracts/src/features/interfaces/ILiquidityProviderFeature.sol", + "./contracts/src/features/interfaces/IFeature.sol", + "./contracts/src/features/interfaces/IMetaTransactionsFeature.sol", + "./contracts/src/features/interfaces/IBootstrapFeature.sol", + "./contracts/src/features/interfaces/IOtcOrdersFeature.sol", + "./contracts/src/features/interfaces/IERC1155OrdersFeature.sol", + "./contracts/src/features/interfaces/IUniswapFeature.sol", + "./contracts/src/features/interfaces/ITokenSpenderFeature.sol", + "./contracts/src/features/interfaces/ISimpleFunctionRegistryFeature.sol", + "./contracts/src/features/interfaces/ITransformERC20Feature.sol", + "./contracts/src/features/interfaces/INativeOrdersEvents.sol", + "./contracts/src/features/interfaces/IBatchFillNativeOrdersFeature.sol", + "./contracts/src/IZeroEx.sol", + "./contracts/src/ZeroEx.sol", + "./contracts/src/storage/LibNativeOrdersStorage.sol", + "./contracts/src/storage/LibTransformERC20Storage.sol", + "./contracts/src/storage/LibOtcOrdersStorage.sol", + "./contracts/src/storage/LibSimpleFunctionRegistryStorage.sol", + "./contracts/src/storage/LibStorage.sol", + "./contracts/src/storage/LibERC721OrdersStorage.sol", + "./contracts/src/storage/LibReentrancyGuardStorage.sol", + "./contracts/src/storage/LibMetaTransactionsStorage.sol", + "./contracts/src/storage/LibProxyStorage.sol", + "./contracts/src/storage/LibOwnableStorage.sol", + "./contracts/src/storage/LibERC1155OrdersStorage.sol", + "./contracts/src/transformers/FillQuoteTransformer.sol", + "./contracts/src/transformers/AffiliateFeeTransformer.sol", + "./contracts/src/transformers/PositiveSlippageFeeTransformer.sol", + "./contracts/src/transformers/Transformer.sol", + "./contracts/src/transformers/LibERC20Transformer.sol", + "./contracts/src/transformers/bridges/mixins/MixinShell.sol", + "./contracts/src/transformers/bridges/mixins/MixinMakerPSM.sol", + "./contracts/src/transformers/bridges/mixins/MixinDodoV2.sol", + "./contracts/src/transformers/bridges/mixins/MixinMStable.sol", + "./contracts/src/transformers/bridges/mixins/MixinBalancerV2.sol", + "./contracts/src/transformers/bridges/mixins/MixinCurveV2.sol", + "./contracts/src/transformers/bridges/mixins/MixinPlatypus.sol", + "./contracts/src/transformers/bridges/mixins/MixinNerve.sol", + "./contracts/src/transformers/bridges/mixins/MixinBancor.sol", + "./contracts/src/transformers/bridges/mixins/MixinUniswap.sol", + "./contracts/src/transformers/bridges/mixins/MixinBalancer.sol", + "./contracts/src/transformers/bridges/mixins/MixinCompound.sol", + "./contracts/src/transformers/bridges/mixins/MixinBalancerV2Batch.sol", + "./contracts/src/transformers/bridges/mixins/MixinLido.sol", + "./contracts/src/transformers/bridges/mixins/MixinUniswapV2.sol", + "./contracts/src/transformers/bridges/mixins/MixinZeroExBridge.sol", + "./contracts/src/transformers/bridges/mixins/MixinUniswapV3.sol", + "./contracts/src/transformers/bridges/mixins/MixinBancorV3.sol", + "./contracts/src/transformers/bridges/mixins/MixinKyberDmm.sol", + "./contracts/src/transformers/bridges/mixins/MixinGMX.sol", + "./contracts/src/transformers/bridges/mixins/MixinCurve.sol", + "./contracts/src/transformers/bridges/mixins/MixinMooniswap.sol", + "./contracts/src/transformers/bridges/mixins/MixinDodo.sol", + "./contracts/src/transformers/bridges/mixins/MixinCryptoCom.sol", + "./contracts/src/transformers/bridges/mixins/MixinSynthetix.sol", + "./contracts/src/transformers/bridges/mixins/MixinAaveV2.sol", + "./contracts/src/transformers/bridges/mixins/MixinVelodrome.sol", + "./contracts/src/transformers/bridges/CeloBridgeAdapter.sol", + "./contracts/src/transformers/bridges/FantomBridgeAdapter.sol", + "./contracts/src/transformers/bridges/OptimismBridgeAdapter.sol", + "./contracts/src/transformers/bridges/AbstractBridgeAdapter.sol", + "./contracts/src/transformers/bridges/EthereumBridgeAdapter.sol", + "./contracts/src/transformers/bridges/PolygonBridgeAdapter.sol", + "./contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol", + "./contracts/src/transformers/bridges/BridgeProtocols.sol", + "./contracts/src/transformers/bridges/IBridgeAdapter.sol", + "./contracts/src/transformers/bridges/BSCBridgeAdapter.sol", + "./contracts/src/transformers/LogMetadataTransformer.sol", + "./contracts/src/transformers/IERC20Transformer.sol", + "./contracts/src/transformers/PayTakerTransformer.sol", + "./contracts/src/transformers/WethTransformer.sol", + "./contracts/src/external/PermissionlessTransformerDeployer.sol", + "./contracts/src/external/FlashWallet.sol", + "./contracts/src/external/FeeCollector.sol", + "./contracts/src/external/IFlashWallet.sol", + "./contracts/src/external/LiquidityProviderSandbox.sol", + "./contracts/src/external/TransformerDeployer.sol", + "./contracts/src/external/LibFeeCollector.sol", + "./contracts/src/external/FeeCollectorController.sol", + "./contracts/src/external/ILiquidityProviderSandbox.sol", + "./contracts/src/errors/LibLiquidityProviderRichErrors.sol", + "./contracts/src/errors/LibSignatureRichErrors.sol", + "./contracts/src/errors/LibWalletRichErrors.sol", + "./contracts/src/errors/LibTransformERC20RichErrors.sol", + "./contracts/src/errors/LibNativeOrdersRichErrors.sol", + "./contracts/src/errors/LibNFTOrdersRichErrors.sol", + "./contracts/src/errors/LibMetaTransactionsRichErrors.sol", + "./contracts/src/errors/LibCommonRichErrors.sol", + "./contracts/src/errors/LibOwnableRichErrors.sol", + "./contracts/src/errors/LibProxyRichErrors.sol", + "./contracts/src/errors/LibSimpleFunctionRegistryRichErrors.sol", + "./contracts/src/liquidity-providers/MooniswapLiquidityProvider.sol", + "./contracts/src/liquidity-providers/CurveLiquidityProvider.sol", + "./contracts/src/vendor/IMooniswapPool.sol", + "./contracts/src/vendor/IFeeRecipient.sol", + "./contracts/src/vendor/IERC721Token.sol", + "./contracts/src/vendor/IERC1155Token.sol", + "./contracts/src/vendor/IPropertyValidator.sol", + "./contracts/src/vendor/ITakerCallback.sol", + "./contracts/src/vendor/IUniswapV3Pool.sol", + "./contracts/src/vendor/v3/IStaking.sol", + "./contracts/src/vendor/v3/IERC20Bridge.sol", + "./contracts/src/vendor/IUniswapV2Pair.sol", + "./contracts/src/vendor/ILiquidityProvider.sol" + ], "useDockerisedSolc": false, "isOfflineMode": false, "shouldSaveStandardInput": true, diff --git a/contracts/zero-ex/contracts/deps/forge-std b/contracts/zero-ex/contracts/deps/forge-std new file mode 160000 index 0000000000..1680d7fb3e --- /dev/null +++ b/contracts/zero-ex/contracts/deps/forge-std @@ -0,0 +1 @@ +Subproject commit 1680d7fb3e00b7b197a7336e7c88e838c7e6a3ec diff --git a/contracts/zero-ex/contracts/test/foundry/ContractTest.sol b/contracts/zero-ex/contracts/test/foundry/ContractTest.sol new file mode 100644 index 0000000000..319c6de530 --- /dev/null +++ b/contracts/zero-ex/contracts/test/foundry/ContractTest.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: Apache-2.0 +/* + + Copyright 2022 ZeroEx Intl. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +*/ + +pragma solidity ^0.6; + +import "forge-std/Test.sol"; + +contract ContractTest is Test { + function setUp() public {} + + function testExample() public { + assertTrue(true); + } +} diff --git a/contracts/zero-ex/foundry.toml b/contracts/zero-ex/foundry.toml new file mode 100644 index 0000000000..55261b46b4 --- /dev/null +++ b/contracts/zero-ex/foundry.toml @@ -0,0 +1,8 @@ +[default] +src = 'contracts/src' +out = 'foundry-artifacts' +test = 'contracts/test/foundry' +libs = ["contracts/deps/", "../utils/contracts/src/"] +remappings = ['@0x/contracts-utils/=../utils/', '@0x/contracts-erc20/=../erc20/', 'src/=./contracts/src'] +cache_path = 'foundry-cache' +optimizer_runs = 1000000 diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index 52522ef510..5f9d3f24eb 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -38,7 +38,8 @@ "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json", "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES", "publish:private": "yarn build && gitpkg publish", - "rollback": "node ./lib/scripts/rollback.js" + "rollback": "node ./lib/scripts/rollback.js", + "typechain": "typechain --target=ethers-v5 --out-dir='typechain-wrappers' './foundry-artifacts/**/*.json'" }, "config": { "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,PositiveSlippageFeeTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider,BatchFillNativeOrdersFeature,IBatchFillNativeOrdersFeature,MultiplexFeature,IMultiplexFeature,OtcOrdersFeature,IOtcOrdersFeature,AvalancheBridgeAdapter,BSCBridgeAdapter,CeloBridgeAdapter,EthereumBridgeAdapter,FantomBridgeAdapter,OptimismBridgeAdapter,PolygonBridgeAdapter", @@ -65,6 +66,7 @@ "@0x/sol-compiler": "^4.8.1", "@0x/ts-doc-gen": "^0.0.28", "@0x/tslint-config": "^4.1.4", + "@typechain/ethers-v5": "^10.0.0", "@types/isomorphic-fetch": "^0.0.35", "@types/lodash": "4.14.104", "@types/mocha": "^5.2.7", @@ -78,6 +80,7 @@ "solhint": "^1.4.1", "truffle": "^5.0.32", "tslint": "5.11.0", + "typechain": "^8.0.0", "typedoc": "~0.16.11", "typescript": "4.6.3" }, diff --git a/yarn.lock b/yarn.lock index 56cc2beeff..25eb6d88c3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2555,6 +2555,14 @@ dependencies: defer-to-connect "^1.0.1" +"@typechain/ethers-v5@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-10.0.0.tgz#1b6e292d2ed9afb0d2f7a4674cc199bb95bad714" + integrity sha512-Kot7fwAqnH96ZbI8xrRgj5Kpv9yCEdjo7mxRqrH7bYpEgijT5MmuOo8IVsdhOu7Uog4ONg7k/d5UdbAtTKUgsA== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + "@types/bn.js@^4.11.0", "@types/bn.js@^4.11.3", "@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" @@ -2718,6 +2726,11 @@ dependencies: "@types/node" "*" +"@types/prettier@^2.1.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.1.tgz#76e72d8a775eef7ce649c63c8acae1a0824bbaed" + integrity sha512-XFjFHmaLVifrAKaZ+EKghFHtHSUonyw8P2Qmy2/+osBnrKbH9UYtlK10zg8/kCt47MFilll/DEDKy3DHfJ0URw== + "@types/prompts@^2.0.9": version "2.0.9" resolved "https://registry.yarnpkg.com/@types/prompts/-/prompts-2.0.9.tgz#19f419310eaa224a520476b19d4183f6a2b3bd8f" @@ -2842,7 +2855,7 @@ abstract-leveldown@3.0.0: dependencies: xtend "~4.0.0" -abstract-leveldown@^2.4.1, abstract-leveldown@~2.7.1: +abstract-leveldown@^2.4.1: version "2.7.2" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" dependencies: @@ -2854,13 +2867,6 @@ abstract-leveldown@^5.0.0, abstract-leveldown@~5.0.0: dependencies: xtend "~4.0.0" -abstract-leveldown@~2.6.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.6.3.tgz#1c5e8c6a5ef965ae8c35dfb3a8770c476b82c4b8" - integrity sha512-2++wDf/DYqkPR3o5tbfdhF96EfMApo1GpPfzOsR/ZYXdkSmELlvOOEAl9iKkRsktMPHdGjO4rtkBpf2I7TiTeA== - dependencies: - xtend "~4.0.0" - accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -3071,6 +3077,16 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + array-differ@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" @@ -3173,7 +3189,7 @@ async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" -async@1.x, async@^1.4.2: +async@1.x: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -3771,21 +3787,11 @@ bigi@1.4.2, bigi@^1.1.0: version "1.4.2" resolved "https://registry.yarnpkg.com/bigi/-/bigi-1.4.2.tgz#9c665a95f88b8b08fc05cfd731f561859d725825" -bignumber.js@7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-7.2.1.tgz#80c048759d826800807c4bfd521e50edbba57a5f" - integrity sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ== - -bignumber.js@^9.0.0, bignumber.js@~9.0.0, bignumber.js@~9.0.2: +bignumber.js@7.2.1, bignumber.js@^9.0.0, bignumber.js@^9.0.2, bignumber.js@~4.1.0, bignumber.js@~9.0.0, bignumber.js@~9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.0.2.tgz#71c6c6bed38de64e24a65ebe16cfcf23ae693673" integrity sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw== -bignumber.js@~4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.1.0.tgz#db6f14067c140bd46624815a7916c92d9b6c24b1" - integrity sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA== - binary-extensions@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" @@ -4635,6 +4641,26 @@ command-exists@^1.2.8: version "1.2.9" resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + commander@2.18.0: version "2.18.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" @@ -5069,7 +5095,7 @@ debug@^4.0.1: dependencies: ms "2.1.2" -debug@^4.3.3: +debug@^4.3.1, debug@^4.3.3: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -5184,7 +5210,7 @@ deep-equal@~1.1.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" -deep-extend@^0.6.0: +deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5208,13 +5234,6 @@ defer-to-connect@^1.0.1: version "1.1.3" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" -deferred-leveldown@~1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-1.2.2.tgz#3acd2e0b75d1669924bc0a4b642851131173e1eb" - integrity sha512-uukrWD2bguRtXilKt6cAWKyoXrTSMo5m7crUdLfWQmu8kIm88w3QZoUL+6nhpfKVmhHANER6Re3sKoNoZ3IKMA== - dependencies: - abstract-leveldown "~2.6.0" - deferred-leveldown@~4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-4.0.2.tgz#0b0570087827bf480a23494b398f04c128c19a20" @@ -6583,6 +6602,13 @@ find-cache-dir@^0.1.1: mkdirp "^0.5.1" pkg-dir "^1.0.0" +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + find-up@3.0.0, find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -6736,7 +6762,7 @@ fs-extra@^4.0.2, fs-extra@^4.0.3: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.1: +fs-extra@^7.0.0, fs-extra@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" dependencies: @@ -7135,6 +7161,18 @@ glob@7.1.6, glob@^7.0.0, glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glo 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" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -7568,11 +7606,6 @@ ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - immediate@~3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" @@ -8565,31 +8598,12 @@ level-codec@^9.0.0: dependencies: buffer "^5.6.0" -level-codec@~7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-7.0.1.tgz#341f22f907ce0f16763f24bddd681e395a0fb8a7" - integrity sha512-Ua/R9B9r3RasXdRmOtd+t9TCOEIIlts+TN/7XTT2unhDaL6sJn83S3rUyljbr6lVtw49N3/yA0HHjpV6Kzb2aQ== - -level-errors@^1.0.3: - version "1.1.2" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.1.2.tgz#4399c2f3d3ab87d0625f7e3676e2d807deff404d" - integrity sha512-Sw/IJwWbPKF5Ai4Wz60B52yj0zYeqzObLh8k1Tk88jVmD51cJSKWSYpRyhVIvFzZdvsPqlH5wfhp/yxdsaQH4w== - dependencies: - errno "~0.1.1" - level-errors@^2.0.0, level-errors@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" dependencies: errno "~0.1.1" -level-errors@~1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-1.0.5.tgz#83dbfb12f0b8a2516bdc9a31c4876038e227b859" - integrity sha512-/cLUpQduF6bNrWuAC4pwtUKA5t669pCsCi2XbmojG2tFeOr9j6ShtdDCtFFQO1DRt+EVZhx9gPzP9G2bUaG4ig== - dependencies: - errno "~0.1.1" - level-iterator-stream@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-2.0.3.tgz#ccfff7c046dcf47955ae9a86f46dfa06a31688b4" @@ -8598,16 +8612,6 @@ level-iterator-stream@^2.0.3: readable-stream "^2.0.5" xtend "^4.0.0" -level-iterator-stream@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-1.3.1.tgz#e43b78b1a8143e6fa97a4f485eb8ea530352f2ed" - integrity sha512-1qua0RHNtr4nrZBgYlpV0qHHeHpcRRWTxEZJ8xsemoHAXNL5tbooh4tPEEqIqsbWCAJBmUmkwYK/sW5OrFjWWw== - dependencies: - inherits "^2.0.1" - level-errors "^1.0.3" - readable-stream "^1.0.33" - xtend "^4.0.0" - level-iterator-stream@~3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-3.0.1.tgz#2c98a4f8820d87cdacab3132506815419077c730" @@ -8651,14 +8655,6 @@ level-sublevel@6.6.4: typewiselite "~1.0.0" xtend "~4.0.0" -level-ws@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-0.0.0.tgz#372e512177924a00424b0b43aef2bb42496d228b" - integrity sha512-XUTaO/+Db51Uiyp/t7fCMGVFOTdtLS/NIACxE/GHsij15mKzxksZifKVjlXDF41JMUP/oM1Oc4YNGdKnc3dVLw== - dependencies: - readable-stream "~1.0.15" - xtend "~2.1.1" - level-ws@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-1.0.0.tgz#19a22d2d4ac57b18cc7c6ecc4bd23d899d8f603b" @@ -8676,19 +8672,6 @@ levelup@3.1.1, levelup@^3.0.0: level-iterator-stream "~3.0.0" xtend "~4.0.0" -levelup@^1.2.1: - version "1.3.9" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-1.3.9.tgz#2dbcae845b2bb2b6bea84df334c475533bbd82ab" - integrity sha512-VVGHfKIlmw8w1XqpGOAGwq6sZm2WwWLmlDcULkKWQXEA5EopA8OBNJ2Ck2v6bdk8HeEZSbCSEgzXadyQFm76sQ== - dependencies: - deferred-leveldown "~1.2.1" - level-codec "~7.0.0" - level-errors "~1.0.3" - level-iterator-stream "~1.3.0" - prr "~1.0.1" - semver "~5.4.1" - xtend "~4.0.0" - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -8768,6 +8751,11 @@ lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -9062,18 +9050,6 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memdown@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w== - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - memdown@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/memdown/-/memdown-3.0.0.tgz#93aca055d743b20efc37492e9e399784f2958309" @@ -9148,7 +9124,7 @@ merge2@^1.2.3: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" -merkle-patricia-tree@3.0.0: +merkle-patricia-tree@3.0.0, merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: version "3.0.0" resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-3.0.0.tgz#448d85415565df72febc33ca362b8b614f5a58f8" dependencies: @@ -9160,20 +9136,6 @@ merkle-patricia-tree@3.0.0: rlp "^2.0.0" semaphore ">=1.0.1" -merkle-patricia-tree@^2.1.2, merkle-patricia-tree@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-2.3.2.tgz#982ca1b5a0fde00eed2f6aeed1f9152860b8208a" - integrity sha512-81PW5m8oz/pz3GvsAwbauj7Y00rqm81Tzad77tHBwU7pIAtN+TJnMSOJhxBKflSVYhptMMb9RskhqHqrSm1V+g== - dependencies: - async "^1.4.2" - ethereumjs-util "^5.0.0" - level-ws "0.0.0" - levelup "^1.2.1" - memdown "^1.0.0" - readable-stream "^2.0.0" - rlp "^2.0.0" - semaphore ">=1.0.1" - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -9357,7 +9319,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@^1.0.3: +mkdirp@*, mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" @@ -10612,6 +10574,11 @@ prettier@^2.0.5: version "2.1.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" +prettier@^2.3.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== + pretty-bytes@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-1.0.4.tgz#0a22e8210609ad35542f8c8d5d2159aff0751c84" @@ -11040,7 +11007,7 @@ read@1, read@1.0.x, read@~1.0.1, read@~1.0.5: string_decoder "^1.1.1" util-deprecate "^1.0.1" -"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.15, readable-stream@~1.0.26: +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.26: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -11049,7 +11016,7 @@ read@1, read@1.0.x, read@~1.0.1, read@~1.0.5: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^1.0.33, readable-stream@~1.1.9: +readable-stream@~1.1.9: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" dependencies: @@ -11113,6 +11080,11 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + regenerate@^1.2.1: version "1.4.1" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" @@ -11547,11 +11519,6 @@ semver@^7.3.5: dependencies: lru-cache "^6.0.0" -semver@~5.4.1: - version "5.4.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" - integrity sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg== - send@0.17.1: version "0.17.1" resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" @@ -12038,6 +12005,11 @@ string-editor@^0.1.0: dependencies: editor "^1.0.0" +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -12307,6 +12279,16 @@ swarm-js@^0.1.40: tar "^4.0.2" xhr-request "^1.0.1" +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -12649,6 +12631,21 @@ truffle@^5.0.32: mocha "8.1.2" original-require "1.0.1" +ts-command-line-args@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.3.1.tgz#b6188e42efc6cf7a8898e438a873fbb15505ddd6" + integrity sha512-FR3y7pLl/fuUNSmnPhfLArGqRrpojQgIEEOVzYx9DhTmfIN7C9RWSfpkJEF4J+Gk7aVx5pak8I7vWZsaN4N84g== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + +ts-essentials@^7.0.1: + 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== + tslib@1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" @@ -12799,6 +12796,22 @@ type@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f" +typechain@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.0.0.tgz#a5dbe754717a7e16247df52b5285903de600e8ff" + integrity sha512-rqDfDYc9voVAhmfVfAwzg3VYFvhvs5ck1X9T/iWkX745Cul4t+V/smjnyqrbDzWDbzD93xfld1epg7Y/uFAesQ== + dependencies: + "@types/prettier" "^2.1.1" + debug "^4.3.1" + fs-extra "^7.0.0" + glob "7.1.7" + js-sha3 "^0.8.0" + lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" + ts-essentials "^7.0.1" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -12875,6 +12888,16 @@ typewiselite@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/typewiselite/-/typewiselite-1.0.0.tgz#c8882fa1bb1092c06005a97f34ef5c8508e3664e" +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + u2f-api@0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/u2f-api/-/u2f-api-0.2.7.tgz#17bf196b242f6bf72353d9858e6a7566cc192720" @@ -13856,6 +13879,14 @@ wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + workerpool@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.0.0.tgz#85aad67fa1a2c8ef9386a1b43539900f61d03d58"