@recoillink/sdk 0.0.0-stage → 45.0.1
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/LICENSE.md +193 -0
- package/README.md +30 -2
- package/dist/app/HyperlaneApp.d.ts +13 -0
- package/dist/app/HyperlaneApp.d.ts.map +1 -0
- package/dist/app/HyperlaneApp.js +22 -0
- package/dist/app/HyperlaneApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.d.ts +93 -0
- package/dist/app/MultiProtocolApp.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.js +144 -0
- package/dist/app/MultiProtocolApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.test.d.ts +2 -0
- package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.test.js +28 -0
- package/dist/app/MultiProtocolApp.test.js.map +1 -0
- package/dist/aws/s3.d.ts +22 -0
- package/dist/aws/s3.d.ts.map +1 -0
- package/dist/aws/s3.js +69 -0
- package/dist/aws/s3.js.map +1 -0
- package/dist/aws/validator.d.ts +22 -0
- package/dist/aws/validator.d.ts.map +1 -0
- package/dist/aws/validator.js +99 -0
- package/dist/aws/validator.js.map +1 -0
- package/dist/block-explorer/etherscan.d.ts +142 -0
- package/dist/block-explorer/etherscan.d.ts.map +1 -0
- package/dist/block-explorer/etherscan.js +307 -0
- package/dist/block-explorer/etherscan.js.map +1 -0
- package/dist/block-explorer/etherscan.test.d.ts +2 -0
- package/dist/block-explorer/etherscan.test.d.ts.map +1 -0
- package/dist/block-explorer/etherscan.test.js +359 -0
- package/dist/block-explorer/etherscan.test.js.map +1 -0
- package/dist/block-explorer/testFixtures.d.ts +8 -0
- package/dist/block-explorer/testFixtures.d.ts.map +1 -0
- package/dist/block-explorer/testFixtures.js +18 -0
- package/dist/block-explorer/testFixtures.js.map +1 -0
- package/dist/block-explorer/utils.d.ts +11 -0
- package/dist/block-explorer/utils.d.ts.map +1 -0
- package/dist/block-explorer/utils.js +32 -0
- package/dist/block-explorer/utils.js.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts +18 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
- package/dist/ccip/consts.d.ts +24 -0
- package/dist/ccip/consts.d.ts.map +1 -0
- package/dist/ccip/consts.js +491 -0
- package/dist/ccip/consts.js.map +1 -0
- package/dist/ccip/utils.d.ts +46 -0
- package/dist/ccip/utils.d.ts.map +1 -0
- package/dist/ccip/utils.js +95 -0
- package/dist/ccip/utils.js.map +1 -0
- package/dist/consts/bytecode.d.ts +14 -0
- package/dist/consts/bytecode.d.ts.map +1 -0
- package/dist/consts/bytecode.js +15 -0
- package/dist/consts/bytecode.js.map +1 -0
- package/dist/consts/concurrency.d.ts +2 -0
- package/dist/consts/concurrency.d.ts.map +1 -0
- package/dist/consts/concurrency.js +2 -0
- package/dist/consts/concurrency.js.map +1 -0
- package/dist/consts/igp.d.ts +12 -0
- package/dist/consts/igp.d.ts.map +1 -0
- package/dist/consts/igp.js +40 -0
- package/dist/consts/igp.js.map +1 -0
- package/dist/consts/mailbox.d.ts +2 -0
- package/dist/consts/mailbox.d.ts.map +1 -0
- package/dist/consts/mailbox.js +3 -0
- package/dist/consts/mailbox.js.map +1 -0
- package/dist/consts/multisigIsm.d.ts +5 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -0
- package/dist/consts/multisigIsm.js +847 -0
- package/dist/consts/multisigIsm.js.map +1 -0
- package/dist/consts/multisigIsm.test.d.ts +2 -0
- package/dist/consts/multisigIsm.test.d.ts.map +1 -0
- package/dist/consts/multisigIsm.test.js +40 -0
- package/dist/consts/multisigIsm.test.js.map +1 -0
- package/dist/consts/multisigIsmVerifyCosts.d.ts +210 -0
- package/dist/consts/multisigIsmVerifyCosts.d.ts.map +1 -0
- package/dist/consts/multisigIsmVerifyCosts.js +210 -0
- package/dist/consts/multisigIsmVerifyCosts.js.map +1 -0
- package/dist/consts/numbers.d.ts +2 -0
- package/dist/consts/numbers.d.ts.map +1 -0
- package/dist/consts/numbers.js +3 -0
- package/dist/consts/numbers.js.map +1 -0
- package/dist/consts/recoilLinkFees.d.ts +6 -0
- package/dist/consts/recoilLinkFees.d.ts.map +1 -0
- package/dist/consts/recoilLinkFees.js +17 -0
- package/dist/consts/recoilLinkFees.js.map +1 -0
- package/dist/consts/registry.d.ts +2 -0
- package/dist/consts/registry.d.ts.map +1 -0
- package/dist/consts/registry.js +5 -0
- package/dist/consts/registry.js.map +1 -0
- package/dist/consts/sealevel.d.ts +7 -0
- package/dist/consts/sealevel.d.ts.map +1 -0
- package/dist/consts/sealevel.js +8 -0
- package/dist/consts/sealevel.js.map +1 -0
- package/dist/consts/testChains.d.ts +30 -0
- package/dist/consts/testChains.d.ts.map +1 -0
- package/dist/consts/testChains.js +244 -0
- package/dist/consts/testChains.js.map +1 -0
- package/dist/contracts/contracts.d.ts +40 -0
- package/dist/contracts/contracts.d.ts.map +1 -0
- package/dist/contracts/contracts.hardhat-test.d.ts +2 -0
- package/dist/contracts/contracts.hardhat-test.d.ts.map +1 -0
- package/dist/contracts/contracts.hardhat-test.js +34 -0
- package/dist/contracts/contracts.hardhat-test.js.map +1 -0
- package/dist/contracts/contracts.js +201 -0
- package/dist/contracts/contracts.js.map +1 -0
- package/dist/contracts/contracts.test.d.ts +2 -0
- package/dist/contracts/contracts.test.d.ts.map +1 -0
- package/dist/contracts/contracts.test.js +88 -0
- package/dist/contracts/contracts.test.js.map +1 -0
- package/dist/contracts/types.d.ts +18 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +2 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/AbstractHyperlaneModule.d.ts +18 -0
- package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -0
- package/dist/core/AbstractHyperlaneModule.js +10 -0
- package/dist/core/AbstractHyperlaneModule.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
- package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +234 -0
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
- package/dist/core/EvmCoreModule.d.ts +119 -0
- package/dist/core/EvmCoreModule.d.ts.map +1 -0
- package/dist/core/EvmCoreModule.hardhat-test.d.ts +2 -0
- package/dist/core/EvmCoreModule.hardhat-test.d.ts.map +1 -0
- package/dist/core/EvmCoreModule.hardhat-test.js +364 -0
- package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -0
- package/dist/core/EvmCoreModule.js +339 -0
- package/dist/core/EvmCoreModule.js.map +1 -0
- package/dist/core/EvmCoreReader.d.ts +38 -0
- package/dist/core/EvmCoreReader.d.ts.map +1 -0
- package/dist/core/EvmCoreReader.js +92 -0
- package/dist/core/EvmCoreReader.js.map +1 -0
- package/dist/core/EvmIcaModule.d.ts +43 -0
- package/dist/core/EvmIcaModule.d.ts.map +1 -0
- package/dist/core/EvmIcaModule.hardhat-test.d.ts +2 -0
- package/dist/core/EvmIcaModule.hardhat-test.d.ts.map +1 -0
- package/dist/core/EvmIcaModule.hardhat-test.js +211 -0
- package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -0
- package/dist/core/EvmIcaModule.js +143 -0
- package/dist/core/EvmIcaModule.js.map +1 -0
- package/dist/core/HyperlaneCore.d.ts +78 -0
- package/dist/core/HyperlaneCore.d.ts.map +1 -0
- package/dist/core/HyperlaneCore.js +296 -0
- package/dist/core/HyperlaneCore.js.map +1 -0
- package/dist/core/HyperlaneCore.test.d.ts +2 -0
- package/dist/core/HyperlaneCore.test.d.ts.map +1 -0
- package/dist/core/HyperlaneCore.test.js +12 -0
- package/dist/core/HyperlaneCore.test.js.map +1 -0
- package/dist/core/HyperlaneCoreChecker.d.ts +18 -0
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -0
- package/dist/core/HyperlaneCoreChecker.js +171 -0
- package/dist/core/HyperlaneCoreChecker.js.map +1 -0
- package/dist/core/HyperlaneCoreDeployer.d.ts +36 -0
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -0
- package/dist/core/HyperlaneCoreDeployer.js +162 -0
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -0
- package/dist/core/MultiProtocolCore.d.ts +21 -0
- package/dist/core/MultiProtocolCore.d.ts.map +1 -0
- package/dist/core/MultiProtocolCore.js +49 -0
- package/dist/core/MultiProtocolCore.js.map +1 -0
- package/dist/core/MultiProtocolCore.test.d.ts +2 -0
- package/dist/core/MultiProtocolCore.test.d.ts.map +1 -0
- package/dist/core/MultiProtocolCore.test.js +27 -0
- package/dist/core/MultiProtocolCore.test.js.map +1 -0
- package/dist/core/TestCoreApp.d.ts +17 -0
- package/dist/core/TestCoreApp.d.ts.map +1 -0
- package/dist/core/TestCoreApp.js +49 -0
- package/dist/core/TestCoreApp.js.map +1 -0
- package/dist/core/TestCoreDeployer.d.ts +10 -0
- package/dist/core/TestCoreDeployer.d.ts.map +1 -0
- package/dist/core/TestCoreDeployer.js +13 -0
- package/dist/core/TestCoreDeployer.js.map +1 -0
- package/dist/core/TestRecipientDeployer.d.ts +22 -0
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -0
- package/dist/core/TestRecipientDeployer.js +30 -0
- package/dist/core/TestRecipientDeployer.js.map +1 -0
- package/dist/core/adapters/AleoCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/AleoCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/AleoCoreAdapter.js +72 -0
- package/dist/core/adapters/AleoCoreAdapter.js.map +1 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.js +65 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.js.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +40 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.js +145 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.d.ts +2 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.d.ts.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js +31 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +27 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.js +92 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -0
- package/dist/core/adapters/EvmCoreAdapter.d.ts +25 -0
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/EvmCoreAdapter.js +44 -0
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -0
- package/dist/core/adapters/RadixCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/RadixCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/RadixCoreAdapter.js +58 -0
- package/dist/core/adapters/RadixCoreAdapter.js.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +56 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.js +191 -0
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.d.ts +2 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.d.ts.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js +33 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -0
- package/dist/core/adapters/StarknetCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/StarknetCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/StarknetCoreAdapter.js +70 -0
- package/dist/core/adapters/StarknetCoreAdapter.js.map +1 -0
- package/dist/core/adapters/types.d.ts +19 -0
- package/dist/core/adapters/types.d.ts.map +1 -0
- package/dist/core/adapters/types.js +2 -0
- package/dist/core/adapters/types.js.map +1 -0
- package/dist/core/contracts.d.ts +15 -0
- package/dist/core/contracts.d.ts.map +1 -0
- package/dist/core/contracts.js +13 -0
- package/dist/core/contracts.js.map +1 -0
- package/dist/core/events.d.ts +4 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +2 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +3 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +56 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -0
- package/dist/core/types.d.ts +173 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +118 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/types.test.d.ts +2 -0
- package/dist/core/types.test.d.ts.map +1 -0
- package/dist/core/types.test.js +205 -0
- package/dist/core/types.test.js.map +1 -0
- package/dist/cw-types/Cw20Base.types.d.ts +198 -0
- package/dist/cw-types/Cw20Base.types.d.ts.map +1 -0
- package/dist/cw-types/Cw20Base.types.js +7 -0
- package/dist/cw-types/Cw20Base.types.js.map +1 -0
- package/dist/cw-types/HookAggregate.types.d.ts +79 -0
- package/dist/cw-types/HookAggregate.types.d.ts.map +1 -0
- package/dist/cw-types/HookAggregate.types.js +7 -0
- package/dist/cw-types/HookAggregate.types.js.map +1 -0
- package/dist/cw-types/HookMerkle.types.d.ts +163 -0
- package/dist/cw-types/HookMerkle.types.d.ts.map +1 -0
- package/dist/cw-types/HookMerkle.types.js +7 -0
- package/dist/cw-types/HookMerkle.types.js.map +1 -0
- package/dist/cw-types/HookPausable.types.d.ts +82 -0
- package/dist/cw-types/HookPausable.types.d.ts.map +1 -0
- package/dist/cw-types/HookPausable.types.js +7 -0
- package/dist/cw-types/HookPausable.types.js.map +1 -0
- package/dist/cw-types/HookRouting.types.d.ts +109 -0
- package/dist/cw-types/HookRouting.types.d.ts.map +1 -0
- package/dist/cw-types/HookRouting.types.js +7 -0
- package/dist/cw-types/HookRouting.types.js.map +1 -0
- package/dist/cw-types/HookRoutingCustom.types.d.ts +149 -0
- package/dist/cw-types/HookRoutingCustom.types.d.ts.map +1 -0
- package/dist/cw-types/HookRoutingCustom.types.js +7 -0
- package/dist/cw-types/HookRoutingCustom.types.js.map +1 -0
- package/dist/cw-types/HookRoutingFallback.types.d.ts +113 -0
- package/dist/cw-types/HookRoutingFallback.types.d.ts.map +1 -0
- package/dist/cw-types/HookRoutingFallback.types.js +7 -0
- package/dist/cw-types/HookRoutingFallback.types.js.map +1 -0
- package/dist/cw-types/Igp.types.d.ts +184 -0
- package/dist/cw-types/Igp.types.d.ts.map +1 -0
- package/dist/cw-types/Igp.types.js +7 -0
- package/dist/cw-types/Igp.types.js.map +1 -0
- package/dist/cw-types/IgpOracle.types.d.ts +61 -0
- package/dist/cw-types/IgpOracle.types.d.ts.map +1 -0
- package/dist/cw-types/IgpOracle.types.js +7 -0
- package/dist/cw-types/IgpOracle.types.js.map +1 -0
- package/dist/cw-types/IsmAggregate.types.d.ts +76 -0
- package/dist/cw-types/IsmAggregate.types.d.ts.map +1 -0
- package/dist/cw-types/IsmAggregate.types.js +7 -0
- package/dist/cw-types/IsmAggregate.types.js.map +1 -0
- package/dist/cw-types/IsmMultisig.types.d.ts +102 -0
- package/dist/cw-types/IsmMultisig.types.d.ts.map +1 -0
- package/dist/cw-types/IsmMultisig.types.js +7 -0
- package/dist/cw-types/IsmMultisig.types.js.map +1 -0
- package/dist/cw-types/IsmRouting.types.d.ts +81 -0
- package/dist/cw-types/IsmRouting.types.d.ts.map +1 -0
- package/dist/cw-types/IsmRouting.types.js +7 -0
- package/dist/cw-types/IsmRouting.types.js.map +1 -0
- package/dist/cw-types/Mailbox.types.d.ts +131 -0
- package/dist/cw-types/Mailbox.types.d.ts.map +1 -0
- package/dist/cw-types/Mailbox.types.js +7 -0
- package/dist/cw-types/Mailbox.types.js.map +1 -0
- package/dist/cw-types/ValidatorAnnounce.types.d.ts +31 -0
- package/dist/cw-types/ValidatorAnnounce.types.d.ts.map +1 -0
- package/dist/cw-types/ValidatorAnnounce.types.js +7 -0
- package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -0
- package/dist/cw-types/WarpCw20.types.d.ts +217 -0
- package/dist/cw-types/WarpCw20.types.d.ts.map +1 -0
- package/dist/cw-types/WarpCw20.types.js +7 -0
- package/dist/cw-types/WarpCw20.types.js.map +1 -0
- package/dist/cw-types/WarpNative.types.d.ts +197 -0
- package/dist/cw-types/WarpNative.types.d.ts.map +1 -0
- package/dist/cw-types/WarpNative.types.js +7 -0
- package/dist/cw-types/WarpNative.types.js.map +1 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts +32 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -0
- package/dist/deploy/HyperlaneAppChecker.js +220 -0
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts +83 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -0
- package/dist/deploy/HyperlaneDeployer.js +434 -0
- package/dist/deploy/HyperlaneDeployer.js.map +1 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +11 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +48 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -0
- package/dist/deploy/contracts.d.ts +16 -0
- package/dist/deploy/contracts.d.ts.map +1 -0
- package/dist/deploy/contracts.js +25 -0
- package/dist/deploy/contracts.js.map +1 -0
- package/dist/deploy/proxy.d.ts +52 -0
- package/dist/deploy/proxy.d.ts.map +1 -0
- package/dist/deploy/proxy.js +153 -0
- package/dist/deploy/proxy.js.map +1 -0
- package/dist/deploy/proxy.test.d.ts +2 -0
- package/dist/deploy/proxy.test.d.ts.map +1 -0
- package/dist/deploy/proxy.test.js +168 -0
- package/dist/deploy/proxy.test.js.map +1 -0
- package/dist/deploy/proxyFactoryUtils.d.ts +7 -0
- package/dist/deploy/proxyFactoryUtils.d.ts.map +1 -0
- package/dist/deploy/proxyFactoryUtils.js +12 -0
- package/dist/deploy/proxyFactoryUtils.js.map +1 -0
- package/dist/deploy/types.d.ts +69 -0
- package/dist/deploy/types.d.ts.map +1 -0
- package/dist/deploy/types.js +22 -0
- package/dist/deploy/types.js.map +1 -0
- package/dist/deploy/utils.d.ts +15 -0
- package/dist/deploy/utils.d.ts.map +1 -0
- package/dist/deploy/utils.js +28 -0
- package/dist/deploy/utils.js.map +1 -0
- package/dist/deploy/verify/BaseContractVerifier.d.ts +23 -0
- package/dist/deploy/verify/BaseContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/BaseContractVerifier.js +128 -0
- package/dist/deploy/verify/BaseContractVerifier.js.map +1 -0
- package/dist/deploy/verify/ContractVerifier.d.ts +30 -0
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/ContractVerifier.js +125 -0
- package/dist/deploy/verify/ContractVerifier.js.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +15 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +45 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.d.ts +50 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.js +99 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +47 -0
- package/dist/deploy/verify/types.d.ts.map +1 -0
- package/dist/deploy/verify/types.js +7 -0
- package/dist/deploy/verify/types.js.map +1 -0
- package/dist/deploy/verify/utils.d.ts +81 -0
- package/dist/deploy/verify/utils.d.ts.map +1 -0
- package/dist/deploy/verify/utils.js +208 -0
- package/dist/deploy/verify/utils.js.map +1 -0
- package/dist/deploy/verify/utils.test.d.ts +2 -0
- package/dist/deploy/verify/utils.test.d.ts.map +1 -0
- package/dist/deploy/verify/utils.test.js +49 -0
- package/dist/deploy/verify/utils.test.js.map +1 -0
- package/dist/deploy/warp.d.ts +150 -0
- package/dist/deploy/warp.d.ts.map +1 -0
- package/dist/deploy/warp.js +1280 -0
- package/dist/deploy/warp.js.map +1 -0
- package/dist/deploy/warp.test.d.ts +2 -0
- package/dist/deploy/warp.test.d.ts.map +1 -0
- package/dist/deploy/warp.test.js +419 -0
- package/dist/deploy/warp.test.js.map +1 -0
- package/dist/deploy/warpHybridPlan.d.ts +104 -0
- package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.js +178 -0
- package/dist/deploy/warpHybridPlan.js.map +1 -0
- package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
- package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.test.js +141 -0
- package/dist/deploy/warpHybridPlan.test.js.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.d.ts +20 -0
- package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts +2 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +353 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.js +143 -0
- package/dist/fee/EvmTokenFeeDeployer.js.map +1 -0
- package/dist/fee/EvmTokenFeeModule.d.ts +63 -0
- package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts +2 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.js +942 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -0
- package/dist/fee/EvmTokenFeeModule.js +583 -0
- package/dist/fee/EvmTokenFeeModule.js.map +1 -0
- package/dist/fee/EvmTokenFeeReader.d.ts +38 -0
- package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts +4 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.js +371 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -0
- package/dist/fee/EvmTokenFeeReader.js +200 -0
- package/dist/fee/EvmTokenFeeReader.js.map +1 -0
- package/dist/fee/contracts.d.ts +11 -0
- package/dist/fee/contracts.d.ts.map +1 -0
- package/dist/fee/contracts.js +11 -0
- package/dist/fee/contracts.js.map +1 -0
- package/dist/fee/crossCollateralUtils.d.ts +8 -0
- package/dist/fee/crossCollateralUtils.d.ts.map +1 -0
- package/dist/fee/crossCollateralUtils.js +49 -0
- package/dist/fee/crossCollateralUtils.js.map +1 -0
- package/dist/fee/feeConfigMapping.d.ts +9 -0
- package/dist/fee/feeConfigMapping.d.ts.map +1 -0
- package/dist/fee/feeConfigMapping.js +87 -0
- package/dist/fee/feeConfigMapping.js.map +1 -0
- package/dist/fee/feeConfigMapping.test.d.ts +2 -0
- package/dist/fee/feeConfigMapping.test.d.ts.map +1 -0
- package/dist/fee/feeConfigMapping.test.js +204 -0
- package/dist/fee/feeConfigMapping.test.js.map +1 -0
- package/dist/fee/types.d.ts +295 -0
- package/dist/fee/types.d.ts.map +1 -0
- package/dist/fee/types.js +238 -0
- package/dist/fee/types.js.map +1 -0
- package/dist/fee/types.test.d.ts +2 -0
- package/dist/fee/types.test.d.ts.map +1 -0
- package/dist/fee/types.test.js +204 -0
- package/dist/fee/types.test.js.map +1 -0
- package/dist/fee/utils.d.ts +9 -0
- package/dist/fee/utils.d.ts.map +1 -0
- package/dist/fee/utils.js +9 -0
- package/dist/fee/utils.js.map +1 -0
- package/dist/fee/utils.test.d.ts +2 -0
- package/dist/fee/utils.test.d.ts.map +1 -0
- package/dist/fee/utils.test.js +54 -0
- package/dist/fee/utils.test.js.map +1 -0
- package/dist/fork/types.d.ts +354 -0
- package/dist/fork/types.d.ts.map +1 -0
- package/dist/fork/types.js +142 -0
- package/dist/fork/types.js.map +1 -0
- package/dist/gas/HyperlaneIgp.d.ts +53 -0
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgp.js +64 -0
- package/dist/gas/HyperlaneIgp.js.map +1 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts +13 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgpChecker.js +162 -0
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -0
- package/dist/gas/HyperlaneIgpDeployer.d.ts +32 -0
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgpDeployer.js +248 -0
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +93 -0
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.js +294 -0
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.d.ts +2 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.d.ts.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.js +189 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.js.map +1 -0
- package/dist/gas/adapters/serialization.d.ts +180 -0
- package/dist/gas/adapters/serialization.d.ts.map +1 -0
- package/dist/gas/adapters/serialization.js +409 -0
- package/dist/gas/adapters/serialization.js.map +1 -0
- package/dist/gas/adapters/serialization.test.d.ts +2 -0
- package/dist/gas/adapters/serialization.test.d.ts.map +1 -0
- package/dist/gas/adapters/serialization.test.js +87 -0
- package/dist/gas/adapters/serialization.test.js.map +1 -0
- package/dist/gas/contracts.d.ts +8 -0
- package/dist/gas/contracts.d.ts.map +1 -0
- package/dist/gas/contracts.js +7 -0
- package/dist/gas/contracts.js.map +1 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +82 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
- package/dist/gas/oracle/types.d.ts +42 -0
- package/dist/gas/oracle/types.d.ts.map +1 -0
- package/dist/gas/oracle/types.js +45 -0
- package/dist/gas/oracle/types.js.map +1 -0
- package/dist/gas/token-prices.d.ts +58 -0
- package/dist/gas/token-prices.d.ts.map +1 -0
- package/dist/gas/token-prices.js +199 -0
- package/dist/gas/token-prices.js.map +1 -0
- package/dist/gas/token-prices.test.d.ts +2 -0
- package/dist/gas/token-prices.test.d.ts.map +1 -0
- package/dist/gas/token-prices.test.js +96 -0
- package/dist/gas/token-prices.test.js.map +1 -0
- package/dist/gas/types.d.ts +50 -0
- package/dist/gas/types.d.ts.map +1 -0
- package/dist/gas/types.js +26 -0
- package/dist/gas/types.js.map +1 -0
- package/dist/gas/utils.d.ts +34 -0
- package/dist/gas/utils.d.ts.map +1 -0
- package/dist/gas/utils.js +246 -0
- package/dist/gas/utils.js.map +1 -0
- package/dist/gas/utils.test.d.ts +2 -0
- package/dist/gas/utils.test.d.ts.map +1 -0
- package/dist/gas/utils.test.js +132 -0
- package/dist/gas/utils.test.js.map +1 -0
- package/dist/gcp/storage.d.ts +28 -0
- package/dist/gcp/storage.d.ts.map +1 -0
- package/dist/gcp/storage.js +88 -0
- package/dist/gcp/storage.js.map +1 -0
- package/dist/gcp/validator.d.ts +22 -0
- package/dist/gcp/validator.d.ts.map +1 -0
- package/dist/gcp/validator.js +107 -0
- package/dist/gcp/validator.js.map +1 -0
- package/dist/hook/EvmHookModule.d.ts +161 -0
- package/dist/hook/EvmHookModule.d.ts.map +1 -0
- package/dist/hook/EvmHookModule.hardhat-test.d.ts +2 -0
- package/dist/hook/EvmHookModule.hardhat-test.d.ts.map +1 -0
- package/dist/hook/EvmHookModule.hardhat-test.js +1004 -0
- package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -0
- package/dist/hook/EvmHookModule.js +932 -0
- package/dist/hook/EvmHookModule.js.map +1 -0
- package/dist/hook/EvmHookReader.d.ts +81 -0
- package/dist/hook/EvmHookReader.d.ts.map +1 -0
- package/dist/hook/EvmHookReader.js +630 -0
- package/dist/hook/EvmHookReader.js.map +1 -0
- package/dist/hook/EvmHookReader.test.d.ts +2 -0
- package/dist/hook/EvmHookReader.test.d.ts.map +1 -0
- package/dist/hook/EvmHookReader.test.js +647 -0
- package/dist/hook/EvmHookReader.test.js.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts +70 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts +2 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.js +322 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.js.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.js +538 -0
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -0
- package/dist/hook/contracts.d.ts +20 -0
- package/dist/hook/contracts.d.ts.map +1 -0
- package/dist/hook/contracts.js +18 -0
- package/dist/hook/contracts.js.map +1 -0
- package/dist/hook/types.d.ts +262 -0
- package/dist/hook/types.d.ts.map +1 -0
- package/dist/hook/types.js +341 -0
- package/dist/hook/types.js.map +1 -0
- package/dist/hook/types.test.d.ts +2 -0
- package/dist/hook/types.test.d.ts.map +1 -0
- package/dist/hook/types.test.js +227 -0
- package/dist/hook/types.test.js.map +1 -0
- package/dist/hook/updates.d.ts +33 -0
- package/dist/hook/updates.d.ts.map +1 -0
- package/dist/hook/updates.js +35 -0
- package/dist/hook/updates.js.map +1 -0
- package/dist/hook/utils.d.ts +58 -0
- package/dist/hook/utils.d.ts.map +1 -0
- package/dist/hook/utils.hardhat-test.d.ts +2 -0
- package/dist/hook/utils.hardhat-test.d.ts.map +1 -0
- package/dist/hook/utils.hardhat-test.js +119 -0
- package/dist/hook/utils.hardhat-test.js.map +1 -0
- package/dist/hook/utils.js +157 -0
- package/dist/hook/utils.js.map +1 -0
- package/dist/ica/EvmIcaReader.d.ts +7 -0
- package/dist/ica/EvmIcaReader.d.ts.map +1 -0
- package/dist/ica/EvmIcaReader.hardhat-test.d.ts +2 -0
- package/dist/ica/EvmIcaReader.hardhat-test.d.ts.map +1 -0
- package/dist/ica/EvmIcaReader.hardhat-test.js +39 -0
- package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -0
- package/dist/ica/EvmIcaReader.js +32 -0
- package/dist/ica/EvmIcaReader.js.map +1 -0
- package/dist/ica/types.d.ts +88 -0
- package/dist/ica/types.d.ts.map +1 -0
- package/dist/ica/types.js +36 -0
- package/dist/ica/types.js.map +1 -0
- package/dist/index.d.ts +215 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +199 -0
- package/dist/index.js.map +1 -0
- package/dist/ism/EvmIsmModule.d.ts +106 -0
- package/dist/ism/EvmIsmModule.d.ts.map +1 -0
- package/dist/ism/EvmIsmModule.hardhat-test.d.ts +2 -0
- package/dist/ism/EvmIsmModule.hardhat-test.d.ts.map +1 -0
- package/dist/ism/EvmIsmModule.hardhat-test.js +1279 -0
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -0
- package/dist/ism/EvmIsmModule.js +709 -0
- package/dist/ism/EvmIsmModule.js.map +1 -0
- package/dist/ism/EvmIsmModule.test.d.ts +2 -0
- package/dist/ism/EvmIsmModule.test.d.ts.map +1 -0
- package/dist/ism/EvmIsmModule.test.js +309 -0
- package/dist/ism/EvmIsmModule.test.js.map +1 -0
- package/dist/ism/EvmIsmReader.d.ts +55 -0
- package/dist/ism/EvmIsmReader.d.ts.map +1 -0
- package/dist/ism/EvmIsmReader.js +555 -0
- package/dist/ism/EvmIsmReader.js.map +1 -0
- package/dist/ism/EvmIsmReader.test.d.ts +2 -0
- package/dist/ism/EvmIsmReader.test.d.ts.map +1 -0
- package/dist/ism/EvmIsmReader.test.js +931 -0
- package/dist/ism/EvmIsmReader.test.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.d.ts +129 -0
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts +2 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +1228 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.js +867 -0
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.test.d.ts +2 -0
- package/dist/ism/HyperlaneIsmFactory.test.d.ts.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.test.js +98 -0
- package/dist/ism/HyperlaneIsmFactory.test.js.map +1 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +24 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js +74 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts +59 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts.map +1 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.js +133 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.js.map +1 -0
- package/dist/ism/blacklist.d.ts +62 -0
- package/dist/ism/blacklist.d.ts.map +1 -0
- package/dist/ism/blacklist.js +98 -0
- package/dist/ism/blacklist.js.map +1 -0
- package/dist/ism/delayedFlow.d.ts +31 -0
- package/dist/ism/delayedFlow.d.ts.map +1 -0
- package/dist/ism/delayedFlow.js +33 -0
- package/dist/ism/delayedFlow.js.map +1 -0
- package/dist/ism/multisig.d.ts +6 -0
- package/dist/ism/multisig.d.ts.map +1 -0
- package/dist/ism/multisig.js +25 -0
- package/dist/ism/multisig.js.map +1 -0
- package/dist/ism/serialization.d.ts +74 -0
- package/dist/ism/serialization.d.ts.map +1 -0
- package/dist/ism/serialization.js +177 -0
- package/dist/ism/serialization.js.map +1 -0
- package/dist/ism/types.d.ts +384 -0
- package/dist/ism/types.d.ts.map +1 -0
- package/dist/ism/types.js +876 -0
- package/dist/ism/types.js.map +1 -0
- package/dist/ism/types.test.d.ts +2 -0
- package/dist/ism/types.test.d.ts.map +1 -0
- package/dist/ism/types.test.js +1269 -0
- package/dist/ism/types.test.js.map +1 -0
- package/dist/ism/utils.d.ts +44 -0
- package/dist/ism/utils.d.ts.map +1 -0
- package/dist/ism/utils.js +603 -0
- package/dist/ism/utils.js.map +1 -0
- package/dist/ism/utils.test.d.ts +2 -0
- package/dist/ism/utils.test.d.ts.map +1 -0
- package/dist/ism/utils.test.js +144 -0
- package/dist/ism/utils.test.js.map +1 -0
- package/dist/mailbox/serialization.d.ts +41 -0
- package/dist/mailbox/serialization.d.ts.map +1 -0
- package/dist/mailbox/serialization.js +104 -0
- package/dist/mailbox/serialization.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts +233 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.js +424 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataManager.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.test.js +233 -0
- package/dist/metadata/ChainMetadataManager.test.js.map +1 -0
- package/dist/metadata/ChainMetadataResolver.d.ts +14 -0
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.js +57 -0
- package/dist/metadata/ChainMetadataResolver.js.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.js +87 -0
- package/dist/metadata/ChainMetadataResolver.test.js.map +1 -0
- package/dist/metadata/agentConfig.d.ts +1529 -0
- package/dist/metadata/agentConfig.d.ts.map +1 -0
- package/dist/metadata/agentConfig.js +750 -0
- package/dist/metadata/agentConfig.js.map +1 -0
- package/dist/metadata/agentConfig.test.d.ts +2 -0
- package/dist/metadata/agentConfig.test.d.ts.map +1 -0
- package/dist/metadata/agentConfig.test.js +457 -0
- package/dist/metadata/agentConfig.test.js.map +1 -0
- package/dist/metadata/blockExplorer.d.ts +11 -0
- package/dist/metadata/blockExplorer.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.js +123 -0
- package/dist/metadata/blockExplorer.js.map +1 -0
- package/dist/metadata/blockExplorer.test.d.ts +2 -0
- package/dist/metadata/blockExplorer.test.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.test.js +326 -0
- package/dist/metadata/blockExplorer.test.js.map +1 -0
- package/dist/metadata/chainIdUtils.d.ts +8 -0
- package/dist/metadata/chainIdUtils.d.ts.map +1 -0
- package/dist/metadata/chainIdUtils.js +33 -0
- package/dist/metadata/chainIdUtils.js.map +1 -0
- package/dist/metadata/chainIdUtils.test.d.ts +2 -0
- package/dist/metadata/chainIdUtils.test.d.ts.map +1 -0
- package/dist/metadata/chainIdUtils.test.js +45 -0
- package/dist/metadata/chainIdUtils.test.js.map +1 -0
- package/dist/metadata/chainMetadata.test.d.ts +2 -0
- package/dist/metadata/chainMetadata.test.d.ts.map +1 -0
- package/dist/metadata/chainMetadata.test.js +130 -0
- package/dist/metadata/chainMetadata.test.js.map +1 -0
- package/dist/metadata/chainMetadataConversion.d.ts +11 -0
- package/dist/metadata/chainMetadataConversion.d.ts.map +1 -0
- package/dist/metadata/chainMetadataConversion.js +119 -0
- package/dist/metadata/chainMetadataConversion.js.map +1 -0
- package/dist/metadata/chainMetadataTypes.d.ts +338 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -0
- package/dist/metadata/chainMetadataTypes.js +373 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -0
- package/dist/metadata/customZodTypes.d.ts +44 -0
- package/dist/metadata/customZodTypes.d.ts.map +1 -0
- package/dist/metadata/customZodTypes.js +65 -0
- package/dist/metadata/customZodTypes.js.map +1 -0
- package/dist/metadata/deploymentArtifacts.d.ts +10 -0
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -0
- package/dist/metadata/deploymentArtifacts.js +10 -0
- package/dist/metadata/deploymentArtifacts.js.map +1 -0
- package/dist/metadata/forwardCompatibleEnum.test.d.ts +2 -0
- package/dist/metadata/forwardCompatibleEnum.test.d.ts.map +1 -0
- package/dist/metadata/forwardCompatibleEnum.test.js +299 -0
- package/dist/metadata/forwardCompatibleEnum.test.js.map +1 -0
- package/dist/metadata/matchingList.d.ts +25 -0
- package/dist/metadata/matchingList.d.ts.map +1 -0
- package/dist/metadata/matchingList.js +22 -0
- package/dist/metadata/matchingList.js.map +1 -0
- package/dist/metadata/warpRouteConfig.d.ts +83 -0
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
- package/dist/metadata/warpRouteConfig.js +22 -0
- package/dist/metadata/warpRouteConfig.js.map +1 -0
- package/dist/middleware/account/InterchainAccount.d.ts +47 -0
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccount.js +324 -0
- package/dist/middleware/account/InterchainAccount.js.map +1 -0
- package/dist/middleware/account/InterchainAccount.test.d.ts +2 -0
- package/dist/middleware/account/InterchainAccount.test.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccount.test.js +733 -0
- package/dist/middleware/account/InterchainAccount.test.js.map +1 -0
- package/dist/middleware/account/InterchainAccountChecker.d.ts +7 -0
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccountChecker.js +4 -0
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.js +68 -0
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -0
- package/dist/middleware/account/accounts.hardhat-test.d.ts +2 -0
- package/dist/middleware/account/accounts.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/account/accounts.hardhat-test.js +240 -0
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -0
- package/dist/middleware/account/contracts.d.ts +6 -0
- package/dist/middleware/account/contracts.d.ts.map +1 -0
- package/dist/middleware/account/contracts.js +5 -0
- package/dist/middleware/account/contracts.js.map +1 -0
- package/dist/middleware/account/icaCalls.d.ts +78 -0
- package/dist/middleware/account/icaCalls.d.ts.map +1 -0
- package/dist/middleware/account/icaCalls.js +75 -0
- package/dist/middleware/account/icaCalls.js.map +1 -0
- package/dist/middleware/account/types.d.ts +40 -0
- package/dist/middleware/account/types.d.ts.map +1 -0
- package/dist/middleware/account/types.js +25 -0
- package/dist/middleware/account/types.js.map +1 -0
- package/dist/middleware/query/InterchainQuery.d.ts +10 -0
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQuery.js +13 -0
- package/dist/middleware/query/InterchainQuery.js.map +1 -0
- package/dist/middleware/query/InterchainQueryChecker.d.ts +7 -0
- package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQueryChecker.js +4 -0
- package/dist/middleware/query/InterchainQueryChecker.js.map +1 -0
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +17 -0
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQueryDeployer.js +35 -0
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -0
- package/dist/middleware/query/contracts.d.ts +8 -0
- package/dist/middleware/query/contracts.d.ts.map +1 -0
- package/dist/middleware/query/contracts.js +7 -0
- package/dist/middleware/query/contracts.js.map +1 -0
- package/dist/middleware/query/queries.hardhat-test.d.ts +2 -0
- package/dist/middleware/query/queries.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/query/queries.hardhat-test.js +70 -0
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -0
- package/dist/predicate/PredicateApiClient.d.ts +35 -0
- package/dist/predicate/PredicateApiClient.d.ts.map +1 -0
- package/dist/predicate/PredicateApiClient.js +66 -0
- package/dist/predicate/PredicateApiClient.js.map +1 -0
- package/dist/predicate/PredicateApiClient.test.d.ts +2 -0
- package/dist/predicate/PredicateApiClient.test.d.ts.map +1 -0
- package/dist/predicate/PredicateApiClient.test.js +108 -0
- package/dist/predicate/PredicateApiClient.test.js.map +1 -0
- package/dist/predicate/PredicateDeployer.d.ts +56 -0
- package/dist/predicate/PredicateDeployer.d.ts.map +1 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.d.ts +2 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.js +209 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.js.map +1 -0
- package/dist/predicate/PredicateDeployer.js +218 -0
- package/dist/predicate/PredicateDeployer.js.map +1 -0
- package/dist/providers/MinimalProviderRegistry.d.ts +41 -0
- package/dist/providers/MinimalProviderRegistry.d.ts.map +1 -0
- package/dist/providers/MinimalProviderRegistry.js +122 -0
- package/dist/providers/MinimalProviderRegistry.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.d.ts +23 -0
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.js +64 -0
- package/dist/providers/MultiProtocolProvider.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.js +126 -0
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts +196 -0
- package/dist/providers/MultiProvider.d.ts.map +1 -0
- package/dist/providers/MultiProvider.js +553 -0
- package/dist/providers/MultiProvider.js.map +1 -0
- package/dist/providers/MultiProvider.test.d.ts +2 -0
- package/dist/providers/MultiProvider.test.d.ts.map +1 -0
- package/dist/providers/MultiProvider.test.js +357 -0
- package/dist/providers/MultiProvider.test.js.map +1 -0
- package/dist/providers/MultiProviderAdapter.d.ts +61 -0
- package/dist/providers/MultiProviderAdapter.d.ts.map +1 -0
- package/dist/providers/MultiProviderAdapter.js +164 -0
- package/dist/providers/MultiProviderAdapter.js.map +1 -0
- package/dist/providers/ProviderType.d.ts +319 -0
- package/dist/providers/ProviderType.d.ts.map +1 -0
- package/dist/providers/ProviderType.js +27 -0
- package/dist/providers/ProviderType.js.map +1 -0
- package/dist/providers/SeismicSigner.d.ts +78 -0
- package/dist/providers/SeismicSigner.d.ts.map +1 -0
- package/dist/providers/SeismicSigner.js +265 -0
- package/dist/providers/SeismicSigner.js.map +1 -0
- package/dist/providers/SeismicSigner.test.d.ts +2 -0
- package/dist/providers/SeismicSigner.test.d.ts.map +1 -0
- package/dist/providers/SeismicSigner.test.js +561 -0
- package/dist/providers/SeismicSigner.test.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +25 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +139 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +61 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +248 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.d.ts +2 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.js +516 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.js.map +1 -0
- package/dist/providers/SmartProvider/ProviderMethods.d.ts +24 -0
- package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -0
- package/dist/providers/SmartProvider/ProviderMethods.js +32 -0
- package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts +58 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js +164 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +173 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.js +560 -0
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.js +90 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js +1119 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.d.ts +13 -0
- package/dist/providers/SmartProvider/jsonRpcError.d.ts.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.js +86 -0
- package/dist/providers/SmartProvider/jsonRpcError.js.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.d.ts +2 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.js +46 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.js.map +1 -0
- package/dist/providers/SmartProvider/logFilters.d.ts +10 -0
- package/dist/providers/SmartProvider/logFilters.d.ts.map +1 -0
- package/dist/providers/SmartProvider/logFilters.js +31 -0
- package/dist/providers/SmartProvider/logFilters.js.map +1 -0
- package/dist/providers/SmartProvider/types.d.ts +50 -0
- package/dist/providers/SmartProvider/types.d.ts.map +1 -0
- package/dist/providers/SmartProvider/types.js +7 -0
- package/dist/providers/SmartProvider/types.js.map +1 -0
- package/dist/providers/builders/aleo.browser.d.ts +13 -0
- package/dist/providers/builders/aleo.browser.d.ts.map +1 -0
- package/dist/providers/builders/aleo.browser.js +54 -0
- package/dist/providers/builders/aleo.browser.js.map +1 -0
- package/dist/providers/builders/aleo.d.ts +4 -0
- package/dist/providers/builders/aleo.d.ts.map +1 -0
- package/dist/providers/builders/aleo.js +7 -0
- package/dist/providers/builders/aleo.js.map +1 -0
- package/dist/providers/builders/aleo.test.d.ts +2 -0
- package/dist/providers/builders/aleo.test.d.ts.map +1 -0
- package/dist/providers/builders/aleo.test.js +99 -0
- package/dist/providers/builders/aleo.test.js.map +1 -0
- package/dist/providers/builders/cosmos.d.ts +6 -0
- package/dist/providers/builders/cosmos.d.ts.map +1 -0
- package/dist/providers/builders/cosmos.js +30 -0
- package/dist/providers/builders/cosmos.js.map +1 -0
- package/dist/providers/builders/ethersV5.d.ts +7 -0
- package/dist/providers/builders/ethersV5.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.js +38 -0
- package/dist/providers/builders/ethersV5.js.map +1 -0
- package/dist/providers/builders/ethersV5.test.d.ts +2 -0
- package/dist/providers/builders/ethersV5.test.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.test.js +77 -0
- package/dist/providers/builders/ethersV5.test.js.map +1 -0
- package/dist/providers/builders/radix.browser.d.ts +19 -0
- package/dist/providers/builders/radix.browser.d.ts.map +1 -0
- package/dist/providers/builders/radix.browser.js +47 -0
- package/dist/providers/builders/radix.browser.js.map +1 -0
- package/dist/providers/builders/radix.d.ts +4 -0
- package/dist/providers/builders/radix.d.ts.map +1 -0
- package/dist/providers/builders/radix.gateway.test.d.ts +2 -0
- package/dist/providers/builders/radix.gateway.test.d.ts.map +1 -0
- package/dist/providers/builders/radix.gateway.test.js +39 -0
- package/dist/providers/builders/radix.gateway.test.js.map +1 -0
- package/dist/providers/builders/radix.js +17 -0
- package/dist/providers/builders/radix.js.map +1 -0
- package/dist/providers/builders/radix.test.d.ts +2 -0
- package/dist/providers/builders/radix.test.d.ts.map +1 -0
- package/dist/providers/builders/radix.test.js +82 -0
- package/dist/providers/builders/radix.test.js.map +1 -0
- package/dist/providers/builders/solana.d.ts +4 -0
- package/dist/providers/builders/solana.d.ts.map +1 -0
- package/dist/providers/builders/solana.js +12 -0
- package/dist/providers/builders/solana.js.map +1 -0
- package/dist/providers/builders/starknet.d.ts +4 -0
- package/dist/providers/builders/starknet.d.ts.map +1 -0
- package/dist/providers/builders/starknet.js +20 -0
- package/dist/providers/builders/starknet.js.map +1 -0
- package/dist/providers/builders/tron.d.ts +10 -0
- package/dist/providers/builders/tron.d.ts.map +1 -0
- package/dist/providers/builders/tron.js +21 -0
- package/dist/providers/builders/tron.js.map +1 -0
- package/dist/providers/builders/types.d.ts +6 -0
- package/dist/providers/builders/types.d.ts.map +1 -0
- package/dist/providers/builders/types.js +2 -0
- package/dist/providers/builders/types.js.map +1 -0
- package/dist/providers/builders/viem.d.ts +4 -0
- package/dist/providers/builders/viem.d.ts.map +1 -0
- package/dist/providers/builders/viem.js +25 -0
- package/dist/providers/builders/viem.js.map +1 -0
- package/dist/providers/builders/zksync.d.ts +7 -0
- package/dist/providers/builders/zksync.d.ts.map +1 -0
- package/dist/providers/builders/zksync.js +14 -0
- package/dist/providers/builders/zksync.js.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts +7 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.js +36 -0
- package/dist/providers/defaultProviderBuilderMaps.js.map +1 -0
- package/dist/providers/explorerHealthTest.d.ts +4 -0
- package/dist/providers/explorerHealthTest.d.ts.map +1 -0
- package/dist/providers/explorerHealthTest.js +53 -0
- package/dist/providers/explorerHealthTest.js.map +1 -0
- package/dist/providers/providerBuilders.d.ts +12 -0
- package/dist/providers/providerBuilders.d.ts.map +1 -0
- package/dist/providers/providerBuilders.js +11 -0
- package/dist/providers/providerBuilders.js.map +1 -0
- package/dist/providers/rpcHealthTest.d.ts +11 -0
- package/dist/providers/rpcHealthTest.d.ts.map +1 -0
- package/dist/providers/rpcHealthTest.js +104 -0
- package/dist/providers/rpcHealthTest.js.map +1 -0
- package/dist/providers/runtime/evm.d.ts +3 -0
- package/dist/providers/runtime/evm.d.ts.map +1 -0
- package/dist/providers/runtime/evm.js +11 -0
- package/dist/providers/runtime/evm.js.map +1 -0
- package/dist/providers/runtime/evmLike.d.ts +3 -0
- package/dist/providers/runtime/evmLike.d.ts.map +1 -0
- package/dist/providers/runtime/evmLike.js +7 -0
- package/dist/providers/runtime/evmLike.js.map +1 -0
- package/dist/providers/runtime/evmLike.test.d.ts +2 -0
- package/dist/providers/runtime/evmLike.test.d.ts.map +1 -0
- package/dist/providers/runtime/evmLike.test.js +22 -0
- package/dist/providers/runtime/evmLike.test.js.map +1 -0
- package/dist/providers/runtime/tron.d.ts +3 -0
- package/dist/providers/runtime/tron.d.ts.map +1 -0
- package/dist/providers/runtime/tron.js +6 -0
- package/dist/providers/runtime/tron.js.map +1 -0
- package/dist/providers/transactionFeeEstimators.d.ts +79 -0
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -0
- package/dist/providers/transactionFeeEstimators.js +317 -0
- package/dist/providers/transactionFeeEstimators.js.map +1 -0
- package/dist/providers/transactionFeeEstimators.test.d.ts +2 -0
- package/dist/providers/transactionFeeEstimators.test.d.ts.map +1 -0
- package/dist/providers/transactionFeeEstimators.test.js +394 -0
- package/dist/providers/transactionFeeEstimators.test.js.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts +25 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js +113 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js +122 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +19 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.js +2 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.js.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts +9 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js +10 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +39 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +48 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.d.ts +69 -0
- package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.js +94 -0
- package/dist/providers/transactions/submitter/builder/types.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/builder/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.test.js +314 -0
- package/dist/providers/transactions/submitter/builder/types.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts +33 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js +43 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +31 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +90 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js +145 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts +15 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +26 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +29 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +68 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts +22 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js +85 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts +10 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts +104 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js +72 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.js +57 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.js.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +31 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js +97 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js +38 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/types.d.ts +37 -0
- package/dist/providers/transactions/submitter/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/types.js +3 -0
- package/dist/providers/transactions/submitter/types.js.map +1 -0
- package/dist/providers/transactions/types.d.ts +9 -0
- package/dist/providers/transactions/types.d.ts.map +1 -0
- package/dist/providers/transactions/types.js +9 -0
- package/dist/providers/transactions/types.js.map +1 -0
- package/dist/providers/transactions/types.test.d.ts +2 -0
- package/dist/providers/transactions/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/types.test.js +37 -0
- package/dist/providers/transactions/types.test.js.map +1 -0
- package/dist/quote/Eip712Signable.d.ts +25 -0
- package/dist/quote/Eip712Signable.d.ts.map +1 -0
- package/dist/quote/Eip712Signable.js +27 -0
- package/dist/quote/Eip712Signable.js.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.d.ts +15 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.d.ts.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.js +24 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.js.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.d.ts +2 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.d.ts.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.js +23 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.js.map +1 -0
- package/dist/quote/EvmQuoteArtifactManager.d.ts +20 -0
- package/dist/quote/EvmQuoteArtifactManager.d.ts.map +1 -0
- package/dist/quote/EvmQuoteArtifactManager.js +32 -0
- package/dist/quote/EvmQuoteArtifactManager.js.map +1 -0
- package/dist/quote/EvmQuoteReader.d.ts +24 -0
- package/dist/quote/EvmQuoteReader.d.ts.map +1 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.d.ts +2 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.d.ts.map +1 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.js +157 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.js.map +1 -0
- package/dist/quote/EvmQuoteReader.js +91 -0
- package/dist/quote/EvmQuoteReader.js.map +1 -0
- package/dist/quote/EvmQuoteWriter.d.ts +16 -0
- package/dist/quote/EvmQuoteWriter.d.ts.map +1 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.d.ts +2 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.d.ts.map +1 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.js +238 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.js.map +1 -0
- package/dist/quote/EvmQuoteWriter.js +55 -0
- package/dist/quote/EvmQuoteWriter.js.map +1 -0
- package/dist/quote/WarpSignedQuoteEip712.d.ts +22 -0
- package/dist/quote/WarpSignedQuoteEip712.d.ts.map +1 -0
- package/dist/quote/WarpSignedQuoteEip712.js +48 -0
- package/dist/quote/WarpSignedQuoteEip712.js.map +1 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.d.ts +63 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.d.ts.map +1 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.js +207 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.js.map +1 -0
- package/dist/quoted-calls/QuotedTransferProvider.d.ts +50 -0
- package/dist/quoted-calls/QuotedTransferProvider.d.ts.map +1 -0
- package/dist/quoted-calls/QuotedTransferProvider.js +2 -0
- package/dist/quoted-calls/QuotedTransferProvider.js.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.d.ts +89 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.d.ts.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.js +472 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.js.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.d.ts +2 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.d.ts.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.js +502 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.js.map +1 -0
- package/dist/quoted-calls/assertHex.d.ts +6 -0
- package/dist/quoted-calls/assertHex.d.ts.map +1 -0
- package/dist/quoted-calls/assertHex.js +13 -0
- package/dist/quoted-calls/assertHex.js.map +1 -0
- package/dist/quoted-calls/builder.d.ts +52 -0
- package/dist/quoted-calls/builder.d.ts.map +1 -0
- package/dist/quoted-calls/builder.js +161 -0
- package/dist/quoted-calls/builder.js.map +1 -0
- package/dist/quoted-calls/builder.test.d.ts +2 -0
- package/dist/quoted-calls/builder.test.d.ts.map +1 -0
- package/dist/quoted-calls/builder.test.js +193 -0
- package/dist/quoted-calls/builder.test.js.map +1 -0
- package/dist/quoted-calls/client.d.ts +69 -0
- package/dist/quoted-calls/client.d.ts.map +1 -0
- package/dist/quoted-calls/client.js +205 -0
- package/dist/quoted-calls/client.js.map +1 -0
- package/dist/quoted-calls/client.v2.test.d.ts +2 -0
- package/dist/quoted-calls/client.v2.test.d.ts.map +1 -0
- package/dist/quoted-calls/client.v2.test.js +346 -0
- package/dist/quoted-calls/client.v2.test.js.map +1 -0
- package/dist/quoted-calls/codec.d.ts +94 -0
- package/dist/quoted-calls/codec.d.ts.map +1 -0
- package/dist/quoted-calls/codec.js +223 -0
- package/dist/quoted-calls/codec.js.map +1 -0
- package/dist/quoted-calls/codec.test.d.ts +2 -0
- package/dist/quoted-calls/codec.test.d.ts.map +1 -0
- package/dist/quoted-calls/codec.test.js +307 -0
- package/dist/quoted-calls/codec.test.js.map +1 -0
- package/dist/quoted-calls/composeSealevelTx.d.ts +26 -0
- package/dist/quoted-calls/composeSealevelTx.d.ts.map +1 -0
- package/dist/quoted-calls/composeSealevelTx.js +45 -0
- package/dist/quoted-calls/composeSealevelTx.js.map +1 -0
- package/dist/quoted-calls/svmDecoder.d.ts +51 -0
- package/dist/quoted-calls/svmDecoder.d.ts.map +1 -0
- package/dist/quoted-calls/svmDecoder.js +26 -0
- package/dist/quoted-calls/svmDecoder.js.map +1 -0
- package/dist/quoted-calls/svmDecoder.test.d.ts +2 -0
- package/dist/quoted-calls/svmDecoder.test.d.ts.map +1 -0
- package/dist/quoted-calls/svmDecoder.test.js +56 -0
- package/dist/quoted-calls/svmDecoder.test.js.map +1 -0
- package/dist/quoted-calls/types.d.ts +176 -0
- package/dist/quoted-calls/types.d.ts.map +1 -0
- package/dist/quoted-calls/types.js +56 -0
- package/dist/quoted-calls/types.js.map +1 -0
- package/dist/router/EvmRouterReader.d.ts +18 -0
- package/dist/router/EvmRouterReader.d.ts.map +1 -0
- package/dist/router/EvmRouterReader.js +60 -0
- package/dist/router/EvmRouterReader.js.map +1 -0
- package/dist/router/GasRouterDeployer.d.ts +11 -0
- package/dist/router/GasRouterDeployer.d.ts.map +1 -0
- package/dist/router/GasRouterDeployer.js +25 -0
- package/dist/router/GasRouterDeployer.js.map +1 -0
- package/dist/router/HyperlaneRouterChecker.d.ts +19 -0
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -0
- package/dist/router/HyperlaneRouterChecker.js +157 -0
- package/dist/router/HyperlaneRouterChecker.js.map +1 -0
- package/dist/router/HyperlaneRouterDeployer.d.ts +18 -0
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -0
- package/dist/router/HyperlaneRouterDeployer.js +88 -0
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.d.ts +20 -0
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.js +43 -0
- package/dist/router/MultiProtocolRouterApps.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.js +22 -0
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
- package/dist/router/ProxiedRouterChecker.d.ts +12 -0
- package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
- package/dist/router/ProxiedRouterChecker.js +34 -0
- package/dist/router/ProxiedRouterChecker.js.map +1 -0
- package/dist/router/ProxiedRouterDeployer.d.ts +35 -0
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
- package/dist/router/ProxiedRouterDeployer.js +58 -0
- package/dist/router/ProxiedRouterDeployer.js.map +1 -0
- package/dist/router/RouterApps.d.ts +22 -0
- package/dist/router/RouterApps.d.ts.map +1 -0
- package/dist/router/RouterApps.js +39 -0
- package/dist/router/RouterApps.js.map +1 -0
- package/dist/router/adapters/EvmRouterAdapter.d.ts +30 -0
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/EvmRouterAdapter.js +46 -0
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +35 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.js +56 -0
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
- package/dist/router/adapters/types.d.ts +17 -0
- package/dist/router/adapters/types.d.ts.map +1 -0
- package/dist/router/adapters/types.js +2 -0
- package/dist/router/adapters/types.js.map +1 -0
- package/dist/router/types.d.ts +139 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +62 -0
- package/dist/router/types.js.map +1 -0
- package/dist/router/types.test.d.ts +2 -0
- package/dist/router/types.test.d.ts.map +1 -0
- package/dist/router/types.test.js +108 -0
- package/dist/router/types.test.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.d.ts +91 -0
- package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts +2 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +640 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.js +246 -0
- package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.d.ts +2 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.js +139 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.js.map +1 -0
- package/dist/rpc/evm/types.d.ts +11 -0
- package/dist/rpc/evm/types.d.ts.map +1 -0
- package/dist/rpc/evm/types.js +2 -0
- package/dist/rpc/evm/types.js.map +1 -0
- package/dist/rpc/evm/utils.d.ts +75 -0
- package/dist/rpc/evm/utils.d.ts.map +1 -0
- package/dist/rpc/evm/utils.hardhat-test.d.ts +2 -0
- package/dist/rpc/evm/utils.hardhat-test.d.ts.map +1 -0
- package/dist/rpc/evm/utils.hardhat-test.js +457 -0
- package/dist/rpc/evm/utils.hardhat-test.js.map +1 -0
- package/dist/rpc/evm/utils.js +338 -0
- package/dist/rpc/evm/utils.js.map +1 -0
- package/dist/rpc/evm/utils.test.d.ts +2 -0
- package/dist/rpc/evm/utils.test.d.ts.map +1 -0
- package/dist/rpc/evm/utils.test.js +636 -0
- package/dist/rpc/evm/utils.test.js.map +1 -0
- package/dist/signers/cosmos/cosmjs.d.ts +17 -0
- package/dist/signers/cosmos/cosmjs.d.ts.map +1 -0
- package/dist/signers/cosmos/cosmjs.js +39 -0
- package/dist/signers/cosmos/cosmjs.js.map +1 -0
- package/dist/signers/evm/ethersv5.d.ts +14 -0
- package/dist/signers/evm/ethersv5.d.ts.map +1 -0
- package/dist/signers/evm/ethersv5.js +36 -0
- package/dist/signers/evm/ethersv5.js.map +1 -0
- package/dist/signers/evm/turnkey.d.ts +91 -0
- package/dist/signers/evm/turnkey.d.ts.map +1 -0
- package/dist/signers/evm/turnkey.js +269 -0
- package/dist/signers/evm/turnkey.js.map +1 -0
- package/dist/signers/evm/turnkey.test.d.ts +2 -0
- package/dist/signers/evm/turnkey.test.d.ts.map +1 -0
- package/dist/signers/evm/turnkey.test.js +240 -0
- package/dist/signers/evm/turnkey.test.js.map +1 -0
- package/dist/signers/radix/radix-toolkit.d.ts +16 -0
- package/dist/signers/radix/radix-toolkit.d.ts.map +1 -0
- package/dist/signers/radix/radix-toolkit.js +34 -0
- package/dist/signers/radix/radix-toolkit.js.map +1 -0
- package/dist/signers/signers.d.ts +17 -0
- package/dist/signers/signers.d.ts.map +1 -0
- package/dist/signers/signers.js +26 -0
- package/dist/signers/signers.js.map +1 -0
- package/dist/signers/starknet/starknetjs.d.ts +14 -0
- package/dist/signers/starknet/starknetjs.d.ts.map +1 -0
- package/dist/signers/starknet/starknetjs.js +38 -0
- package/dist/signers/starknet/starknetjs.js.map +1 -0
- package/dist/signers/svm/solana-web3js.d.ts +89 -0
- package/dist/signers/svm/solana-web3js.d.ts.map +1 -0
- package/dist/signers/svm/solana-web3js.js +247 -0
- package/dist/signers/svm/solana-web3js.js.map +1 -0
- package/dist/signers/svm/solana-web3js.test.d.ts +2 -0
- package/dist/signers/svm/solana-web3js.test.d.ts.map +1 -0
- package/dist/signers/svm/solana-web3js.test.js +61 -0
- package/dist/signers/svm/solana-web3js.test.js.map +1 -0
- package/dist/signers/svm/turnkey.d.ts +49 -0
- package/dist/signers/svm/turnkey.d.ts.map +1 -0
- package/dist/signers/svm/turnkey.js +80 -0
- package/dist/signers/svm/turnkey.js.map +1 -0
- package/dist/signers/turnkeyClient.d.ts +72 -0
- package/dist/signers/turnkeyClient.d.ts.map +1 -0
- package/dist/signers/turnkeyClient.js +121 -0
- package/dist/signers/turnkeyClient.js.map +1 -0
- package/dist/signers/types.d.ts +8 -0
- package/dist/signers/types.d.ts.map +1 -0
- package/dist/signers/types.js +2 -0
- package/dist/signers/types.js.map +1 -0
- package/dist/test/contractDouble.d.ts +8 -0
- package/dist/test/contractDouble.d.ts.map +1 -0
- package/dist/test/contractDouble.js +12 -0
- package/dist/test/contractDouble.js.map +1 -0
- package/dist/test/contractStubs.d.ts +8 -0
- package/dist/test/contractStubs.d.ts.map +1 -0
- package/dist/test/contractStubs.js +15 -0
- package/dist/test/contractStubs.js.map +1 -0
- package/dist/test/errors.d.ts +34 -0
- package/dist/test/errors.d.ts.map +1 -0
- package/dist/test/errors.js +46 -0
- package/dist/test/errors.js.map +1 -0
- package/dist/test/fixtures/warp-route-replay/record.d.ts +2 -0
- package/dist/test/fixtures/warp-route-replay/record.d.ts.map +1 -0
- package/dist/test/fixtures/warp-route-replay/record.js +32 -0
- package/dist/test/fixtures/warp-route-replay/record.js.map +1 -0
- package/dist/test/multiProviderStubs.d.ts +9 -0
- package/dist/test/multiProviderStubs.d.ts.map +1 -0
- package/dist/test/multiProviderStubs.js +31 -0
- package/dist/test/multiProviderStubs.js.map +1 -0
- package/dist/test/replayRpc.d.ts +82 -0
- package/dist/test/replayRpc.d.ts.map +1 -0
- package/dist/test/replayRpc.js +331 -0
- package/dist/test/replayRpc.js.map +1 -0
- package/dist/test/replayScenarios.d.ts +19 -0
- package/dist/test/replayScenarios.d.ts.map +1 -0
- package/dist/test/replayScenarios.js +89 -0
- package/dist/test/replayScenarios.js.map +1 -0
- package/dist/test/testUtils.d.ts +32 -0
- package/dist/test/testUtils.d.ts.map +1 -0
- package/dist/test/testUtils.js +408 -0
- package/dist/test/testUtils.js.map +1 -0
- package/dist/test/testUtils.test.d.ts +2 -0
- package/dist/test/testUtils.test.d.ts.map +1 -0
- package/dist/test/testUtils.test.js +28 -0
- package/dist/test/testUtils.test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.d.ts +12 -0
- package/dist/timelock/evm/EvmTimelockDeployer.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts +2 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js +210 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.js +68 -0
- package/dist/timelock/evm/EvmTimelockDeployer.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.d.ts +32 -0
- package/dist/timelock/evm/EvmTimelockReader.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts +2 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +889 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.js +171 -0
- package/dist/timelock/evm/EvmTimelockReader.js.map +1 -0
- package/dist/timelock/evm/constants.d.ts +6 -0
- package/dist/timelock/evm/constants.d.ts.map +1 -0
- package/dist/timelock/evm/constants.js +7 -0
- package/dist/timelock/evm/constants.js.map +1 -0
- package/dist/timelock/evm/contracts.d.ts +6 -0
- package/dist/timelock/evm/contracts.d.ts.map +1 -0
- package/dist/timelock/evm/contracts.js +5 -0
- package/dist/timelock/evm/contracts.js.map +1 -0
- package/dist/timelock/evm/errors.d.ts +2 -0
- package/dist/timelock/evm/errors.d.ts.map +1 -0
- package/dist/timelock/evm/errors.js +19 -0
- package/dist/timelock/evm/errors.js.map +1 -0
- package/dist/timelock/evm/errors.test.d.ts +2 -0
- package/dist/timelock/evm/errors.test.d.ts.map +1 -0
- package/dist/timelock/evm/errors.test.js +33 -0
- package/dist/timelock/evm/errors.test.js.map +1 -0
- package/dist/timelock/evm/utils.d.ts +4 -0
- package/dist/timelock/evm/utils.d.ts.map +1 -0
- package/dist/timelock/evm/utils.js +11 -0
- package/dist/timelock/evm/utils.js.map +1 -0
- package/dist/timelock/types.d.ts +29 -0
- package/dist/timelock/types.d.ts.map +1 -0
- package/dist/timelock/types.js +11 -0
- package/dist/timelock/types.js.map +1 -0
- package/dist/token/EvmWarpModule.d.ts +301 -0
- package/dist/token/EvmWarpModule.d.ts.map +1 -0
- package/dist/token/EvmWarpModule.hardhat-test.d.ts +2 -0
- package/dist/token/EvmWarpModule.hardhat-test.d.ts.map +1 -0
- package/dist/token/EvmWarpModule.hardhat-test.js +3143 -0
- package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -0
- package/dist/token/EvmWarpModule.js +1800 -0
- package/dist/token/EvmWarpModule.js.map +1 -0
- package/dist/token/EvmWarpModule.test.d.ts +2 -0
- package/dist/token/EvmWarpModule.test.d.ts.map +1 -0
- package/dist/token/EvmWarpModule.test.js +471 -0
- package/dist/token/EvmWarpModule.test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.d.ts +135 -0
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.js +1357 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.js +1292 -0
- package/dist/token/EvmWarpRouteReader.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js +392 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.js +783 -0
- package/dist/token/EvmWarpRouteReader.test.js.map +1 -0
- package/dist/token/EvmXERC20Module.d.ts +105 -0
- package/dist/token/EvmXERC20Module.d.ts.map +1 -0
- package/dist/token/EvmXERC20Module.js +277 -0
- package/dist/token/EvmXERC20Module.js.map +1 -0
- package/dist/token/EvmXERC20Module.test.d.ts +2 -0
- package/dist/token/EvmXERC20Module.test.d.ts.map +1 -0
- package/dist/token/EvmXERC20Module.test.js +464 -0
- package/dist/token/EvmXERC20Module.test.js.map +1 -0
- package/dist/token/EvmXERC20Reader.d.ts +58 -0
- package/dist/token/EvmXERC20Reader.d.ts.map +1 -0
- package/dist/token/EvmXERC20Reader.js +122 -0
- package/dist/token/EvmXERC20Reader.js.map +1 -0
- package/dist/token/EvmXERC20Reader.test.d.ts +2 -0
- package/dist/token/EvmXERC20Reader.test.d.ts.map +1 -0
- package/dist/token/EvmXERC20Reader.test.js +333 -0
- package/dist/token/EvmXERC20Reader.test.js.map +1 -0
- package/dist/token/IToken.d.ts +21 -0
- package/dist/token/IToken.d.ts.map +1 -0
- package/dist/token/IToken.js +2 -0
- package/dist/token/IToken.js.map +1 -0
- package/dist/token/ITokenMetadata.d.ts +90 -0
- package/dist/token/ITokenMetadata.d.ts.map +1 -0
- package/dist/token/ITokenMetadata.js +53 -0
- package/dist/token/ITokenMetadata.js.map +1 -0
- package/dist/token/Token.d.ts +47 -0
- package/dist/token/Token.d.ts.map +1 -0
- package/dist/token/Token.js +231 -0
- package/dist/token/Token.js.map +1 -0
- package/dist/token/Token.test.d.ts +2 -0
- package/dist/token/Token.test.d.ts.map +1 -0
- package/dist/token/Token.test.js +579 -0
- package/dist/token/Token.test.js.map +1 -0
- package/dist/token/TokenAmount.d.ts +12 -0
- package/dist/token/TokenAmount.d.ts.map +1 -0
- package/dist/token/TokenAmount.js +22 -0
- package/dist/token/TokenAmount.js.map +1 -0
- package/dist/token/TokenAmount.test.d.ts +2 -0
- package/dist/token/TokenAmount.test.d.ts.map +1 -0
- package/dist/token/TokenAmount.test.js +38 -0
- package/dist/token/TokenAmount.test.js.map +1 -0
- package/dist/token/TokenConnection.d.ts +55 -0
- package/dist/token/TokenConnection.d.ts.map +1 -0
- package/dist/token/TokenConnection.js +44 -0
- package/dist/token/TokenConnection.js.map +1 -0
- package/dist/token/TokenConnection.test.d.ts +2 -0
- package/dist/token/TokenConnection.test.d.ts.map +1 -0
- package/dist/token/TokenConnection.test.js +17 -0
- package/dist/token/TokenConnection.test.js.map +1 -0
- package/dist/token/TokenMetadata.d.ts +43 -0
- package/dist/token/TokenMetadata.d.ts.map +1 -0
- package/dist/token/TokenMetadata.js +121 -0
- package/dist/token/TokenMetadata.js.map +1 -0
- package/dist/token/TokenMetadataMap.d.ts +15 -0
- package/dist/token/TokenMetadataMap.d.ts.map +1 -0
- package/dist/token/TokenMetadataMap.js +56 -0
- package/dist/token/TokenMetadataMap.js.map +1 -0
- package/dist/token/TokenStandard.d.ts +108 -0
- package/dist/token/TokenStandard.d.ts.map +1 -0
- package/dist/token/TokenStandard.js +470 -0
- package/dist/token/TokenStandard.js.map +1 -0
- package/dist/token/adapters/AleoTokenAdapter.d.ts +60 -0
- package/dist/token/adapters/AleoTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/AleoTokenAdapter.js +190 -0
- package/dist/token/adapters/AleoTokenAdapter.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +114 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.js +332 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts +14 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js +283 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +54 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.js +189 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -0
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +74 -0
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/CosmosTokenAdapter.js +192 -0
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +39 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.js +85 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.d.ts +2 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.js +155 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.js.map +1 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts +2 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.js +96 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.js.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.d.ts +303 -0
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.js +899 -0
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.d.ts +2 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.js +125 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.js.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.test.d.ts +2 -0
- package/dist/token/adapters/EvmTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.test.js +73 -0
- package/dist/token/adapters/EvmTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/ITokenAdapter.d.ts +129 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/ITokenAdapter.js +15 -0
- package/dist/token/adapters/ITokenAdapter.js.map +1 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts +22 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.js +90 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.js.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts +22 -0
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.js +95 -0
- package/dist/token/adapters/M0PortalTokenAdapter.js.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.d.ts +2 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.js +94 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/RadixTokenAdapter.d.ts +55 -0
- package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/RadixTokenAdapter.js +190 -0
- package/dist/token/adapters/RadixTokenAdapter.js.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts +64 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.js +474 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.js.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.d.ts +2 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.js +138 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.js.map +1 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.d.ts +2 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.js +136 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +288 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.js +1019 -0
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -0
- package/dist/token/adapters/StarknetTokenAdapter.d.ts +107 -0
- package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/StarknetTokenAdapter.js +273 -0
- package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -0
- package/dist/token/adapters/aleoHyp.d.ts +7 -0
- package/dist/token/adapters/aleoHyp.d.ts.map +1 -0
- package/dist/token/adapters/aleoHyp.js +26 -0
- package/dist/token/adapters/aleoHyp.js.map +1 -0
- package/dist/token/adapters/cosmosHyp.d.ts +7 -0
- package/dist/token/adapters/cosmosHyp.d.ts.map +1 -0
- package/dist/token/adapters/cosmosHyp.js +40 -0
- package/dist/token/adapters/cosmosHyp.js.map +1 -0
- package/dist/token/adapters/evmHyp.d.ts +7 -0
- package/dist/token/adapters/evmHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmHyp.js +21 -0
- package/dist/token/adapters/evmHyp.js.map +1 -0
- package/dist/token/adapters/evmLikeHyp.d.ts +20 -0
- package/dist/token/adapters/evmLikeHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmLikeHyp.js +67 -0
- package/dist/token/adapters/evmLikeHyp.js.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts +15 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js +9 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js.map +1 -0
- package/dist/token/adapters/radixHyp.d.ts +7 -0
- package/dist/token/adapters/radixHyp.d.ts.map +1 -0
- package/dist/token/adapters/radixHyp.js +22 -0
- package/dist/token/adapters/radixHyp.js.map +1 -0
- package/dist/token/adapters/sealevelFee.d.ts +206 -0
- package/dist/token/adapters/sealevelFee.d.ts.map +1 -0
- package/dist/token/adapters/sealevelFee.js +515 -0
- package/dist/token/adapters/sealevelFee.js.map +1 -0
- package/dist/token/adapters/sealevelFee.test.d.ts +2 -0
- package/dist/token/adapters/sealevelFee.test.d.ts.map +1 -0
- package/dist/token/adapters/sealevelFee.test.js +246 -0
- package/dist/token/adapters/sealevelFee.test.js.map +1 -0
- package/dist/token/adapters/sealevelHyp.d.ts +8 -0
- package/dist/token/adapters/sealevelHyp.d.ts.map +1 -0
- package/dist/token/adapters/sealevelHyp.js +52 -0
- package/dist/token/adapters/sealevelHyp.js.map +1 -0
- package/dist/token/adapters/serialization.d.ts +234 -0
- package/dist/token/adapters/serialization.d.ts.map +1 -0
- package/dist/token/adapters/serialization.js +580 -0
- package/dist/token/adapters/serialization.js.map +1 -0
- package/dist/token/adapters/serialization.test.d.ts +2 -0
- package/dist/token/adapters/serialization.test.d.ts.map +1 -0
- package/dist/token/adapters/serialization.test.js +55 -0
- package/dist/token/adapters/serialization.test.js.map +1 -0
- package/dist/token/adapters/starknetHyp.d.ts +7 -0
- package/dist/token/adapters/starknetHyp.d.ts.map +1 -0
- package/dist/token/adapters/starknetHyp.js +35 -0
- package/dist/token/adapters/starknetHyp.js.map +1 -0
- package/dist/token/adapters/tronHyp.d.ts +7 -0
- package/dist/token/adapters/tronHyp.d.ts.map +1 -0
- package/dist/token/adapters/tronHyp.js +21 -0
- package/dist/token/adapters/tronHyp.js.map +1 -0
- package/dist/token/adapters/utils.d.ts +7 -0
- package/dist/token/adapters/utils.d.ts.map +1 -0
- package/dist/token/adapters/utils.js +4 -0
- package/dist/token/adapters/utils.js.map +1 -0
- package/dist/token/cctp.d.ts +10 -0
- package/dist/token/cctp.d.ts.map +1 -0
- package/dist/token/cctp.js +13 -0
- package/dist/token/cctp.js.map +1 -0
- package/dist/token/cctp.test.d.ts +2 -0
- package/dist/token/cctp.test.d.ts.map +1 -0
- package/dist/token/cctp.test.js +48 -0
- package/dist/token/cctp.test.js.map +1 -0
- package/dist/token/config.d.ts +61 -0
- package/dist/token/config.d.ts.map +1 -0
- package/dist/token/config.js +79 -0
- package/dist/token/config.js.map +1 -0
- package/dist/token/configUtils.d.ts +106 -0
- package/dist/token/configUtils.d.ts.map +1 -0
- package/dist/token/configUtils.js +735 -0
- package/dist/token/configUtils.js.map +1 -0
- package/dist/token/configUtils.test.d.ts +2 -0
- package/dist/token/configUtils.test.d.ts.map +1 -0
- package/dist/token/configUtils.test.js +1313 -0
- package/dist/token/configUtils.test.js.map +1 -0
- package/dist/token/contracts.d.ts +64 -0
- package/dist/token/contracts.d.ts.map +1 -0
- package/dist/token/contracts.js +68 -0
- package/dist/token/contracts.js.map +1 -0
- package/dist/token/deploy.d.ts +56 -0
- package/dist/token/deploy.d.ts.map +1 -0
- package/dist/token/deploy.hardhat-test.d.ts +2 -0
- package/dist/token/deploy.hardhat-test.d.ts.map +1 -0
- package/dist/token/deploy.hardhat-test.js +1397 -0
- package/dist/token/deploy.hardhat-test.js.map +1 -0
- package/dist/token/deploy.js +698 -0
- package/dist/token/deploy.js.map +1 -0
- package/dist/token/nativeTokenMetadata.d.ts +4 -0
- package/dist/token/nativeTokenMetadata.d.ts.map +1 -0
- package/dist/token/nativeTokenMetadata.js +50 -0
- package/dist/token/nativeTokenMetadata.js.map +1 -0
- package/dist/token/sealevel/metadata.d.ts +33 -0
- package/dist/token/sealevel/metadata.d.ts.map +1 -0
- package/dist/token/sealevel/metadata.js +90 -0
- package/dist/token/sealevel/metadata.js.map +1 -0
- package/dist/token/tokenMetadataUtils.d.ts +7 -0
- package/dist/token/tokenMetadataUtils.d.ts.map +1 -0
- package/dist/token/tokenMetadataUtils.js +109 -0
- package/dist/token/tokenMetadataUtils.js.map +1 -0
- package/dist/token/types.d.ts +9384 -0
- package/dist/token/types.d.ts.map +1 -0
- package/dist/token/types.js +613 -0
- package/dist/token/types.js.map +1 -0
- package/dist/token/types.test.d.ts +2 -0
- package/dist/token/types.test.d.ts.map +1 -0
- package/dist/token/types.test.js +529 -0
- package/dist/token/types.test.js.map +1 -0
- package/dist/token/warpCheck.d.ts +75 -0
- package/dist/token/warpCheck.d.ts.map +1 -0
- package/dist/token/warpCheck.js +1003 -0
- package/dist/token/warpCheck.js.map +1 -0
- package/dist/token/warpCheck.test.d.ts +2 -0
- package/dist/token/warpCheck.test.d.ts.map +1 -0
- package/dist/token/warpCheck.test.js +947 -0
- package/dist/token/warpCheck.test.js.map +1 -0
- package/dist/token/xerc20-abi.d.ts +58 -0
- package/dist/token/xerc20-abi.d.ts.map +1 -0
- package/dist/token/xerc20-abi.js +77 -0
- package/dist/token/xerc20-abi.js.map +1 -0
- package/dist/token/xerc20-limits.d.ts +63 -0
- package/dist/token/xerc20-limits.d.ts.map +1 -0
- package/dist/token/xerc20-limits.js +80 -0
- package/dist/token/xerc20-limits.js.map +1 -0
- package/dist/token/xerc20.d.ts +93 -0
- package/dist/token/xerc20.d.ts.map +1 -0
- package/dist/token/xerc20.js +355 -0
- package/dist/token/xerc20.js.map +1 -0
- package/dist/token/xerc20.test.d.ts +2 -0
- package/dist/token/xerc20.test.d.ts.map +1 -0
- package/dist/token/xerc20.test.js +728 -0
- package/dist/token/xerc20.test.js.map +1 -0
- package/dist/types.d.ts +47 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/HyperlaneReader.d.ts +17 -0
- package/dist/utils/HyperlaneReader.d.ts.map +1 -0
- package/dist/utils/HyperlaneReader.js +22 -0
- package/dist/utils/HyperlaneReader.js.map +1 -0
- package/dist/utils/MultiGeneric.d.ts +26 -0
- package/dist/utils/MultiGeneric.d.ts.map +1 -0
- package/dist/utils/MultiGeneric.js +55 -0
- package/dist/utils/MultiGeneric.js.map +1 -0
- package/dist/utils/contract.d.ts +60 -0
- package/dist/utils/contract.d.ts.map +1 -0
- package/dist/utils/contract.js +231 -0
- package/dist/utils/contract.js.map +1 -0
- package/dist/utils/contract.test.d.ts +2 -0
- package/dist/utils/contract.test.d.ts.map +1 -0
- package/dist/utils/contract.test.js +551 -0
- package/dist/utils/contract.test.js.map +1 -0
- package/dist/utils/contract.transport.test.d.ts +2 -0
- package/dist/utils/contract.transport.test.d.ts.map +1 -0
- package/dist/utils/contract.transport.test.js +145 -0
- package/dist/utils/contract.transport.test.js.map +1 -0
- package/dist/utils/cosmos.d.ts +391 -0
- package/dist/utils/cosmos.d.ts.map +1 -0
- package/dist/utils/cosmos.js +424 -0
- package/dist/utils/cosmos.js.map +1 -0
- package/dist/utils/decimals.d.ts +53 -0
- package/dist/utils/decimals.d.ts.map +1 -0
- package/dist/utils/decimals.js +131 -0
- package/dist/utils/decimals.js.map +1 -0
- package/dist/utils/decimals.test.d.ts +2 -0
- package/dist/utils/decimals.test.d.ts.map +1 -0
- package/dist/utils/decimals.test.js +526 -0
- package/dist/utils/decimals.test.js.map +1 -0
- package/dist/utils/filter.d.ts +3 -0
- package/dist/utils/filter.d.ts.map +1 -0
- package/dist/utils/filter.js +9 -0
- package/dist/utils/filter.js.map +1 -0
- package/dist/utils/fork.d.ts +55 -0
- package/dist/utils/fork.d.ts.map +1 -0
- package/dist/utils/fork.js +119 -0
- package/dist/utils/fork.js.map +1 -0
- package/dist/utils/gas.d.ts +30 -0
- package/dist/utils/gas.d.ts.map +1 -0
- package/dist/utils/gas.js +35 -0
- package/dist/utils/gas.js.map +1 -0
- package/dist/utils/gnosisSafe.d.ts +21 -0
- package/dist/utils/gnosisSafe.d.ts.map +1 -0
- package/dist/utils/gnosisSafe.js +193 -0
- package/dist/utils/gnosisSafe.js.map +1 -0
- package/dist/utils/gnosisSafe.test.d.ts +2 -0
- package/dist/utils/gnosisSafe.test.d.ts.map +1 -0
- package/dist/utils/gnosisSafe.test.js +78 -0
- package/dist/utils/gnosisSafe.test.js.map +1 -0
- package/dist/utils/ism.d.ts +193 -0
- package/dist/utils/ism.d.ts.map +1 -0
- package/dist/utils/ism.js +611 -0
- package/dist/utils/ism.js.map +1 -0
- package/dist/utils/ism.test.d.ts +2 -0
- package/dist/utils/ism.test.d.ts.map +1 -0
- package/dist/utils/ism.test.js +445 -0
- package/dist/utils/ism.test.js.map +1 -0
- package/dist/utils/logUtils.d.ts +4 -0
- package/dist/utils/logUtils.d.ts.map +1 -0
- package/dist/utils/logUtils.js +13 -0
- package/dist/utils/logUtils.js.map +1 -0
- package/dist/utils/numbers.d.ts +11 -0
- package/dist/utils/numbers.d.ts.map +1 -0
- package/dist/utils/numbers.js +36 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/numbers.test.d.ts +2 -0
- package/dist/utils/numbers.test.d.ts.map +1 -0
- package/dist/utils/numbers.test.js +80 -0
- package/dist/utils/numbers.test.js.map +1 -0
- package/dist/utils/provider.d.ts +6 -0
- package/dist/utils/provider.d.ts.map +1 -0
- package/dist/utils/provider.js +36 -0
- package/dist/utils/provider.js.map +1 -0
- package/dist/utils/schemas.d.ts +4 -0
- package/dist/utils/schemas.d.ts.map +1 -0
- package/dist/utils/schemas.js +15 -0
- package/dist/utils/schemas.js.map +1 -0
- package/dist/utils/schemas.test.d.ts +2 -0
- package/dist/utils/schemas.test.d.ts.map +1 -0
- package/dist/utils/schemas.test.js +33 -0
- package/dist/utils/schemas.test.js.map +1 -0
- package/dist/utils/sealevelSerialization.d.ts +50 -0
- package/dist/utils/sealevelSerialization.d.ts.map +1 -0
- package/dist/utils/sealevelSerialization.js +85 -0
- package/dist/utils/sealevelSerialization.js.map +1 -0
- package/dist/utils/starknet.d.ts +35 -0
- package/dist/utils/starknet.d.ts.map +1 -0
- package/dist/utils/starknet.js +89 -0
- package/dist/utils/starknet.js.map +1 -0
- package/dist/utils/transactions.d.ts +12 -0
- package/dist/utils/transactions.d.ts.map +1 -0
- package/dist/utils/transactions.js +17 -0
- package/dist/utils/transactions.js.map +1 -0
- package/dist/utils/validator.d.ts +5 -0
- package/dist/utils/validator.d.ts.map +1 -0
- package/dist/utils/validator.js +18 -0
- package/dist/utils/validator.js.map +1 -0
- package/dist/utils/zksync.d.ts +8 -0
- package/dist/utils/zksync.d.ts.map +1 -0
- package/dist/utils/zksync.js +24 -0
- package/dist/utils/zksync.js.map +1 -0
- package/dist/warp/WarpCore.d.ts +286 -0
- package/dist/warp/WarpCore.d.ts.map +1 -0
- package/dist/warp/WarpCore.js +1144 -0
- package/dist/warp/WarpCore.js.map +1 -0
- package/dist/warp/WarpCore.test.d.ts +2 -0
- package/dist/warp/WarpCore.test.d.ts.map +1 -0
- package/dist/warp/WarpCore.test.js +1823 -0
- package/dist/warp/WarpCore.test.js.map +1 -0
- package/dist/warp/read.d.ts +19 -0
- package/dist/warp/read.d.ts.map +1 -0
- package/dist/warp/read.js +34 -0
- package/dist/warp/read.js.map +1 -0
- package/dist/warp/read.test.d.ts +2 -0
- package/dist/warp/read.test.d.ts.map +1 -0
- package/dist/warp/read.test.js +56 -0
- package/dist/warp/read.test.js.map +1 -0
- package/dist/warp/resolveDestinationToken.d.ts +23 -0
- package/dist/warp/resolveDestinationToken.d.ts.map +1 -0
- package/dist/warp/resolveDestinationToken.js +31 -0
- package/dist/warp/resolveDestinationToken.js.map +1 -0
- package/dist/warp/types.d.ts +122 -0
- package/dist/warp/types.d.ts.map +1 -0
- package/dist/warp/types.js +52 -0
- package/dist/warp/types.js.map +1 -0
- package/dist/warp/types.test.d.ts +2 -0
- package/dist/warp/types.test.d.ts.map +1 -0
- package/dist/warp/types.test.js +81 -0
- package/dist/warp/types.test.js.map +1 -0
- package/dist/zksync/ZKSyncDeployer.d.ts +59 -0
- package/dist/zksync/ZKSyncDeployer.d.ts.map +1 -0
- package/dist/zksync/ZKSyncDeployer.js +132 -0
- package/dist/zksync/ZKSyncDeployer.js.map +1 -0
- package/package.json +259 -3
|
@@ -0,0 +1,1279 @@
|
|
|
1
|
+
import assert from 'assert';
|
|
2
|
+
import chai, { expect } from 'chai';
|
|
3
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
4
|
+
import hre from 'hardhat';
|
|
5
|
+
import sinon from 'sinon';
|
|
6
|
+
import { BlacklistIsm__factory, DefaultIsm__factory, DelayedFlowRouterHookIsm__factory, HypERC20__factory, NetFlowRateLimitedHookIsm__factory, PausableIsm__factory, RateLimitedIsm__factory, StaticAggregationIsm__factory, TestLegacyBlacklistIsm__factory, } from '@recoillink/core';
|
|
7
|
+
import { addressToBytes32, eqAddress, rootLogger, } from '@recoillink/utils';
|
|
8
|
+
import { TestChainName, testChains } from '../consts/testChains.js';
|
|
9
|
+
import { TestCoreDeployer } from '../core/TestCoreDeployer.js';
|
|
10
|
+
import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
|
|
11
|
+
import { buildDelayedFlowEnrollmentTxs, } from '../deploy/warp.js';
|
|
12
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
13
|
+
import { EvmEventLogsReader } from '../rpc/evm/EvmEventLogsReader.js';
|
|
14
|
+
import { randomAddress, randomIsmConfig, randomMultisigIsmConfig, } from '../test/testUtils.js';
|
|
15
|
+
import { collectHybridIsmNodes, normalizeConfig } from '../utils/ism.js';
|
|
16
|
+
import { EvmIsmModule } from './EvmIsmModule.js';
|
|
17
|
+
import { EvmIsmReader } from './EvmIsmReader.js';
|
|
18
|
+
import { HyperlaneIsmFactory } from './HyperlaneIsmFactory.js';
|
|
19
|
+
import { IsmType, ModuleType, } from './types.js';
|
|
20
|
+
chai.use(chaiAsPromised);
|
|
21
|
+
const randomBytes32 = () => hre.ethers.utils.hexlify(hre.ethers.utils.randomBytes(32));
|
|
22
|
+
// Blacklist ISMs are only valid in a mandatory (exhaustive-aggregation)
|
|
23
|
+
// position, so build a standalone one to prove the composition walk rejects it.
|
|
24
|
+
const BLACKLIST_COMPOSITION_ERROR = 'must be a member of an aggregation';
|
|
25
|
+
describe('EvmIsmModule', async () => {
|
|
26
|
+
let multiProvider;
|
|
27
|
+
let exampleRoutingConfig;
|
|
28
|
+
let mailboxAddress;
|
|
29
|
+
let fundingAccount;
|
|
30
|
+
const chain = TestChainName.test4;
|
|
31
|
+
let factoryAddresses;
|
|
32
|
+
let factoryContracts;
|
|
33
|
+
const legacyDeploymentBlocks = new Map();
|
|
34
|
+
let legacyExplorerMetadataStub;
|
|
35
|
+
let legacyDeploymentBlockStub;
|
|
36
|
+
// paired TokenRouter required by the warp-route hybrid hook/ISM constructors
|
|
37
|
+
let warpRouterAddress;
|
|
38
|
+
before(async () => {
|
|
39
|
+
const [signer, funder] = await hre.ethers.getSigners();
|
|
40
|
+
fundingAccount = funder;
|
|
41
|
+
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
42
|
+
const contractsMap = await new HyperlaneProxyFactoryDeployer(multiProvider).deploy(multiProvider.mapKnownChains(() => ({})));
|
|
43
|
+
// get addresses of factories for the chain
|
|
44
|
+
factoryContracts = contractsMap[chain];
|
|
45
|
+
factoryAddresses = Object.keys(factoryContracts).reduce((acc, key) => {
|
|
46
|
+
acc[key] =
|
|
47
|
+
contractsMap[chain][key].address;
|
|
48
|
+
return acc;
|
|
49
|
+
}, {});
|
|
50
|
+
// legacy HyperlaneIsmFactory is required to do a core deploy
|
|
51
|
+
const legacyIsmFactory = new HyperlaneIsmFactory(contractsMap, multiProvider);
|
|
52
|
+
// mailbox
|
|
53
|
+
mailboxAddress = (await new TestCoreDeployer(multiProvider, legacyIsmFactory).deployApp()).getContracts(chain).mailbox.address;
|
|
54
|
+
warpRouterAddress = (await new HypERC20__factory(signer).deploy(18, 1, 1, mailboxAddress)).address;
|
|
55
|
+
});
|
|
56
|
+
beforeEach(async () => {
|
|
57
|
+
// Reset the MultiProvider for each test
|
|
58
|
+
const [signer] = await hre.ethers.getSigners();
|
|
59
|
+
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
60
|
+
// example routing config
|
|
61
|
+
exampleRoutingConfig = {
|
|
62
|
+
type: IsmType.ROUTING,
|
|
63
|
+
owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
|
|
64
|
+
domains: Object.fromEntries(testChains
|
|
65
|
+
.filter((c) => c !== TestChainName.test4)
|
|
66
|
+
.map((c) => [c, randomMultisigIsmConfig(3, 5)])),
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
// Helper method for create a new multiprovider with an impersonated account
|
|
70
|
+
async function impersonateAccount(account) {
|
|
71
|
+
await hre.ethers.provider.send('hardhat_impersonateAccount', [account]);
|
|
72
|
+
await fundingAccount.sendTransaction({
|
|
73
|
+
to: account,
|
|
74
|
+
value: hre.ethers.utils.parseEther('1.0'),
|
|
75
|
+
});
|
|
76
|
+
return MultiProvider.createTestMultiProvider({
|
|
77
|
+
signer: hre.ethers.provider.getSigner(account),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// Helper method to expect exactly N updates to be applied
|
|
81
|
+
async function expectTxsAndUpdate(ism, config, n) {
|
|
82
|
+
const txs = await ism.update(config);
|
|
83
|
+
expect(txs.length).to.equal(n);
|
|
84
|
+
for (const tx of txs) {
|
|
85
|
+
await multiProvider.sendTransaction(chain, tx);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// ism module and config for testing
|
|
89
|
+
let testIsm;
|
|
90
|
+
let testConfig;
|
|
91
|
+
// expect that the ISM matches the config after all tests
|
|
92
|
+
afterEach(async () => {
|
|
93
|
+
try {
|
|
94
|
+
const derivedConfiig = await testIsm.read();
|
|
95
|
+
const normalizedDerivedConfig = normalizeConfig(derivedConfiig);
|
|
96
|
+
const normalizedConfig = normalizeConfig(testConfig);
|
|
97
|
+
// recipient is a deploy-time constructor arg not returned by read()
|
|
98
|
+
if (normalizedConfig.type === IsmType.RATE_LIMITED) {
|
|
99
|
+
delete normalizedConfig.recipient;
|
|
100
|
+
}
|
|
101
|
+
assert.deepStrictEqual(normalizedDerivedConfig, normalizedConfig);
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
legacyExplorerMetadataStub?.restore();
|
|
105
|
+
legacyDeploymentBlockStub?.restore();
|
|
106
|
+
legacyExplorerMetadataStub = undefined;
|
|
107
|
+
legacyDeploymentBlockStub = undefined;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
// create a new ISM and verify that it matches the config
|
|
111
|
+
async function createIsm(config) {
|
|
112
|
+
const ism = await EvmIsmModule.create({
|
|
113
|
+
chain,
|
|
114
|
+
config,
|
|
115
|
+
proxyFactoryFactories: factoryAddresses,
|
|
116
|
+
mailbox: mailboxAddress,
|
|
117
|
+
multiProvider,
|
|
118
|
+
});
|
|
119
|
+
testIsm = ism;
|
|
120
|
+
testConfig = config;
|
|
121
|
+
return { ism, initialIsmAddress: ism.serialize().deployedIsm };
|
|
122
|
+
}
|
|
123
|
+
// Registers an externally built ISM with the afterEach state check.
|
|
124
|
+
function adoptIsm(ism, config) {
|
|
125
|
+
testIsm = ism;
|
|
126
|
+
testConfig = config;
|
|
127
|
+
return ism;
|
|
128
|
+
}
|
|
129
|
+
// Builds a StaticAggregationIsm whose blacklist submodule is the pre-audit
|
|
130
|
+
// contract that is still deployed on mainnet: no `values()`, and an event per
|
|
131
|
+
// entry even when the entry is already blacklisted.
|
|
132
|
+
async function deployLegacyBlacklistAggregation(owner, blacklistedIds) {
|
|
133
|
+
const ismFactory = HyperlaneIsmFactory.fromAddressesMap({ [chain]: factoryAddresses }, multiProvider);
|
|
134
|
+
const multisigConfig = randomMultisigIsmConfig(3, 5);
|
|
135
|
+
const multisigIsm = await ismFactory.deploy({
|
|
136
|
+
destination: chain,
|
|
137
|
+
config: multisigConfig,
|
|
138
|
+
});
|
|
139
|
+
const legacyIsm = await new TestLegacyBlacklistIsm__factory(multiProvider.getSigner(chain)).deploy(owner);
|
|
140
|
+
const deploymentReceipt = await legacyIsm.deployTransaction.wait();
|
|
141
|
+
legacyDeploymentBlocks.set(legacyIsm.address.toLowerCase(), deploymentReceipt.blockNumber);
|
|
142
|
+
for (const blacklistedId of blacklistedIds) {
|
|
143
|
+
await multiProvider.handleTx(chain, legacyIsm.blacklist([blacklistedId]));
|
|
144
|
+
}
|
|
145
|
+
// re-add everything so the log replay has to de-duplicate
|
|
146
|
+
await multiProvider.handleTx(chain, legacyIsm.blacklist(blacklistedIds));
|
|
147
|
+
const aggregationAddress = await ismFactory.deployStaticAddressSet(chain, factoryContracts.staticAggregationIsmFactory, [multisigIsm.address, legacyIsm.address], rootLogger, 2);
|
|
148
|
+
return { aggregationAddress, multisigConfig };
|
|
149
|
+
}
|
|
150
|
+
function moduleForAggregation(deployedIsm, config) {
|
|
151
|
+
return new EvmIsmModule(multiProvider, {
|
|
152
|
+
chain,
|
|
153
|
+
config,
|
|
154
|
+
addresses: {
|
|
155
|
+
...factoryAddresses,
|
|
156
|
+
mailbox: mailboxAddress,
|
|
157
|
+
deployedIsm,
|
|
158
|
+
},
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Hybrid hook/ISMs are only valid inside a mandatory aggregation beside an
|
|
163
|
+
* authenticating ISM, which is also how a warp route always installs them.
|
|
164
|
+
* The wrapper holds `hybrid` by reference, so tests can keep mutating the
|
|
165
|
+
* node in place between create and update.
|
|
166
|
+
*/
|
|
167
|
+
function hybridAgg(hybrid) {
|
|
168
|
+
return {
|
|
169
|
+
type: IsmType.AGGREGATION,
|
|
170
|
+
threshold: 2,
|
|
171
|
+
modules: [
|
|
172
|
+
{ type: IsmType.TRUSTED_RELAYER, relayer: mailboxAddress },
|
|
173
|
+
hybrid,
|
|
174
|
+
],
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/** Address of the hybrid leaf inside the module's installed tree. */
|
|
178
|
+
async function hybridLeaf(ism) {
|
|
179
|
+
const derived = await new EvmIsmReader(multiProvider, chain).deriveIsmConfig(ism.serialize().deployedIsm);
|
|
180
|
+
const [leaf] = collectHybridIsmNodes(derived);
|
|
181
|
+
assert(leaf && 'address' in leaf && typeof leaf.address === 'string', 'expected a deployed hybrid leaf');
|
|
182
|
+
return leaf.address;
|
|
183
|
+
}
|
|
184
|
+
describe('create', async () => {
|
|
185
|
+
it('deploys a simple ism', async () => {
|
|
186
|
+
const config = randomMultisigIsmConfig(3, 5);
|
|
187
|
+
await createIsm(config);
|
|
188
|
+
});
|
|
189
|
+
it('deploys a trusted relayer ism', async () => {
|
|
190
|
+
const relayer = randomAddress();
|
|
191
|
+
const config = {
|
|
192
|
+
type: IsmType.TRUSTED_RELAYER,
|
|
193
|
+
relayer,
|
|
194
|
+
};
|
|
195
|
+
await createIsm(config);
|
|
196
|
+
});
|
|
197
|
+
for (const type of [IsmType.ROUTING, IsmType.FALLBACK_ROUTING]) {
|
|
198
|
+
it(`deploys ${type} routingIsm with correct routes`, async () => {
|
|
199
|
+
exampleRoutingConfig.type = type;
|
|
200
|
+
await createIsm(exampleRoutingConfig);
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
it(`deploys ${IsmType.AMOUNT_ROUTING}`, async () => {
|
|
204
|
+
await createIsm({
|
|
205
|
+
type: IsmType.AMOUNT_ROUTING,
|
|
206
|
+
lowerIsm: randomMultisigIsmConfig(3, 5),
|
|
207
|
+
upperIsm: randomMultisigIsmConfig(3, 5),
|
|
208
|
+
threshold: 2,
|
|
209
|
+
});
|
|
210
|
+
});
|
|
211
|
+
it('deploys a rate limited ism and transfers ownership to non-deployer', async () => {
|
|
212
|
+
const recipient = randomAddress();
|
|
213
|
+
const owner = randomAddress();
|
|
214
|
+
const config = {
|
|
215
|
+
type: IsmType.RATE_LIMITED,
|
|
216
|
+
maxCapacity: '86400',
|
|
217
|
+
duration: 86400n,
|
|
218
|
+
recipient,
|
|
219
|
+
owner,
|
|
220
|
+
};
|
|
221
|
+
const { ism } = await createIsm(config);
|
|
222
|
+
const rateLimitedIsm = RateLimitedIsm__factory.connect(ism.serialize().deployedIsm, multiProvider.getProvider(chain));
|
|
223
|
+
expect((await rateLimitedIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
|
|
224
|
+
});
|
|
225
|
+
it('deploys a blacklist submodule under an exhaustive aggregation and transfers ownership to non-deployer', async () => {
|
|
226
|
+
const owner = randomAddress();
|
|
227
|
+
const blacklistedIds = [randomBytes32(), randomBytes32()];
|
|
228
|
+
const blacklistSubmodule = {
|
|
229
|
+
type: IsmType.BLACKLIST,
|
|
230
|
+
owner,
|
|
231
|
+
blacklistedIds,
|
|
232
|
+
};
|
|
233
|
+
// threshold === modules.length: the blacklist sits in a mandatory
|
|
234
|
+
// (exhaustive-aggregation) position, so the composition invariant holds
|
|
235
|
+
const config = {
|
|
236
|
+
type: IsmType.AGGREGATION,
|
|
237
|
+
modules: [randomMultisigIsmConfig(3, 5), blacklistSubmodule],
|
|
238
|
+
threshold: 2,
|
|
239
|
+
};
|
|
240
|
+
const { ism } = await createIsm(config);
|
|
241
|
+
const provider = multiProvider.getProvider(chain);
|
|
242
|
+
const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
|
|
243
|
+
let blacklistFound = false;
|
|
244
|
+
for (const moduleAddress of moduleAddresses) {
|
|
245
|
+
const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
|
|
246
|
+
if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
|
|
247
|
+
expect((await blacklistIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
|
|
248
|
+
for (const id of blacklistedIds) {
|
|
249
|
+
expect(await blacklistIsm.blacklistedIds(id)).to.be.true;
|
|
250
|
+
}
|
|
251
|
+
blacklistFound = true;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
expect(blacklistFound).to.be.true;
|
|
255
|
+
});
|
|
256
|
+
it('rejects create of a standalone blacklist ism', async () => {
|
|
257
|
+
// seed a valid deployed ISM so the afterEach invariant reads a real config
|
|
258
|
+
await createIsm(randomMultisigIsmConfig(3, 5));
|
|
259
|
+
const config = {
|
|
260
|
+
type: IsmType.BLACKLIST,
|
|
261
|
+
owner: randomAddress(),
|
|
262
|
+
blacklistedIds: [randomBytes32()],
|
|
263
|
+
};
|
|
264
|
+
await expect(EvmIsmModule.create({
|
|
265
|
+
chain,
|
|
266
|
+
config,
|
|
267
|
+
proxyFactoryFactories: factoryAddresses,
|
|
268
|
+
mailbox: mailboxAddress,
|
|
269
|
+
multiProvider,
|
|
270
|
+
})).to.be.rejectedWith(BLACKLIST_COMPOSITION_ERROR);
|
|
271
|
+
});
|
|
272
|
+
it('deploys a mailbox default ism', async () => {
|
|
273
|
+
const config = {
|
|
274
|
+
type: IsmType.MAILBOX_DEFAULT,
|
|
275
|
+
};
|
|
276
|
+
await createIsm(config);
|
|
277
|
+
});
|
|
278
|
+
it('deploys a net flow rate limited hook ism and transfers ownership to non-deployer', async () => {
|
|
279
|
+
const owner = randomAddress();
|
|
280
|
+
const config = {
|
|
281
|
+
type: IsmType.NET_FLOW_RATE_LIMITED,
|
|
282
|
+
warpRouter: warpRouterAddress,
|
|
283
|
+
thresholdBps: 500,
|
|
284
|
+
duration: 86400n,
|
|
285
|
+
owner,
|
|
286
|
+
};
|
|
287
|
+
const { ism } = await createIsm(hybridAgg(config));
|
|
288
|
+
const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
289
|
+
expect((await netFlowIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
|
|
290
|
+
expect((await netFlowIsm.warpRouter()).toLowerCase()).to.equal(warpRouterAddress.toLowerCase());
|
|
291
|
+
});
|
|
292
|
+
it('deploys a delayed flow router hook ism, enrolling routers before transferring ownership', async () => {
|
|
293
|
+
// owner is a non-deployer EOA: the deploy only succeeds if the
|
|
294
|
+
// owner-gated enrollment happens BEFORE the ownership transfer
|
|
295
|
+
const owner = randomAddress();
|
|
296
|
+
const remoteRouter = addressToBytes32(randomAddress()).toLowerCase();
|
|
297
|
+
const config = {
|
|
298
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
299
|
+
warpRouter: warpRouterAddress,
|
|
300
|
+
thresholdBps: 10000,
|
|
301
|
+
maxDelay: 3600,
|
|
302
|
+
duration: 86400n,
|
|
303
|
+
owner,
|
|
304
|
+
remoteIsms: { [TestChainName.test2]: remoteRouter },
|
|
305
|
+
};
|
|
306
|
+
const { ism } = await createIsm(hybridAgg(config));
|
|
307
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
308
|
+
expect(await delayedIsm.routers(multiProvider.getDomainId(TestChainName.test2))).to.equal(remoteRouter);
|
|
309
|
+
expect((await delayedIsm.owner()).toLowerCase()).to.equal(owner.toLowerCase());
|
|
310
|
+
});
|
|
311
|
+
for (let i = 0; i < 16; i++) {
|
|
312
|
+
it(`deploys a random ism config #${i}`, async () => {
|
|
313
|
+
const config = randomIsmConfig();
|
|
314
|
+
await createIsm(config);
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
it('deploys a rate limited ism via randomIsmConfig', async () => {
|
|
318
|
+
const config = randomIsmConfig(undefined, undefined, IsmType.RATE_LIMITED);
|
|
319
|
+
await createIsm(config);
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
describe('update', async () => {
|
|
323
|
+
it('applies a pausable state change when the signer is the owner', async () => {
|
|
324
|
+
const config = {
|
|
325
|
+
type: IsmType.PAUSABLE,
|
|
326
|
+
owner: await multiProvider.getSignerAddress(chain),
|
|
327
|
+
paused: false,
|
|
328
|
+
};
|
|
329
|
+
const { ism, initialIsmAddress } = await createIsm(config);
|
|
330
|
+
const pausable = PausableIsm__factory.connect(initialIsmAddress, multiProvider.getProvider(chain));
|
|
331
|
+
const target = { ...config, paused: true };
|
|
332
|
+
const txs = await ism.update(target);
|
|
333
|
+
testConfig = target;
|
|
334
|
+
expect(txs).to.be.empty;
|
|
335
|
+
expect(await pausable.paused()).to.be.true;
|
|
336
|
+
});
|
|
337
|
+
it('returns a pausable state change when the signer is not the owner', async () => {
|
|
338
|
+
const owner = randomAddress();
|
|
339
|
+
const config = {
|
|
340
|
+
type: IsmType.PAUSABLE,
|
|
341
|
+
owner,
|
|
342
|
+
paused: false,
|
|
343
|
+
};
|
|
344
|
+
const { ism, initialIsmAddress } = await createIsm(config);
|
|
345
|
+
const pausable = PausableIsm__factory.connect(initialIsmAddress, multiProvider.getProvider(chain));
|
|
346
|
+
const target = { ...config, paused: true };
|
|
347
|
+
const txs = await ism.update(target);
|
|
348
|
+
expect(txs).to.have.length(1);
|
|
349
|
+
expect(txs[0].to).to.equal(initialIsmAddress);
|
|
350
|
+
expect(txs[0].data).to.equal(PausableIsm__factory.createInterface().encodeFunctionData('pause'));
|
|
351
|
+
expect(await pausable.paused()).to.be.false;
|
|
352
|
+
const ownerMultiProvider = await impersonateAccount(owner);
|
|
353
|
+
await ownerMultiProvider.sendTransaction(chain, txs[0]);
|
|
354
|
+
testConfig = target;
|
|
355
|
+
expect(await pausable.paused()).to.be.true;
|
|
356
|
+
});
|
|
357
|
+
for (const type of [IsmType.ROUTING, IsmType.FALLBACK_ROUTING]) {
|
|
358
|
+
beforeEach(() => {
|
|
359
|
+
exampleRoutingConfig.type = type;
|
|
360
|
+
});
|
|
361
|
+
it(`should skip deployment with warning if no chain metadata configured ${type}`, async () => {
|
|
362
|
+
// create a new ISM
|
|
363
|
+
const { ism } = await createIsm(exampleRoutingConfig);
|
|
364
|
+
// create an updated config with a domain the multiprovider doesn't have
|
|
365
|
+
const updatedRoutingConfig = {
|
|
366
|
+
...exampleRoutingConfig,
|
|
367
|
+
domains: {
|
|
368
|
+
...exampleRoutingConfig.domains,
|
|
369
|
+
test5: randomMultisigIsmConfig(3, 5),
|
|
370
|
+
},
|
|
371
|
+
};
|
|
372
|
+
// expect 0 txs, as adding test5 domain is no-op
|
|
373
|
+
await expectTxsAndUpdate(ism, updatedRoutingConfig, 0);
|
|
374
|
+
});
|
|
375
|
+
it(`update route in an existing ${type}`, async () => {
|
|
376
|
+
// create a new ISM
|
|
377
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
378
|
+
// changing the type of a domain should enroll the domain
|
|
379
|
+
exampleRoutingConfig.domains[TestChainName.test2].type = IsmType.MESSAGE_ID_MULTISIG;
|
|
380
|
+
// expect 1 tx to enroll test2 domain
|
|
381
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
382
|
+
// check that the ISM address is the same
|
|
383
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
384
|
+
.true;
|
|
385
|
+
});
|
|
386
|
+
it(`deletes route in an existing ${type}`, async () => {
|
|
387
|
+
// create a new ISM
|
|
388
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
389
|
+
// deleting the domain should unenroll the domain
|
|
390
|
+
delete exampleRoutingConfig.domains[TestChainName.test3];
|
|
391
|
+
// expect 1 tx to unenroll test3 domain
|
|
392
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
393
|
+
// expect the ISM address to be the same
|
|
394
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
395
|
+
.true;
|
|
396
|
+
});
|
|
397
|
+
it(`deletes route in an existing ${type} even if not in multiprovider`, async () => {
|
|
398
|
+
// create a new ISM
|
|
399
|
+
const { ism } = await createIsm(exampleRoutingConfig);
|
|
400
|
+
// keep track of the domains before deleting
|
|
401
|
+
const numDomainsBefore = Object.keys((await ism.read()).domains).length;
|
|
402
|
+
// deleting the domain and removing from multiprovider should unenroll the domain
|
|
403
|
+
delete exampleRoutingConfig.domains[TestChainName.test3];
|
|
404
|
+
multiProvider = multiProvider.intersect(
|
|
405
|
+
// remove test3 from multiprovider
|
|
406
|
+
testChains.filter((c) => c !== TestChainName.test3)).result;
|
|
407
|
+
// expect 1 tx to unenroll test3 domain
|
|
408
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
409
|
+
// domains should have decreased by 1
|
|
410
|
+
const numDomainsAfter = Object.keys((await ism.read()).domains).length;
|
|
411
|
+
expect(numDomainsBefore - 1).to.equal(numDomainsAfter);
|
|
412
|
+
});
|
|
413
|
+
it(`updates owner in an existing ${type}`, async () => {
|
|
414
|
+
// create a new ISM
|
|
415
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
416
|
+
// change the config owner
|
|
417
|
+
exampleRoutingConfig.owner = randomAddress();
|
|
418
|
+
// expect 1 tx to transfer ownership
|
|
419
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
420
|
+
// expect the ISM address to be the same
|
|
421
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
422
|
+
.true;
|
|
423
|
+
});
|
|
424
|
+
it(`no changes to an existing ${type} means no redeployment or updates`, async () => {
|
|
425
|
+
// create a new ISM
|
|
426
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
427
|
+
// expect 0 updates
|
|
428
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 0);
|
|
429
|
+
// expect the ISM address to be the same
|
|
430
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
431
|
+
.true;
|
|
432
|
+
});
|
|
433
|
+
it(`reordering validators in an existing ${type} should not trigger a redeployment`, async () => {
|
|
434
|
+
// create a new ISM
|
|
435
|
+
const routerConfig = {
|
|
436
|
+
type: IsmType.ROUTING,
|
|
437
|
+
owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
|
|
438
|
+
domains: {
|
|
439
|
+
test1: {
|
|
440
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
441
|
+
validators: [
|
|
442
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
443
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
444
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
445
|
+
],
|
|
446
|
+
threshold: 2,
|
|
447
|
+
},
|
|
448
|
+
test2: {
|
|
449
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
450
|
+
validators: [
|
|
451
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
452
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
453
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
454
|
+
],
|
|
455
|
+
threshold: 2,
|
|
456
|
+
},
|
|
457
|
+
},
|
|
458
|
+
};
|
|
459
|
+
const { ism, initialIsmAddress } = await createIsm(routerConfig);
|
|
460
|
+
const updatedRouterConfig = {
|
|
461
|
+
type: IsmType.ROUTING,
|
|
462
|
+
owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
|
|
463
|
+
domains: {
|
|
464
|
+
test1: {
|
|
465
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
466
|
+
validators: [
|
|
467
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
468
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
469
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
470
|
+
],
|
|
471
|
+
threshold: 2,
|
|
472
|
+
},
|
|
473
|
+
test2: {
|
|
474
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
475
|
+
validators: [
|
|
476
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
477
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
478
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
479
|
+
],
|
|
480
|
+
threshold: 2,
|
|
481
|
+
},
|
|
482
|
+
},
|
|
483
|
+
};
|
|
484
|
+
// expect 0 updates
|
|
485
|
+
await expectTxsAndUpdate(ism, updatedRouterConfig, 0);
|
|
486
|
+
// expect the ISM address to be the same
|
|
487
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
488
|
+
.true;
|
|
489
|
+
});
|
|
490
|
+
it(`update owner in an existing ${type} not owned by deployer`, async () => {
|
|
491
|
+
// ISM owner is not the deployer
|
|
492
|
+
exampleRoutingConfig.owner = randomAddress();
|
|
493
|
+
const originalOwner = exampleRoutingConfig.owner;
|
|
494
|
+
// create a new ISM
|
|
495
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
496
|
+
// update the config owner and impersonate the original owner
|
|
497
|
+
exampleRoutingConfig.owner = randomAddress();
|
|
498
|
+
multiProvider = await impersonateAccount(originalOwner);
|
|
499
|
+
// expect 1 tx to transfer ownership
|
|
500
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
501
|
+
// expect the ISM address to be unchanged
|
|
502
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
503
|
+
.true;
|
|
504
|
+
});
|
|
505
|
+
it(`update validators in an existing ${type}`, async () => {
|
|
506
|
+
// create a new ISM
|
|
507
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
508
|
+
// update the validators for a domain
|
|
509
|
+
exampleRoutingConfig.domains[TestChainName.test2] = {
|
|
510
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
511
|
+
validators: [randomAddress(), randomAddress()],
|
|
512
|
+
threshold: 2,
|
|
513
|
+
};
|
|
514
|
+
// expect 1 tx to update validator set for test2 domain
|
|
515
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
516
|
+
// expect the ISM address to be the same
|
|
517
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
518
|
+
.true;
|
|
519
|
+
});
|
|
520
|
+
it(`update threshold in an existing ${type}`, async () => {
|
|
521
|
+
// create a new ISM
|
|
522
|
+
const { ism, initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
523
|
+
// update the threshold for a domain
|
|
524
|
+
exampleRoutingConfig.domains[TestChainName.test2].threshold = 2;
|
|
525
|
+
// expect 1 tx to update threshold for test2 domain
|
|
526
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
527
|
+
// expect the ISM address to be the same
|
|
528
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
529
|
+
.true;
|
|
530
|
+
});
|
|
531
|
+
it(`update threshold in an existing ${type} with Module creating using constructor`, async () => {
|
|
532
|
+
// create an initial ISM
|
|
533
|
+
const { initialIsmAddress } = await createIsm(exampleRoutingConfig);
|
|
534
|
+
// update the threshold for a domain
|
|
535
|
+
exampleRoutingConfig.domains[TestChainName.test2].threshold = 2;
|
|
536
|
+
// create a new IsmModule using it's constructor. Set it's deployedIsm address to the initialIsmAddr
|
|
537
|
+
const ism = new EvmIsmModule(multiProvider, {
|
|
538
|
+
chain,
|
|
539
|
+
config: exampleRoutingConfig,
|
|
540
|
+
addresses: {
|
|
541
|
+
...factoryAddresses,
|
|
542
|
+
mailbox: mailboxAddress,
|
|
543
|
+
deployedIsm: initialIsmAddress,
|
|
544
|
+
},
|
|
545
|
+
});
|
|
546
|
+
// expect 1 tx to update threshold for test2 domain
|
|
547
|
+
await expectTxsAndUpdate(ism, exampleRoutingConfig, 1);
|
|
548
|
+
// expect the ISM address to be the same
|
|
549
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
550
|
+
.true;
|
|
551
|
+
});
|
|
552
|
+
}
|
|
553
|
+
it(`reordering modules in an existing staticAggregationIsm should not trigger a redeployment`, async () => {
|
|
554
|
+
// create a new ISM
|
|
555
|
+
const config = {
|
|
556
|
+
type: IsmType.AGGREGATION,
|
|
557
|
+
modules: [
|
|
558
|
+
{
|
|
559
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
560
|
+
validators: [
|
|
561
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
562
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
563
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
564
|
+
],
|
|
565
|
+
threshold: 2,
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
type: IsmType.ROUTING,
|
|
569
|
+
owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
|
|
570
|
+
domains: {
|
|
571
|
+
test1: {
|
|
572
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
573
|
+
validators: [
|
|
574
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
575
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
576
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
577
|
+
],
|
|
578
|
+
threshold: 2,
|
|
579
|
+
},
|
|
580
|
+
test2: {
|
|
581
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
582
|
+
validators: [
|
|
583
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
584
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
585
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
586
|
+
],
|
|
587
|
+
threshold: 2,
|
|
588
|
+
},
|
|
589
|
+
},
|
|
590
|
+
},
|
|
591
|
+
],
|
|
592
|
+
threshold: 2,
|
|
593
|
+
};
|
|
594
|
+
const { ism, initialIsmAddress } = await createIsm(config);
|
|
595
|
+
const updatedConfig = {
|
|
596
|
+
type: IsmType.AGGREGATION,
|
|
597
|
+
modules: [
|
|
598
|
+
{
|
|
599
|
+
type: IsmType.ROUTING,
|
|
600
|
+
owner: (await multiProvider.getSignerAddress(chain)).toLowerCase(),
|
|
601
|
+
domains: {
|
|
602
|
+
test2: {
|
|
603
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
604
|
+
validators: [
|
|
605
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
606
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
607
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
608
|
+
],
|
|
609
|
+
threshold: 2,
|
|
610
|
+
},
|
|
611
|
+
test1: {
|
|
612
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
613
|
+
validators: [
|
|
614
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
615
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
616
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
617
|
+
],
|
|
618
|
+
threshold: 2,
|
|
619
|
+
},
|
|
620
|
+
},
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
type: IsmType.MERKLE_ROOT_MULTISIG,
|
|
624
|
+
validators: [
|
|
625
|
+
'0x5FbDB2315678afecb367f032d93F642f64180aa3',
|
|
626
|
+
'0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2',
|
|
627
|
+
'0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db',
|
|
628
|
+
],
|
|
629
|
+
threshold: 2,
|
|
630
|
+
},
|
|
631
|
+
],
|
|
632
|
+
threshold: 2,
|
|
633
|
+
};
|
|
634
|
+
// expect 0 updates
|
|
635
|
+
await expectTxsAndUpdate(ism, updatedConfig, 0);
|
|
636
|
+
// expect the ISM address to be the same
|
|
637
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
638
|
+
.true;
|
|
639
|
+
});
|
|
640
|
+
it('transfers ownership in-place on ownership change', async () => {
|
|
641
|
+
const recipient = randomAddress();
|
|
642
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
643
|
+
const rateLimitedConfig = {
|
|
644
|
+
type: IsmType.RATE_LIMITED,
|
|
645
|
+
maxCapacity: '86400',
|
|
646
|
+
duration: 86400n,
|
|
647
|
+
recipient,
|
|
648
|
+
owner: signerAddress,
|
|
649
|
+
};
|
|
650
|
+
const { ism, initialIsmAddress } = await createIsm(rateLimitedConfig);
|
|
651
|
+
const newOwner = randomAddress();
|
|
652
|
+
// mutate in-place so testConfig (same reference) stays in sync for afterEach
|
|
653
|
+
rateLimitedConfig.owner = newOwner;
|
|
654
|
+
// RATE_LIMITED is mutable — update() transfers ownership in-place (1 tx)
|
|
655
|
+
await expectTxsAndUpdate(ism, rateLimitedConfig, 1);
|
|
656
|
+
// same contract address — no redeploy
|
|
657
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
658
|
+
.true;
|
|
659
|
+
const rateLimitedIsm = RateLimitedIsm__factory.connect(ism.serialize().deployedIsm, multiProvider.getProvider(chain));
|
|
660
|
+
expect((await rateLimitedIsm.owner()).toLowerCase()).to.equal(newOwner.toLowerCase());
|
|
661
|
+
});
|
|
662
|
+
it('redeploys a new ISM on duration change (immutable)', async () => {
|
|
663
|
+
const recipient = randomAddress();
|
|
664
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
665
|
+
const rateLimitedConfig = {
|
|
666
|
+
type: IsmType.RATE_LIMITED,
|
|
667
|
+
maxCapacity: '86400',
|
|
668
|
+
duration: 86400n,
|
|
669
|
+
recipient,
|
|
670
|
+
owner: signerAddress,
|
|
671
|
+
};
|
|
672
|
+
const { ism, initialIsmAddress } = await createIsm(rateLimitedConfig);
|
|
673
|
+
// duration is immutable on-chain; changing it must redeploy a fresh ISM.
|
|
674
|
+
// keep maxCapacity a multiple of the new duration (schema constraint).
|
|
675
|
+
rateLimitedConfig.duration = 3600n;
|
|
676
|
+
rateLimitedConfig.maxCapacity = '3600';
|
|
677
|
+
// update() redeploys internally and emits no txs
|
|
678
|
+
await expectTxsAndUpdate(ism, rateLimitedConfig, 0);
|
|
679
|
+
// different contract address — redeployed
|
|
680
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
681
|
+
.false;
|
|
682
|
+
const rateLimitedIsm = RateLimitedIsm__factory.connect(ism.serialize().deployedIsm, multiProvider.getProvider(chain));
|
|
683
|
+
expect((await rateLimitedIsm.DURATION()).toString()).to.equal('3600');
|
|
684
|
+
});
|
|
685
|
+
it('redeploys the aggregation when a blacklisted ID is dropped under an exhaustive aggregation (append-only)', async () => {
|
|
686
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
687
|
+
const idToKeep = randomBytes32();
|
|
688
|
+
const idToDrop = randomBytes32();
|
|
689
|
+
const blacklistSubmodule = {
|
|
690
|
+
type: IsmType.BLACKLIST,
|
|
691
|
+
owner: signerAddress,
|
|
692
|
+
blacklistedIds: [idToKeep, idToDrop],
|
|
693
|
+
};
|
|
694
|
+
// threshold === modules.length: mandatory (exhaustive-aggregation) position
|
|
695
|
+
const config = {
|
|
696
|
+
type: IsmType.AGGREGATION,
|
|
697
|
+
modules: [randomMultisigIsmConfig(3, 5), blacklistSubmodule],
|
|
698
|
+
threshold: 2,
|
|
699
|
+
};
|
|
700
|
+
const { ism, initialIsmAddress } = await createIsm(config);
|
|
701
|
+
// entries are append-only on-chain; dropping one must redeploy a fresh ISM,
|
|
702
|
+
// which changes the submodule address and forces the container to redeploy
|
|
703
|
+
blacklistSubmodule.blacklistedIds = [idToKeep];
|
|
704
|
+
// update() redeploys internally and emits no txs
|
|
705
|
+
await expectTxsAndUpdate(ism, config, 0);
|
|
706
|
+
// different aggregation address — redeployed
|
|
707
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
708
|
+
.false;
|
|
709
|
+
const provider = multiProvider.getProvider(chain);
|
|
710
|
+
const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
|
|
711
|
+
let blacklistFound = false;
|
|
712
|
+
for (const moduleAddress of moduleAddresses) {
|
|
713
|
+
const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
|
|
714
|
+
if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
|
|
715
|
+
expect(await blacklistIsm.blacklistedIds(idToKeep)).to.be.true;
|
|
716
|
+
expect(await blacklistIsm.blacklistedIds(idToDrop)).to.be.false;
|
|
717
|
+
blacklistFound = true;
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
expect(blacklistFound).to.be.true;
|
|
721
|
+
});
|
|
722
|
+
it('rejects update to a standalone blacklist ism', async () => {
|
|
723
|
+
const { ism } = await createIsm(randomMultisigIsmConfig(3, 5));
|
|
724
|
+
const standaloneBlacklist = {
|
|
725
|
+
type: IsmType.BLACKLIST,
|
|
726
|
+
owner: await multiProvider.getSignerAddress(chain),
|
|
727
|
+
blacklistedIds: [randomBytes32()],
|
|
728
|
+
};
|
|
729
|
+
await expect(ism.update(standaloneBlacklist)).to.be.rejectedWith(BLACKLIST_COMPOSITION_ERROR);
|
|
730
|
+
});
|
|
731
|
+
it('updates a blacklist submodule in-place under an exhaustive aggregation', async () => {
|
|
732
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
733
|
+
const existingIds = [randomBytes32()];
|
|
734
|
+
const blacklistSubmodule = {
|
|
735
|
+
type: IsmType.BLACKLIST,
|
|
736
|
+
owner: signerAddress,
|
|
737
|
+
blacklistedIds: [...existingIds],
|
|
738
|
+
};
|
|
739
|
+
// threshold === modules.length: the blacklist sits in a mandatory
|
|
740
|
+
// (exhaustive-aggregation) position, so the composition invariant holds
|
|
741
|
+
const config = {
|
|
742
|
+
type: IsmType.AGGREGATION,
|
|
743
|
+
modules: [randomMultisigIsmConfig(3, 5), blacklistSubmodule],
|
|
744
|
+
threshold: 2,
|
|
745
|
+
};
|
|
746
|
+
const { ism, initialIsmAddress } = await createIsm(config);
|
|
747
|
+
const newId = randomBytes32();
|
|
748
|
+
// mutate in-place so testConfig (same reference) stays in sync for afterEach
|
|
749
|
+
blacklistSubmodule.blacklistedIds = [...existingIds, newId];
|
|
750
|
+
// 1 tx blacklisting only the new ID on the submodule; aggregation stays put
|
|
751
|
+
await expectTxsAndUpdate(ism, config, 1);
|
|
752
|
+
// same aggregation address — container updated in place, no redeploy
|
|
753
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
754
|
+
.true;
|
|
755
|
+
const provider = multiProvider.getProvider(chain);
|
|
756
|
+
const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
|
|
757
|
+
let blacklistFound = false;
|
|
758
|
+
for (const moduleAddress of moduleAddresses) {
|
|
759
|
+
const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
|
|
760
|
+
if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
|
|
761
|
+
expect(await blacklistIsm.blacklistedIds(newId)).to.be.true;
|
|
762
|
+
blacklistFound = true;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
expect(blacklistFound).to.be.true;
|
|
766
|
+
});
|
|
767
|
+
describe('blacklist submodule that predates on-chain enumeration', () => {
|
|
768
|
+
beforeEach(() => {
|
|
769
|
+
legacyDeploymentBlocks.clear();
|
|
770
|
+
legacyDeploymentBlockStub = sinon
|
|
771
|
+
.stub(EvmEventLogsReader.prototype, 'getContractDeploymentBlockFromExplorer')
|
|
772
|
+
.callsFake(async (address) => {
|
|
773
|
+
const block = legacyDeploymentBlocks.get(address.toLowerCase());
|
|
774
|
+
assert(block !== undefined, `Missing deployment block for ${address}`);
|
|
775
|
+
return block;
|
|
776
|
+
});
|
|
777
|
+
// The test chain metadata declares an Etherscan explorer with a
|
|
778
|
+
// placeholder API key, which would send the log reader to the live
|
|
779
|
+
// Etherscan API before falling back to the RPC.
|
|
780
|
+
legacyExplorerMetadataStub = sinon
|
|
781
|
+
.stub(multiProvider, 'tryGetEvmExplorerMetadata')
|
|
782
|
+
.returns(null);
|
|
783
|
+
});
|
|
784
|
+
it('derives the submodule as a blacklist ISM with the ids replayed from logs', async () => {
|
|
785
|
+
const owner = await multiProvider.getSignerAddress(chain);
|
|
786
|
+
const firstId = randomBytes32();
|
|
787
|
+
const secondId = randomBytes32();
|
|
788
|
+
const { aggregationAddress, multisigConfig } = await deployLegacyBlacklistAggregation(owner, [firstId, secondId]);
|
|
789
|
+
const config = {
|
|
790
|
+
type: IsmType.AGGREGATION,
|
|
791
|
+
modules: [
|
|
792
|
+
multisigConfig,
|
|
793
|
+
{
|
|
794
|
+
type: IsmType.BLACKLIST,
|
|
795
|
+
owner,
|
|
796
|
+
blacklistedIds: [firstId, secondId],
|
|
797
|
+
},
|
|
798
|
+
],
|
|
799
|
+
threshold: 2,
|
|
800
|
+
};
|
|
801
|
+
const ism = adoptIsm(moduleForAggregation(aggregationAddress, config), config);
|
|
802
|
+
const derived = await ism.read();
|
|
803
|
+
assert(typeof derived !== 'string' && derived.type === IsmType.AGGREGATION, 'expected the derived config to be an aggregation');
|
|
804
|
+
const blacklistModule = derived.modules.find((module) => typeof module !== 'string' && module.type === IsmType.BLACKLIST);
|
|
805
|
+
assert(blacklistModule !== undefined &&
|
|
806
|
+
typeof blacklistModule !== 'string' &&
|
|
807
|
+
blacklistModule.type === IsmType.BLACKLIST, 'expected a blacklist submodule in the derived config');
|
|
808
|
+
expect(blacklistModule.blacklistedIds).to.have.members([
|
|
809
|
+
firstId.toLowerCase(),
|
|
810
|
+
secondId.toLowerCase(),
|
|
811
|
+
]);
|
|
812
|
+
});
|
|
813
|
+
it('applies no transactions when the submodule already matches', async () => {
|
|
814
|
+
const owner = await multiProvider.getSignerAddress(chain);
|
|
815
|
+
const blacklistedId = randomBytes32();
|
|
816
|
+
const { aggregationAddress, multisigConfig } = await deployLegacyBlacklistAggregation(owner, [blacklistedId]);
|
|
817
|
+
const config = {
|
|
818
|
+
type: IsmType.AGGREGATION,
|
|
819
|
+
modules: [
|
|
820
|
+
multisigConfig,
|
|
821
|
+
{ type: IsmType.BLACKLIST, owner, blacklistedIds: [blacklistedId] },
|
|
822
|
+
],
|
|
823
|
+
threshold: 2,
|
|
824
|
+
};
|
|
825
|
+
const ism = adoptIsm(moduleForAggregation(aggregationAddress, config), config);
|
|
826
|
+
await expectTxsAndUpdate(ism, config, 0);
|
|
827
|
+
expect(eqAddress(aggregationAddress, ism.serialize().deployedIsm)).to.be
|
|
828
|
+
.true;
|
|
829
|
+
});
|
|
830
|
+
it('redeploys instead of blacklisting in place when an id is added', async () => {
|
|
831
|
+
const owner = await multiProvider.getSignerAddress(chain);
|
|
832
|
+
const existingId = randomBytes32();
|
|
833
|
+
const newId = randomBytes32();
|
|
834
|
+
const { aggregationAddress, multisigConfig } = await deployLegacyBlacklistAggregation(owner, [existingId]);
|
|
835
|
+
const config = {
|
|
836
|
+
type: IsmType.AGGREGATION,
|
|
837
|
+
modules: [
|
|
838
|
+
multisigConfig,
|
|
839
|
+
{
|
|
840
|
+
type: IsmType.BLACKLIST,
|
|
841
|
+
owner,
|
|
842
|
+
blacklistedIds: [existingId, newId],
|
|
843
|
+
},
|
|
844
|
+
],
|
|
845
|
+
threshold: 2,
|
|
846
|
+
};
|
|
847
|
+
const ism = adoptIsm(moduleForAggregation(aggregationAddress, config), config);
|
|
848
|
+
// update() redeploys internally and emits no txs
|
|
849
|
+
await expectTxsAndUpdate(ism, config, 0);
|
|
850
|
+
expect(eqAddress(aggregationAddress, ism.serialize().deployedIsm)).to.be
|
|
851
|
+
.false;
|
|
852
|
+
const provider = multiProvider.getProvider(chain);
|
|
853
|
+
const [moduleAddresses] = await StaticAggregationIsm__factory.connect(ism.serialize().deployedIsm, provider).modulesAndThreshold(hre.ethers.constants.AddressZero);
|
|
854
|
+
let blacklistFound = false;
|
|
855
|
+
for (const moduleAddress of moduleAddresses) {
|
|
856
|
+
const blacklistIsm = BlacklistIsm__factory.connect(moduleAddress, provider);
|
|
857
|
+
if ((await blacklistIsm.moduleType()) === ModuleType.NULL) {
|
|
858
|
+
// the replacement exposes on-chain enumeration and carries both ids
|
|
859
|
+
expect(await blacklistIsm.values()).to.have.members([
|
|
860
|
+
existingId,
|
|
861
|
+
newId,
|
|
862
|
+
]);
|
|
863
|
+
blacklistFound = true;
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
expect(blacklistFound).to.be.true;
|
|
867
|
+
});
|
|
868
|
+
});
|
|
869
|
+
it('no changes to an existing mailbox default ism means no redeployment or updates', async () => {
|
|
870
|
+
const config = {
|
|
871
|
+
type: IsmType.MAILBOX_DEFAULT,
|
|
872
|
+
};
|
|
873
|
+
const { ism, initialIsmAddress } = await createIsm(config);
|
|
874
|
+
await expectTxsAndUpdate(ism, config, 0);
|
|
875
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
876
|
+
.true;
|
|
877
|
+
});
|
|
878
|
+
it('redeploys a mailbox default ism that defers to a different mailbox', async () => {
|
|
879
|
+
const config = {
|
|
880
|
+
type: IsmType.MAILBOX_DEFAULT,
|
|
881
|
+
};
|
|
882
|
+
const { initialIsmAddress } = await createIsm(config);
|
|
883
|
+
// A DefaultIsm's mailbox is an immutable constructor arg the reader
|
|
884
|
+
// omits, so this module — pointed at the same instance but at a
|
|
885
|
+
// different mailbox — sees an identical `{ type }` config while the
|
|
886
|
+
// instance routes through the wrong mailbox's default ISM.
|
|
887
|
+
const otherMailbox = warpRouterAddress;
|
|
888
|
+
const reboundModule = new EvmIsmModule(multiProvider, {
|
|
889
|
+
chain,
|
|
890
|
+
config,
|
|
891
|
+
addresses: {
|
|
892
|
+
...factoryAddresses,
|
|
893
|
+
mailbox: otherMailbox,
|
|
894
|
+
deployedIsm: initialIsmAddress,
|
|
895
|
+
},
|
|
896
|
+
});
|
|
897
|
+
// redeploys internally (MAILBOX_DEFAULT is immutable), emitting no txs
|
|
898
|
+
expect(await reboundModule.update(config)).to.deep.equal([]);
|
|
899
|
+
const redeployedIsm = reboundModule.serialize().deployedIsm;
|
|
900
|
+
expect(eqAddress(redeployedIsm, initialIsmAddress)).to.be.false;
|
|
901
|
+
expect(eqAddress(await DefaultIsm__factory.connect(redeployedIsm, multiProvider.getProvider(chain)).mailbox(), otherMailbox)).to.be.true;
|
|
902
|
+
});
|
|
903
|
+
it('redeploys when changing a mailbox default ism to another type', async () => {
|
|
904
|
+
const { ism, initialIsmAddress } = await createIsm({
|
|
905
|
+
type: IsmType.MAILBOX_DEFAULT,
|
|
906
|
+
});
|
|
907
|
+
const trustedRelayerConfig = {
|
|
908
|
+
type: IsmType.TRUSTED_RELAYER,
|
|
909
|
+
relayer: randomAddress(),
|
|
910
|
+
};
|
|
911
|
+
// keep testConfig in sync for the afterEach read-back assertion
|
|
912
|
+
testConfig = trustedRelayerConfig;
|
|
913
|
+
// update() redeploys internally and emits no txs
|
|
914
|
+
await expectTxsAndUpdate(ism, trustedRelayerConfig, 0);
|
|
915
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
916
|
+
.false;
|
|
917
|
+
});
|
|
918
|
+
it('transfers netFlowRateLimitedHookIsm ownership in-place on owner change', async () => {
|
|
919
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
920
|
+
const netFlowConfig = {
|
|
921
|
+
type: IsmType.NET_FLOW_RATE_LIMITED,
|
|
922
|
+
warpRouter: warpRouterAddress,
|
|
923
|
+
thresholdBps: 500,
|
|
924
|
+
duration: 86400n,
|
|
925
|
+
owner: signerAddress,
|
|
926
|
+
};
|
|
927
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(netFlowConfig));
|
|
928
|
+
const newOwner = randomAddress();
|
|
929
|
+
// mutate in-place so testConfig (same reference) stays in sync for afterEach
|
|
930
|
+
netFlowConfig.owner = newOwner;
|
|
931
|
+
// NET_FLOW_RATE_LIMITED is mutable — update() transfers ownership in-place (1 tx)
|
|
932
|
+
await expectTxsAndUpdate(ism, hybridAgg(netFlowConfig), 1);
|
|
933
|
+
// same contract address — no redeploy
|
|
934
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
935
|
+
.true;
|
|
936
|
+
const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
937
|
+
expect((await netFlowIsm.owner()).toLowerCase()).to.equal(newOwner.toLowerCase());
|
|
938
|
+
});
|
|
939
|
+
it('redeploys a new netFlowRateLimitedHookIsm on thresholdBps change (immutable)', async () => {
|
|
940
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
941
|
+
const netFlowConfig = {
|
|
942
|
+
type: IsmType.NET_FLOW_RATE_LIMITED,
|
|
943
|
+
warpRouter: warpRouterAddress,
|
|
944
|
+
thresholdBps: 500,
|
|
945
|
+
duration: 86400n,
|
|
946
|
+
owner: signerAddress,
|
|
947
|
+
};
|
|
948
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(netFlowConfig));
|
|
949
|
+
// thresholdBps is immutable on-chain; changing it must redeploy
|
|
950
|
+
netFlowConfig.thresholdBps = 750;
|
|
951
|
+
// update() redeploys internally and emits no txs
|
|
952
|
+
await expectTxsAndUpdate(ism, hybridAgg(netFlowConfig), 0);
|
|
953
|
+
// different contract address — redeployed
|
|
954
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
955
|
+
.false;
|
|
956
|
+
const netFlowIsm = NetFlowRateLimitedHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
957
|
+
expect((await netFlowIsm.thresholdBps()).toString()).to.equal('750');
|
|
958
|
+
});
|
|
959
|
+
it('updates netFlowRateLimitedHookIsm owner in-place inside an aggregation ism without redeploying the container', async () => {
|
|
960
|
+
// the contract mandates composing NetFlowRateLimitedHookIsm under an
|
|
961
|
+
// authenticating ISM, so aggregation-wrapped is the primary shape
|
|
962
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
963
|
+
const netFlowConfig = {
|
|
964
|
+
type: IsmType.NET_FLOW_RATE_LIMITED,
|
|
965
|
+
warpRouter: warpRouterAddress,
|
|
966
|
+
thresholdBps: 500,
|
|
967
|
+
duration: 86400n,
|
|
968
|
+
owner: signerAddress,
|
|
969
|
+
};
|
|
970
|
+
const aggregationConfig = {
|
|
971
|
+
type: IsmType.AGGREGATION,
|
|
972
|
+
modules: [netFlowConfig, randomMultisigIsmConfig(3, 5)],
|
|
973
|
+
threshold: 2,
|
|
974
|
+
};
|
|
975
|
+
const { ism, initialIsmAddress } = await createIsm(aggregationConfig);
|
|
976
|
+
// mutate in-place so testConfig (same reference) stays in sync for afterEach
|
|
977
|
+
const newOwner = randomAddress();
|
|
978
|
+
netFlowConfig.owner = newOwner;
|
|
979
|
+
// owner is the netFlow's only mutable field: expect a single in-place
|
|
980
|
+
// transferOwnership tx, with the aggregation container untouched
|
|
981
|
+
await expectTxsAndUpdate(ism, aggregationConfig, 1);
|
|
982
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
983
|
+
.true;
|
|
984
|
+
});
|
|
985
|
+
it('no changes to an existing delayedFlowRouterHookIsm means no redeployment or updates', async () => {
|
|
986
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
987
|
+
const delayedConfig = {
|
|
988
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
989
|
+
warpRouter: warpRouterAddress,
|
|
990
|
+
thresholdBps: 10000,
|
|
991
|
+
maxDelay: 3600,
|
|
992
|
+
duration: 86400n,
|
|
993
|
+
owner: signerAddress,
|
|
994
|
+
remoteIsms: {
|
|
995
|
+
[TestChainName.test2]: addressToBytes32(randomAddress()).toLowerCase(),
|
|
996
|
+
},
|
|
997
|
+
};
|
|
998
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
|
|
999
|
+
await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 0);
|
|
1000
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
1001
|
+
.true;
|
|
1002
|
+
});
|
|
1003
|
+
it('does not redeploy a delayedFlowRouterHookIsm when the target omits warpRouter', async () => {
|
|
1004
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1005
|
+
const delayedConfig = {
|
|
1006
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1007
|
+
warpRouter: warpRouterAddress,
|
|
1008
|
+
thresholdBps: 10000,
|
|
1009
|
+
maxDelay: 3600,
|
|
1010
|
+
duration: 86400n,
|
|
1011
|
+
owner: signerAddress,
|
|
1012
|
+
remoteIsms: {},
|
|
1013
|
+
};
|
|
1014
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
|
|
1015
|
+
// warp-route-context configs omit warpRouter (implicitly the token);
|
|
1016
|
+
// the update must treat it as unchanged, not as an immutable-field change
|
|
1017
|
+
const targetWithoutWarpRouter = {
|
|
1018
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1019
|
+
thresholdBps: 10000,
|
|
1020
|
+
maxDelay: 3600,
|
|
1021
|
+
duration: 86400n,
|
|
1022
|
+
owner: signerAddress,
|
|
1023
|
+
remoteIsms: {},
|
|
1024
|
+
};
|
|
1025
|
+
await expectTxsAndUpdate(ism, hybridAgg(targetWithoutWarpRouter), 0);
|
|
1026
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
1027
|
+
.true;
|
|
1028
|
+
});
|
|
1029
|
+
it('enrolls and unenrolls remote routers on an existing delayedFlowRouterHookIsm', async () => {
|
|
1030
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1031
|
+
const test2Router = addressToBytes32(randomAddress()).toLowerCase();
|
|
1032
|
+
const test3Router = addressToBytes32(randomAddress()).toLowerCase();
|
|
1033
|
+
const delayedConfig = {
|
|
1034
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1035
|
+
warpRouter: warpRouterAddress,
|
|
1036
|
+
thresholdBps: 10000,
|
|
1037
|
+
maxDelay: 3600,
|
|
1038
|
+
duration: 86400n,
|
|
1039
|
+
owner: signerAddress,
|
|
1040
|
+
remoteIsms: { [TestChainName.test2]: test2Router },
|
|
1041
|
+
};
|
|
1042
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
|
|
1043
|
+
// replace test2 with test3: 1 enroll tx + 1 unenroll tx
|
|
1044
|
+
delayedConfig.remoteIsms = { [TestChainName.test3]: test3Router };
|
|
1045
|
+
await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 2);
|
|
1046
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
1047
|
+
.true;
|
|
1048
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
1049
|
+
const test3Domain = multiProvider.getDomainId(TestChainName.test3);
|
|
1050
|
+
expect(await delayedIsm.routers(test3Domain)).to.equal(test3Router);
|
|
1051
|
+
const enrolledDomains = await delayedIsm.domains();
|
|
1052
|
+
expect(enrolledDomains.map((domain) => Number(domain))).to.deep.equal([
|
|
1053
|
+
test3Domain,
|
|
1054
|
+
]);
|
|
1055
|
+
});
|
|
1056
|
+
it('unenrolls a delayed flow domain missing from provider metadata', async () => {
|
|
1057
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1058
|
+
const delayedConfig = {
|
|
1059
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1060
|
+
warpRouter: warpRouterAddress,
|
|
1061
|
+
thresholdBps: 10000,
|
|
1062
|
+
maxDelay: 3600,
|
|
1063
|
+
duration: 86400n,
|
|
1064
|
+
owner: signerAddress,
|
|
1065
|
+
remoteIsms: {},
|
|
1066
|
+
};
|
|
1067
|
+
const { ism } = await createIsm(hybridAgg(delayedConfig));
|
|
1068
|
+
const leafAddress = await hybridLeaf(ism);
|
|
1069
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(leafAddress, multiProvider.getSigner(chain));
|
|
1070
|
+
const unknownDomain = 987654;
|
|
1071
|
+
expect(multiProvider.tryGetChainName(unknownDomain)).to.be.null;
|
|
1072
|
+
await delayedIsm.enrollRemoteRouters([unknownDomain], [addressToBytes32(randomAddress())]);
|
|
1073
|
+
const leafModule = new EvmIsmModule(multiProvider, {
|
|
1074
|
+
chain,
|
|
1075
|
+
config: delayedConfig,
|
|
1076
|
+
addresses: {
|
|
1077
|
+
...factoryAddresses,
|
|
1078
|
+
mailbox: mailboxAddress,
|
|
1079
|
+
deployedIsm: leafAddress,
|
|
1080
|
+
},
|
|
1081
|
+
});
|
|
1082
|
+
const txs = await leafModule.updateDeployedInstance(delayedConfig);
|
|
1083
|
+
expect(txs).to.have.length(1);
|
|
1084
|
+
for (const tx of txs) {
|
|
1085
|
+
await multiProvider.sendTransaction(chain, tx);
|
|
1086
|
+
}
|
|
1087
|
+
expect(await delayedIsm.domains()).to.deep.equal([]);
|
|
1088
|
+
});
|
|
1089
|
+
it('updateDeployedInstance reconciles the hybrid leaf but rejects a composed tree', async () => {
|
|
1090
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1091
|
+
const delayedConfig = {
|
|
1092
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1093
|
+
warpRouter: warpRouterAddress,
|
|
1094
|
+
thresholdBps: 10000,
|
|
1095
|
+
maxDelay: 3600,
|
|
1096
|
+
duration: 86400n,
|
|
1097
|
+
owner: signerAddress,
|
|
1098
|
+
remoteIsms: {},
|
|
1099
|
+
};
|
|
1100
|
+
const { ism } = await createIsm(hybridAgg(delayedConfig));
|
|
1101
|
+
// Same module shape buildDelayedFlowEnrollmentTxs builds: pointed at the
|
|
1102
|
+
// deployed hybrid leaf, not at the aggregation above it.
|
|
1103
|
+
const leafModule = new EvmIsmModule(multiProvider, {
|
|
1104
|
+
chain,
|
|
1105
|
+
config: delayedConfig,
|
|
1106
|
+
addresses: {
|
|
1107
|
+
...factoryAddresses,
|
|
1108
|
+
mailbox: mailboxAddress,
|
|
1109
|
+
deployedIsm: await hybridLeaf(ism),
|
|
1110
|
+
},
|
|
1111
|
+
});
|
|
1112
|
+
// The escape hatch skips the composition rules, so it must not accept a
|
|
1113
|
+
// config that composes anything.
|
|
1114
|
+
await expect(leafModule.updateDeployedInstance(hybridAgg(delayedConfig))).to.be.rejectedWith('composed');
|
|
1115
|
+
// ...while the leaf node it exists for still reconciles.
|
|
1116
|
+
delayedConfig.remoteIsms = {
|
|
1117
|
+
[TestChainName.test2]: addressToBytes32(randomAddress()).toLowerCase(),
|
|
1118
|
+
};
|
|
1119
|
+
const txs = await leafModule.updateDeployedInstance(delayedConfig);
|
|
1120
|
+
expect(txs.length).to.equal(1);
|
|
1121
|
+
for (const tx of txs) {
|
|
1122
|
+
await multiProvider.sendTransaction(chain, tx);
|
|
1123
|
+
}
|
|
1124
|
+
});
|
|
1125
|
+
it('transfers delayedFlowRouterHookIsm ownership after enrollment updates', async () => {
|
|
1126
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1127
|
+
const delayedConfig = {
|
|
1128
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1129
|
+
warpRouter: warpRouterAddress,
|
|
1130
|
+
thresholdBps: 10000,
|
|
1131
|
+
maxDelay: 3600,
|
|
1132
|
+
duration: 86400n,
|
|
1133
|
+
owner: signerAddress,
|
|
1134
|
+
remoteIsms: {},
|
|
1135
|
+
};
|
|
1136
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
|
|
1137
|
+
// enroll a router AND hand over ownership in the same update: the txs
|
|
1138
|
+
// only execute successfully if enrollment (owner-gated) precedes the
|
|
1139
|
+
// ownership transfer
|
|
1140
|
+
const newOwner = randomAddress();
|
|
1141
|
+
delayedConfig.remoteIsms = {
|
|
1142
|
+
[TestChainName.test2]: addressToBytes32(randomAddress()).toLowerCase(),
|
|
1143
|
+
};
|
|
1144
|
+
delayedConfig.owner = newOwner;
|
|
1145
|
+
await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 2);
|
|
1146
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
1147
|
+
.true;
|
|
1148
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
1149
|
+
expect((await delayedIsm.owner()).toLowerCase()).to.equal(newOwner.toLowerCase());
|
|
1150
|
+
});
|
|
1151
|
+
it('redeploys a new delayedFlowRouterHookIsm on maxDelay change (immutable)', async () => {
|
|
1152
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1153
|
+
const delayedConfig = {
|
|
1154
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1155
|
+
warpRouter: warpRouterAddress,
|
|
1156
|
+
thresholdBps: 10000,
|
|
1157
|
+
maxDelay: 3600,
|
|
1158
|
+
duration: 86400n,
|
|
1159
|
+
owner: signerAddress,
|
|
1160
|
+
remoteIsms: {},
|
|
1161
|
+
};
|
|
1162
|
+
const { ism, initialIsmAddress } = await createIsm(hybridAgg(delayedConfig));
|
|
1163
|
+
// maxDelay is immutable on-chain; changing it must redeploy
|
|
1164
|
+
delayedConfig.maxDelay = 7200;
|
|
1165
|
+
// update() redeploys internally and emits no txs
|
|
1166
|
+
await expectTxsAndUpdate(ism, hybridAgg(delayedConfig), 0);
|
|
1167
|
+
// different contract address — redeployed
|
|
1168
|
+
expect(eqAddress(initialIsmAddress, ism.serialize().deployedIsm)).to.be
|
|
1169
|
+
.false;
|
|
1170
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
1171
|
+
expect(await delayedIsm.maxDelay()).to.equal(7200);
|
|
1172
|
+
});
|
|
1173
|
+
});
|
|
1174
|
+
describe('delayed flow router cross-chain enrollment', async () => {
|
|
1175
|
+
const remoteChain = TestChainName.test2;
|
|
1176
|
+
const manualChain = TestChainName.test3;
|
|
1177
|
+
function registryAddresses() {
|
|
1178
|
+
return { [chain]: { ...factoryAddresses, mailbox: mailboxAddress } };
|
|
1179
|
+
}
|
|
1180
|
+
async function enrollmentTxs(allTargets) {
|
|
1181
|
+
return buildDelayedFlowEnrollmentTxs({
|
|
1182
|
+
chain,
|
|
1183
|
+
multiProvider,
|
|
1184
|
+
registryAddresses: registryAddresses(),
|
|
1185
|
+
warpRouter: warpRouterAddress,
|
|
1186
|
+
target: allTargets[chain],
|
|
1187
|
+
allTargets,
|
|
1188
|
+
});
|
|
1189
|
+
}
|
|
1190
|
+
async function applyTxs(txs) {
|
|
1191
|
+
for (const tx of txs) {
|
|
1192
|
+
await multiProvider.sendTransaction(chain, tx);
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
it('enrolls the pairing derived from the route and converges on re-run', async () => {
|
|
1196
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1197
|
+
const delayedConfig = {
|
|
1198
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1199
|
+
warpRouter: warpRouterAddress,
|
|
1200
|
+
thresholdBps: 10000,
|
|
1201
|
+
maxDelay: 3600,
|
|
1202
|
+
duration: 86400n,
|
|
1203
|
+
owner: signerAddress,
|
|
1204
|
+
};
|
|
1205
|
+
const { ism } = await createIsm(hybridAgg(delayedConfig));
|
|
1206
|
+
const remoteIsmAddress = randomAddress();
|
|
1207
|
+
const allTargets = {
|
|
1208
|
+
[chain]: {
|
|
1209
|
+
ismAddress: await hybridLeaf(ism),
|
|
1210
|
+
userNode: delayedConfig,
|
|
1211
|
+
},
|
|
1212
|
+
[remoteChain]: {
|
|
1213
|
+
ismAddress: remoteIsmAddress,
|
|
1214
|
+
userNode: delayedConfig,
|
|
1215
|
+
},
|
|
1216
|
+
};
|
|
1217
|
+
const txs = await enrollmentTxs(allTargets);
|
|
1218
|
+
expect(txs.length).to.equal(1);
|
|
1219
|
+
await applyTxs(txs);
|
|
1220
|
+
expect((await enrollmentTxs(allTargets)).length).to.equal(0);
|
|
1221
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
1222
|
+
expect(await delayedIsm.domains()).to.deep.equal([
|
|
1223
|
+
multiProvider.getDomainId(remoteChain),
|
|
1224
|
+
]);
|
|
1225
|
+
// keep testConfig (same reference) in sync for the afterEach read-back
|
|
1226
|
+
delayedConfig.remoteIsms = {
|
|
1227
|
+
[remoteChain]: addressToBytes32(remoteIsmAddress).toLowerCase(),
|
|
1228
|
+
};
|
|
1229
|
+
});
|
|
1230
|
+
it('enrolls a configured external remoteIsms alongside the derived pairing and converges on re-run', async () => {
|
|
1231
|
+
const signerAddress = await multiProvider.getSignerAddress(chain);
|
|
1232
|
+
const delayedConfig = {
|
|
1233
|
+
type: IsmType.DELAYED_FLOW_ROUTER,
|
|
1234
|
+
warpRouter: warpRouterAddress,
|
|
1235
|
+
thresholdBps: 10000,
|
|
1236
|
+
maxDelay: 3600,
|
|
1237
|
+
duration: 86400n,
|
|
1238
|
+
owner: signerAddress,
|
|
1239
|
+
remoteIsms: {},
|
|
1240
|
+
};
|
|
1241
|
+
const { ism } = await createIsm(hybridAgg(delayedConfig));
|
|
1242
|
+
// An operator-authored pairing names a chain the route never derives.
|
|
1243
|
+
// It is retained alongside the route-managed counterpart.
|
|
1244
|
+
const manualRouter = addressToBytes32(randomAddress()).toLowerCase();
|
|
1245
|
+
delayedConfig.remoteIsms = { [manualChain]: manualRouter };
|
|
1246
|
+
const derivedRouterAddress = randomAddress();
|
|
1247
|
+
const derivedRouter = addressToBytes32(derivedRouterAddress).toLowerCase();
|
|
1248
|
+
const allTargets = {
|
|
1249
|
+
[chain]: {
|
|
1250
|
+
ismAddress: await hybridLeaf(ism),
|
|
1251
|
+
userNode: delayedConfig,
|
|
1252
|
+
},
|
|
1253
|
+
[remoteChain]: {
|
|
1254
|
+
ismAddress: derivedRouterAddress,
|
|
1255
|
+
userNode: delayedConfig,
|
|
1256
|
+
},
|
|
1257
|
+
};
|
|
1258
|
+
const txs = await enrollmentTxs(allTargets);
|
|
1259
|
+
expect(txs.length).to.equal(1);
|
|
1260
|
+
await applyTxs(txs);
|
|
1261
|
+
expect((await enrollmentTxs(allTargets)).length).to.equal(0);
|
|
1262
|
+
const delayedIsm = DelayedFlowRouterHookIsm__factory.connect(await hybridLeaf(ism), multiProvider.getProvider(chain));
|
|
1263
|
+
const manualDomain = multiProvider.getDomainId(manualChain);
|
|
1264
|
+
const derivedDomain = multiProvider.getDomainId(remoteChain);
|
|
1265
|
+
expect(await delayedIsm.domains()).to.have.members([
|
|
1266
|
+
manualDomain,
|
|
1267
|
+
derivedDomain,
|
|
1268
|
+
]);
|
|
1269
|
+
expect(await delayedIsm.routers(manualDomain)).to.equal(manualRouter);
|
|
1270
|
+
expect(await delayedIsm.routers(derivedDomain)).to.equal(derivedRouter);
|
|
1271
|
+
// keep testConfig (same reference) in sync for the afterEach read-back
|
|
1272
|
+
delayedConfig.remoteIsms = {
|
|
1273
|
+
[manualChain]: manualRouter,
|
|
1274
|
+
[remoteChain]: derivedRouter,
|
|
1275
|
+
};
|
|
1276
|
+
});
|
|
1277
|
+
});
|
|
1278
|
+
});
|
|
1279
|
+
//# sourceMappingURL=EvmIsmModule.hardhat-test.js.map
|