@hyperlane-xyz/sdk 3.10.0 → 3.10.1-beta0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/app/HyperlaneApp.d.ts +4 -4
- package/dist/app/HyperlaneApp.d.ts.map +1 -1
- package/dist/app/HyperlaneApp.js +10 -11
- package/dist/app/HyperlaneApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.d.ts +6 -6
- package/dist/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +25 -39
- package/dist/app/MultiProtocolApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.test.js +15 -17
- package/dist/app/MultiProtocolApp.test.js.map +1 -1
- package/dist/consts/bytecode.d.ts +8 -8
- package/dist/consts/bytecode.d.ts.map +1 -1
- package/dist/consts/bytecode.js +2 -5
- package/dist/consts/bytecode.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +5 -2
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +295 -206
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +3 -0
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +19 -16
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/crud.d.ts +2 -0
- package/dist/consts/crud.d.ts.map +1 -0
- package/dist/consts/crud.js +2 -0
- package/dist/consts/crud.js.map +1 -0
- package/dist/consts/environments/index.d.ts +56 -50
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +5 -11
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/mainnet.json +54 -45
- package/dist/consts/igp.js +1 -4
- package/dist/consts/igp.js.map +1 -1
- package/dist/consts/mailbox.js +1 -4
- package/dist/consts/mailbox.js.map +1 -1
- package/dist/consts/multisigIsm.d.ts +2 -2
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +59 -46
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/sealevel.js +1 -4
- package/dist/consts/sealevel.js.map +1 -1
- package/dist/contracts/contracts.d.ts +4 -4
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +32 -47
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/contracts/types.d.ts +1 -1
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js +1 -2
- package/dist/core/CoreDeployer.hardhat-test.js +83 -50
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +15 -9
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +77 -35
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +6 -8
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/HyperlaneCoreChecker.d.ts +6 -6
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreChecker.js +25 -28
- package/dist/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +12 -12
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +16 -17
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +7 -7
- package/dist/core/MultiProtocolCore.d.ts.map +1 -1
- package/dist/core/MultiProtocolCore.js +18 -19
- package/dist/core/MultiProtocolCore.js.map +1 -1
- package/dist/core/MultiProtocolCore.test.js +30 -32
- package/dist/core/MultiProtocolCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +3 -3
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +11 -14
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +5 -5
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +7 -11
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/TestRecipientDeployer.d.ts +5 -5
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -1
- package/dist/core/TestRecipientDeployer.js +8 -12
- package/dist/core/TestRecipientDeployer.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +6 -6
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.js +12 -13
- package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js +11 -13
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +4 -4
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -1
- package/dist/core/adapters/CosmWasmIgpAdapter.js +5 -6
- package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.d.ts +6 -6
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/EvmCoreAdapter.js +12 -12
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +5 -5
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.js +14 -15
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -1
- package/dist/core/adapters/SealevelCoreAdapter.test.js +5 -7
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -1
- package/dist/core/adapters/types.d.ts +3 -3
- package/dist/core/adapters/types.d.ts.map +1 -1
- package/dist/core/adapters/types.js +1 -2
- package/dist/core/contracts.d.ts +1 -1
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +5 -8
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/events.d.ts +1 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/events.js +1 -2
- package/dist/core/read.d.ts +28 -0
- package/dist/core/read.d.ts.map +1 -0
- package/dist/core/read.js +44 -0
- package/dist/core/read.js.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +29 -31
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/core/types.d.ts +6 -6
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +4 -7
- package/dist/core/types.js.map +1 -1
- package/dist/cw-types/Cw20Base.types.js +1 -2
- package/dist/cw-types/Cw20Base.types.js.map +1 -1
- package/dist/cw-types/HookAggregate.types.js +1 -2
- package/dist/cw-types/HookAggregate.types.js.map +1 -1
- package/dist/cw-types/HookMerkle.types.js +1 -2
- package/dist/cw-types/HookMerkle.types.js.map +1 -1
- package/dist/cw-types/HookPausable.types.js +1 -2
- package/dist/cw-types/HookPausable.types.js.map +1 -1
- package/dist/cw-types/HookRouting.types.js +1 -2
- package/dist/cw-types/HookRouting.types.js.map +1 -1
- package/dist/cw-types/HookRoutingCustom.types.js +1 -2
- package/dist/cw-types/HookRoutingCustom.types.js.map +1 -1
- package/dist/cw-types/HookRoutingFallback.types.js +1 -2
- package/dist/cw-types/HookRoutingFallback.types.js.map +1 -1
- package/dist/cw-types/Igp.types.js +1 -2
- package/dist/cw-types/Igp.types.js.map +1 -1
- package/dist/cw-types/IgpOracle.types.js +1 -2
- package/dist/cw-types/IgpOracle.types.js.map +1 -1
- package/dist/cw-types/IsmAggregate.types.js +1 -2
- package/dist/cw-types/IsmAggregate.types.js.map +1 -1
- package/dist/cw-types/IsmMultisig.types.js +1 -2
- package/dist/cw-types/IsmMultisig.types.js.map +1 -1
- package/dist/cw-types/IsmRouting.types.js +1 -2
- package/dist/cw-types/IsmRouting.types.js.map +1 -1
- package/dist/cw-types/Mailbox.types.js +1 -2
- package/dist/cw-types/Mailbox.types.js.map +1 -1
- package/dist/cw-types/ValidatorAnnounce.types.js +1 -2
- package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -1
- package/dist/cw-types/WarpCw20.types.js +1 -2
- package/dist/cw-types/WarpCw20.types.js.map +1 -1
- package/dist/cw-types/WarpNative.types.js +1 -2
- package/dist/cw-types/WarpNative.types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +5 -5
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +36 -36
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +11 -11
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +55 -56
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +6 -6
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +7 -11
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -1
- package/dist/deploy/contracts.js +8 -11
- package/dist/deploy/contracts.js.map +1 -1
- package/dist/deploy/proxy.js +9 -16
- package/dist/deploy/proxy.js.map +1 -1
- package/dist/deploy/schemas.d.ts +70 -0
- package/dist/deploy/schemas.d.ts.map +1 -0
- package/dist/deploy/schemas.js +7 -0
- package/dist/deploy/schemas.js.map +1 -0
- package/dist/deploy/types.d.ts +15 -6
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +7 -11
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +3 -3
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +35 -38
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +5 -5
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +12 -14
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -1
- package/dist/deploy/verify/types.js +7 -10
- package/dist/deploy/verify/types.js.map +1 -1
- package/dist/deploy/verify/utils.d.ts +1 -1
- package/dist/deploy/verify/utils.d.ts.map +1 -1
- package/dist/deploy/verify/utils.js +4 -11
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/gas/HyperlaneIgp.d.ts +6 -6
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgp.js +9 -13
- package/dist/gas/HyperlaneIgp.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts +4 -4
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +20 -24
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts +7 -7
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +12 -16
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +4 -4
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.js +11 -12
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -1
- package/dist/gas/adapters/serialization.js +33 -19
- package/dist/gas/adapters/serialization.js.map +1 -1
- package/dist/gas/contracts.js +5 -8
- package/dist/gas/contracts.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +14 -15
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
- package/dist/gas/oracle/types.js +9 -14
- package/dist/gas/oracle/types.js.map +1 -1
- package/dist/gas/token-prices.d.ts +2 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +17 -17
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/gas/token-prices.test.js +10 -12
- package/dist/gas/token-prices.test.js.map +1 -1
- package/dist/gas/types.d.ts +4 -4
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js +2 -5
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.d.ts +16 -16
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +40 -41
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/contracts.js +11 -14
- package/dist/hook/contracts.js.map +1 -1
- package/dist/hook/read.d.ts +36 -0
- package/dist/hook/read.d.ts.map +1 -0
- package/dist/hook/read.js +191 -0
- package/dist/hook/read.js.map +1 -0
- package/dist/hook/read.test.d.ts +2 -0
- package/dist/hook/read.test.d.ts.map +1 -0
- package/dist/hook/read.test.js +151 -0
- package/dist/hook/read.test.js.map +1 -0
- package/dist/hook/types.d.ts +17 -6
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +16 -5
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +116 -107
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +106 -323
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts +8 -8
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +99 -75
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +57 -62
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +5 -5
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -1
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js +9 -10
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -1
- package/dist/ism/multisig.d.ts +2 -2
- package/dist/ism/multisig.d.ts.map +1 -1
- package/dist/ism/multisig.js +9 -14
- package/dist/ism/multisig.js.map +1 -1
- package/dist/ism/read.d.ts +29 -0
- package/dist/ism/read.d.ts.map +1 -0
- package/dist/ism/read.js +152 -0
- package/dist/ism/read.js.map +1 -0
- package/dist/ism/read.test.d.ts +2 -0
- package/dist/ism/read.test.d.ts.map +1 -0
- package/dist/ism/read.test.js +125 -0
- package/dist/ism/read.test.js.map +1 -0
- package/dist/ism/schemas.d.ts +177 -0
- package/dist/ism/schemas.d.ts.map +1 -0
- package/dist/ism/schemas.js +59 -0
- package/dist/ism/schemas.js.map +1 -0
- package/dist/ism/schemas.test.d.ts +2 -0
- package/dist/ism/schemas.test.d.ts.map +1 -0
- package/dist/ism/schemas.test.js +18 -0
- package/dist/ism/schemas.test.js.map +1 -0
- package/dist/ism/types.d.ts +14 -7
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +9 -12
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts +5 -5
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +79 -78
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +2 -2
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +19 -22
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +340 -340
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +100 -104
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/agentConfig.test.js +12 -14
- package/dist/metadata/agentConfig.test.js.map +1 -1
- package/dist/metadata/blockExplorer.d.ts +1 -1
- package/dist/metadata/blockExplorer.d.ts.map +1 -1
- package/dist/metadata/blockExplorer.js +12 -20
- package/dist/metadata/blockExplorer.js.map +1 -1
- package/dist/metadata/chainMetadata.test.js +22 -24
- package/dist/metadata/chainMetadata.test.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +233 -1
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +91 -79
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/customZodTypes.js +6 -9
- package/dist/metadata/customZodTypes.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.js +8 -11
- package/dist/metadata/deploymentArtifacts.js.map +1 -1
- package/dist/metadata/health.d.ts +2 -2
- package/dist/metadata/health.d.ts.map +1 -1
- package/dist/metadata/health.js +26 -34
- package/dist/metadata/health.js.map +1 -1
- package/dist/metadata/matchingList.js +9 -12
- package/dist/metadata/matchingList.js.map +1 -1
- package/dist/metadata/warpRouteConfig.d.ts +2 -2
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -1
- package/dist/metadata/warpRouteConfig.js +18 -21
- package/dist/metadata/warpRouteConfig.js.map +1 -1
- package/dist/middleware/account/InterchainAccount.d.ts +7 -7
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +17 -22
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.d.ts +6 -6
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountChecker.js +4 -8
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +7 -7
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +8 -12
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +29 -31
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/contracts.js +6 -9
- package/dist/middleware/account/contracts.js.map +1 -1
- package/dist/middleware/account/schemas.d.ts +21 -0
- package/dist/middleware/account/schemas.d.ts.map +1 -0
- package/dist/middleware/account/schemas.js +11 -0
- package/dist/middleware/account/schemas.js.map +1 -0
- package/dist/middleware/account/types.d.ts +1 -1
- package/dist/middleware/account/types.d.ts.map +1 -1
- package/dist/middleware/account/types.js +1 -2
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +6 -6
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +23 -24
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +7 -7
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +15 -19
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/middleware/liquidity-layer/contracts.js +7 -10
- package/dist/middleware/liquidity-layer/contracts.js.map +1 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +36 -38
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/query/InterchainQuery.d.ts +5 -5
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQuery.js +7 -11
- package/dist/middleware/query/InterchainQuery.js.map +1 -1
- package/dist/middleware/query/InterchainQueryChecker.d.ts +4 -4
- package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryChecker.js +2 -6
- package/dist/middleware/query/InterchainQueryChecker.js.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +6 -6
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -1
- package/dist/middleware/query/InterchainQueryDeployer.js +7 -11
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -1
- package/dist/middleware/query/contracts.js +5 -8
- package/dist/middleware/query/contracts.js.map +1 -1
- package/dist/middleware/query/queries.hardhat-test.js +32 -34
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.d.ts +7 -7
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +33 -34
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProtocolProvider.test.js +12 -14
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +4 -4
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +24 -22
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.js +8 -11
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +2 -2
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +16 -18
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +2 -2
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +26 -28
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -1
- package/dist/providers/SmartProvider/ProviderMethods.js +5 -9
- package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.d.ts +5 -5
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +22 -24
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.js +38 -36
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -1
- package/dist/providers/SmartProvider/SmartProvider.test.js +45 -47
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -1
- package/dist/providers/SmartProvider/types.d.ts +1 -1
- package/dist/providers/SmartProvider/types.d.ts.map +1 -1
- package/dist/providers/SmartProvider/types.js +2 -5
- package/dist/providers/SmartProvider/types.js.map +1 -1
- package/dist/providers/providerBuilders.d.ts +3 -3
- package/dist/providers/providerBuilders.d.ts.map +1 -1
- package/dist/providers/providerBuilders.js +38 -48
- package/dist/providers/providerBuilders.js.map +1 -1
- package/dist/providers/transactionFeeEstimators.d.ts +2 -2
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -1
- package/dist/providers/transactionFeeEstimators.js +40 -50
- package/dist/providers/transactionFeeEstimators.js.map +1 -1
- package/dist/router/GasRouterDeployer.d.ts +4 -4
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +2 -6
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts +7 -7
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +24 -26
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.d.ts +4 -4
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterDeployer.js +10 -14
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.d.ts +4 -5
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -1
- package/dist/router/MultiProtocolRouterApps.js +14 -19
- package/dist/router/MultiProtocolRouterApps.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.test.js +13 -15
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/router/ProxiedRouterChecker.d.ts +4 -4
- package/dist/router/ProxiedRouterChecker.d.ts.map +1 -1
- package/dist/router/ProxiedRouterChecker.js +2 -6
- package/dist/router/ProxiedRouterChecker.js.map +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts +4 -4
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +9 -13
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/RouterApps.d.ts +5 -6
- package/dist/router/RouterApps.d.ts.map +1 -1
- package/dist/router/RouterApps.js +19 -17
- package/dist/router/RouterApps.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +4 -4
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.js +11 -13
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +4 -4
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.js +6 -8
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
- package/dist/router/adapters/types.d.ts +2 -2
- package/dist/router/adapters/types.d.ts.map +1 -1
- package/dist/router/adapters/types.js +1 -2
- package/dist/router/schemas.d.ts +71 -0
- package/dist/router/schemas.d.ts.map +1 -0
- package/dist/router/schemas.js +16 -0
- package/dist/router/schemas.js.map +1 -0
- package/dist/router/types.d.ts +8 -15
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js +8 -11
- package/dist/router/types.js.map +1 -1
- package/dist/test/metadata-check.js +17 -19
- package/dist/test/metadata-check.js.map +1 -1
- package/dist/test/testUtils.d.ts +8 -8
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +29 -34
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/IToken.d.ts +27 -27
- package/dist/token/IToken.d.ts.map +1 -1
- package/dist/token/IToken.js +18 -21
- package/dist/token/IToken.js.map +1 -1
- package/dist/token/Token.d.ts +7 -7
- package/dist/token/Token.d.ts.map +1 -1
- package/dist/token/Token.js +77 -80
- package/dist/token/Token.js.map +1 -1
- package/dist/token/Token.test.js +68 -70
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenAmount.d.ts +1 -1
- package/dist/token/TokenAmount.d.ts.map +1 -1
- package/dist/token/TokenAmount.js +5 -7
- package/dist/token/TokenAmount.js.map +1 -1
- package/dist/token/TokenAmount.test.js +22 -24
- package/dist/token/TokenAmount.test.js.map +1 -1
- package/dist/token/TokenConnection.d.ts +4 -4
- package/dist/token/TokenConnection.d.ts.map +1 -1
- package/dist/token/TokenConnection.js +26 -31
- package/dist/token/TokenConnection.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +2 -2
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +54 -57
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +9 -9
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.js +28 -19
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js +39 -47
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +6 -6
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.js +22 -19
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +6 -6
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +36 -28
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/ITokenAdapter.js +1 -2
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +7 -7
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +68 -61
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/adapters/serialization.d.ts +1 -1
- package/dist/token/adapters/serialization.d.ts.map +1 -1
- package/dist/token/adapters/serialization.js +58 -28
- package/dist/token/adapters/serialization.js.map +1 -1
- package/dist/token/app.d.ts +11 -0
- package/dist/token/app.d.ts.map +1 -0
- package/dist/token/app.js +22 -0
- package/dist/token/app.js.map +1 -0
- package/dist/token/checker.d.ts +10 -0
- package/dist/token/checker.d.ts.map +1 -0
- package/dist/token/checker.js +73 -0
- package/dist/token/checker.js.map +1 -0
- package/dist/token/config.d.ts +10 -5
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +10 -21
- package/dist/token/config.js.map +1 -1
- package/dist/token/contracts.d.ts +9 -0
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +34 -34
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +11 -11
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +16 -18
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +67 -68
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/schemas.d.ts +375 -0
- package/dist/token/schemas.d.ts.map +1 -0
- package/dist/token/schemas.js +48 -0
- package/dist/token/schemas.js.map +1 -0
- package/dist/token/schemas.test.d.ts +2 -0
- package/dist/token/schemas.test.d.ts.map +1 -0
- package/dist/token/schemas.test.js +85 -0
- package/dist/token/schemas.test.js.map +1 -0
- package/dist/token/types.d.ts +5 -0
- package/dist/token/types.d.ts.map +1 -0
- package/dist/token/types.js +2 -0
- package/dist/token/types.js.map +1 -0
- package/dist/types.js +1 -2
- package/dist/utils/MultiGeneric.d.ts +2 -2
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +5 -8
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/fetch.js +3 -10
- package/dist/utils/fetch.js.map +1 -1
- package/dist/utils/filter.d.ts +1 -1
- package/dist/utils/filter.d.ts.map +1 -1
- package/dist/utils/filter.js +1 -5
- package/dist/utils/filter.js.map +1 -1
- package/dist/utils/fork.d.ts +38 -0
- package/dist/utils/fork.d.ts.map +1 -0
- package/dist/utils/fork.js +89 -0
- package/dist/utils/fork.js.map +1 -0
- package/dist/utils/ism.js +5 -12
- package/dist/utils/ism.js.map +1 -1
- package/dist/utils/sealevelSerialization.js +10 -9
- package/dist/utils/sealevelSerialization.js.map +1 -1
- package/dist/utils/wagmi.d.ts +2 -2
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +7 -11
- package/dist/utils/wagmi.js.map +1 -1
- package/dist/warp/WarpCore.d.ts +7 -7
- package/dist/warp/WarpCore.d.ts.map +1 -1
- package/dist/warp/WarpCore.js +37 -35
- package/dist/warp/WarpCore.js.map +1 -1
- package/dist/warp/WarpCore.test.js +67 -73
- package/dist/warp/WarpCore.test.js.map +1 -1
- package/dist/warp/types.d.ts +39 -39
- package/dist/warp/types.d.ts.map +1 -1
- package/dist/warp/types.js +17 -20
- package/dist/warp/types.js.map +1 -1
- package/package.json +19 -10
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Router } from '@hyperlane-xyz/core';
|
|
2
|
-
import { HyperlaneContracts } from '../../contracts/types';
|
|
3
|
-
import { ContractVerifier } from '../../deploy/verify/ContractVerifier';
|
|
4
|
-
import { MultiProvider } from '../../providers/MultiProvider';
|
|
5
|
-
import { ProxiedRouterDeployer } from '../../router/ProxiedRouterDeployer';
|
|
6
|
-
import { RouterConfig } from '../../router/types';
|
|
7
|
-
import { InterchainQueryFactories } from './contracts';
|
|
2
|
+
import { HyperlaneContracts } from '../../contracts/types.js';
|
|
3
|
+
import { ContractVerifier } from '../../deploy/verify/ContractVerifier.js';
|
|
4
|
+
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
5
|
+
import { ProxiedRouterDeployer } from '../../router/ProxiedRouterDeployer.js';
|
|
6
|
+
import { RouterConfig } from '../../router/types.js';
|
|
7
|
+
import { InterchainQueryFactories } from './contracts.js';
|
|
8
8
|
export type InterchainQueryConfig = RouterConfig;
|
|
9
9
|
export declare class InterchainQueryDeployer extends ProxiedRouterDeployer<InterchainQueryConfig, InterchainQueryFactories> {
|
|
10
10
|
constructor(multiProvider: MultiProvider, contractVerifier?: ContractVerifier);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterchainQueryDeployer.d.ts","sourceRoot":"","sources":["../../../src/middleware/query/InterchainQueryDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"InterchainQueryDeployer.d.ts","sourceRoot":"","sources":["../../../src/middleware/query/InterchainQueryDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,wBAAwB,EAEzB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAEjD,qBAAa,uBAAwB,SAAQ,qBAAqB,CAChE,qBAAqB,EACrB,wBAAwB,CACzB;gBAEG,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB;IAOrC,kBAAkB,IAAI,MAAM;IAI5B,iBAAiB,CAAC,CAAC,SAAS,MAAM,wBAAwB,KAAK,CAAC;IAIhE,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,GAAG,MAAM;IAIjE,eAAe,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAC5D,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAIvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;CAWxE"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const ProxiedRouterDeployer_1 = require("../../router/ProxiedRouterDeployer");
|
|
6
|
-
const contracts_1 = require("./contracts");
|
|
7
|
-
class InterchainQueryDeployer extends ProxiedRouterDeployer_1.ProxiedRouterDeployer {
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { ProxiedRouterDeployer } from '../../router/ProxiedRouterDeployer.js';
|
|
3
|
+
import { interchainQueryFactories, } from './contracts.js';
|
|
4
|
+
export class InterchainQueryDeployer extends ProxiedRouterDeployer {
|
|
8
5
|
constructor(multiProvider, contractVerifier) {
|
|
9
|
-
super(multiProvider,
|
|
6
|
+
super(multiProvider, interchainQueryFactories, {
|
|
10
7
|
contractVerifier,
|
|
11
8
|
});
|
|
12
9
|
}
|
|
@@ -28,11 +25,10 @@ class InterchainQueryDeployer extends ProxiedRouterDeployer_1.ProxiedRouterDeplo
|
|
|
28
25
|
throw new Error('ISM as object unimplemented');
|
|
29
26
|
}
|
|
30
27
|
return [
|
|
31
|
-
config.hook ??
|
|
32
|
-
config.interchainSecurityModule ??
|
|
28
|
+
config.hook ?? ethers.constants.AddressZero,
|
|
29
|
+
config.interchainSecurityModule ?? ethers.constants.AddressZero,
|
|
33
30
|
owner,
|
|
34
31
|
];
|
|
35
32
|
}
|
|
36
33
|
}
|
|
37
|
-
exports.InterchainQueryDeployer = InterchainQueryDeployer;
|
|
38
34
|
//# sourceMappingURL=InterchainQueryDeployer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterchainQueryDeployer.js","sourceRoot":"","sources":["../../../src/middleware/query/InterchainQueryDeployer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"InterchainQueryDeployer.js","sourceRoot":"","sources":["../../../src/middleware/query/InterchainQueryDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAG9E,OAAO,EAEL,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,OAAO,uBAAwB,SAAQ,qBAG5C;IACC,YACE,aAA4B,EAC5B,gBAAmC;QAEnC,KAAK,CAAC,aAAa,EAAE,wBAAwB,EAAE;YAC7C,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;QAChB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,iBAAiB;QACf,OAAO,uBAA4B,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,SAAuD;QAC5D,OAAO,SAAS,CAAC,qBAAqB,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,CAAS,EACT,MAAoB;QAEpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAQ,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,MAAoB;QACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,OAAO,MAAM,CAAC,wBAAwB,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;YACL,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW;YAC3C,MAAM,CAAC,wBAAwB,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW;YAC/D,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.interchainQueryFactories = {
|
|
7
|
-
interchainQueryRouter: new core_1.InterchainQueryRouter__factory(),
|
|
8
|
-
...types_1.proxiedFactories,
|
|
1
|
+
import { InterchainQueryRouter__factory } from '@hyperlane-xyz/core';
|
|
2
|
+
import { proxiedFactories } from '../../router/types.js';
|
|
3
|
+
export const interchainQueryFactories = {
|
|
4
|
+
interchainQueryRouter: new InterchainQueryRouter__factory(),
|
|
5
|
+
...proxiedFactories,
|
|
9
6
|
};
|
|
10
7
|
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/middleware/query/contracts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/middleware/query/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,qBAAqB,EAAE,IAAI,8BAA8B,EAAE;IAC3D,GAAG,gBAAgB;CACpB,CAAC"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const InterchainQueryChecker_1 = require("./InterchainQueryChecker");
|
|
15
|
-
const InterchainQueryDeployer_1 = require("./InterchainQueryDeployer");
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import hre from 'hardhat';
|
|
3
|
+
import { TestQuery__factory, } from '@hyperlane-xyz/core';
|
|
4
|
+
import { addressToBytes32 } from '@hyperlane-xyz/utils';
|
|
5
|
+
import { chainMetadata } from '../../consts/chainMetadata.js';
|
|
6
|
+
import { Chains } from '../../consts/chains.js';
|
|
7
|
+
import { TestCoreDeployer } from '../../core/TestCoreDeployer.js';
|
|
8
|
+
import { HyperlaneProxyFactoryDeployer } from '../../deploy/HyperlaneProxyFactoryDeployer.js';
|
|
9
|
+
import { HyperlaneIsmFactory } from '../../ism/HyperlaneIsmFactory.js';
|
|
10
|
+
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
11
|
+
import { InterchainQuery } from './InterchainQuery.js';
|
|
12
|
+
import { InterchainQueryChecker } from './InterchainQueryChecker.js';
|
|
13
|
+
import { InterchainQueryDeployer } from './InterchainQueryDeployer.js';
|
|
16
14
|
describe.skip('InterchainQueryRouter', async () => {
|
|
17
|
-
const localChain =
|
|
18
|
-
const remoteChain =
|
|
19
|
-
const localDomain =
|
|
20
|
-
const remoteDomain =
|
|
15
|
+
const localChain = Chains.test1;
|
|
16
|
+
const remoteChain = Chains.test2;
|
|
17
|
+
const localDomain = chainMetadata[localChain].chainId;
|
|
18
|
+
const remoteDomain = chainMetadata[remoteChain].chainId;
|
|
21
19
|
let contracts;
|
|
22
20
|
let signer;
|
|
23
21
|
let local;
|
|
@@ -27,44 +25,44 @@ describe.skip('InterchainQueryRouter', async () => {
|
|
|
27
25
|
let config;
|
|
28
26
|
let testQuery;
|
|
29
27
|
before(async () => {
|
|
30
|
-
[signer] = await
|
|
31
|
-
multiProvider =
|
|
32
|
-
const ismFactoryDeployer = new
|
|
33
|
-
const ismFactory = new
|
|
34
|
-
coreApp = await new
|
|
28
|
+
[signer] = await hre.ethers.getSigners();
|
|
29
|
+
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
30
|
+
const ismFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider);
|
|
31
|
+
const ismFactory = new HyperlaneIsmFactory(await ismFactoryDeployer.deploy(multiProvider.mapKnownChains(() => ({}))), multiProvider);
|
|
32
|
+
coreApp = await new TestCoreDeployer(multiProvider, ismFactory).deployApp();
|
|
35
33
|
config = coreApp.getRouterConfig(signer.address);
|
|
36
34
|
});
|
|
37
35
|
beforeEach(async () => {
|
|
38
|
-
contracts = await new
|
|
36
|
+
contracts = await new InterchainQueryDeployer(multiProvider).deploy(config);
|
|
39
37
|
local = contracts[localChain].interchainQueryRouter;
|
|
40
38
|
remote = contracts[remoteChain].interchainQueryRouter;
|
|
41
|
-
testQuery = await new
|
|
39
|
+
testQuery = await new TestQuery__factory(signer).deploy(local.address);
|
|
42
40
|
});
|
|
43
41
|
it('checks', async () => {
|
|
44
|
-
const app = new
|
|
45
|
-
const checker = new
|
|
42
|
+
const app = new InterchainQuery(contracts, multiProvider);
|
|
43
|
+
const checker = new InterchainQueryChecker(multiProvider, app, config);
|
|
46
44
|
await checker.check();
|
|
47
|
-
|
|
45
|
+
expect(checker.violations.length).to.eql(0);
|
|
48
46
|
});
|
|
49
47
|
it('completes query round trip and invokes callback', async () => {
|
|
50
48
|
const secret = 123;
|
|
51
49
|
const sender = testQuery.address;
|
|
52
|
-
const bytes32sender =
|
|
50
|
+
const bytes32sender = addressToBytes32(sender);
|
|
53
51
|
const expectedOwner = await remote.owner();
|
|
54
|
-
await
|
|
52
|
+
await expect(testQuery.queryRouterOwner(remoteDomain, secret))
|
|
55
53
|
.to.emit(local, 'QueryDispatched')
|
|
56
54
|
.withArgs(remoteDomain, sender);
|
|
57
55
|
const result = await coreApp.processOutboundMessages(localChain);
|
|
58
56
|
const response = result.get(remoteChain)[0];
|
|
59
|
-
await
|
|
57
|
+
await expect(response)
|
|
60
58
|
.to.emit(remote, 'QueryExecuted')
|
|
61
59
|
.withArgs(localDomain, bytes32sender);
|
|
62
60
|
const result2 = await coreApp.processOutboundMessages(remoteChain);
|
|
63
61
|
const response2 = result2.get(localChain)[0];
|
|
64
|
-
await
|
|
62
|
+
await expect(response2)
|
|
65
63
|
.to.emit(local, 'QueryResolved')
|
|
66
64
|
.withArgs(remoteDomain, sender);
|
|
67
|
-
await
|
|
65
|
+
await expect(response2)
|
|
68
66
|
.to.emit(testQuery, 'Owner')
|
|
69
67
|
.withArgs(secret, expectedOwner);
|
|
70
68
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.hardhat-test.js","sourceRoot":"","sources":["../../../src/middleware/query/queries.hardhat-test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queries.hardhat-test.js","sourceRoot":"","sources":["../../../src/middleware/query/queries.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Logger } from 'pino';
|
|
2
2
|
import { Address, HexString } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { ChainMetadataManager } from '../metadata/ChainMetadataManager';
|
|
4
|
-
import type { ChainMetadata } from '../metadata/chainMetadataTypes';
|
|
5
|
-
import type { ChainMap, ChainName, ChainNameOrId } from '../types';
|
|
6
|
-
import { MultiProvider, MultiProviderOptions } from './MultiProvider';
|
|
7
|
-
import { CosmJsProvider, CosmJsWasmProvider, EthersV5Provider, ProviderMap, ProviderType, SolanaWeb3Provider, TypedProvider, TypedTransaction, ViemProvider } from './ProviderType';
|
|
8
|
-
import { ProviderBuilderMap } from './providerBuilders';
|
|
9
|
-
import { TransactionFeeEstimate } from './transactionFeeEstimators';
|
|
3
|
+
import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
|
|
4
|
+
import type { ChainMetadata } from '../metadata/chainMetadataTypes.js';
|
|
5
|
+
import type { ChainMap, ChainName, ChainNameOrId } from '../types.js';
|
|
6
|
+
import { MultiProvider, MultiProviderOptions } from './MultiProvider.js';
|
|
7
|
+
import { CosmJsProvider, CosmJsWasmProvider, EthersV5Provider, ProviderMap, ProviderType, SolanaWeb3Provider, TypedProvider, TypedTransaction, ViemProvider } from './ProviderType.js';
|
|
8
|
+
import { ProviderBuilderMap } from './providerBuilders.js';
|
|
9
|
+
import { TransactionFeeEstimate } from './transactionFeeEstimators.js';
|
|
10
10
|
export interface MultiProtocolProviderOptions {
|
|
11
11
|
logger?: Logger;
|
|
12
12
|
providers?: ChainMap<ProviderMap<TypedProvider>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EACL,OAAO,EACP,SAAS,EAKV,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MultiProtocolProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const ProviderType_1 = require("./ProviderType");
|
|
9
|
-
const providerBuilders_1 = require("./providerBuilders");
|
|
10
|
-
const transactionFeeEstimators_1 = require("./transactionFeeEstimators");
|
|
1
|
+
import { objFilter, objMap, pick, rootLogger, } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { chainMetadata as defaultChainMetadata } from '../consts/chainMetadata.js';
|
|
3
|
+
import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
|
|
4
|
+
import { MultiProvider } from './MultiProvider.js';
|
|
5
|
+
import { PROTOCOL_TO_DEFAULT_PROVIDER_TYPE, ProviderType, } from './ProviderType.js';
|
|
6
|
+
import { defaultProviderBuilderMap, } from './providerBuilders.js';
|
|
7
|
+
import { estimateTransactionFee, } from './transactionFeeEstimators.js';
|
|
11
8
|
/**
|
|
12
9
|
* A version of MultiProvider that can support different
|
|
13
10
|
* provider types across different protocol types.
|
|
@@ -18,34 +15,39 @@ const transactionFeeEstimators_1 = require("./transactionFeeEstimators");
|
|
|
18
15
|
* Unlike MultiProvider, this class does not support signer/signing methods (yet).
|
|
19
16
|
* @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
|
|
20
17
|
*/
|
|
21
|
-
class MultiProtocolProvider extends
|
|
22
|
-
|
|
18
|
+
export class MultiProtocolProvider extends ChainMetadataManager {
|
|
19
|
+
options;
|
|
20
|
+
// Chain name -> provider type -> provider
|
|
21
|
+
providers;
|
|
22
|
+
// Chain name -> provider type -> signer
|
|
23
|
+
signers = {}; // TODO signer support
|
|
24
|
+
providerBuilders;
|
|
25
|
+
logger;
|
|
26
|
+
constructor(chainMetadata = defaultChainMetadata, options = {}) {
|
|
23
27
|
super(chainMetadata, options);
|
|
24
28
|
this.options = options;
|
|
25
|
-
// Chain name -> provider type -> signer
|
|
26
|
-
this.signers = {}; // TODO signer support
|
|
27
29
|
this.logger =
|
|
28
30
|
options?.logger ||
|
|
29
|
-
|
|
31
|
+
rootLogger.child({
|
|
30
32
|
module: 'MultiProtocolProvider',
|
|
31
33
|
});
|
|
32
34
|
this.providers = options.providers || {};
|
|
33
35
|
this.providerBuilders =
|
|
34
|
-
options.providerBuilders ||
|
|
36
|
+
options.providerBuilders || defaultProviderBuilderMap;
|
|
35
37
|
}
|
|
36
38
|
static fromMultiProvider(mp, options = {}) {
|
|
37
39
|
const newMp = new MultiProtocolProvider(mp.metadata, options);
|
|
38
|
-
const typedProviders =
|
|
39
|
-
type:
|
|
40
|
+
const typedProviders = objMap(mp.providers, (_, provider) => ({
|
|
41
|
+
type: ProviderType.EthersV5,
|
|
40
42
|
provider,
|
|
41
43
|
}));
|
|
42
44
|
newMp.setProviders(typedProviders);
|
|
43
45
|
return newMp;
|
|
44
46
|
}
|
|
45
47
|
toMultiProvider(options) {
|
|
46
|
-
const newMp = new
|
|
47
|
-
const providers =
|
|
48
|
-
const filteredProviders =
|
|
48
|
+
const newMp = new MultiProvider(this.metadata, options);
|
|
49
|
+
const providers = objMap(this.providers, (_, typeToProviders) => typeToProviders[ProviderType.EthersV5]?.provider);
|
|
50
|
+
const filteredProviders = objFilter(providers, (_, p) => !!p);
|
|
49
51
|
newMp.setProviders(filteredProviders);
|
|
50
52
|
return newMp;
|
|
51
53
|
}
|
|
@@ -58,12 +60,11 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
58
60
|
return newMp;
|
|
59
61
|
}
|
|
60
62
|
tryGetProvider(chainNameOrId, type) {
|
|
61
|
-
var _a;
|
|
62
63
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
63
64
|
if (!metadata)
|
|
64
65
|
return null;
|
|
65
66
|
const { protocol, name, chainId, rpcUrls } = metadata;
|
|
66
|
-
type = type ||
|
|
67
|
+
type = type || PROTOCOL_TO_DEFAULT_PROVIDER_TYPE[protocol];
|
|
67
68
|
if (!type)
|
|
68
69
|
return null;
|
|
69
70
|
if (this.providers[name]?.[type])
|
|
@@ -72,7 +73,7 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
72
73
|
if (!rpcUrls.length || !builder)
|
|
73
74
|
return null;
|
|
74
75
|
const provider = builder(rpcUrls, chainId);
|
|
75
|
-
|
|
76
|
+
this.providers[name] ||= {};
|
|
76
77
|
this.providers[name][type] = provider;
|
|
77
78
|
return provider;
|
|
78
79
|
}
|
|
@@ -89,24 +90,23 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
89
90
|
return provider.provider;
|
|
90
91
|
}
|
|
91
92
|
getEthersV5Provider(chainNameOrId) {
|
|
92
|
-
return this.getSpecificProvider(chainNameOrId,
|
|
93
|
+
return this.getSpecificProvider(chainNameOrId, ProviderType.EthersV5);
|
|
93
94
|
}
|
|
94
95
|
getViemProvider(chainNameOrId) {
|
|
95
|
-
return this.getSpecificProvider(chainNameOrId,
|
|
96
|
+
return this.getSpecificProvider(chainNameOrId, ProviderType.Viem);
|
|
96
97
|
}
|
|
97
98
|
getSolanaWeb3Provider(chainNameOrId) {
|
|
98
|
-
return this.getSpecificProvider(chainNameOrId,
|
|
99
|
+
return this.getSpecificProvider(chainNameOrId, ProviderType.SolanaWeb3);
|
|
99
100
|
}
|
|
100
101
|
getCosmJsProvider(chainNameOrId) {
|
|
101
|
-
return this.getSpecificProvider(chainNameOrId,
|
|
102
|
+
return this.getSpecificProvider(chainNameOrId, ProviderType.CosmJs);
|
|
102
103
|
}
|
|
103
104
|
getCosmJsWasmProvider(chainNameOrId) {
|
|
104
|
-
return this.getSpecificProvider(chainNameOrId,
|
|
105
|
+
return this.getSpecificProvider(chainNameOrId, ProviderType.CosmJsWasm);
|
|
105
106
|
}
|
|
106
107
|
setProvider(chainNameOrId, provider) {
|
|
107
|
-
var _a;
|
|
108
108
|
const chainName = this.getChainName(chainNameOrId);
|
|
109
|
-
|
|
109
|
+
this.providers[chainName] ||= {};
|
|
110
110
|
this.providers[chainName][provider.type] = provider;
|
|
111
111
|
return provider;
|
|
112
112
|
}
|
|
@@ -118,7 +118,7 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
118
118
|
estimateTransactionFee({ chainNameOrId, transaction, sender, senderPubKey, }) {
|
|
119
119
|
const provider = this.getProvider(chainNameOrId, transaction.type);
|
|
120
120
|
const chainMetadata = this.getChainMetadata(chainNameOrId);
|
|
121
|
-
return
|
|
121
|
+
return estimateTransactionFee({
|
|
122
122
|
transaction,
|
|
123
123
|
provider,
|
|
124
124
|
chainMetadata,
|
|
@@ -130,10 +130,9 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
130
130
|
const { intersection, result } = super.intersect(chains, throwIfNotSubset);
|
|
131
131
|
const multiProvider = new MultiProtocolProvider(result.metadata, {
|
|
132
132
|
...this.options,
|
|
133
|
-
providers:
|
|
133
|
+
providers: pick(this.providers, intersection),
|
|
134
134
|
});
|
|
135
135
|
return { intersection, result: multiProvider };
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
-
exports.MultiProtocolProvider = MultiProtocolProvider;
|
|
139
138
|
//# sourceMappingURL=MultiProtocolProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MultiProtocolProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const chains_1 = require("../consts/chains");
|
|
6
|
-
const MultiProtocolProvider_1 = require("../providers/MultiProtocolProvider");
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { ethereum } from '../consts/chainMetadata.js';
|
|
3
|
+
import { Chains } from '../consts/chains.js';
|
|
4
|
+
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
|
|
7
5
|
describe('MultiProtocolProvider', () => {
|
|
8
6
|
describe('constructs', () => {
|
|
9
7
|
it('creates a multi protocol provider without type extension', async () => {
|
|
10
|
-
const multiProvider = new
|
|
11
|
-
const ethMetadata = multiProvider.getChainMetadata(
|
|
12
|
-
|
|
8
|
+
const multiProvider = new MultiProtocolProvider();
|
|
9
|
+
const ethMetadata = multiProvider.getChainMetadata(Chains.ethereum);
|
|
10
|
+
expect(ethMetadata.name).to.equal(Chains.ethereum);
|
|
13
11
|
});
|
|
14
12
|
it('creates a multi protocol provider with type extension', async () => {
|
|
15
|
-
const multiProvider = new
|
|
16
|
-
[
|
|
13
|
+
const multiProvider = new MultiProtocolProvider({
|
|
14
|
+
[Chains.ethereum]: { ...ethereum, foo: '0x123', bar: 1 },
|
|
17
15
|
});
|
|
18
|
-
const ethMetadata = multiProvider.getChainMetadata(
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const ethMetadata = multiProvider.getChainMetadata(Chains.ethereum);
|
|
17
|
+
expect(ethMetadata.foo).to.equal('0x123');
|
|
18
|
+
expect(ethMetadata.bar).to.equal(1);
|
|
21
19
|
});
|
|
22
20
|
});
|
|
23
21
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolProvider.test.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MultiProtocolProvider.test.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAE9E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,aAAa,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,aAAa,GAAG,IAAI,qBAAqB,CAG5C;gBACD,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;aACzD,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BigNumber, ContractFactory, ContractReceipt, ContractTransaction, PopulatedTransaction, Signer, providers } from 'ethers';
|
|
2
2
|
import { Logger } from 'pino';
|
|
3
3
|
import { Address } from '@hyperlane-xyz/utils';
|
|
4
|
-
import { ChainMetadataManager } from '../metadata/ChainMetadataManager';
|
|
5
|
-
import { ChainMetadata } from '../metadata/chainMetadataTypes';
|
|
6
|
-
import { ChainMap, ChainName, ChainNameOrId } from '../types';
|
|
7
|
-
import { ProviderBuilderFn } from './providerBuilders';
|
|
4
|
+
import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
|
|
5
|
+
import { ChainMetadata } from '../metadata/chainMetadataTypes.js';
|
|
6
|
+
import { ChainMap, ChainName, ChainNameOrId } from '../types.js';
|
|
7
|
+
import { ProviderBuilderFn } from './providerBuilders.js';
|
|
8
8
|
type Provider = providers.Provider;
|
|
9
9
|
export interface MultiProviderOptions {
|
|
10
10
|
logger?: Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,SAAS,EACV,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAoB,MAAM,sBAAsB,CAAC;AAIjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const chains_1 = require("../consts/chains");
|
|
8
|
-
const ChainMetadataManager_1 = require("../metadata/ChainMetadataManager");
|
|
9
|
-
const providerBuilders_1 = require("./providerBuilders");
|
|
1
|
+
import { providers, } from 'ethers';
|
|
2
|
+
import { pick, rootLogger } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { chainMetadata as defaultChainMetadata } from '../consts/chainMetadata.js';
|
|
4
|
+
import { TestChains } from '../consts/chains.js';
|
|
5
|
+
import { ChainMetadataManager } from '../metadata/ChainMetadataManager.js';
|
|
6
|
+
import { defaultProviderBuilder, } from './providerBuilders.js';
|
|
10
7
|
/**
|
|
11
8
|
* A utility class to create and manage providers and signers for multiple chains
|
|
12
9
|
* @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
|
|
13
10
|
*/
|
|
14
|
-
class MultiProvider extends
|
|
11
|
+
export class MultiProvider extends ChainMetadataManager {
|
|
12
|
+
options;
|
|
13
|
+
providers;
|
|
14
|
+
providerBuilder;
|
|
15
|
+
signers;
|
|
16
|
+
useSharedSigner = false; // A single signer to be used for all chains
|
|
17
|
+
logger;
|
|
15
18
|
/**
|
|
16
19
|
* Create a new MultiProvider with the given chainMetadata,
|
|
17
20
|
* or the SDK's default metadata if not provided
|
|
@@ -19,14 +22,13 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
19
22
|
constructor(chainMetadata, options = {}) {
|
|
20
23
|
super(chainMetadata, options);
|
|
21
24
|
this.options = options;
|
|
22
|
-
this.useSharedSigner = false; // A single signer to be used for all chains
|
|
23
25
|
this.logger =
|
|
24
26
|
options?.logger ||
|
|
25
|
-
|
|
27
|
+
rootLogger.child({
|
|
26
28
|
module: 'MultiProvider',
|
|
27
29
|
});
|
|
28
30
|
this.providers = options?.providers || {};
|
|
29
|
-
this.providerBuilder = options?.providerBuilder ||
|
|
31
|
+
this.providerBuilder = options?.providerBuilder || defaultProviderBuilder;
|
|
30
32
|
this.signers = options?.signers || {};
|
|
31
33
|
}
|
|
32
34
|
addChain(metadata) {
|
|
@@ -52,8 +54,8 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
52
54
|
const { name, chainId, rpcUrls } = metadata;
|
|
53
55
|
if (this.providers[name])
|
|
54
56
|
return this.providers[name];
|
|
55
|
-
if (
|
|
56
|
-
this.providers[name] = new
|
|
57
|
+
if (TestChains.includes(name)) {
|
|
58
|
+
this.providers[name] = new providers.JsonRpcProvider('http://127.0.0.1:8545', 31337);
|
|
57
59
|
}
|
|
58
60
|
else if (rpcUrls.length) {
|
|
59
61
|
this.providers[name] = this.providerBuilder(rpcUrls, chainId);
|
|
@@ -199,8 +201,8 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
199
201
|
const { intersection, result } = super.intersect(chains, throwIfNotSubset);
|
|
200
202
|
const multiProvider = new MultiProvider(result.metadata, {
|
|
201
203
|
...this.options,
|
|
202
|
-
providers:
|
|
203
|
-
signers:
|
|
204
|
+
providers: pick(this.providers, intersection),
|
|
205
|
+
signers: pick(this.signers, intersection),
|
|
204
206
|
});
|
|
205
207
|
return { intersection, result: multiProvider };
|
|
206
208
|
}
|
|
@@ -234,13 +236,14 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
234
236
|
const signer = this.getSigner(chainNameOrId);
|
|
235
237
|
const contractFactory = await factory.connect(signer);
|
|
236
238
|
// estimate gas
|
|
237
|
-
const deployTx = contractFactory.getDeployTransaction(...params
|
|
239
|
+
const deployTx = contractFactory.getDeployTransaction(...params);
|
|
238
240
|
const gasEstimated = await signer.estimateGas(deployTx);
|
|
239
241
|
// deploy with 10% buffer on gas limit
|
|
240
242
|
const contract = await contractFactory.deploy(...params, {
|
|
241
|
-
...overrides,
|
|
242
243
|
gasLimit: gasEstimated.add(gasEstimated.div(10)), // 10% buffer
|
|
244
|
+
...overrides,
|
|
243
245
|
});
|
|
246
|
+
this.logger.trace({ transaction: deployTx }, `Deploying contract`);
|
|
244
247
|
// wait for deploy tx to be confirmed
|
|
245
248
|
await this.handleTx(chainNameOrId, contract.deployTransaction);
|
|
246
249
|
// return deployed contract
|
|
@@ -300,9 +303,9 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
300
303
|
/**
|
|
301
304
|
* Creates a MultiProvider using the given signer for all test networks
|
|
302
305
|
*/
|
|
303
|
-
static createTestMultiProvider(params = {}, chains =
|
|
306
|
+
static createTestMultiProvider(params = {}, chains = TestChains) {
|
|
304
307
|
const { signer, provider } = params;
|
|
305
|
-
const chainMetadata =
|
|
308
|
+
const chainMetadata = pick(defaultChainMetadata, chains);
|
|
306
309
|
const mp = new MultiProvider(chainMetadata);
|
|
307
310
|
if (signer) {
|
|
308
311
|
mp.setSharedSigner(signer);
|
|
@@ -316,5 +319,4 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
316
319
|
return mp;
|
|
317
320
|
}
|
|
318
321
|
}
|
|
319
|
-
exports.MultiProvider = MultiProvider;
|
|
320
322
|
//# sourceMappingURL=MultiProvider.js.map
|