@hyperlane-xyz/sdk 3.10.0 → 3.10.1-beta0
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 +2 -0
- package/dist/app/HyperlaneApp.d.ts +4 -4
- package/dist/app/HyperlaneApp.d.ts.map +1 -1
- package/dist/app/HyperlaneApp.js +10 -11
- package/dist/app/HyperlaneApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.d.ts +6 -6
- package/dist/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +25 -39
- 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 +5 -2
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +295 -206
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +3 -0
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +19 -16
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/crud.d.ts +2 -0
- package/dist/consts/crud.d.ts.map +1 -0
- package/dist/consts/crud.js +2 -0
- package/dist/consts/crud.js.map +1 -0
- package/dist/consts/environments/index.d.ts +56 -50
- 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 +54 -45
- 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 +59 -46
- 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 +32 -47
- 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 +83 -50
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +15 -9
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +77 -35
- 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 +16 -17
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +7 -7
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js +18 -19
- 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 +11 -14
- 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 +8 -12
- 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/read.d.ts +28 -0
- package/dist/core/read.d.ts.map +1 -0
- package/dist/core/read.js +44 -0
- package/dist/core/read.js.map +1 -0
- 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 +5 -5
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +36 -36
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +11 -11
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +55 -56
- 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 -11
- 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/schemas.d.ts +70 -0
- package/dist/deploy/schemas.d.ts.map +1 -0
- package/dist/deploy/schemas.js +7 -0
- package/dist/deploy/schemas.js.map +1 -0
- package/dist/deploy/types.d.ts +15 -6
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +7 -11
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +3 -3
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +35 -38
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +5 -5
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +12 -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 +12 -16
- 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 +40 -41
- 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/read.d.ts +36 -0
- package/dist/hook/read.d.ts.map +1 -0
- package/dist/hook/read.js +191 -0
- package/dist/hook/read.js.map +1 -0
- package/dist/hook/read.test.d.ts +2 -0
- package/dist/hook/read.test.d.ts.map +1 -0
- package/dist/hook/read.test.js +151 -0
- package/dist/hook/read.test.js.map +1 -0
- package/dist/hook/types.d.ts +17 -6
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +16 -5
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +116 -107
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +106 -323
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +8 -8
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +99 -75
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +57 -62
- 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/read.d.ts +29 -0
- package/dist/ism/read.d.ts.map +1 -0
- package/dist/ism/read.js +152 -0
- package/dist/ism/read.js.map +1 -0
- package/dist/ism/read.test.d.ts +2 -0
- package/dist/ism/read.test.d.ts.map +1 -0
- package/dist/ism/read.test.js +125 -0
- package/dist/ism/read.test.js.map +1 -0
- package/dist/ism/schemas.d.ts +177 -0
- package/dist/ism/schemas.d.ts.map +1 -0
- package/dist/ism/schemas.js +59 -0
- package/dist/ism/schemas.js.map +1 -0
- package/dist/ism/schemas.test.d.ts +2 -0
- package/dist/ism/schemas.test.d.ts.map +1 -0
- package/dist/ism/schemas.test.js +18 -0
- package/dist/ism/schemas.test.js.map +1 -0
- package/dist/ism/types.d.ts +14 -7
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +9 -12
- 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 +79 -78
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +2 -2
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +19 -22
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +340 -340
- 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.d.ts +233 -1
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +91 -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 +26 -34
- 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 +7 -7
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +17 -22
- 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 +7 -7
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +8 -12
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +29 -31
- 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/schemas.d.ts +21 -0
- package/dist/middleware/account/schemas.d.ts.map +1 -0
- package/dist/middleware/account/schemas.js +11 -0
- package/dist/middleware/account/schemas.js.map +1 -0
- package/dist/middleware/account/types.d.ts +1 -1
- package/dist/middleware/account/types.d.ts.map +1 -1
- package/dist/middleware/account/types.js +1 -2
- 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 +7 -7
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +15 -19
- 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 +6 -6
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +7 -11
- 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 +7 -7
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +33 -34
- 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 +4 -4
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +24 -22
- 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 +2 -2
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +16 -18
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +2 -2
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +26 -28
- 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 +5 -5
- 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 +38 -36
- 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 +4 -4
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +2 -6
- 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 +24 -26
- 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 +10 -14
- 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 +4 -4
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +9 -13
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts +5 -6
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +19 -17
- 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/schemas.d.ts +71 -0
- package/dist/router/schemas.d.ts.map +1 -0
- package/dist/router/schemas.js +16 -0
- package/dist/router/schemas.js.map +1 -0
- package/dist/router/types.d.ts +8 -15
- 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 -19
- 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 +27 -27
- 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 +4 -4
- 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 +36 -28
- 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/app.d.ts +11 -0
- package/dist/token/app.d.ts.map +1 -0
- package/dist/token/app.js +22 -0
- package/dist/token/app.js.map +1 -0
- package/dist/token/checker.d.ts +10 -0
- package/dist/token/checker.d.ts.map +1 -0
- package/dist/token/checker.js +73 -0
- package/dist/token/checker.js.map +1 -0
- package/dist/token/config.d.ts +10 -5
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +10 -21
- package/dist/token/config.js.map +1 -1
- package/dist/token/contracts.d.ts +9 -0
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +34 -34
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +11 -11
- 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 +67 -68
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/schemas.d.ts +375 -0
- package/dist/token/schemas.d.ts.map +1 -0
- package/dist/token/schemas.js +48 -0
- package/dist/token/schemas.js.map +1 -0
- package/dist/token/schemas.test.d.ts +2 -0
- package/dist/token/schemas.test.d.ts.map +1 -0
- package/dist/token/schemas.test.js +85 -0
- package/dist/token/schemas.test.js.map +1 -0
- package/dist/token/types.d.ts +5 -0
- package/dist/token/types.d.ts.map +1 -0
- package/dist/token/types.js +2 -0
- package/dist/token/types.js.map +1 -0
- package/dist/types.js +1 -2
- package/dist/utils/MultiGeneric.d.ts +2 -2
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +5 -8
- 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/fork.d.ts +38 -0
- package/dist/utils/fork.d.ts.map +1 -0
- package/dist/utils/fork.js +89 -0
- package/dist/utils/fork.js.map +1 -0
- 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 +7 -7
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +37 -35
- 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 +39 -39
- 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 +19 -10
package/dist/ism/read.js
ADDED
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { DefaultFallbackRoutingIsm__factory, IInterchainSecurityModule__factory, IMultisigIsm__factory, OPStackIsm__factory, PausableIsm__factory, StaticAggregationIsm__factory, TestIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
|
|
3
|
+
import { assert, concurrentMap, rootLogger, } from '@hyperlane-xyz/utils';
|
|
4
|
+
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/crud.js';
|
|
5
|
+
import { IsmType, ModuleType, } from './types.js';
|
|
6
|
+
export class EvmIsmReader {
|
|
7
|
+
multiProvider;
|
|
8
|
+
chain;
|
|
9
|
+
concurrency;
|
|
10
|
+
provider;
|
|
11
|
+
logger = rootLogger.child({ module: 'EvmIsmReader' });
|
|
12
|
+
constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY) {
|
|
13
|
+
this.multiProvider = multiProvider;
|
|
14
|
+
this.chain = chain;
|
|
15
|
+
this.concurrency = concurrency;
|
|
16
|
+
this.provider = this.multiProvider.getProvider(chain);
|
|
17
|
+
}
|
|
18
|
+
async deriveIsmConfig(address) {
|
|
19
|
+
const ism = IInterchainSecurityModule__factory.connect(address, this.provider);
|
|
20
|
+
const moduleType = await ism.moduleType();
|
|
21
|
+
switch (moduleType) {
|
|
22
|
+
case ModuleType.UNUSED:
|
|
23
|
+
throw new Error('UNUSED does not have a corresponding IsmType');
|
|
24
|
+
case ModuleType.ROUTING:
|
|
25
|
+
// IsmType is either ROUTING or FALLBACK_ROUTING, but that's determined inside deriveRoutingConfig
|
|
26
|
+
return this.deriveRoutingConfig(address);
|
|
27
|
+
case ModuleType.AGGREGATION:
|
|
28
|
+
return this.deriveAggregationConfig(address);
|
|
29
|
+
case ModuleType.LEGACY_MULTISIG:
|
|
30
|
+
throw new Error('LEGACY_MULTISIG is deprecated and not supported');
|
|
31
|
+
case ModuleType.MERKLE_ROOT_MULTISIG:
|
|
32
|
+
case ModuleType.MESSAGE_ID_MULTISIG:
|
|
33
|
+
return this.deriveMultisigConfig(address);
|
|
34
|
+
case ModuleType.NULL:
|
|
35
|
+
return this.deriveNullConfig(address);
|
|
36
|
+
case ModuleType.CCIP_READ:
|
|
37
|
+
throw new Error('CCIP_READ does not have a corresponding IsmType');
|
|
38
|
+
default:
|
|
39
|
+
throw new Error('Unknown ModuleType');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async deriveRoutingConfig(address) {
|
|
43
|
+
const ism = DefaultFallbackRoutingIsm__factory.connect(address, this.provider);
|
|
44
|
+
const owner = await ism.owner();
|
|
45
|
+
assert((await ism.moduleType()) === ModuleType.ROUTING);
|
|
46
|
+
const domains = {};
|
|
47
|
+
const domainIds = await ism.domains();
|
|
48
|
+
await concurrentMap(this.concurrency, domainIds, async (domainId) => {
|
|
49
|
+
const chainName = this.multiProvider.getChainName(domainId.toNumber());
|
|
50
|
+
const module = await ism.module(domainId);
|
|
51
|
+
domains[chainName] = await this.deriveIsmConfig(module);
|
|
52
|
+
});
|
|
53
|
+
// Fallback routing ISM extends from MailboxClient, default routign
|
|
54
|
+
let ismType = IsmType.FALLBACK_ROUTING;
|
|
55
|
+
try {
|
|
56
|
+
await ism.mailbox();
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
ismType = IsmType.ROUTING;
|
|
60
|
+
this.logger.debug('Error accessing mailbox property, implying this is not a fallback routing ISM.', address);
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
owner,
|
|
64
|
+
address,
|
|
65
|
+
type: ismType,
|
|
66
|
+
domains,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
async deriveAggregationConfig(address) {
|
|
70
|
+
const ism = StaticAggregationIsm__factory.connect(address, this.provider);
|
|
71
|
+
assert((await ism.moduleType()) === ModuleType.AGGREGATION);
|
|
72
|
+
const [modules, threshold] = await ism.modulesAndThreshold(ethers.constants.AddressZero);
|
|
73
|
+
const ismConfigs = await concurrentMap(this.concurrency, modules, async (module) => this.deriveIsmConfig(module));
|
|
74
|
+
return {
|
|
75
|
+
address,
|
|
76
|
+
type: IsmType.AGGREGATION,
|
|
77
|
+
modules: ismConfigs,
|
|
78
|
+
threshold,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
async deriveMultisigConfig(address) {
|
|
82
|
+
const ism = IMultisigIsm__factory.connect(address, this.provider);
|
|
83
|
+
const moduleType = await ism.moduleType();
|
|
84
|
+
assert(moduleType === ModuleType.MERKLE_ROOT_MULTISIG ||
|
|
85
|
+
moduleType === ModuleType.MESSAGE_ID_MULTISIG);
|
|
86
|
+
const ismType = moduleType === ModuleType.MERKLE_ROOT_MULTISIG
|
|
87
|
+
? IsmType.MERKLE_ROOT_MULTISIG
|
|
88
|
+
: IsmType.MESSAGE_ID_MULTISIG;
|
|
89
|
+
const [validators, threshold] = await ism.validatorsAndThreshold(ethers.constants.AddressZero);
|
|
90
|
+
return {
|
|
91
|
+
address,
|
|
92
|
+
type: ismType,
|
|
93
|
+
validators,
|
|
94
|
+
threshold,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
async deriveNullConfig(address) {
|
|
98
|
+
// if it has trustedRelayer() property --> TrustedRelayer ISM
|
|
99
|
+
const trustedRelayerIsm = TrustedRelayerIsm__factory.connect(address, this.provider);
|
|
100
|
+
try {
|
|
101
|
+
const relayer = await trustedRelayerIsm.trustedRelayer();
|
|
102
|
+
assert((await trustedRelayerIsm.moduleType()) === ModuleType.NULL);
|
|
103
|
+
return {
|
|
104
|
+
address,
|
|
105
|
+
relayer,
|
|
106
|
+
type: IsmType.TRUSTED_RELAYER,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
this.logger.debug('Error accessing "trustedRelayer" property, implying this is not a Trusted Relayer ISM.', address);
|
|
111
|
+
}
|
|
112
|
+
// if it has paused() property --> PAUSABLE
|
|
113
|
+
const pausableIsm = PausableIsm__factory.connect(address, this.provider);
|
|
114
|
+
try {
|
|
115
|
+
const paused = await pausableIsm.paused();
|
|
116
|
+
const owner = await pausableIsm.owner();
|
|
117
|
+
assert((await pausableIsm.moduleType()) === ModuleType.NULL);
|
|
118
|
+
return {
|
|
119
|
+
address,
|
|
120
|
+
owner,
|
|
121
|
+
type: IsmType.PAUSABLE,
|
|
122
|
+
paused,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
this.logger.debug('Error accessing "paused" property, implying this is not a Pausable ISM.', address);
|
|
127
|
+
}
|
|
128
|
+
// if it has VERIFIED_MASK_INDEX, it's AbstractMessageIdAuthorizedIsm which means OPStackIsm
|
|
129
|
+
const opStackIsm = OPStackIsm__factory.connect(address, this.provider);
|
|
130
|
+
try {
|
|
131
|
+
assert((await opStackIsm.moduleType()) === ModuleType.NULL);
|
|
132
|
+
await opStackIsm.VERIFIED_MASK_INDEX();
|
|
133
|
+
return {
|
|
134
|
+
address,
|
|
135
|
+
type: IsmType.OP_STACK,
|
|
136
|
+
origin: address,
|
|
137
|
+
nativeBridge: '', // no way to extract native bridge from the ism
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
this.logger.debug('Error accessing "VERIFIED_MASK_INDEX" property, implying this is not an OP Stack ISM.', address);
|
|
142
|
+
}
|
|
143
|
+
// no specific properties, must be Test ISM
|
|
144
|
+
const testIsm = TestIsm__factory.connect(address, this.provider);
|
|
145
|
+
assert((await testIsm.moduleType()) === ModuleType.NULL);
|
|
146
|
+
return {
|
|
147
|
+
address,
|
|
148
|
+
type: IsmType.TEST_ISM,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/ism/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.test.d.ts","sourceRoot":"","sources":["../../src/ism/read.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import sinon from 'sinon';
|
|
4
|
+
import { IInterchainSecurityModule__factory, IMultisigIsm__factory, OPStackIsm__factory, PausableIsm__factory, TestIsm__factory, TrustedRelayerIsm__factory, } from '@hyperlane-xyz/core';
|
|
5
|
+
import { Chains } from '../consts/chains.js';
|
|
6
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
7
|
+
import { EvmIsmReader } from './read.js';
|
|
8
|
+
import { IsmType, ModuleType, } from './types.js';
|
|
9
|
+
describe('EvmIsmReader', () => {
|
|
10
|
+
let evmIsmReader;
|
|
11
|
+
let multiProvider;
|
|
12
|
+
let sandbox;
|
|
13
|
+
const generateRandomAddress = () => ethers.Wallet.createRandom().address;
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
sandbox = sinon.createSandbox();
|
|
16
|
+
multiProvider = new MultiProvider();
|
|
17
|
+
multiProvider.setProvider(Chains.ethereum, ethers.getDefaultProvider());
|
|
18
|
+
evmIsmReader = new EvmIsmReader(multiProvider, Chains.ethereum);
|
|
19
|
+
});
|
|
20
|
+
afterEach(() => {
|
|
21
|
+
sandbox.restore();
|
|
22
|
+
});
|
|
23
|
+
it('should derive multisig config correctly', async () => {
|
|
24
|
+
const mockAddress = generateRandomAddress();
|
|
25
|
+
const mockValidators = [generateRandomAddress(), generateRandomAddress()];
|
|
26
|
+
const mockThreshold = 2;
|
|
27
|
+
// Mocking the connect method + returned what we need from contract object
|
|
28
|
+
const mockContract = {
|
|
29
|
+
moduleType: sandbox.stub().resolves(ModuleType.MESSAGE_ID_MULTISIG),
|
|
30
|
+
validatorsAndThreshold: sandbox
|
|
31
|
+
.stub()
|
|
32
|
+
.resolves([mockValidators, mockThreshold]),
|
|
33
|
+
};
|
|
34
|
+
sandbox
|
|
35
|
+
.stub(IMultisigIsm__factory, 'connect')
|
|
36
|
+
.returns(mockContract);
|
|
37
|
+
sandbox
|
|
38
|
+
.stub(IInterchainSecurityModule__factory, 'connect')
|
|
39
|
+
.returns(mockContract);
|
|
40
|
+
const expectedConfig = {
|
|
41
|
+
address: mockAddress,
|
|
42
|
+
type: IsmType.MESSAGE_ID_MULTISIG,
|
|
43
|
+
validators: mockValidators,
|
|
44
|
+
threshold: mockThreshold,
|
|
45
|
+
};
|
|
46
|
+
// top-level method infers ism type
|
|
47
|
+
const ismConfig = await evmIsmReader.deriveIsmConfig(mockAddress);
|
|
48
|
+
expect(ismConfig).to.deep.equal(expectedConfig);
|
|
49
|
+
// should get same result if we call the specific method for the ism type
|
|
50
|
+
const config = await evmIsmReader.deriveMultisigConfig(mockAddress);
|
|
51
|
+
expect(config).to.deep.equal(ismConfig);
|
|
52
|
+
});
|
|
53
|
+
it('should derive pausable config correctly', async () => {
|
|
54
|
+
const mockAddress = generateRandomAddress();
|
|
55
|
+
const mockOwner = generateRandomAddress();
|
|
56
|
+
const mockPaused = true;
|
|
57
|
+
// Mocking the connect method + returned what we need from contract object
|
|
58
|
+
const mockContract = {
|
|
59
|
+
moduleType: sandbox.stub().resolves(ModuleType.NULL),
|
|
60
|
+
owner: sandbox.stub().resolves(mockOwner),
|
|
61
|
+
paused: sandbox.stub().resolves(mockPaused),
|
|
62
|
+
};
|
|
63
|
+
sandbox
|
|
64
|
+
.stub(PausableIsm__factory, 'connect')
|
|
65
|
+
.returns(mockContract);
|
|
66
|
+
sandbox
|
|
67
|
+
.stub(TrustedRelayerIsm__factory, 'connect')
|
|
68
|
+
.returns(mockContract);
|
|
69
|
+
sandbox
|
|
70
|
+
.stub(IInterchainSecurityModule__factory, 'connect')
|
|
71
|
+
.returns(mockContract);
|
|
72
|
+
const expectedConfig = {
|
|
73
|
+
address: mockAddress,
|
|
74
|
+
owner: mockOwner,
|
|
75
|
+
type: IsmType.PAUSABLE,
|
|
76
|
+
paused: mockPaused,
|
|
77
|
+
};
|
|
78
|
+
// top-level method infers ism type
|
|
79
|
+
const ismConfig = await evmIsmReader.deriveIsmConfig(mockAddress);
|
|
80
|
+
expect(ismConfig).to.deep.equal(expectedConfig);
|
|
81
|
+
// should get same result if we call the specific method for the ism type
|
|
82
|
+
const config = await evmIsmReader.deriveNullConfig(mockAddress);
|
|
83
|
+
expect(config).to.deep.equal(ismConfig);
|
|
84
|
+
});
|
|
85
|
+
it('should derive test ISM config correctly', async () => {
|
|
86
|
+
const mockAddress = generateRandomAddress();
|
|
87
|
+
// Mocking the connect method + returned what we need from contract object
|
|
88
|
+
const mockContract = {
|
|
89
|
+
moduleType: sandbox.stub().resolves(ModuleType.NULL),
|
|
90
|
+
};
|
|
91
|
+
sandbox
|
|
92
|
+
.stub(TestIsm__factory, 'connect')
|
|
93
|
+
.returns(mockContract);
|
|
94
|
+
sandbox
|
|
95
|
+
.stub(OPStackIsm__factory, 'connect')
|
|
96
|
+
.returns(mockContract);
|
|
97
|
+
sandbox
|
|
98
|
+
.stub(PausableIsm__factory, 'connect')
|
|
99
|
+
.returns(mockContract);
|
|
100
|
+
sandbox
|
|
101
|
+
.stub(TrustedRelayerIsm__factory, 'connect')
|
|
102
|
+
.returns(mockContract);
|
|
103
|
+
sandbox
|
|
104
|
+
.stub(IInterchainSecurityModule__factory, 'connect')
|
|
105
|
+
.returns(mockContract);
|
|
106
|
+
const expectedConfig = {
|
|
107
|
+
address: mockAddress,
|
|
108
|
+
type: IsmType.TEST_ISM,
|
|
109
|
+
};
|
|
110
|
+
// top-level method infers ism type
|
|
111
|
+
const ismConfig = await evmIsmReader.deriveIsmConfig(mockAddress);
|
|
112
|
+
expect(ismConfig).to.deep.equal(expectedConfig);
|
|
113
|
+
// should get same result if we call the specific method for the ism type
|
|
114
|
+
const config = await evmIsmReader.deriveNullConfig(mockAddress);
|
|
115
|
+
expect(config).to.deep.equal(ismConfig);
|
|
116
|
+
});
|
|
117
|
+
/*
|
|
118
|
+
Testing for more nested ism types can be done manually by reading from existing contracts onchain.
|
|
119
|
+
Examples of nested ism types include:
|
|
120
|
+
- Aggregation
|
|
121
|
+
- Routing
|
|
122
|
+
- Fallback Domain Routing
|
|
123
|
+
*/
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=read.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.test.js","sourceRoot":"","sources":["../../src/ism/read.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { AggregationIsmConfig, IsmConfig, IsmType } from './types.js';
|
|
3
|
+
export declare const TestIsmConfigSchema: z.ZodObject<{
|
|
4
|
+
type: z.ZodLiteral<IsmType.TEST_ISM>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
type: IsmType.TEST_ISM;
|
|
7
|
+
}, {
|
|
8
|
+
type: IsmType.TEST_ISM;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const MultisigConfigSchema: z.ZodObject<{
|
|
11
|
+
validators: z.ZodArray<z.ZodString, "many">;
|
|
12
|
+
threshold: z.ZodNumber;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
validators: string[];
|
|
15
|
+
threshold: number;
|
|
16
|
+
}, {
|
|
17
|
+
validators: string[];
|
|
18
|
+
threshold: number;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const TrustedRelayerIsmConfigSchema: z.ZodObject<{
|
|
21
|
+
type: z.ZodLiteral<IsmType.TRUSTED_RELAYER>;
|
|
22
|
+
relayer: z.ZodString;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
type: IsmType.TRUSTED_RELAYER;
|
|
25
|
+
relayer: string;
|
|
26
|
+
}, {
|
|
27
|
+
type: IsmType.TRUSTED_RELAYER;
|
|
28
|
+
relayer: string;
|
|
29
|
+
}>;
|
|
30
|
+
export declare const OpStackIsmConfigSchema: z.ZodObject<{
|
|
31
|
+
type: z.ZodLiteral<IsmType.OP_STACK>;
|
|
32
|
+
origin: z.ZodString;
|
|
33
|
+
nativeBridge: z.ZodString;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
type: IsmType.OP_STACK;
|
|
36
|
+
origin: string;
|
|
37
|
+
nativeBridge: string;
|
|
38
|
+
}, {
|
|
39
|
+
type: IsmType.OP_STACK;
|
|
40
|
+
origin: string;
|
|
41
|
+
nativeBridge: string;
|
|
42
|
+
}>;
|
|
43
|
+
export declare const PausableIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
|
|
44
|
+
owner: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
45
|
+
origin: z.ZodString;
|
|
46
|
+
owner: z.ZodString;
|
|
47
|
+
localRouter: z.ZodOptional<z.ZodString>;
|
|
48
|
+
routerOverride: z.ZodOptional<z.ZodString>;
|
|
49
|
+
ismOverride: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
owner: string;
|
|
52
|
+
origin: string;
|
|
53
|
+
localRouter?: string | undefined;
|
|
54
|
+
routerOverride?: string | undefined;
|
|
55
|
+
ismOverride?: string | undefined;
|
|
56
|
+
}, {
|
|
57
|
+
owner: string;
|
|
58
|
+
origin: string;
|
|
59
|
+
localRouter?: string | undefined;
|
|
60
|
+
routerOverride?: string | undefined;
|
|
61
|
+
ismOverride?: string | undefined;
|
|
62
|
+
}>]>;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
owner: (string | {
|
|
65
|
+
owner: string;
|
|
66
|
+
origin: string;
|
|
67
|
+
localRouter?: string | undefined;
|
|
68
|
+
routerOverride?: string | undefined;
|
|
69
|
+
ismOverride?: string | undefined;
|
|
70
|
+
}) & (string | {
|
|
71
|
+
owner: string;
|
|
72
|
+
origin: string;
|
|
73
|
+
localRouter?: string | undefined;
|
|
74
|
+
routerOverride?: string | undefined;
|
|
75
|
+
ismOverride?: string | undefined;
|
|
76
|
+
} | undefined);
|
|
77
|
+
}, {
|
|
78
|
+
owner: (string | {
|
|
79
|
+
owner: string;
|
|
80
|
+
origin: string;
|
|
81
|
+
localRouter?: string | undefined;
|
|
82
|
+
routerOverride?: string | undefined;
|
|
83
|
+
ismOverride?: string | undefined;
|
|
84
|
+
}) & (string | {
|
|
85
|
+
owner: string;
|
|
86
|
+
origin: string;
|
|
87
|
+
localRouter?: string | undefined;
|
|
88
|
+
routerOverride?: string | undefined;
|
|
89
|
+
ismOverride?: string | undefined;
|
|
90
|
+
} | undefined);
|
|
91
|
+
}>, z.ZodObject<{
|
|
92
|
+
type: z.ZodLiteral<IsmType.PAUSABLE>;
|
|
93
|
+
paused: z.ZodOptional<z.ZodBoolean>;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
type: IsmType.PAUSABLE;
|
|
96
|
+
paused?: boolean | undefined;
|
|
97
|
+
}, {
|
|
98
|
+
type: IsmType.PAUSABLE;
|
|
99
|
+
paused?: boolean | undefined;
|
|
100
|
+
}>>;
|
|
101
|
+
export declare const MultisigIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
|
|
102
|
+
validators: z.ZodArray<z.ZodString, "many">;
|
|
103
|
+
threshold: z.ZodNumber;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
validators: string[];
|
|
106
|
+
threshold: number;
|
|
107
|
+
}, {
|
|
108
|
+
validators: string[];
|
|
109
|
+
threshold: number;
|
|
110
|
+
}>, z.ZodObject<{
|
|
111
|
+
type: z.ZodUnion<[z.ZodLiteral<IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<IsmType.MESSAGE_ID_MULTISIG>]>;
|
|
112
|
+
}, "strip", z.ZodTypeAny, {
|
|
113
|
+
type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
|
|
114
|
+
}, {
|
|
115
|
+
type: IsmType.MERKLE_ROOT_MULTISIG | IsmType.MESSAGE_ID_MULTISIG;
|
|
116
|
+
}>>;
|
|
117
|
+
export declare const RoutingIsmConfigSchema: z.ZodIntersection<z.ZodObject<{
|
|
118
|
+
owner: z.ZodUnion<[z.ZodString, z.ZodObject<{
|
|
119
|
+
origin: z.ZodString;
|
|
120
|
+
owner: z.ZodString;
|
|
121
|
+
localRouter: z.ZodOptional<z.ZodString>;
|
|
122
|
+
routerOverride: z.ZodOptional<z.ZodString>;
|
|
123
|
+
ismOverride: z.ZodOptional<z.ZodString>;
|
|
124
|
+
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
owner: string;
|
|
126
|
+
origin: string;
|
|
127
|
+
localRouter?: string | undefined;
|
|
128
|
+
routerOverride?: string | undefined;
|
|
129
|
+
ismOverride?: string | undefined;
|
|
130
|
+
}, {
|
|
131
|
+
owner: string;
|
|
132
|
+
origin: string;
|
|
133
|
+
localRouter?: string | undefined;
|
|
134
|
+
routerOverride?: string | undefined;
|
|
135
|
+
ismOverride?: string | undefined;
|
|
136
|
+
}>]>;
|
|
137
|
+
}, "strip", z.ZodTypeAny, {
|
|
138
|
+
owner: (string | {
|
|
139
|
+
owner: string;
|
|
140
|
+
origin: string;
|
|
141
|
+
localRouter?: string | undefined;
|
|
142
|
+
routerOverride?: string | undefined;
|
|
143
|
+
ismOverride?: string | undefined;
|
|
144
|
+
}) & (string | {
|
|
145
|
+
owner: string;
|
|
146
|
+
origin: string;
|
|
147
|
+
localRouter?: string | undefined;
|
|
148
|
+
routerOverride?: string | undefined;
|
|
149
|
+
ismOverride?: string | undefined;
|
|
150
|
+
} | undefined);
|
|
151
|
+
}, {
|
|
152
|
+
owner: (string | {
|
|
153
|
+
owner: string;
|
|
154
|
+
origin: string;
|
|
155
|
+
localRouter?: string | undefined;
|
|
156
|
+
routerOverride?: string | undefined;
|
|
157
|
+
ismOverride?: string | undefined;
|
|
158
|
+
}) & (string | {
|
|
159
|
+
owner: string;
|
|
160
|
+
origin: string;
|
|
161
|
+
localRouter?: string | undefined;
|
|
162
|
+
routerOverride?: string | undefined;
|
|
163
|
+
ismOverride?: string | undefined;
|
|
164
|
+
} | undefined);
|
|
165
|
+
}>, z.ZodObject<{
|
|
166
|
+
type: z.ZodUnion<[z.ZodLiteral<IsmType.ROUTING>, z.ZodLiteral<IsmType.FALLBACK_ROUTING>]>;
|
|
167
|
+
domains: z.ZodRecord<z.ZodString, z.ZodNativeEnum<typeof IsmType>>;
|
|
168
|
+
}, "strip", z.ZodTypeAny, {
|
|
169
|
+
type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
|
|
170
|
+
domains: Record<string, IsmType>;
|
|
171
|
+
}, {
|
|
172
|
+
type: IsmType.ROUTING | IsmType.FALLBACK_ROUTING;
|
|
173
|
+
domains: Record<string, IsmType>;
|
|
174
|
+
}>>;
|
|
175
|
+
export declare const AggregationIsmConfigSchema: z.ZodSchema<AggregationIsmConfig>;
|
|
176
|
+
export declare const IsmConfigSchema: z.ZodSchema<IsmConfig>;
|
|
177
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;EAE9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;EAGxC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAIjC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKnC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;GAOnC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQlC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAatE,CAAC;AAEJ,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAWlD,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { OwnableConfigSchema } from '../deploy/schemas.js';
|
|
3
|
+
import { ZHash } from '../index.js';
|
|
4
|
+
import { IsmType } from './types.js';
|
|
5
|
+
export const TestIsmConfigSchema = z.object({
|
|
6
|
+
type: z.literal(IsmType.TEST_ISM),
|
|
7
|
+
});
|
|
8
|
+
export const MultisigConfigSchema = z.object({
|
|
9
|
+
validators: z.array(ZHash),
|
|
10
|
+
threshold: z.number(),
|
|
11
|
+
});
|
|
12
|
+
export const TrustedRelayerIsmConfigSchema = z.object({
|
|
13
|
+
type: z.literal(IsmType.TRUSTED_RELAYER),
|
|
14
|
+
relayer: z.string(),
|
|
15
|
+
});
|
|
16
|
+
export const OpStackIsmConfigSchema = z.object({
|
|
17
|
+
type: z.literal(IsmType.OP_STACK),
|
|
18
|
+
origin: z.string(),
|
|
19
|
+
nativeBridge: z.string(),
|
|
20
|
+
});
|
|
21
|
+
export const PausableIsmConfigSchema = OwnableConfigSchema.and(z.object({
|
|
22
|
+
type: z.literal(IsmType.PAUSABLE),
|
|
23
|
+
paused: z.boolean().optional(),
|
|
24
|
+
}));
|
|
25
|
+
export const MultisigIsmConfigSchema = MultisigConfigSchema.and(z.object({
|
|
26
|
+
type: z.union([
|
|
27
|
+
z.literal(IsmType.MERKLE_ROOT_MULTISIG),
|
|
28
|
+
z.literal(IsmType.MESSAGE_ID_MULTISIG),
|
|
29
|
+
]),
|
|
30
|
+
}));
|
|
31
|
+
export const RoutingIsmConfigSchema = OwnableConfigSchema.and(z.object({
|
|
32
|
+
type: z.union([
|
|
33
|
+
z.literal(IsmType.ROUTING),
|
|
34
|
+
z.literal(IsmType.FALLBACK_ROUTING),
|
|
35
|
+
]),
|
|
36
|
+
domains: z.record(z.string(), z.nativeEnum(IsmType)),
|
|
37
|
+
}));
|
|
38
|
+
export const AggregationIsmConfigSchema = z.lazy(() => z
|
|
39
|
+
.object({
|
|
40
|
+
type: z.literal(IsmType.AGGREGATION),
|
|
41
|
+
modules: z.array(IsmConfigSchema),
|
|
42
|
+
threshold: z.number(),
|
|
43
|
+
})
|
|
44
|
+
.refine((data) => {
|
|
45
|
+
if (data.threshold > data.modules.length)
|
|
46
|
+
return false;
|
|
47
|
+
return true;
|
|
48
|
+
}));
|
|
49
|
+
export const IsmConfigSchema = z.lazy(() => z.union([
|
|
50
|
+
z.string(),
|
|
51
|
+
TestIsmConfigSchema,
|
|
52
|
+
OpStackIsmConfigSchema,
|
|
53
|
+
PausableIsmConfigSchema,
|
|
54
|
+
TrustedRelayerIsmConfigSchema,
|
|
55
|
+
MultisigIsmConfigSchema,
|
|
56
|
+
RoutingIsmConfigSchema,
|
|
57
|
+
AggregationIsmConfigSchema,
|
|
58
|
+
]));
|
|
59
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/ism/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../../src/ism/schemas.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import { AggregationIsmConfigSchema } from '@hyperlane-xyz/sdk';
|
|
4
|
+
import { IsmType } from './types.js';
|
|
5
|
+
const SOME_ADDRESS = ethers.Wallet.createRandom().address;
|
|
6
|
+
describe('AggregationIsmConfigSchema refine', () => {
|
|
7
|
+
it('should require threshold to be below modules length', () => {
|
|
8
|
+
const IsmConfig = {
|
|
9
|
+
type: IsmType.AGGREGATION,
|
|
10
|
+
modules: [SOME_ADDRESS],
|
|
11
|
+
threshold: 100,
|
|
12
|
+
};
|
|
13
|
+
expect(AggregationIsmConfigSchema.safeParse(IsmConfig).success).to.be.false;
|
|
14
|
+
IsmConfig.threshold = 0;
|
|
15
|
+
expect(AggregationIsmConfigSchema.safeParse(IsmConfig).success).to.be.true;
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=schemas.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../../src/ism/schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC;AAC1D,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,OAAO,CAAC,WAAW;YACzB,OAAO,EAAE,CAAC,YAAY,CAAC;YACvB,SAAS,EAAE,GAAG;SACf,CAAC;QACF,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAE5E,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/ism/types.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { IAggregationIsm, IMultisigIsm, IRoutingIsm, OPStackIsm, PausableIsm, TestIsm } from '@hyperlane-xyz/core';
|
|
1
|
+
import { IAggregationIsm, IMultisigIsm, IRoutingIsm, OPStackIsm, PausableIsm, TestIsm, TrustedRelayerIsm } from '@hyperlane-xyz/core';
|
|
2
2
|
import type { Address, Domain, ValueOf } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { OwnableConfig } from '../deploy/types';
|
|
4
|
-
import { ChainMap } from '../types';
|
|
3
|
+
import { OwnableConfig } from '../deploy/types.js';
|
|
4
|
+
import { ChainMap } from '../types.js';
|
|
5
5
|
export declare enum ModuleType {
|
|
6
6
|
UNUSED = 0,
|
|
7
7
|
ROUTING = 1,
|
|
8
8
|
AGGREGATION = 2,
|
|
9
|
-
LEGACY_MULTISIG = 3
|
|
9
|
+
LEGACY_MULTISIG = 3,// DEPRECATED
|
|
10
10
|
MERKLE_ROOT_MULTISIG = 4,
|
|
11
11
|
MESSAGE_ID_MULTISIG = 5,
|
|
12
|
-
NULL = 6
|
|
12
|
+
NULL = 6,
|
|
13
|
+
CCIP_READ = 7
|
|
13
14
|
}
|
|
14
15
|
export declare enum IsmType {
|
|
15
16
|
OP_STACK = "opStackIsm",
|
|
@@ -19,7 +20,8 @@ export declare enum IsmType {
|
|
|
19
20
|
MERKLE_ROOT_MULTISIG = "merkleRootMultisigIsm",
|
|
20
21
|
MESSAGE_ID_MULTISIG = "messageIdMultisigIsm",
|
|
21
22
|
TEST_ISM = "testIsm",
|
|
22
|
-
PAUSABLE = "pausableIsm"
|
|
23
|
+
PAUSABLE = "pausableIsm",
|
|
24
|
+
TRUSTED_RELAYER = "trustedRelayerIsm"
|
|
23
25
|
}
|
|
24
26
|
export declare function ismTypeToModuleType(ismType: IsmType): ModuleType;
|
|
25
27
|
export type MultisigConfig = {
|
|
@@ -50,7 +52,11 @@ export type OpStackIsmConfig = {
|
|
|
50
52
|
origin: Address;
|
|
51
53
|
nativeBridge: Address;
|
|
52
54
|
};
|
|
53
|
-
export type
|
|
55
|
+
export type TrustedRelayerIsmConfig = {
|
|
56
|
+
type: IsmType.TRUSTED_RELAYER;
|
|
57
|
+
relayer: Address;
|
|
58
|
+
};
|
|
59
|
+
export type IsmConfig = Address | RoutingIsmConfig | MultisigIsmConfig | AggregationIsmConfig | OpStackIsmConfig | TestIsmConfig | PausableIsmConfig | TrustedRelayerIsmConfig;
|
|
54
60
|
export type DeployedIsmType = {
|
|
55
61
|
[IsmType.ROUTING]: IRoutingIsm;
|
|
56
62
|
[IsmType.FALLBACK_ROUTING]: IRoutingIsm;
|
|
@@ -60,6 +66,7 @@ export type DeployedIsmType = {
|
|
|
60
66
|
[IsmType.OP_STACK]: OPStackIsm;
|
|
61
67
|
[IsmType.TEST_ISM]: TestIsm;
|
|
62
68
|
[IsmType.PAUSABLE]: PausableIsm;
|
|
69
|
+
[IsmType.TRUSTED_RELAYER]: TrustedRelayerIsm;
|
|
63
70
|
};
|
|
64
71
|
export type DeployedIsm = ValueOf<DeployedIsmType>;
|
|
65
72
|
export type RoutingIsmDelta = {
|
package/dist/ism/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ism/types.ts"],"names":[],"mappings":"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"}
|