@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,wBAAgB,cAAc,CAAC,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,EACnB,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,QAAQ,CAAC,CAAC,CAAC,CAOb"}
|
package/dist/utils/filter.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.filterByChains = void 0;
|
|
4
|
-
function filterByChains(owners, filterByChainName) {
|
|
1
|
+
export function filterByChains(owners, filterByChainName) {
|
|
5
2
|
return Object.keys(owners).reduce((result, chain) => {
|
|
6
3
|
if (filterByChainName.has(chain)) {
|
|
7
4
|
result[chain] = owners[chain];
|
|
@@ -9,5 +6,4 @@ function filterByChains(owners, filterByChainName) {
|
|
|
9
6
|
return result;
|
|
10
7
|
}, {});
|
|
11
8
|
}
|
|
12
|
-
exports.filterByChains = filterByChains;
|
|
13
9
|
//# sourceMappingURL=filter.js.map
|
package/dist/utils/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/utils/filter.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAC5B,MAAmB,EACnB,iBAA8B;IAE9B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAClD,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAiB,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { providers } from 'ethers';
|
|
2
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
4
|
+
import { ChainName } from '../types.js';
|
|
5
|
+
export declare enum ANVIL_RPC_METHODS {
|
|
6
|
+
RESET = "anvil_reset",
|
|
7
|
+
IMPERSONATE_ACCOUNT = "anvil_impersonateAccount",
|
|
8
|
+
STOP_IMPERSONATING_ACCOUNT = "anvil_stopImpersonatingAccount",
|
|
9
|
+
NODE_INFO = "anvil_nodeInfo"
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Resets the local node to it's original state (anvil [31337] at block zero).
|
|
13
|
+
*/
|
|
14
|
+
export declare const resetFork: (anvilIPAddr?: string, anvilPort?: number) => Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Forks a chain onto the local node at the latest block of the forked network.
|
|
17
|
+
* @param multiProvider the multiProvider with which to fork the network
|
|
18
|
+
* @param chain the network to fork
|
|
19
|
+
*/
|
|
20
|
+
export declare const setFork: (multiProvider: MultiProvider, chain: ChainName | number, anvilIPAddr?: string, anvilPort?: number) => Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Impersonates an EOA for a provided address.
|
|
23
|
+
* @param address the address to impersonate
|
|
24
|
+
* @returns the impersonated signer
|
|
25
|
+
*/
|
|
26
|
+
export declare const impersonateAccount: (address: Address, anvilIPAddr?: string, anvilPort?: number) => Promise<providers.JsonRpcSigner>;
|
|
27
|
+
/**
|
|
28
|
+
* Stops account impersonation.
|
|
29
|
+
* @param address the address to stop impersonating
|
|
30
|
+
*/
|
|
31
|
+
export declare const stopImpersonatingAccount: (address: Address, anvilIPAddr?: string, anvilPort?: number) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT.
|
|
34
|
+
* @param urlOverride custom URL to overried the default endpoint
|
|
35
|
+
* @returns a local JSON-RPC provider
|
|
36
|
+
*/
|
|
37
|
+
export declare const getLocalProvider: (anvilIPAddr?: string, anvilPort?: number, urlOverride?: string) => providers.JsonRpcProvider;
|
|
38
|
+
//# sourceMappingURL=fork.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../src/utils/fork.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAiC,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,oBAAY,iBAAiB;IAC3B,KAAK,gBAAgB;IACrB,mBAAmB,6BAA6B;IAChD,0BAA0B,mCAAmC;IAC7D,SAAS,mBAAmB;CAC7B;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,iBAAwB,MAAM,cAAc,MAAM,kBAavE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,kBACH,aAAa,SACrB,SAAS,GAAG,MAAM,gBACX,MAAM,cACR,MAAM,kBAkBnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,YACpB,OAAO,gBACF,MAAM,cACR,MAAM,KACjB,QAAQ,UAAU,aAAa,CASjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,gBACF,MAAM,cACR,MAAM,kBAiBnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iBACb,MAAM,cACR,MAAM,gBACJ,MAAM,KACnB,UAAU,eAiBZ,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { providers } from 'ethers';
|
|
2
|
+
import { isValidAddressEvm, rootLogger } from '@hyperlane-xyz/utils';
|
|
3
|
+
const logger = rootLogger.child({ module: 'fork-utils' });
|
|
4
|
+
const ENDPOINT_PREFIX = 'http';
|
|
5
|
+
const DEFAULT_ANVIL_ENDPOINT = 'http://127.0.0.1:8545';
|
|
6
|
+
export var ANVIL_RPC_METHODS;
|
|
7
|
+
(function (ANVIL_RPC_METHODS) {
|
|
8
|
+
ANVIL_RPC_METHODS["RESET"] = "anvil_reset";
|
|
9
|
+
ANVIL_RPC_METHODS["IMPERSONATE_ACCOUNT"] = "anvil_impersonateAccount";
|
|
10
|
+
ANVIL_RPC_METHODS["STOP_IMPERSONATING_ACCOUNT"] = "anvil_stopImpersonatingAccount";
|
|
11
|
+
ANVIL_RPC_METHODS["NODE_INFO"] = "anvil_nodeInfo";
|
|
12
|
+
})(ANVIL_RPC_METHODS || (ANVIL_RPC_METHODS = {}));
|
|
13
|
+
/**
|
|
14
|
+
* Resets the local node to it's original state (anvil [31337] at block zero).
|
|
15
|
+
*/
|
|
16
|
+
export const resetFork = async (anvilIPAddr, anvilPort) => {
|
|
17
|
+
logger.info(`Resetting forked network...`);
|
|
18
|
+
const provider = getLocalProvider(anvilIPAddr, anvilPort);
|
|
19
|
+
await provider.send(ANVIL_RPC_METHODS.RESET, [
|
|
20
|
+
{
|
|
21
|
+
forking: {
|
|
22
|
+
jsonRpcUrl: DEFAULT_ANVIL_ENDPOINT,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
]);
|
|
26
|
+
logger.info(`✅ Successfully reset forked network`);
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Forks a chain onto the local node at the latest block of the forked network.
|
|
30
|
+
* @param multiProvider the multiProvider with which to fork the network
|
|
31
|
+
* @param chain the network to fork
|
|
32
|
+
*/
|
|
33
|
+
export const setFork = async (multiProvider, chain, anvilIPAddr, anvilPort) => {
|
|
34
|
+
logger.info(`Forking ${chain} for dry-run...`);
|
|
35
|
+
const provider = getLocalProvider(anvilIPAddr, anvilPort);
|
|
36
|
+
const currentChainMetadata = multiProvider.metadata[chain];
|
|
37
|
+
await provider.send(ANVIL_RPC_METHODS.RESET, [
|
|
38
|
+
{
|
|
39
|
+
forking: {
|
|
40
|
+
jsonRpcUrl: currentChainMetadata.rpcUrls[0].http,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
]);
|
|
44
|
+
multiProvider.setProvider(chain, provider);
|
|
45
|
+
logger.info(`✅ Successfully forked ${chain} for dry-run`);
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Impersonates an EOA for a provided address.
|
|
49
|
+
* @param address the address to impersonate
|
|
50
|
+
* @returns the impersonated signer
|
|
51
|
+
*/
|
|
52
|
+
export const impersonateAccount = async (address, anvilIPAddr, anvilPort) => {
|
|
53
|
+
logger.info(`Impersonating account (${address})...`);
|
|
54
|
+
const provider = getLocalProvider(anvilIPAddr, anvilPort);
|
|
55
|
+
await provider.send(ANVIL_RPC_METHODS.IMPERSONATE_ACCOUNT, [address]);
|
|
56
|
+
logger.info(`✅ Successfully impersonated account (${address})`);
|
|
57
|
+
return provider.getSigner(address);
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Stops account impersonation.
|
|
61
|
+
* @param address the address to stop impersonating
|
|
62
|
+
*/
|
|
63
|
+
export const stopImpersonatingAccount = async (address, anvilIPAddr, anvilPort) => {
|
|
64
|
+
logger.info(`Stopping account impersonation for address (${address})...`);
|
|
65
|
+
if (isValidAddressEvm(address))
|
|
66
|
+
throw new Error(`Cannot stop account impersonation: invalid address format: ${address}`);
|
|
67
|
+
const provider = getLocalProvider(anvilIPAddr, anvilPort);
|
|
68
|
+
await provider.send(ANVIL_RPC_METHODS.STOP_IMPERSONATING_ACCOUNT, [
|
|
69
|
+
address.substring(2),
|
|
70
|
+
]);
|
|
71
|
+
logger.info(`✅ Successfully stopped account impersonation for address (${address})`);
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Retrieves a local provider. Defaults to DEFAULT_ANVIL_ENDPOINT.
|
|
75
|
+
* @param urlOverride custom URL to overried the default endpoint
|
|
76
|
+
* @returns a local JSON-RPC provider
|
|
77
|
+
*/
|
|
78
|
+
export const getLocalProvider = (anvilIPAddr, anvilPort, urlOverride) => {
|
|
79
|
+
let envUrl;
|
|
80
|
+
if (anvilIPAddr && anvilPort)
|
|
81
|
+
envUrl = `${ENDPOINT_PREFIX}${anvilIPAddr}:${anvilPort}`;
|
|
82
|
+
if (urlOverride && !urlOverride.startsWith(ENDPOINT_PREFIX)) {
|
|
83
|
+
logger.warn(`⚠️ Provided URL override (${urlOverride}) does not begin with ${ENDPOINT_PREFIX}. Defaulting to ${envUrl ?? DEFAULT_ANVIL_ENDPOINT}`);
|
|
84
|
+
urlOverride = undefined;
|
|
85
|
+
}
|
|
86
|
+
const url = urlOverride ?? envUrl ?? DEFAULT_ANVIL_ENDPOINT;
|
|
87
|
+
return new providers.JsonRpcProvider(url);
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=fork.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../src/utils/fork.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ism.js
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.multisigIsmVerificationCost = void 0;
|
|
7
|
-
const multisigIsmVerifyCosts_json_1 = __importDefault(require("../consts/multisigIsmVerifyCosts.json"));
|
|
8
|
-
function multisigIsmVerificationCost(m, n) {
|
|
9
|
-
if (!(`${n}` in multisigIsmVerifyCosts_json_1.default) ||
|
|
1
|
+
import multisigIsmVerifyCosts from '../consts/multisigIsmVerifyCosts.json' assert { type: 'json' };
|
|
2
|
+
export function multisigIsmVerificationCost(m, n) {
|
|
3
|
+
if (!(`${n}` in multisigIsmVerifyCosts) ||
|
|
10
4
|
// @ts-ignore
|
|
11
|
-
!(`${m}` in
|
|
5
|
+
!(`${m}` in multisigIsmVerifyCosts[`${n}`])) {
|
|
12
6
|
throw new Error(`No multisigIsmVerificationCost found for ${m}-of-${n}`);
|
|
13
7
|
}
|
|
14
8
|
// @ts-ignore
|
|
15
|
-
return
|
|
9
|
+
return multisigIsmVerifyCosts[`${n}`][`${m}`];
|
|
16
10
|
}
|
|
17
|
-
exports.multisigIsmVerificationCost = multisigIsmVerificationCost;
|
|
18
11
|
//# sourceMappingURL=ism.js.map
|
package/dist/utils/ism.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ism.js","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ism.js","sourceRoot":"","sources":["../../src/utils/ism.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,uCAAuC,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnG,MAAM,UAAU,2BAA2B,CAAC,CAAS,EAAE,CAAS;IAC9D,IACE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,sBAAsB,CAAC;QACnC,aAAa;QACb,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,aAAa;IACb,OAAO,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export class SealevelInstructionWrapper {
|
|
2
|
+
fields;
|
|
3
|
+
instruction;
|
|
4
|
+
data;
|
|
5
5
|
constructor(fields) {
|
|
6
6
|
this.fields = fields;
|
|
7
7
|
Object.assign(this, fields);
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
export class SealevelAccountDataWrapper {
|
|
11
|
+
fields;
|
|
12
|
+
initialized;
|
|
13
|
+
discriminator;
|
|
14
|
+
data;
|
|
12
15
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
13
16
|
constructor(fields) {
|
|
14
17
|
this.fields = fields;
|
|
15
18
|
Object.assign(this, fields);
|
|
16
19
|
}
|
|
17
20
|
}
|
|
18
|
-
|
|
19
|
-
function getSealevelAccountDataSchema(DataClass, discriminator) {
|
|
21
|
+
export function getSealevelAccountDataSchema(DataClass, discriminator) {
|
|
20
22
|
return {
|
|
21
23
|
kind: 'struct',
|
|
22
24
|
fields: [
|
|
@@ -26,5 +28,4 @@ function getSealevelAccountDataSchema(DataClass, discriminator) {
|
|
|
26
28
|
],
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
|
-
exports.getSealevelAccountDataSchema = getSealevelAccountDataSchema;
|
|
30
31
|
//# sourceMappingURL=sealevelSerialization.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealevelSerialization.js","sourceRoot":"","sources":["../../src/utils/sealevelSerialization.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sealevelSerialization.js","sourceRoot":"","sources":["../../src/utils/sealevelSerialization.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,0BAA0B;IAGT;IAF5B,WAAW,CAAU;IACrB,IAAI,CAAS;IACb,YAA4B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,0BAA0B;IAKT;IAJ5B,WAAW,CAAW;IACtB,aAAa,CAAW;IACxB,IAAI,CAAK;IACT,6EAA6E;IAC7E,YAA4B,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,UAAU,4BAA4B,CAC1C,SAAY,EACZ,aAAmB;IAEnB,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,CAAC,aAAa,EAAE,IAAI,CAAC;YACrB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,CAAC,MAAM,EAAE,SAAS,CAAC;SACpB;KACF,CAAC;AACJ,CAAC"}
|
package/dist/utils/wagmi.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Chain as WagmiChain } from '@wagmi/chains';
|
|
2
|
-
import { ChainMetadata } from '../metadata/chainMetadataTypes';
|
|
3
|
-
import type { ChainMap } from '../types';
|
|
2
|
+
import { ChainMetadata } from '../metadata/chainMetadataTypes.js';
|
|
3
|
+
import type { ChainMap } from '../types.js';
|
|
4
4
|
export declare const wagmiChainMetadata: ChainMap<WagmiChain>;
|
|
5
5
|
export declare function chainMetadataToWagmiChain(metadata: ChainMetadata): WagmiChain;
|
|
6
6
|
//# sourceMappingURL=wagmi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wagmi.d.ts","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,
|
|
1
|
+
{"version":3,"file":"wagmi.d.ts","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AAKzD,OAAO,EACL,aAAa,EAEd,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAOnD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,aAAa,GAAG,UAAU,CAoB7E"}
|
package/dist/utils/wagmi.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
5
|
-
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
6
|
-
const chainMetadataTypes_1 = require("../metadata/chainMetadataTypes");
|
|
1
|
+
import { ProtocolType, objFilter, objMap } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { chainMetadata, etherToken } from '../consts/chainMetadata.js';
|
|
3
|
+
import { getChainIdNumber, } from '../metadata/chainMetadataTypes.js';
|
|
7
4
|
// For convenient use in wagmi-based apps
|
|
8
|
-
|
|
9
|
-
function chainMetadataToWagmiChain(metadata) {
|
|
5
|
+
export const wagmiChainMetadata = objMap(objFilter(chainMetadata, (_, metadata) => metadata.protocol === ProtocolType.Ethereum), (_, metadata) => chainMetadataToWagmiChain(metadata));
|
|
6
|
+
export function chainMetadataToWagmiChain(metadata) {
|
|
10
7
|
return {
|
|
11
|
-
id:
|
|
8
|
+
id: getChainIdNumber(metadata),
|
|
12
9
|
name: metadata.displayName || metadata.name,
|
|
13
10
|
network: metadata.name,
|
|
14
|
-
nativeCurrency: metadata.nativeToken ||
|
|
11
|
+
nativeCurrency: metadata.nativeToken || etherToken,
|
|
15
12
|
rpcUrls: {
|
|
16
13
|
public: { http: [metadata.rpcUrls[0].http] },
|
|
17
14
|
default: { http: [metadata.rpcUrls[0].http] },
|
|
@@ -27,5 +24,4 @@ function chainMetadataToWagmiChain(metadata) {
|
|
|
27
24
|
testnet: !!metadata.isTestnet,
|
|
28
25
|
};
|
|
29
26
|
}
|
|
30
|
-
exports.chainMetadataToWagmiChain = chainMetadataToWagmiChain;
|
|
31
27
|
//# sourceMappingURL=wagmi.js.map
|
package/dist/utils/wagmi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wagmi.js","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wagmi.js","sourceRoot":"","sources":["../../src/utils/wagmi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAG3C,yCAAyC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAyB,MAAM,CAC5D,SAAS,CACP,aAAa,EACb,CAAC,CAAC,EAAE,QAAQ,EAA6B,EAAE,CACzC,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ,CAC9C,EACD,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CACrD,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,QAAuB;IAC/D,OAAO;QACL,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;QAC3C,OAAO,EAAE,QAAQ,CAAC,IAAc;QAChC,cAAc,EAAE,QAAQ,CAAC,WAAW,IAAI,UAAU;QAClD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;SAC9C;QACD,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,MAAM;YAC7C,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;oBACrC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG;iBACpC;aACF;YACH,CAAC,CAAC,SAAS;QACb,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC"}
|
package/dist/warp/WarpCore.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Logger } from 'pino';
|
|
2
2
|
import { Address, HexString } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider';
|
|
4
|
-
import { TransactionFeeEstimate } from '../providers/transactionFeeEstimators';
|
|
5
|
-
import { IToken } from '../token/IToken';
|
|
6
|
-
import { Token } from '../token/Token';
|
|
7
|
-
import { TokenAmount } from '../token/TokenAmount';
|
|
8
|
-
import { ChainName, ChainNameOrId } from '../types';
|
|
9
|
-
import { FeeConstantConfig, RouteBlacklist, WarpCoreFeeEstimate, WarpTypedTransaction } from './types';
|
|
3
|
+
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
|
|
4
|
+
import { TransactionFeeEstimate } from '../providers/transactionFeeEstimators.js';
|
|
5
|
+
import { IToken } from '../token/IToken.js';
|
|
6
|
+
import { Token } from '../token/Token.js';
|
|
7
|
+
import { TokenAmount } from '../token/TokenAmount.js';
|
|
8
|
+
import { ChainName, ChainNameOrId } from '../types.js';
|
|
9
|
+
import { FeeConstantConfig, RouteBlacklist, WarpCoreFeeEstimate, WarpTypedTransaction } from './types.js';
|
|
10
10
|
export interface WarpCoreOptions {
|
|
11
|
-
|
|
11
|
+
logger?: Logger;
|
|
12
12
|
localFeeConstants?: FeeConstantConfig;
|
|
13
13
|
interchainFeeConstants?: FeeConstantConfig;
|
|
14
14
|
routeBlacklist?: RouteBlacklist;
|
|
@@ -21,7 +21,7 @@ export declare class WarpCore {
|
|
|
21
21
|
readonly localFeeConstants: FeeConstantConfig;
|
|
22
22
|
readonly interchainFeeConstants: FeeConstantConfig;
|
|
23
23
|
readonly routeBlacklist: RouteBlacklist;
|
|
24
|
-
readonly logger:
|
|
24
|
+
readonly logger: Logger;
|
|
25
25
|
constructor(multiProvider: MultiProtocolProvider<{
|
|
26
26
|
mailbox?: Address;
|
|
27
27
|
}>, tokens: Token[], options?: WarpCoreOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"WarpCore.d.ts","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
|
package/dist/warp/WarpCore.js
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class WarpCore {
|
|
1
|
+
import { ProtocolType, assert, convertDecimals, convertToProtocolAddress, isValidAddress, isZeroishAddress, rootLogger, } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { estimateTransactionFeeEthersV5ForGasUnits, } from '../providers/transactionFeeEstimators.js';
|
|
3
|
+
import { Token } from '../token/Token.js';
|
|
4
|
+
import { TokenAmount } from '../token/TokenAmount.js';
|
|
5
|
+
import { parseTokenConnectionId } from '../token/TokenConnection.js';
|
|
6
|
+
import { TOKEN_COLLATERALIZED_STANDARDS, TOKEN_STANDARD_TO_PROVIDER_TYPE, } from '../token/TokenStandard.js';
|
|
7
|
+
import { EVM_TRANSFER_REMOTE_GAS_ESTIMATE } from '../token/adapters/EvmTokenAdapter.js';
|
|
8
|
+
import { WarpCoreConfigSchema, WarpTxCategory, } from './types.js';
|
|
9
|
+
export class WarpCore {
|
|
10
|
+
multiProvider;
|
|
11
|
+
tokens;
|
|
12
|
+
localFeeConstants;
|
|
13
|
+
interchainFeeConstants;
|
|
14
|
+
routeBlacklist;
|
|
15
|
+
logger;
|
|
17
16
|
constructor(multiProvider, tokens, options) {
|
|
18
17
|
this.multiProvider = multiProvider;
|
|
19
18
|
this.tokens = tokens;
|
|
20
19
|
this.localFeeConstants = options?.localFeeConstants || [];
|
|
21
20
|
this.interchainFeeConstants = options?.interchainFeeConstants || [];
|
|
22
21
|
this.routeBlacklist = options?.routeBlacklist || [];
|
|
23
|
-
this.logger =
|
|
22
|
+
this.logger =
|
|
23
|
+
options?.logger ||
|
|
24
|
+
rootLogger.child({
|
|
25
|
+
module: 'WarpCore',
|
|
26
|
+
});
|
|
24
27
|
}
|
|
25
28
|
/**
|
|
26
29
|
* Takes the serialized representation of a warp config and returns a WarpCore instance
|
|
@@ -29,9 +32,9 @@ class WarpCore {
|
|
|
29
32
|
*/
|
|
30
33
|
static FromConfig(multiProvider, config) {
|
|
31
34
|
// Validate and parse config data
|
|
32
|
-
const parsedConfig =
|
|
35
|
+
const parsedConfig = WarpCoreConfigSchema.parse(config);
|
|
33
36
|
// Instantiate all tokens
|
|
34
|
-
const tokens = parsedConfig.tokens.map((t) => new
|
|
37
|
+
const tokens = parsedConfig.tokens.map((t) => new Token({
|
|
35
38
|
...t,
|
|
36
39
|
addressOrDenom: t.addressOrDenom || '',
|
|
37
40
|
connections: undefined,
|
|
@@ -40,9 +43,9 @@ class WarpCore {
|
|
|
40
43
|
parsedConfig.tokens.forEach((config, i) => {
|
|
41
44
|
for (const connection of config.connections || []) {
|
|
42
45
|
const token1 = tokens[i];
|
|
43
|
-
const { chainName, addressOrDenom } =
|
|
46
|
+
const { chainName, addressOrDenom } = parseTokenConnectionId(connection.token);
|
|
44
47
|
const token2 = tokens.find((t) => t.chainName === chainName && t.addressOrDenom === addressOrDenom);
|
|
45
|
-
|
|
48
|
+
assert(token2, `Connected token not found: ${chainName} ${addressOrDenom}`);
|
|
46
49
|
token1.addConnection({
|
|
47
50
|
...connection,
|
|
48
51
|
token: token2,
|
|
@@ -56,7 +59,7 @@ class WarpCore {
|
|
|
56
59
|
* Queries the token router for an interchain gas quote (i.e. IGP fee)
|
|
57
60
|
*/
|
|
58
61
|
async getInterchainTransferFee({ originToken, destination, }) {
|
|
59
|
-
this.logger(`Fetching interchain transfer quote to ${destination}`);
|
|
62
|
+
this.logger.debug(`Fetching interchain transfer quote to ${destination}`);
|
|
60
63
|
const { chainName: originName } = originToken;
|
|
61
64
|
const destinationName = this.multiProvider.getChainName(destination);
|
|
62
65
|
let gasAmount;
|
|
@@ -78,15 +81,15 @@ class WarpCore {
|
|
|
78
81
|
let igpToken;
|
|
79
82
|
if (!gasAddressOrDenom) {
|
|
80
83
|
// An empty/undefined addressOrDenom indicates the native token
|
|
81
|
-
igpToken =
|
|
84
|
+
igpToken = Token.FromChainMetadataNativeToken(this.multiProvider.getChainMetadata(originName));
|
|
82
85
|
}
|
|
83
86
|
else {
|
|
84
87
|
const searchResult = this.findToken(originName, gasAddressOrDenom);
|
|
85
|
-
|
|
88
|
+
assert(searchResult, `Fee token ${gasAddressOrDenom} is unknown`);
|
|
86
89
|
igpToken = searchResult;
|
|
87
90
|
}
|
|
88
|
-
this.logger(`Quoted interchain transfer fee: ${gasAmount} ${igpToken.symbol}`);
|
|
89
|
-
return new
|
|
91
|
+
this.logger.debug(`Quoted interchain transfer fee: ${gasAmount} ${igpToken.symbol}`);
|
|
92
|
+
return new TokenAmount(gasAmount, igpToken);
|
|
90
93
|
}
|
|
91
94
|
/**
|
|
92
95
|
* Simulates a transfer to estimate 'local' gas fees on the origin chain
|
|
@@ -101,7 +104,7 @@ class WarpCore {
|
|
|
101
104
|
return { gasUnits: 0, gasPrice: 0, fee: Number(defaultQuote.amount) };
|
|
102
105
|
}
|
|
103
106
|
// Form transactions to estimate local gas with
|
|
104
|
-
const recipient =
|
|
107
|
+
const recipient = convertToProtocolAddress(sender, destinationMetadata.protocol, destinationMetadata.bech32Prefix);
|
|
105
108
|
const txs = await this.getTransferRemoteTxs({
|
|
106
109
|
originTokenAmount: originToken.amount(1),
|
|
107
110
|
destination,
|
|
@@ -120,13 +123,13 @@ class WarpCore {
|
|
|
120
123
|
}
|
|
121
124
|
// On ethereum, sometimes 2 txs are required (one approve, one transferRemote)
|
|
122
125
|
else if (txs.length === 2 &&
|
|
123
|
-
originToken.protocol ===
|
|
126
|
+
originToken.protocol === ProtocolType.Ethereum) {
|
|
124
127
|
const provider = this.multiProvider.getEthersV5Provider(originMetadata.name);
|
|
125
128
|
// We use a hard-coded const as an estimate for the transferRemote because we
|
|
126
129
|
// cannot reliably simulate the tx when an approval tx is required first
|
|
127
|
-
return
|
|
130
|
+
return estimateTransactionFeeEthersV5ForGasUnits({
|
|
128
131
|
provider,
|
|
129
|
-
gasUnits:
|
|
132
|
+
gasUnits: EVM_TRANSFER_REMOTE_GAS_ESTIMATE,
|
|
130
133
|
});
|
|
131
134
|
}
|
|
132
135
|
else {
|
|
@@ -142,17 +145,17 @@ class WarpCore {
|
|
|
142
145
|
const { token, amount } = originTokenAmount;
|
|
143
146
|
const destinationName = this.multiProvider.getChainName(destination);
|
|
144
147
|
const destinationDomainId = this.multiProvider.getDomainId(destination);
|
|
145
|
-
const providerType =
|
|
148
|
+
const providerType = TOKEN_STANDARD_TO_PROVIDER_TYPE[token.standard];
|
|
146
149
|
const hypAdapter = token.getHypAdapter(this.multiProvider, destinationName);
|
|
147
150
|
if (await this.isApproveRequired({ originTokenAmount, owner: sender })) {
|
|
148
|
-
this.logger(`Approval required for transfer of ${token.symbol}`);
|
|
151
|
+
this.logger.info(`Approval required for transfer of ${token.symbol}`);
|
|
149
152
|
const approveTxReq = await hypAdapter.populateApproveTx({
|
|
150
153
|
weiAmountOrId: amount.toString(),
|
|
151
154
|
recipient: token.addressOrDenom,
|
|
152
155
|
});
|
|
153
|
-
this.logger(`Approval tx for ${token.symbol} populated`);
|
|
156
|
+
this.logger.debug(`Approval tx for ${token.symbol} populated`);
|
|
154
157
|
const approveTx = {
|
|
155
|
-
category:
|
|
158
|
+
category: WarpTxCategory.Approval,
|
|
156
159
|
type: providerType,
|
|
157
160
|
transaction: approveTxReq,
|
|
158
161
|
};
|
|
@@ -174,9 +177,9 @@ class WarpCore {
|
|
|
174
177
|
addressOrDenom: interchainFee.token.addressOrDenom,
|
|
175
178
|
},
|
|
176
179
|
});
|
|
177
|
-
this.logger(`Remote transfer tx for ${token.symbol} populated`);
|
|
180
|
+
this.logger.debug(`Remote transfer tx for ${token.symbol} populated`);
|
|
178
181
|
const transferTx = {
|
|
179
|
-
category:
|
|
182
|
+
category: WarpTxCategory.Transfer,
|
|
180
183
|
type: providerType,
|
|
181
184
|
transaction: transferTxReq,
|
|
182
185
|
};
|
|
@@ -187,7 +190,7 @@ class WarpCore {
|
|
|
187
190
|
* Fetch local and interchain fee estimates for a remote transfer
|
|
188
191
|
*/
|
|
189
192
|
async estimateTransferRemoteFees({ originToken, destination, sender, senderPubKey, }) {
|
|
190
|
-
this.logger('Fetching remote transfer fee estimates');
|
|
193
|
+
this.logger.debug('Fetching remote transfer fee estimates');
|
|
191
194
|
// First get interchain gas quote (aka IGP quote)
|
|
192
195
|
// Start with this because it's used in the local fee estimation
|
|
193
196
|
const interchainQuote = await this.getInterchainTransferFee({
|
|
@@ -208,7 +211,7 @@ class WarpCore {
|
|
|
208
211
|
});
|
|
209
212
|
// Get the local gas token. This assumes the chain's native token will pay for local gas
|
|
210
213
|
// This will need to be smarter if more complex scenarios on Cosmos are supported
|
|
211
|
-
const localGasToken =
|
|
214
|
+
const localGasToken = Token.FromChainMetadataNativeToken(originMetadata);
|
|
212
215
|
const localQuote = localGasToken.amount(localFee.fee);
|
|
213
216
|
return {
|
|
214
217
|
interchainQuote,
|
|
@@ -248,18 +251,18 @@ class WarpCore {
|
|
|
248
251
|
async isDestinationCollateralSufficient({ originTokenAmount, destination, }) {
|
|
249
252
|
const { token: originToken, amount } = originTokenAmount;
|
|
250
253
|
const destinationName = this.multiProvider.getChainName(destination);
|
|
251
|
-
this.logger(`Checking collateral for ${originToken.symbol} to ${destination}`);
|
|
254
|
+
this.logger.debug(`Checking collateral for ${originToken.symbol} to ${destination}`);
|
|
252
255
|
const destinationToken = originToken.getConnectionForChain(destinationName)?.token;
|
|
253
|
-
|
|
254
|
-
if (!
|
|
255
|
-
this.logger(`${destinationToken.symbol} is not collateralized, skipping`);
|
|
256
|
+
assert(destinationToken, `No connection found for ${destinationName}`);
|
|
257
|
+
if (!TOKEN_COLLATERALIZED_STANDARDS.includes(destinationToken.standard)) {
|
|
258
|
+
this.logger.debug(`${destinationToken.symbol} is not collateralized, skipping`);
|
|
256
259
|
return true;
|
|
257
260
|
}
|
|
258
261
|
const adapter = destinationToken.getAdapter(this.multiProvider);
|
|
259
262
|
const destinationBalance = await adapter.getBalance(destinationToken.addressOrDenom);
|
|
260
|
-
const destinationBalanceInOriginDecimals =
|
|
263
|
+
const destinationBalanceInOriginDecimals = convertDecimals(destinationToken.decimals, originToken.decimals, destinationBalance.toString());
|
|
261
264
|
const isSufficient = BigInt(destinationBalanceInOriginDecimals) >= amount;
|
|
262
|
-
this.logger(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} collateral`);
|
|
265
|
+
this.logger.debug(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} collateral`);
|
|
263
266
|
return isSufficient;
|
|
264
267
|
}
|
|
265
268
|
/**
|
|
@@ -269,7 +272,7 @@ class WarpCore {
|
|
|
269
272
|
const { token, amount } = originTokenAmount;
|
|
270
273
|
const adapter = token.getAdapter(this.multiProvider);
|
|
271
274
|
const isRequired = await adapter.isApproveRequired(owner, token.addressOrDenom, amount);
|
|
272
|
-
this.logger(`Approval is${isRequired ? '' : ' not'} required for transfer of ${token.symbol}`);
|
|
275
|
+
this.logger.info(`Approval is${isRequired ? '' : ' not'} required for transfer of ${token.symbol}`);
|
|
273
276
|
return isRequired;
|
|
274
277
|
}
|
|
275
278
|
/**
|
|
@@ -317,16 +320,16 @@ class WarpCore {
|
|
|
317
320
|
const destinationMetadata = this.multiProvider.getChainMetadata(destination);
|
|
318
321
|
const { protocol, bech32Prefix } = destinationMetadata;
|
|
319
322
|
// Ensure recip address is valid for the destination chain's protocol
|
|
320
|
-
if (!
|
|
323
|
+
if (!isValidAddress(recipient, protocol) || isZeroishAddress(recipient))
|
|
321
324
|
return { recipient: 'Invalid recipient' };
|
|
322
325
|
// Also ensure the address denom is correct if the dest protocol is Cosmos
|
|
323
|
-
if (protocol ===
|
|
326
|
+
if (protocol === ProtocolType.Cosmos) {
|
|
324
327
|
if (!bech32Prefix) {
|
|
325
|
-
this.logger(`No bech32 prefix found for chain ${destination}`);
|
|
328
|
+
this.logger.error(`No bech32 prefix found for chain ${destination}`);
|
|
326
329
|
return { destination: 'Invalid chain data' };
|
|
327
330
|
}
|
|
328
331
|
else if (!recipient.startsWith(bech32Prefix)) {
|
|
329
|
-
this.logger(`Recipient prefix should be ${bech32Prefix}`);
|
|
332
|
+
this.logger.error(`Recipient prefix should be ${bech32Prefix}`);
|
|
330
333
|
return { recipient: 'Invalid recipient prefix' };
|
|
331
334
|
}
|
|
332
335
|
}
|
|
@@ -394,7 +397,7 @@ class WarpCore {
|
|
|
394
397
|
// This is a convenience so WarpConfigs don't need to include definitions for native tokens
|
|
395
398
|
const chainMetadata = this.multiProvider.getChainMetadata(chainName);
|
|
396
399
|
if (chainMetadata.nativeToken?.denom === addressOrDenom) {
|
|
397
|
-
return
|
|
400
|
+
return Token.FromChainMetadataNativeToken(chainMetadata);
|
|
398
401
|
}
|
|
399
402
|
return null;
|
|
400
403
|
}
|
|
@@ -418,5 +421,4 @@ class WarpCore {
|
|
|
418
421
|
return this.tokens.filter((t) => t.chainName === origin && t.getConnectionForChain(destination));
|
|
419
422
|
}
|
|
420
423
|
}
|
|
421
|
-
exports.WarpCore = WarpCore;
|
|
422
424
|
//# sourceMappingURL=WarpCore.js.map
|