@hyperlane-xyz/sdk 3.9.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 +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 +5 -3
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +295 -239
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +3 -1
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +19 -18
- 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 +290 -236
- 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 +295 -243
- 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 +59 -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 +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 +80 -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 +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 +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/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 +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/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 +17 -4
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +17 -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 +21 -25
- 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/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 -105
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +106 -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 +104 -80
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +70 -74
- 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 +85 -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 +23 -23
- 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 +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/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 +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 +30 -25
- 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 +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 +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 +7 -8
- 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 -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 +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 +11 -5
- 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 +30 -0
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +36 -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 +147 -113
- 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 +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
|
@@ -1,46 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this.getRouterConfig = (owners) => {
|
|
15
|
-
// get config
|
|
16
|
-
const config = (0, utils_1.objMap)(this.contractsMap, (chain, contracts) => ({
|
|
17
|
-
mailbox: contracts.mailbox.address,
|
|
18
|
-
owner: typeof owners === 'string' ? owners : owners[chain].owner,
|
|
19
|
-
}));
|
|
20
|
-
// filter for EVM chains
|
|
21
|
-
return (0, utils_1.objFilter)(config, (chainName, _) => chainMetadata_1.chainMetadata[chainName].protocol === utils_1.ProtocolType.Ethereum);
|
|
22
|
-
};
|
|
23
|
-
this.quoteGasPayment = (origin, destination, recipient, body) => {
|
|
24
|
-
const destinationId = this.multiProvider.getDomainId(destination);
|
|
25
|
-
return this.contractsMap[origin].mailbox['quoteDispatch(uint32,bytes32,bytes)'](destinationId, recipient, body);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
1
|
+
import { Mailbox__factory } from '@hyperlane-xyz/core';
|
|
2
|
+
import { ProtocolType, bytes32ToAddress, eqAddress, messageId, objFilter, objMap, parseMessage, pollAsync, } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { HyperlaneApp } from '../app/HyperlaneApp.js';
|
|
4
|
+
import { chainMetadata } from '../consts/chainMetadata.js';
|
|
5
|
+
import { hyperlaneEnvironments, } from '../consts/environments/index.js';
|
|
6
|
+
import { appFromAddressesMapHelper } from '../contracts/contracts.js';
|
|
7
|
+
import { EvmIsmReader } from '../ism/read.js';
|
|
8
|
+
import { IsmType, ModuleType, ismTypeToModuleType } from '../ism/types.js';
|
|
9
|
+
import { coreFactories } from './contracts.js';
|
|
10
|
+
export class HyperlaneCore extends HyperlaneApp {
|
|
28
11
|
static fromEnvironment(env, multiProvider) {
|
|
29
|
-
const envAddresses =
|
|
12
|
+
const envAddresses = hyperlaneEnvironments[env];
|
|
30
13
|
if (!envAddresses) {
|
|
31
14
|
throw new Error(`No addresses found for ${env}`);
|
|
32
15
|
}
|
|
33
16
|
return HyperlaneCore.fromAddressesMap(envAddresses, multiProvider);
|
|
34
17
|
}
|
|
35
18
|
static fromAddressesMap(addressesMap, multiProvider) {
|
|
36
|
-
const helper =
|
|
19
|
+
const helper = appFromAddressesMapHelper(addressesMap, coreFactories, multiProvider);
|
|
37
20
|
return new HyperlaneCore(helper.contractsMap, helper.multiProvider);
|
|
38
21
|
}
|
|
22
|
+
getRouterConfig = (owners) => {
|
|
23
|
+
// get config
|
|
24
|
+
const config = objMap(this.contractsMap, (chain, contracts) => ({
|
|
25
|
+
mailbox: contracts.mailbox.address,
|
|
26
|
+
owner: typeof owners === 'string' ? owners : owners[chain].owner,
|
|
27
|
+
}));
|
|
28
|
+
// filter for EVM chains
|
|
29
|
+
return objFilter(config, (chainName, _) => chainMetadata[chainName].protocol === ProtocolType.Ethereum);
|
|
30
|
+
};
|
|
31
|
+
quoteGasPayment = (origin, destination, recipient, body) => {
|
|
32
|
+
const destinationId = this.multiProvider.getDomainId(destination);
|
|
33
|
+
return this.contractsMap[origin].mailbox['quoteDispatch(uint32,bytes32,bytes)'](destinationId, recipient, body);
|
|
34
|
+
};
|
|
39
35
|
getDestination(message) {
|
|
40
36
|
return this.multiProvider.getChainName(message.parsed.destination);
|
|
41
37
|
}
|
|
38
|
+
getRecipientIsmAddress(message) {
|
|
39
|
+
const destinationMailbox = this.contractsMap[this.getDestination(message)];
|
|
40
|
+
const ethAddress = bytes32ToAddress(message.parsed.recipient);
|
|
41
|
+
return destinationMailbox.mailbox.recipientIsm(ethAddress);
|
|
42
|
+
}
|
|
43
|
+
async getRecipientIsmConfig(message) {
|
|
44
|
+
const destinationChain = this.getDestination(message);
|
|
45
|
+
const ismReader = new EvmIsmReader(this.multiProvider, destinationChain);
|
|
46
|
+
const address = await this.getRecipientIsmAddress(message);
|
|
47
|
+
return ismReader.deriveIsmConfig(address);
|
|
48
|
+
}
|
|
49
|
+
async buildMetadata(message) {
|
|
50
|
+
const ismConfig = await this.getRecipientIsmConfig(message);
|
|
51
|
+
const destinationChain = this.getDestination(message);
|
|
52
|
+
switch (ismConfig.type) {
|
|
53
|
+
case IsmType.TRUSTED_RELAYER:
|
|
54
|
+
// eslint-disable-next-line no-case-declarations
|
|
55
|
+
const destinationSigner = await this.multiProvider.getSignerAddress(destinationChain);
|
|
56
|
+
if (!eqAddress(destinationSigner, ismConfig.relayer)) {
|
|
57
|
+
this.logger.warn(`${destinationChain} signer ${destinationSigner} does not match trusted relayer ${ismConfig.relayer}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// TODO: implement metadata builders for other module types
|
|
61
|
+
const moduleType = ismTypeToModuleType(ismConfig.type);
|
|
62
|
+
switch (moduleType) {
|
|
63
|
+
case ModuleType.NULL:
|
|
64
|
+
return '0x';
|
|
65
|
+
default:
|
|
66
|
+
throw new Error(`Unsupported module type ${moduleType}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async relayMessage(message) {
|
|
70
|
+
const metadata = await this.buildMetadata(message);
|
|
71
|
+
const destinationChain = this.getDestination(message);
|
|
72
|
+
const mailbox = this.contractsMap[destinationChain].mailbox;
|
|
73
|
+
return this.multiProvider.handleTx(destinationChain, mailbox.process(metadata, message.message));
|
|
74
|
+
}
|
|
42
75
|
waitForProcessReceipt(message) {
|
|
43
|
-
const id =
|
|
76
|
+
const id = messageId(message.message);
|
|
44
77
|
const destinationChain = this.getDestination(message);
|
|
45
78
|
const mailbox = this.contractsMap[destinationChain].mailbox;
|
|
46
79
|
const filter = mailbox.filters.ProcessId(id);
|
|
@@ -54,12 +87,12 @@ class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
|
54
87
|
});
|
|
55
88
|
}
|
|
56
89
|
async waitForMessageIdProcessed(messageId, destination, delayMs, maxAttempts) {
|
|
57
|
-
await
|
|
58
|
-
this.logger(`Checking if message ${messageId} was processed`);
|
|
90
|
+
await pollAsync(async () => {
|
|
91
|
+
this.logger.debug(`Checking if message ${messageId} was processed`);
|
|
59
92
|
const mailbox = this.contractsMap[destination].mailbox;
|
|
60
93
|
const delivered = await mailbox.delivered(messageId);
|
|
61
94
|
if (delivered) {
|
|
62
|
-
this.logger(`Message ${messageId} was processed`);
|
|
95
|
+
this.logger.info(`Message ${messageId} was processed`);
|
|
63
96
|
return true;
|
|
64
97
|
}
|
|
65
98
|
else {
|
|
@@ -76,14 +109,24 @@ class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
|
76
109
|
async waitForMessageProcessed(sourceTx, delay, maxAttempts) {
|
|
77
110
|
const messages = HyperlaneCore.getDispatchedMessages(sourceTx);
|
|
78
111
|
await Promise.all(messages.map((msg) => this.waitForMessageIdProcessed(msg.id, this.getDestination(msg), delay, maxAttempts)));
|
|
79
|
-
this.logger(`All messages processed for tx ${sourceTx.transactionHash}`);
|
|
112
|
+
this.logger.info(`All messages processed for tx ${sourceTx.transactionHash}`);
|
|
80
113
|
}
|
|
81
114
|
// Redundant with static method but keeping for backwards compatibility
|
|
82
115
|
getDispatchedMessages(sourceTx) {
|
|
83
116
|
return HyperlaneCore.getDispatchedMessages(sourceTx);
|
|
84
117
|
}
|
|
118
|
+
async getDispatchTx(originChain, messageId) {
|
|
119
|
+
const mailbox = this.contractsMap[originChain].mailbox;
|
|
120
|
+
const filter = mailbox.filters.DispatchId(messageId);
|
|
121
|
+
const matchingEvents = await mailbox.queryFilter(filter);
|
|
122
|
+
if (matchingEvents.length === 0) {
|
|
123
|
+
throw new Error(`No dispatch event found for message ${messageId}`);
|
|
124
|
+
}
|
|
125
|
+
const event = matchingEvents[0]; // only 1 event per message ID
|
|
126
|
+
return event.getTransactionReceipt();
|
|
127
|
+
}
|
|
85
128
|
static getDispatchedMessages(sourceTx) {
|
|
86
|
-
const mailbox =
|
|
129
|
+
const mailbox = Mailbox__factory.createInterface();
|
|
87
130
|
const dispatchLogs = sourceTx.logs
|
|
88
131
|
.map((log) => {
|
|
89
132
|
try {
|
|
@@ -96,11 +139,10 @@ class HyperlaneCore extends HyperlaneApp_1.HyperlaneApp {
|
|
|
96
139
|
.filter((log) => !!log && log.name === 'Dispatch');
|
|
97
140
|
return dispatchLogs.map((log) => {
|
|
98
141
|
const message = log.args['message'];
|
|
99
|
-
const parsed =
|
|
100
|
-
const id =
|
|
142
|
+
const parsed = parseMessage(message);
|
|
143
|
+
const id = messageId(message);
|
|
101
144
|
return { id, message, parsed };
|
|
102
145
|
});
|
|
103
146
|
}
|
|
104
147
|
}
|
|
105
|
-
exports.HyperlaneCore = HyperlaneCore;
|
|
106
148
|
//# sourceMappingURL=HyperlaneCore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const MultiProvider_1 = require("../providers/MultiProvider");
|
|
4
|
-
const HyperlaneCore_1 = require("./HyperlaneCore");
|
|
1
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
2
|
+
import { HyperlaneCore } from './HyperlaneCore.js';
|
|
5
3
|
describe('HyperlaneCore', () => {
|
|
6
4
|
describe('fromEnvironment', () => {
|
|
7
5
|
it('creates an object for mainnet', async () => {
|
|
8
|
-
const multiProvider = new
|
|
9
|
-
|
|
6
|
+
const multiProvider = new MultiProvider();
|
|
7
|
+
HyperlaneCore.fromEnvironment('mainnet', multiProvider);
|
|
10
8
|
});
|
|
11
9
|
it('creates an object for testnet', async () => {
|
|
12
|
-
const multiProvider = new
|
|
13
|
-
|
|
10
|
+
const multiProvider = new MultiProvider();
|
|
11
|
+
HyperlaneCore.fromEnvironment('testnet', multiProvider);
|
|
14
12
|
});
|
|
15
13
|
});
|
|
16
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.test.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.test.js","sourceRoot":"","sources":["../../src/core/HyperlaneCore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1C,aAAa,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker';
|
|
2
|
-
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
|
|
3
|
-
import { MultiProvider } from '../providers/MultiProvider';
|
|
4
|
-
import { ChainMap, ChainName } from '../types';
|
|
5
|
-
import { HyperlaneCore } from './HyperlaneCore';
|
|
6
|
-
import { CoreConfig } from './types';
|
|
1
|
+
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker.js';
|
|
2
|
+
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
3
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
4
|
+
import { ChainMap, ChainName } from '../types.js';
|
|
5
|
+
import { HyperlaneCore } from './HyperlaneCore.js';
|
|
6
|
+
import { CoreConfig } from './types.js';
|
|
7
7
|
export declare class HyperlaneCoreChecker extends HyperlaneAppChecker<HyperlaneCore, CoreConfig> {
|
|
8
8
|
readonly ismFactory: HyperlaneIsmFactory;
|
|
9
9
|
constructor(multiProvider: MultiProvider, app: HyperlaneCore, configMap: ChainMap<CoreConfig>, ismFactory: HyperlaneIsmFactory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,UAAU,EAKX,MAAM,YAAY,CAAC;AAEpB,qBAAa,oBAAqB,SAAQ,mBAAmB,CAC3D,aAAa,EACb,UAAU,CACX;IAKG,QAAQ,CAAC,UAAU,EAAE,mBAAmB;gBAHxC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EACtB,UAAU,EAAE,mBAAmB;IAKpC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B7C,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAsE/C,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B9D"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const types_1 = require("./types");
|
|
11
|
-
class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
1
|
+
import { ethers, utils as ethersUtils } from 'ethers';
|
|
2
|
+
import { assert, eqAddress } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { BytecodeHash } from '../consts/bytecode.js';
|
|
4
|
+
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker.js';
|
|
5
|
+
import { proxyImplementation } from '../deploy/proxy.js';
|
|
6
|
+
import { collectValidators, moduleMatchesConfig } from '../ism/utils.js';
|
|
7
|
+
import { CoreViolationType, MailboxViolationType, } from './types.js';
|
|
8
|
+
export class HyperlaneCoreChecker extends HyperlaneAppChecker {
|
|
9
|
+
ismFactory;
|
|
12
10
|
constructor(multiProvider, app, configMap, ismFactory) {
|
|
13
11
|
super(multiProvider, app, configMap);
|
|
14
12
|
this.ismFactory = ismFactory;
|
|
@@ -36,14 +34,14 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
36
34
|
const contracts = this.app.getContracts(chain);
|
|
37
35
|
const mailbox = contracts.mailbox;
|
|
38
36
|
const localDomain = await mailbox.localDomain();
|
|
39
|
-
|
|
37
|
+
assert(localDomain === this.multiProvider.getDomainId(chain));
|
|
40
38
|
const actualIsm = await mailbox.defaultIsm();
|
|
41
39
|
const config = this.configMap[chain];
|
|
42
|
-
const matches = await
|
|
40
|
+
const matches = await moduleMatchesConfig(chain, actualIsm, config.defaultIsm, this.ismFactory.multiProvider, this.ismFactory.getContracts(chain));
|
|
43
41
|
if (!matches) {
|
|
44
42
|
const violation = {
|
|
45
|
-
type:
|
|
46
|
-
subType:
|
|
43
|
+
type: CoreViolationType.Mailbox,
|
|
44
|
+
subType: MailboxViolationType.DefaultIsm,
|
|
47
45
|
contract: mailbox,
|
|
48
46
|
chain,
|
|
49
47
|
actual: actualIsm,
|
|
@@ -56,11 +54,11 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
56
54
|
const contracts = this.app.getContracts(chain);
|
|
57
55
|
const mailbox = contracts.mailbox;
|
|
58
56
|
const localDomain = await mailbox.localDomain();
|
|
59
|
-
const implementation = await
|
|
60
|
-
if (implementation ===
|
|
57
|
+
const implementation = await proxyImplementation(this.multiProvider.getProvider(chain), mailbox.address);
|
|
58
|
+
if (implementation === ethers.constants.AddressZero) {
|
|
61
59
|
const violation = {
|
|
62
|
-
type:
|
|
63
|
-
subType:
|
|
60
|
+
type: CoreViolationType.Mailbox,
|
|
61
|
+
subType: MailboxViolationType.NotProxied,
|
|
64
62
|
contract: mailbox,
|
|
65
63
|
chain,
|
|
66
64
|
actual: implementation,
|
|
@@ -70,8 +68,8 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
70
68
|
}
|
|
71
69
|
else {
|
|
72
70
|
await this.checkBytecode(chain, 'Mailbox implementation', implementation, [
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
BytecodeHash.V3_MAILBOX_BYTECODE_HASH,
|
|
72
|
+
BytecodeHash.OPT_V3_MAILBOX_BYTECODE_HASH,
|
|
75
73
|
], (bytecode) =>
|
|
76
74
|
// This is obviously super janky but basically we are searching
|
|
77
75
|
// for the occurrences of localDomain in the bytecode and remove
|
|
@@ -79,7 +77,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
79
77
|
// localDomain in the bytecode should be not be removed which
|
|
80
78
|
// are just done via an offset guard
|
|
81
79
|
bytecode
|
|
82
|
-
.replaceAll(
|
|
80
|
+
.replaceAll(ethersUtils.defaultAbiCoder
|
|
83
81
|
.encode(['uint32'], [localDomain])
|
|
84
82
|
.slice(2), (match, offset) => (offset > 8000 ? match : ''))
|
|
85
83
|
// We persist the block number in the bytecode now too, so we have to strip it
|
|
@@ -89,24 +87,24 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
89
87
|
}
|
|
90
88
|
await this.checkProxy(chain, 'Mailbox proxy', contracts.mailbox.address);
|
|
91
89
|
await this.checkBytecode(chain, 'ProxyAdmin', contracts.proxyAdmin.address, [
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
BytecodeHash.PROXY_ADMIN_BYTECODE_HASH,
|
|
91
|
+
BytecodeHash.V2_PROXY_ADMIN_BYTECODE_HASH,
|
|
94
92
|
]);
|
|
95
93
|
}
|
|
96
94
|
async checkValidatorAnnounce(chain) {
|
|
97
95
|
const validators = new Set();
|
|
98
96
|
const remotes = Object.keys(this.configMap).filter((c) => c !== chain);
|
|
99
|
-
const remoteOriginValidators = remotes.map((remote) =>
|
|
97
|
+
const remoteOriginValidators = remotes.map((remote) => collectValidators(chain, this.configMap[remote].defaultIsm));
|
|
100
98
|
remoteOriginValidators.map((set) => {
|
|
101
99
|
[...set].map((v) => validators.add(v));
|
|
102
100
|
});
|
|
103
101
|
const validatorAnnounce = this.app.getContracts(chain).validatorAnnounce;
|
|
104
102
|
const announcedValidators = await validatorAnnounce.getAnnouncedValidators();
|
|
105
103
|
[...validators].forEach((validator) => {
|
|
106
|
-
const matches = announcedValidators.filter((x) =>
|
|
104
|
+
const matches = announcedValidators.filter((x) => eqAddress(x, validator));
|
|
107
105
|
if (matches.length == 0) {
|
|
108
106
|
const violation = {
|
|
109
|
-
type:
|
|
107
|
+
type: CoreViolationType.ValidatorAnnounce,
|
|
110
108
|
chain,
|
|
111
109
|
validator,
|
|
112
110
|
actual: false,
|
|
@@ -117,5 +115,4 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
117
115
|
});
|
|
118
116
|
}
|
|
119
117
|
}
|
|
120
|
-
exports.HyperlaneCoreChecker = HyperlaneCoreChecker;
|
|
121
118
|
//# sourceMappingURL=HyperlaneCoreChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreChecker.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { IPostDispatchHook, Mailbox, TestRecipient, ValidatorAnnounce } from '@hyperlane-xyz/core';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { HyperlaneContracts } from '../contracts/types';
|
|
4
|
-
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
|
|
5
|
-
import { ContractVerifier } from '../deploy/verify/ContractVerifier';
|
|
6
|
-
import { HyperlaneHookDeployer } from '../hook/HyperlaneHookDeployer';
|
|
7
|
-
import { HookConfig } from '../hook/types';
|
|
8
|
-
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
|
|
9
|
-
import { IsmConfig } from '../ism/types';
|
|
10
|
-
import { MultiProvider } from '../providers/MultiProvider';
|
|
11
|
-
import { ChainMap, ChainName } from '../types';
|
|
12
|
-
import { TestRecipientDeployer } from './TestRecipientDeployer';
|
|
13
|
-
import { CoreAddresses, CoreFactories } from './contracts';
|
|
14
|
-
import { CoreConfig } from './types';
|
|
3
|
+
import { HyperlaneContracts } from '../contracts/types.js';
|
|
4
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
|
|
5
|
+
import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
|
|
6
|
+
import { HyperlaneHookDeployer } from '../hook/HyperlaneHookDeployer.js';
|
|
7
|
+
import { HookConfig } from '../hook/types.js';
|
|
8
|
+
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
9
|
+
import { IsmConfig } from '../ism/types.js';
|
|
10
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
11
|
+
import { ChainMap, ChainName } from '../types.js';
|
|
12
|
+
import { TestRecipientDeployer } from './TestRecipientDeployer.js';
|
|
13
|
+
import { CoreAddresses, CoreFactories } from './contracts.js';
|
|
14
|
+
import { CoreConfig } from './types.js';
|
|
15
15
|
export declare class HyperlaneCoreDeployer extends HyperlaneDeployer<CoreConfig, CoreFactories> {
|
|
16
16
|
readonly ismFactory: HyperlaneIsmFactory;
|
|
17
17
|
hookDeployer: HyperlaneHookDeployer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,OAAO,EACP,aAAa,EACb,iBAAiB,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAc,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,qBAAa,qBAAsB,SAAQ,iBAAiB,CAC1D,UAAU,EACV,aAAa,CACd;IAMG,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IAL1C,YAAY,EAAE,qBAAqB,CAAC;IACpC,aAAa,EAAE,qBAAqB,CAAC;gBAGnC,aAAa,EAAE,aAAa,EACnB,UAAU,EAAE,mBAAmB,EACxC,gBAAgB,CAAC,EAAE,gBAAgB;IAoBrC,iBAAiB,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAKxD,aAAa,CACjB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,OAAO,CAAC;IAgHb,uBAAuB,CAC3B,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,iBAAiB,CAAC;IASvB,UAAU,CACd,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC,iBAAiB,CAAC;IAcvB,SAAS,CACb,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;IAUb,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,wBAAwB,CAAC,EAAE,SAAS,GACnC,OAAO,CAAC,aAAa,CAAC;IAQnB,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;CA0C9C"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const TestRecipientDeployer_1 = require("./TestRecipientDeployer");
|
|
12
|
-
const contracts_1 = require("./contracts");
|
|
13
|
-
class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
1
|
+
import { rootLogger } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
|
|
3
|
+
import { HyperlaneHookDeployer } from '../hook/HyperlaneHookDeployer.js';
|
|
4
|
+
import { moduleMatchesConfig } from '../ism/utils.js';
|
|
5
|
+
import { TestRecipientDeployer } from './TestRecipientDeployer.js';
|
|
6
|
+
import { coreFactories } from './contracts.js';
|
|
7
|
+
export class HyperlaneCoreDeployer extends HyperlaneDeployer {
|
|
8
|
+
ismFactory;
|
|
9
|
+
hookDeployer;
|
|
10
|
+
testRecipient;
|
|
14
11
|
constructor(multiProvider, ismFactory, contractVerifier) {
|
|
15
|
-
super(multiProvider,
|
|
16
|
-
logger: (
|
|
17
|
-
chainTimeoutMs: 1000 * 60 * 10,
|
|
12
|
+
super(multiProvider, coreFactories, {
|
|
13
|
+
logger: rootLogger.child({ module: 'CoreDeployer' }),
|
|
14
|
+
chainTimeoutMs: 1000 * 60 * 10, // 10 minutes
|
|
18
15
|
ismFactory,
|
|
19
16
|
contractVerifier,
|
|
20
17
|
});
|
|
21
18
|
this.ismFactory = ismFactory;
|
|
22
|
-
this.hookDeployer = new
|
|
23
|
-
this.testRecipient = new
|
|
19
|
+
this.hookDeployer = new HyperlaneHookDeployer(multiProvider, {}, ismFactory, contractVerifier);
|
|
20
|
+
this.testRecipient = new TestRecipientDeployer(multiProvider, contractVerifier);
|
|
24
21
|
}
|
|
25
22
|
cacheAddressesMap(addressesMap) {
|
|
26
23
|
this.hookDeployer.cacheAddressesMap(addressesMap);
|
|
@@ -28,23 +25,26 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
28
25
|
}
|
|
29
26
|
async deployMailbox(chain, config, proxyAdmin) {
|
|
30
27
|
const domain = this.multiProvider.getDomainId(chain);
|
|
31
|
-
const mailbox = await this.deployProxiedContract(chain, 'mailbox', proxyAdmin, [domain]);
|
|
28
|
+
const mailbox = await this.deployProxiedContract(chain, 'mailbox', 'mailbox', proxyAdmin, [domain]);
|
|
29
|
+
// resolve the owner account so that the subsequent calls terminate early
|
|
30
|
+
config.owner = await this.resolveInterchainAccountAsOwner(chain, config.owner);
|
|
32
31
|
let defaultIsm = await mailbox.defaultIsm();
|
|
33
|
-
const matches = await
|
|
32
|
+
const matches = await moduleMatchesConfig(chain, defaultIsm, config.defaultIsm, this.multiProvider, this.ismFactory.getContracts(chain));
|
|
34
33
|
if (!matches) {
|
|
35
|
-
this.logger('Deploying default ISM');
|
|
34
|
+
this.logger.debug('Deploying default ISM');
|
|
36
35
|
defaultIsm = await this.deployIsm(chain, config.defaultIsm, mailbox.address);
|
|
37
36
|
}
|
|
38
37
|
this.cachedAddresses[chain].interchainSecurityModule = defaultIsm;
|
|
39
38
|
const hookAddresses = { mailbox: mailbox.address, proxyAdmin };
|
|
40
|
-
this.logger('Deploying default hook');
|
|
39
|
+
this.logger.debug('Deploying default hook');
|
|
41
40
|
const defaultHook = await this.deployHook(chain, config.defaultHook, hookAddresses);
|
|
42
|
-
this.logger('Deploying required hook');
|
|
41
|
+
this.logger.debug('Deploying required hook');
|
|
43
42
|
const requiredHook = await this.deployHook(chain, config.requiredHook, hookAddresses);
|
|
44
43
|
// configure mailbox
|
|
45
44
|
try {
|
|
46
|
-
this.
|
|
47
|
-
|
|
45
|
+
const owner = await this.resolveInterchainAccountAsOwner(chain, config.owner);
|
|
46
|
+
this.logger.debug('Initializing mailbox');
|
|
47
|
+
await this.multiProvider.handleTx(chain, mailbox.initialize(owner, defaultIsm, defaultHook.address, requiredHook.address, this.multiProvider.getTransactionOverrides(chain)));
|
|
48
48
|
}
|
|
49
49
|
catch (e) {
|
|
50
50
|
if (!e.message.includes('already initialized') &&
|
|
@@ -55,7 +55,7 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
55
55
|
!e.error?.reason?.includes('already initialized')) {
|
|
56
56
|
throw e;
|
|
57
57
|
}
|
|
58
|
-
this.logger('Mailbox already initialized');
|
|
58
|
+
this.logger.debug('Mailbox already initialized');
|
|
59
59
|
const overrides = this.multiProvider.getTransactionOverrides(chain);
|
|
60
60
|
await this.configureHook(chain, mailbox, defaultHook, (_mailbox) => _mailbox.defaultHook(), (_mailbox, _hook) => _mailbox.populateTransaction.setDefaultHook(_hook, { ...overrides }));
|
|
61
61
|
await this.configureHook(chain, mailbox, requiredHook, (_mailbox) => _mailbox.requiredHook(), (_mailbox, _hook) => _mailbox.populateTransaction.setRequiredHook(_hook, { ...overrides }));
|
|
@@ -114,5 +114,4 @@ class HyperlaneCoreDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
114
114
|
return contracts;
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
exports.HyperlaneCoreDeployer = HyperlaneCoreDeployer;
|
|
118
117
|
//# sourceMappingURL=HyperlaneCoreDeployer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneCoreDeployer.js","sourceRoot":"","sources":["../../src/core/HyperlaneCoreDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import debug from 'debug';
|
|
2
1
|
import { HexString, ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { AdapterClassType, MultiProtocolApp } from '../app/MultiProtocolApp';
|
|
4
|
-
import { HyperlaneEnvironment } from '../consts/environments';
|
|
5
|
-
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider';
|
|
6
|
-
import { TypedTransactionReceipt } from '../providers/ProviderType';
|
|
7
|
-
import { ChainMap, ChainName } from '../types';
|
|
8
|
-
import { ICoreAdapter } from './adapters/types';
|
|
9
|
-
import { CoreAddresses } from './contracts';
|
|
2
|
+
import { AdapterClassType, MultiProtocolApp } from '../app/MultiProtocolApp.js';
|
|
3
|
+
import { HyperlaneEnvironment } from '../consts/environments/index.js';
|
|
4
|
+
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
|
|
5
|
+
import { TypedTransactionReceipt } from '../providers/ProviderType.js';
|
|
6
|
+
import { ChainMap, ChainName } from '../types.js';
|
|
7
|
+
import { ICoreAdapter } from './adapters/types.js';
|
|
8
|
+
import { CoreAddresses } from './contracts.js';
|
|
10
9
|
export declare class MultiProtocolCore extends MultiProtocolApp<ICoreAdapter, CoreAddresses> {
|
|
11
10
|
readonly multiProvider: MultiProtocolProvider;
|
|
12
11
|
readonly addresses: ChainMap<CoreAddresses>;
|
|
13
|
-
readonly logger:
|
|
14
|
-
constructor(multiProvider: MultiProtocolProvider, addresses: ChainMap<CoreAddresses>, logger?:
|
|
12
|
+
readonly logger: import("pino").default.Logger<never>;
|
|
13
|
+
constructor(multiProvider: MultiProtocolProvider, addresses: ChainMap<CoreAddresses>, logger?: import("pino").default.Logger<never>);
|
|
15
14
|
static fromEnvironment<Env extends HyperlaneEnvironment>(env: Env, multiProvider: MultiProtocolProvider): MultiProtocolCore;
|
|
16
15
|
static fromAddressesMap(addressesMap: ChainMap<CoreAddresses>, multiProvider: MultiProtocolProvider): MultiProtocolCore;
|
|
17
16
|
protocolToAdapter(protocol: ProtocolType): AdapterClassType<ICoreAdapter>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolCore.d.ts","sourceRoot":"","sources":["../../src/core/MultiProtocolCore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MultiProtocolCore.d.ts","sourceRoot":"","sources":["../../src/core/MultiProtocolCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EACL,oBAAoB,EAErB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKlD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,iBAAkB,SAAQ,gBAAgB,CACrD,YAAY,EACZ,aAAa,CACd;aAEmB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC;aAClC,MAAM;gBAFN,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAClC,MAAM,uCAAoD;IAK5E,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,oBAAoB,EACrD,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,qBAAqB,GACnC,iBAAiB;IAQpB,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrC,aAAa,EAAE,qBAAqB,GACnC,iBAAiB;IAOX,iBAAiB,CACxB,QAAQ,EAAE,YAAY,GACrB,gBAAgB,CAAC,YAAY,CAAC;IAOjC,iBAAiB,CACf,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,uBAAuB,GAChC,KAAK,CAAC;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,SAAS,CAAA;KAAE,CAAC;IAIpD,wBAAwB,CAC5B,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,QAAQ,EAAE,uBAAuB,EACjC,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,CAAC;CAcpB"}
|