@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,16 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
12
|
-
const ProviderType_1 = require("./ProviderType");
|
|
13
|
-
async function estimateTransactionFeeEthersV5({ transaction, provider, sender, }) {
|
|
1
|
+
import { encodeSecp256k1Pubkey } from '@cosmjs/amino';
|
|
2
|
+
import { wasmTypes } from '@cosmjs/cosmwasm-stargate';
|
|
3
|
+
import { toUtf8 } from '@cosmjs/encoding';
|
|
4
|
+
import { Uint53 } from '@cosmjs/math';
|
|
5
|
+
import { Registry } from '@cosmjs/proto-signing';
|
|
6
|
+
import { StargateClient, defaultRegistryTypes } from '@cosmjs/stargate';
|
|
7
|
+
import { MsgExecuteContract } from 'cosmjs-types/cosmwasm/wasm/v1/tx.js';
|
|
8
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
9
|
+
import { ProviderType, } from './ProviderType.js';
|
|
10
|
+
export async function estimateTransactionFeeEthersV5({ transaction, provider, sender, }) {
|
|
14
11
|
const ethersProvider = provider.provider;
|
|
15
12
|
const gasUnits = await ethersProvider.estimateGas({
|
|
16
13
|
...transaction.transaction,
|
|
@@ -21,16 +18,14 @@ async function estimateTransactionFeeEthersV5({ transaction, provider, sender, }
|
|
|
21
18
|
gasUnits: BigInt(gasUnits.toString()),
|
|
22
19
|
});
|
|
23
20
|
}
|
|
24
|
-
exports.estimateTransactionFeeEthersV5 = estimateTransactionFeeEthersV5;
|
|
25
21
|
// Separating out inner function to allow WarpCore to reuse logic
|
|
26
|
-
async function estimateTransactionFeeEthersV5ForGasUnits({ provider, gasUnits, }) {
|
|
22
|
+
export async function estimateTransactionFeeEthersV5ForGasUnits({ provider, gasUnits, }) {
|
|
27
23
|
const feeData = await provider.getFeeData();
|
|
28
24
|
return computeEvmTxFee(gasUnits, feeData.gasPrice ? BigInt(feeData.gasPrice.toString()) : undefined, feeData.maxFeePerGas ? BigInt(feeData.maxFeePerGas.toString()) : undefined, feeData.maxPriorityFeePerGas
|
|
29
25
|
? BigInt(feeData.maxPriorityFeePerGas.toString())
|
|
30
26
|
: undefined);
|
|
31
27
|
}
|
|
32
|
-
|
|
33
|
-
async function estimateTransactionFeeViem({ transaction, provider, sender, }) {
|
|
28
|
+
export async function estimateTransactionFeeViem({ transaction, provider, sender, }) {
|
|
34
29
|
const gasUnits = await provider.provider.estimateGas({
|
|
35
30
|
...transaction.transaction,
|
|
36
31
|
blockNumber: undefined,
|
|
@@ -39,7 +34,6 @@ async function estimateTransactionFeeViem({ transaction, provider, sender, }) {
|
|
|
39
34
|
const feeData = await provider.provider.estimateFeesPerGas();
|
|
40
35
|
return computeEvmTxFee(gasUnits, feeData.gasPrice, feeData.maxFeePerGas, feeData.maxPriorityFeePerGas);
|
|
41
36
|
}
|
|
42
|
-
exports.estimateTransactionFeeViem = estimateTransactionFeeViem;
|
|
43
37
|
function computeEvmTxFee(gasUnits, gasPrice, maxFeePerGas, maxPriorityFeePerGas) {
|
|
44
38
|
let estGasPrice;
|
|
45
39
|
if (maxFeePerGas && maxPriorityFeePerGas) {
|
|
@@ -57,10 +51,10 @@ function computeEvmTxFee(gasUnits, gasPrice, maxFeePerGas, maxPriorityFeePerGas)
|
|
|
57
51
|
fee: gasUnits * estGasPrice,
|
|
58
52
|
};
|
|
59
53
|
}
|
|
60
|
-
async function estimateTransactionFeeSolanaWeb3({ provider, transaction, }) {
|
|
54
|
+
export async function estimateTransactionFeeSolanaWeb3({ provider, transaction, }) {
|
|
61
55
|
const connection = provider.provider;
|
|
62
56
|
const { value } = await connection.simulateTransaction(transaction.transaction);
|
|
63
|
-
|
|
57
|
+
assert(!value.err, `Solana gas estimation failed: ${value.err}`);
|
|
64
58
|
const gasUnits = BigInt(value.unitsConsumed || 0);
|
|
65
59
|
const recentFees = await connection.getRecentPrioritizationFees();
|
|
66
60
|
const gasPrice = BigInt(recentFees[0].prioritizationFee);
|
|
@@ -70,24 +64,23 @@ async function estimateTransactionFeeSolanaWeb3({ provider, transaction, }) {
|
|
|
70
64
|
fee: gasUnits * gasPrice,
|
|
71
65
|
};
|
|
72
66
|
}
|
|
73
|
-
exports.estimateTransactionFeeSolanaWeb3 = estimateTransactionFeeSolanaWeb3;
|
|
74
67
|
// This is based on a reverse-engineered version of the
|
|
75
68
|
// SigningStargateClient's simulate function. It cannot be
|
|
76
69
|
// used here because it requires access to the private key.
|
|
77
70
|
// https://github.com/cosmos/cosmjs/issues/1568
|
|
78
|
-
async function estimateTransactionFeeCosmJs({ transaction, provider, estimatedGasPrice, sender, senderPubKey, memo, }) {
|
|
71
|
+
export async function estimateTransactionFeeCosmJs({ transaction, provider, estimatedGasPrice, sender, senderPubKey, memo, }) {
|
|
79
72
|
const stargateClient = await provider.provider;
|
|
80
73
|
const message = transaction.transaction;
|
|
81
|
-
const registry = new
|
|
74
|
+
const registry = new Registry([...defaultRegistryTypes, ...wasmTypes]);
|
|
82
75
|
const encodedMsg = registry.encodeAsAny(message);
|
|
83
|
-
const encodedPubkey =
|
|
76
|
+
const encodedPubkey = encodeSecp256k1Pubkey(Buffer.from(senderPubKey, 'hex'));
|
|
84
77
|
const { sequence } = await stargateClient.getSequence(sender);
|
|
85
78
|
const { gasInfo } = await stargateClient
|
|
86
79
|
// @ts-ignore force access to protected method
|
|
87
80
|
.forceGetQueryClient()
|
|
88
81
|
.tx.simulate([encodedMsg], memo, encodedPubkey, sequence);
|
|
89
|
-
|
|
90
|
-
const gasUnits =
|
|
82
|
+
assert(gasInfo, 'Gas estimation failed');
|
|
83
|
+
const gasUnits = Uint53.fromString(gasInfo.gasUsed.toString()).toNumber();
|
|
91
84
|
const gasPrice = parseFloat(estimatedGasPrice.toString());
|
|
92
85
|
return {
|
|
93
86
|
gasUnits,
|
|
@@ -95,50 +88,48 @@ async function estimateTransactionFeeCosmJs({ transaction, provider, estimatedGa
|
|
|
95
88
|
fee: Math.floor(gasUnits * gasPrice),
|
|
96
89
|
};
|
|
97
90
|
}
|
|
98
|
-
|
|
99
|
-
async function estimateTransactionFeeCosmJsWasm({ transaction, provider, estimatedGasPrice, sender, senderPubKey, memo, }) {
|
|
91
|
+
export async function estimateTransactionFeeCosmJsWasm({ transaction, provider, estimatedGasPrice, sender, senderPubKey, memo, }) {
|
|
100
92
|
const message = {
|
|
101
93
|
typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract',
|
|
102
|
-
value:
|
|
94
|
+
value: MsgExecuteContract.fromPartial({
|
|
103
95
|
sender,
|
|
104
96
|
contract: transaction.transaction.contractAddress,
|
|
105
|
-
msg:
|
|
97
|
+
msg: toUtf8(JSON.stringify(transaction.transaction.msg)),
|
|
106
98
|
funds: [...(transaction.transaction.funds || [])],
|
|
107
99
|
}),
|
|
108
100
|
};
|
|
109
101
|
const wasmClient = await provider.provider;
|
|
110
102
|
// @ts-ignore access a private field here to extract client URL
|
|
111
103
|
const url = wasmClient.tmClient.client.url;
|
|
112
|
-
const stargateClient =
|
|
104
|
+
const stargateClient = StargateClient.connect(url);
|
|
113
105
|
return estimateTransactionFeeCosmJs({
|
|
114
|
-
transaction: { type:
|
|
115
|
-
provider: { type:
|
|
106
|
+
transaction: { type: ProviderType.CosmJs, transaction: message },
|
|
107
|
+
provider: { type: ProviderType.CosmJs, provider: stargateClient },
|
|
116
108
|
estimatedGasPrice,
|
|
117
109
|
sender,
|
|
118
110
|
senderPubKey,
|
|
119
111
|
memo,
|
|
120
112
|
});
|
|
121
113
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
provider.type === ProviderType_1.ProviderType.EthersV5) {
|
|
114
|
+
export function estimateTransactionFee({ transaction, provider, chainMetadata, sender, senderPubKey, }) {
|
|
115
|
+
if (transaction.type === ProviderType.EthersV5 &&
|
|
116
|
+
provider.type === ProviderType.EthersV5) {
|
|
126
117
|
return estimateTransactionFeeEthersV5({ transaction, provider, sender });
|
|
127
118
|
}
|
|
128
|
-
else if (transaction.type ===
|
|
129
|
-
provider.type ===
|
|
119
|
+
else if (transaction.type === ProviderType.Viem &&
|
|
120
|
+
provider.type === ProviderType.Viem) {
|
|
130
121
|
return estimateTransactionFeeViem({ transaction, provider, sender });
|
|
131
122
|
}
|
|
132
|
-
else if (transaction.type ===
|
|
133
|
-
provider.type ===
|
|
123
|
+
else if (transaction.type === ProviderType.SolanaWeb3 &&
|
|
124
|
+
provider.type === ProviderType.SolanaWeb3) {
|
|
134
125
|
return estimateTransactionFeeSolanaWeb3({ transaction, provider });
|
|
135
126
|
}
|
|
136
|
-
else if (transaction.type ===
|
|
137
|
-
provider.type ===
|
|
127
|
+
else if (transaction.type === ProviderType.CosmJs &&
|
|
128
|
+
provider.type === ProviderType.CosmJs) {
|
|
138
129
|
const { transactionOverrides } = chainMetadata;
|
|
139
130
|
const estimatedGasPrice = transactionOverrides?.gasPrice;
|
|
140
|
-
|
|
141
|
-
|
|
131
|
+
assert(estimatedGasPrice, 'gasPrice required for CosmJS gas estimation');
|
|
132
|
+
assert(senderPubKey, 'senderPubKey required for CosmJS gas estimation');
|
|
142
133
|
return estimateTransactionFeeCosmJs({
|
|
143
134
|
transaction,
|
|
144
135
|
provider,
|
|
@@ -147,12 +138,12 @@ function estimateTransactionFee({ transaction, provider, chainMetadata, sender,
|
|
|
147
138
|
senderPubKey,
|
|
148
139
|
});
|
|
149
140
|
}
|
|
150
|
-
else if (transaction.type ===
|
|
151
|
-
provider.type ===
|
|
141
|
+
else if (transaction.type === ProviderType.CosmJsWasm &&
|
|
142
|
+
provider.type === ProviderType.CosmJsWasm) {
|
|
152
143
|
const { transactionOverrides } = chainMetadata;
|
|
153
144
|
const estimatedGasPrice = transactionOverrides?.gasPrice;
|
|
154
|
-
|
|
155
|
-
|
|
145
|
+
assert(estimatedGasPrice, 'gasPrice required for CosmJS gas estimation');
|
|
146
|
+
assert(senderPubKey, 'senderPubKey required for CosmJS gas estimation');
|
|
156
147
|
return estimateTransactionFeeCosmJsWasm({
|
|
157
148
|
transaction,
|
|
158
149
|
provider,
|
|
@@ -165,5 +156,4 @@ function estimateTransactionFee({ transaction, provider, chainMetadata, sender,
|
|
|
165
156
|
throw new Error(`Unsupported transaction type ${transaction.type} or provider type ${provider.type} for gas estimation`);
|
|
166
157
|
}
|
|
167
158
|
}
|
|
168
|
-
exports.estimateTransactionFee = estimateTransactionFee;
|
|
169
159
|
//# sourceMappingURL=transactionFeeEstimators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactionFeeEstimators.js","sourceRoot":"","sources":["../../src/providers/transactionFeeEstimators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transactionFeeEstimators.js","sourceRoot":"","sources":["../../src/providers/transactionFeeEstimators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAiC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI7E,OAAO,EAOL,YAAY,GAOb,MAAM,mBAAmB,CAAC;AAQ3B,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,EACnD,WAAW,EACX,QAAQ,EACR,MAAM,GAKP;IACC,MAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC;QAChD,GAAG,WAAW,CAAC,WAAW;QAC1B,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IACH,OAAO,yCAAyC,CAAC;QAC/C,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,yCAAyC,CAAC,EAC9D,QAAQ,EACR,QAAQ,GAIT;IACC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,OAAO,eAAe,CACpB,QAAQ,EACR,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAClE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAC1E,OAAO,CAAC,oBAAoB;QAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACjD,CAAC,CAAC,SAAS,CACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,WAAW,EACX,QAAQ,EACR,MAAM,GAKP;IACC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;QACnD,GAAG,WAAW,CAAC,WAAW;QAC1B,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,MAAuB;KACjC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IAC7D,OAAO,eAAe,CACpB,QAAQ,EACR,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,oBAAoB,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,QAAgB,EAChB,QAAiB,EACjB,YAAqB,EACrB,oBAA6B;IAE7B,IAAI,WAAmB,CAAC;IACxB,IAAI,YAAY,IAAI,oBAAoB,EAAE,CAAC;QACzC,WAAW,GAAG,YAAY,GAAG,oBAAoB,CAAC;IACpD,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO;QACL,QAAQ;QACR,QAAQ,EAAE,WAAW;QACrB,GAAG,EAAE,QAAQ,GAAG,WAAW;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,EACrD,QAAQ,EACR,WAAW,GAIZ;IACC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,UAAU,CAAC,mBAAmB,CACpD,WAAW,CAAC,WAAW,CACxB,CAAC;IACF,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,iCAAiC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,2BAA2B,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACzD,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,GAAG,EAAE,QAAQ,GAAG,QAAQ;KACzB,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,0DAA0D;AAC1D,2DAA2D;AAC3D,+CAA+C;AAC/C,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,EACjD,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,IAAI,GAaL;IACC,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,oBAAoB,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9E,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,cAAc;QACtC,8CAA8C;SAC7C,mBAAmB,EAAE;SACrB,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE1E,MAAM,QAAQ,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1D,OAAO;QACL,QAAQ;QACR,QAAQ;QACR,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CAAC,EACrD,WAAW,EACX,QAAQ,EACR,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,IAAI,GAQL;IACC,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,sCAAsC;QAC/C,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC;YACpC,MAAM;YACN,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe;YACjD,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxD,KAAK,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;SAClD,CAAC;KACH,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC;IAC3C,+DAA+D;IAC/D,MAAM,GAAG,GAAW,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;IACnD,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEnD,OAAO,4BAA4B,CAAC;QAClC,WAAW,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE;QAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE;QACjE,iBAAiB;QACjB,MAAM;QACN,YAAY;QACZ,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,WAAW,EACX,QAAQ,EACR,aAAa,EACb,MAAM,EACN,YAAY,GAOb;IACC,IACE,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ;QAC1C,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,QAAQ,EACvC,CAAC;QACD,OAAO,8BAA8B,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;SAAM,IACL,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;QACtC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EACnC,CAAC;QACD,OAAO,0BAA0B,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,IACL,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU;QAC5C,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,EACzC,CAAC;QACD,OAAO,gCAAgC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;SAAM,IACL,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM;QACxC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,EACrC,CAAC;QACD,MAAM,EAAE,oBAAoB,EAAE,GAAG,aAAa,CAAC;QAC/C,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,QAAqB,CAAC;QACtE,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC,CAAC;QACzE,MAAM,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAC;QACxE,OAAO,4BAA4B,CAAC;YAClC,WAAW;YACX,QAAQ;YACR,iBAAiB;YACjB,MAAM;YACN,YAAY;SACb,CAAC,CAAC;IACL,CAAC;SAAM,IACL,WAAW,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU;QAC5C,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,EACzC,CAAC;QACD,MAAM,EAAE,oBAAoB,EAAE,GAAG,aAAa,CAAC;QAC/C,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,QAAqB,CAAC;QACtE,MAAM,CAAC,iBAAiB,EAAE,6CAA6C,CAAC,CAAC;QACzE,MAAM,CAAC,YAAY,EAAE,iDAAiD,CAAC,CAAC;QACxE,OAAO,gCAAgC,CAAC;YACtC,WAAW;YACX,QAAQ;YACR,iBAAiB;YACjB,MAAM;YACN,YAAY;SACb,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,gCAAgC,WAAW,CAAC,IAAI,qBAAqB,QAAQ,CAAC,IAAI,qBAAqB,CACxG,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { GasRouter } from '@hyperlane-xyz/core';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { HyperlaneContracts, HyperlaneContractsMap
|
|
4
|
-
import { ChainMap } from '../types';
|
|
5
|
-
import {
|
|
6
|
-
import { GasRouterConfig } from './types';
|
|
7
|
-
export declare abstract class GasRouterDeployer<Config extends GasRouterConfig, Factories extends
|
|
3
|
+
import { HyperlaneContracts, HyperlaneContractsMap } from '../contracts/types.js';
|
|
4
|
+
import { ChainMap } from '../types.js';
|
|
5
|
+
import { ProxiedRouterDeployer } from './ProxiedRouterDeployer.js';
|
|
6
|
+
import { GasRouterConfig, ProxiedFactories } from './types.js';
|
|
7
|
+
export declare abstract class GasRouterDeployer<Config extends GasRouterConfig, Factories extends ProxiedFactories> extends ProxiedRouterDeployer<Config, Factories> {
|
|
8
8
|
abstract router(contracts: HyperlaneContracts<Factories>): GasRouter;
|
|
9
9
|
enrollRemoteRouters(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>, foreignRouters?: ChainMap<Address>): Promise<void>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/D,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,eAAe,EAC9B,SAAS,SAAS,gBAAgB,CAClC,SAAQ,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC;IAChD,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS;IAE9D,mBAAmB,CACvB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;CAiCjB"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.GasRouterDeployer = void 0;
|
|
4
|
-
const HyperlaneRouterDeployer_1 = require("./HyperlaneRouterDeployer");
|
|
5
|
-
class GasRouterDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
|
|
1
|
+
import { ProxiedRouterDeployer } from './ProxiedRouterDeployer.js';
|
|
2
|
+
export class GasRouterDeployer extends ProxiedRouterDeployer {
|
|
6
3
|
async enrollRemoteRouters(contractsMap, configMap, foreignRouters = {}) {
|
|
7
4
|
await super.enrollRemoteRouters(contractsMap, configMap, foreignRouters);
|
|
8
|
-
this.logger(`Setting enrolled router destination gas...`);
|
|
5
|
+
this.logger.debug(`Setting enrolled router destination gas...`);
|
|
9
6
|
for (const [chain, contracts] of Object.entries(contractsMap)) {
|
|
10
7
|
const remoteDomains = await this.router(contracts).domains();
|
|
11
8
|
const remoteChains = remoteDomains.map((domain) => this.multiProvider.getChainName(domain));
|
|
@@ -19,10 +16,9 @@ class GasRouterDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeploye
|
|
|
19
16
|
if (remoteConfigs.length == 0) {
|
|
20
17
|
continue;
|
|
21
18
|
}
|
|
22
|
-
this.logger(`Set destination gas on ${chain} for ${remoteChains}`);
|
|
19
|
+
this.logger.debug(`Set destination gas on ${chain} for ${remoteChains}`);
|
|
23
20
|
await this.multiProvider.handleTx(chain, this.router(contracts)['setDestinationGas((uint32,uint256)[])'](remoteConfigs));
|
|
24
21
|
}
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
|
-
exports.GasRouterDeployer = GasRouterDeployer;
|
|
28
24
|
//# sourceMappingURL=GasRouterDeployer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GasRouterDeployer.js","sourceRoot":"","sources":["../../src/router/GasRouterDeployer.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,MAAM,OAAgB,iBAGpB,SAAQ,qBAAwC;IAGhD,KAAK,CAAC,mBAAmB,CACvB,YAA8C,EAC9C,SAA2B,EAC3B,iBAAoC,EAAE;QAEtC,MAAM,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;YACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC3B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAC9C,CACF,CAAC;YACF,MAAM,aAAa,GAAG,aAAa;iBAChC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM;gBACN,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;aACpC,CAAC,CAAC;iBACF,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,QAAQ,YAAY,EAAE,CAAC,CAAC;YACzE,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,uCAAuC,CAAC,CAC7D,aAAa,CACd,CACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { HyperlaneFactories } from '../contracts/types';
|
|
2
|
-
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker';
|
|
3
|
-
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory';
|
|
4
|
-
import { MultiProvider } from '../providers/MultiProvider';
|
|
5
|
-
import { ChainMap, ChainName } from '../types';
|
|
6
|
-
import { RouterApp } from './RouterApps';
|
|
7
|
-
import { RouterConfig } from './types';
|
|
1
|
+
import { HyperlaneFactories } from '../contracts/types.js';
|
|
2
|
+
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker.js';
|
|
3
|
+
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
4
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
5
|
+
import { ChainMap, ChainName } from '../types.js';
|
|
6
|
+
import { RouterApp } from './RouterApps.js';
|
|
7
|
+
import { RouterConfig } from './types.js';
|
|
8
8
|
export declare class HyperlaneRouterChecker<Factories extends HyperlaneFactories, App extends RouterApp<Factories>, Config extends RouterConfig> extends HyperlaneAppChecker<App, Config> {
|
|
9
9
|
readonly ismFactory?: HyperlaneIsmFactory | undefined;
|
|
10
10
|
constructor(multiProvider: MultiProvider, app: App, configMap: ChainMap<Config>, ismFactory?: HyperlaneIsmFactory | undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,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,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAIL,YAAY,EAGb,MAAM,YAAY,CAAC;AAEpB,qBAAa,sBAAsB,CACjC,SAAS,SAAS,kBAAkB,EACpC,GAAG,SAAS,SAAS,CAAC,SAAS,CAAC,EAChC,MAAM,SAAS,YAAY,CAC3B,SAAQ,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC;IAKtC,QAAQ,CAAC,UAAU,CAAC;gBAHpB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAClB,UAAU,CAAC,iCAAqB;IAKrC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiGnD,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB5D"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const types_1 = require("./types");
|
|
11
|
-
class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { zeroAddress } from 'viem';
|
|
3
|
+
import { IMailbox__factory } from '@hyperlane-xyz/core';
|
|
4
|
+
import { addressToBytes32, eqAddress } from '@hyperlane-xyz/utils';
|
|
5
|
+
import { HyperlaneAppChecker } from '../deploy/HyperlaneAppChecker.js';
|
|
6
|
+
import { moduleMatchesConfig } from '../ism/utils.js';
|
|
7
|
+
import { ClientViolationType, RouterViolationType, } from './types.js';
|
|
8
|
+
export class HyperlaneRouterChecker extends HyperlaneAppChecker {
|
|
9
|
+
ismFactory;
|
|
12
10
|
constructor(multiProvider, app, configMap, ismFactory) {
|
|
13
11
|
super(multiProvider, app, configMap);
|
|
14
12
|
this.ismFactory = ismFactory;
|
|
@@ -28,7 +26,7 @@ class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
28
26
|
if (!this.ismFactory) {
|
|
29
27
|
throw Error('ISM factory not provided to HyperlaneRouterChecker, cannot check object-based ISM config');
|
|
30
28
|
}
|
|
31
|
-
const matches = await
|
|
29
|
+
const matches = await moduleMatchesConfig(chain, actual, value, this.multiProvider, this.ismFactory.chainMap[chain]);
|
|
32
30
|
if (!matches) {
|
|
33
31
|
const violation = {
|
|
34
32
|
chain,
|
|
@@ -44,8 +42,8 @@ class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
44
42
|
}
|
|
45
43
|
const expected = value && typeof value === 'string'
|
|
46
44
|
? value
|
|
47
|
-
:
|
|
48
|
-
if (!
|
|
45
|
+
: ethers.constants.AddressZero;
|
|
46
|
+
if (!eqAddress(actual, expected)) {
|
|
49
47
|
const violation = {
|
|
50
48
|
chain,
|
|
51
49
|
type: violationType,
|
|
@@ -57,39 +55,40 @@ class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
57
55
|
}
|
|
58
56
|
};
|
|
59
57
|
const mailboxAddr = await router.mailbox();
|
|
60
|
-
await checkMailboxClientProperty('mailbox', mailboxAddr,
|
|
61
|
-
await checkMailboxClientProperty('hook', await router.hook(),
|
|
62
|
-
const mailbox =
|
|
58
|
+
await checkMailboxClientProperty('mailbox', mailboxAddr, ClientViolationType.Mailbox);
|
|
59
|
+
await checkMailboxClientProperty('hook', await router.hook(), ClientViolationType.Hook);
|
|
60
|
+
const mailbox = IMailbox__factory.connect(mailboxAddr, this.multiProvider.getProvider(chain));
|
|
63
61
|
const ism = await mailbox.recipientIsm(router.address);
|
|
64
62
|
if (!this.configMap[chain].interchainSecurityModule ||
|
|
65
|
-
this.configMap[chain].interchainSecurityModule ===
|
|
63
|
+
this.configMap[chain].interchainSecurityModule === zeroAddress) {
|
|
66
64
|
const defaultIsm = await mailbox.defaultIsm();
|
|
67
|
-
if (!
|
|
65
|
+
if (!eqAddress(defaultIsm, ism)) {
|
|
68
66
|
this.addViolation({
|
|
69
67
|
chain,
|
|
70
|
-
type:
|
|
68
|
+
type: ClientViolationType.InterchainSecurityModule,
|
|
71
69
|
contract: router,
|
|
72
70
|
actual: ism,
|
|
73
|
-
expected:
|
|
71
|
+
expected: zeroAddress,
|
|
74
72
|
});
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
75
|
else {
|
|
78
|
-
await checkMailboxClientProperty('interchainSecurityModule', ism,
|
|
76
|
+
await checkMailboxClientProperty('interchainSecurityModule', ism, ClientViolationType.InterchainSecurityModule);
|
|
79
77
|
}
|
|
80
78
|
}
|
|
81
79
|
async checkEnrolledRouters(chain) {
|
|
82
80
|
const router = this.app.router(this.app.getContracts(chain));
|
|
83
|
-
await
|
|
81
|
+
const remoteChains = await this.app.remoteChains(chain);
|
|
82
|
+
await Promise.all(remoteChains.map(async (remoteChain) => {
|
|
84
83
|
const remoteRouterAddress = this.app.routerAddress(remoteChain);
|
|
85
84
|
const remoteDomainId = this.multiProvider.getDomainId(remoteChain);
|
|
86
85
|
const actualRouter = await router.routers(remoteDomainId);
|
|
87
|
-
const expectedRouter =
|
|
86
|
+
const expectedRouter = addressToBytes32(remoteRouterAddress);
|
|
88
87
|
if (actualRouter !== expectedRouter) {
|
|
89
88
|
const violation = {
|
|
90
89
|
chain,
|
|
91
90
|
remoteChain,
|
|
92
|
-
type:
|
|
91
|
+
type: RouterViolationType.EnrolledRouter,
|
|
93
92
|
contract: router,
|
|
94
93
|
actual: actualRouter,
|
|
95
94
|
expected: expectedRouter,
|
|
@@ -99,5 +98,4 @@ class HyperlaneRouterChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
|
|
|
99
98
|
}));
|
|
100
99
|
}
|
|
101
100
|
}
|
|
102
|
-
exports.HyperlaneRouterChecker = HyperlaneRouterChecker;
|
|
103
101
|
//# sourceMappingURL=HyperlaneRouterChecker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterChecker.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Router } from '@hyperlane-xyz/core';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types';
|
|
4
|
-
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer';
|
|
5
|
-
import { RouterConfig } from '../router/types';
|
|
6
|
-
import { ChainMap } from '../types';
|
|
3
|
+
import { HyperlaneContracts, HyperlaneContractsMap, HyperlaneFactories } from '../contracts/types.js';
|
|
4
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
|
|
5
|
+
import { RouterConfig } from '../router/types.js';
|
|
6
|
+
import { ChainMap } from '../types.js';
|
|
7
7
|
export declare abstract class HyperlaneRouterDeployer<Config extends RouterConfig, Factories extends HyperlaneFactories> extends HyperlaneDeployer<Config, Factories> {
|
|
8
8
|
abstract router(contracts: HyperlaneContracts<Factories>): Router;
|
|
9
9
|
configureClients(contractsMap: HyperlaneContractsMap<Factories>, configMap: ChainMap<Config>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterDeployer.d.ts","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,OAAO,EAKR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,8BAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,SAAS,SAAS,kBAAkB,CACpC,SAAQ,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,MAAM;IAE3D,gBAAgB,CACpB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAQV,mBAAmB,CACvB,oBAAoB,EAAE,qBAAqB,CAAC,SAAS,CAAC,EACtD,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnB,cAAc,GAAE,QAAQ,CAAC,OAAO,CAAM,GACrC,OAAO,CAAC,IAAI,CAAC;IAyDV,iBAAiB,CACrB,YAAY,EAAE,qBAAqB,CAAC,SAAS,CAAC,EAC9C,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC;IAeV,MAAM,CACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;CA2B7C"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const contracts_1 = require("../contracts/contracts");
|
|
6
|
-
const HyperlaneDeployer_1 = require("../deploy/HyperlaneDeployer");
|
|
7
|
-
class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
1
|
+
import { addressToBytes32, objFilter, objMap, objMerge, } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { filterOwnableContracts } from '../contracts/contracts.js';
|
|
3
|
+
import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
|
|
4
|
+
export class HyperlaneRouterDeployer extends HyperlaneDeployer {
|
|
8
5
|
async configureClients(contractsMap, configMap) {
|
|
9
6
|
for (const chain of Object.keys(contractsMap)) {
|
|
10
7
|
const contracts = contractsMap[chain];
|
|
@@ -13,12 +10,12 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
13
10
|
}
|
|
14
11
|
}
|
|
15
12
|
async enrollRemoteRouters(deployedContractsMap, _, foreignRouters = {}) {
|
|
16
|
-
this.logger(`Enrolling deployed routers with each other (if not already)...`);
|
|
13
|
+
this.logger.debug(`Enrolling deployed routers with each other (if not already)...`);
|
|
17
14
|
// Make all routers aware of each other.
|
|
18
15
|
// Routers that were deployed.
|
|
19
|
-
const deployedRouters =
|
|
16
|
+
const deployedRouters = objMap(deployedContractsMap, (_, contracts) => this.router(contracts).address);
|
|
20
17
|
// All routers, including those that were deployed and those with existing deployments.
|
|
21
|
-
const allRouters =
|
|
18
|
+
const allRouters = objMerge(deployedRouters, foreignRouters);
|
|
22
19
|
const allChains = Object.keys(allRouters);
|
|
23
20
|
for (const [chain, contracts] of Object.entries(deployedContractsMap)) {
|
|
24
21
|
const allRemoteChains = this.multiProvider
|
|
@@ -27,7 +24,7 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
27
24
|
const enrollEntries = await Promise.all(allRemoteChains.map(async (remote) => {
|
|
28
25
|
const remoteDomain = this.multiProvider.getDomainId(remote);
|
|
29
26
|
const current = await this.router(contracts).routers(remoteDomain);
|
|
30
|
-
const expected =
|
|
27
|
+
const expected = addressToBytes32(allRouters[remote]);
|
|
31
28
|
return current !== expected ? [remoteDomain, expected] : undefined;
|
|
32
29
|
}));
|
|
33
30
|
const entries = enrollEntries.filter((entry) => entry !== undefined);
|
|
@@ -39,31 +36,30 @@ class HyperlaneRouterDeployer extends HyperlaneDeployer_1.HyperlaneDeployer {
|
|
|
39
36
|
}
|
|
40
37
|
await super.runIfOwner(chain, this.router(contracts), async () => {
|
|
41
38
|
const chains = domains.map((id) => this.multiProvider.getChainName(id));
|
|
42
|
-
this.logger(`Enrolling remote routers (${chains.join(', ')}) on ${chain}`);
|
|
39
|
+
this.logger.debug(`Enrolling remote routers (${chains.join(', ')}) on ${chain}`);
|
|
43
40
|
await this.multiProvider.handleTx(chain, this.router(contracts).enrollRemoteRouters(domains, addresses, this.multiProvider.getTransactionOverrides(chain)));
|
|
44
41
|
});
|
|
45
42
|
}
|
|
46
43
|
}
|
|
47
44
|
async transferOwnership(contractsMap, configMap) {
|
|
48
|
-
this.logger(`Transferring ownership of ownables...`);
|
|
45
|
+
this.logger.debug(`Transferring ownership of ownables...`);
|
|
49
46
|
for (const chain of Object.keys(contractsMap)) {
|
|
50
47
|
const contracts = contractsMap[chain];
|
|
51
|
-
const ownables = (await
|
|
48
|
+
const ownables = (await filterOwnableContracts(contracts));
|
|
52
49
|
await this.transferOwnershipOfContracts(chain, configMap[chain], ownables);
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
52
|
async deploy(configMap) {
|
|
56
53
|
// Only deploy on chains that don't have foreign deployments.
|
|
57
|
-
const configMapToDeploy =
|
|
54
|
+
const configMapToDeploy = objFilter(configMap, (_chainName, config) => !config.foreignDeployment);
|
|
58
55
|
// Create a map of chains that have foreign deployments.
|
|
59
|
-
const foreignDeployments =
|
|
56
|
+
const foreignDeployments = objFilter(objMap(configMap, (_, config) => config.foreignDeployment), (_chainName, foreignDeployment) => foreignDeployment !== undefined);
|
|
60
57
|
const deployedContractsMap = await super.deploy(configMapToDeploy);
|
|
61
58
|
await this.enrollRemoteRouters(deployedContractsMap, configMap, foreignDeployments);
|
|
62
59
|
await this.configureClients(deployedContractsMap, configMap);
|
|
63
60
|
await this.transferOwnership(deployedContractsMap, configMap);
|
|
64
|
-
this.logger(`Finished deploying router contracts for all chains.`);
|
|
61
|
+
this.logger.debug(`Finished deploying router contracts for all chains.`);
|
|
65
62
|
return deployedContractsMap;
|
|
66
63
|
}
|
|
67
64
|
}
|
|
68
|
-
exports.HyperlaneRouterDeployer = HyperlaneRouterDeployer;
|
|
69
65
|
//# sourceMappingURL=HyperlaneRouterDeployer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneRouterDeployer.js","sourceRoot":"","sources":["../../src/router/HyperlaneRouterDeployer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAInE,MAAM,OAAgB,uBAGpB,SAAQ,iBAAoC;IAG5C,KAAK,CAAC,gBAAgB,CACpB,YAA8C,EAC9C,SAA2B;QAE3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,oBAAsD,EACtD,CAAmB,EACnB,iBAAoC,EAAE;QAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,gEAAgE,CACjE,CAAC;QAEF,wCAAwC;QAExC,8BAA8B;QAC9B,MAAM,eAAe,GAAsB,MAAM,CAC/C,oBAAoB,EACpB,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CACjD,CAAC;QACF,uFAAuF;QACvF,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAE7D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACtE,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa;iBACvC,eAAe,CAAC,KAAK,CAAC;iBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACnC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtD,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,CAAC,CAAC,CACH,CAAC;YACF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAClC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,KAAK,SAAS,CAC1D,CAAC;YACF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YAExD,oCAAoC;YACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,EAAE;gBAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6BAA6B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAC9D,CAAC;gBACF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,mBAAmB,CACxC,OAAO,EACP,SAAS,EACT,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAClD,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,YAA8C,EAC9C,SAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,CAAC,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAExD,CAAC;YACF,MAAM,IAAI,CAAC,4BAA4B,CACrC,KAAK,EACL,SAAS,CAAC,KAAK,CAAC,EAChB,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,SAA2B;QAE3B,6DAA6D;QAC7D,MAAM,iBAAiB,GAAG,SAAS,CACjC,SAAS,EACT,CAAC,UAAU,EAAE,MAAM,EAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CACpE,CAAC;QAEF,wDAAwD;QACxD,MAAM,kBAAkB,GAAsB,SAAS,CACrD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAC1D,CAAC,UAAU,EAAE,iBAAiB,EAA+B,EAAE,CAC7D,iBAAiB,KAAK,SAAS,CAClC,CAAC;QAEF,MAAM,oBAAoB,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEnE,MAAM,IAAI,CAAC,mBAAmB,CAC5B,oBAAoB,EACpB,SAAS,EACT,kBAAkB,CACnB,CAAC;QACF,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAEzE,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Address, Domain, ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
|
-
import { AdapterClassType, MultiProtocolApp } from '../app/MultiProtocolApp';
|
|
3
|
-
import { ChainMap, ChainName } from '../types';
|
|
4
|
-
import { IGasRouterAdapter, IRouterAdapter } from './adapters/types';
|
|
5
|
-
import { RouterAddress } from './types';
|
|
6
|
-
export { Router } from '@hyperlane-xyz/core';
|
|
2
|
+
import { AdapterClassType, MultiProtocolApp } from '../app/MultiProtocolApp.js';
|
|
3
|
+
import { ChainMap, ChainName } from '../types.js';
|
|
4
|
+
import { IGasRouterAdapter, IRouterAdapter } from './adapters/types.js';
|
|
5
|
+
import { RouterAddress } from './types.js';
|
|
7
6
|
export declare class MultiProtocolRouterApp<IAdapterApi extends IRouterAdapter = IRouterAdapter, ContractAddrs extends RouterAddress = RouterAddress> extends MultiProtocolApp<IAdapterApi, ContractAddrs> {
|
|
8
7
|
protocolToAdapter(protocol: ProtocolType): AdapterClassType<IAdapterApi>;
|
|
9
8
|
router(chain: ChainName): Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolRouterApps.d.ts","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MultiProtocolRouterApps.d.ts","sourceRoot":"","sources":["../../src/router/MultiProtocolRouterApps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUlD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,sBAAsB,CACjC,WAAW,SAAS,cAAc,GAAG,cAAc,EACnD,aAAa,SAAS,aAAa,GAAG,aAAa,CACnD,SAAQ,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC;IAC3C,iBAAiB,CACxB,QAAQ,EAAE,YAAY,GACrB,gBAAgB,CAAC,WAAW,CAAC;IAShC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAIjC,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAIvD,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAIpC,aAAa,CACX,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAGxD;AAED,qBAAa,yBAAyB,CACpC,WAAW,SAAS,iBAAiB,GAAG,iBAAiB,EACzD,aAAa,SAAS,aAAa,GAAG,aAAa,CACnD,SAAQ,sBAAsB,CAAC,WAAW,EAAE,aAAa,CAAC;IACjD,iBAAiB,CACxB,QAAQ,EAAE,YAAY,GACrB,gBAAgB,CAAC,WAAW,CAAC;IAS1B,eAAe,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,MAAM,CAAC;CAGnB"}
|