@hyperlane-xyz/sdk 3.9.0 → 3.11.0-beta-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -3
- package/dist/app/HyperlaneApp.d.ts +6 -7
- package/dist/app/HyperlaneApp.d.ts.map +1 -1
- package/dist/app/HyperlaneApp.js +10 -15
- package/dist/app/HyperlaneApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.d.ts +10 -11
- package/dist/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +25 -43
- package/dist/app/MultiProtocolApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.test.js +15 -17
- package/dist/app/MultiProtocolApp.test.js.map +1 -1
- package/dist/consts/bytecode.d.ts +8 -8
- package/dist/consts/bytecode.d.ts.map +1 -1
- package/dist/consts/bytecode.js +2 -5
- package/dist/consts/bytecode.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +2 -3
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +198 -234
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +0 -1
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +12 -17
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +292 -244
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +5 -11
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +287 -244
- package/dist/consts/environments/testnet.json +49 -47
- package/dist/consts/igp.js +1 -4
- package/dist/consts/igp.js.map +1 -1
- package/dist/consts/mailbox.js +1 -4
- package/dist/consts/mailbox.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts +2 -2
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +43 -54
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/sealevel.js +1 -4
- package/dist/consts/sealevel.js.map +1 -1
- package/dist/contracts/contracts.d.ts +4 -4
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +33 -48
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/contracts/types.d.ts +1 -1
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js +1 -2
- package/dist/core/CoreDeployer.hardhat-test.js +43 -48
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +9 -9
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +31 -38
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +6 -8
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts +6 -6
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +25 -28
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +12 -12
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +26 -27
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +9 -10
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js +18 -23
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +30 -32
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +3 -3
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +9 -13
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +5 -5
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +7 -11
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/TestRecipientDeployer.d.ts +5 -5
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
- package/dist/core/TestRecipientDeployer.js +11 -18
- package/dist/core/TestRecipientDeployer.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +6 -6
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.js +12 -13
- package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js +11 -13
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +4 -4
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.js +5 -6
- package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.d.ts +6 -6
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.js +12 -12
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +5 -5
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js +14 -15
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.test.js +5 -7
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
- package/dist/core/adapters/types.d.ts +3 -3
- package/dist/core/adapters/types.d.ts.map +1 -1
- package/dist/core/adapters/types.js +1 -2
- package/dist/core/contracts.d.ts +1 -1
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +5 -8
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/events.d.ts +1 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/events.js +1 -2
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +29 -31
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +6 -6
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +4 -7
- package/dist/core/types.js.map +1 -1
- package/dist/cw-types/Cw20Base.types.js +1 -2
- package/dist/cw-types/Cw20Base.types.js.map +1 -1
- package/dist/cw-types/HookAggregate.types.js +1 -2
- package/dist/cw-types/HookAggregate.types.js.map +1 -1
- package/dist/cw-types/HookMerkle.types.js +1 -2
- package/dist/cw-types/HookMerkle.types.js.map +1 -1
- package/dist/cw-types/HookPausable.types.js +1 -2
- package/dist/cw-types/HookPausable.types.js.map +1 -1
- package/dist/cw-types/HookRouting.types.js +1 -2
- package/dist/cw-types/HookRouting.types.js.map +1 -1
- package/dist/cw-types/HookRoutingCustom.types.js +1 -2
- package/dist/cw-types/HookRoutingCustom.types.js.map +1 -1
- package/dist/cw-types/HookRoutingFallback.types.js +1 -2
- package/dist/cw-types/HookRoutingFallback.types.js.map +1 -1
- package/dist/cw-types/Igp.types.js +1 -2
- package/dist/cw-types/Igp.types.js.map +1 -1
- package/dist/cw-types/IgpOracle.types.js +1 -2
- package/dist/cw-types/IgpOracle.types.js.map +1 -1
- package/dist/cw-types/IsmAggregate.types.js +1 -2
- package/dist/cw-types/IsmAggregate.types.js.map +1 -1
- package/dist/cw-types/IsmMultisig.types.js +1 -2
- package/dist/cw-types/IsmMultisig.types.js.map +1 -1
- package/dist/cw-types/IsmRouting.types.js +1 -2
- package/dist/cw-types/IsmRouting.types.js.map +1 -1
- package/dist/cw-types/Mailbox.types.js +1 -2
- package/dist/cw-types/Mailbox.types.js.map +1 -1
- package/dist/cw-types/ValidatorAnnounce.types.js +1 -2
- package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -1
- package/dist/cw-types/WarpCw20.types.js +1 -2
- package/dist/cw-types/WarpCw20.types.js.map +1 -1
- package/dist/cw-types/WarpNative.types.js +1 -2
- package/dist/cw-types/WarpNative.types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +6 -6
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +39 -36
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +34 -16
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +112 -79
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +6 -6
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +7 -14
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/contracts.js +8 -11
- package/dist/deploy/contracts.js.map +1 -1
- package/dist/deploy/proxy.js +9 -16
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/types.d.ts +6 -2
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +16 -7
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +8 -7
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +52 -56
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +6 -7
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +14 -14
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.js +7 -10
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/deploy/verify/utils.d.ts +1 -1
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +4 -11
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts +6 -6
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +9 -13
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +4 -4
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +20 -24
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -7
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +16 -25
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +4 -4
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.js +11 -12
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
- package/dist/gas/adapters/serialization.js +33 -19
- package/dist/gas/adapters/serialization.js.map +1 -1
- package/dist/gas/contracts.js +5 -8
- package/dist/gas/contracts.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +14 -15
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
- package/dist/gas/oracle/types.js +9 -14
- package/dist/gas/oracle/types.js.map +1 -1
- package/dist/gas/token-prices.d.ts +2 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +17 -17
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +10 -12
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/gas/types.d.ts +4 -4
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +2 -5
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +16 -16
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +52 -55
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.js +11 -14
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/types.d.ts +3 -3
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +2 -5
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +106 -105
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +97 -320
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +13 -13
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +77 -79
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +62 -67
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +5 -5
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js +9 -10
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -1
- package/dist/ism/multisig.d.ts +2 -2
- package/dist/ism/multisig.d.ts.map +1 -1
- package/dist/ism/multisig.js +9 -14
- package/dist/ism/multisig.js.map +1 -1
- package/dist/ism/types.d.ts +3 -3
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +5 -9
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts +5 -5
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +77 -82
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +5 -5
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +22 -22
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +95 -95
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +100 -104
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +12 -14
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/blockExplorer.d.ts +1 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +12 -20
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/chainMetadata.test.js +22 -24
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +71 -79
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/customZodTypes.js +6 -9
- package/dist/metadata/customZodTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.js +8 -11
- package/dist/metadata/deploymentArtifacts.js.map +1 -1
- package/dist/metadata/health.d.ts +2 -2
- package/dist/metadata/health.d.ts.map +1 -1
- package/dist/metadata/health.js +44 -52
- package/dist/metadata/health.js.map +1 -1
- package/dist/metadata/matchingList.js +9 -12
- package/dist/metadata/matchingList.js.map +1 -1
- package/dist/metadata/warpRouteConfig.d.ts +2 -2
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
- package/dist/metadata/warpRouteConfig.js +18 -21
- package/dist/metadata/warpRouteConfig.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +15 -5
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +71 -13
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.d.ts +6 -6
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +4 -8
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -11
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +16 -12
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +44 -30
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.js +6 -9
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/account/types.d.ts +10 -0
- package/dist/middleware/account/types.d.ts.map +1 -0
- package/dist/middleware/account/types.js +2 -0
- package/dist/middleware/account/types.js.map +1 -0
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +6 -6
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +23 -24
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +14 -12
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +32 -28
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.js +7 -10
- package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +36 -38
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +5 -5
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +7 -11
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/InterchainQueryChecker.d.ts +4 -4
- package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryChecker.js +2 -6
- package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +13 -9
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +16 -12
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/contracts.js +5 -8
- package/dist/middleware/query/contracts.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +32 -34
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +10 -10
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +37 -35
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.test.js +12 -14
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +7 -7
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +27 -23
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.js +8 -11
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +3 -4
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +19 -25
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +3 -4
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +32 -38
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
- package/dist/providers/SmartProvider/ProviderMethods.js +5 -9
- package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts +7 -7
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +22 -24
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +45 -45
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +45 -47
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
- package/dist/providers/SmartProvider/types.d.ts +1 -1
- package/dist/providers/SmartProvider/types.d.ts.map +1 -1
- package/dist/providers/SmartProvider/types.js +2 -5
- package/dist/providers/SmartProvider/types.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +3 -3
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +38 -48
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.d.ts +2 -2
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
- package/dist/providers/transactionFeeEstimators.js +40 -50
- package/dist/providers/transactionFeeEstimators.js.map +1 -1
- package/dist/router/GasRouterDeployer.d.ts +5 -5
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +4 -8
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +7 -7
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +22 -25
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +4 -4
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +14 -18
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.d.ts +4 -5
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -1
- package/dist/router/MultiProtocolRouterApps.js +14 -19
- package/dist/router/MultiProtocolRouterApps.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.test.js +13 -15
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/router/ProxiedRouterChecker.d.ts +4 -4
- package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
- package/dist/router/ProxiedRouterChecker.js +2 -6
- package/dist/router/ProxiedRouterChecker.js.map +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts +28 -9
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +13 -19
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts +6 -7
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +8 -12
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +4 -4
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.js +11 -13
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +4 -4
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.js +6 -8
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
- package/dist/router/adapters/types.d.ts +2 -2
- package/dist/router/adapters/types.d.ts.map +1 -1
- package/dist/router/adapters/types.js +1 -2
- package/dist/router/types.d.ts +4 -4
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +8 -11
- package/dist/router/types.js.map +1 -1
- package/dist/test/metadata-check.js +17 -20
- package/dist/test/metadata-check.js.map +1 -1
- package/dist/test/testUtils.d.ts +8 -8
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +29 -34
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/IToken.d.ts +21 -21
- package/dist/token/IToken.d.ts.map +1 -1
- package/dist/token/IToken.js +18 -21
- package/dist/token/IToken.js.map +1 -1
- package/dist/token/Token.d.ts +7 -7
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +77 -80
- package/dist/token/Token.js.map +1 -1
- package/dist/token/Token.test.js +68 -70
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenAmount.d.ts +1 -1
- package/dist/token/TokenAmount.d.ts.map +1 -1
- package/dist/token/TokenAmount.js +5 -7
- package/dist/token/TokenAmount.js.map +1 -1
- package/dist/token/TokenAmount.test.js +22 -24
- package/dist/token/TokenAmount.test.js.map +1 -1
- package/dist/token/TokenConnection.d.ts +2 -2
- package/dist/token/TokenConnection.d.ts.map +1 -1
- package/dist/token/TokenConnection.js +26 -31
- package/dist/token/TokenConnection.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +2 -2
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +54 -57
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +9 -9
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js +28 -19
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js +39 -47
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +6 -6
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js +22 -19
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +6 -6
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +32 -26
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/ITokenAdapter.js +1 -2
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +7 -7
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +68 -61
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/adapters/serialization.d.ts +1 -1
- package/dist/token/adapters/serialization.d.ts.map +1 -1
- package/dist/token/adapters/serialization.js +58 -28
- package/dist/token/adapters/serialization.js.map +1 -1
- package/dist/token/config.d.ts +2 -1
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +10 -19
- package/dist/token/config.js.map +1 -1
- package/dist/token/contracts.d.ts +21 -0
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +33 -18
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +26 -19
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +16 -18
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +142 -112
- package/dist/token/deploy.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/utils/MultiGeneric.d.ts +1 -1
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +4 -7
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/fetch.js +3 -10
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/filter.d.ts +1 -1
- package/dist/utils/filter.d.ts.map +1 -1
- package/dist/utils/filter.js +1 -5
- package/dist/utils/filter.js.map +1 -1
- package/dist/utils/ism.js +5 -12
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/sealevelSerialization.js +10 -9
- package/dist/utils/sealevelSerialization.js.map +1 -1
- package/dist/utils/wagmi.d.ts +2 -2
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +7 -11
- package/dist/utils/wagmi.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +10 -10
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +53 -51
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +67 -73
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/dist/warp/types.d.ts +29 -29
- package/dist/warp/types.d.ts.map +1 -1
- package/dist/warp/types.js +17 -20
- package/dist/warp/types.js.map +1 -1
- package/package.json +22 -14
- package/dist/logger.d.ts +0 -3
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -11
- package/dist/logger.js.map +0 -1
package/dist/ism/utils.js
CHANGED
|
@@ -1,46 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const ethers_1 = require("ethers");
|
|
9
|
-
const core_1 = require("@hyperlane-xyz/core");
|
|
10
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
11
|
-
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
12
|
-
const types_1 = require("./types");
|
|
13
|
-
const logger = (0, debug_1.default)('hyperlane:IsmUtils');
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { DomainRoutingIsm__factory, IAggregationIsm__factory, IInterchainSecurityModule__factory, IMultisigIsm__factory, IRoutingIsm__factory, MailboxClient__factory, OPStackIsm__factory, PausableIsm__factory, StaticAggregationIsm__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { eqAddress, formatMessage, normalizeAddress, objMap, rootLogger, } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { chainMetadata } from '../consts/chainMetadata.js';
|
|
5
|
+
import { resolveOrDeployAccountOwner } from '../deploy/types.js';
|
|
6
|
+
import { IsmType, ModuleType, ismTypeToModuleType, } from './types.js';
|
|
7
|
+
const logger = rootLogger.child({ module: 'IsmUtils' });
|
|
14
8
|
// Note that this function may return false negatives, but should
|
|
15
9
|
// not return false positives.
|
|
16
10
|
// This can happen if, for example, the module has sender, recipient, or
|
|
17
11
|
// body specific logic, as the sample message used when querying the ISM
|
|
18
12
|
// sets all of these to zero.
|
|
19
|
-
async function moduleCanCertainlyVerify(destModule, multiProvider, origin, destination) {
|
|
13
|
+
export async function moduleCanCertainlyVerify(destModule, multiProvider, origin, destination) {
|
|
20
14
|
const originDomainId = multiProvider.tryGetDomainId(origin);
|
|
21
15
|
const destinationDomainId = multiProvider.tryGetDomainId(destination);
|
|
22
16
|
if (!originDomainId || !destinationDomainId) {
|
|
23
17
|
return false;
|
|
24
18
|
}
|
|
25
|
-
const message =
|
|
19
|
+
const message = formatMessage(0, 0, originDomainId, ethers.constants.AddressZero, destinationDomainId, ethers.constants.AddressZero, '0x');
|
|
26
20
|
const provider = multiProvider.getSignerOrProvider(destination);
|
|
27
21
|
if (typeof destModule === 'string') {
|
|
28
|
-
const module =
|
|
22
|
+
const module = IInterchainSecurityModule__factory.connect(destModule, provider);
|
|
29
23
|
try {
|
|
30
24
|
const moduleType = await module.moduleType();
|
|
31
|
-
if (moduleType ===
|
|
32
|
-
moduleType ===
|
|
33
|
-
const multisigModule =
|
|
25
|
+
if (moduleType === ModuleType.MERKLE_ROOT_MULTISIG ||
|
|
26
|
+
moduleType === ModuleType.MESSAGE_ID_MULTISIG) {
|
|
27
|
+
const multisigModule = IMultisigIsm__factory.connect(destModule, provider);
|
|
34
28
|
const [, threshold] = await multisigModule.validatorsAndThreshold(message);
|
|
35
29
|
return threshold > 0;
|
|
36
30
|
}
|
|
37
|
-
else if (moduleType ===
|
|
38
|
-
const routingIsm =
|
|
31
|
+
else if (moduleType === ModuleType.ROUTING) {
|
|
32
|
+
const routingIsm = IRoutingIsm__factory.connect(destModule, provider);
|
|
39
33
|
const subModule = await routingIsm.route(message);
|
|
40
34
|
return moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
|
|
41
35
|
}
|
|
42
|
-
else if (moduleType ===
|
|
43
|
-
const aggregationIsm =
|
|
36
|
+
else if (moduleType === ModuleType.AGGREGATION) {
|
|
37
|
+
const aggregationIsm = IAggregationIsm__factory.connect(destModule, provider);
|
|
44
38
|
const [subModules, threshold] = await aggregationIsm.modulesAndThreshold(message);
|
|
45
39
|
let verified = 0;
|
|
46
40
|
for (const subModule of subModules) {
|
|
@@ -55,22 +49,22 @@ async function moduleCanCertainlyVerify(destModule, multiProvider, origin, desti
|
|
|
55
49
|
throw new Error(`Unsupported module type: ${moduleType}`);
|
|
56
50
|
}
|
|
57
51
|
}
|
|
58
|
-
catch (
|
|
59
|
-
logger(`Error checking module ${destModule}
|
|
52
|
+
catch (err) {
|
|
53
|
+
logger.error(`Error checking module ${destModule}`, err);
|
|
60
54
|
return false;
|
|
61
55
|
}
|
|
62
56
|
}
|
|
63
57
|
else {
|
|
64
58
|
// destModule is an IsmConfig
|
|
65
59
|
switch (destModule.type) {
|
|
66
|
-
case
|
|
67
|
-
case
|
|
60
|
+
case IsmType.MERKLE_ROOT_MULTISIG:
|
|
61
|
+
case IsmType.MESSAGE_ID_MULTISIG:
|
|
68
62
|
return destModule.threshold > 0;
|
|
69
|
-
case
|
|
63
|
+
case IsmType.ROUTING: {
|
|
70
64
|
const checking = moduleCanCertainlyVerify(destModule.domains[destination], multiProvider, origin, destination);
|
|
71
65
|
return checking;
|
|
72
66
|
}
|
|
73
|
-
case
|
|
67
|
+
case IsmType.AGGREGATION: {
|
|
74
68
|
let verified = 0;
|
|
75
69
|
for (const subModule of destModule.modules) {
|
|
76
70
|
const canVerify = await moduleCanCertainlyVerify(subModule, multiProvider, origin, destination);
|
|
@@ -80,9 +74,9 @@ async function moduleCanCertainlyVerify(destModule, multiProvider, origin, desti
|
|
|
80
74
|
}
|
|
81
75
|
return verified >= destModule.threshold;
|
|
82
76
|
}
|
|
83
|
-
case
|
|
84
|
-
return destModule.nativeBridge !==
|
|
85
|
-
case
|
|
77
|
+
case IsmType.OP_STACK:
|
|
78
|
+
return destModule.nativeBridge !== ethers.constants.AddressZero;
|
|
79
|
+
case IsmType.TEST_ISM: {
|
|
86
80
|
return true;
|
|
87
81
|
}
|
|
88
82
|
default:
|
|
@@ -90,53 +84,53 @@ async function moduleCanCertainlyVerify(destModule, multiProvider, origin, desti
|
|
|
90
84
|
}
|
|
91
85
|
}
|
|
92
86
|
}
|
|
93
|
-
|
|
94
|
-
async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, mailbox) {
|
|
87
|
+
export async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider, contracts, mailbox) {
|
|
95
88
|
if (typeof config === 'string') {
|
|
96
|
-
return
|
|
89
|
+
return eqAddress(moduleAddress, config);
|
|
97
90
|
}
|
|
98
91
|
// If the module address is zero, it can't match any object-based config.
|
|
99
92
|
// The subsequent check of what moduleType it is will throw, so we fail here.
|
|
100
|
-
if (
|
|
93
|
+
if (eqAddress(moduleAddress, ethers.constants.AddressZero)) {
|
|
101
94
|
return false;
|
|
102
95
|
}
|
|
103
96
|
const provider = multiProvider.getProvider(chain);
|
|
104
|
-
const module =
|
|
97
|
+
const module = IInterchainSecurityModule__factory.connect(moduleAddress, provider);
|
|
105
98
|
const actualType = await module.moduleType();
|
|
106
|
-
if (actualType !==
|
|
99
|
+
if (actualType !== ismTypeToModuleType(config.type))
|
|
107
100
|
return false;
|
|
108
101
|
let matches = true;
|
|
109
102
|
switch (config.type) {
|
|
110
|
-
case
|
|
103
|
+
case IsmType.MERKLE_ROOT_MULTISIG: {
|
|
111
104
|
// A MerkleRootMultisigIsm matches if validators and threshold match the config
|
|
112
105
|
const expectedAddress = await contracts.staticMerkleRootMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
|
|
113
|
-
matches =
|
|
106
|
+
matches = eqAddress(expectedAddress, module.address);
|
|
114
107
|
break;
|
|
115
108
|
}
|
|
116
|
-
case
|
|
109
|
+
case IsmType.MESSAGE_ID_MULTISIG: {
|
|
117
110
|
// A MessageIdMultisigIsm matches if validators and threshold match the config
|
|
118
111
|
const expectedAddress = await contracts.staticMessageIdMultisigIsmFactory.getAddress(config.validators.sort(), config.threshold);
|
|
119
|
-
matches =
|
|
112
|
+
matches = eqAddress(expectedAddress, module.address);
|
|
120
113
|
break;
|
|
121
114
|
}
|
|
122
|
-
case
|
|
123
|
-
case
|
|
115
|
+
case IsmType.FALLBACK_ROUTING:
|
|
116
|
+
case IsmType.ROUTING: {
|
|
124
117
|
// A RoutingIsm matches if:
|
|
125
118
|
// 1. The set of domains in the config equals those on-chain
|
|
126
119
|
// 2. The modules for each domain match the config
|
|
127
120
|
// TODO: Check (1)
|
|
128
|
-
const routingIsm =
|
|
121
|
+
const routingIsm = DomainRoutingIsm__factory.connect(moduleAddress, provider);
|
|
129
122
|
// Check that the RoutingISM owner matches the config
|
|
130
123
|
const owner = await routingIsm.owner();
|
|
131
|
-
|
|
124
|
+
const expectedOwner = await resolveOrDeployAccountOwner(multiProvider, chain, config.owner);
|
|
125
|
+
matches &&= eqAddress(owner, expectedOwner);
|
|
132
126
|
// check if the mailbox matches the config for fallback routing
|
|
133
|
-
if (config.type ===
|
|
134
|
-
const client =
|
|
127
|
+
if (config.type === IsmType.FALLBACK_ROUTING) {
|
|
128
|
+
const client = MailboxClient__factory.connect(moduleAddress, provider);
|
|
135
129
|
const mailboxAddress = await client.mailbox();
|
|
136
130
|
matches =
|
|
137
131
|
matches &&
|
|
138
132
|
mailbox !== undefined &&
|
|
139
|
-
|
|
133
|
+
eqAddress(mailboxAddress, mailbox);
|
|
140
134
|
}
|
|
141
135
|
const delta = await routingModuleDelta(chain, moduleAddress, config, multiProvider, contracts, mailbox);
|
|
142
136
|
matches =
|
|
@@ -147,49 +141,50 @@ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider,
|
|
|
147
141
|
!delta.owner;
|
|
148
142
|
break;
|
|
149
143
|
}
|
|
150
|
-
case
|
|
144
|
+
case IsmType.AGGREGATION: {
|
|
151
145
|
// An AggregationIsm matches if:
|
|
152
146
|
// 1. The threshold matches the config
|
|
153
147
|
// 2. There is a bijection between on and off-chain configured modules
|
|
154
|
-
const aggregationIsm =
|
|
148
|
+
const aggregationIsm = StaticAggregationIsm__factory.connect(moduleAddress, provider);
|
|
155
149
|
const [subModules, threshold] = await aggregationIsm.modulesAndThreshold('0x');
|
|
156
|
-
matches
|
|
157
|
-
matches
|
|
150
|
+
matches &&= threshold === config.threshold;
|
|
151
|
+
matches &&= subModules.length === config.modules.length;
|
|
158
152
|
const configIndexMatched = new Map();
|
|
159
153
|
for (const subModule of subModules) {
|
|
160
154
|
const subModuleMatchesConfig = await Promise.all(config.modules.map((c) => moduleMatchesConfig(chain, subModule, c, multiProvider, contracts)));
|
|
161
155
|
// The submodule returned by the ISM must match exactly one
|
|
162
156
|
// entry in the config.
|
|
163
157
|
const count = subModuleMatchesConfig.filter(Boolean).length;
|
|
164
|
-
matches
|
|
158
|
+
matches &&= count === 1;
|
|
165
159
|
// That entry in the config should not have been matched already.
|
|
166
160
|
subModuleMatchesConfig.forEach((matched, index) => {
|
|
167
161
|
if (matched) {
|
|
168
|
-
matches
|
|
162
|
+
matches &&= !configIndexMatched.has(index);
|
|
169
163
|
configIndexMatched.set(index, true);
|
|
170
164
|
}
|
|
171
165
|
});
|
|
172
166
|
}
|
|
173
167
|
break;
|
|
174
168
|
}
|
|
175
|
-
case
|
|
176
|
-
const opStackIsm =
|
|
169
|
+
case IsmType.OP_STACK: {
|
|
170
|
+
const opStackIsm = OPStackIsm__factory.connect(moduleAddress, provider);
|
|
177
171
|
const type = await opStackIsm.moduleType();
|
|
178
|
-
matches
|
|
172
|
+
matches &&= type === ModuleType.NULL;
|
|
179
173
|
break;
|
|
180
174
|
}
|
|
181
|
-
case
|
|
175
|
+
case IsmType.TEST_ISM: {
|
|
182
176
|
// This is just a TestISM
|
|
183
177
|
matches = true;
|
|
184
178
|
break;
|
|
185
179
|
}
|
|
186
|
-
case
|
|
187
|
-
const pausableIsm =
|
|
180
|
+
case IsmType.PAUSABLE: {
|
|
181
|
+
const pausableIsm = PausableIsm__factory.connect(moduleAddress, provider);
|
|
188
182
|
const owner = await pausableIsm.owner();
|
|
189
|
-
|
|
183
|
+
const expectedOwner = await resolveOrDeployAccountOwner(multiProvider, chain, config.owner);
|
|
184
|
+
matches &&= eqAddress(owner, expectedOwner);
|
|
190
185
|
if (config.paused) {
|
|
191
186
|
const isPaused = await pausableIsm.paused();
|
|
192
|
-
matches
|
|
187
|
+
matches &&= config.paused === isPaused;
|
|
193
188
|
}
|
|
194
189
|
break;
|
|
195
190
|
}
|
|
@@ -199,26 +194,26 @@ async function moduleMatchesConfig(chain, moduleAddress, config, multiProvider,
|
|
|
199
194
|
}
|
|
200
195
|
return matches;
|
|
201
196
|
}
|
|
202
|
-
|
|
203
|
-
async function routingModuleDelta(destination, moduleAddress, config, multiProvider, contracts, mailbox) {
|
|
197
|
+
export async function routingModuleDelta(destination, moduleAddress, config, multiProvider, contracts, mailbox) {
|
|
204
198
|
const provider = multiProvider.getProvider(destination);
|
|
205
|
-
const routingIsm =
|
|
199
|
+
const routingIsm = DomainRoutingIsm__factory.connect(moduleAddress, provider);
|
|
206
200
|
const owner = await routingIsm.owner();
|
|
207
201
|
const deployedDomains = (await routingIsm.domains()).map((domain) => domain.toNumber());
|
|
208
202
|
// config.domains is already filtered to only include domains in the multiprovider
|
|
209
|
-
const safeConfigDomains =
|
|
203
|
+
const safeConfigDomains = objMap(config.domains, (chainName) => chainMetadata[chainName]?.domainId ??
|
|
210
204
|
multiProvider.getDomainId(chainName));
|
|
211
205
|
const delta = {
|
|
212
206
|
domainsToUnenroll: [],
|
|
213
207
|
domainsToEnroll: [],
|
|
214
208
|
};
|
|
215
209
|
// if owners don't match, we need to transfer ownership
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
210
|
+
const expectedOwner = await resolveOrDeployAccountOwner(multiProvider, destination, config.owner);
|
|
211
|
+
if (!eqAddress(owner, normalizeAddress(expectedOwner)))
|
|
212
|
+
delta.owner = expectedOwner;
|
|
213
|
+
if (config.type === IsmType.FALLBACK_ROUTING) {
|
|
214
|
+
const client = MailboxClient__factory.connect(moduleAddress, provider);
|
|
220
215
|
const mailboxAddress = await client.mailbox();
|
|
221
|
-
if (mailbox && !
|
|
216
|
+
if (mailbox && !eqAddress(mailboxAddress, mailbox))
|
|
222
217
|
delta.mailbox = mailbox;
|
|
223
218
|
}
|
|
224
219
|
// check for exclusion of domains in the config
|
|
@@ -240,32 +235,33 @@ async function routingModuleDelta(destination, moduleAddress, config, multiProvi
|
|
|
240
235
|
}
|
|
241
236
|
return delta;
|
|
242
237
|
}
|
|
243
|
-
|
|
244
|
-
function collectValidators(origin, config) {
|
|
238
|
+
export function collectValidators(origin, config) {
|
|
245
239
|
// TODO: support address configurations in collectValidators
|
|
246
240
|
if (typeof config === 'string') {
|
|
247
|
-
logger
|
|
241
|
+
logger
|
|
242
|
+
.child({ origin })
|
|
243
|
+
.debug('Address config unimplemented in collectValidators');
|
|
248
244
|
return new Set([]);
|
|
249
245
|
}
|
|
250
246
|
let validators = [];
|
|
251
|
-
if (config.type ===
|
|
252
|
-
config.type ===
|
|
247
|
+
if (config.type === IsmType.MERKLE_ROOT_MULTISIG ||
|
|
248
|
+
config.type === IsmType.MESSAGE_ID_MULTISIG) {
|
|
253
249
|
validators = config.validators;
|
|
254
250
|
}
|
|
255
|
-
else if (config.type ===
|
|
251
|
+
else if (config.type === IsmType.ROUTING) {
|
|
256
252
|
if (Object.keys(config.domains).includes(origin)) {
|
|
257
253
|
const domainValidators = collectValidators(origin, config.domains[origin]);
|
|
258
254
|
validators = [...domainValidators];
|
|
259
255
|
}
|
|
260
256
|
}
|
|
261
|
-
else if (config.type ===
|
|
257
|
+
else if (config.type === IsmType.AGGREGATION) {
|
|
262
258
|
const aggregatedValidators = config.modules.map((c) => collectValidators(origin, c));
|
|
263
259
|
aggregatedValidators.forEach((set) => {
|
|
264
260
|
validators = validators.concat([...set]);
|
|
265
261
|
});
|
|
266
262
|
}
|
|
267
|
-
else if (config.type ===
|
|
268
|
-
config.type ===
|
|
263
|
+
else if (config.type === IsmType.TEST_ISM ||
|
|
264
|
+
config.type === IsmType.PAUSABLE) {
|
|
269
265
|
return new Set([]);
|
|
270
266
|
}
|
|
271
267
|
else {
|
|
@@ -273,5 +269,4 @@ function collectValidators(origin, config) {
|
|
|
273
269
|
}
|
|
274
270
|
return new Set(validators);
|
|
275
271
|
}
|
|
276
|
-
exports.collectValidators = collectValidators;
|
|
277
272
|
//# sourceMappingURL=utils.js.map
|
package/dist/ism/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ism/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,kCAAkC,EAClC,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAIjE,OAAO,EAEL,OAAO,EACP,UAAU,EAGV,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAExD,iEAAiE;AACjE,8BAA8B;AAC9B,wEAAwE;AACxE,wEAAwE;AACxE,6BAA6B;AAC7B,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,UAA+B,EAC/B,aAA4B,EAC5B,MAAiB,EACjB,WAAsB;IAEtB,MAAM,cAAc,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,mBAAmB,GAAG,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtE,IAAI,CAAC,cAAc,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAC3B,CAAC,EACD,CAAC,EACD,cAAc,EACd,MAAM,CAAC,SAAS,CAAC,WAAW,EAC5B,mBAAmB,EACnB,MAAM,CAAC,SAAS,CAAC,WAAW,EAC5B,IAAI,CACL,CAAC;IACF,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAEhE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,kCAAkC,CAAC,OAAO,CACvD,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7C,IACE,UAAU,KAAK,UAAU,CAAC,oBAAoB;gBAC9C,UAAU,KAAK,UAAU,CAAC,mBAAmB,EAC7C,CAAC;gBACD,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAClD,UAAU,EACV,QAAQ,CACT,CAAC;gBAEF,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,cAAc,CAAC,sBAAsB,CAC/D,OAAO,CACR,CAAC;gBACF,OAAO,SAAS,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAClD,OAAO,wBAAwB,CAC7B,SAAS,EACT,aAAa,EACb,MAAM,EACN,WAAW,CACZ,CAAC;YACJ,CAAC;iBAAM,IAAI,UAAU,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,cAAc,GAAG,wBAAwB,CAAC,OAAO,CACrD,UAAU,EACV,QAAQ,CACT,CAAC;gBACF,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAC3B,MAAM,cAAc,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACpD,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,SAAS,EACT,aAAa,EACb,MAAM,EACN,WAAW,CACZ,CAAC;oBACF,IAAI,SAAS,EAAE,CAAC;wBACd,QAAQ,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,IAAI,SAAS,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6BAA6B;QAC7B,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC,oBAAoB,CAAC;YAClC,KAAK,OAAO,CAAC,mBAAmB;gBAC9B,OAAO,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;YAClC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrB,MAAM,QAAQ,GAAG,wBAAwB,CACvC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,EAC/B,aAAa,EACb,MAAM,EACN,WAAW,CACZ,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACzB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC3C,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAC9C,SAAS,EACT,aAAa,EACb,MAAM,EACN,WAAW,CACZ,CAAC;oBACF,IAAI,SAAS,EAAE,CAAC;wBACd,QAAQ,IAAI,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,IAAI,UAAU,CAAC,SAAS,CAAC;YAC1C,CAAC;YACD,KAAK,OAAO,CAAC,QAAQ;gBACnB,OAAO,UAAU,CAAC,YAAY,KAAK,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;YAClE,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,4BAA6B,UAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAgB,EAChB,aAAsB,EACtB,MAAiB,EACjB,aAA4B,EAC5B,SAAoD,EACpD,OAAiB;IAEjB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,IAAI,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,kCAAkC,CAAC,OAAO,CACvD,aAAa,EACb,QAAQ,CACT,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7C,IAAI,UAAU,KAAK,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAClC,+EAA+E;YAC/E,MAAM,eAAe,GACnB,MAAM,SAAS,CAAC,kCAAkC,CAAC,UAAU,CAC3D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EACxB,MAAM,CAAC,SAAS,CACjB,CAAC;YACJ,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACjC,8EAA8E;YAC9E,MAAM,eAAe,GACnB,MAAM,SAAS,CAAC,iCAAiC,CAAC,UAAU,CAC1D,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EACxB,MAAM,CAAC,SAAS,CACjB,CAAC;YACJ,OAAO,GAAG,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,gBAAgB,CAAC;QAC9B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YACrB,2BAA2B;YAC3B,8DAA8D;YAC9D,oDAAoD;YACpD,kBAAkB;YAClB,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAClD,aAAa,EACb,QAAQ,CACT,CAAC;YACF,qDAAqD;YACrD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,MAAM,2BAA2B,CACrD,aAAa,EACb,KAAK,EACL,MAAM,CAAC,KAAK,CACb,CAAC;YACF,OAAO,KAAK,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC5C,+DAA+D;YAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACvE,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO;wBACP,OAAO,KAAK,SAAS;wBACrB,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CACpC,KAAK,EACL,aAAa,EACb,MAAM,EACN,aAAa,EACb,SAAS,EACT,OAAO,CACR,CAAC;YACF,OAAO;gBACL,OAAO;oBACP,KAAK,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;oBAClC,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;oBACpC,CAAC,KAAK,CAAC,OAAO;oBACd,CAAC,KAAK,CAAC,KAAK,CAAC;YACf,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzB,gCAAgC;YAChC,wCAAwC;YACxC,wEAAwE;YACxE,MAAM,cAAc,GAAG,6BAA6B,CAAC,OAAO,CAC1D,aAAa,EACb,QAAQ,CACT,CAAC;YACF,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,cAAc,CAAC,mBAAmB,CACtE,IAAI,CACL,CAAC;YACF,OAAO,KAAK,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;YAC3C,OAAO,KAAK,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAExD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;YACrC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,sBAAsB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,CACnE,CACF,CAAC;gBACF,2DAA2D;gBAC3D,uBAAuB;gBACvB,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAC5D,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC;gBAExB,iEAAiE;gBACjE,sBAAsB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;oBAChD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC3C,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;YAC3C,OAAO,KAAK,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;YACrC,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,yBAAyB;YACzB,OAAO,GAAG,IAAI,CAAC;YACf,MAAM;QACR,CAAC;QACD,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,MAAM,2BAA2B,CACrD,aAAa,EACb,KAAK,EACL,MAAM,CAAC,KAAK,CACb,CAAC;YACF,OAAO,KAAK,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAE5C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5C,OAAO,KAAK,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;YACzC,CAAC;YACD,MAAM;QACR,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAsB,EACtB,aAAsB,EACtB,MAAwB,EACxB,aAA4B,EAC5B,SAAoD,EACpD,OAAiB;IAEjB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACvC,MAAM,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAClE,MAAM,CAAC,QAAQ,EAAE,CAClB,CAAC;IACF,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,MAAM,CAC9B,MAAM,CAAC,OAAO,EACd,CAAC,SAAS,EAAE,EAAE,CACZ,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ;QAClC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CACvC,CAAC;IAEF,MAAM,KAAK,GAAoB;QAC7B,iBAAiB,EAAE,EAAE;QACrB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,uDAAuD;IACvD,MAAM,aAAa,GAAG,MAAM,2BAA2B,CACrD,aAAa,EACb,WAAW,EACX,MAAM,CAAC,KAAK,CACb,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACpD,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;IAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC9E,CAAC;IACD,+CAA+C;IAC/C,KAAK,CAAC,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAC9C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC/D,CAAC;IACF,+CAA+C;IAC/C,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACjE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACxD,2DAA2D;YAC3D,uCAAuC;YACvC,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAChD,WAAW,EACX,SAAS,EACT,SAAS,EACT,aAAa,EACb,SAAS,EACT,OAAO,CACR,CAAC;YACF,IAAI,CAAC,gBAAgB;gBAAE,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,MAAiB;IAEjB,4DAA4D;IAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM;aACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;aACjB,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC9D,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,IACE,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,oBAAoB;QAC5C,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,mBAAmB,EAC3C,CAAC;QACD,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACjC,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,MAAM,EACN,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CACvB,CAAC;YACF,UAAU,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,CAC7B,CAAC;QACF,oBAAoB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,IACL,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ;QAChC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAChC,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger } from 'pino';
|
|
2
2
|
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { ChainMap, ChainName, ChainNameOrId } from '../types';
|
|
4
|
-
import { ChainMetadata, ExplorerFamily } from './chainMetadataTypes';
|
|
3
|
+
import { ChainMap, ChainName, ChainNameOrId } from '../types.js';
|
|
4
|
+
import { ChainMetadata, ExplorerFamily } from './chainMetadataTypes.js';
|
|
5
5
|
export interface ChainMetadataManagerOptions {
|
|
6
|
-
|
|
6
|
+
logger?: Logger;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* A set of utilities to manage chain metadata
|
|
@@ -12,7 +12,7 @@ export interface ChainMetadataManagerOptions {
|
|
|
12
12
|
*/
|
|
13
13
|
export declare class ChainMetadataManager<MetaExt = {}> {
|
|
14
14
|
readonly metadata: ChainMap<ChainMetadata<MetaExt>>;
|
|
15
|
-
readonly logger:
|
|
15
|
+
readonly logger: Logger;
|
|
16
16
|
/**
|
|
17
17
|
* Create a new ChainMetadataManager with the given chainMetadata,
|
|
18
18
|
* or the SDK's default metadata if not provided
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainMetadataManager.d.ts","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChainMetadataManager.d.ts","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
6
|
-
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
7
|
-
const blockExplorer_1 = require("./blockExplorer");
|
|
8
|
-
const chainMetadataTypes_1 = require("./chainMetadataTypes");
|
|
1
|
+
import { exclude, pick, rootLogger } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { chainMetadata as defaultChainMetadata } from '../consts/chainMetadata.js';
|
|
3
|
+
import { getExplorerAddressUrl, getExplorerApi, getExplorerApiUrl, getExplorerBaseUrl, getExplorerTxUrl, } from './blockExplorer.js';
|
|
4
|
+
import { getDomainId, safeParseChainMetadata, } from './chainMetadataTypes.js';
|
|
9
5
|
/**
|
|
10
6
|
* A set of utilities to manage chain metadata
|
|
11
7
|
* Validates metadata on construction and provides useful methods
|
|
12
8
|
* for interacting with the data
|
|
13
9
|
*/
|
|
14
|
-
class ChainMetadataManager {
|
|
10
|
+
export class ChainMetadataManager {
|
|
11
|
+
metadata = {};
|
|
12
|
+
logger;
|
|
15
13
|
/**
|
|
16
14
|
* Create a new ChainMetadataManager with the given chainMetadata,
|
|
17
15
|
* or the SDK's default metadata if not provided
|
|
18
16
|
*/
|
|
19
|
-
constructor(chainMetadata =
|
|
20
|
-
this.metadata = {};
|
|
17
|
+
constructor(chainMetadata = defaultChainMetadata, options = {}) {
|
|
21
18
|
Object.entries(chainMetadata).forEach(([key, cm]) => {
|
|
22
19
|
if (key !== cm.name)
|
|
23
20
|
throw new Error(`Chain name mismatch: Key was ${key}, but name is ${cm.name}`);
|
|
24
21
|
this.addChain(cm);
|
|
25
22
|
});
|
|
26
|
-
this.logger =
|
|
23
|
+
this.logger =
|
|
24
|
+
options?.logger ||
|
|
25
|
+
rootLogger.child({
|
|
26
|
+
module: 'MetadataManager',
|
|
27
|
+
});
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Add a chain to the MultiProvider
|
|
30
31
|
* @throws if chain's name or domain/chain ID collide
|
|
31
32
|
*/
|
|
32
33
|
addChain(metadata) {
|
|
33
|
-
const parseResult =
|
|
34
|
+
const parseResult = safeParseChainMetadata(metadata);
|
|
34
35
|
if (!parseResult.success) {
|
|
35
36
|
throw new Error(`Invalid chain metadata for ${metadata.name}: ${parseResult.error.format()}`);
|
|
36
37
|
}
|
|
@@ -124,7 +125,7 @@ class ChainMetadataManager {
|
|
|
124
125
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
125
126
|
if (!metadata)
|
|
126
127
|
return null;
|
|
127
|
-
return
|
|
128
|
+
return getDomainId(metadata) ?? null;
|
|
128
129
|
}
|
|
129
130
|
/**
|
|
130
131
|
* Get the domain id for a given chain name, chain id, or domain id
|
|
@@ -166,7 +167,7 @@ class ChainMetadataManager {
|
|
|
166
167
|
* Get chain names excluding given chain name
|
|
167
168
|
*/
|
|
168
169
|
getRemoteChains(name) {
|
|
169
|
-
return
|
|
170
|
+
return exclude(name, this.getKnownChainNames());
|
|
170
171
|
}
|
|
171
172
|
/**
|
|
172
173
|
* Run given function on all known chains
|
|
@@ -195,7 +196,7 @@ class ChainMetadataManager {
|
|
|
195
196
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
196
197
|
if (!metadata)
|
|
197
198
|
return null;
|
|
198
|
-
return
|
|
199
|
+
return getExplorerBaseUrl(metadata);
|
|
199
200
|
}
|
|
200
201
|
/**
|
|
201
202
|
* Get a block explorer URL for a given chain name, chain id, or domain id
|
|
@@ -214,7 +215,7 @@ class ChainMetadataManager {
|
|
|
214
215
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
215
216
|
if (!metadata)
|
|
216
217
|
return null;
|
|
217
|
-
return
|
|
218
|
+
return getExplorerApi(metadata);
|
|
218
219
|
}
|
|
219
220
|
/**
|
|
220
221
|
* Get a block explorer API for a given chain name, chain id, or domain id
|
|
@@ -233,7 +234,7 @@ class ChainMetadataManager {
|
|
|
233
234
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
234
235
|
if (!metadata)
|
|
235
236
|
return null;
|
|
236
|
-
return
|
|
237
|
+
return getExplorerApiUrl(metadata);
|
|
237
238
|
}
|
|
238
239
|
/**
|
|
239
240
|
* Get a block explorer API URL for a given chain name, chain id, or domain id
|
|
@@ -252,7 +253,7 @@ class ChainMetadataManager {
|
|
|
252
253
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
253
254
|
if (!metadata)
|
|
254
255
|
return null;
|
|
255
|
-
return
|
|
256
|
+
return getExplorerTxUrl(metadata, response.hash);
|
|
256
257
|
}
|
|
257
258
|
/**
|
|
258
259
|
* Get a block explorer URL for given chain's tx
|
|
@@ -268,7 +269,7 @@ class ChainMetadataManager {
|
|
|
268
269
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
269
270
|
if (!metadata || !address)
|
|
270
271
|
return null;
|
|
271
|
-
return
|
|
272
|
+
return getExplorerAddressUrl(metadata, address);
|
|
272
273
|
}
|
|
273
274
|
/**
|
|
274
275
|
* Get a block explorer URL for given chain's address
|
|
@@ -308,10 +309,9 @@ class ChainMetadataManager {
|
|
|
308
309
|
if (!intersection.length) {
|
|
309
310
|
throw new Error(`No chains shared between known chains and list (${knownChains} and ${chains})`);
|
|
310
311
|
}
|
|
311
|
-
const intersectionMetadata =
|
|
312
|
+
const intersectionMetadata = pick(this.metadata, intersection);
|
|
312
313
|
const result = new ChainMetadataManager(intersectionMetadata);
|
|
313
314
|
return { intersection, result };
|
|
314
315
|
}
|
|
315
316
|
}
|
|
316
|
-
exports.ChainMetadataManager = ChainMetadataManager;
|
|
317
317
|
//# sourceMappingURL=ChainMetadataManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChainMetadataManager.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChainMetadataManager.js","sourceRoot":"","sources":["../../src/metadata/ChainMetadataManager.ts"],"names":[],"mappings":"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"}
|