@requestnetwork/smart-contracts 0.28.1-next.1684 → 0.28.1-next.1688
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -1
- package/dist/hardhat.config.d.ts +22 -1
- package/dist/hardhat.config.d.ts.map +1 -1
- package/dist/hardhat.config.js +74 -34
- package/dist/hardhat.config.js.map +1 -1
- package/dist/scripts/deploy-payments.d.ts +2 -2
- package/dist/scripts/deploy-payments.d.ts.map +1 -1
- package/dist/scripts/deploy-payments.js +4 -12
- package/dist/scripts/deploy-payments.js.map +1 -1
- package/dist/scripts-create2/check-deployer.d.ts +3 -0
- package/dist/scripts-create2/check-deployer.d.ts.map +1 -0
- package/dist/scripts-create2/check-deployer.js +33 -0
- package/dist/scripts-create2/check-deployer.js.map +1 -0
- package/dist/scripts-create2/compute-one-address.d.ts +4 -0
- package/dist/scripts-create2/compute-one-address.d.ts.map +1 -0
- package/dist/scripts-create2/compute-one-address.js +55 -0
- package/dist/scripts-create2/compute-one-address.js.map +1 -0
- package/dist/scripts-create2/deploy-one.d.ts +5 -0
- package/dist/scripts-create2/deploy-one.d.ts.map +1 -0
- package/dist/scripts-create2/deploy-one.js +58 -0
- package/dist/scripts-create2/deploy-one.js.map +1 -0
- package/dist/scripts-create2/deploy-request-deployer.d.ts +3 -0
- package/dist/scripts-create2/deploy-request-deployer.d.ts.map +1 -0
- package/dist/scripts-create2/deploy-request-deployer.js +28 -0
- package/dist/scripts-create2/deploy-request-deployer.js.map +1 -0
- package/dist/scripts-create2/types.d.ts +25 -0
- package/dist/scripts-create2/types.d.ts.map +1 -0
- package/dist/scripts-create2/types.js +3 -0
- package/dist/scripts-create2/types.js.map +1 -0
- package/dist/scripts-create2/utils.d.ts +20 -0
- package/dist/scripts-create2/utils.d.ts.map +1 -0
- package/dist/scripts-create2/utils.js +55 -0
- package/dist/scripts-create2/utils.js.map +1 -0
- package/dist/scripts-create2/verify-one.d.ts +5 -0
- package/dist/scripts-create2/verify-one.d.ts.map +1 -0
- package/dist/scripts-create2/verify-one.js +42 -0
- package/dist/scripts-create2/verify-one.js.map +1 -0
- package/dist/scripts-create2/xdeployer.d.ts +3 -0
- package/dist/scripts-create2/xdeployer.d.ts.map +1 -0
- package/dist/scripts-create2/xdeployer.js +76 -0
- package/dist/scripts-create2/xdeployer.js.map +1 -0
- package/dist/src/lib/artifacts/EthereumFeeProxy/index.d.ts.map +1 -1
- package/dist/src/lib/artifacts/EthereumFeeProxy/index.js +50 -1
- package/dist/src/lib/artifacts/EthereumFeeProxy/index.js.map +1 -1
- package/dist/src/lib/artifacts/EthereumProxy/index.d.ts.map +1 -1
- package/dist/src/lib/artifacts/EthereumProxy/index.js +50 -1
- package/dist/src/lib/artifacts/EthereumProxy/index.js.map +1 -1
- package/dist/src/lib/artifacts/RequestDeployer/0.1.0.json +220 -0
- package/dist/src/lib/artifacts/RequestDeployer/index.d.ts +4 -0
- package/dist/src/lib/artifacts/RequestDeployer/index.d.ts.map +1 -0
- package/dist/src/lib/artifacts/RequestDeployer/index.js +61 -0
- package/dist/src/lib/artifacts/RequestDeployer/index.js.map +1 -0
- package/dist/src/lib/artifacts/index.d.ts +1 -0
- package/dist/src/lib/artifacts/index.d.ts.map +1 -1
- package/dist/src/lib/artifacts/index.js +1 -0
- package/dist/src/lib/artifacts/index.js.map +1 -1
- package/dist/src/types/ERC1820Implementer.d.ts +121 -0
- package/dist/src/types/IERC1820Implementer.d.ts +121 -0
- package/dist/src/types/Pausable.d.ts +7 -134
- package/dist/src/types/RequestDeployer.d.ts +429 -0
- package/dist/src/types/factories/AggregatorMock__factory.d.ts +1 -1
- package/dist/src/types/factories/AggregatorMock__factory.d.ts.map +1 -1
- package/dist/src/types/factories/AggregatorMock__factory.js +1 -1
- package/dist/src/types/factories/AggregatorMock__factory.js.map +1 -1
- package/dist/src/types/factories/BadERC20__factory.d.ts +1 -1
- package/dist/src/types/factories/BadERC20__factory.d.ts.map +1 -1
- package/dist/src/types/factories/BadERC20__factory.js +1 -1
- package/dist/src/types/factories/BadERC20__factory.js.map +1 -1
- package/dist/src/types/factories/BytesUtilsMock__factory.d.ts +1 -1
- package/dist/src/types/factories/BytesUtilsMock__factory.d.ts.map +1 -1
- package/dist/src/types/factories/BytesUtilsMock__factory.js +1 -1
- package/dist/src/types/factories/BytesUtilsMock__factory.js.map +1 -1
- package/dist/src/types/factories/ChainlinkConversionPath__factory.d.ts +1 -1
- package/dist/src/types/factories/ChainlinkConversionPath__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ChainlinkConversionPath__factory.js +1 -1
- package/dist/src/types/factories/ChainlinkConversionPath__factory.js.map +1 -1
- package/dist/src/types/factories/ERC1820Implementer__factory.d.ts +33 -0
- package/dist/src/types/factories/ERC1820Implementer__factory.d.ts.map +1 -0
- package/dist/src/types/factories/ERC1820Implementer__factory.js +61 -0
- package/dist/src/types/factories/ERC1820Implementer__factory.js.map +1 -0
- package/dist/src/types/factories/ERC20Alpha__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20Alpha__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20Alpha__factory.js +1 -1
- package/dist/src/types/factories/ERC20Alpha__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20EscrowToPay__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20EscrowToPay__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20EscrowToPay__factory.js +1 -1
- package/dist/src/types/factories/ERC20EscrowToPay__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20False__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20False__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20False__factory.js +1 -1
- package/dist/src/types/factories/ERC20False__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20FeeProxy__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20FeeProxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20FeeProxy__factory.js +1 -1
- package/dist/src/types/factories/ERC20FeeProxy__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20NoReturn__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20NoReturn__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20NoReturn__factory.js +1 -1
- package/dist/src/types/factories/ERC20NoReturn__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20Proxy__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20Proxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20Proxy__factory.js +1 -1
- package/dist/src/types/factories/ERC20Proxy__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20Revert__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20Revert__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20Revert__factory.js +1 -1
- package/dist/src/types/factories/ERC20Revert__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20SwapToConversion__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20SwapToConversion__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20SwapToConversion__factory.js +1 -1
- package/dist/src/types/factories/ERC20SwapToConversion__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20SwapToPay__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20SwapToPay__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20SwapToPay__factory.js +1 -1
- package/dist/src/types/factories/ERC20SwapToPay__factory.js.map +1 -1
- package/dist/src/types/factories/ERC20True__factory.d.ts +1 -1
- package/dist/src/types/factories/ERC20True__factory.d.ts.map +1 -1
- package/dist/src/types/factories/ERC20True__factory.js +1 -1
- package/dist/src/types/factories/ERC20True__factory.js.map +1 -1
- package/dist/src/types/factories/Erc20ConversionProxy__factory.d.ts +1 -1
- package/dist/src/types/factories/Erc20ConversionProxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/Erc20ConversionProxy__factory.js +1 -1
- package/dist/src/types/factories/Erc20ConversionProxy__factory.js.map +1 -1
- package/dist/src/types/factories/EthConversionProxy__factory.d.ts +1 -1
- package/dist/src/types/factories/EthConversionProxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/EthConversionProxy__factory.js +1 -1
- package/dist/src/types/factories/EthConversionProxy__factory.js.map +1 -1
- package/dist/src/types/factories/EtherPaymentFallback__factory.d.ts +1 -1
- package/dist/src/types/factories/EtherPaymentFallback__factory.js +1 -1
- package/dist/src/types/factories/EthereumFeeProxy__factory.d.ts +1 -1
- package/dist/src/types/factories/EthereumFeeProxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/EthereumFeeProxy__factory.js +1 -1
- package/dist/src/types/factories/EthereumFeeProxy__factory.js.map +1 -1
- package/dist/src/types/factories/EthereumProxy__factory.d.ts +1 -1
- package/dist/src/types/factories/EthereumProxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/EthereumProxy__factory.js +1 -1
- package/dist/src/types/factories/EthereumProxy__factory.js.map +1 -1
- package/dist/src/types/factories/FakeSwapRouter__factory.d.ts +1 -1
- package/dist/src/types/factories/FakeSwapRouter__factory.d.ts.map +1 -1
- package/dist/src/types/factories/FakeSwapRouter__factory.js +1 -1
- package/dist/src/types/factories/FakeSwapRouter__factory.js.map +1 -1
- package/dist/src/types/factories/GnosisSafeProxy__factory.d.ts +1 -1
- package/dist/src/types/factories/GnosisSafeProxy__factory.d.ts.map +1 -1
- package/dist/src/types/factories/GnosisSafeProxy__factory.js +1 -1
- package/dist/src/types/factories/GnosisSafeProxy__factory.js.map +1 -1
- package/dist/src/types/factories/IERC1820Implementer__factory.d.ts +23 -0
- package/dist/src/types/factories/IERC1820Implementer__factory.d.ts.map +1 -0
- package/dist/src/types/factories/IERC1820Implementer__factory.js +44 -0
- package/dist/src/types/factories/IERC1820Implementer__factory.js.map +1 -0
- package/dist/src/types/factories/Migrations__factory.d.ts +1 -1
- package/dist/src/types/factories/Migrations__factory.d.ts.map +1 -1
- package/dist/src/types/factories/Migrations__factory.js +1 -1
- package/dist/src/types/factories/Migrations__factory.js.map +1 -1
- package/dist/src/types/factories/Pausable__factory.d.ts +3 -24
- package/dist/src/types/factories/Pausable__factory.d.ts.map +1 -1
- package/dist/src/types/factories/Pausable__factory.js +9 -78
- package/dist/src/types/factories/Pausable__factory.js.map +1 -1
- package/dist/src/types/factories/RequestDeployer__factory.d.ts +53 -0
- package/dist/src/types/factories/RequestDeployer__factory.d.ts.map +1 -0
- package/dist/src/types/factories/RequestDeployer__factory.js +253 -0
- package/dist/src/types/factories/RequestDeployer__factory.js.map +1 -0
- package/dist/src/types/factories/RequestHashStorage__factory.d.ts +1 -1
- package/dist/src/types/factories/RequestHashStorage__factory.d.ts.map +1 -1
- package/dist/src/types/factories/RequestHashStorage__factory.js +1 -1
- package/dist/src/types/factories/RequestHashStorage__factory.js.map +1 -1
- package/dist/src/types/factories/RequestOpenHashSubmitter__factory.d.ts +1 -1
- package/dist/src/types/factories/RequestOpenHashSubmitter__factory.d.ts.map +1 -1
- package/dist/src/types/factories/RequestOpenHashSubmitter__factory.js +1 -1
- package/dist/src/types/factories/RequestOpenHashSubmitter__factory.js.map +1 -1
- package/dist/src/types/factories/StorageFeeCollector__factory.d.ts +1 -1
- package/dist/src/types/factories/StorageFeeCollector__factory.d.ts.map +1 -1
- package/dist/src/types/factories/StorageFeeCollector__factory.js +1 -1
- package/dist/src/types/factories/StorageFeeCollector__factory.js.map +1 -1
- package/dist/src/types/factories/TestERC20__factory.d.ts +1 -1
- package/dist/src/types/factories/TestERC20__factory.d.ts.map +1 -1
- package/dist/src/types/factories/TestERC20__factory.js +1 -1
- package/dist/src/types/factories/TestERC20__factory.js.map +1 -1
- package/dist/src/types/factories/UsdtFake__factory.d.ts +1 -1
- package/dist/src/types/factories/UsdtFake__factory.js +1 -1
- package/dist/src/types/hardhat.d.ts +16 -0
- package/dist/src/types/index.d.ts +8 -2
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +9 -3
- package/dist/src/types/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -5
- package/types/ERC1820Implementer.d.ts +121 -0
- package/types/IERC1820Implementer.d.ts +121 -0
- package/types/Pausable.d.ts +7 -134
- package/types/RequestDeployer.d.ts +429 -0
- package/types/factories/AggregatorMock__factory.d.ts +1 -1
- package/types/factories/AggregatorMock__factory.d.ts.map +1 -1
- package/types/factories/AggregatorMock__factory.js +1 -1
- package/types/factories/AggregatorMock__factory.js.map +1 -1
- package/types/factories/BadERC20__factory.d.ts +1 -1
- package/types/factories/BadERC20__factory.d.ts.map +1 -1
- package/types/factories/BadERC20__factory.js +1 -1
- package/types/factories/BadERC20__factory.js.map +1 -1
- package/types/factories/BytesUtilsMock__factory.d.ts +1 -1
- package/types/factories/BytesUtilsMock__factory.d.ts.map +1 -1
- package/types/factories/BytesUtilsMock__factory.js +1 -1
- package/types/factories/BytesUtilsMock__factory.js.map +1 -1
- package/types/factories/ChainlinkConversionPath__factory.d.ts +1 -1
- package/types/factories/ChainlinkConversionPath__factory.d.ts.map +1 -1
- package/types/factories/ChainlinkConversionPath__factory.js +1 -1
- package/types/factories/ChainlinkConversionPath__factory.js.map +1 -1
- package/types/factories/ERC1820Implementer__factory.d.ts +33 -0
- package/types/factories/ERC1820Implementer__factory.d.ts.map +1 -0
- package/types/factories/ERC1820Implementer__factory.js +61 -0
- package/types/factories/ERC1820Implementer__factory.js.map +1 -0
- package/types/factories/ERC20Alpha__factory.d.ts +1 -1
- package/types/factories/ERC20Alpha__factory.d.ts.map +1 -1
- package/types/factories/ERC20Alpha__factory.js +1 -1
- package/types/factories/ERC20Alpha__factory.js.map +1 -1
- package/types/factories/ERC20EscrowToPay__factory.d.ts +1 -1
- package/types/factories/ERC20EscrowToPay__factory.d.ts.map +1 -1
- package/types/factories/ERC20EscrowToPay__factory.js +1 -1
- package/types/factories/ERC20EscrowToPay__factory.js.map +1 -1
- package/types/factories/ERC20False__factory.d.ts +1 -1
- package/types/factories/ERC20False__factory.d.ts.map +1 -1
- package/types/factories/ERC20False__factory.js +1 -1
- package/types/factories/ERC20False__factory.js.map +1 -1
- package/types/factories/ERC20FeeProxy__factory.d.ts +1 -1
- package/types/factories/ERC20FeeProxy__factory.d.ts.map +1 -1
- package/types/factories/ERC20FeeProxy__factory.js +1 -1
- package/types/factories/ERC20FeeProxy__factory.js.map +1 -1
- package/types/factories/ERC20NoReturn__factory.d.ts +1 -1
- package/types/factories/ERC20NoReturn__factory.d.ts.map +1 -1
- package/types/factories/ERC20NoReturn__factory.js +1 -1
- package/types/factories/ERC20NoReturn__factory.js.map +1 -1
- package/types/factories/ERC20Proxy__factory.d.ts +1 -1
- package/types/factories/ERC20Proxy__factory.d.ts.map +1 -1
- package/types/factories/ERC20Proxy__factory.js +1 -1
- package/types/factories/ERC20Proxy__factory.js.map +1 -1
- package/types/factories/ERC20Revert__factory.d.ts +1 -1
- package/types/factories/ERC20Revert__factory.d.ts.map +1 -1
- package/types/factories/ERC20Revert__factory.js +1 -1
- package/types/factories/ERC20Revert__factory.js.map +1 -1
- package/types/factories/ERC20SwapToConversion__factory.d.ts +1 -1
- package/types/factories/ERC20SwapToConversion__factory.d.ts.map +1 -1
- package/types/factories/ERC20SwapToConversion__factory.js +1 -1
- package/types/factories/ERC20SwapToConversion__factory.js.map +1 -1
- package/types/factories/ERC20SwapToPay__factory.d.ts +1 -1
- package/types/factories/ERC20SwapToPay__factory.d.ts.map +1 -1
- package/types/factories/ERC20SwapToPay__factory.js +1 -1
- package/types/factories/ERC20SwapToPay__factory.js.map +1 -1
- package/types/factories/ERC20True__factory.d.ts +1 -1
- package/types/factories/ERC20True__factory.d.ts.map +1 -1
- package/types/factories/ERC20True__factory.js +1 -1
- package/types/factories/ERC20True__factory.js.map +1 -1
- package/types/factories/Erc20ConversionProxy__factory.d.ts +1 -1
- package/types/factories/Erc20ConversionProxy__factory.d.ts.map +1 -1
- package/types/factories/Erc20ConversionProxy__factory.js +1 -1
- package/types/factories/Erc20ConversionProxy__factory.js.map +1 -1
- package/types/factories/EthConversionProxy__factory.d.ts +1 -1
- package/types/factories/EthConversionProxy__factory.d.ts.map +1 -1
- package/types/factories/EthConversionProxy__factory.js +1 -1
- package/types/factories/EthConversionProxy__factory.js.map +1 -1
- package/types/factories/EtherPaymentFallback__factory.d.ts +1 -1
- package/types/factories/EtherPaymentFallback__factory.js +1 -1
- package/types/factories/EthereumFeeProxy__factory.d.ts +1 -1
- package/types/factories/EthereumFeeProxy__factory.d.ts.map +1 -1
- package/types/factories/EthereumFeeProxy__factory.js +1 -1
- package/types/factories/EthereumFeeProxy__factory.js.map +1 -1
- package/types/factories/EthereumProxy__factory.d.ts +1 -1
- package/types/factories/EthereumProxy__factory.d.ts.map +1 -1
- package/types/factories/EthereumProxy__factory.js +1 -1
- package/types/factories/EthereumProxy__factory.js.map +1 -1
- package/types/factories/FakeSwapRouter__factory.d.ts +1 -1
- package/types/factories/FakeSwapRouter__factory.d.ts.map +1 -1
- package/types/factories/FakeSwapRouter__factory.js +1 -1
- package/types/factories/FakeSwapRouter__factory.js.map +1 -1
- package/types/factories/GnosisSafeProxy__factory.d.ts +1 -1
- package/types/factories/GnosisSafeProxy__factory.d.ts.map +1 -1
- package/types/factories/GnosisSafeProxy__factory.js +1 -1
- package/types/factories/GnosisSafeProxy__factory.js.map +1 -1
- package/types/factories/IERC1820Implementer__factory.d.ts +23 -0
- package/types/factories/IERC1820Implementer__factory.d.ts.map +1 -0
- package/types/factories/IERC1820Implementer__factory.js +44 -0
- package/types/factories/IERC1820Implementer__factory.js.map +1 -0
- package/types/factories/Migrations__factory.d.ts +1 -1
- package/types/factories/Migrations__factory.d.ts.map +1 -1
- package/types/factories/Migrations__factory.js +1 -1
- package/types/factories/Migrations__factory.js.map +1 -1
- package/types/factories/Pausable__factory.d.ts +3 -24
- package/types/factories/Pausable__factory.d.ts.map +1 -1
- package/types/factories/Pausable__factory.js +9 -78
- package/types/factories/Pausable__factory.js.map +1 -1
- package/types/factories/RequestDeployer__factory.d.ts +53 -0
- package/types/factories/RequestDeployer__factory.d.ts.map +1 -0
- package/types/factories/RequestDeployer__factory.js +253 -0
- package/types/factories/RequestDeployer__factory.js.map +1 -0
- package/types/factories/RequestHashStorage__factory.d.ts +1 -1
- package/types/factories/RequestHashStorage__factory.d.ts.map +1 -1
- package/types/factories/RequestHashStorage__factory.js +1 -1
- package/types/factories/RequestHashStorage__factory.js.map +1 -1
- package/types/factories/RequestOpenHashSubmitter__factory.d.ts +1 -1
- package/types/factories/RequestOpenHashSubmitter__factory.d.ts.map +1 -1
- package/types/factories/RequestOpenHashSubmitter__factory.js +1 -1
- package/types/factories/RequestOpenHashSubmitter__factory.js.map +1 -1
- package/types/factories/StorageFeeCollector__factory.d.ts +1 -1
- package/types/factories/StorageFeeCollector__factory.d.ts.map +1 -1
- package/types/factories/StorageFeeCollector__factory.js +1 -1
- package/types/factories/StorageFeeCollector__factory.js.map +1 -1
- package/types/factories/TestERC20__factory.d.ts +1 -1
- package/types/factories/TestERC20__factory.d.ts.map +1 -1
- package/types/factories/TestERC20__factory.js +1 -1
- package/types/factories/TestERC20__factory.js.map +1 -1
- package/types/factories/UsdtFake__factory.d.ts +1 -1
- package/types/factories/UsdtFake__factory.js +1 -1
- package/types/hardhat.d.ts +16 -0
- package/types/index.d.ts +8 -2
- package/types/index.d.ts.map +1 -1
- package/types/index.js +9 -3
- package/types/index.js.map +1 -1
package/README.md
CHANGED
|
@@ -18,8 +18,13 @@ WEB3_PROVIDER_URL=... # Mandatory to interact with live blockchains
|
|
|
18
18
|
ETHERSCAN_API_KEY=... # Only used to verify smart contracts code on live blockchains, even for other explorers, except:
|
|
19
19
|
BSCSCAN_API_KEY=... # ... for BSCScan
|
|
20
20
|
POLYGONSCAN_API_KEY=... # ... for PolygonScan
|
|
21
|
-
FTMSCAN_API_KEY=... #
|
|
21
|
+
FTMSCAN_API_KEY=... # ... for FTMScan
|
|
22
|
+
SNOWTRACE_API_KEY=... # ... for Snowtrace
|
|
23
|
+
ARBISCAN_API_KEY=... # ... for Arbiscan
|
|
22
24
|
ADMIN_WALLET_ADDRESS=... # Mandatory to deploy contracts with admin tasks (e.g. ChainlinkConversionPath)
|
|
25
|
+
DEPLOYER_MASTER_KEY=... # Mandatory to deploy the request deployer smart contract on live blockchains
|
|
26
|
+
REQUEST_DEPLOYER_LIVE=... # Must be true to deploy contracts through the request deployer on live blockchains.
|
|
27
|
+
NETWORK=... # List of network to deploy contracts on with the request deployer. If not set default to all supported chain.
|
|
23
28
|
```
|
|
24
29
|
|
|
25
30
|
## Usage
|
|
@@ -53,6 +58,10 @@ const erc20FeeProxyInstance = erc20FeeProxyArtifact.connect(
|
|
|
53
58
|
|
|
54
59
|
The package stores the following smart contracts:
|
|
55
60
|
|
|
61
|
+
**Smart contracts for request deployment**
|
|
62
|
+
|
|
63
|
+
- `RequestDeployer` smart contract to which we delegate our deployment through the function `deploy(value, salt, bytecode)`. It enables to deploy contract with the `CREATE2` opcode to easily manage our contract deployment addresses.
|
|
64
|
+
|
|
56
65
|
**Smart contracts for ethereum-storage package**
|
|
57
66
|
|
|
58
67
|
- `RequestHashStorage` allows to declare a hash `NewHash(hash, submitter, feesParameters)`. Only a whitelisted contract can declare hashes.
|
|
@@ -127,6 +136,61 @@ Environment variables needed: `ADMIN_PRIVATE_KEY`
|
|
|
127
136
|
yarn hardhat prepare-live-payments --network private
|
|
128
137
|
```
|
|
129
138
|
|
|
139
|
+
### Deployment through request deployer
|
|
140
|
+
|
|
141
|
+
The request deployer enables multichain deployment of several smart contracts at predefined address. It is based on https://github.com/pcaversaccio/xdeployer
|
|
142
|
+
|
|
143
|
+
The deployer contract should be deployed at `0xE99Ab70a5FAE59551544FA326fA048f7B95A24B2` on live chains.
|
|
144
|
+
|
|
145
|
+
Be sure to run `yarn build:sol` before deploying the deployer or a contract.
|
|
146
|
+
|
|
147
|
+
#### Deploy the request deployer
|
|
148
|
+
|
|
149
|
+
Environment variables needed: `DEPLOYER_MASTER_KEY`
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
yarn hardhat deploy-deployer-contract --network <NETWORK>
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
#### Compute the contract addresses
|
|
156
|
+
|
|
157
|
+
Run:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
yarn hardhat compute-contract-addresses
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
It will compute the addresses of the contracts to be deployed via the request deployer.
|
|
164
|
+
|
|
165
|
+
#### Deploy the contracts
|
|
166
|
+
|
|
167
|
+
Depending on the xdeployer config, this script will deploy the smart contracts on several chain simultaneously
|
|
168
|
+
Environment variables needed: `ADMIN_PRIVATE_KEY`
|
|
169
|
+
You will need the request deployer to be deployed.
|
|
170
|
+
Then run:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
yarn hardhat deploy-contracts-through-deployer
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
To deploy on live chains set `REQUEST_DEPLOYER_LIVE` to true
|
|
177
|
+
|
|
178
|
+
This command will output details about each contract deployment on each chain:
|
|
179
|
+
|
|
180
|
+
- If successfull: the network, the contract address and block number
|
|
181
|
+
- If already deployed: the network, and the contract address
|
|
182
|
+
- If and error occured: the said error
|
|
183
|
+
|
|
184
|
+
#### Verify the contracts
|
|
185
|
+
|
|
186
|
+
For each network the contract were deployed to run:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
yarn hardhat verify-contract-from-deployer --network <NETWORK>
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
The associated `EXPLORER_API_KEY` is mandatory.
|
|
193
|
+
|
|
130
194
|
### Tests
|
|
131
195
|
|
|
132
196
|
After a local deployment:
|
package/dist/hardhat.config.d.ts
CHANGED
|
@@ -77,7 +77,21 @@ declare const _default: {
|
|
|
77
77
|
};
|
|
78
78
|
};
|
|
79
79
|
etherscan: {
|
|
80
|
-
apiKey:
|
|
80
|
+
apiKey: {
|
|
81
|
+
mainnet: string | undefined;
|
|
82
|
+
rinkeby: string | undefined;
|
|
83
|
+
bsc: string | undefined;
|
|
84
|
+
bscTestnet: string | undefined;
|
|
85
|
+
opera: string | undefined;
|
|
86
|
+
polygon: string | undefined;
|
|
87
|
+
polygonMumbai: string | undefined;
|
|
88
|
+
arbitrumOne: string | undefined;
|
|
89
|
+
avalanche: string | undefined;
|
|
90
|
+
xdai: string;
|
|
91
|
+
sokol: string;
|
|
92
|
+
aurora: string;
|
|
93
|
+
auroraTestnet: string;
|
|
94
|
+
};
|
|
81
95
|
};
|
|
82
96
|
typechain: {
|
|
83
97
|
outDir: string;
|
|
@@ -87,6 +101,13 @@ declare const _default: {
|
|
|
87
101
|
mocha: {
|
|
88
102
|
timeout: number;
|
|
89
103
|
};
|
|
104
|
+
xdeploy: {
|
|
105
|
+
salt: string;
|
|
106
|
+
signer: string | undefined;
|
|
107
|
+
networks: string[];
|
|
108
|
+
gasLimit: undefined;
|
|
109
|
+
deployerAddress: string;
|
|
110
|
+
};
|
|
90
111
|
};
|
|
91
112
|
export default _default;
|
|
92
113
|
//# sourceMappingURL=hardhat.config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardhat.config.d.ts","sourceRoot":"","sources":["../hardhat.config.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,8BAA8B,CAAC;AACtC,OAAO,2BAA2B,CAAC
|
|
1
|
+
{"version":3,"file":"hardhat.config.d.ts","sourceRoot":"","sources":["../hardhat.config.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,2BAA2B,CAAC;AACnC,OAAO,4BAA4B,CAAC;AACpC,OAAO,8BAA8B,CAAC;AACtC,OAAO,2BAA2B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CnC,wBAkHE"}
|
package/dist/hardhat.config.js
CHANGED
|
@@ -11,17 +11,34 @@ const dotenv_1 = require("dotenv");
|
|
|
11
11
|
const _5_deploy_all_1 = require("./scripts/5_deploy-all");
|
|
12
12
|
const deploy_payments_1 = require("./scripts/deploy-payments");
|
|
13
13
|
const prepare_payments_1 = require("./scripts/prepare-payments");
|
|
14
|
+
const check_deployer_1 = require("./scripts-create2/check-deployer");
|
|
15
|
+
const deploy_request_deployer_1 = require("./scripts-create2/deploy-request-deployer");
|
|
16
|
+
const compute_one_address_1 = require("./scripts-create2/compute-one-address");
|
|
17
|
+
const verify_one_1 = require("./scripts-create2/verify-one");
|
|
18
|
+
const deploy_one_1 = require("./scripts-create2/deploy-one");
|
|
14
19
|
(0, dotenv_1.config)();
|
|
15
20
|
const accounts = process.env.DEPLOYMENT_PRIVATE_KEY
|
|
16
21
|
? [process.env.DEPLOYMENT_PRIVATE_KEY]
|
|
17
|
-
: process.env.
|
|
18
|
-
? [process.env.
|
|
19
|
-
:
|
|
22
|
+
: process.env.DEPLOYER_MASTER_KEY
|
|
23
|
+
? [process.env.DEPLOYER_MASTER_KEY]
|
|
24
|
+
: process.env.ADMIN_PRIVATE_KEY
|
|
25
|
+
? [process.env.ADMIN_PRIVATE_KEY]
|
|
26
|
+
: undefined;
|
|
20
27
|
if (accounts && process.env.ADMIN_PRIVATE_KEY) {
|
|
21
28
|
accounts.push(process.env.ADMIN_PRIVATE_KEY);
|
|
22
29
|
}
|
|
30
|
+
const DEPLOYER_KEY_GUARD = 'DEPLOYER_KEY_GUARD';
|
|
31
|
+
// Request deployer address on local blockchain
|
|
32
|
+
const LOCAL_DEPLOYER_ADDRESS = '0x8CdaF0CD259887258Bc13a92C0a6dA92698644C0';
|
|
33
|
+
// Request deployer address on live blockchains
|
|
34
|
+
const LIVE_DEPLOYER_ADDRESS = '0xE99Ab70a5FAE59551544FA326fA048f7B95A24B2';
|
|
35
|
+
// Arbitrary data used to deploy our contracts at predefined addresses
|
|
36
|
+
const REQUEST_SALT = '0x0679724da7211bc62502a39f41cbf818fc7132c266e7c819fc2b06fad9593655';
|
|
37
|
+
const requestDeployer = process.env.REQUEST_DEPLOYER_LIVE
|
|
38
|
+
? LIVE_DEPLOYER_ADDRESS
|
|
39
|
+
: LOCAL_DEPLOYER_ADDRESS;
|
|
23
40
|
exports.default = {
|
|
24
|
-
solidity: '0.8.
|
|
41
|
+
solidity: '0.8.9',
|
|
25
42
|
paths: {
|
|
26
43
|
sources: 'src/contracts',
|
|
27
44
|
tests: 'test/contracts',
|
|
@@ -94,8 +111,28 @@ exports.default = {
|
|
|
94
111
|
},
|
|
95
112
|
},
|
|
96
113
|
etherscan: {
|
|
97
|
-
|
|
98
|
-
|
|
114
|
+
apiKey: {
|
|
115
|
+
mainnet: process.env.ETHERSCAN_API_KEY,
|
|
116
|
+
rinkeby: process.env.ETHERSCAN_API_KEY,
|
|
117
|
+
// binance smart chain
|
|
118
|
+
bsc: process.env.BSCSCAN_API_KEY,
|
|
119
|
+
bscTestnet: process.env.BSCSCAN_API_KEY,
|
|
120
|
+
// fantom mainnet
|
|
121
|
+
opera: process.env.FTMSCAN_API_KEY,
|
|
122
|
+
// polygon
|
|
123
|
+
polygon: process.env.POLYGONSCAN_API_KEY,
|
|
124
|
+
polygonMumbai: process.env.POLYGONSCAN_API_KEY,
|
|
125
|
+
// arbitrum
|
|
126
|
+
arbitrumOne: process.env.ARBISCAN_API_KEY,
|
|
127
|
+
// avalanche
|
|
128
|
+
avalanche: process.env.SNOWTRACE_API_KEY,
|
|
129
|
+
// xdai and sokol don't need an API key, but you still need
|
|
130
|
+
// to specify one; any string placeholder will work
|
|
131
|
+
xdai: 'api-key',
|
|
132
|
+
sokol: 'api-key',
|
|
133
|
+
aurora: 'api-key',
|
|
134
|
+
auroraTestnet: 'api-key',
|
|
135
|
+
},
|
|
99
136
|
},
|
|
100
137
|
typechain: {
|
|
101
138
|
outDir: 'src/types',
|
|
@@ -105,37 +142,20 @@ exports.default = {
|
|
|
105
142
|
mocha: {
|
|
106
143
|
timeout: 60000, // Usefull on test networks
|
|
107
144
|
},
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
case 'matic':
|
|
118
|
-
case 'mumbai': {
|
|
119
|
-
hre.config.etherscan.apiKey = process.env.POLYGONSCAN_API_KEY;
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
case 'fantom': {
|
|
123
|
-
hre.config.etherscan.apiKey = process.env.FTMSCAN_API_KEY;
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
case 'arbitrum-one': {
|
|
127
|
-
hre.config.etherscan.apiKey = process.env.ARBISCAN_API_KEY;
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
case 'avalanche': {
|
|
131
|
-
hre.config.etherscan.apiKey = process.env.SNOWTRACE_API_KEY;
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
145
|
+
xdeploy: {
|
|
146
|
+
salt: REQUEST_SALT,
|
|
147
|
+
signer: process.env.ADMIN_PRIVATE_KEY,
|
|
148
|
+
networks: process.env.NETWORK
|
|
149
|
+
? [process.env.NETWORK]
|
|
150
|
+
: ['mainnet', 'matic', 'bsc', 'celo', 'xdai', 'fuse', 'arbitrum-one', 'fantom', 'avalanche'],
|
|
151
|
+
gasLimit: undefined,
|
|
152
|
+
deployerAddress: requestDeployer,
|
|
153
|
+
},
|
|
135
154
|
};
|
|
136
155
|
// FIXME: use deployAllPaymentContracts instead to test with the same deployments
|
|
137
156
|
(0, config_1.task)('deploy-local-env', 'Deploy a local environment').setAction((args, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
138
157
|
args.force = true;
|
|
158
|
+
yield hre.run(DEPLOYER_KEY_GUARD);
|
|
139
159
|
yield (0, _5_deploy_all_1.default)(args, hre);
|
|
140
160
|
console.log('All contracts (re)deployed locally');
|
|
141
161
|
}));
|
|
@@ -147,10 +167,30 @@ const setExplorerApiKey = (hre) => {
|
|
|
147
167
|
args.force = (_a = args.force) !== null && _a !== void 0 ? _a : false;
|
|
148
168
|
args.dryRun = (_b = args.dryRun) !== null && _b !== void 0 ? _b : false;
|
|
149
169
|
args.simulate = args.dryRun;
|
|
150
|
-
|
|
170
|
+
yield hre.run(DEPLOYER_KEY_GUARD);
|
|
151
171
|
yield (0, deploy_payments_1.deployAllPaymentContracts)(args, hre);
|
|
152
172
|
}));
|
|
153
173
|
(0, config_1.task)('prepare-live-payments', 'Run ERC20 approval transactions for Swap Conversion, with the second signer (FIXME with missing tasks).').setAction((_args, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
174
|
+
yield hre.run(DEPLOYER_KEY_GUARD);
|
|
154
175
|
yield (0, prepare_payments_1.preparePayments)(hre);
|
|
155
176
|
}));
|
|
177
|
+
// Tasks inherent to the CREATE2 deployment scheme
|
|
178
|
+
(0, config_1.task)('deploy-deployer-contract', 'Deploy request deployer contract on the specified network').setAction((_args, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
179
|
+
yield (0, deploy_request_deployer_1.deployDeployer)(hre);
|
|
180
|
+
}));
|
|
181
|
+
(0, config_1.task)('compute-contract-addresses', 'Compute the contract addresses from the Create2DeploymentList using the create2 scheme').setAction((_args, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
182
|
+
yield (0, compute_one_address_1.computeCreate2DeploymentAddressesFromList)(hre);
|
|
183
|
+
}));
|
|
184
|
+
(0, config_1.task)('deploy-contracts-through-deployer', 'Deploy the contracts from the Create2DeploymentList using the create2 scheme').setAction((_args, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
185
|
+
yield (0, check_deployer_1.checkCreate2Deployer)(hre);
|
|
186
|
+
yield (0, deploy_one_1.deployWithCreate2FromList)(hre);
|
|
187
|
+
}));
|
|
188
|
+
(0, config_1.task)('verify-contract-from-deployer', 'Verify the contracts from the Create2DeploymentList for a specific network').setAction((_args, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
189
|
+
yield (0, verify_one_1.VerifyCreate2FromList)(hre);
|
|
190
|
+
}));
|
|
191
|
+
(0, config_1.subtask)(DEPLOYER_KEY_GUARD, 'prevent usage of the deployer master key').setAction(() => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
192
|
+
if (accounts && accounts[0] === process.env.DEPLOYER_MASTER_KEY) {
|
|
193
|
+
throw new Error('The deployer master key should not be used for this action');
|
|
194
|
+
}
|
|
195
|
+
}));
|
|
156
196
|
//# sourceMappingURL=hardhat.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardhat.config.js","sourceRoot":"","sources":["../hardhat.config.ts"],"names":[],"mappings":";;;AAAA,8BAA4B;AAC5B,qCAAmC;AACnC,sCAAoC;AACpC,wCAAsC;AACtC,qCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"hardhat.config.js","sourceRoot":"","sources":["../hardhat.config.ts"],"names":[],"mappings":";;;AAAA,8BAA4B;AAC5B,qCAAmC;AACnC,sCAAoC;AACpC,wCAAsC;AACtC,qCAAmC;AACnC,2CAA+C;AAC/C,mCAAgC;AAChC,0DAAwD;AACxD,+DAAsE;AACtE,iEAA6D;AAC7D,qEAAwE;AACxE,uFAA2E;AAE3E,+EAAkG;AAClG,6DAAqE;AACrE,6DAAyE;AAEzE,IAAA,eAAM,GAAE,CAAC;AAET,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB;IACjD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACnC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC/B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACjC,CAAC,CAAC,SAAS,CAAC;AAEd,IAAI,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;IAC7C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;CAC9C;AAED,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,+CAA+C;AAC/C,MAAM,sBAAsB,GAAG,4CAA4C,CAAC;AAE5E,+CAA+C;AAC/C,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAE3E,sEAAsE;AACtE,MAAM,YAAY,GAAG,oEAAoE,CAAC;AAE1F,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACvD,CAAC,CAAC,qBAAqB;IACvB,CAAC,CAAC,sBAAsB,CAAC;AAE3B,kBAAe;IACb,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE;QACL,OAAO,EAAE,eAAe;QACxB,KAAK,EAAE,gBAAgB;QACvB,SAAS,EAAE,OAAO;KACnB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,GAAG,EAAE,uBAAuB;YAC5B,QAAQ,EAAE,SAAS;SACpB;QACD,OAAO,EAAE;YACP,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2CAA2C;YACjF,OAAO,EAAE,CAAC;YACV,QAAQ;SACT;QACD,OAAO,EAAE;YACP,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,2CAA2C;YACjF,OAAO,EAAE,CAAC;YACV,QAAQ;SACT;QACD,KAAK,EAAE;YACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,yBAAyB;YAC/D,OAAO,EAAE,GAAG;YACZ,QAAQ;SACT;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB;YAC9D,OAAO,EAAE,KAAK;YACd,QAAQ;SACT;QACD,OAAO,EAAE;YACP,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,gDAAgD;YACtF,OAAO,EAAE,EAAE;YACX,QAAQ;SACT;QACD,GAAG,EAAE;YACH,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,mCAAmC;YACzE,OAAO,EAAE,EAAE;YACX,QAAQ;SACT;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,4BAA4B;YAClE,OAAO,EAAE,GAAG;YACZ,QAAQ;SACT;QACD,IAAI,EAAE;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,qBAAqB;YAC3D,OAAO,EAAE,GAAG;YACZ,QAAQ;SACT;QACD,MAAM,EAAE;YACN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,+BAA+B;YACrE,OAAO,EAAE,GAAG;YACZ,QAAQ;SACT;QACD,cAAc,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,8BAA8B;YACpE,OAAO,EAAE,KAAK;YACd,QAAQ;SACT;QACD,kBAAkB,EAAE;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,iCAAiC;YACvE,OAAO,EAAE,MAAM;YACf,QAAQ;SACT;QACD,SAAS,EAAE;YACT,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,uCAAuC;YAC7E,OAAO,EAAE,KAAK;YACd,QAAQ;SACT;KACF;IACD,SAAS,EAAE;QACT,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACtC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACtC,sBAAsB;YACtB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;YAChC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;YACvC,iBAAiB;YACjB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;YAClC,UAAU;YACV,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACxC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC9C,WAAW;YACX,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACzC,YAAY;YACZ,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;YACxC,2DAA2D;YAC3D,mDAAmD;YACnD,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,SAAS;SACzB;KACF;IACD,SAAS,EAAE;QACT,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW;QACnB,uBAAuB,EAAE,KAAK,EAAE,mHAAmH;KACpJ;IACD,KAAK,EAAE;QACL,OAAO,EAAE,KAAK,EAAE,2BAA2B;KAC5C;IACD,OAAO,EAAE;QACP,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACrC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO;YAC3B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC9F,QAAQ,EAAE,SAAS;QACnB,eAAe,EAAE,eAAe;KACjC;CACF,CAAC;AAEF,iFAAiF;AACjF,IAAA,aAAI,EAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAC,SAAS,CAAC,CAAO,IAAI,EAAE,GAAG,EAAE,EAAE;IACnF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAClB,MAAM,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,MAAM,IAAA,uBAAkB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC,CAAA,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,sBAAsB,EACtB,+FAA+F,CAChG;KACE,OAAO,CAAC,QAAQ,EAAE,2BAA2B,CAAC;KAC9C,OAAO,CAAC,OAAO,EAAE,wBAAwB,CAAC;KAC1C,SAAS,CAAC,CAAO,IAAI,EAAE,GAAG,EAAE,EAAE;;IAC7B,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,KAAK,CAAC;IACjC,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,CAAC;IACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,MAAM,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,MAAM,IAAA,2CAAyB,EAAC,IAAI,EAAE,GAAwC,CAAC,CAAC;AAClF,CAAC,CAAA,CAAC,CAAC;AAEL,IAAA,aAAI,EACF,uBAAuB,EACvB,yGAAyG,CAC1G,CAAC,SAAS,CAAC,CAAO,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAClC,MAAM,IAAA,kCAAe,EAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAA,CAAC,CAAC;AAEH,kDAAkD;AAClD,IAAA,aAAI,EACF,0BAA0B,EAC1B,2DAA2D,CAC5D,CAAC,SAAS,CAAC,CAAO,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,IAAA,wCAAc,EAAC,GAAG,CAAC,CAAC;AAC5B,CAAC,CAAA,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,4BAA4B,EAC5B,wFAAwF,CACzF,CAAC,SAAS,CAAC,CAAO,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,IAAA,+DAAyC,EAAC,GAAwC,CAAC,CAAC;AAC5F,CAAC,CAAA,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,mCAAmC,EACnC,8EAA8E,CAC/E,CAAC,SAAS,CAAC,CAAO,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,IAAA,qCAAoB,EAAC,GAAwC,CAAC,CAAC;IACrE,MAAM,IAAA,sCAAyB,EAAC,GAAwC,CAAC,CAAC;AAC5E,CAAC,CAAA,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,+BAA+B,EAC/B,4EAA4E,CAC7E,CAAC,SAAS,CAAC,CAAO,KAAK,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,IAAA,kCAAqB,EAAC,GAAwC,CAAC,CAAC;AACxE,CAAC,CAAA,CAAC,CAAC;AAEH,IAAA,gBAAO,EAAC,kBAAkB,EAAE,0CAA0C,CAAC,CAAC,SAAS,CAAC,GAAS,EAAE;IAC3F,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;KAC/E;AACH,CAAC,CAAA,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@nomiclabs/hardhat-ethers';
|
|
2
|
-
import {
|
|
2
|
+
import { HardhatRuntimeEnvironmentExtended } from '../scripts-create2/types';
|
|
3
3
|
/**
|
|
4
4
|
* Script ensuring all payment contracts are deployed and usable on a live chain.
|
|
5
5
|
*
|
|
@@ -14,5 +14,5 @@ import { HardhatRuntimeEnvironment } from 'hardhat/types';
|
|
|
14
14
|
* `args.simulate = true` to prevent deployments and contract verification
|
|
15
15
|
*
|
|
16
16
|
*/
|
|
17
|
-
export declare function deployAllPaymentContracts(args: any, hre:
|
|
17
|
+
export declare function deployAllPaymentContracts(args: any, hre: HardhatRuntimeEnvironmentExtended): Promise<void>;
|
|
18
18
|
//# sourceMappingURL=deploy-payments.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-payments.d.ts","sourceRoot":"","sources":["../../scripts/deploy-payments.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy-payments.d.ts","sourceRoot":"","sources":["../../scripts/deploy-payments.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAoBnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAG7E;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,iCAAiC,GACrC,OAAO,CAAC,IAAI,CAAC,CAwWf"}
|
|
@@ -10,6 +10,7 @@ const deploy_one_1 = require("./deploy-one");
|
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
11
|
const currency_1 = require("@requestnetwork/currency");
|
|
12
12
|
const types_1 = require("@requestnetwork/types");
|
|
13
|
+
const compute_one_address_1 = require("../scripts-create2/compute-one-address");
|
|
13
14
|
/**
|
|
14
15
|
* Script ensuring all payment contracts are deployed and usable on a live chain.
|
|
15
16
|
*
|
|
@@ -210,11 +211,7 @@ function deployAllPaymentContracts(args, hre) {
|
|
|
210
211
|
// #endregion
|
|
211
212
|
// #region MAIN - Deployments
|
|
212
213
|
// Batch 1
|
|
213
|
-
yield
|
|
214
|
-
contractName: 'EthereumProxy',
|
|
215
|
-
artifact: lib_1.ethereumProxyArtifact,
|
|
216
|
-
nonceCondition: 0,
|
|
217
|
-
});
|
|
214
|
+
yield (0, utils_1.jumpToNonce)(args, hre, 1);
|
|
218
215
|
const { address: erc20FeeProxyAddress } = yield runEasyDeployment({
|
|
219
216
|
contractName: 'ERC20FeeProxy',
|
|
220
217
|
artifact: lib_1.erc20FeeProxyArtifact,
|
|
@@ -223,7 +220,6 @@ function deployAllPaymentContracts(args, hre) {
|
|
|
223
220
|
// Batch 2
|
|
224
221
|
yield runDeploymentBatch_2(erc20FeeProxyAddress);
|
|
225
222
|
// Batch 3
|
|
226
|
-
const NONCE_BATCH_3 = 6;
|
|
227
223
|
// SwapToConversion
|
|
228
224
|
let swapRouterAddress = utils_1.uniswapV2RouterAddresses[hre.network.name];
|
|
229
225
|
if (!swapRouterAddress) {
|
|
@@ -232,12 +228,8 @@ function deployAllPaymentContracts(args, hre) {
|
|
|
232
228
|
}
|
|
233
229
|
const swapConversionResult = yield (0, erc20_swap_to_conversion_1.deploySwapConversion)(Object.assign(Object.assign({}, args), { conversionProxyAddress: '0x0000000000000000000000000000000000000000', chainlinkConversionPathAddress: '0x0000000000000000000000000000000000000000', swapProxyAddress: swapRouterAddress, nonceCondition: 6 }), hre);
|
|
234
230
|
addToResult(swapConversionResult);
|
|
235
|
-
// EthereumFeeProxy
|
|
236
|
-
const
|
|
237
|
-
contractName: 'EthereumFeeProxy',
|
|
238
|
-
artifact: lib_1.ethereumFeeProxyArtifact,
|
|
239
|
-
nonceCondition: NONCE_BATCH_3 + 1,
|
|
240
|
-
});
|
|
231
|
+
// Compute EthereumFeeProxy address (CREATE2)
|
|
232
|
+
const ethFeeProxyAddress = yield (0, compute_one_address_1.computeCreate2DeploymentAddress)({ contract: 'EthereumFeeProxy' }, hre);
|
|
241
233
|
// Batch 4
|
|
242
234
|
const chainlinkInstance = yield runDeploymentBatch_4(ethFeeProxyAddress);
|
|
243
235
|
// Batch 5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-payments.js","sourceRoot":"","sources":["../../scripts/deploy-payments.ts"],"names":[],"mappings":";;;;AAAA,qCAAmC;
|
|
1
|
+
{"version":3,"file":"deploy-payments.js","sourceRoot":"","sources":["../../scripts/deploy-payments.ts"],"names":[],"mappings":";;;;AAAA,qCAAmC;AACnC,oCAKoB;AACpB,yEAAkE;AAClE,yDAA0F;AAC1F,6CAA2D;AAC3D,mCAAgE;AAQhE,uDAA2D;AAC3D,iDAA0D;AAE1D,gFAAyF;AAEzF;;;;;;;;;;;;;GAaG;AACH,SAAsB,yBAAyB,CAC7C,IAAS,EACT,GAAsC;;;QAEtC,MAAM,iBAAiB,GAAqC,EAAE,CAAC;QAC/D,IAAI,iBAAsC,CAAC;QAE3C,MAAM,gBAAgB,GAAG,CAAC,YAAoB,EAAE,MAAyB,EAAE,OAAgB,EAAE,EAAE;YAC7F,MAAM,QAAQ,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAK,UAAU,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,SAAS,GAAG,MAAM;gBACtB,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI;oBAC9B,CAAC,CAAC,MAAM,CAAC,OAAO;oBAChB,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,GAAG,QAAQ,KAAK,MAAM,CAAC,IAAI,GAAG;gBACnD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,YAAY,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC;QACrF,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,UAA6B,EAAE,EAAE;YACpD,IAAI,UAAU,EAAE;gBACd,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnC,gBAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;aACvD;QACH,CAAC,CAAC;QAEF,IAAI;YACF,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACrD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAEjD,OAAO,CAAC,GAAG,CACT,uBAAuB,QAAQ,CAAC,OAAO,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,KAC5D,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OACrB,cAAc,MAAM,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CACzD,CAAC;YAEF,uBAAuB;YACvB,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACzF,MAAM,eAAe,GAAG,MAAA,0BAAe,CAAC,UAAU,EAAE,CAAC,iBAAiB,CACpE,yBAAiB,CAAC,QAAQ,CAAC,GAAG,EAC9B,kBAAkB,CACnB,0CAAE,IAAI,CAAC;YAER,IAAI,CAAC,eAAe,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;aACtF;YACD,aAAa;YAEb,gBAAgB;YAEhB,gEAAgE;YAChE,MAAM,iBAAiB,GAAG,CAAmC,UAK5D,EAAwC,EAAE;;gBACzC,UAAU,CAAC,oBAAoB,GAAG,MAAA,UAAU,CAAC,oBAAoB,mCAAI,EAAE,CAAC;gBACxE,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAS,EAAY,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,YAAY,oBACvE,UAAU,EACb,CAAC;gBACH,WAAW,CAAC,MAAM,CAAC,CAAC;gBACpB,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;oBAC7B,kBAAkB,EAAE,CAAC;iBACtB;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC,CAAA,CAAC;YAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;gBAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACrB,iBAAiB,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,IAAI,CAAC;iBAC/C;YACH,CAAC,CAAC;YACF,aAAa;YAEb,4BAA4B;YAC5B;;;eAGG;YACH,MAAM,oBAAoB,GAAG,CAAO,oBAA4B,EAAE,EAAE;gBAClE,MAAM,cAAc,GAAG,CAAC,CAAC;gBACzB,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAE7C,iBAAiB;gBACjB,IAAI,iBAAiB,GAAG,gCAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,iBAAiB,EAAE;oBACtB,gBAAgB,CACd,iBAAiB,EACjB,SAAS,EACT,wDAAwD,CACzD,CAAC;oBACF,iBAAiB,GAAG,4CAA4C,CAAC;iBAClE;gBACD,MAAM,eAAe,GAAG,MAAM,IAAA,sBAAS,EAAC,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBACnE,oBAAoB,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;oBAC/D,QAAQ,EAAE,4BAAsB;oBAChC,cAAc,EAAE,cAAc;iBAC/B,CAAC,CAAC;gBACH,WAAW,CAAC,eAAe,CAAC,CAAC;gBAC7B,OAAO,iBAAiB,CAAC;YAC3B,CAAC,CAAA,CAAC;YAEF;;;;eAIG;YACH,MAAM,oBAAoB,GAAG,CAAO,kBAA0B,EAAE,EAAE;gBAChE,MAAM,aAAa,GAAG,EAAE,CAAC;gBACzB,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBAE5C,iCAAiC;gBACjC,MAAM,EACJ,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,8BAA8B,GACxC,GAAG,MAAM,iBAAiB,CAAC;oBAC1B,YAAY,EAAE,yBAAyB;oBACvC,oBAAoB,EAAE,CAAC,eAAe,CAAC;oBACvC,QAAQ,EAAE,6BAA+B;oBACzC,cAAc,EAAE,aAAa;iBAC9B,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,MAAM,mBAAmB,GAAG,MAAM,IAAA,2CAAwB,kCAEnD,IAAI,KACP,8BAA8B;oBAC9B,kBAAkB,EAClB,cAAc,EAAE,aAAa,GAAG,CAAC,EACjC,OAAO,EAAE,OAAO,KAElB,GAAG,CACJ,CAAC;gBACF,WAAW,CAAC,mBAAmB,CAAC,CAAC;gBAEjC,4FAA4F;gBAC5F,MAAM,mBAAmB,GAAG,aAAa,GAAG,CAAC,CAAC;gBAC9C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBAC1D,IAAI,YAAY,KAAK,mBAAmB,IAAI,iBAAiB,EAAE;oBAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;wBACrC,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;qBACH;oBACD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;wBAC3B,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;qBAC7E;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;qBACtE;iBACF;qBAAM;oBACL,IAAI,YAAY,GAAG,mBAAmB,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,sBAAsB,YAAY,eAAe,mBAAmB,EAAE,CAAC,CAAC;wBACrF,kBAAkB,EAAE,CAAC;qBACtB;yBAAM,IAAI,CAAC,iBAAiB,EAAE;wBAC7B,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;wBAC1F,kBAAkB,EAAE,CAAC;qBACtB;iBACF;gBACD,OAAO,iBAAiB,CAAC;YAC3B,CAAC,CAAA,CAAC;YAEF;;;;;eAKG;YACH,MAAM,oBAAoB,GAAG,CAC3B,iBAA0C,EAC1C,oBAA4B,EAC5B,2BAAkD,EAClD,EAAE;gBACF,MAAM,aAAa,GAAG,EAAE,CAAC;gBACzB,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;gBAC5C,IAAI,8BAA8B,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,CAAC;gBAChE,IAAI,CAAC,8BAA8B,EAAE;oBACnC,kBAAkB,EAAE,CAAC;oBACrB,8BAA8B,GAAG,WAAW,CAAC;iBAC9C;gBAED,2BAA2B;gBAC3B,MAAM,qBAAqB,GAAG,MAAM,IAAA,6CAA0B,kCAEvD,IAAI,KACP,8BAA8B;oBAC9B,oBAAoB,EACpB,cAAc,EAAE,aAAa,KAE/B,GAAG,CACJ,CAAC;gBACF,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBAEnC,6CAA6C;gBAE7C,IAAI,YAAY,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACxD,MAAM,yBAAyB,GAAG,aAAa,GAAG,CAAC,CAAC;gBACpD,IAAI,YAAY,KAAK,yBAAyB,IAAI,qBAAqB,EAAE;oBACvE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE;wBACrC,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;qBACH;oBACD,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;wBAC3B,MAAM,qBAAqB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;qBAC1F;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;qBACzE;iBACF;qBAAM;oBACL,IAAI,YAAY,GAAG,yBAAyB,EAAE;wBAC5C,OAAO,CAAC,IAAI,CACV,sBAAsB,YAAY,eAAe,yBAAyB,EAAE,CAC7E,CAAC;wBACF,kBAAkB,EAAE,CAAC;qBACtB;yBAAM,IAAI,CAAC,qBAAqB,EAAE;wBACjC,OAAO,CAAC,IAAI,CACV,sFAAsF,CACvF,CAAC;wBACF,kBAAkB,EAAE,CAAC;qBACtB;iBACF;gBAED,0CAA0C;gBAC1C,YAAY,GAAG,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;gBACpD,MAAM,6BAA6B,GAAG,aAAa,GAAG,CAAC,CAAC;gBACxD,IAAI,YAAY,KAAK,6BAA6B,IAAI,qBAAqB,EAAE;oBAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;wBAC3B,MAAM,2BAA2B,CAAC,eAAe,CAAC,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,OAAO,CAAC,CAAC;qBACnF;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;qBACtE;iBACF;qBAAM;oBACL,IAAI,YAAY,GAAG,6BAA6B,EAAE;wBAChD,OAAO,CAAC,IAAI,CACV,sBAAsB,YAAY,eAAe,6BAA6B,EAAE,CACjF,CAAC;wBACF,kBAAkB,EAAE,CAAC;qBACtB;yBAAM,IAAI,CAAC,qBAAqB,EAAE;wBACjC,OAAO,CAAC,IAAI,CACV,qHAAqH,CACtH,CAAC;wBACF,kBAAkB,EAAE,CAAC;qBACtB;iBACF;YACH,CAAC,CAAA,CAAC;YAEF,aAAa;YAEb,6BAA6B;YAE7B,UAAU;YACV,MAAM,IAAA,mBAAW,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,iBAAiB,CAAC;gBAChE,YAAY,EAAE,eAAe;gBAC7B,QAAQ,EAAE,2BAAqB;gBAC/B,cAAc,EAAE,CAAC;aAClB,CAAC,CAAC;YAEH,UAAU;YACV,MAAM,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;YAEjD,UAAU;YAEV,mBAAmB;YACnB,IAAI,iBAAiB,GAAG,gCAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,iBAAiB,EAAE;gBACtB,gBAAgB,CACd,wBAAwB,EACxB,SAAS,EACT,6EAA6E,CAC9E,CAAC;gBACF,iBAAiB,GAAG,4CAA4C,CAAC;aAClE;YAED,MAAM,oBAAoB,GAAG,MAAM,IAAA,+CAAoB,kCAEhD,IAAI,KACP,sBAAsB,EAAE,4CAA4C,EACpE,8BAA8B,EAAE,4CAA4C,EAC5E,gBAAgB,EAAE,iBAAiB,EACnC,cAAc,EAAE,CAAC,KAEnB,GAAG,CACJ,CAAC;YACF,WAAW,CAAC,oBAAoB,CAAC,CAAC;YAElC,6CAA6C;YAC7C,MAAM,kBAAkB,GAAG,MAAM,IAAA,qDAA+B,EAC9D,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAChC,GAAG,CACJ,CAAC;YAEF,UAAU;YACV,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;YAEzE,UAAU;YACV,MAAM,oBAAoB,CACxB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,CAAC,QAAQ,CAC9B,CAAC;YAEF,qCAAqC;YACrC,qCAAqC;YACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,aAAa;SACd;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAClB;QAED,6CAA6C;QAE7C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,iBAAiB;aACd,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aACzC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,UAAU,CAAC,CAAC,MAAM,CAAC;QACzF,MAAM,oBAAoB,GAAG,iBAAiB;aAC3C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,mBAAmB,CAAC;aACtC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnB,IAAI,aAAa,GAAG,CAAC,EAAE;YACrB,OAAO,CAAC,GAAG,CACT,OAAO,aAAa,8BAA8B,EAClD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;gBAC5B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,EAAE;oBACF,OAAO;oBACP,qEAAqE;oBACrE,iEAAiE;oBACjE,sFAAsF;oBACtF,mEAAmE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;oBACvF,0GAA0G;oBAC1G,6CAA6C;iBAC9C,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;YACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,IAAI,yBAAyB,GAAG,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;gBACtD,MAAM,OAAO,CAAC,GAAG,CACf,oBAAoB,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,EAAE;oBAC/C,OAAO,mBAAmB;wBACxB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;4BACnC,yBAAyB,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,yBAAyB,MAAM,aAAa,KAAK,CAAC,CAAC;wBACpE,CAAC,CAAC;wBACJ,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACxB,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,GAAG,yBAAyB,2BAA2B,CAAC,CAAC;gBACrE,IAAI,yBAAyB,GAAG,aAAa,EAAE;oBAC7C,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;iBAC5E;aACF;SACF;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;SAChD;QACD,IAAI,iBAAiB,KAAK,KAAK,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;SACvC;;CAEF;AA3WD,8DA2WC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-deployer.d.ts","sourceRoot":"","sources":["../../scripts-create2/check-deployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAE5D,eAAO,MAAM,oBAAoB,QAC1B,iCAAiC,KACrC,QAAQ,IAAI,CAkCd,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkCreate2Deployer = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ethers_1 = require("ethers");
|
|
6
|
+
const utils_1 = require("@requestnetwork/utils");
|
|
7
|
+
const checkCreate2Deployer = (hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
8
|
+
if (!hre.config.xdeploy.networks || hre.config.xdeploy.networks.length === 0) {
|
|
9
|
+
throw new Error('Invalid network configuration');
|
|
10
|
+
}
|
|
11
|
+
if (!hre.config.xdeploy.deployerAddress) {
|
|
12
|
+
throw new Error('Deployer contract address missing');
|
|
13
|
+
}
|
|
14
|
+
yield Promise.all(hre.config.xdeploy.networks.map((network) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
15
|
+
let provider;
|
|
16
|
+
if (network === 'celo') {
|
|
17
|
+
provider = new ethers_1.providers.JsonRpcProvider('https://forno.celo.org');
|
|
18
|
+
const originalBlockFormatter = provider.formatter._block;
|
|
19
|
+
provider.formatter._block = (value, format) => {
|
|
20
|
+
return originalBlockFormatter(Object.assign({ gasLimit: ethers_1.constants.Zero }, value), format);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
provider = utils_1.default.getDefaultProvider(network);
|
|
25
|
+
}
|
|
26
|
+
const code = yield provider.getCode(hre.config.xdeploy.deployerAddress);
|
|
27
|
+
if (code === '0x') {
|
|
28
|
+
throw new Error(`There is no deployer contract for network ${network} at address ${hre.config.xdeploy.deployerAddress}`);
|
|
29
|
+
}
|
|
30
|
+
})));
|
|
31
|
+
});
|
|
32
|
+
exports.checkCreate2Deployer = checkCreate2Deployer;
|
|
33
|
+
//# sourceMappingURL=check-deployer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-deployer.js","sourceRoot":"","sources":["../../scripts-create2/check-deployer.ts"],"names":[],"mappings":";;;;AAAA,mCAA8C;AAC9C,iDAA0C;AAGnC,MAAM,oBAAoB,GAAG,CAClC,GAAsC,EACvB,EAAE;IACjB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5E,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;IACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;KACtD;IACD,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAO,OAAe,EAAE,EAAE;QACxD,IAAI,QAAQ,CAAC;QACb,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,QAAQ,GAAG,IAAI,kBAAS,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;YACnE,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;YACzD,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,KAAU,EAAE,MAAW,EAAE,EAAE;gBACtD,OAAO,sBAAsB,iBAEzB,QAAQ,EAAE,kBAAS,CAAC,IAAI,IACrB,KAAK,GAEV,MAAM,CACP,CAAC;YACJ,CAAC,CAAC;SACH;aAAM;YACL,QAAQ,GAAG,eAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;SAC9C;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAExE,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,KAAK,CACb,6CAA6C,OAAO,eAAe,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CACxG,CAAC;SACH;IACH,CAAC,CAAA,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AApCW,QAAA,oBAAoB,wBAoC/B"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IDeploymentParams, HardhatRuntimeEnvironmentExtended } from './types';
|
|
2
|
+
export declare function computeCreate2DeploymentAddress(deploymentParams: IDeploymentParams, hre: HardhatRuntimeEnvironmentExtended): Promise<string>;
|
|
3
|
+
export declare const computeCreate2DeploymentAddressesFromList: (hre: HardhatRuntimeEnvironmentExtended) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=compute-one-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-one-address.d.ts","sourceRoot":"","sources":["../../scripts-create2/compute-one-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAK/E,wBAAsB,+BAA+B,CACnD,gBAAgB,EAAE,iBAAiB,EACnC,GAAG,EAAE,iCAAiC,GACrC,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAED,eAAO,MAAM,yCAAyC,QAC/C,iCAAiC,KACrC,QAAQ,IAAI,CAgBd,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeCreate2DeploymentAddressesFromList = exports.computeCreate2DeploymentAddress = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const lib_1 = require("../src/lib");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
// Deploys, set up the contracts
|
|
8
|
+
function computeCreate2DeploymentAddress(deploymentParams, hre) {
|
|
9
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
10
|
+
try {
|
|
11
|
+
if (!hre.config.xdeploy.salt) {
|
|
12
|
+
throw new Error('Missing salt');
|
|
13
|
+
}
|
|
14
|
+
if (!hre.config.xdeploy.deployerAddress) {
|
|
15
|
+
throw new Error('Missing deployer address');
|
|
16
|
+
}
|
|
17
|
+
const provider = new hre.ethers.providers.JsonRpcProvider('https://api.avax.network/ext/bc/C/rpc');
|
|
18
|
+
const RequestDeployer = lib_1.requestDeployer.connect('avalanche', provider);
|
|
19
|
+
const ContractToDeploy = yield hre.ethers.getContractFactory(deploymentParams.contract);
|
|
20
|
+
let initcode;
|
|
21
|
+
if (deploymentParams.constructorArgs) {
|
|
22
|
+
initcode = yield ContractToDeploy.getDeployTransaction(...deploymentParams.constructorArgs);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
initcode = yield ContractToDeploy.getDeployTransaction();
|
|
26
|
+
}
|
|
27
|
+
if (!initcode || !initcode.data) {
|
|
28
|
+
throw new Error('Invalid initcode - check your contract and arguments');
|
|
29
|
+
}
|
|
30
|
+
const computedAddress = yield RequestDeployer.computeAddressWithDeployer(hre.ethers.utils.id(hre.config.xdeploy.salt), hre.ethers.utils.keccak256(initcode.data), hre.config.xdeploy.deployerAddress);
|
|
31
|
+
return computedAddress;
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
throw new Error(e.toString());
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.computeCreate2DeploymentAddress = computeCreate2DeploymentAddress;
|
|
39
|
+
const computeCreate2DeploymentAddressesFromList = (hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
40
|
+
yield Promise.all(utils_1.create2ContractDeploymentList.map((contract) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
41
|
+
let address;
|
|
42
|
+
switch (contract) {
|
|
43
|
+
case 'EthereumProxy':
|
|
44
|
+
case 'EthereumFeeProxy':
|
|
45
|
+
address = yield computeCreate2DeploymentAddress({ contract }, hre);
|
|
46
|
+
console.log(`${contract.padEnd(36, ' ')}${address}`);
|
|
47
|
+
break;
|
|
48
|
+
// Other cases to add when necessary
|
|
49
|
+
default:
|
|
50
|
+
throw new Error(`The contrat ${contract} is not to be deployed using the CREATE2 scheme`);
|
|
51
|
+
}
|
|
52
|
+
})));
|
|
53
|
+
});
|
|
54
|
+
exports.computeCreate2DeploymentAddressesFromList = computeCreate2DeploymentAddressesFromList;
|
|
55
|
+
//# sourceMappingURL=compute-one-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compute-one-address.js","sourceRoot":"","sources":["../../scripts-create2/compute-one-address.ts"],"names":[],"mappings":";;;;AACA,oCAA6C;AAC7C,mCAAwD;AAExD,gCAAgC;AAChC,SAAsB,+BAA+B,CACnD,gBAAmC,EACnC,GAAsC;;QAEtC,IAAI;YACF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;aACjC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC7C;YAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,eAAe,CACvD,uCAAuC,CACxC,CAAC;YACF,MAAM,eAAe,GAAG,qBAAe,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvE,MAAM,gBAAgB,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACxF,IAAI,QAAQ,CAAC;YACb,IAAI,gBAAgB,CAAC,eAAe,EAAE;gBACpC,QAAQ,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;aAC7F;iBAAM;gBACL,QAAQ,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;aAC1D;YAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;aACzE;YACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,0BAA0B,CACtE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EACzC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CACnC,CAAC;YACF,OAAO,eAAe,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/B;IACH,CAAC;CAAA;AArCD,0EAqCC;AAEM,MAAM,yCAAyC,GAAG,CACvD,GAAsC,EACvB,EAAE;IACjB,MAAM,OAAO,CAAC,GAAG,CACf,qCAA6B,CAAC,GAAG,CAAC,CAAO,QAAQ,EAAE,EAAE;QACnD,IAAI,OAAe,CAAC;QACpB,QAAQ,QAAQ,EAAE;YAChB,KAAK,eAAe,CAAC;YACrB,KAAK,kBAAkB;gBACrB,OAAO,GAAG,MAAM,+BAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;gBACrD,MAAM;YACR,oCAAoC;YACpC;gBACE,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,iDAAiD,CAAC,CAAC;SAC7F;IACH,CAAC,CAAA,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AAlBW,QAAA,yCAAyC,6CAkBpD"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IDeploymentParams } from './types';
|
|
2
|
+
import { HardhatRuntimeEnvironmentExtended } from './types';
|
|
3
|
+
export declare const deployOneWithCreate2: (deploymentParams: IDeploymentParams, hre: HardhatRuntimeEnvironmentExtended) => Promise<string>;
|
|
4
|
+
export declare const deployWithCreate2FromList: (hre: HardhatRuntimeEnvironmentExtended) => Promise<void>;
|
|
5
|
+
//# sourceMappingURL=deploy-one.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-one.d.ts","sourceRoot":"","sources":["../../scripts-create2/deploy-one.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAI5D,eAAO,MAAM,oBAAoB,qBACb,iBAAiB,OAC9B,iCAAiC,KACrC,QAAQ,MAAM,CAoChB,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAC/B,iCAAiC,KACrC,QAAQ,IAAI,CAYd,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deployWithCreate2FromList = exports.deployOneWithCreate2 = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const xdeployer_1 = require("./xdeployer");
|
|
7
|
+
// Deploys, set up the contracts and returns the address
|
|
8
|
+
const deployOneWithCreate2 = (deploymentParams, hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
9
|
+
var _a;
|
|
10
|
+
try {
|
|
11
|
+
if (!hre.config.xdeploy.networks || hre.config.xdeploy.networks.length === 0) {
|
|
12
|
+
throw new Error('Invalid networks');
|
|
13
|
+
}
|
|
14
|
+
// Deploy the contract on several network through xdeployer
|
|
15
|
+
const deploymentResult = yield (0, xdeployer_1.xdeploy)(deploymentParams, hre);
|
|
16
|
+
for (let i = 0; i < hre.config.xdeploy.networks.length; i++) {
|
|
17
|
+
if (deploymentResult[i].deployed) {
|
|
18
|
+
console.log(`${deploymentParams.contract} succesffuly deployed:`);
|
|
19
|
+
console.log(` On network: ${hre.config.xdeploy.networks[i]}`);
|
|
20
|
+
console.log(` At address: ${deploymentResult[i].address}`);
|
|
21
|
+
console.log(` At block: ${deploymentResult[i].receipt.blockNumber}`);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
if ((0, utils_1.isContractDeployed)(deploymentParams.contract, hre.config.xdeploy.networks[i], deploymentResult[i].address)) {
|
|
25
|
+
console.log(`${deploymentParams.contract} already deployed:`);
|
|
26
|
+
console.log(` On network: ${hre.config.xdeploy.networks[i]}`);
|
|
27
|
+
console.log(` At address: ${deploymentResult[i].address}`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.log(`${deploymentParams.contract} has not been deployed:`);
|
|
31
|
+
console.log(` On network: ${hre.config.xdeploy.networks[i]}`);
|
|
32
|
+
console.log(` Error: ${(_a = deploymentResult[i].error) === null || _a === void 0 ? void 0 : _a.message}`);
|
|
33
|
+
console.log(` Hint: Check that your artefacts are up to date`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return deploymentResult[0].address;
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
throw new Error(e.toString());
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
exports.deployOneWithCreate2 = deployOneWithCreate2;
|
|
44
|
+
const deployWithCreate2FromList = (hre) => (0, tslib_1.__awaiter)(void 0, void 0, void 0, function* () {
|
|
45
|
+
for (const contract of utils_1.create2ContractDeploymentList) {
|
|
46
|
+
switch (contract) {
|
|
47
|
+
case 'EthereumProxy':
|
|
48
|
+
case 'EthereumFeeProxy':
|
|
49
|
+
yield (0, exports.deployOneWithCreate2)({ contract }, hre);
|
|
50
|
+
break;
|
|
51
|
+
// Other cases to add when necessary
|
|
52
|
+
default:
|
|
53
|
+
throw new Error(`The contrat ${contract} is not to be deployed using the CREATE2 scheme`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
exports.deployWithCreate2FromList = deployWithCreate2FromList;
|
|
58
|
+
//# sourceMappingURL=deploy-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-one.js","sourceRoot":"","sources":["../../scripts-create2/deploy-one.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-request-deployer.d.ts","sourceRoot":"","sources":["../../scripts-create2/deploy-request-deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAK1D,wBAAsB,cAAc,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBlF"}
|