@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,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,13 +1,13 @@
|
|
|
1
|
-
import { Debugger } from 'debug';
|
|
2
1
|
import { BigNumber, ContractFactory, ContractReceipt, ContractTransaction, PopulatedTransaction, Signer, providers } from 'ethers';
|
|
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;
|
|
11
11
|
providers?: ChainMap<Provider>;
|
|
12
12
|
providerBuilder?: ProviderBuilderFn<Provider>;
|
|
13
13
|
signers?: ChainMap<Signer>;
|
|
@@ -22,7 +22,7 @@ export declare class MultiProvider<MetaExt = {}> extends ChainMetadataManager<Me
|
|
|
22
22
|
readonly providerBuilder: ProviderBuilderFn<Provider>;
|
|
23
23
|
signers: ChainMap<Signer>;
|
|
24
24
|
useSharedSigner: boolean;
|
|
25
|
-
readonly logger:
|
|
25
|
+
readonly logger: Logger;
|
|
26
26
|
/**
|
|
27
27
|
* Create a new MultiProvider with the given chainMetadata,
|
|
28
28
|
* or the SDK's default metadata if not provided
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
8
|
-
const chains_1 = require("../consts/chains");
|
|
9
|
-
const ChainMetadataManager_1 = require("../metadata/ChainMetadataManager");
|
|
10
|
-
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';
|
|
11
7
|
/**
|
|
12
8
|
* A utility class to create and manage providers and signers for multiple chains
|
|
13
9
|
* @typeParam MetaExt - Extra metadata fields for chains (such as contract addresses)
|
|
14
10
|
*/
|
|
15
|
-
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;
|
|
16
18
|
/**
|
|
17
19
|
* Create a new MultiProvider with the given chainMetadata,
|
|
18
20
|
* or the SDK's default metadata if not provided
|
|
@@ -20,10 +22,13 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
20
22
|
constructor(chainMetadata, options = {}) {
|
|
21
23
|
super(chainMetadata, options);
|
|
22
24
|
this.options = options;
|
|
23
|
-
this.
|
|
24
|
-
|
|
25
|
+
this.logger =
|
|
26
|
+
options?.logger ||
|
|
27
|
+
rootLogger.child({
|
|
28
|
+
module: 'MultiProvider',
|
|
29
|
+
});
|
|
25
30
|
this.providers = options?.providers || {};
|
|
26
|
-
this.providerBuilder = options?.providerBuilder ||
|
|
31
|
+
this.providerBuilder = options?.providerBuilder || defaultProviderBuilder;
|
|
27
32
|
this.signers = options?.signers || {};
|
|
28
33
|
}
|
|
29
34
|
addChain(metadata) {
|
|
@@ -49,8 +54,8 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
49
54
|
const { name, chainId, rpcUrls } = metadata;
|
|
50
55
|
if (this.providers[name])
|
|
51
56
|
return this.providers[name];
|
|
52
|
-
if (
|
|
53
|
-
this.providers[name] = new
|
|
57
|
+
if (TestChains.includes(name)) {
|
|
58
|
+
this.providers[name] = new providers.JsonRpcProvider('http://127.0.0.1:8545', 31337);
|
|
54
59
|
}
|
|
55
60
|
else if (rpcUrls.length) {
|
|
56
61
|
this.providers[name] = this.providerBuilder(rpcUrls, chainId);
|
|
@@ -196,8 +201,8 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
196
201
|
const { intersection, result } = super.intersect(chains, throwIfNotSubset);
|
|
197
202
|
const multiProvider = new MultiProvider(result.metadata, {
|
|
198
203
|
...this.options,
|
|
199
|
-
providers:
|
|
200
|
-
signers:
|
|
204
|
+
providers: pick(this.providers, intersection),
|
|
205
|
+
signers: pick(this.signers, intersection),
|
|
201
206
|
});
|
|
202
207
|
return { intersection, result: multiProvider };
|
|
203
208
|
}
|
|
@@ -231,13 +236,14 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
231
236
|
const signer = this.getSigner(chainNameOrId);
|
|
232
237
|
const contractFactory = await factory.connect(signer);
|
|
233
238
|
// estimate gas
|
|
234
|
-
const deployTx = contractFactory.getDeployTransaction(...params
|
|
239
|
+
const deployTx = contractFactory.getDeployTransaction(...params);
|
|
235
240
|
const gasEstimated = await signer.estimateGas(deployTx);
|
|
236
241
|
// deploy with 10% buffer on gas limit
|
|
237
242
|
const contract = await contractFactory.deploy(...params, {
|
|
238
|
-
...overrides,
|
|
239
243
|
gasLimit: gasEstimated.add(gasEstimated.div(10)), // 10% buffer
|
|
244
|
+
...overrides,
|
|
240
245
|
});
|
|
246
|
+
this.logger.trace({ transaction: deployTx }, `Deploying contract`);
|
|
241
247
|
// wait for deploy tx to be confirmed
|
|
242
248
|
await this.handleTx(chainNameOrId, contract.deployTransaction);
|
|
243
249
|
// return deployed contract
|
|
@@ -251,7 +257,7 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
251
257
|
const confirmations = this.getChainMetadata(chainNameOrId).blocks?.confirmations ?? 1;
|
|
252
258
|
const response = await tx;
|
|
253
259
|
const txUrl = this.tryGetExplorerTxUrl(chainNameOrId, response);
|
|
254
|
-
this.logger(`Pending ${txUrl || response.hash} (waiting ${confirmations} blocks for confirmation)`);
|
|
260
|
+
this.logger.info(`Pending ${txUrl || response.hash} (waiting ${confirmations} blocks for confirmation)`);
|
|
255
261
|
return response.wait(confirmations);
|
|
256
262
|
}
|
|
257
263
|
/**
|
|
@@ -291,15 +297,15 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
291
297
|
const txReq = await this.prepareTx(chainNameOrId, await tx);
|
|
292
298
|
const signer = this.getSigner(chainNameOrId);
|
|
293
299
|
const response = await signer.sendTransaction(txReq);
|
|
294
|
-
this.logger(`Sent tx ${response.hash}`);
|
|
300
|
+
this.logger.info(`Sent tx ${response.hash}`);
|
|
295
301
|
return this.handleTx(chainNameOrId, response);
|
|
296
302
|
}
|
|
297
303
|
/**
|
|
298
304
|
* Creates a MultiProvider using the given signer for all test networks
|
|
299
305
|
*/
|
|
300
|
-
static createTestMultiProvider(params = {}, chains =
|
|
306
|
+
static createTestMultiProvider(params = {}, chains = TestChains) {
|
|
301
307
|
const { signer, provider } = params;
|
|
302
|
-
const chainMetadata =
|
|
308
|
+
const chainMetadata = pick(defaultChainMetadata, chains);
|
|
303
309
|
const mp = new MultiProvider(chainMetadata);
|
|
304
310
|
if (signer) {
|
|
305
311
|
mp.setSharedSigner(signer);
|
|
@@ -313,5 +319,4 @@ class MultiProvider extends ChainMetadataManager_1.ChainMetadataManager {
|
|
|
313
319
|
return mp;
|
|
314
320
|
}
|
|
315
321
|
}
|
|
316
|
-
exports.MultiProvider = MultiProvider;
|
|
317
322
|
//# sourceMappingURL=MultiProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MultiProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.PROTOCOL_TO_DEFAULT_PROVIDER_TYPE = exports.ProviderType = void 0;
|
|
4
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
5
|
-
var ProviderType;
|
|
1
|
+
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
|
+
export var ProviderType;
|
|
6
3
|
(function (ProviderType) {
|
|
7
4
|
ProviderType["EthersV5"] = "ethers-v5";
|
|
8
5
|
// EthersV6 = 'ethers-v6', Disabled for now to simplify build tooling
|
|
@@ -12,11 +9,11 @@ var ProviderType;
|
|
|
12
9
|
ProviderType["CosmJsWasm"] = "cosmjs-wasm";
|
|
13
10
|
// TODO fuel provider types not yet defined below
|
|
14
11
|
ProviderType["Fuel"] = "fuel";
|
|
15
|
-
})(ProviderType || (
|
|
16
|
-
|
|
17
|
-
[
|
|
18
|
-
[
|
|
19
|
-
[
|
|
20
|
-
[
|
|
12
|
+
})(ProviderType || (ProviderType = {}));
|
|
13
|
+
export const PROTOCOL_TO_DEFAULT_PROVIDER_TYPE = {
|
|
14
|
+
[ProtocolType.Ethereum]: ProviderType.EthersV5,
|
|
15
|
+
[ProtocolType.Sealevel]: ProviderType.SolanaWeb3,
|
|
16
|
+
[ProtocolType.Cosmos]: ProviderType.CosmJsWasm,
|
|
17
|
+
[ProtocolType.Fuel]: ProviderType.Fuel,
|
|
21
18
|
};
|
|
22
19
|
//# sourceMappingURL=ProviderType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProviderType.js","sourceRoot":"","sources":["../../src/providers/ProviderType.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,CAAN,IAAY,YASX;AATD,WAAY,YAAY;IACtB,sCAAsB,CAAA;IACtB,qEAAqE;IACrE,6BAAa,CAAA;IACb,0CAA0B,CAAA;IAC1B,iCAAiB,CAAA;IACjB,0CAA0B,CAAA;IAC1B,iDAAiD;IACjD,6BAAa,CAAA;AACf,CAAC,EATW,YAAY,KAAZ,YAAY,QASvB;AAED,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ;IAC9C,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU;IAChD,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,UAAU;IAC9C,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI;CACvC,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import debug from 'debug';
|
|
2
1
|
import { providers } from 'ethers';
|
|
3
|
-
import { BlockExplorer } from '../../metadata/chainMetadataTypes';
|
|
4
|
-
import { IProviderMethods, ProviderMethod } from './ProviderMethods';
|
|
2
|
+
import { BlockExplorer } from '../../metadata/chainMetadataTypes.js';
|
|
3
|
+
import { IProviderMethods, ProviderMethod } from './ProviderMethods.js';
|
|
5
4
|
export declare class HyperlaneEtherscanProvider extends providers.EtherscanProvider implements IProviderMethods {
|
|
6
5
|
readonly explorerConfig: BlockExplorer;
|
|
7
6
|
readonly options?: {
|
|
8
7
|
debug?: boolean | undefined;
|
|
9
8
|
} | undefined;
|
|
10
|
-
protected readonly logger:
|
|
9
|
+
protected readonly logger: import("pino").default.Logger<never>;
|
|
11
10
|
readonly supportedMethods: ProviderMethod[];
|
|
12
11
|
constructor(explorerConfig: BlockExplorer, network: providers.Networkish, options?: {
|
|
13
12
|
debug?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneEtherscanProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/HyperlaneEtherscanProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneEtherscanProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/HyperlaneEtherscanProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EACL,gBAAgB,EAChB,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAM9B,qBAAa,0BACX,SAAQ,SAAS,CAAC,iBAClB,YAAW,gBAAgB;aAWT,cAAc,EAAE,aAAa;aAE7B,OAAO,CAAC;;;IAX1B,SAAS,CAAC,QAAQ,CAAC,MAAM,uCAAqD;IAE9E,SAAgB,gBAAgB,mBAI7B;gBAGe,cAAc,EAAE,aAAa,EAC7C,OAAO,EAAE,SAAS,CAAC,UAAU,EACb,OAAO,CAAC;;iBAAqB;IAU/C,UAAU,IAAI,MAAM;IAQpB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAQ9D,UAAU,IAAI,MAAM;IAIpB,WAAW,IAAI,MAAM;IAIrB,gBAAgB,IAAI,MAAM;IAOpB,KAAK,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,IAAI,CAAC,EAAE,OAAO,GACb,OAAO,CAAC,GAAG,CAAC;IAkBT,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAgBlE,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAsBzE"}
|
|
@@ -1,30 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HyperlaneEtherscanProvider = void 0;
|
|
7
|
-
const debug_1 = __importDefault(require("debug"));
|
|
8
|
-
const ethers_1 = require("ethers");
|
|
9
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
10
|
-
const ProviderMethods_1 = require("./ProviderMethods");
|
|
1
|
+
import { providers } from 'ethers';
|
|
2
|
+
import { objFilter, rootLogger, sleep } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { ProviderMethod, excludeProviderMethods, } from './ProviderMethods.js';
|
|
11
4
|
// Used for crude rate-limiting of explorer queries without API keys
|
|
12
5
|
const hostToLastQueried = {};
|
|
13
6
|
const ETHERSCAN_THROTTLE_TIME = 6000; // 6.0 seconds
|
|
14
|
-
class HyperlaneEtherscanProvider extends
|
|
7
|
+
export class HyperlaneEtherscanProvider extends providers.EtherscanProvider {
|
|
8
|
+
explorerConfig;
|
|
9
|
+
options;
|
|
10
|
+
logger = rootLogger.child({ module: 'EtherscanProvider' });
|
|
11
|
+
// Seeing problems with these two methods even though etherscan api claims to support them
|
|
12
|
+
supportedMethods = excludeProviderMethods([
|
|
13
|
+
ProviderMethod.Call,
|
|
14
|
+
ProviderMethod.EstimateGas,
|
|
15
|
+
ProviderMethod.SendTransaction,
|
|
16
|
+
]);
|
|
15
17
|
constructor(explorerConfig, network, options) {
|
|
16
18
|
super(network, explorerConfig.apiKey);
|
|
17
19
|
this.explorerConfig = explorerConfig;
|
|
18
20
|
this.options = options;
|
|
19
|
-
this.logger = (0, debug_1.default)('hyperlane:EtherscanProvider');
|
|
20
|
-
// Seeing problems with these two methods even though etherscan api claims to support them
|
|
21
|
-
this.supportedMethods = (0, ProviderMethods_1.excludeProviderMethods)([
|
|
22
|
-
ProviderMethods_1.ProviderMethod.Call,
|
|
23
|
-
ProviderMethods_1.ProviderMethod.EstimateGas,
|
|
24
|
-
ProviderMethods_1.ProviderMethod.SendTransaction,
|
|
25
|
-
]);
|
|
26
21
|
if (!explorerConfig.apiKey) {
|
|
27
|
-
this.logger('HyperlaneEtherscanProviders created without an API key will be severely rate limited. Consider using an API key for better reliability.');
|
|
22
|
+
this.logger.warn('HyperlaneEtherscanProviders created without an API key will be severely rate limited. Consider using an API key for better reliability.');
|
|
28
23
|
}
|
|
29
24
|
}
|
|
30
25
|
getBaseUrl() {
|
|
@@ -38,7 +33,7 @@ class HyperlaneEtherscanProvider extends ethers_1.providers.EtherscanProvider {
|
|
|
38
33
|
return apiUrl;
|
|
39
34
|
}
|
|
40
35
|
getUrl(module, params) {
|
|
41
|
-
const combinedParams =
|
|
36
|
+
const combinedParams = objFilter(params, (k, v) => !!k && !!v);
|
|
42
37
|
combinedParams['module'] = module;
|
|
43
38
|
if (this.apiKey)
|
|
44
39
|
combinedParams['apikey'] = this.apiKey;
|
|
@@ -65,8 +60,8 @@ class HyperlaneEtherscanProvider extends ethers_1.providers.EtherscanProvider {
|
|
|
65
60
|
let waitTime = this.getQueryWaitTime();
|
|
66
61
|
while (waitTime > 0) {
|
|
67
62
|
if (this.options?.debug)
|
|
68
|
-
this.logger(`HyperlaneEtherscanProvider waiting ${waitTime}ms to avoid rate limit`);
|
|
69
|
-
await
|
|
63
|
+
this.logger.debug(`HyperlaneEtherscanProvider waiting ${waitTime}ms to avoid rate limit`);
|
|
64
|
+
await sleep(waitTime);
|
|
70
65
|
waitTime = this.getQueryWaitTime();
|
|
71
66
|
}
|
|
72
67
|
hostToLastQueried[hostname] = Date.now();
|
|
@@ -74,10 +69,10 @@ class HyperlaneEtherscanProvider extends ethers_1.providers.EtherscanProvider {
|
|
|
74
69
|
}
|
|
75
70
|
async perform(method, params, reqId) {
|
|
76
71
|
if (this.options?.debug)
|
|
77
|
-
this.logger(`HyperlaneEtherscanProvider performing method ${method} for reqId ${reqId}`);
|
|
72
|
+
this.logger.debug(`HyperlaneEtherscanProvider performing method ${method} for reqId ${reqId}`);
|
|
78
73
|
if (!this.supportedMethods.includes(method))
|
|
79
74
|
throw new Error(`Unsupported method ${method}`);
|
|
80
|
-
if (method ===
|
|
75
|
+
if (method === ProviderMethod.GetLogs) {
|
|
81
76
|
return this.performGetLogs(params);
|
|
82
77
|
}
|
|
83
78
|
else {
|
|
@@ -109,7 +104,6 @@ class HyperlaneEtherscanProvider extends ethers_1.providers.EtherscanProvider {
|
|
|
109
104
|
return this.fetch('logs', args);
|
|
110
105
|
}
|
|
111
106
|
}
|
|
112
|
-
exports.HyperlaneEtherscanProvider = HyperlaneEtherscanProvider;
|
|
113
107
|
// From ethers/providers/src.ts/providers/etherscan-provider.ts
|
|
114
108
|
function checkLogTag(blockTag) {
|
|
115
109
|
if (typeof blockTag === 'number')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneEtherscanProvider.js","sourceRoot":"","sources":["../../../src/providers/SmartProvider/HyperlaneEtherscanProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HyperlaneEtherscanProvider.js","sourceRoot":"","sources":["../../../src/providers/SmartProvider/HyperlaneEtherscanProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import debug from 'debug';
|
|
2
1
|
import { providers } from 'ethers';
|
|
3
|
-
import { IProviderMethods, ProviderMethod } from './ProviderMethods';
|
|
4
|
-
import { RpcConfigWithConnectionInfo } from './types';
|
|
2
|
+
import { IProviderMethods, ProviderMethod } from './ProviderMethods.js';
|
|
3
|
+
import { RpcConfigWithConnectionInfo } from './types.js';
|
|
5
4
|
export declare class HyperlaneJsonRpcProvider extends providers.StaticJsonRpcProvider implements IProviderMethods {
|
|
6
5
|
readonly rpcConfig: RpcConfigWithConnectionInfo;
|
|
7
6
|
readonly options?: {
|
|
8
7
|
debug?: boolean | undefined;
|
|
9
8
|
} | undefined;
|
|
10
|
-
protected readonly logger:
|
|
9
|
+
protected readonly logger: import("pino").default.Logger<never>;
|
|
11
10
|
readonly supportedMethods: ProviderMethod[];
|
|
12
11
|
constructor(rpcConfig: RpcConfigWithConnectionInfo, network: providers.Networkish, options?: {
|
|
13
12
|
debug?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneJsonRpcProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/HyperlaneJsonRpcProvider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"HyperlaneJsonRpcProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/SmartProvider/HyperlaneJsonRpcProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAS,MAAM,QAAQ,CAAC;AASrD,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAKzD,qBAAa,wBACX,SAAQ,SAAS,CAAC,qBAClB,YAAW,gBAAgB;aAMT,SAAS,EAAE,2BAA2B;aAEtC,OAAO,CAAC;;;IAN1B,SAAS,CAAC,QAAQ,CAAC,MAAM,uCAAmD;IAC5E,SAAgB,gBAAgB,mBAAsB;gBAGpC,SAAS,EAAE,2BAA2B,EACtD,OAAO,EAAE,SAAS,CAAC,UAAU,EACb,OAAO,CAAC;;iBAAqB;IAKzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BlE,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA4FxE,UAAU,IAAI,MAAM;CAGrB"}
|
|
@@ -1,90 +1,85 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HyperlaneJsonRpcProvider = void 0;
|
|
7
|
-
const debug_1 = __importDefault(require("debug"));
|
|
8
|
-
const ethers_1 = require("ethers");
|
|
9
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
10
|
-
const ProviderMethods_1 = require("./ProviderMethods");
|
|
1
|
+
import { BigNumber, providers, utils } from 'ethers';
|
|
2
|
+
import { chunk, isBigNumberish, isNullish, rootLogger, } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { AllProviderMethods, ProviderMethod, } from './ProviderMethods.js';
|
|
11
4
|
const NUM_LOG_BLOCK_RANGES_TO_QUERY = 10;
|
|
12
5
|
const NUM_PARALLEL_LOG_QUERIES = 5;
|
|
13
|
-
class HyperlaneJsonRpcProvider extends
|
|
6
|
+
export class HyperlaneJsonRpcProvider extends providers.StaticJsonRpcProvider {
|
|
7
|
+
rpcConfig;
|
|
8
|
+
options;
|
|
9
|
+
logger = rootLogger.child({ module: 'JsonRpcProvider' });
|
|
10
|
+
supportedMethods = AllProviderMethods;
|
|
14
11
|
constructor(rpcConfig, network, options) {
|
|
15
12
|
super(rpcConfig.connection ?? rpcConfig.http, network);
|
|
16
13
|
this.rpcConfig = rpcConfig;
|
|
17
14
|
this.options = options;
|
|
18
|
-
this.logger = (0, debug_1.default)('hyperlane:JsonRpcProvider');
|
|
19
|
-
this.supportedMethods = ProviderMethods_1.AllProviderMethods;
|
|
20
15
|
}
|
|
21
16
|
async perform(method, params, reqId) {
|
|
22
17
|
if (this.options?.debug)
|
|
23
|
-
this.logger(`HyperlaneJsonRpcProvider performing method ${method} for reqId ${reqId}`);
|
|
24
|
-
if (method ===
|
|
18
|
+
this.logger.debug(`HyperlaneJsonRpcProvider performing method ${method} for reqId ${reqId}`);
|
|
19
|
+
if (method === ProviderMethod.GetLogs) {
|
|
25
20
|
return this.performGetLogs(params);
|
|
26
21
|
}
|
|
27
22
|
const result = await super.perform(method, params);
|
|
28
23
|
if (result === '0x' &&
|
|
29
24
|
[
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
ProviderMethod.Call,
|
|
26
|
+
ProviderMethod.GetBalance,
|
|
27
|
+
ProviderMethod.GetBlock,
|
|
28
|
+
ProviderMethod.GetBlockNumber,
|
|
34
29
|
].includes(method)) {
|
|
35
|
-
this.logger(`Received 0x result from ${method} for reqId ${reqId}.`);
|
|
30
|
+
this.logger.debug(`Received 0x result from ${method} for reqId ${reqId}.`);
|
|
36
31
|
throw new Error('Invalid response from provider');
|
|
37
32
|
}
|
|
38
33
|
return result;
|
|
39
34
|
}
|
|
40
35
|
async performGetLogs(params) {
|
|
41
|
-
const superPerform = () => super.perform(
|
|
36
|
+
const superPerform = () => super.perform(ProviderMethod.GetLogs, params);
|
|
42
37
|
const paginationOptions = this.rpcConfig.pagination;
|
|
43
38
|
if (!paginationOptions || !params.filter)
|
|
44
39
|
return superPerform();
|
|
45
40
|
const { fromBlock, toBlock, address, topics } = params.filter;
|
|
46
41
|
const { maxBlockRange, minBlockNumber, maxBlockAge } = paginationOptions;
|
|
47
|
-
if (!maxBlockRange && !maxBlockAge &&
|
|
42
|
+
if (!maxBlockRange && !maxBlockAge && isNullish(minBlockNumber))
|
|
48
43
|
return superPerform();
|
|
49
|
-
const currentBlockNumber = await super.perform(
|
|
44
|
+
const currentBlockNumber = await super.perform(ProviderMethod.GetBlockNumber, null);
|
|
50
45
|
let endBlock;
|
|
51
|
-
if (
|
|
46
|
+
if (isNullish(toBlock) || toBlock === 'latest') {
|
|
52
47
|
endBlock = currentBlockNumber;
|
|
53
48
|
}
|
|
54
|
-
else if (
|
|
55
|
-
endBlock =
|
|
49
|
+
else if (isBigNumberish(toBlock)) {
|
|
50
|
+
endBlock = BigNumber.from(toBlock).toNumber();
|
|
56
51
|
}
|
|
57
52
|
else {
|
|
58
53
|
return superPerform();
|
|
59
54
|
}
|
|
60
55
|
let startBlock;
|
|
61
|
-
if (
|
|
56
|
+
if (isNullish(fromBlock) || fromBlock === 'earliest') {
|
|
62
57
|
startBlock = 0;
|
|
63
58
|
}
|
|
64
|
-
else if (
|
|
65
|
-
startBlock =
|
|
59
|
+
else if (isBigNumberish(fromBlock)) {
|
|
60
|
+
startBlock = BigNumber.from(fromBlock).toNumber();
|
|
66
61
|
}
|
|
67
62
|
else {
|
|
68
63
|
return superPerform();
|
|
69
64
|
}
|
|
70
65
|
if (startBlock > endBlock) {
|
|
71
|
-
this.logger(`Start block ${startBlock} greater than end block. Using ${endBlock} instead`);
|
|
66
|
+
this.logger.info(`Start block ${startBlock} greater than end block. Using ${endBlock} instead`);
|
|
72
67
|
startBlock = endBlock;
|
|
73
68
|
}
|
|
74
69
|
const minForBlockRange = maxBlockRange
|
|
75
70
|
? endBlock - maxBlockRange * NUM_LOG_BLOCK_RANGES_TO_QUERY + 1
|
|
76
71
|
: 0;
|
|
77
72
|
if (startBlock < minForBlockRange) {
|
|
78
|
-
this.logger(`Start block ${startBlock} requires too many queries, using ${minForBlockRange}.`);
|
|
73
|
+
this.logger.info(`Start block ${startBlock} requires too many queries, using ${minForBlockRange}.`);
|
|
79
74
|
startBlock = minForBlockRange;
|
|
80
75
|
}
|
|
81
76
|
const minForBlockAge = maxBlockAge ? currentBlockNumber - maxBlockAge : 0;
|
|
82
77
|
if (startBlock < minForBlockAge) {
|
|
83
|
-
this.logger(`Start block ${startBlock} below max block age, increasing to ${minForBlockAge}`);
|
|
78
|
+
this.logger.info(`Start block ${startBlock} below max block age, increasing to ${minForBlockAge}`);
|
|
84
79
|
startBlock = minForBlockAge;
|
|
85
80
|
}
|
|
86
81
|
if (minBlockNumber && startBlock < minBlockNumber) {
|
|
87
|
-
this.logger(`Start block ${startBlock} below config min, increasing to ${minBlockNumber}`);
|
|
82
|
+
this.logger.info(`Start block ${startBlock} below config min, increasing to ${minBlockNumber}`);
|
|
88
83
|
startBlock = minBlockNumber;
|
|
89
84
|
}
|
|
90
85
|
const blockChunkRange = maxBlockRange || endBlock - startBlock;
|
|
@@ -94,14 +89,14 @@ class HyperlaneJsonRpcProvider extends ethers_1.providers.StaticJsonRpcProvider
|
|
|
94
89
|
blockChunks.push([from, to]);
|
|
95
90
|
}
|
|
96
91
|
let combinedResults = [];
|
|
97
|
-
const requestChunks =
|
|
92
|
+
const requestChunks = chunk(blockChunks, NUM_PARALLEL_LOG_QUERIES);
|
|
98
93
|
for (const reqChunk of requestChunks) {
|
|
99
|
-
const resultPromises = reqChunk.map((blockChunk) => super.perform(
|
|
94
|
+
const resultPromises = reqChunk.map((blockChunk) => super.perform(ProviderMethod.GetLogs, {
|
|
100
95
|
filter: {
|
|
101
96
|
address,
|
|
102
97
|
topics,
|
|
103
|
-
fromBlock:
|
|
104
|
-
toBlock:
|
|
98
|
+
fromBlock: utils.hexValue(BigNumber.from(blockChunk[0])),
|
|
99
|
+
toBlock: utils.hexValue(BigNumber.from(blockChunk[1])),
|
|
105
100
|
},
|
|
106
101
|
}));
|
|
107
102
|
const results = await Promise.all(resultPromises);
|
|
@@ -113,5 +108,4 @@ class HyperlaneJsonRpcProvider extends ethers_1.providers.StaticJsonRpcProvider
|
|
|
113
108
|
return this.connection.url;
|
|
114
109
|
}
|
|
115
110
|
}
|
|
116
|
-
exports.HyperlaneJsonRpcProvider = HyperlaneJsonRpcProvider;
|
|
117
111
|
//# sourceMappingURL=HyperlaneJsonRpcProvider.js.map
|