@recoillink/sdk 0.0.0-stage → 45.0.1
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/LICENSE.md +193 -0
- package/README.md +30 -2
- package/dist/app/HyperlaneApp.d.ts +13 -0
- package/dist/app/HyperlaneApp.d.ts.map +1 -0
- package/dist/app/HyperlaneApp.js +22 -0
- package/dist/app/HyperlaneApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.d.ts +93 -0
- package/dist/app/MultiProtocolApp.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.js +144 -0
- package/dist/app/MultiProtocolApp.js.map +1 -0
- package/dist/app/MultiProtocolApp.test.d.ts +2 -0
- package/dist/app/MultiProtocolApp.test.d.ts.map +1 -0
- package/dist/app/MultiProtocolApp.test.js +28 -0
- package/dist/app/MultiProtocolApp.test.js.map +1 -0
- package/dist/aws/s3.d.ts +22 -0
- package/dist/aws/s3.d.ts.map +1 -0
- package/dist/aws/s3.js +69 -0
- package/dist/aws/s3.js.map +1 -0
- package/dist/aws/validator.d.ts +22 -0
- package/dist/aws/validator.d.ts.map +1 -0
- package/dist/aws/validator.js +99 -0
- package/dist/aws/validator.js.map +1 -0
- package/dist/block-explorer/etherscan.d.ts +142 -0
- package/dist/block-explorer/etherscan.d.ts.map +1 -0
- package/dist/block-explorer/etherscan.js +307 -0
- package/dist/block-explorer/etherscan.js.map +1 -0
- package/dist/block-explorer/etherscan.test.d.ts +2 -0
- package/dist/block-explorer/etherscan.test.d.ts.map +1 -0
- package/dist/block-explorer/etherscan.test.js +359 -0
- package/dist/block-explorer/etherscan.test.js.map +1 -0
- package/dist/block-explorer/testFixtures.d.ts +8 -0
- package/dist/block-explorer/testFixtures.d.ts.map +1 -0
- package/dist/block-explorer/testFixtures.js +18 -0
- package/dist/block-explorer/testFixtures.js.map +1 -0
- package/dist/block-explorer/utils.d.ts +11 -0
- package/dist/block-explorer/utils.d.ts.map +1 -0
- package/dist/block-explorer/utils.js +32 -0
- package/dist/block-explorer/utils.js.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts +18 -0
- package/dist/ccip/HyperlaneCCIPDeployer.d.ts.map +1 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js +122 -0
- package/dist/ccip/HyperlaneCCIPDeployer.js.map +1 -0
- package/dist/ccip/consts.d.ts +24 -0
- package/dist/ccip/consts.d.ts.map +1 -0
- package/dist/ccip/consts.js +491 -0
- package/dist/ccip/consts.js.map +1 -0
- package/dist/ccip/utils.d.ts +46 -0
- package/dist/ccip/utils.d.ts.map +1 -0
- package/dist/ccip/utils.js +95 -0
- package/dist/ccip/utils.js.map +1 -0
- package/dist/consts/bytecode.d.ts +14 -0
- package/dist/consts/bytecode.d.ts.map +1 -0
- package/dist/consts/bytecode.js +15 -0
- package/dist/consts/bytecode.js.map +1 -0
- package/dist/consts/concurrency.d.ts +2 -0
- package/dist/consts/concurrency.d.ts.map +1 -0
- package/dist/consts/concurrency.js +2 -0
- package/dist/consts/concurrency.js.map +1 -0
- package/dist/consts/igp.d.ts +12 -0
- package/dist/consts/igp.d.ts.map +1 -0
- package/dist/consts/igp.js +40 -0
- package/dist/consts/igp.js.map +1 -0
- package/dist/consts/mailbox.d.ts +2 -0
- package/dist/consts/mailbox.d.ts.map +1 -0
- package/dist/consts/mailbox.js +3 -0
- package/dist/consts/mailbox.js.map +1 -0
- package/dist/consts/multisigIsm.d.ts +5 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -0
- package/dist/consts/multisigIsm.js +847 -0
- package/dist/consts/multisigIsm.js.map +1 -0
- package/dist/consts/multisigIsm.test.d.ts +2 -0
- package/dist/consts/multisigIsm.test.d.ts.map +1 -0
- package/dist/consts/multisigIsm.test.js +40 -0
- package/dist/consts/multisigIsm.test.js.map +1 -0
- package/dist/consts/multisigIsmVerifyCosts.d.ts +210 -0
- package/dist/consts/multisigIsmVerifyCosts.d.ts.map +1 -0
- package/dist/consts/multisigIsmVerifyCosts.js +210 -0
- package/dist/consts/multisigIsmVerifyCosts.js.map +1 -0
- package/dist/consts/numbers.d.ts +2 -0
- package/dist/consts/numbers.d.ts.map +1 -0
- package/dist/consts/numbers.js +3 -0
- package/dist/consts/numbers.js.map +1 -0
- package/dist/consts/recoilLinkFees.d.ts +6 -0
- package/dist/consts/recoilLinkFees.d.ts.map +1 -0
- package/dist/consts/recoilLinkFees.js +17 -0
- package/dist/consts/recoilLinkFees.js.map +1 -0
- package/dist/consts/registry.d.ts +2 -0
- package/dist/consts/registry.d.ts.map +1 -0
- package/dist/consts/registry.js +5 -0
- package/dist/consts/registry.js.map +1 -0
- package/dist/consts/sealevel.d.ts +7 -0
- package/dist/consts/sealevel.d.ts.map +1 -0
- package/dist/consts/sealevel.js +8 -0
- package/dist/consts/sealevel.js.map +1 -0
- package/dist/consts/testChains.d.ts +30 -0
- package/dist/consts/testChains.d.ts.map +1 -0
- package/dist/consts/testChains.js +244 -0
- package/dist/consts/testChains.js.map +1 -0
- package/dist/contracts/contracts.d.ts +40 -0
- package/dist/contracts/contracts.d.ts.map +1 -0
- package/dist/contracts/contracts.hardhat-test.d.ts +2 -0
- package/dist/contracts/contracts.hardhat-test.d.ts.map +1 -0
- package/dist/contracts/contracts.hardhat-test.js +34 -0
- package/dist/contracts/contracts.hardhat-test.js.map +1 -0
- package/dist/contracts/contracts.js +201 -0
- package/dist/contracts/contracts.js.map +1 -0
- package/dist/contracts/contracts.test.d.ts +2 -0
- package/dist/contracts/contracts.test.d.ts.map +1 -0
- package/dist/contracts/contracts.test.js +88 -0
- package/dist/contracts/contracts.test.js.map +1 -0
- package/dist/contracts/types.d.ts +18 -0
- package/dist/contracts/types.d.ts.map +1 -0
- package/dist/contracts/types.js +2 -0
- package/dist/contracts/types.js.map +1 -0
- package/dist/core/AbstractHyperlaneModule.d.ts +18 -0
- package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -0
- package/dist/core/AbstractHyperlaneModule.js +10 -0
- package/dist/core/AbstractHyperlaneModule.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.d.ts +2 -0
- package/dist/core/CoreDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +234 -0
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -0
- package/dist/core/EvmCoreModule.d.ts +119 -0
- package/dist/core/EvmCoreModule.d.ts.map +1 -0
- package/dist/core/EvmCoreModule.hardhat-test.d.ts +2 -0
- package/dist/core/EvmCoreModule.hardhat-test.d.ts.map +1 -0
- package/dist/core/EvmCoreModule.hardhat-test.js +364 -0
- package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -0
- package/dist/core/EvmCoreModule.js +339 -0
- package/dist/core/EvmCoreModule.js.map +1 -0
- package/dist/core/EvmCoreReader.d.ts +38 -0
- package/dist/core/EvmCoreReader.d.ts.map +1 -0
- package/dist/core/EvmCoreReader.js +92 -0
- package/dist/core/EvmCoreReader.js.map +1 -0
- package/dist/core/EvmIcaModule.d.ts +43 -0
- package/dist/core/EvmIcaModule.d.ts.map +1 -0
- package/dist/core/EvmIcaModule.hardhat-test.d.ts +2 -0
- package/dist/core/EvmIcaModule.hardhat-test.d.ts.map +1 -0
- package/dist/core/EvmIcaModule.hardhat-test.js +211 -0
- package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -0
- package/dist/core/EvmIcaModule.js +143 -0
- package/dist/core/EvmIcaModule.js.map +1 -0
- package/dist/core/HyperlaneCore.d.ts +78 -0
- package/dist/core/HyperlaneCore.d.ts.map +1 -0
- package/dist/core/HyperlaneCore.js +296 -0
- package/dist/core/HyperlaneCore.js.map +1 -0
- package/dist/core/HyperlaneCore.test.d.ts +2 -0
- package/dist/core/HyperlaneCore.test.d.ts.map +1 -0
- package/dist/core/HyperlaneCore.test.js +12 -0
- package/dist/core/HyperlaneCore.test.js.map +1 -0
- package/dist/core/HyperlaneCoreChecker.d.ts +18 -0
- package/dist/core/HyperlaneCoreChecker.d.ts.map +1 -0
- package/dist/core/HyperlaneCoreChecker.js +171 -0
- package/dist/core/HyperlaneCoreChecker.js.map +1 -0
- package/dist/core/HyperlaneCoreDeployer.d.ts +36 -0
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -0
- package/dist/core/HyperlaneCoreDeployer.js +162 -0
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -0
- package/dist/core/MultiProtocolCore.d.ts +21 -0
- package/dist/core/MultiProtocolCore.d.ts.map +1 -0
- package/dist/core/MultiProtocolCore.js +49 -0
- package/dist/core/MultiProtocolCore.js.map +1 -0
- package/dist/core/MultiProtocolCore.test.d.ts +2 -0
- package/dist/core/MultiProtocolCore.test.d.ts.map +1 -0
- package/dist/core/MultiProtocolCore.test.js +27 -0
- package/dist/core/MultiProtocolCore.test.js.map +1 -0
- package/dist/core/TestCoreApp.d.ts +17 -0
- package/dist/core/TestCoreApp.d.ts.map +1 -0
- package/dist/core/TestCoreApp.js +49 -0
- package/dist/core/TestCoreApp.js.map +1 -0
- package/dist/core/TestCoreDeployer.d.ts +10 -0
- package/dist/core/TestCoreDeployer.d.ts.map +1 -0
- package/dist/core/TestCoreDeployer.js +13 -0
- package/dist/core/TestCoreDeployer.js.map +1 -0
- package/dist/core/TestRecipientDeployer.d.ts +22 -0
- package/dist/core/TestRecipientDeployer.d.ts.map +1 -0
- package/dist/core/TestRecipientDeployer.js +30 -0
- package/dist/core/TestRecipientDeployer.js.map +1 -0
- package/dist/core/adapters/AleoCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/AleoCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/AleoCoreAdapter.js +72 -0
- package/dist/core/adapters/AleoCoreAdapter.js.map +1 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.js +65 -0
- package/dist/core/adapters/CosmNativeCoreAdapter.js.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts +40 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.js +145 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.js.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.d.ts +2 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.d.ts.map +1 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js +31 -0
- package/dist/core/adapters/CosmWasmCoreAdapter.test.js.map +1 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts +27 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.d.ts.map +1 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.js +92 -0
- package/dist/core/adapters/CosmWasmIgpAdapter.js.map +1 -0
- package/dist/core/adapters/EvmCoreAdapter.d.ts +25 -0
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/EvmCoreAdapter.js +44 -0
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -0
- package/dist/core/adapters/RadixCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/RadixCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/RadixCoreAdapter.js +58 -0
- package/dist/core/adapters/RadixCoreAdapter.js.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +56 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.js +191 -0
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.d.ts +2 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.d.ts.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js +33 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -0
- package/dist/core/adapters/StarknetCoreAdapter.d.ts +23 -0
- package/dist/core/adapters/StarknetCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/StarknetCoreAdapter.js +70 -0
- package/dist/core/adapters/StarknetCoreAdapter.js.map +1 -0
- package/dist/core/adapters/types.d.ts +19 -0
- package/dist/core/adapters/types.d.ts.map +1 -0
- package/dist/core/adapters/types.js +2 -0
- package/dist/core/adapters/types.js.map +1 -0
- package/dist/core/contracts.d.ts +15 -0
- package/dist/core/contracts.d.ts.map +1 -0
- package/dist/core/contracts.js +13 -0
- package/dist/core/contracts.js.map +1 -0
- package/dist/core/events.d.ts +4 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +2 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +3 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +56 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -0
- package/dist/core/types.d.ts +173 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +118 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/types.test.d.ts +2 -0
- package/dist/core/types.test.d.ts.map +1 -0
- package/dist/core/types.test.js +205 -0
- package/dist/core/types.test.js.map +1 -0
- package/dist/cw-types/Cw20Base.types.d.ts +198 -0
- package/dist/cw-types/Cw20Base.types.d.ts.map +1 -0
- package/dist/cw-types/Cw20Base.types.js +7 -0
- package/dist/cw-types/Cw20Base.types.js.map +1 -0
- package/dist/cw-types/HookAggregate.types.d.ts +79 -0
- package/dist/cw-types/HookAggregate.types.d.ts.map +1 -0
- package/dist/cw-types/HookAggregate.types.js +7 -0
- package/dist/cw-types/HookAggregate.types.js.map +1 -0
- package/dist/cw-types/HookMerkle.types.d.ts +163 -0
- package/dist/cw-types/HookMerkle.types.d.ts.map +1 -0
- package/dist/cw-types/HookMerkle.types.js +7 -0
- package/dist/cw-types/HookMerkle.types.js.map +1 -0
- package/dist/cw-types/HookPausable.types.d.ts +82 -0
- package/dist/cw-types/HookPausable.types.d.ts.map +1 -0
- package/dist/cw-types/HookPausable.types.js +7 -0
- package/dist/cw-types/HookPausable.types.js.map +1 -0
- package/dist/cw-types/HookRouting.types.d.ts +109 -0
- package/dist/cw-types/HookRouting.types.d.ts.map +1 -0
- package/dist/cw-types/HookRouting.types.js +7 -0
- package/dist/cw-types/HookRouting.types.js.map +1 -0
- package/dist/cw-types/HookRoutingCustom.types.d.ts +149 -0
- package/dist/cw-types/HookRoutingCustom.types.d.ts.map +1 -0
- package/dist/cw-types/HookRoutingCustom.types.js +7 -0
- package/dist/cw-types/HookRoutingCustom.types.js.map +1 -0
- package/dist/cw-types/HookRoutingFallback.types.d.ts +113 -0
- package/dist/cw-types/HookRoutingFallback.types.d.ts.map +1 -0
- package/dist/cw-types/HookRoutingFallback.types.js +7 -0
- package/dist/cw-types/HookRoutingFallback.types.js.map +1 -0
- package/dist/cw-types/Igp.types.d.ts +184 -0
- package/dist/cw-types/Igp.types.d.ts.map +1 -0
- package/dist/cw-types/Igp.types.js +7 -0
- package/dist/cw-types/Igp.types.js.map +1 -0
- package/dist/cw-types/IgpOracle.types.d.ts +61 -0
- package/dist/cw-types/IgpOracle.types.d.ts.map +1 -0
- package/dist/cw-types/IgpOracle.types.js +7 -0
- package/dist/cw-types/IgpOracle.types.js.map +1 -0
- package/dist/cw-types/IsmAggregate.types.d.ts +76 -0
- package/dist/cw-types/IsmAggregate.types.d.ts.map +1 -0
- package/dist/cw-types/IsmAggregate.types.js +7 -0
- package/dist/cw-types/IsmAggregate.types.js.map +1 -0
- package/dist/cw-types/IsmMultisig.types.d.ts +102 -0
- package/dist/cw-types/IsmMultisig.types.d.ts.map +1 -0
- package/dist/cw-types/IsmMultisig.types.js +7 -0
- package/dist/cw-types/IsmMultisig.types.js.map +1 -0
- package/dist/cw-types/IsmRouting.types.d.ts +81 -0
- package/dist/cw-types/IsmRouting.types.d.ts.map +1 -0
- package/dist/cw-types/IsmRouting.types.js +7 -0
- package/dist/cw-types/IsmRouting.types.js.map +1 -0
- package/dist/cw-types/Mailbox.types.d.ts +131 -0
- package/dist/cw-types/Mailbox.types.d.ts.map +1 -0
- package/dist/cw-types/Mailbox.types.js +7 -0
- package/dist/cw-types/Mailbox.types.js.map +1 -0
- package/dist/cw-types/ValidatorAnnounce.types.d.ts +31 -0
- package/dist/cw-types/ValidatorAnnounce.types.d.ts.map +1 -0
- package/dist/cw-types/ValidatorAnnounce.types.js +7 -0
- package/dist/cw-types/ValidatorAnnounce.types.js.map +1 -0
- package/dist/cw-types/WarpCw20.types.d.ts +217 -0
- package/dist/cw-types/WarpCw20.types.d.ts.map +1 -0
- package/dist/cw-types/WarpCw20.types.js +7 -0
- package/dist/cw-types/WarpCw20.types.js.map +1 -0
- package/dist/cw-types/WarpNative.types.d.ts +197 -0
- package/dist/cw-types/WarpNative.types.d.ts.map +1 -0
- package/dist/cw-types/WarpNative.types.js +7 -0
- package/dist/cw-types/WarpNative.types.js.map +1 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts +32 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -0
- package/dist/deploy/HyperlaneAppChecker.js +220 -0
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts +83 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -0
- package/dist/deploy/HyperlaneDeployer.js +434 -0
- package/dist/deploy/HyperlaneDeployer.js.map +1 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts +11 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.d.ts.map +1 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js +48 -0
- package/dist/deploy/HyperlaneProxyFactoryDeployer.js.map +1 -0
- package/dist/deploy/contracts.d.ts +16 -0
- package/dist/deploy/contracts.d.ts.map +1 -0
- package/dist/deploy/contracts.js +25 -0
- package/dist/deploy/contracts.js.map +1 -0
- package/dist/deploy/proxy.d.ts +52 -0
- package/dist/deploy/proxy.d.ts.map +1 -0
- package/dist/deploy/proxy.js +153 -0
- package/dist/deploy/proxy.js.map +1 -0
- package/dist/deploy/proxy.test.d.ts +2 -0
- package/dist/deploy/proxy.test.d.ts.map +1 -0
- package/dist/deploy/proxy.test.js +168 -0
- package/dist/deploy/proxy.test.js.map +1 -0
- package/dist/deploy/proxyFactoryUtils.d.ts +7 -0
- package/dist/deploy/proxyFactoryUtils.d.ts.map +1 -0
- package/dist/deploy/proxyFactoryUtils.js +12 -0
- package/dist/deploy/proxyFactoryUtils.js.map +1 -0
- package/dist/deploy/types.d.ts +69 -0
- package/dist/deploy/types.d.ts.map +1 -0
- package/dist/deploy/types.js +22 -0
- package/dist/deploy/types.js.map +1 -0
- package/dist/deploy/utils.d.ts +15 -0
- package/dist/deploy/utils.d.ts.map +1 -0
- package/dist/deploy/utils.js +28 -0
- package/dist/deploy/utils.js.map +1 -0
- package/dist/deploy/verify/BaseContractVerifier.d.ts +23 -0
- package/dist/deploy/verify/BaseContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/BaseContractVerifier.js +128 -0
- package/dist/deploy/verify/BaseContractVerifier.js.map +1 -0
- package/dist/deploy/verify/ContractVerifier.d.ts +30 -0
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/ContractVerifier.js +125 -0
- package/dist/deploy/verify/ContractVerifier.js.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts +15 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js +45 -0
- package/dist/deploy/verify/PostDeploymentContractVerifier.js.map +1 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.d.ts +50 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.js +99 -0
- package/dist/deploy/verify/ZKSyncContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +47 -0
- package/dist/deploy/verify/types.d.ts.map +1 -0
- package/dist/deploy/verify/types.js +7 -0
- package/dist/deploy/verify/types.js.map +1 -0
- package/dist/deploy/verify/utils.d.ts +81 -0
- package/dist/deploy/verify/utils.d.ts.map +1 -0
- package/dist/deploy/verify/utils.js +208 -0
- package/dist/deploy/verify/utils.js.map +1 -0
- package/dist/deploy/verify/utils.test.d.ts +2 -0
- package/dist/deploy/verify/utils.test.d.ts.map +1 -0
- package/dist/deploy/verify/utils.test.js +49 -0
- package/dist/deploy/verify/utils.test.js.map +1 -0
- package/dist/deploy/warp.d.ts +150 -0
- package/dist/deploy/warp.d.ts.map +1 -0
- package/dist/deploy/warp.js +1280 -0
- package/dist/deploy/warp.js.map +1 -0
- package/dist/deploy/warp.test.d.ts +2 -0
- package/dist/deploy/warp.test.d.ts.map +1 -0
- package/dist/deploy/warp.test.js +419 -0
- package/dist/deploy/warp.test.js.map +1 -0
- package/dist/deploy/warpHybridPlan.d.ts +104 -0
- package/dist/deploy/warpHybridPlan.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.js +178 -0
- package/dist/deploy/warpHybridPlan.js.map +1 -0
- package/dist/deploy/warpHybridPlan.test.d.ts +2 -0
- package/dist/deploy/warpHybridPlan.test.d.ts.map +1 -0
- package/dist/deploy/warpHybridPlan.test.js +141 -0
- package/dist/deploy/warpHybridPlan.test.js.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.d.ts +20 -0
- package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts +2 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +353 -0
- package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -0
- package/dist/fee/EvmTokenFeeDeployer.js +143 -0
- package/dist/fee/EvmTokenFeeDeployer.js.map +1 -0
- package/dist/fee/EvmTokenFeeModule.d.ts +63 -0
- package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts +2 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.js +942 -0
- package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -0
- package/dist/fee/EvmTokenFeeModule.js +583 -0
- package/dist/fee/EvmTokenFeeModule.js.map +1 -0
- package/dist/fee/EvmTokenFeeReader.d.ts +38 -0
- package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts +4 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts.map +1 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.js +371 -0
- package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -0
- package/dist/fee/EvmTokenFeeReader.js +200 -0
- package/dist/fee/EvmTokenFeeReader.js.map +1 -0
- package/dist/fee/contracts.d.ts +11 -0
- package/dist/fee/contracts.d.ts.map +1 -0
- package/dist/fee/contracts.js +11 -0
- package/dist/fee/contracts.js.map +1 -0
- package/dist/fee/crossCollateralUtils.d.ts +8 -0
- package/dist/fee/crossCollateralUtils.d.ts.map +1 -0
- package/dist/fee/crossCollateralUtils.js +49 -0
- package/dist/fee/crossCollateralUtils.js.map +1 -0
- package/dist/fee/feeConfigMapping.d.ts +9 -0
- package/dist/fee/feeConfigMapping.d.ts.map +1 -0
- package/dist/fee/feeConfigMapping.js +87 -0
- package/dist/fee/feeConfigMapping.js.map +1 -0
- package/dist/fee/feeConfigMapping.test.d.ts +2 -0
- package/dist/fee/feeConfigMapping.test.d.ts.map +1 -0
- package/dist/fee/feeConfigMapping.test.js +204 -0
- package/dist/fee/feeConfigMapping.test.js.map +1 -0
- package/dist/fee/types.d.ts +295 -0
- package/dist/fee/types.d.ts.map +1 -0
- package/dist/fee/types.js +238 -0
- package/dist/fee/types.js.map +1 -0
- package/dist/fee/types.test.d.ts +2 -0
- package/dist/fee/types.test.d.ts.map +1 -0
- package/dist/fee/types.test.js +204 -0
- package/dist/fee/types.test.js.map +1 -0
- package/dist/fee/utils.d.ts +9 -0
- package/dist/fee/utils.d.ts.map +1 -0
- package/dist/fee/utils.js +9 -0
- package/dist/fee/utils.js.map +1 -0
- package/dist/fee/utils.test.d.ts +2 -0
- package/dist/fee/utils.test.d.ts.map +1 -0
- package/dist/fee/utils.test.js +54 -0
- package/dist/fee/utils.test.js.map +1 -0
- package/dist/fork/types.d.ts +354 -0
- package/dist/fork/types.d.ts.map +1 -0
- package/dist/fork/types.js +142 -0
- package/dist/fork/types.js.map +1 -0
- package/dist/gas/HyperlaneIgp.d.ts +53 -0
- package/dist/gas/HyperlaneIgp.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgp.js +64 -0
- package/dist/gas/HyperlaneIgp.js.map +1 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts +13 -0
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgpChecker.js +162 -0
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -0
- package/dist/gas/HyperlaneIgpDeployer.d.ts +32 -0
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -0
- package/dist/gas/HyperlaneIgpDeployer.js +248 -0
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +93 -0
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.js +294 -0
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.d.ts +2 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.d.ts.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.js +189 -0
- package/dist/gas/adapters/SealevelIgpAdapter.test.js.map +1 -0
- package/dist/gas/adapters/serialization.d.ts +180 -0
- package/dist/gas/adapters/serialization.d.ts.map +1 -0
- package/dist/gas/adapters/serialization.js +409 -0
- package/dist/gas/adapters/serialization.js.map +1 -0
- package/dist/gas/adapters/serialization.test.d.ts +2 -0
- package/dist/gas/adapters/serialization.test.d.ts.map +1 -0
- package/dist/gas/adapters/serialization.test.js +87 -0
- package/dist/gas/adapters/serialization.test.js.map +1 -0
- package/dist/gas/contracts.d.ts +8 -0
- package/dist/gas/contracts.d.ts.map +1 -0
- package/dist/gas/contracts.js +7 -0
- package/dist/gas/contracts.js.map +1 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts +2 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.d.ts.map +1 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +82 -0
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -0
- package/dist/gas/oracle/types.d.ts +42 -0
- package/dist/gas/oracle/types.d.ts.map +1 -0
- package/dist/gas/oracle/types.js +45 -0
- package/dist/gas/oracle/types.js.map +1 -0
- package/dist/gas/token-prices.d.ts +58 -0
- package/dist/gas/token-prices.d.ts.map +1 -0
- package/dist/gas/token-prices.js +199 -0
- package/dist/gas/token-prices.js.map +1 -0
- package/dist/gas/token-prices.test.d.ts +2 -0
- package/dist/gas/token-prices.test.d.ts.map +1 -0
- package/dist/gas/token-prices.test.js +96 -0
- package/dist/gas/token-prices.test.js.map +1 -0
- package/dist/gas/types.d.ts +50 -0
- package/dist/gas/types.d.ts.map +1 -0
- package/dist/gas/types.js +26 -0
- package/dist/gas/types.js.map +1 -0
- package/dist/gas/utils.d.ts +34 -0
- package/dist/gas/utils.d.ts.map +1 -0
- package/dist/gas/utils.js +246 -0
- package/dist/gas/utils.js.map +1 -0
- package/dist/gas/utils.test.d.ts +2 -0
- package/dist/gas/utils.test.d.ts.map +1 -0
- package/dist/gas/utils.test.js +132 -0
- package/dist/gas/utils.test.js.map +1 -0
- package/dist/gcp/storage.d.ts +28 -0
- package/dist/gcp/storage.d.ts.map +1 -0
- package/dist/gcp/storage.js +88 -0
- package/dist/gcp/storage.js.map +1 -0
- package/dist/gcp/validator.d.ts +22 -0
- package/dist/gcp/validator.d.ts.map +1 -0
- package/dist/gcp/validator.js +107 -0
- package/dist/gcp/validator.js.map +1 -0
- package/dist/hook/EvmHookModule.d.ts +161 -0
- package/dist/hook/EvmHookModule.d.ts.map +1 -0
- package/dist/hook/EvmHookModule.hardhat-test.d.ts +2 -0
- package/dist/hook/EvmHookModule.hardhat-test.d.ts.map +1 -0
- package/dist/hook/EvmHookModule.hardhat-test.js +1004 -0
- package/dist/hook/EvmHookModule.hardhat-test.js.map +1 -0
- package/dist/hook/EvmHookModule.js +932 -0
- package/dist/hook/EvmHookModule.js.map +1 -0
- package/dist/hook/EvmHookReader.d.ts +81 -0
- package/dist/hook/EvmHookReader.d.ts.map +1 -0
- package/dist/hook/EvmHookReader.js +630 -0
- package/dist/hook/EvmHookReader.js.map +1 -0
- package/dist/hook/EvmHookReader.test.d.ts +2 -0
- package/dist/hook/EvmHookReader.test.d.ts.map +1 -0
- package/dist/hook/EvmHookReader.test.js +647 -0
- package/dist/hook/EvmHookReader.test.js.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts +70 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts +2 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.js +322 -0
- package/dist/hook/HyperlaneHookDeployer.hardhat-test.js.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.js +538 -0
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -0
- package/dist/hook/contracts.d.ts +20 -0
- package/dist/hook/contracts.d.ts.map +1 -0
- package/dist/hook/contracts.js +18 -0
- package/dist/hook/contracts.js.map +1 -0
- package/dist/hook/types.d.ts +262 -0
- package/dist/hook/types.d.ts.map +1 -0
- package/dist/hook/types.js +341 -0
- package/dist/hook/types.js.map +1 -0
- package/dist/hook/types.test.d.ts +2 -0
- package/dist/hook/types.test.d.ts.map +1 -0
- package/dist/hook/types.test.js +227 -0
- package/dist/hook/types.test.js.map +1 -0
- package/dist/hook/updates.d.ts +33 -0
- package/dist/hook/updates.d.ts.map +1 -0
- package/dist/hook/updates.js +35 -0
- package/dist/hook/updates.js.map +1 -0
- package/dist/hook/utils.d.ts +58 -0
- package/dist/hook/utils.d.ts.map +1 -0
- package/dist/hook/utils.hardhat-test.d.ts +2 -0
- package/dist/hook/utils.hardhat-test.d.ts.map +1 -0
- package/dist/hook/utils.hardhat-test.js +119 -0
- package/dist/hook/utils.hardhat-test.js.map +1 -0
- package/dist/hook/utils.js +157 -0
- package/dist/hook/utils.js.map +1 -0
- package/dist/ica/EvmIcaReader.d.ts +7 -0
- package/dist/ica/EvmIcaReader.d.ts.map +1 -0
- package/dist/ica/EvmIcaReader.hardhat-test.d.ts +2 -0
- package/dist/ica/EvmIcaReader.hardhat-test.d.ts.map +1 -0
- package/dist/ica/EvmIcaReader.hardhat-test.js +39 -0
- package/dist/ica/EvmIcaReader.hardhat-test.js.map +1 -0
- package/dist/ica/EvmIcaReader.js +32 -0
- package/dist/ica/EvmIcaReader.js.map +1 -0
- package/dist/ica/types.d.ts +88 -0
- package/dist/ica/types.d.ts.map +1 -0
- package/dist/ica/types.js +36 -0
- package/dist/ica/types.js.map +1 -0
- package/dist/index.d.ts +215 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +199 -0
- package/dist/index.js.map +1 -0
- package/dist/ism/EvmIsmModule.d.ts +106 -0
- package/dist/ism/EvmIsmModule.d.ts.map +1 -0
- package/dist/ism/EvmIsmModule.hardhat-test.d.ts +2 -0
- package/dist/ism/EvmIsmModule.hardhat-test.d.ts.map +1 -0
- package/dist/ism/EvmIsmModule.hardhat-test.js +1279 -0
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -0
- package/dist/ism/EvmIsmModule.js +709 -0
- package/dist/ism/EvmIsmModule.js.map +1 -0
- package/dist/ism/EvmIsmModule.test.d.ts +2 -0
- package/dist/ism/EvmIsmModule.test.d.ts.map +1 -0
- package/dist/ism/EvmIsmModule.test.js +309 -0
- package/dist/ism/EvmIsmModule.test.js.map +1 -0
- package/dist/ism/EvmIsmReader.d.ts +55 -0
- package/dist/ism/EvmIsmReader.d.ts.map +1 -0
- package/dist/ism/EvmIsmReader.js +555 -0
- package/dist/ism/EvmIsmReader.js.map +1 -0
- package/dist/ism/EvmIsmReader.test.d.ts +2 -0
- package/dist/ism/EvmIsmReader.test.d.ts.map +1 -0
- package/dist/ism/EvmIsmReader.test.js +931 -0
- package/dist/ism/EvmIsmReader.test.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.d.ts +129 -0
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts +2 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +1228 -0
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.js +867 -0
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.test.d.ts +2 -0
- package/dist/ism/HyperlaneIsmFactory.test.d.ts.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.test.js +98 -0
- package/dist/ism/HyperlaneIsmFactory.test.js.map +1 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts +24 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.d.ts.map +1 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js +74 -0
- package/dist/ism/adapters/CosmWasmMultisigAdapter.js.map +1 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts +59 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.d.ts.map +1 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.js +133 -0
- package/dist/ism/adapters/SealevelMultisigAdapter.js.map +1 -0
- package/dist/ism/blacklist.d.ts +62 -0
- package/dist/ism/blacklist.d.ts.map +1 -0
- package/dist/ism/blacklist.js +98 -0
- package/dist/ism/blacklist.js.map +1 -0
- package/dist/ism/delayedFlow.d.ts +31 -0
- package/dist/ism/delayedFlow.d.ts.map +1 -0
- package/dist/ism/delayedFlow.js +33 -0
- package/dist/ism/delayedFlow.js.map +1 -0
- package/dist/ism/multisig.d.ts +6 -0
- package/dist/ism/multisig.d.ts.map +1 -0
- package/dist/ism/multisig.js +25 -0
- package/dist/ism/multisig.js.map +1 -0
- package/dist/ism/serialization.d.ts +74 -0
- package/dist/ism/serialization.d.ts.map +1 -0
- package/dist/ism/serialization.js +177 -0
- package/dist/ism/serialization.js.map +1 -0
- package/dist/ism/types.d.ts +384 -0
- package/dist/ism/types.d.ts.map +1 -0
- package/dist/ism/types.js +876 -0
- package/dist/ism/types.js.map +1 -0
- package/dist/ism/types.test.d.ts +2 -0
- package/dist/ism/types.test.d.ts.map +1 -0
- package/dist/ism/types.test.js +1269 -0
- package/dist/ism/types.test.js.map +1 -0
- package/dist/ism/utils.d.ts +44 -0
- package/dist/ism/utils.d.ts.map +1 -0
- package/dist/ism/utils.js +603 -0
- package/dist/ism/utils.js.map +1 -0
- package/dist/ism/utils.test.d.ts +2 -0
- package/dist/ism/utils.test.d.ts.map +1 -0
- package/dist/ism/utils.test.js +144 -0
- package/dist/ism/utils.test.js.map +1 -0
- package/dist/mailbox/serialization.d.ts +41 -0
- package/dist/mailbox/serialization.d.ts.map +1 -0
- package/dist/mailbox/serialization.js +104 -0
- package/dist/mailbox/serialization.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.d.ts +233 -0
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.js +424 -0
- package/dist/metadata/ChainMetadataManager.js.map +1 -0
- package/dist/metadata/ChainMetadataManager.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataManager.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataManager.test.js +233 -0
- package/dist/metadata/ChainMetadataManager.test.js.map +1 -0
- package/dist/metadata/ChainMetadataResolver.d.ts +14 -0
- package/dist/metadata/ChainMetadataResolver.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.js +57 -0
- package/dist/metadata/ChainMetadataResolver.js.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts +2 -0
- package/dist/metadata/ChainMetadataResolver.test.d.ts.map +1 -0
- package/dist/metadata/ChainMetadataResolver.test.js +87 -0
- package/dist/metadata/ChainMetadataResolver.test.js.map +1 -0
- package/dist/metadata/agentConfig.d.ts +1529 -0
- package/dist/metadata/agentConfig.d.ts.map +1 -0
- package/dist/metadata/agentConfig.js +750 -0
- package/dist/metadata/agentConfig.js.map +1 -0
- package/dist/metadata/agentConfig.test.d.ts +2 -0
- package/dist/metadata/agentConfig.test.d.ts.map +1 -0
- package/dist/metadata/agentConfig.test.js +457 -0
- package/dist/metadata/agentConfig.test.js.map +1 -0
- package/dist/metadata/blockExplorer.d.ts +11 -0
- package/dist/metadata/blockExplorer.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.js +123 -0
- package/dist/metadata/blockExplorer.js.map +1 -0
- package/dist/metadata/blockExplorer.test.d.ts +2 -0
- package/dist/metadata/blockExplorer.test.d.ts.map +1 -0
- package/dist/metadata/blockExplorer.test.js +326 -0
- package/dist/metadata/blockExplorer.test.js.map +1 -0
- package/dist/metadata/chainIdUtils.d.ts +8 -0
- package/dist/metadata/chainIdUtils.d.ts.map +1 -0
- package/dist/metadata/chainIdUtils.js +33 -0
- package/dist/metadata/chainIdUtils.js.map +1 -0
- package/dist/metadata/chainIdUtils.test.d.ts +2 -0
- package/dist/metadata/chainIdUtils.test.d.ts.map +1 -0
- package/dist/metadata/chainIdUtils.test.js +45 -0
- package/dist/metadata/chainIdUtils.test.js.map +1 -0
- package/dist/metadata/chainMetadata.test.d.ts +2 -0
- package/dist/metadata/chainMetadata.test.d.ts.map +1 -0
- package/dist/metadata/chainMetadata.test.js +130 -0
- package/dist/metadata/chainMetadata.test.js.map +1 -0
- package/dist/metadata/chainMetadataConversion.d.ts +11 -0
- package/dist/metadata/chainMetadataConversion.d.ts.map +1 -0
- package/dist/metadata/chainMetadataConversion.js +119 -0
- package/dist/metadata/chainMetadataConversion.js.map +1 -0
- package/dist/metadata/chainMetadataTypes.d.ts +338 -0
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -0
- package/dist/metadata/chainMetadataTypes.js +373 -0
- package/dist/metadata/chainMetadataTypes.js.map +1 -0
- package/dist/metadata/customZodTypes.d.ts +44 -0
- package/dist/metadata/customZodTypes.d.ts.map +1 -0
- package/dist/metadata/customZodTypes.js +65 -0
- package/dist/metadata/customZodTypes.js.map +1 -0
- package/dist/metadata/deploymentArtifacts.d.ts +10 -0
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -0
- package/dist/metadata/deploymentArtifacts.js +10 -0
- package/dist/metadata/deploymentArtifacts.js.map +1 -0
- package/dist/metadata/forwardCompatibleEnum.test.d.ts +2 -0
- package/dist/metadata/forwardCompatibleEnum.test.d.ts.map +1 -0
- package/dist/metadata/forwardCompatibleEnum.test.js +299 -0
- package/dist/metadata/forwardCompatibleEnum.test.js.map +1 -0
- package/dist/metadata/matchingList.d.ts +25 -0
- package/dist/metadata/matchingList.d.ts.map +1 -0
- package/dist/metadata/matchingList.js +22 -0
- package/dist/metadata/matchingList.js.map +1 -0
- package/dist/metadata/warpRouteConfig.d.ts +83 -0
- package/dist/metadata/warpRouteConfig.d.ts.map +1 -0
- package/dist/metadata/warpRouteConfig.js +22 -0
- package/dist/metadata/warpRouteConfig.js.map +1 -0
- package/dist/middleware/account/InterchainAccount.d.ts +47 -0
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccount.js +324 -0
- package/dist/middleware/account/InterchainAccount.js.map +1 -0
- package/dist/middleware/account/InterchainAccount.test.d.ts +2 -0
- package/dist/middleware/account/InterchainAccount.test.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccount.test.js +733 -0
- package/dist/middleware/account/InterchainAccount.test.js.map +1 -0
- package/dist/middleware/account/InterchainAccountChecker.d.ts +7 -0
- package/dist/middleware/account/InterchainAccountChecker.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccountChecker.js +4 -0
- package/dist/middleware/account/InterchainAccountChecker.js.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts +14 -0
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -0
- package/dist/middleware/account/InterchainAccountDeployer.js +68 -0
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -0
- package/dist/middleware/account/accounts.hardhat-test.d.ts +2 -0
- package/dist/middleware/account/accounts.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/account/accounts.hardhat-test.js +240 -0
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -0
- package/dist/middleware/account/contracts.d.ts +6 -0
- package/dist/middleware/account/contracts.d.ts.map +1 -0
- package/dist/middleware/account/contracts.js +5 -0
- package/dist/middleware/account/contracts.js.map +1 -0
- package/dist/middleware/account/icaCalls.d.ts +78 -0
- package/dist/middleware/account/icaCalls.d.ts.map +1 -0
- package/dist/middleware/account/icaCalls.js +75 -0
- package/dist/middleware/account/icaCalls.js.map +1 -0
- package/dist/middleware/account/types.d.ts +40 -0
- package/dist/middleware/account/types.d.ts.map +1 -0
- package/dist/middleware/account/types.js +25 -0
- package/dist/middleware/account/types.js.map +1 -0
- package/dist/middleware/query/InterchainQuery.d.ts +10 -0
- package/dist/middleware/query/InterchainQuery.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQuery.js +13 -0
- package/dist/middleware/query/InterchainQuery.js.map +1 -0
- package/dist/middleware/query/InterchainQueryChecker.d.ts +7 -0
- package/dist/middleware/query/InterchainQueryChecker.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQueryChecker.js +4 -0
- package/dist/middleware/query/InterchainQueryChecker.js.map +1 -0
- package/dist/middleware/query/InterchainQueryDeployer.d.ts +17 -0
- package/dist/middleware/query/InterchainQueryDeployer.d.ts.map +1 -0
- package/dist/middleware/query/InterchainQueryDeployer.js +35 -0
- package/dist/middleware/query/InterchainQueryDeployer.js.map +1 -0
- package/dist/middleware/query/contracts.d.ts +8 -0
- package/dist/middleware/query/contracts.d.ts.map +1 -0
- package/dist/middleware/query/contracts.js +7 -0
- package/dist/middleware/query/contracts.js.map +1 -0
- package/dist/middleware/query/queries.hardhat-test.d.ts +2 -0
- package/dist/middleware/query/queries.hardhat-test.d.ts.map +1 -0
- package/dist/middleware/query/queries.hardhat-test.js +70 -0
- package/dist/middleware/query/queries.hardhat-test.js.map +1 -0
- package/dist/predicate/PredicateApiClient.d.ts +35 -0
- package/dist/predicate/PredicateApiClient.d.ts.map +1 -0
- package/dist/predicate/PredicateApiClient.js +66 -0
- package/dist/predicate/PredicateApiClient.js.map +1 -0
- package/dist/predicate/PredicateApiClient.test.d.ts +2 -0
- package/dist/predicate/PredicateApiClient.test.d.ts.map +1 -0
- package/dist/predicate/PredicateApiClient.test.js +108 -0
- package/dist/predicate/PredicateApiClient.test.js.map +1 -0
- package/dist/predicate/PredicateDeployer.d.ts +56 -0
- package/dist/predicate/PredicateDeployer.d.ts.map +1 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.d.ts +2 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.js +209 -0
- package/dist/predicate/PredicateDeployer.hardhat-test.js.map +1 -0
- package/dist/predicate/PredicateDeployer.js +218 -0
- package/dist/predicate/PredicateDeployer.js.map +1 -0
- package/dist/providers/MinimalProviderRegistry.d.ts +41 -0
- package/dist/providers/MinimalProviderRegistry.d.ts.map +1 -0
- package/dist/providers/MinimalProviderRegistry.js +122 -0
- package/dist/providers/MinimalProviderRegistry.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.d.ts +23 -0
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.js +64 -0
- package/dist/providers/MultiProtocolProvider.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts +2 -0
- package/dist/providers/MultiProtocolProvider.test.d.ts.map +1 -0
- package/dist/providers/MultiProtocolProvider.test.js +126 -0
- package/dist/providers/MultiProtocolProvider.test.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts +196 -0
- package/dist/providers/MultiProvider.d.ts.map +1 -0
- package/dist/providers/MultiProvider.js +553 -0
- package/dist/providers/MultiProvider.js.map +1 -0
- package/dist/providers/MultiProvider.test.d.ts +2 -0
- package/dist/providers/MultiProvider.test.d.ts.map +1 -0
- package/dist/providers/MultiProvider.test.js +357 -0
- package/dist/providers/MultiProvider.test.js.map +1 -0
- package/dist/providers/MultiProviderAdapter.d.ts +61 -0
- package/dist/providers/MultiProviderAdapter.d.ts.map +1 -0
- package/dist/providers/MultiProviderAdapter.js +164 -0
- package/dist/providers/MultiProviderAdapter.js.map +1 -0
- package/dist/providers/ProviderType.d.ts +319 -0
- package/dist/providers/ProviderType.d.ts.map +1 -0
- package/dist/providers/ProviderType.js +27 -0
- package/dist/providers/ProviderType.js.map +1 -0
- package/dist/providers/SeismicSigner.d.ts +78 -0
- package/dist/providers/SeismicSigner.d.ts.map +1 -0
- package/dist/providers/SeismicSigner.js +265 -0
- package/dist/providers/SeismicSigner.js.map +1 -0
- package/dist/providers/SeismicSigner.test.d.ts +2 -0
- package/dist/providers/SeismicSigner.test.d.ts.map +1 -0
- package/dist/providers/SeismicSigner.test.js +561 -0
- package/dist/providers/SeismicSigner.test.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts +25 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js +139 -0
- package/dist/providers/SmartProvider/HyperlaneEtherscanProvider.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts +61 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js +248 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.js.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.d.ts +2 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.js +516 -0
- package/dist/providers/SmartProvider/HyperlaneJsonRpcProvider.test.js.map +1 -0
- package/dist/providers/SmartProvider/ProviderMethods.d.ts +24 -0
- package/dist/providers/SmartProvider/ProviderMethods.d.ts.map +1 -0
- package/dist/providers/SmartProvider/ProviderMethods.js +32 -0
- package/dist/providers/SmartProvider/ProviderMethods.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts +58 -0
- package/dist/providers/SmartProvider/SmartProvider.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js +164 -0
- package/dist/providers/SmartProvider/SmartProvider.emptyResponse.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js +173 -0
- package/dist/providers/SmartProvider/SmartProvider.foundry-test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.js +560 -0
- package/dist/providers/SmartProvider/SmartProvider.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.js +90 -0
- package/dist/providers/SmartProvider/SmartProvider.rawRead.test.js.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts +2 -0
- package/dist/providers/SmartProvider/SmartProvider.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js +1119 -0
- package/dist/providers/SmartProvider/SmartProvider.test.js.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.d.ts +13 -0
- package/dist/providers/SmartProvider/jsonRpcError.d.ts.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.js +86 -0
- package/dist/providers/SmartProvider/jsonRpcError.js.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.d.ts +2 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.d.ts.map +1 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.js +46 -0
- package/dist/providers/SmartProvider/jsonRpcError.test.js.map +1 -0
- package/dist/providers/SmartProvider/logFilters.d.ts +10 -0
- package/dist/providers/SmartProvider/logFilters.d.ts.map +1 -0
- package/dist/providers/SmartProvider/logFilters.js +31 -0
- package/dist/providers/SmartProvider/logFilters.js.map +1 -0
- package/dist/providers/SmartProvider/types.d.ts +50 -0
- package/dist/providers/SmartProvider/types.d.ts.map +1 -0
- package/dist/providers/SmartProvider/types.js +7 -0
- package/dist/providers/SmartProvider/types.js.map +1 -0
- package/dist/providers/builders/aleo.browser.d.ts +13 -0
- package/dist/providers/builders/aleo.browser.d.ts.map +1 -0
- package/dist/providers/builders/aleo.browser.js +54 -0
- package/dist/providers/builders/aleo.browser.js.map +1 -0
- package/dist/providers/builders/aleo.d.ts +4 -0
- package/dist/providers/builders/aleo.d.ts.map +1 -0
- package/dist/providers/builders/aleo.js +7 -0
- package/dist/providers/builders/aleo.js.map +1 -0
- package/dist/providers/builders/aleo.test.d.ts +2 -0
- package/dist/providers/builders/aleo.test.d.ts.map +1 -0
- package/dist/providers/builders/aleo.test.js +99 -0
- package/dist/providers/builders/aleo.test.js.map +1 -0
- package/dist/providers/builders/cosmos.d.ts +6 -0
- package/dist/providers/builders/cosmos.d.ts.map +1 -0
- package/dist/providers/builders/cosmos.js +30 -0
- package/dist/providers/builders/cosmos.js.map +1 -0
- package/dist/providers/builders/ethersV5.d.ts +7 -0
- package/dist/providers/builders/ethersV5.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.js +38 -0
- package/dist/providers/builders/ethersV5.js.map +1 -0
- package/dist/providers/builders/ethersV5.test.d.ts +2 -0
- package/dist/providers/builders/ethersV5.test.d.ts.map +1 -0
- package/dist/providers/builders/ethersV5.test.js +77 -0
- package/dist/providers/builders/ethersV5.test.js.map +1 -0
- package/dist/providers/builders/radix.browser.d.ts +19 -0
- package/dist/providers/builders/radix.browser.d.ts.map +1 -0
- package/dist/providers/builders/radix.browser.js +47 -0
- package/dist/providers/builders/radix.browser.js.map +1 -0
- package/dist/providers/builders/radix.d.ts +4 -0
- package/dist/providers/builders/radix.d.ts.map +1 -0
- package/dist/providers/builders/radix.gateway.test.d.ts +2 -0
- package/dist/providers/builders/radix.gateway.test.d.ts.map +1 -0
- package/dist/providers/builders/radix.gateway.test.js +39 -0
- package/dist/providers/builders/radix.gateway.test.js.map +1 -0
- package/dist/providers/builders/radix.js +17 -0
- package/dist/providers/builders/radix.js.map +1 -0
- package/dist/providers/builders/radix.test.d.ts +2 -0
- package/dist/providers/builders/radix.test.d.ts.map +1 -0
- package/dist/providers/builders/radix.test.js +82 -0
- package/dist/providers/builders/radix.test.js.map +1 -0
- package/dist/providers/builders/solana.d.ts +4 -0
- package/dist/providers/builders/solana.d.ts.map +1 -0
- package/dist/providers/builders/solana.js +12 -0
- package/dist/providers/builders/solana.js.map +1 -0
- package/dist/providers/builders/starknet.d.ts +4 -0
- package/dist/providers/builders/starknet.d.ts.map +1 -0
- package/dist/providers/builders/starknet.js +20 -0
- package/dist/providers/builders/starknet.js.map +1 -0
- package/dist/providers/builders/tron.d.ts +10 -0
- package/dist/providers/builders/tron.d.ts.map +1 -0
- package/dist/providers/builders/tron.js +21 -0
- package/dist/providers/builders/tron.js.map +1 -0
- package/dist/providers/builders/types.d.ts +6 -0
- package/dist/providers/builders/types.d.ts.map +1 -0
- package/dist/providers/builders/types.js +2 -0
- package/dist/providers/builders/types.js.map +1 -0
- package/dist/providers/builders/viem.d.ts +4 -0
- package/dist/providers/builders/viem.d.ts.map +1 -0
- package/dist/providers/builders/viem.js +25 -0
- package/dist/providers/builders/viem.js.map +1 -0
- package/dist/providers/builders/zksync.d.ts +7 -0
- package/dist/providers/builders/zksync.d.ts.map +1 -0
- package/dist/providers/builders/zksync.js +14 -0
- package/dist/providers/builders/zksync.js.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts +7 -0
- package/dist/providers/defaultProviderBuilderMaps.d.ts.map +1 -0
- package/dist/providers/defaultProviderBuilderMaps.js +36 -0
- package/dist/providers/defaultProviderBuilderMaps.js.map +1 -0
- package/dist/providers/explorerHealthTest.d.ts +4 -0
- package/dist/providers/explorerHealthTest.d.ts.map +1 -0
- package/dist/providers/explorerHealthTest.js +53 -0
- package/dist/providers/explorerHealthTest.js.map +1 -0
- package/dist/providers/providerBuilders.d.ts +12 -0
- package/dist/providers/providerBuilders.d.ts.map +1 -0
- package/dist/providers/providerBuilders.js +11 -0
- package/dist/providers/providerBuilders.js.map +1 -0
- package/dist/providers/rpcHealthTest.d.ts +11 -0
- package/dist/providers/rpcHealthTest.d.ts.map +1 -0
- package/dist/providers/rpcHealthTest.js +104 -0
- package/dist/providers/rpcHealthTest.js.map +1 -0
- package/dist/providers/runtime/evm.d.ts +3 -0
- package/dist/providers/runtime/evm.d.ts.map +1 -0
- package/dist/providers/runtime/evm.js +11 -0
- package/dist/providers/runtime/evm.js.map +1 -0
- package/dist/providers/runtime/evmLike.d.ts +3 -0
- package/dist/providers/runtime/evmLike.d.ts.map +1 -0
- package/dist/providers/runtime/evmLike.js +7 -0
- package/dist/providers/runtime/evmLike.js.map +1 -0
- package/dist/providers/runtime/evmLike.test.d.ts +2 -0
- package/dist/providers/runtime/evmLike.test.d.ts.map +1 -0
- package/dist/providers/runtime/evmLike.test.js +22 -0
- package/dist/providers/runtime/evmLike.test.js.map +1 -0
- package/dist/providers/runtime/tron.d.ts +3 -0
- package/dist/providers/runtime/tron.d.ts.map +1 -0
- package/dist/providers/runtime/tron.js +6 -0
- package/dist/providers/runtime/tron.js.map +1 -0
- package/dist/providers/transactionFeeEstimators.d.ts +79 -0
- package/dist/providers/transactionFeeEstimators.d.ts.map +1 -0
- package/dist/providers/transactionFeeEstimators.js +317 -0
- package/dist/providers/transactionFeeEstimators.js.map +1 -0
- package/dist/providers/transactionFeeEstimators.test.d.ts +2 -0
- package/dist/providers/transactionFeeEstimators.test.d.ts.map +1 -0
- package/dist/providers/transactionFeeEstimators.test.js +394 -0
- package/dist/providers/transactionFeeEstimators.test.js.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts +25 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js +113 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js +122 -0
- package/dist/providers/transactions/submitter/IcaTxSubmitter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts +19 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.js +2 -0
- package/dist/providers/transactions/submitter/TxSubmitterInterface.js.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts +9 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js +10 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +39 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +48 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.d.ts +69 -0
- package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.js +94 -0
- package/dist/providers/transactions/submitter/builder/types.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/builder/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.test.js +314 -0
- package/dist/providers/transactions/submitter/builder/types.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts +33 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js +43 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxBuilder.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +31 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +90 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js +145 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts +15 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js +26 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +29 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +68 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js +125 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts +22 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js +85 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TimelockSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts +10 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js +2 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5TxSubmitterInterface.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts +104 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js +72 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.js +57 -0
- package/dist/providers/transactions/submitter/ethersV5/types.test.js.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +31 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js +97 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js +38 -0
- package/dist/providers/transactions/submitter/submitterBuilderGetter.test.js.map +1 -0
- package/dist/providers/transactions/submitter/types.d.ts +37 -0
- package/dist/providers/transactions/submitter/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/types.js +3 -0
- package/dist/providers/transactions/submitter/types.js.map +1 -0
- package/dist/providers/transactions/types.d.ts +9 -0
- package/dist/providers/transactions/types.d.ts.map +1 -0
- package/dist/providers/transactions/types.js +9 -0
- package/dist/providers/transactions/types.js.map +1 -0
- package/dist/providers/transactions/types.test.d.ts +2 -0
- package/dist/providers/transactions/types.test.d.ts.map +1 -0
- package/dist/providers/transactions/types.test.js +37 -0
- package/dist/providers/transactions/types.test.js.map +1 -0
- package/dist/quote/Eip712Signable.d.ts +25 -0
- package/dist/quote/Eip712Signable.d.ts.map +1 -0
- package/dist/quote/Eip712Signable.js +27 -0
- package/dist/quote/Eip712Signable.js.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.d.ts +15 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.d.ts.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.js +24 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.js.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.d.ts +2 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.d.ts.map +1 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.js +23 -0
- package/dist/quote/EvmPrivateKeyQuoteSigner.test.js.map +1 -0
- package/dist/quote/EvmQuoteArtifactManager.d.ts +20 -0
- package/dist/quote/EvmQuoteArtifactManager.d.ts.map +1 -0
- package/dist/quote/EvmQuoteArtifactManager.js +32 -0
- package/dist/quote/EvmQuoteArtifactManager.js.map +1 -0
- package/dist/quote/EvmQuoteReader.d.ts +24 -0
- package/dist/quote/EvmQuoteReader.d.ts.map +1 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.d.ts +2 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.d.ts.map +1 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.js +157 -0
- package/dist/quote/EvmQuoteReader.hardhat-test.js.map +1 -0
- package/dist/quote/EvmQuoteReader.js +91 -0
- package/dist/quote/EvmQuoteReader.js.map +1 -0
- package/dist/quote/EvmQuoteWriter.d.ts +16 -0
- package/dist/quote/EvmQuoteWriter.d.ts.map +1 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.d.ts +2 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.d.ts.map +1 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.js +238 -0
- package/dist/quote/EvmQuoteWriter.hardhat-test.js.map +1 -0
- package/dist/quote/EvmQuoteWriter.js +55 -0
- package/dist/quote/EvmQuoteWriter.js.map +1 -0
- package/dist/quote/WarpSignedQuoteEip712.d.ts +22 -0
- package/dist/quote/WarpSignedQuoteEip712.d.ts.map +1 -0
- package/dist/quote/WarpSignedQuoteEip712.js +48 -0
- package/dist/quote/WarpSignedQuoteEip712.js.map +1 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.d.ts +63 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.d.ts.map +1 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.js +207 -0
- package/dist/quoted-calls/EvmQuotedTransferProvider.js.map +1 -0
- package/dist/quoted-calls/QuotedTransferProvider.d.ts +50 -0
- package/dist/quoted-calls/QuotedTransferProvider.d.ts.map +1 -0
- package/dist/quoted-calls/QuotedTransferProvider.js +2 -0
- package/dist/quoted-calls/QuotedTransferProvider.js.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.d.ts +89 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.d.ts.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.js +472 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.js.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.d.ts +2 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.d.ts.map +1 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.js +502 -0
- package/dist/quoted-calls/SealevelQuotedTransferProvider.test.js.map +1 -0
- package/dist/quoted-calls/assertHex.d.ts +6 -0
- package/dist/quoted-calls/assertHex.d.ts.map +1 -0
- package/dist/quoted-calls/assertHex.js +13 -0
- package/dist/quoted-calls/assertHex.js.map +1 -0
- package/dist/quoted-calls/builder.d.ts +52 -0
- package/dist/quoted-calls/builder.d.ts.map +1 -0
- package/dist/quoted-calls/builder.js +161 -0
- package/dist/quoted-calls/builder.js.map +1 -0
- package/dist/quoted-calls/builder.test.d.ts +2 -0
- package/dist/quoted-calls/builder.test.d.ts.map +1 -0
- package/dist/quoted-calls/builder.test.js +193 -0
- package/dist/quoted-calls/builder.test.js.map +1 -0
- package/dist/quoted-calls/client.d.ts +69 -0
- package/dist/quoted-calls/client.d.ts.map +1 -0
- package/dist/quoted-calls/client.js +205 -0
- package/dist/quoted-calls/client.js.map +1 -0
- package/dist/quoted-calls/client.v2.test.d.ts +2 -0
- package/dist/quoted-calls/client.v2.test.d.ts.map +1 -0
- package/dist/quoted-calls/client.v2.test.js +346 -0
- package/dist/quoted-calls/client.v2.test.js.map +1 -0
- package/dist/quoted-calls/codec.d.ts +94 -0
- package/dist/quoted-calls/codec.d.ts.map +1 -0
- package/dist/quoted-calls/codec.js +223 -0
- package/dist/quoted-calls/codec.js.map +1 -0
- package/dist/quoted-calls/codec.test.d.ts +2 -0
- package/dist/quoted-calls/codec.test.d.ts.map +1 -0
- package/dist/quoted-calls/codec.test.js +307 -0
- package/dist/quoted-calls/codec.test.js.map +1 -0
- package/dist/quoted-calls/composeSealevelTx.d.ts +26 -0
- package/dist/quoted-calls/composeSealevelTx.d.ts.map +1 -0
- package/dist/quoted-calls/composeSealevelTx.js +45 -0
- package/dist/quoted-calls/composeSealevelTx.js.map +1 -0
- package/dist/quoted-calls/svmDecoder.d.ts +51 -0
- package/dist/quoted-calls/svmDecoder.d.ts.map +1 -0
- package/dist/quoted-calls/svmDecoder.js +26 -0
- package/dist/quoted-calls/svmDecoder.js.map +1 -0
- package/dist/quoted-calls/svmDecoder.test.d.ts +2 -0
- package/dist/quoted-calls/svmDecoder.test.d.ts.map +1 -0
- package/dist/quoted-calls/svmDecoder.test.js +56 -0
- package/dist/quoted-calls/svmDecoder.test.js.map +1 -0
- package/dist/quoted-calls/types.d.ts +176 -0
- package/dist/quoted-calls/types.d.ts.map +1 -0
- package/dist/quoted-calls/types.js +56 -0
- package/dist/quoted-calls/types.js.map +1 -0
- package/dist/router/EvmRouterReader.d.ts +18 -0
- package/dist/router/EvmRouterReader.d.ts.map +1 -0
- package/dist/router/EvmRouterReader.js +60 -0
- package/dist/router/EvmRouterReader.js.map +1 -0
- package/dist/router/GasRouterDeployer.d.ts +11 -0
- package/dist/router/GasRouterDeployer.d.ts.map +1 -0
- package/dist/router/GasRouterDeployer.js +25 -0
- package/dist/router/GasRouterDeployer.js.map +1 -0
- package/dist/router/HyperlaneRouterChecker.d.ts +19 -0
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -0
- package/dist/router/HyperlaneRouterChecker.js +157 -0
- package/dist/router/HyperlaneRouterChecker.js.map +1 -0
- package/dist/router/HyperlaneRouterDeployer.d.ts +18 -0
- package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -0
- package/dist/router/HyperlaneRouterDeployer.js +88 -0
- package/dist/router/HyperlaneRouterDeployer.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.d.ts +20 -0
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.js +43 -0
- package/dist/router/MultiProtocolRouterApps.js.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts +2 -0
- package/dist/router/MultiProtocolRouterApps.test.d.ts.map +1 -0
- package/dist/router/MultiProtocolRouterApps.test.js +22 -0
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -0
- package/dist/router/ProxiedRouterChecker.d.ts +12 -0
- package/dist/router/ProxiedRouterChecker.d.ts.map +1 -0
- package/dist/router/ProxiedRouterChecker.js +34 -0
- package/dist/router/ProxiedRouterChecker.js.map +1 -0
- package/dist/router/ProxiedRouterDeployer.d.ts +35 -0
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -0
- package/dist/router/ProxiedRouterDeployer.js +58 -0
- package/dist/router/ProxiedRouterDeployer.js.map +1 -0
- package/dist/router/RouterApps.d.ts +22 -0
- package/dist/router/RouterApps.d.ts.map +1 -0
- package/dist/router/RouterApps.js +39 -0
- package/dist/router/RouterApps.js.map +1 -0
- package/dist/router/adapters/EvmRouterAdapter.d.ts +30 -0
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/EvmRouterAdapter.js +46 -0
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +35 -0
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -0
- package/dist/router/adapters/SealevelRouterAdapter.js +56 -0
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -0
- package/dist/router/adapters/types.d.ts +17 -0
- package/dist/router/adapters/types.d.ts.map +1 -0
- package/dist/router/adapters/types.js +2 -0
- package/dist/router/adapters/types.js.map +1 -0
- package/dist/router/types.d.ts +139 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +62 -0
- package/dist/router/types.js.map +1 -0
- package/dist/router/types.test.d.ts +2 -0
- package/dist/router/types.test.d.ts.map +1 -0
- package/dist/router/types.test.js +108 -0
- package/dist/router/types.test.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.d.ts +91 -0
- package/dist/rpc/evm/EvmEventLogsReader.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts +2 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js +640 -0
- package/dist/rpc/evm/EvmEventLogsReader.hardhat-test.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.js +246 -0
- package/dist/rpc/evm/EvmEventLogsReader.js.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.d.ts +2 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.d.ts.map +1 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.js +139 -0
- package/dist/rpc/evm/EvmEventLogsReader.test.js.map +1 -0
- package/dist/rpc/evm/types.d.ts +11 -0
- package/dist/rpc/evm/types.d.ts.map +1 -0
- package/dist/rpc/evm/types.js +2 -0
- package/dist/rpc/evm/types.js.map +1 -0
- package/dist/rpc/evm/utils.d.ts +75 -0
- package/dist/rpc/evm/utils.d.ts.map +1 -0
- package/dist/rpc/evm/utils.hardhat-test.d.ts +2 -0
- package/dist/rpc/evm/utils.hardhat-test.d.ts.map +1 -0
- package/dist/rpc/evm/utils.hardhat-test.js +457 -0
- package/dist/rpc/evm/utils.hardhat-test.js.map +1 -0
- package/dist/rpc/evm/utils.js +338 -0
- package/dist/rpc/evm/utils.js.map +1 -0
- package/dist/rpc/evm/utils.test.d.ts +2 -0
- package/dist/rpc/evm/utils.test.d.ts.map +1 -0
- package/dist/rpc/evm/utils.test.js +636 -0
- package/dist/rpc/evm/utils.test.js.map +1 -0
- package/dist/signers/cosmos/cosmjs.d.ts +17 -0
- package/dist/signers/cosmos/cosmjs.d.ts.map +1 -0
- package/dist/signers/cosmos/cosmjs.js +39 -0
- package/dist/signers/cosmos/cosmjs.js.map +1 -0
- package/dist/signers/evm/ethersv5.d.ts +14 -0
- package/dist/signers/evm/ethersv5.d.ts.map +1 -0
- package/dist/signers/evm/ethersv5.js +36 -0
- package/dist/signers/evm/ethersv5.js.map +1 -0
- package/dist/signers/evm/turnkey.d.ts +91 -0
- package/dist/signers/evm/turnkey.d.ts.map +1 -0
- package/dist/signers/evm/turnkey.js +269 -0
- package/dist/signers/evm/turnkey.js.map +1 -0
- package/dist/signers/evm/turnkey.test.d.ts +2 -0
- package/dist/signers/evm/turnkey.test.d.ts.map +1 -0
- package/dist/signers/evm/turnkey.test.js +240 -0
- package/dist/signers/evm/turnkey.test.js.map +1 -0
- package/dist/signers/radix/radix-toolkit.d.ts +16 -0
- package/dist/signers/radix/radix-toolkit.d.ts.map +1 -0
- package/dist/signers/radix/radix-toolkit.js +34 -0
- package/dist/signers/radix/radix-toolkit.js.map +1 -0
- package/dist/signers/signers.d.ts +17 -0
- package/dist/signers/signers.d.ts.map +1 -0
- package/dist/signers/signers.js +26 -0
- package/dist/signers/signers.js.map +1 -0
- package/dist/signers/starknet/starknetjs.d.ts +14 -0
- package/dist/signers/starknet/starknetjs.d.ts.map +1 -0
- package/dist/signers/starknet/starknetjs.js +38 -0
- package/dist/signers/starknet/starknetjs.js.map +1 -0
- package/dist/signers/svm/solana-web3js.d.ts +89 -0
- package/dist/signers/svm/solana-web3js.d.ts.map +1 -0
- package/dist/signers/svm/solana-web3js.js +247 -0
- package/dist/signers/svm/solana-web3js.js.map +1 -0
- package/dist/signers/svm/solana-web3js.test.d.ts +2 -0
- package/dist/signers/svm/solana-web3js.test.d.ts.map +1 -0
- package/dist/signers/svm/solana-web3js.test.js +61 -0
- package/dist/signers/svm/solana-web3js.test.js.map +1 -0
- package/dist/signers/svm/turnkey.d.ts +49 -0
- package/dist/signers/svm/turnkey.d.ts.map +1 -0
- package/dist/signers/svm/turnkey.js +80 -0
- package/dist/signers/svm/turnkey.js.map +1 -0
- package/dist/signers/turnkeyClient.d.ts +72 -0
- package/dist/signers/turnkeyClient.d.ts.map +1 -0
- package/dist/signers/turnkeyClient.js +121 -0
- package/dist/signers/turnkeyClient.js.map +1 -0
- package/dist/signers/types.d.ts +8 -0
- package/dist/signers/types.d.ts.map +1 -0
- package/dist/signers/types.js +2 -0
- package/dist/signers/types.js.map +1 -0
- package/dist/test/contractDouble.d.ts +8 -0
- package/dist/test/contractDouble.d.ts.map +1 -0
- package/dist/test/contractDouble.js +12 -0
- package/dist/test/contractDouble.js.map +1 -0
- package/dist/test/contractStubs.d.ts +8 -0
- package/dist/test/contractStubs.d.ts.map +1 -0
- package/dist/test/contractStubs.js +15 -0
- package/dist/test/contractStubs.js.map +1 -0
- package/dist/test/errors.d.ts +34 -0
- package/dist/test/errors.d.ts.map +1 -0
- package/dist/test/errors.js +46 -0
- package/dist/test/errors.js.map +1 -0
- package/dist/test/fixtures/warp-route-replay/record.d.ts +2 -0
- package/dist/test/fixtures/warp-route-replay/record.d.ts.map +1 -0
- package/dist/test/fixtures/warp-route-replay/record.js +32 -0
- package/dist/test/fixtures/warp-route-replay/record.js.map +1 -0
- package/dist/test/multiProviderStubs.d.ts +9 -0
- package/dist/test/multiProviderStubs.d.ts.map +1 -0
- package/dist/test/multiProviderStubs.js +31 -0
- package/dist/test/multiProviderStubs.js.map +1 -0
- package/dist/test/replayRpc.d.ts +82 -0
- package/dist/test/replayRpc.d.ts.map +1 -0
- package/dist/test/replayRpc.js +331 -0
- package/dist/test/replayRpc.js.map +1 -0
- package/dist/test/replayScenarios.d.ts +19 -0
- package/dist/test/replayScenarios.d.ts.map +1 -0
- package/dist/test/replayScenarios.js +89 -0
- package/dist/test/replayScenarios.js.map +1 -0
- package/dist/test/testUtils.d.ts +32 -0
- package/dist/test/testUtils.d.ts.map +1 -0
- package/dist/test/testUtils.js +408 -0
- package/dist/test/testUtils.js.map +1 -0
- package/dist/test/testUtils.test.d.ts +2 -0
- package/dist/test/testUtils.test.d.ts.map +1 -0
- package/dist/test/testUtils.test.js +28 -0
- package/dist/test/testUtils.test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.d.ts +12 -0
- package/dist/timelock/evm/EvmTimelockDeployer.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts +2 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js +210 -0
- package/dist/timelock/evm/EvmTimelockDeployer.hardhat-test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockDeployer.js +68 -0
- package/dist/timelock/evm/EvmTimelockDeployer.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.d.ts +32 -0
- package/dist/timelock/evm/EvmTimelockReader.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts +2 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.d.ts.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js +889 -0
- package/dist/timelock/evm/EvmTimelockReader.hardhat-test.js.map +1 -0
- package/dist/timelock/evm/EvmTimelockReader.js +171 -0
- package/dist/timelock/evm/EvmTimelockReader.js.map +1 -0
- package/dist/timelock/evm/constants.d.ts +6 -0
- package/dist/timelock/evm/constants.d.ts.map +1 -0
- package/dist/timelock/evm/constants.js +7 -0
- package/dist/timelock/evm/constants.js.map +1 -0
- package/dist/timelock/evm/contracts.d.ts +6 -0
- package/dist/timelock/evm/contracts.d.ts.map +1 -0
- package/dist/timelock/evm/contracts.js +5 -0
- package/dist/timelock/evm/contracts.js.map +1 -0
- package/dist/timelock/evm/errors.d.ts +2 -0
- package/dist/timelock/evm/errors.d.ts.map +1 -0
- package/dist/timelock/evm/errors.js +19 -0
- package/dist/timelock/evm/errors.js.map +1 -0
- package/dist/timelock/evm/errors.test.d.ts +2 -0
- package/dist/timelock/evm/errors.test.d.ts.map +1 -0
- package/dist/timelock/evm/errors.test.js +33 -0
- package/dist/timelock/evm/errors.test.js.map +1 -0
- package/dist/timelock/evm/utils.d.ts +4 -0
- package/dist/timelock/evm/utils.d.ts.map +1 -0
- package/dist/timelock/evm/utils.js +11 -0
- package/dist/timelock/evm/utils.js.map +1 -0
- package/dist/timelock/types.d.ts +29 -0
- package/dist/timelock/types.d.ts.map +1 -0
- package/dist/timelock/types.js +11 -0
- package/dist/timelock/types.js.map +1 -0
- package/dist/token/EvmWarpModule.d.ts +301 -0
- package/dist/token/EvmWarpModule.d.ts.map +1 -0
- package/dist/token/EvmWarpModule.hardhat-test.d.ts +2 -0
- package/dist/token/EvmWarpModule.hardhat-test.d.ts.map +1 -0
- package/dist/token/EvmWarpModule.hardhat-test.js +3143 -0
- package/dist/token/EvmWarpModule.hardhat-test.js.map +1 -0
- package/dist/token/EvmWarpModule.js +1800 -0
- package/dist/token/EvmWarpModule.js.map +1 -0
- package/dist/token/EvmWarpModule.test.d.ts +2 -0
- package/dist/token/EvmWarpModule.test.d.ts.map +1 -0
- package/dist/token/EvmWarpModule.test.js +471 -0
- package/dist/token/EvmWarpModule.test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.d.ts +135 -0
- package/dist/token/EvmWarpRouteReader.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.js +1357 -0
- package/dist/token/EvmWarpRouteReader.hardhat-test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.js +1292 -0
- package/dist/token/EvmWarpRouteReader.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.replay.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js +392 -0
- package/dist/token/EvmWarpRouteReader.replay.test.js.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.d.ts +2 -0
- package/dist/token/EvmWarpRouteReader.test.d.ts.map +1 -0
- package/dist/token/EvmWarpRouteReader.test.js +783 -0
- package/dist/token/EvmWarpRouteReader.test.js.map +1 -0
- package/dist/token/EvmXERC20Module.d.ts +105 -0
- package/dist/token/EvmXERC20Module.d.ts.map +1 -0
- package/dist/token/EvmXERC20Module.js +277 -0
- package/dist/token/EvmXERC20Module.js.map +1 -0
- package/dist/token/EvmXERC20Module.test.d.ts +2 -0
- package/dist/token/EvmXERC20Module.test.d.ts.map +1 -0
- package/dist/token/EvmXERC20Module.test.js +464 -0
- package/dist/token/EvmXERC20Module.test.js.map +1 -0
- package/dist/token/EvmXERC20Reader.d.ts +58 -0
- package/dist/token/EvmXERC20Reader.d.ts.map +1 -0
- package/dist/token/EvmXERC20Reader.js +122 -0
- package/dist/token/EvmXERC20Reader.js.map +1 -0
- package/dist/token/EvmXERC20Reader.test.d.ts +2 -0
- package/dist/token/EvmXERC20Reader.test.d.ts.map +1 -0
- package/dist/token/EvmXERC20Reader.test.js +333 -0
- package/dist/token/EvmXERC20Reader.test.js.map +1 -0
- package/dist/token/IToken.d.ts +21 -0
- package/dist/token/IToken.d.ts.map +1 -0
- package/dist/token/IToken.js +2 -0
- package/dist/token/IToken.js.map +1 -0
- package/dist/token/ITokenMetadata.d.ts +90 -0
- package/dist/token/ITokenMetadata.d.ts.map +1 -0
- package/dist/token/ITokenMetadata.js +53 -0
- package/dist/token/ITokenMetadata.js.map +1 -0
- package/dist/token/Token.d.ts +47 -0
- package/dist/token/Token.d.ts.map +1 -0
- package/dist/token/Token.js +231 -0
- package/dist/token/Token.js.map +1 -0
- package/dist/token/Token.test.d.ts +2 -0
- package/dist/token/Token.test.d.ts.map +1 -0
- package/dist/token/Token.test.js +579 -0
- package/dist/token/Token.test.js.map +1 -0
- package/dist/token/TokenAmount.d.ts +12 -0
- package/dist/token/TokenAmount.d.ts.map +1 -0
- package/dist/token/TokenAmount.js +22 -0
- package/dist/token/TokenAmount.js.map +1 -0
- package/dist/token/TokenAmount.test.d.ts +2 -0
- package/dist/token/TokenAmount.test.d.ts.map +1 -0
- package/dist/token/TokenAmount.test.js +38 -0
- package/dist/token/TokenAmount.test.js.map +1 -0
- package/dist/token/TokenConnection.d.ts +55 -0
- package/dist/token/TokenConnection.d.ts.map +1 -0
- package/dist/token/TokenConnection.js +44 -0
- package/dist/token/TokenConnection.js.map +1 -0
- package/dist/token/TokenConnection.test.d.ts +2 -0
- package/dist/token/TokenConnection.test.d.ts.map +1 -0
- package/dist/token/TokenConnection.test.js +17 -0
- package/dist/token/TokenConnection.test.js.map +1 -0
- package/dist/token/TokenMetadata.d.ts +43 -0
- package/dist/token/TokenMetadata.d.ts.map +1 -0
- package/dist/token/TokenMetadata.js +121 -0
- package/dist/token/TokenMetadata.js.map +1 -0
- package/dist/token/TokenMetadataMap.d.ts +15 -0
- package/dist/token/TokenMetadataMap.d.ts.map +1 -0
- package/dist/token/TokenMetadataMap.js +56 -0
- package/dist/token/TokenMetadataMap.js.map +1 -0
- package/dist/token/TokenStandard.d.ts +108 -0
- package/dist/token/TokenStandard.d.ts.map +1 -0
- package/dist/token/TokenStandard.js +470 -0
- package/dist/token/TokenStandard.js.map +1 -0
- package/dist/token/adapters/AleoTokenAdapter.d.ts +60 -0
- package/dist/token/adapters/AleoTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/AleoTokenAdapter.js +190 -0
- package/dist/token/adapters/AleoTokenAdapter.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +114 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.js +332 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts +14 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js +283 -0
- package/dist/token/adapters/CosmWasmTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +54 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.js +189 -0
- package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -0
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +74 -0
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/CosmosTokenAdapter.js +192 -0
- package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts +39 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.d.ts.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.js +85 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.js.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.d.ts +2 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.js +155 -0
- package/dist/token/adapters/EvmCrossCollateralAdapter.test.js.map +1 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts +2 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.js +96 -0
- package/dist/token/adapters/EvmHypSyntheticAdapter.test.js.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.d.ts +303 -0
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.js +899 -0
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.d.ts +2 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.js +125 -0
- package/dist/token/adapters/EvmTokenAdapter.seismic.test.js.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.test.d.ts +2 -0
- package/dist/token/adapters/EvmTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/EvmTokenAdapter.test.js +73 -0
- package/dist/token/adapters/EvmTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/ITokenAdapter.d.ts +129 -0
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/ITokenAdapter.js +15 -0
- package/dist/token/adapters/ITokenAdapter.js.map +1 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts +22 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.js +90 -0
- package/dist/token/adapters/M0PortalLiteTokenAdapter.js.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts +22 -0
- package/dist/token/adapters/M0PortalTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.js +95 -0
- package/dist/token/adapters/M0PortalTokenAdapter.js.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.d.ts +2 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.js +94 -0
- package/dist/token/adapters/M0PortalTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/RadixTokenAdapter.d.ts +55 -0
- package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/RadixTokenAdapter.js +190 -0
- package/dist/token/adapters/RadixTokenAdapter.js.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts +64 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.d.ts.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.js +474 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.js.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.d.ts +2 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.js +138 -0
- package/dist/token/adapters/SealevelCrossCollateralAdapter.test.js.map +1 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.d.ts +2 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.d.ts.map +1 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.js +136 -0
- package/dist/token/adapters/SealevelHypTokenAdapter.test.js.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +288 -0
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/SealevelTokenAdapter.js +1019 -0
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -0
- package/dist/token/adapters/StarknetTokenAdapter.d.ts +107 -0
- package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -0
- package/dist/token/adapters/StarknetTokenAdapter.js +273 -0
- package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -0
- package/dist/token/adapters/aleoHyp.d.ts +7 -0
- package/dist/token/adapters/aleoHyp.d.ts.map +1 -0
- package/dist/token/adapters/aleoHyp.js +26 -0
- package/dist/token/adapters/aleoHyp.js.map +1 -0
- package/dist/token/adapters/cosmosHyp.d.ts +7 -0
- package/dist/token/adapters/cosmosHyp.d.ts.map +1 -0
- package/dist/token/adapters/cosmosHyp.js +40 -0
- package/dist/token/adapters/cosmosHyp.js.map +1 -0
- package/dist/token/adapters/evmHyp.d.ts +7 -0
- package/dist/token/adapters/evmHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmHyp.js +21 -0
- package/dist/token/adapters/evmHyp.js.map +1 -0
- package/dist/token/adapters/evmLikeHyp.d.ts +20 -0
- package/dist/token/adapters/evmLikeHyp.d.ts.map +1 -0
- package/dist/token/adapters/evmLikeHyp.js +67 -0
- package/dist/token/adapters/evmLikeHyp.js.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts +15 -0
- package/dist/token/adapters/hypTokenAdapterUtils.d.ts.map +1 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js +9 -0
- package/dist/token/adapters/hypTokenAdapterUtils.js.map +1 -0
- package/dist/token/adapters/radixHyp.d.ts +7 -0
- package/dist/token/adapters/radixHyp.d.ts.map +1 -0
- package/dist/token/adapters/radixHyp.js +22 -0
- package/dist/token/adapters/radixHyp.js.map +1 -0
- package/dist/token/adapters/sealevelFee.d.ts +206 -0
- package/dist/token/adapters/sealevelFee.d.ts.map +1 -0
- package/dist/token/adapters/sealevelFee.js +515 -0
- package/dist/token/adapters/sealevelFee.js.map +1 -0
- package/dist/token/adapters/sealevelFee.test.d.ts +2 -0
- package/dist/token/adapters/sealevelFee.test.d.ts.map +1 -0
- package/dist/token/adapters/sealevelFee.test.js +246 -0
- package/dist/token/adapters/sealevelFee.test.js.map +1 -0
- package/dist/token/adapters/sealevelHyp.d.ts +8 -0
- package/dist/token/adapters/sealevelHyp.d.ts.map +1 -0
- package/dist/token/adapters/sealevelHyp.js +52 -0
- package/dist/token/adapters/sealevelHyp.js.map +1 -0
- package/dist/token/adapters/serialization.d.ts +234 -0
- package/dist/token/adapters/serialization.d.ts.map +1 -0
- package/dist/token/adapters/serialization.js +580 -0
- package/dist/token/adapters/serialization.js.map +1 -0
- package/dist/token/adapters/serialization.test.d.ts +2 -0
- package/dist/token/adapters/serialization.test.d.ts.map +1 -0
- package/dist/token/adapters/serialization.test.js +55 -0
- package/dist/token/adapters/serialization.test.js.map +1 -0
- package/dist/token/adapters/starknetHyp.d.ts +7 -0
- package/dist/token/adapters/starknetHyp.d.ts.map +1 -0
- package/dist/token/adapters/starknetHyp.js +35 -0
- package/dist/token/adapters/starknetHyp.js.map +1 -0
- package/dist/token/adapters/tronHyp.d.ts +7 -0
- package/dist/token/adapters/tronHyp.d.ts.map +1 -0
- package/dist/token/adapters/tronHyp.js +21 -0
- package/dist/token/adapters/tronHyp.js.map +1 -0
- package/dist/token/adapters/utils.d.ts +7 -0
- package/dist/token/adapters/utils.d.ts.map +1 -0
- package/dist/token/adapters/utils.js +4 -0
- package/dist/token/adapters/utils.js.map +1 -0
- package/dist/token/cctp.d.ts +10 -0
- package/dist/token/cctp.d.ts.map +1 -0
- package/dist/token/cctp.js +13 -0
- package/dist/token/cctp.js.map +1 -0
- package/dist/token/cctp.test.d.ts +2 -0
- package/dist/token/cctp.test.d.ts.map +1 -0
- package/dist/token/cctp.test.js +48 -0
- package/dist/token/cctp.test.js.map +1 -0
- package/dist/token/config.d.ts +61 -0
- package/dist/token/config.d.ts.map +1 -0
- package/dist/token/config.js +79 -0
- package/dist/token/config.js.map +1 -0
- package/dist/token/configUtils.d.ts +106 -0
- package/dist/token/configUtils.d.ts.map +1 -0
- package/dist/token/configUtils.js +735 -0
- package/dist/token/configUtils.js.map +1 -0
- package/dist/token/configUtils.test.d.ts +2 -0
- package/dist/token/configUtils.test.d.ts.map +1 -0
- package/dist/token/configUtils.test.js +1313 -0
- package/dist/token/configUtils.test.js.map +1 -0
- package/dist/token/contracts.d.ts +64 -0
- package/dist/token/contracts.d.ts.map +1 -0
- package/dist/token/contracts.js +68 -0
- package/dist/token/contracts.js.map +1 -0
- package/dist/token/deploy.d.ts +56 -0
- package/dist/token/deploy.d.ts.map +1 -0
- package/dist/token/deploy.hardhat-test.d.ts +2 -0
- package/dist/token/deploy.hardhat-test.d.ts.map +1 -0
- package/dist/token/deploy.hardhat-test.js +1397 -0
- package/dist/token/deploy.hardhat-test.js.map +1 -0
- package/dist/token/deploy.js +698 -0
- package/dist/token/deploy.js.map +1 -0
- package/dist/token/nativeTokenMetadata.d.ts +4 -0
- package/dist/token/nativeTokenMetadata.d.ts.map +1 -0
- package/dist/token/nativeTokenMetadata.js +50 -0
- package/dist/token/nativeTokenMetadata.js.map +1 -0
- package/dist/token/sealevel/metadata.d.ts +33 -0
- package/dist/token/sealevel/metadata.d.ts.map +1 -0
- package/dist/token/sealevel/metadata.js +90 -0
- package/dist/token/sealevel/metadata.js.map +1 -0
- package/dist/token/tokenMetadataUtils.d.ts +7 -0
- package/dist/token/tokenMetadataUtils.d.ts.map +1 -0
- package/dist/token/tokenMetadataUtils.js +109 -0
- package/dist/token/tokenMetadataUtils.js.map +1 -0
- package/dist/token/types.d.ts +9384 -0
- package/dist/token/types.d.ts.map +1 -0
- package/dist/token/types.js +613 -0
- package/dist/token/types.js.map +1 -0
- package/dist/token/types.test.d.ts +2 -0
- package/dist/token/types.test.d.ts.map +1 -0
- package/dist/token/types.test.js +529 -0
- package/dist/token/types.test.js.map +1 -0
- package/dist/token/warpCheck.d.ts +75 -0
- package/dist/token/warpCheck.d.ts.map +1 -0
- package/dist/token/warpCheck.js +1003 -0
- package/dist/token/warpCheck.js.map +1 -0
- package/dist/token/warpCheck.test.d.ts +2 -0
- package/dist/token/warpCheck.test.d.ts.map +1 -0
- package/dist/token/warpCheck.test.js +947 -0
- package/dist/token/warpCheck.test.js.map +1 -0
- package/dist/token/xerc20-abi.d.ts +58 -0
- package/dist/token/xerc20-abi.d.ts.map +1 -0
- package/dist/token/xerc20-abi.js +77 -0
- package/dist/token/xerc20-abi.js.map +1 -0
- package/dist/token/xerc20-limits.d.ts +63 -0
- package/dist/token/xerc20-limits.d.ts.map +1 -0
- package/dist/token/xerc20-limits.js +80 -0
- package/dist/token/xerc20-limits.js.map +1 -0
- package/dist/token/xerc20.d.ts +93 -0
- package/dist/token/xerc20.d.ts.map +1 -0
- package/dist/token/xerc20.js +355 -0
- package/dist/token/xerc20.js.map +1 -0
- package/dist/token/xerc20.test.d.ts +2 -0
- package/dist/token/xerc20.test.d.ts.map +1 -0
- package/dist/token/xerc20.test.js +728 -0
- package/dist/token/xerc20.test.js.map +1 -0
- package/dist/types.d.ts +47 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/HyperlaneReader.d.ts +17 -0
- package/dist/utils/HyperlaneReader.d.ts.map +1 -0
- package/dist/utils/HyperlaneReader.js +22 -0
- package/dist/utils/HyperlaneReader.js.map +1 -0
- package/dist/utils/MultiGeneric.d.ts +26 -0
- package/dist/utils/MultiGeneric.d.ts.map +1 -0
- package/dist/utils/MultiGeneric.js +55 -0
- package/dist/utils/MultiGeneric.js.map +1 -0
- package/dist/utils/contract.d.ts +60 -0
- package/dist/utils/contract.d.ts.map +1 -0
- package/dist/utils/contract.js +231 -0
- package/dist/utils/contract.js.map +1 -0
- package/dist/utils/contract.test.d.ts +2 -0
- package/dist/utils/contract.test.d.ts.map +1 -0
- package/dist/utils/contract.test.js +551 -0
- package/dist/utils/contract.test.js.map +1 -0
- package/dist/utils/contract.transport.test.d.ts +2 -0
- package/dist/utils/contract.transport.test.d.ts.map +1 -0
- package/dist/utils/contract.transport.test.js +145 -0
- package/dist/utils/contract.transport.test.js.map +1 -0
- package/dist/utils/cosmos.d.ts +391 -0
- package/dist/utils/cosmos.d.ts.map +1 -0
- package/dist/utils/cosmos.js +424 -0
- package/dist/utils/cosmos.js.map +1 -0
- package/dist/utils/decimals.d.ts +53 -0
- package/dist/utils/decimals.d.ts.map +1 -0
- package/dist/utils/decimals.js +131 -0
- package/dist/utils/decimals.js.map +1 -0
- package/dist/utils/decimals.test.d.ts +2 -0
- package/dist/utils/decimals.test.d.ts.map +1 -0
- package/dist/utils/decimals.test.js +526 -0
- package/dist/utils/decimals.test.js.map +1 -0
- package/dist/utils/filter.d.ts +3 -0
- package/dist/utils/filter.d.ts.map +1 -0
- package/dist/utils/filter.js +9 -0
- package/dist/utils/filter.js.map +1 -0
- package/dist/utils/fork.d.ts +55 -0
- package/dist/utils/fork.d.ts.map +1 -0
- package/dist/utils/fork.js +119 -0
- package/dist/utils/fork.js.map +1 -0
- package/dist/utils/gas.d.ts +30 -0
- package/dist/utils/gas.d.ts.map +1 -0
- package/dist/utils/gas.js +35 -0
- package/dist/utils/gas.js.map +1 -0
- package/dist/utils/gnosisSafe.d.ts +21 -0
- package/dist/utils/gnosisSafe.d.ts.map +1 -0
- package/dist/utils/gnosisSafe.js +193 -0
- package/dist/utils/gnosisSafe.js.map +1 -0
- package/dist/utils/gnosisSafe.test.d.ts +2 -0
- package/dist/utils/gnosisSafe.test.d.ts.map +1 -0
- package/dist/utils/gnosisSafe.test.js +78 -0
- package/dist/utils/gnosisSafe.test.js.map +1 -0
- package/dist/utils/ism.d.ts +193 -0
- package/dist/utils/ism.d.ts.map +1 -0
- package/dist/utils/ism.js +611 -0
- package/dist/utils/ism.js.map +1 -0
- package/dist/utils/ism.test.d.ts +2 -0
- package/dist/utils/ism.test.d.ts.map +1 -0
- package/dist/utils/ism.test.js +445 -0
- package/dist/utils/ism.test.js.map +1 -0
- package/dist/utils/logUtils.d.ts +4 -0
- package/dist/utils/logUtils.d.ts.map +1 -0
- package/dist/utils/logUtils.js +13 -0
- package/dist/utils/logUtils.js.map +1 -0
- package/dist/utils/numbers.d.ts +11 -0
- package/dist/utils/numbers.d.ts.map +1 -0
- package/dist/utils/numbers.js +36 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/numbers.test.d.ts +2 -0
- package/dist/utils/numbers.test.d.ts.map +1 -0
- package/dist/utils/numbers.test.js +80 -0
- package/dist/utils/numbers.test.js.map +1 -0
- package/dist/utils/provider.d.ts +6 -0
- package/dist/utils/provider.d.ts.map +1 -0
- package/dist/utils/provider.js +36 -0
- package/dist/utils/provider.js.map +1 -0
- package/dist/utils/schemas.d.ts +4 -0
- package/dist/utils/schemas.d.ts.map +1 -0
- package/dist/utils/schemas.js +15 -0
- package/dist/utils/schemas.js.map +1 -0
- package/dist/utils/schemas.test.d.ts +2 -0
- package/dist/utils/schemas.test.d.ts.map +1 -0
- package/dist/utils/schemas.test.js +33 -0
- package/dist/utils/schemas.test.js.map +1 -0
- package/dist/utils/sealevelSerialization.d.ts +50 -0
- package/dist/utils/sealevelSerialization.d.ts.map +1 -0
- package/dist/utils/sealevelSerialization.js +85 -0
- package/dist/utils/sealevelSerialization.js.map +1 -0
- package/dist/utils/starknet.d.ts +35 -0
- package/dist/utils/starknet.d.ts.map +1 -0
- package/dist/utils/starknet.js +89 -0
- package/dist/utils/starknet.js.map +1 -0
- package/dist/utils/transactions.d.ts +12 -0
- package/dist/utils/transactions.d.ts.map +1 -0
- package/dist/utils/transactions.js +17 -0
- package/dist/utils/transactions.js.map +1 -0
- package/dist/utils/validator.d.ts +5 -0
- package/dist/utils/validator.d.ts.map +1 -0
- package/dist/utils/validator.js +18 -0
- package/dist/utils/validator.js.map +1 -0
- package/dist/utils/zksync.d.ts +8 -0
- package/dist/utils/zksync.d.ts.map +1 -0
- package/dist/utils/zksync.js +24 -0
- package/dist/utils/zksync.js.map +1 -0
- package/dist/warp/WarpCore.d.ts +286 -0
- package/dist/warp/WarpCore.d.ts.map +1 -0
- package/dist/warp/WarpCore.js +1144 -0
- package/dist/warp/WarpCore.js.map +1 -0
- package/dist/warp/WarpCore.test.d.ts +2 -0
- package/dist/warp/WarpCore.test.d.ts.map +1 -0
- package/dist/warp/WarpCore.test.js +1823 -0
- package/dist/warp/WarpCore.test.js.map +1 -0
- package/dist/warp/read.d.ts +19 -0
- package/dist/warp/read.d.ts.map +1 -0
- package/dist/warp/read.js +34 -0
- package/dist/warp/read.js.map +1 -0
- package/dist/warp/read.test.d.ts +2 -0
- package/dist/warp/read.test.d.ts.map +1 -0
- package/dist/warp/read.test.js +56 -0
- package/dist/warp/read.test.js.map +1 -0
- package/dist/warp/resolveDestinationToken.d.ts +23 -0
- package/dist/warp/resolveDestinationToken.d.ts.map +1 -0
- package/dist/warp/resolveDestinationToken.js +31 -0
- package/dist/warp/resolveDestinationToken.js.map +1 -0
- package/dist/warp/types.d.ts +122 -0
- package/dist/warp/types.d.ts.map +1 -0
- package/dist/warp/types.js +52 -0
- package/dist/warp/types.js.map +1 -0
- package/dist/warp/types.test.d.ts +2 -0
- package/dist/warp/types.test.d.ts.map +1 -0
- package/dist/warp/types.test.js +81 -0
- package/dist/warp/types.test.js.map +1 -0
- package/dist/zksync/ZKSyncDeployer.d.ts +59 -0
- package/dist/zksync/ZKSyncDeployer.d.ts.map +1 -0
- package/dist/zksync/ZKSyncDeployer.js +132 -0
- package/dist/zksync/ZKSyncDeployer.js.map +1 -0
- package/package.json +259 -3
|
@@ -0,0 +1,1144 @@
|
|
|
1
|
+
import { ProtocolType, assert, convertDecimalsToIntegerString, convertToProtocolAddress, isEVMLike, isValidAddress, isZeroishAddress, rootLogger, } from '@recoillink/utils';
|
|
2
|
+
import { Keypair } from '@solana/web3.js';
|
|
3
|
+
import { ChainTechnicalStack } from '../metadata/chainMetadataTypes.js';
|
|
4
|
+
import { ProviderType } from '../providers/ProviderType.js';
|
|
5
|
+
import { estimateTransactionFeeEthersV5ForGasUnits, } from '../providers/transactionFeeEstimators.js';
|
|
6
|
+
import { Token } from '../token/Token.js';
|
|
7
|
+
import { TokenAmount } from '../token/TokenAmount.js';
|
|
8
|
+
import { parseTokenConnectionId } from '../token/TokenConnection.js';
|
|
9
|
+
import { tokenIdentifiersEqual } from '../token/TokenMetadata.js';
|
|
10
|
+
import { ERC4626_COLLATERAL_STANDARDS, LOCKBOX_STANDARDS, MINT_LIMITED_STANDARDS, TOKEN_COLLATERALIZED_STANDARDS, TOKEN_STANDARD_TO_PROVIDER_TYPE, TokenStandard, XERC20_STANDARDS, } from '../token/TokenStandard.js';
|
|
11
|
+
import { TokenType } from '../token/config.js';
|
|
12
|
+
import { EVM_TRANSFER_REMOTE_GAS_ESTIMATE, } from '../token/adapters/EvmTokenAdapter.js';
|
|
13
|
+
import { isHypCrossCollateralAdapter, isPredicateCapableAdapter, } from '../token/adapters/ITokenAdapter.js';
|
|
14
|
+
import { EvmQuotedTransferProvider } from '../quoted-calls/EvmQuotedTransferProvider.js';
|
|
15
|
+
import { resolveDestinationToken } from './resolveDestinationToken.js';
|
|
16
|
+
import { messageAmountFromLocal } from '../utils/decimals.js';
|
|
17
|
+
import { WarpCoreConfigSchema, WarpTxCategory, } from './types.js';
|
|
18
|
+
const DESTINATION_COLLATERAL_EXEMPT_TOKEN_TYPES = new Set([
|
|
19
|
+
TokenType.collateralCctp,
|
|
20
|
+
TokenType.collateralOft,
|
|
21
|
+
]);
|
|
22
|
+
// CCTP/OFT both map to EvmHypCollateral, so standard alone cannot distinguish
|
|
23
|
+
// protocol-backed collateral from escrowed collateral.
|
|
24
|
+
function isDestinationCollateralExemptToken(token) {
|
|
25
|
+
return (token.tokenType !== undefined &&
|
|
26
|
+
DESTINATION_COLLATERAL_EXEMPT_TOKEN_TYPES.has(token.tokenType));
|
|
27
|
+
}
|
|
28
|
+
export class WarpCore {
|
|
29
|
+
multiProvider;
|
|
30
|
+
tokens;
|
|
31
|
+
localFeeConstants;
|
|
32
|
+
interchainFeeConstants;
|
|
33
|
+
routeBlacklist;
|
|
34
|
+
logger;
|
|
35
|
+
constructor(multiProvider, tokens, options) {
|
|
36
|
+
this.multiProvider = multiProvider;
|
|
37
|
+
this.tokens = tokens;
|
|
38
|
+
this.localFeeConstants = options?.localFeeConstants || [];
|
|
39
|
+
this.interchainFeeConstants = options?.interchainFeeConstants || [];
|
|
40
|
+
this.routeBlacklist = options?.routeBlacklist || [];
|
|
41
|
+
this.logger =
|
|
42
|
+
options?.logger ||
|
|
43
|
+
rootLogger.child({
|
|
44
|
+
module: 'WarpCore',
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Takes the serialized representation of a warp config and returns a WarpCore instance
|
|
49
|
+
* @param multiProvider the MultiProviderAdapter containing chain metadata
|
|
50
|
+
* @param config the config object of type WarpCoreConfig
|
|
51
|
+
*/
|
|
52
|
+
static FromConfig(multiProvider, config) {
|
|
53
|
+
const parsedConfig = WarpCoreConfigSchema.parse(config);
|
|
54
|
+
const tokens = parsedConfig.tokens.map((token) => new Token({
|
|
55
|
+
...token,
|
|
56
|
+
addressOrDenom: token.addressOrDenom ?? '',
|
|
57
|
+
connections: undefined,
|
|
58
|
+
}, parsedConfig.options));
|
|
59
|
+
parsedConfig.tokens.forEach((config, i) => {
|
|
60
|
+
for (const connection of config.connections || []) {
|
|
61
|
+
const token1 = tokens[i];
|
|
62
|
+
assert(token1, `Token config missing at index ${i}`);
|
|
63
|
+
const { chainName, addressOrDenom } = parseTokenConnectionId(connection.token);
|
|
64
|
+
// If token1 has a warpRouteId, token2 must share it — disambiguates
|
|
65
|
+
// tokens at the same address (e.g. M0 Portal: mUSD, wM, USDSC)
|
|
66
|
+
const token2 = tokens.find((token) => token.chainName === chainName &&
|
|
67
|
+
tokenIdentifiersEqual(token.addressOrDenom, addressOrDenom) &&
|
|
68
|
+
(!token1.warpRouteId || token.warpRouteId === token1.warpRouteId));
|
|
69
|
+
assert(token2, `Connected token not found: ${chainName} ${addressOrDenom}`);
|
|
70
|
+
token1.addConnection({
|
|
71
|
+
...connection,
|
|
72
|
+
token: token2,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return new WarpCore(multiProvider, tokens, parsedConfig.options);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Queries the token router for an interchain gas quote (i.e. IGP fee).
|
|
80
|
+
* and for token fee quote if it exists.
|
|
81
|
+
* Sender is only required for Sealevel origins.
|
|
82
|
+
*/
|
|
83
|
+
async getInterchainTransferFee({ originTokenAmount, destination, sender, recipient, destinationToken, }) {
|
|
84
|
+
this.logger.debug(`Fetching interchain transfer quote to ${destination}`);
|
|
85
|
+
const { amount, token: originToken } = originTokenAmount;
|
|
86
|
+
const originName = originToken.chainName;
|
|
87
|
+
const destinationName = this.multiProvider.getChainName(destination);
|
|
88
|
+
let gasAmount;
|
|
89
|
+
let gasAddressOrDenom;
|
|
90
|
+
let feeAmount;
|
|
91
|
+
let feeTokenAddress;
|
|
92
|
+
// Check constant quotes first
|
|
93
|
+
const defaultQuote = this.interchainFeeConstants.find((q) => q.origin === originName && q.destination === destinationName);
|
|
94
|
+
if (defaultQuote) {
|
|
95
|
+
gasAmount = BigInt(defaultQuote.amount.toString());
|
|
96
|
+
gasAddressOrDenom = defaultQuote.addressOrDenom;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// Otherwise, compute IGP quote via the adapter
|
|
100
|
+
let quote;
|
|
101
|
+
const destinationDomainId = this.multiProvider.getDomainId(destination);
|
|
102
|
+
if (this.isCrossCollateralTransfer(originToken, destinationToken)) {
|
|
103
|
+
const resolvedDestinationToken = this.resolveDestinationToken({
|
|
104
|
+
originToken,
|
|
105
|
+
destination,
|
|
106
|
+
destinationToken,
|
|
107
|
+
});
|
|
108
|
+
assert(resolvedDestinationToken.addressOrDenom, 'Destination token missing addressOrDenom');
|
|
109
|
+
const crossCollateralAdapter = originToken.getHypAdapter(this.multiProvider, destinationName);
|
|
110
|
+
assert(isHypCrossCollateralAdapter(crossCollateralAdapter), 'Adapter does not implement IHypCrossCollateralAdapter');
|
|
111
|
+
quote = await crossCollateralAdapter.quoteTransferRemoteToGas({
|
|
112
|
+
destination: destinationDomainId,
|
|
113
|
+
recipient,
|
|
114
|
+
amount,
|
|
115
|
+
targetRouter: resolvedDestinationToken.addressOrDenom,
|
|
116
|
+
sender,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
const hypAdapter = originToken.getHypAdapter(this.multiProvider, destinationName);
|
|
121
|
+
quote = await hypAdapter.quoteTransferRemoteGas({
|
|
122
|
+
destination: destinationDomainId,
|
|
123
|
+
sender,
|
|
124
|
+
customHook: originToken.igpTokenAddressOrDenom,
|
|
125
|
+
recipient,
|
|
126
|
+
amount,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
gasAmount = BigInt(quote.igpQuote.amount);
|
|
130
|
+
gasAddressOrDenom = quote.igpQuote.addressOrDenom;
|
|
131
|
+
feeAmount = quote.tokenFeeQuote?.amount;
|
|
132
|
+
feeTokenAddress = quote.tokenFeeQuote?.addressOrDenom;
|
|
133
|
+
}
|
|
134
|
+
let igpToken;
|
|
135
|
+
if (!gasAddressOrDenom || isZeroishAddress(gasAddressOrDenom)) {
|
|
136
|
+
// An empty/undefined addressOrDenom indicates the native token
|
|
137
|
+
igpToken = Token.FromChainMetadataNativeToken(this.multiProvider.getChainMetadata(originName));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
const searchResult = this.findToken(originName, gasAddressOrDenom);
|
|
141
|
+
assert(searchResult, `Fee token ${gasAddressOrDenom} is unknown`);
|
|
142
|
+
igpToken = searchResult;
|
|
143
|
+
}
|
|
144
|
+
let feeTokenAmount;
|
|
145
|
+
if (feeAmount) {
|
|
146
|
+
// empty address or zero address is native route
|
|
147
|
+
if (!feeTokenAddress || isZeroishAddress(feeTokenAddress)) {
|
|
148
|
+
const nativeToken = Token.FromChainMetadataNativeToken(this.multiProvider.getChainMetadata(originName));
|
|
149
|
+
feeTokenAmount = new TokenAmount(feeAmount, nativeToken);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// for non-native routes, fees will be in the current route token
|
|
153
|
+
feeTokenAmount = new TokenAmount(feeAmount, originToken);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
this.logger.debug(`Quoted interchain transfer fee: ${gasAmount} ${igpToken.symbol}`);
|
|
157
|
+
return {
|
|
158
|
+
igpQuote: new TokenAmount(gasAmount, igpToken),
|
|
159
|
+
tokenFeeQuote: feeTokenAmount,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Simulates a transfer to estimate 'local' gas fees on the origin chain
|
|
164
|
+
*/
|
|
165
|
+
async getLocalTransferFee({ originToken, destination, sender, recipient: recipientOverride, senderPubKey, interchainFee, tokenFeeQuote, attestation, amount, destinationToken, quotedCalls, }) {
|
|
166
|
+
this.logger.debug(`Estimating local transfer gas to ${destination}`);
|
|
167
|
+
const originMetadata = this.multiProvider.getChainMetadata(originToken.chainName);
|
|
168
|
+
const destinationMetadata = this.multiProvider.getChainMetadata(destination);
|
|
169
|
+
// Check constant quotes first
|
|
170
|
+
const defaultQuote = this.localFeeConstants.find((q) => q.origin === originMetadata.name &&
|
|
171
|
+
q.destination === destinationMetadata.name);
|
|
172
|
+
if (defaultQuote) {
|
|
173
|
+
return { gasUnits: 0, gasPrice: 0, fee: Number(defaultQuote.amount) };
|
|
174
|
+
}
|
|
175
|
+
// Form transactions to estimate local gas with. Prefer the real recipient:
|
|
176
|
+
// a recipient-gated origin (allowlist hook / fee program) rejects a
|
|
177
|
+
// placeholder and the estimate would fail for an otherwise valid transfer.
|
|
178
|
+
const recipient = recipientOverride ??
|
|
179
|
+
convertToProtocolAddress(sender, destinationMetadata.protocol, destinationMetadata.bech32Prefix);
|
|
180
|
+
// Use a small but viable amount for gas estimation when none is provided.
|
|
181
|
+
// Must survive on-chain decimal truncation (e.g. 18→6 decimals) to avoid
|
|
182
|
+
// reverts like "HypNativeMinter: destination amount < 1". Compute minimum
|
|
183
|
+
// as 10^(originDecimals - destDecimals) so destination gets exactly 1 unit.
|
|
184
|
+
const estimationAmount = amount ??
|
|
185
|
+
(() => {
|
|
186
|
+
const destToken = originToken.getConnectionForChain(destinationMetadata.name)?.token;
|
|
187
|
+
const decimalDiff = destToken
|
|
188
|
+
? Math.max(0, originToken.decimals - destToken.decimals)
|
|
189
|
+
: 0;
|
|
190
|
+
return BigInt(10) ** BigInt(decimalDiff);
|
|
191
|
+
})();
|
|
192
|
+
const txs = await this.getTransferRemoteTxs({
|
|
193
|
+
originTokenAmount: originToken.amount(estimationAmount),
|
|
194
|
+
destination,
|
|
195
|
+
sender,
|
|
196
|
+
recipient,
|
|
197
|
+
interchainFee,
|
|
198
|
+
tokenFeeQuote,
|
|
199
|
+
attestation,
|
|
200
|
+
destinationToken,
|
|
201
|
+
quotedCalls,
|
|
202
|
+
});
|
|
203
|
+
// Starknet does not support gas estimation without starknet account
|
|
204
|
+
if (originToken.protocol === ProtocolType.Starknet) {
|
|
205
|
+
return { gasUnits: 0n, gasPrice: 0n, fee: 0n };
|
|
206
|
+
}
|
|
207
|
+
// Seismic's shielded execution zeroes msg.sender for unsigned eth_call/
|
|
208
|
+
// eth_estimateGas, so any handler logic keyed on msg.sender (e.g. HypERC20's
|
|
209
|
+
// _burn(msg.sender, ...)) reverts during this probe. Recovering msg.sender
|
|
210
|
+
// requires a signed estimate (see SeismicSigner). The adapter may hold that
|
|
211
|
+
// signer for token reads, but fee estimation is not routed through it: a
|
|
212
|
+
// signed estimate costs a signature per quote. The actual transferRemote
|
|
213
|
+
// signer is Seismic-aware, so the real send still works.
|
|
214
|
+
// Use the same hard-coded gas-unit estimate as the multi-tx branch below
|
|
215
|
+
// (with real on-chain fee data) instead of eth_estimateGas, so callers like
|
|
216
|
+
// getMaxTransferAmount/validateTransfer still get a conservative non-zero
|
|
217
|
+
// fee rather than treating the transfer as free.
|
|
218
|
+
if (originMetadata.technicalStack === ChainTechnicalStack.Seismic) {
|
|
219
|
+
const provider = this.multiProvider.getEthersV5Provider(originMetadata.name);
|
|
220
|
+
return estimateTransactionFeeEthersV5ForGasUnits({
|
|
221
|
+
provider,
|
|
222
|
+
gasUnits: EVM_TRANSFER_REMOTE_GAS_ESTIMATE,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
// Typically the transfers require a single transaction
|
|
226
|
+
if (txs.length === 1) {
|
|
227
|
+
try {
|
|
228
|
+
return await this.multiProvider.estimateTransactionFee({
|
|
229
|
+
chainNameOrId: originMetadata.name,
|
|
230
|
+
transaction: txs[0],
|
|
231
|
+
sender,
|
|
232
|
+
senderPubKey,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
this.logger.error(`Failed to estimate local gas fee for ${originToken.symbol} transfer`, error);
|
|
237
|
+
throw new Error('Gas estimation failed, balance may be insufficient', {
|
|
238
|
+
cause: error,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// On ethereum, sometimes 2 txs are required (one approve, one transferRemote)
|
|
243
|
+
else if (txs.length >= 2 && isEVMLike(originToken.protocol)) {
|
|
244
|
+
const provider = this.multiProvider.getEthersV5Provider(originMetadata.name);
|
|
245
|
+
// We use a hard-coded const as an estimate for the transferRemote because we
|
|
246
|
+
// cannot reliably simulate the tx when an approval tx is required first
|
|
247
|
+
return estimateTransactionFeeEthersV5ForGasUnits({
|
|
248
|
+
provider,
|
|
249
|
+
gasUnits: EVM_TRANSFER_REMOTE_GAS_ESTIMATE,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
throw new Error('Cannot estimate local gas for multiple transactions');
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Similar to getLocalTransferFee in that it estimates local gas fees
|
|
258
|
+
* but it also resolves the native token and returns a TokenAmount
|
|
259
|
+
* @todo: rename to getLocalTransferFee for consistency (requires breaking change)
|
|
260
|
+
*/
|
|
261
|
+
async getLocalTransferFeeAmount({ originToken, destination, sender, recipient, senderPubKey, interchainFee, tokenFeeQuote, attestation, amount, destinationToken, quotedCalls, }) {
|
|
262
|
+
const originMetadata = this.multiProvider.getChainMetadata(originToken.chainName);
|
|
263
|
+
// If there's no native token, we can't represent local gas
|
|
264
|
+
if (!originMetadata.nativeToken)
|
|
265
|
+
throw new Error(`No native token found for ${originMetadata.name}`);
|
|
266
|
+
this.logger.debug(`Using native token ${originMetadata.nativeToken.symbol} for local gas fee`);
|
|
267
|
+
const localFee = await this.getLocalTransferFee({
|
|
268
|
+
originToken,
|
|
269
|
+
destination,
|
|
270
|
+
sender,
|
|
271
|
+
recipient,
|
|
272
|
+
senderPubKey,
|
|
273
|
+
interchainFee,
|
|
274
|
+
tokenFeeQuote,
|
|
275
|
+
attestation,
|
|
276
|
+
amount,
|
|
277
|
+
destinationToken,
|
|
278
|
+
quotedCalls,
|
|
279
|
+
});
|
|
280
|
+
// Get the local gas token. This assumes the chain's native token will pay for local gas
|
|
281
|
+
// This will need to be smarter if more complex scenarios on Cosmos are supported
|
|
282
|
+
const localGasToken = Token.FromChainMetadataNativeToken(originMetadata);
|
|
283
|
+
return localGasToken.amount(localFee.fee);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Gets a list of populated transactions required to transfer a token to a remote chain
|
|
287
|
+
* Typically just 1 transaction but sometimes more, like when an approval is required first
|
|
288
|
+
*/
|
|
289
|
+
async getTransferRemoteTxs({ originTokenAmount, destination, sender, recipient, interchainFee, tokenFeeQuote, attestation, destinationToken, quotedCalls, quotedTransfer, }) {
|
|
290
|
+
const provider = quotedTransfer ??
|
|
291
|
+
(quotedCalls ? new EvmQuotedTransferProvider(quotedCalls) : undefined);
|
|
292
|
+
// Quoted transfers and attestation are mutually exclusive: the quoted path
|
|
293
|
+
// calls transferRemote, not transferRemoteWithAttestation. Composing them
|
|
294
|
+
// would require new contract support; surface a clear error rather than
|
|
295
|
+
// silently dropping the attestation.
|
|
296
|
+
assert(!(provider && attestation), 'quoted transfer and attestation cannot be used together. The quoted path does not support attestation-gated transfers.');
|
|
297
|
+
if (provider) {
|
|
298
|
+
const tokenProtocol = originTokenAmount.token.protocol;
|
|
299
|
+
// EVM-family protocols (Ethereum, Tron) share the EvmQuotedTransferProvider
|
|
300
|
+
// wire format, so allow them to match each other; otherwise require
|
|
301
|
+
// strict equality with the provider's declared protocol.
|
|
302
|
+
const protocolMatches = provider.protocol === tokenProtocol ||
|
|
303
|
+
(isEVMLike(provider.protocol) && isEVMLike(tokenProtocol));
|
|
304
|
+
assert(protocolMatches, `Quoted-transfer provider protocol (${provider.protocol}) does not match origin token protocol (${tokenProtocol})`);
|
|
305
|
+
return provider.buildQuotedTransferTxs({
|
|
306
|
+
warpCore: this,
|
|
307
|
+
originTokenAmount,
|
|
308
|
+
destination,
|
|
309
|
+
sender,
|
|
310
|
+
recipient,
|
|
311
|
+
destinationToken,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
// Check if this is a CrossCollateralRouter transfer
|
|
315
|
+
if (destinationToken &&
|
|
316
|
+
this.isCrossCollateralTransfer(originTokenAmount.token, destinationToken)) {
|
|
317
|
+
return this.getCrossCollateralTransferTxs({
|
|
318
|
+
originTokenAmount,
|
|
319
|
+
destination,
|
|
320
|
+
sender,
|
|
321
|
+
recipient,
|
|
322
|
+
destinationToken,
|
|
323
|
+
attestation,
|
|
324
|
+
interchainFee,
|
|
325
|
+
tokenFeeQuote,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
// Standard warp route transfer
|
|
329
|
+
const transactions = [];
|
|
330
|
+
const { token, amount } = originTokenAmount;
|
|
331
|
+
const destinationName = this.multiProvider.getChainName(destination);
|
|
332
|
+
const destinationDomainId = this.multiProvider.getDomainId(destination);
|
|
333
|
+
const providerType = TOKEN_STANDARD_TO_PROVIDER_TYPE[token.standard];
|
|
334
|
+
const hypAdapter = token.getHypAdapter(this.multiProvider, destinationName);
|
|
335
|
+
if (!interchainFee) {
|
|
336
|
+
// Only re-fetch when the IGP quote is missing. tokenFeeQuote may legitimately
|
|
337
|
+
// be undefined for routes that have no token fee — treating its absence as a
|
|
338
|
+
// reason to re-fetch would overwrite a valid pinned interchainFee.
|
|
339
|
+
const transferFee = await this.getInterchainTransferFee({
|
|
340
|
+
originTokenAmount,
|
|
341
|
+
destination,
|
|
342
|
+
sender,
|
|
343
|
+
recipient,
|
|
344
|
+
destinationToken,
|
|
345
|
+
});
|
|
346
|
+
interchainFee = transferFee.igpQuote;
|
|
347
|
+
tokenFeeQuote = transferFee.tokenFeeQuote;
|
|
348
|
+
}
|
|
349
|
+
const interchainGas = {
|
|
350
|
+
igpQuote: {
|
|
351
|
+
amount: interchainFee.amount,
|
|
352
|
+
addressOrDenom: interchainFee.token.addressOrDenom,
|
|
353
|
+
},
|
|
354
|
+
tokenFeeQuote: tokenFeeQuote && {
|
|
355
|
+
amount: tokenFeeQuote.amount,
|
|
356
|
+
addressOrDenom: tokenFeeQuote.token.addressOrDenom,
|
|
357
|
+
},
|
|
358
|
+
};
|
|
359
|
+
// Include the ERC20 fee (tokenFeeQuote) in the approval threshold so that
|
|
360
|
+
// allowance checks account for hookFee charged by the feeHook contract.
|
|
361
|
+
const feeQuote = tokenFeeQuote?.amount ?? 0n;
|
|
362
|
+
const [isApproveRequired, isRevokeApprovalRequired] = await Promise.all([
|
|
363
|
+
this.isApproveRequired({
|
|
364
|
+
originTokenAmount: originTokenAmount.plus(feeQuote),
|
|
365
|
+
owner: sender,
|
|
366
|
+
}),
|
|
367
|
+
hypAdapter.isRevokeApprovalRequired(sender, originTokenAmount.token.addressOrDenom),
|
|
368
|
+
]);
|
|
369
|
+
const preTransferRemoteTxs = [];
|
|
370
|
+
// if the approval is required and the current allowance is not 0 we reset
|
|
371
|
+
// the allowance before setting the right approval as some tokens don't allow
|
|
372
|
+
// to override an already existing allowance. USDT is one of these tokens
|
|
373
|
+
// see: https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7#code#L205
|
|
374
|
+
if (isApproveRequired && isRevokeApprovalRequired) {
|
|
375
|
+
preTransferRemoteTxs.push([0, WarpTxCategory.Revoke]);
|
|
376
|
+
}
|
|
377
|
+
if (isApproveRequired) {
|
|
378
|
+
const amountToApprove = amount + feeQuote;
|
|
379
|
+
preTransferRemoteTxs.push([
|
|
380
|
+
amountToApprove.toString(),
|
|
381
|
+
WarpTxCategory.Approval,
|
|
382
|
+
]);
|
|
383
|
+
}
|
|
384
|
+
for (const [approveAmount, txCategory] of preTransferRemoteTxs) {
|
|
385
|
+
this.logger.info(`${txCategory} required for transfer of ${token.symbol}`);
|
|
386
|
+
const approveTxReq = await hypAdapter.populateApproveTx({
|
|
387
|
+
weiAmountOrId: approveAmount,
|
|
388
|
+
recipient: token.addressOrDenom,
|
|
389
|
+
interchainGas,
|
|
390
|
+
});
|
|
391
|
+
this.logger.debug(`${txCategory} tx for ${token.symbol} populated`);
|
|
392
|
+
const approveTx = {
|
|
393
|
+
category: txCategory,
|
|
394
|
+
type: providerType,
|
|
395
|
+
transaction: approveTxReq,
|
|
396
|
+
};
|
|
397
|
+
transactions.push(approveTx);
|
|
398
|
+
}
|
|
399
|
+
// if the interchain fee is of protocol starknet we also have
|
|
400
|
+
// to approve the transfer of this fee token
|
|
401
|
+
if (interchainFee.token.protocol === ProtocolType.Starknet) {
|
|
402
|
+
const interchainFeeAdapter = interchainFee.token.getAdapter(this.multiProvider);
|
|
403
|
+
const isRequired = await interchainFeeAdapter.isApproveRequired(sender, token.addressOrDenom, interchainFee.amount);
|
|
404
|
+
this.logger.debug(`Approval is${isRequired ? '' : ' not'} required for interchain fee of ${interchainFee.token.symbol}`);
|
|
405
|
+
if (isRequired) {
|
|
406
|
+
const txCategory = WarpTxCategory.Approval;
|
|
407
|
+
this.logger.info(`${txCategory} required for transfer of ${interchainFee.token.symbol}`);
|
|
408
|
+
const approveTxReq = await interchainFeeAdapter.populateApproveTx({
|
|
409
|
+
weiAmountOrId: interchainFee.amount,
|
|
410
|
+
recipient: token.addressOrDenom,
|
|
411
|
+
});
|
|
412
|
+
this.logger.debug(`${txCategory} tx for ${interchainFee.token.symbol} populated`);
|
|
413
|
+
const approveTx = {
|
|
414
|
+
category: txCategory,
|
|
415
|
+
type: providerType,
|
|
416
|
+
transaction: approveTxReq,
|
|
417
|
+
};
|
|
418
|
+
transactions.push(approveTx);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
const extraSignerKeypairs = providerType === ProviderType.SolanaWeb3
|
|
422
|
+
? [Keypair.generate()]
|
|
423
|
+
: undefined;
|
|
424
|
+
if (attestation) {
|
|
425
|
+
assert(isPredicateCapableAdapter(hypAdapter), 'Attestation provided but adapter does not support predicate transfers');
|
|
426
|
+
}
|
|
427
|
+
const transferTxReq = await hypAdapter.populateTransferRemoteTx({
|
|
428
|
+
weiAmountOrId: amount.toString(),
|
|
429
|
+
destination: destinationDomainId,
|
|
430
|
+
fromAccountOwner: sender,
|
|
431
|
+
recipient,
|
|
432
|
+
interchainGas,
|
|
433
|
+
customHook: token.igpTokenAddressOrDenom,
|
|
434
|
+
attestation,
|
|
435
|
+
extraSigners: extraSignerKeypairs,
|
|
436
|
+
});
|
|
437
|
+
this.logger.debug(`Remote transfer tx for ${token.symbol} populated`);
|
|
438
|
+
const transferTx = {
|
|
439
|
+
category: WarpTxCategory.Transfer,
|
|
440
|
+
type: providerType,
|
|
441
|
+
transaction: transferTxReq,
|
|
442
|
+
...(extraSignerKeypairs && { extraSigners: extraSignerKeypairs }),
|
|
443
|
+
};
|
|
444
|
+
transactions.push(transferTx);
|
|
445
|
+
return transactions;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Check if this is a CrossCollateralRouter transfer.
|
|
449
|
+
* Returns true if both tokens are CrossCollateralRouter tokens.
|
|
450
|
+
*/
|
|
451
|
+
isCrossCollateralTransfer(originToken, destinationToken) {
|
|
452
|
+
if (!destinationToken)
|
|
453
|
+
return false;
|
|
454
|
+
return (originToken.isCrossCollateralToken() &&
|
|
455
|
+
destinationToken.isCrossCollateralToken());
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Executes a CrossCollateralRouter transfer between different collateral routers.
|
|
459
|
+
* Uses transferRemoteTo for both same-chain and cross-chain transfers.
|
|
460
|
+
* Same-chain: calls handle() directly on target router (atomic, no relay needed).
|
|
461
|
+
*/
|
|
462
|
+
async getCrossCollateralTransferTxs({ originTokenAmount, destination, sender, recipient, destinationToken, attestation, interchainFee, tokenFeeQuote, }) {
|
|
463
|
+
const transactions = [];
|
|
464
|
+
const { token: originToken, amount } = originTokenAmount;
|
|
465
|
+
const destinationName = this.multiProvider.getChainName(destination);
|
|
466
|
+
const resolvedDestinationToken = this.resolveDestinationToken({
|
|
467
|
+
originToken,
|
|
468
|
+
destination,
|
|
469
|
+
destinationToken,
|
|
470
|
+
});
|
|
471
|
+
assert(originToken.collateralAddressOrDenom, 'Origin token missing collateralAddressOrDenom');
|
|
472
|
+
assert(resolvedDestinationToken.addressOrDenom, 'Destination token missing addressOrDenom');
|
|
473
|
+
const providerType = TOKEN_STANDARD_TO_PROVIDER_TYPE[originToken.standard];
|
|
474
|
+
const adapter = originToken.getHypAdapter(this.multiProvider, destinationName);
|
|
475
|
+
assert(isHypCrossCollateralAdapter(adapter), 'Adapter does not implement IHypCrossCollateralAdapter');
|
|
476
|
+
// Use pre-computed fees when provided (e.g. when attestation is present and the
|
|
477
|
+
// msg_value was signed over the original quote). Re-quoting could produce a
|
|
478
|
+
// different value and cause the attestation check to fail on-chain.
|
|
479
|
+
// Mirror the standard path (line ~517): only re-quote when interchainFee is absent.
|
|
480
|
+
// tokenFeeQuote may legitimately be undefined (no token fee on this route) and that
|
|
481
|
+
// is not a reason to re-quote — doing so would overwrite a valid pinned interchainFee.
|
|
482
|
+
let transferQuote;
|
|
483
|
+
if (interchainFee) {
|
|
484
|
+
transferQuote = {
|
|
485
|
+
igpQuote: {
|
|
486
|
+
amount: interchainFee.amount,
|
|
487
|
+
addressOrDenom: interchainFee.token.addressOrDenom,
|
|
488
|
+
},
|
|
489
|
+
...(tokenFeeQuote && {
|
|
490
|
+
tokenFeeQuote: {
|
|
491
|
+
amount: tokenFeeQuote.amount,
|
|
492
|
+
addressOrDenom: tokenFeeQuote.token.addressOrDenom,
|
|
493
|
+
},
|
|
494
|
+
}),
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
transferQuote = await adapter.quoteTransferRemoteToGas({
|
|
499
|
+
destination: this.multiProvider.getDomainId(destination),
|
|
500
|
+
recipient,
|
|
501
|
+
amount,
|
|
502
|
+
targetRouter: resolvedDestinationToken.addressOrDenom,
|
|
503
|
+
sender,
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
const igpDenom = transferQuote.igpQuote.addressOrDenom;
|
|
507
|
+
assert(!igpDenom || isZeroishAddress(igpDenom) || igpDenom === 'lamport', `CrossCollateralRouter transferRemoteTo requires native IGP fee; got ${igpDenom}`);
|
|
508
|
+
const tokenFeeAmount = transferQuote.tokenFeeQuote?.amount ?? 0n;
|
|
509
|
+
const totalDebit = amount + tokenFeeAmount;
|
|
510
|
+
const [isApproveRequired, isRevokeApprovalRequired] = await Promise.all([
|
|
511
|
+
adapter.isApproveRequired(sender, originToken.addressOrDenom, totalDebit),
|
|
512
|
+
adapter.isRevokeApprovalRequired(sender, originToken.addressOrDenom),
|
|
513
|
+
]);
|
|
514
|
+
if (isApproveRequired && isRevokeApprovalRequired) {
|
|
515
|
+
const revokeTxReq = await adapter.populateApproveTx({
|
|
516
|
+
weiAmountOrId: 0,
|
|
517
|
+
recipient: originToken.addressOrDenom,
|
|
518
|
+
});
|
|
519
|
+
transactions.push({
|
|
520
|
+
category: WarpTxCategory.Revoke,
|
|
521
|
+
type: providerType,
|
|
522
|
+
transaction: revokeTxReq,
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
if (isApproveRequired) {
|
|
526
|
+
const approveTxReq = await adapter.populateApproveTx({
|
|
527
|
+
weiAmountOrId: totalDebit,
|
|
528
|
+
recipient: originToken.addressOrDenom,
|
|
529
|
+
});
|
|
530
|
+
transactions.push({
|
|
531
|
+
category: WarpTxCategory.Approval,
|
|
532
|
+
type: providerType,
|
|
533
|
+
transaction: approveTxReq,
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
// transferRemoteTo works for both same-chain and cross-chain.
|
|
537
|
+
// Same-chain: calls handle() directly on target router (atomic, no relay needed).
|
|
538
|
+
const destinationDomainId = this.multiProvider.getDomainId(destination);
|
|
539
|
+
const originDomainId = this.multiProvider.getDomainId(originToken.chainName);
|
|
540
|
+
const isLocalTransfer = destinationDomainId === originDomainId;
|
|
541
|
+
const extraSignerKeypairs = providerType === ProviderType.SolanaWeb3 && !isLocalTransfer
|
|
542
|
+
? [Keypair.generate()]
|
|
543
|
+
: undefined;
|
|
544
|
+
const txReq = await adapter.populateTransferRemoteToTx({
|
|
545
|
+
destination: destinationDomainId,
|
|
546
|
+
recipient,
|
|
547
|
+
amount,
|
|
548
|
+
targetRouter: resolvedDestinationToken.addressOrDenom,
|
|
549
|
+
interchainGas: transferQuote,
|
|
550
|
+
fromAccountOwner: sender,
|
|
551
|
+
extraSigners: extraSignerKeypairs,
|
|
552
|
+
attestation,
|
|
553
|
+
});
|
|
554
|
+
transactions.push({
|
|
555
|
+
category: WarpTxCategory.Transfer,
|
|
556
|
+
type: providerType,
|
|
557
|
+
transaction: txReq,
|
|
558
|
+
...(extraSignerKeypairs && { extraSigners: extraSignerKeypairs }),
|
|
559
|
+
});
|
|
560
|
+
return transactions;
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* Display-time fee quote for an offchain-quoted transfer. Caller constructs
|
|
564
|
+
* a `QuotedTransferProvider` (EVM or Sealevel) and passes it in; WarpCore
|
|
565
|
+
* dispatches to the provider's `getQuotedTransferFee` without per-VM
|
|
566
|
+
* branching.
|
|
567
|
+
*
|
|
568
|
+
* Mirrors `getTransferRemoteTxs({ quotedTransfer })` — same provider
|
|
569
|
+
* instance can drive both display and submit so the UI doesn't need
|
|
570
|
+
* separate state for each.
|
|
571
|
+
*/
|
|
572
|
+
async getQuotedTransferFee(args) {
|
|
573
|
+
return args.quotedTransfer.getQuotedTransferFee({
|
|
574
|
+
warpCore: this,
|
|
575
|
+
originTokenAmount: args.originTokenAmount,
|
|
576
|
+
destination: args.destination,
|
|
577
|
+
sender: args.sender,
|
|
578
|
+
recipient: args.recipient,
|
|
579
|
+
destinationToken: args.destinationToken,
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Fetch local and interchain fee estimates for a remote transfer
|
|
584
|
+
*/
|
|
585
|
+
async estimateTransferRemoteFees({ originTokenAmount, destination, recipient, sender, senderPubKey, attestation, destinationToken, }) {
|
|
586
|
+
this.logger.debug('Fetching remote transfer fee estimates');
|
|
587
|
+
const { token: originToken } = originTokenAmount;
|
|
588
|
+
// Handle CrossCollateralRouter fee estimation
|
|
589
|
+
if (this.isCrossCollateralTransfer(originToken, destinationToken)) {
|
|
590
|
+
return this.estimateCrossCollateralFees({
|
|
591
|
+
originTokenAmount,
|
|
592
|
+
destination,
|
|
593
|
+
destinationToken,
|
|
594
|
+
recipient,
|
|
595
|
+
sender,
|
|
596
|
+
senderPubKey,
|
|
597
|
+
attestation,
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
// First get interchain gas quote (aka IGP quote)
|
|
601
|
+
// Start with this because it's used in the local fee estimation
|
|
602
|
+
const { igpQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
|
|
603
|
+
originTokenAmount,
|
|
604
|
+
destination,
|
|
605
|
+
sender,
|
|
606
|
+
recipient,
|
|
607
|
+
});
|
|
608
|
+
// Next, get the local gas quote
|
|
609
|
+
const localQuote = await this.getLocalTransferFeeAmount({
|
|
610
|
+
originToken: originTokenAmount.token,
|
|
611
|
+
destination,
|
|
612
|
+
sender,
|
|
613
|
+
recipient,
|
|
614
|
+
senderPubKey,
|
|
615
|
+
interchainFee: igpQuote,
|
|
616
|
+
tokenFeeQuote,
|
|
617
|
+
attestation,
|
|
618
|
+
// Only pass amount for predicate flows — it feeds the attested msg_value into
|
|
619
|
+
// eth_estimateGas. For non-predicate flows, let getLocalTransferFee use its
|
|
620
|
+
// minimal-amount fallback so simulation doesn't fail on large balances or
|
|
621
|
+
// placeholder senders (e.g. 0x...dead) that have no ETH.
|
|
622
|
+
amount: attestation ? originTokenAmount.amount : undefined,
|
|
623
|
+
});
|
|
624
|
+
return {
|
|
625
|
+
interchainQuote: igpQuote,
|
|
626
|
+
localQuote,
|
|
627
|
+
tokenFeeQuote,
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Estimate fees for a CrossCollateralRouter transfer.
|
|
632
|
+
*/
|
|
633
|
+
async estimateCrossCollateralFees({ originTokenAmount, destination, destinationToken, recipient, sender, senderPubKey, attestation, }) {
|
|
634
|
+
const { token: originToken } = originTokenAmount;
|
|
635
|
+
const resolvedDestinationToken = this.resolveDestinationToken({
|
|
636
|
+
originToken,
|
|
637
|
+
destination,
|
|
638
|
+
destinationToken,
|
|
639
|
+
});
|
|
640
|
+
const { igpQuote: interchainQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
|
|
641
|
+
originTokenAmount,
|
|
642
|
+
destination,
|
|
643
|
+
sender,
|
|
644
|
+
recipient,
|
|
645
|
+
destinationToken: resolvedDestinationToken,
|
|
646
|
+
});
|
|
647
|
+
const localQuote = await this.getLocalTransferFeeAmount({
|
|
648
|
+
originToken,
|
|
649
|
+
destination,
|
|
650
|
+
sender,
|
|
651
|
+
recipient,
|
|
652
|
+
senderPubKey,
|
|
653
|
+
interchainFee: interchainQuote,
|
|
654
|
+
tokenFeeQuote,
|
|
655
|
+
attestation,
|
|
656
|
+
amount: attestation ? originTokenAmount.amount : undefined,
|
|
657
|
+
destinationToken: resolvedDestinationToken,
|
|
658
|
+
});
|
|
659
|
+
return {
|
|
660
|
+
interchainQuote,
|
|
661
|
+
localQuote,
|
|
662
|
+
tokenFeeQuote,
|
|
663
|
+
};
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* Computes the max transferrable amount of the from the given
|
|
667
|
+
* token balance, accounting for local and interchain gas fees
|
|
668
|
+
*/
|
|
669
|
+
async getMaxTransferAmount({ balance, destination, recipient, sender, senderPubKey, feeEstimate, destinationToken, }) {
|
|
670
|
+
const originToken = balance.token;
|
|
671
|
+
if (!feeEstimate) {
|
|
672
|
+
// Get IGP and token fee quotes using the full balance so amount-dependent fees
|
|
673
|
+
// (e.g. percentage-based token fees) are correctly computed and subtracted.
|
|
674
|
+
const { igpQuote: interchainQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
|
|
675
|
+
originTokenAmount: balance,
|
|
676
|
+
destination,
|
|
677
|
+
recipient,
|
|
678
|
+
sender,
|
|
679
|
+
destinationToken,
|
|
680
|
+
});
|
|
681
|
+
// Estimate local gas with no amount so getLocalTransferFee uses its minimal-amount
|
|
682
|
+
// fallback — avoids eth_estimateGas failures on native token routes where simulating
|
|
683
|
+
// the full balance leaves nothing to cover gas.
|
|
684
|
+
const localQuote = await this.getLocalTransferFeeAmount({
|
|
685
|
+
originToken,
|
|
686
|
+
destination,
|
|
687
|
+
sender,
|
|
688
|
+
recipient,
|
|
689
|
+
senderPubKey,
|
|
690
|
+
interchainFee: interchainQuote,
|
|
691
|
+
tokenFeeQuote,
|
|
692
|
+
destinationToken,
|
|
693
|
+
});
|
|
694
|
+
feeEstimate = { interchainQuote, localQuote, tokenFeeQuote };
|
|
695
|
+
}
|
|
696
|
+
const { localQuote, interchainQuote, tokenFeeQuote } = feeEstimate;
|
|
697
|
+
let maxAmount = balance;
|
|
698
|
+
if (originToken.isFungibleWith(localQuote.token)) {
|
|
699
|
+
maxAmount = maxAmount.minus(localQuote.amount);
|
|
700
|
+
}
|
|
701
|
+
if (originToken.isFungibleWith(interchainQuote.token)) {
|
|
702
|
+
maxAmount = maxAmount.minus(interchainQuote.amount);
|
|
703
|
+
}
|
|
704
|
+
if (originToken.isFungibleWith(tokenFeeQuote?.token)) {
|
|
705
|
+
const { tokenFeeQuote: newFeeQuote } = await this.getInterchainTransferFee({
|
|
706
|
+
originTokenAmount: maxAmount,
|
|
707
|
+
destination,
|
|
708
|
+
recipient,
|
|
709
|
+
sender,
|
|
710
|
+
destinationToken,
|
|
711
|
+
});
|
|
712
|
+
// Because tokenFeeQuote is calculated based on the amount, we need to recalculate
|
|
713
|
+
// the tokenFeeQuote after subtracting the localQuote and IGP to get max transfer amount
|
|
714
|
+
// to be as close as possible
|
|
715
|
+
maxAmount = maxAmount.minus(newFeeQuote?.amount || 0n);
|
|
716
|
+
}
|
|
717
|
+
if (maxAmount.amount > 0)
|
|
718
|
+
return maxAmount;
|
|
719
|
+
else
|
|
720
|
+
return originToken.amount(0);
|
|
721
|
+
}
|
|
722
|
+
async getTokenCollateral(token) {
|
|
723
|
+
if (LOCKBOX_STANDARDS.includes(token.standard) ||
|
|
724
|
+
ERC4626_COLLATERAL_STANDARDS.includes(token.standard)) {
|
|
725
|
+
const adapter = token.getHypAdapter(this.multiProvider);
|
|
726
|
+
const tokenCollateral = await adapter.getBridgedSupply();
|
|
727
|
+
assert(tokenCollateral !== undefined, `getBridgedSupply returned undefined for ${token.symbol} on ${token.chainName}`);
|
|
728
|
+
return tokenCollateral;
|
|
729
|
+
}
|
|
730
|
+
else {
|
|
731
|
+
const adapter = token.getAdapter(this.multiProvider);
|
|
732
|
+
const tokenCollateral = await adapter.getBalance(token.addressOrDenom);
|
|
733
|
+
return tokenCollateral;
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
/**
|
|
737
|
+
* Checks if destination chain's collateral is sufficient to cover the transfer
|
|
738
|
+
*/
|
|
739
|
+
async isDestinationCollateralSufficient({ originTokenAmount, destination, destinationToken, }) {
|
|
740
|
+
const { token: originToken, amount } = originTokenAmount;
|
|
741
|
+
this.logger.debug(`Checking collateral for ${originToken.symbol} to ${destination}`);
|
|
742
|
+
const resolvedDestinationToken = this.resolveDestinationToken({
|
|
743
|
+
originToken,
|
|
744
|
+
destination,
|
|
745
|
+
destinationToken,
|
|
746
|
+
});
|
|
747
|
+
if (isDestinationCollateralExemptToken(resolvedDestinationToken)) {
|
|
748
|
+
this.logger.debug(`${resolvedDestinationToken.symbol} uses ${resolvedDestinationToken.tokenType}, skipping destination collateral check`);
|
|
749
|
+
return true;
|
|
750
|
+
}
|
|
751
|
+
if (!TOKEN_COLLATERALIZED_STANDARDS.includes(resolvedDestinationToken.standard)) {
|
|
752
|
+
this.logger.debug(`${resolvedDestinationToken.symbol} is not collateralized, skipping`);
|
|
753
|
+
return true;
|
|
754
|
+
}
|
|
755
|
+
const destinationBalance = await this.getTokenCollateral(resolvedDestinationToken);
|
|
756
|
+
// Legacy fallback: when both scales are undefined but decimals differ,
|
|
757
|
+
// we can't use message-space comparison because messageAmountFromLocal
|
|
758
|
+
// with identity scale would compare raw local units across different
|
|
759
|
+
// decimal spaces. Fall back to decimal conversion instead.
|
|
760
|
+
// Well-configured routes should have scale set — verifyScale() catches
|
|
761
|
+
// this at deploy time. Misconfigured routes that reach the message-space
|
|
762
|
+
// path below may produce incorrect results.
|
|
763
|
+
if (originToken.decimals !== resolvedDestinationToken.decimals &&
|
|
764
|
+
originToken.scale === undefined &&
|
|
765
|
+
resolvedDestinationToken.scale === undefined) {
|
|
766
|
+
const destinationBalanceInOriginDecimals = BigInt(convertDecimalsToIntegerString(resolvedDestinationToken.decimals, originToken.decimals, destinationBalance.toString()));
|
|
767
|
+
const isSufficient = destinationBalanceInOriginDecimals >= amount;
|
|
768
|
+
this.logger.debug(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} collateral`);
|
|
769
|
+
return isSufficient;
|
|
770
|
+
}
|
|
771
|
+
const requiredMessageAmount = messageAmountFromLocal(amount, originToken.scale);
|
|
772
|
+
const availableMessageAmount = messageAmountFromLocal(destinationBalance, resolvedDestinationToken.scale);
|
|
773
|
+
const isSufficient = availableMessageAmount >= requiredMessageAmount;
|
|
774
|
+
this.logger.debug(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} collateral`);
|
|
775
|
+
return isSufficient;
|
|
776
|
+
}
|
|
777
|
+
/**
|
|
778
|
+
* Checks if a token transfer requires an approval tx first
|
|
779
|
+
*/
|
|
780
|
+
async isApproveRequired({ originTokenAmount, owner, }) {
|
|
781
|
+
const { token, amount } = originTokenAmount;
|
|
782
|
+
const adapter = token.getAdapter(this.multiProvider);
|
|
783
|
+
const isRequired = await adapter.isApproveRequired(owner, token.addressOrDenom, amount);
|
|
784
|
+
this.logger.debug(`Approval is${isRequired ? '' : ' not'} required for transfer of ${token.symbol}`);
|
|
785
|
+
return isRequired;
|
|
786
|
+
}
|
|
787
|
+
/**
|
|
788
|
+
* Ensure the remote token transfer would be valid for the given chains, amount, sender, and recipient
|
|
789
|
+
*/
|
|
790
|
+
async validateTransfer({ originTokenAmount, destination, recipient, sender, senderPubKey, attestation, destinationToken, }) {
|
|
791
|
+
const chainError = this.validateChains(originTokenAmount.token.chainName, destination);
|
|
792
|
+
if (chainError)
|
|
793
|
+
return chainError;
|
|
794
|
+
const recipientError = this.validateRecipient(recipient, destination);
|
|
795
|
+
if (recipientError)
|
|
796
|
+
return recipientError;
|
|
797
|
+
const resolvedDestinationToken = (() => {
|
|
798
|
+
try {
|
|
799
|
+
return this.resolveDestinationToken({
|
|
800
|
+
originToken: originTokenAmount.token,
|
|
801
|
+
destination,
|
|
802
|
+
destinationToken,
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
catch (error) {
|
|
806
|
+
const message = error instanceof Error ? error.message : 'Invalid destination token';
|
|
807
|
+
return { error: message };
|
|
808
|
+
}
|
|
809
|
+
})();
|
|
810
|
+
if ('error' in resolvedDestinationToken) {
|
|
811
|
+
return { destinationToken: resolvedDestinationToken.error };
|
|
812
|
+
}
|
|
813
|
+
const amountError = await this.validateAmount(originTokenAmount, destination, recipient, resolvedDestinationToken);
|
|
814
|
+
if (amountError)
|
|
815
|
+
return amountError;
|
|
816
|
+
const destinationRateLimitError = await this.validateDestinationRateLimit(originTokenAmount, destination, resolvedDestinationToken);
|
|
817
|
+
if (destinationRateLimitError)
|
|
818
|
+
return destinationRateLimitError;
|
|
819
|
+
const destinationCollateralError = await this.validateDestinationCollateral(originTokenAmount, destination, resolvedDestinationToken);
|
|
820
|
+
if (destinationCollateralError)
|
|
821
|
+
return destinationCollateralError;
|
|
822
|
+
// Quote the interchain transfer fee once and reuse it across the origin
|
|
823
|
+
// burn-limit and token-balance checks so both use identical values and we
|
|
824
|
+
// avoid a redundant remote quote.
|
|
825
|
+
const interchainFee = await this.getInterchainTransferFee({
|
|
826
|
+
originTokenAmount,
|
|
827
|
+
destination,
|
|
828
|
+
sender,
|
|
829
|
+
recipient,
|
|
830
|
+
destinationToken: resolvedDestinationToken,
|
|
831
|
+
});
|
|
832
|
+
const originCollateralError = await this.validateOriginCollateral(originTokenAmount, destination, recipient, sender, resolvedDestinationToken, interchainFee);
|
|
833
|
+
if (originCollateralError)
|
|
834
|
+
return originCollateralError;
|
|
835
|
+
const balancesError = await this.validateTokenBalances(originTokenAmount, destination, sender, recipient, senderPubKey, attestation, resolvedDestinationToken, interchainFee);
|
|
836
|
+
if (balancesError)
|
|
837
|
+
return balancesError;
|
|
838
|
+
return null;
|
|
839
|
+
}
|
|
840
|
+
/**
|
|
841
|
+
* Ensure the origin and destination chains are valid and known by this WarpCore
|
|
842
|
+
*/
|
|
843
|
+
validateChains(origin, destination) {
|
|
844
|
+
if (!origin)
|
|
845
|
+
return { origin: 'Origin chain required' };
|
|
846
|
+
if (!destination)
|
|
847
|
+
return { destination: 'Destination chain required' };
|
|
848
|
+
const originMetadata = this.multiProvider.tryGetChainMetadata(origin);
|
|
849
|
+
const destinationMetadata = this.multiProvider.tryGetChainMetadata(destination);
|
|
850
|
+
if (!originMetadata)
|
|
851
|
+
return { origin: 'Origin chain metadata missing' };
|
|
852
|
+
if (!destinationMetadata)
|
|
853
|
+
return { destination: 'Destination chain metadata missing' };
|
|
854
|
+
if (this.routeBlacklist.some((bl) => bl.origin === originMetadata.name &&
|
|
855
|
+
bl.destination === destinationMetadata.name)) {
|
|
856
|
+
return { destination: 'Route is not currently allowed' };
|
|
857
|
+
}
|
|
858
|
+
return null;
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Ensure recipient address is valid for the destination chain
|
|
862
|
+
*/
|
|
863
|
+
validateRecipient(recipient, destination) {
|
|
864
|
+
const destinationMetadata = this.multiProvider.getChainMetadata(destination);
|
|
865
|
+
const { protocol, bech32Prefix } = destinationMetadata;
|
|
866
|
+
// Ensure recip address is valid for the destination chain's protocol
|
|
867
|
+
if (!isValidAddress(recipient, protocol) || isZeroishAddress(recipient))
|
|
868
|
+
return { recipient: 'Invalid recipient' };
|
|
869
|
+
// Also ensure the address denom is correct if the dest protocol is Cosmos
|
|
870
|
+
if (protocol === ProtocolType.Cosmos ||
|
|
871
|
+
protocol === ProtocolType.CosmosNative) {
|
|
872
|
+
if (!bech32Prefix) {
|
|
873
|
+
this.logger.error(`No bech32 prefix found for chain ${destination}`);
|
|
874
|
+
return { destination: 'Invalid chain data' };
|
|
875
|
+
}
|
|
876
|
+
else if (!recipient.startsWith(bech32Prefix)) {
|
|
877
|
+
this.logger.error(`Recipient prefix should be ${bech32Prefix}`);
|
|
878
|
+
return { recipient: 'Invalid recipient prefix' };
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
return null;
|
|
882
|
+
}
|
|
883
|
+
/**
|
|
884
|
+
* Ensure token amount is valid
|
|
885
|
+
*/
|
|
886
|
+
async validateAmount(originTokenAmount, destination, recipient, destinationToken) {
|
|
887
|
+
if (!originTokenAmount.amount || originTokenAmount.amount < 0n) {
|
|
888
|
+
const isNft = originTokenAmount.token.isNft();
|
|
889
|
+
return { amount: isNft ? 'Invalid Token Id' : 'Invalid amount' };
|
|
890
|
+
}
|
|
891
|
+
// Check the transfer amount is sufficient on the destination side
|
|
892
|
+
const originToken = originTokenAmount.token;
|
|
893
|
+
const resolvedDestinationToken = this.resolveDestinationToken({
|
|
894
|
+
originToken,
|
|
895
|
+
destination,
|
|
896
|
+
destinationToken,
|
|
897
|
+
});
|
|
898
|
+
const destinationAdapter = resolvedDestinationToken.getAdapter(this.multiProvider);
|
|
899
|
+
// Get the min required destination amount
|
|
900
|
+
const minDestinationTransferAmount = await destinationAdapter.getMinimumTransferAmount(recipient);
|
|
901
|
+
// Convert the minDestinationTransferAmount to an origin amount
|
|
902
|
+
const minOriginTransferAmount = originToken.amount(convertDecimalsToIntegerString(resolvedDestinationToken.decimals, originToken.decimals, minDestinationTransferAmount.toString()));
|
|
903
|
+
if (minOriginTransferAmount.amount > originTokenAmount.amount) {
|
|
904
|
+
return {
|
|
905
|
+
amount: `Minimum transfer amount is ${minOriginTransferAmount.getDecimalFormattedAmount()} ${originToken.symbol}`,
|
|
906
|
+
};
|
|
907
|
+
}
|
|
908
|
+
return null;
|
|
909
|
+
}
|
|
910
|
+
/**
|
|
911
|
+
* Ensure the sender has sufficient balances for transfer and interchain gas
|
|
912
|
+
*/
|
|
913
|
+
async validateTokenBalances(originTokenAmount, destination, sender, recipient, senderPubKey, attestation, destinationToken, interchainFee) {
|
|
914
|
+
const { token: originToken, amount } = originTokenAmount;
|
|
915
|
+
const { amount: senderBalance } = await originToken.getBalance(this.multiProvider, sender);
|
|
916
|
+
const senderBalanceAmount = originTokenAmount.token.amount(senderBalance);
|
|
917
|
+
// Check 1: Check basic token balance
|
|
918
|
+
if (amount > senderBalance)
|
|
919
|
+
return { amount: 'Insufficient balance' };
|
|
920
|
+
// Check 2: Ensure the balance can cover interchain fee
|
|
921
|
+
// Slightly redundant with Check 5 but gives more specific error messages
|
|
922
|
+
const { igpQuote: interchainQuote, tokenFeeQuote } = interchainFee ??
|
|
923
|
+
(await this.getInterchainTransferFee({
|
|
924
|
+
originTokenAmount,
|
|
925
|
+
destination,
|
|
926
|
+
sender,
|
|
927
|
+
recipient,
|
|
928
|
+
destinationToken,
|
|
929
|
+
}));
|
|
930
|
+
// Get balance of the IGP fee token, which may be different from the transfer token
|
|
931
|
+
const interchainQuoteTokenBalance = originToken.isFungibleWith(interchainQuote.token)
|
|
932
|
+
? senderBalanceAmount
|
|
933
|
+
: await interchainQuote.token.getBalance(this.multiProvider, sender);
|
|
934
|
+
if (interchainQuoteTokenBalance.amount < interchainQuote.amount) {
|
|
935
|
+
return {
|
|
936
|
+
amount: `Insufficient ${interchainQuote.token.symbol} for interchain gas`,
|
|
937
|
+
};
|
|
938
|
+
}
|
|
939
|
+
// Check 3: Ensure the balance can cover the token fee which would be the same asset as the originTokenValue
|
|
940
|
+
// Slightly redundant with Check 5 but gives more specific error messages
|
|
941
|
+
if (tokenFeeQuote?.amount &&
|
|
942
|
+
amount + tokenFeeQuote.amount > senderBalance) {
|
|
943
|
+
return {
|
|
944
|
+
amount: `Insufficient balance to cover token fee`,
|
|
945
|
+
};
|
|
946
|
+
}
|
|
947
|
+
// Check 4: Simulates the transfer by getting the local gas fee
|
|
948
|
+
const localQuote = await this.getLocalTransferFeeAmount({
|
|
949
|
+
originToken,
|
|
950
|
+
destination,
|
|
951
|
+
sender,
|
|
952
|
+
recipient,
|
|
953
|
+
senderPubKey,
|
|
954
|
+
interchainFee: interchainQuote,
|
|
955
|
+
tokenFeeQuote,
|
|
956
|
+
attestation,
|
|
957
|
+
amount,
|
|
958
|
+
destinationToken,
|
|
959
|
+
});
|
|
960
|
+
const feeEstimate = { interchainQuote, localQuote };
|
|
961
|
+
// Check 5: Ensure balances can cover the COMBINED amount and fees
|
|
962
|
+
const maxTransfer = await this.getMaxTransferAmount({
|
|
963
|
+
balance: senderBalanceAmount,
|
|
964
|
+
destination,
|
|
965
|
+
recipient,
|
|
966
|
+
sender,
|
|
967
|
+
senderPubKey,
|
|
968
|
+
feeEstimate,
|
|
969
|
+
destinationToken,
|
|
970
|
+
});
|
|
971
|
+
if (amount > maxTransfer.amount) {
|
|
972
|
+
return { amount: 'Insufficient balance for gas and transfer' };
|
|
973
|
+
}
|
|
974
|
+
return null;
|
|
975
|
+
}
|
|
976
|
+
/**
|
|
977
|
+
* Ensure the sender has sufficient balances for transfer and interchain gas
|
|
978
|
+
*/
|
|
979
|
+
async validateDestinationCollateral(originTokenAmount, destination, destinationToken) {
|
|
980
|
+
const valid = await this.isDestinationCollateralSufficient({
|
|
981
|
+
originTokenAmount,
|
|
982
|
+
destination,
|
|
983
|
+
destinationToken,
|
|
984
|
+
});
|
|
985
|
+
if (!valid) {
|
|
986
|
+
return { amount: 'Insufficient collateral on destination' };
|
|
987
|
+
}
|
|
988
|
+
return null;
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Ensure the sender has sufficient balances for minting
|
|
992
|
+
*/
|
|
993
|
+
async validateDestinationRateLimit(originTokenAmount, destination, destinationToken) {
|
|
994
|
+
const { token: originToken, amount } = originTokenAmount;
|
|
995
|
+
const resolvedDestinationToken = this.resolveDestinationToken({
|
|
996
|
+
originToken,
|
|
997
|
+
destination,
|
|
998
|
+
destinationToken,
|
|
999
|
+
});
|
|
1000
|
+
if (!MINT_LIMITED_STANDARDS.includes(resolvedDestinationToken.standard)) {
|
|
1001
|
+
this.logger.debug(`${resolvedDestinationToken.symbol} does not have rate limit constraint, skipping`);
|
|
1002
|
+
return null;
|
|
1003
|
+
}
|
|
1004
|
+
let destinationMintLimit = 0n;
|
|
1005
|
+
if (XERC20_STANDARDS.includes(resolvedDestinationToken.standard)) {
|
|
1006
|
+
const adapter = resolvedDestinationToken.getAdapter(this.multiProvider);
|
|
1007
|
+
destinationMintLimit = await adapter.getMintLimit();
|
|
1008
|
+
if (resolvedDestinationToken.standard === TokenStandard.EvmHypVSXERC20 ||
|
|
1009
|
+
resolvedDestinationToken.standard ===
|
|
1010
|
+
TokenStandard.EvmHypVSXERC20Lockbox ||
|
|
1011
|
+
resolvedDestinationToken.standard === TokenStandard.TronHypVSXERC20 ||
|
|
1012
|
+
resolvedDestinationToken.standard ===
|
|
1013
|
+
TokenStandard.TronHypVSXERC20Lockbox) {
|
|
1014
|
+
const bufferCap = await adapter.getMintMaxLimit();
|
|
1015
|
+
const max = bufferCap / 2n;
|
|
1016
|
+
if (destinationMintLimit > max) {
|
|
1017
|
+
this.logger.debug(`Mint limit ${destinationMintLimit} exceeds max ${max}, using max`);
|
|
1018
|
+
destinationMintLimit = max;
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
else if (resolvedDestinationToken.standard ===
|
|
1023
|
+
TokenStandard.EvmHypCollateralFiat ||
|
|
1024
|
+
resolvedDestinationToken.standard === TokenStandard.TronHypCollateralFiat) {
|
|
1025
|
+
const adapter = resolvedDestinationToken.getAdapter(this.multiProvider);
|
|
1026
|
+
destinationMintLimit = await adapter.getMintLimit();
|
|
1027
|
+
}
|
|
1028
|
+
// Legacy fallback: when both scales are undefined but decimals differ,
|
|
1029
|
+
// we can't use message-space comparison because messageAmountFromLocal
|
|
1030
|
+
// with identity scale would compare raw local units across different
|
|
1031
|
+
// decimal spaces. Fall back to decimal conversion instead.
|
|
1032
|
+
// Well-configured routes should have scale set — verifyScale() catches
|
|
1033
|
+
// this at deploy time. Misconfigured routes that reach the message-space
|
|
1034
|
+
// path below may produce incorrect results.
|
|
1035
|
+
if (originToken.decimals !== resolvedDestinationToken.decimals &&
|
|
1036
|
+
originToken.scale === undefined &&
|
|
1037
|
+
resolvedDestinationToken.scale === undefined) {
|
|
1038
|
+
const destinationMintLimitInOriginDecimals = BigInt(convertDecimalsToIntegerString(resolvedDestinationToken.decimals, originToken.decimals, destinationMintLimit.toString()));
|
|
1039
|
+
const isSufficient = destinationMintLimitInOriginDecimals >= amount;
|
|
1040
|
+
this.logger.debug(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} rate limits`);
|
|
1041
|
+
if (!isSufficient)
|
|
1042
|
+
return { amount: 'Rate limit exceeded on destination' };
|
|
1043
|
+
return null;
|
|
1044
|
+
}
|
|
1045
|
+
const requiredMessageAmount = messageAmountFromLocal(amount, originToken.scale);
|
|
1046
|
+
const availableMessageAmount = messageAmountFromLocal(destinationMintLimit, resolvedDestinationToken.scale);
|
|
1047
|
+
const isSufficient = availableMessageAmount >= requiredMessageAmount;
|
|
1048
|
+
this.logger.debug(`${originTokenAmount.token.symbol} to ${destination} has ${isSufficient ? 'sufficient' : 'INSUFFICIENT'} rate limits`);
|
|
1049
|
+
if (!isSufficient)
|
|
1050
|
+
return { amount: 'Rate limit exceeded on destination' };
|
|
1051
|
+
return null;
|
|
1052
|
+
}
|
|
1053
|
+
/**
|
|
1054
|
+
* Ensure the sender has sufficient balances for transfer and interchain gas
|
|
1055
|
+
*/
|
|
1056
|
+
async validateOriginCollateral(originTokenAmount, destination, recipient, sender, destinationToken, interchainFee) {
|
|
1057
|
+
const { token: originToken, amount } = originTokenAmount;
|
|
1058
|
+
const adapter = originToken.getAdapter(this.multiProvider);
|
|
1059
|
+
if (XERC20_STANDARDS.includes(originToken.standard)) {
|
|
1060
|
+
// The on-chain burn path debits amount + any interchain fee charged in
|
|
1061
|
+
// the same asset being burned (token-denominated hook fee). The IGP /
|
|
1062
|
+
// native gas fee is paid separately and does not count toward the burn
|
|
1063
|
+
// limit, so only add fees fungible with the origin token.
|
|
1064
|
+
const { tokenFeeQuote } = interchainFee ??
|
|
1065
|
+
(await this.getInterchainTransferFee({
|
|
1066
|
+
originTokenAmount,
|
|
1067
|
+
destination,
|
|
1068
|
+
sender,
|
|
1069
|
+
recipient,
|
|
1070
|
+
destinationToken,
|
|
1071
|
+
}));
|
|
1072
|
+
const originTokenFee = tokenFeeQuote && originToken.isFungibleWith(tokenFeeQuote.token)
|
|
1073
|
+
? tokenFeeQuote.amount
|
|
1074
|
+
: 0n;
|
|
1075
|
+
const burnDebit = amount + originTokenFee;
|
|
1076
|
+
const burnLimit = await adapter.getBurnLimit();
|
|
1077
|
+
if (burnLimit < burnDebit) {
|
|
1078
|
+
return { amount: 'Insufficient burn limit on origin' };
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
return null;
|
|
1082
|
+
}
|
|
1083
|
+
resolveDestinationToken({ originToken, destination, destinationToken, }) {
|
|
1084
|
+
return resolveDestinationToken({
|
|
1085
|
+
multiProvider: this.multiProvider,
|
|
1086
|
+
originToken,
|
|
1087
|
+
destination,
|
|
1088
|
+
destinationToken,
|
|
1089
|
+
});
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Search through token list to find token with matching chain and address
|
|
1093
|
+
*/
|
|
1094
|
+
findToken(chainName, addressOrDenom) {
|
|
1095
|
+
if (!addressOrDenom)
|
|
1096
|
+
return null;
|
|
1097
|
+
const results = this.tokens.filter((token) => token.chainName === chainName &&
|
|
1098
|
+
tokenIdentifiersEqual(token.addressOrDenom, addressOrDenom));
|
|
1099
|
+
if (results.length === 1)
|
|
1100
|
+
return results[0];
|
|
1101
|
+
if (results.length > 1)
|
|
1102
|
+
throw new Error(`Ambiguous token search results for ${addressOrDenom}`);
|
|
1103
|
+
// If the token is not found, check to see if it matches the denom of chain's native token
|
|
1104
|
+
// This is a convenience so WarpConfigs don't need to include definitions for native tokens
|
|
1105
|
+
const chainMetadata = this.multiProvider.getChainMetadata(chainName);
|
|
1106
|
+
if (chainMetadata.nativeToken?.denom === addressOrDenom) {
|
|
1107
|
+
return Token.FromChainMetadataNativeToken(chainMetadata);
|
|
1108
|
+
}
|
|
1109
|
+
return null;
|
|
1110
|
+
}
|
|
1111
|
+
/**
|
|
1112
|
+
* Get the list of chains referenced by the tokens in this WarpCore
|
|
1113
|
+
*/
|
|
1114
|
+
getTokenChains() {
|
|
1115
|
+
return [...new Set(this.tokens.map((t) => t.chainName)).values()];
|
|
1116
|
+
}
|
|
1117
|
+
/**
|
|
1118
|
+
* Get the subset of tokens whose chain matches the given chainName
|
|
1119
|
+
*/
|
|
1120
|
+
getTokensForChain(chainName) {
|
|
1121
|
+
return this.tokens.filter((t) => t.chainName === chainName);
|
|
1122
|
+
}
|
|
1123
|
+
/**
|
|
1124
|
+
* Get the subset of tokens whose chain matches the given chainName
|
|
1125
|
+
* and which are connected to a token on the given destination chain
|
|
1126
|
+
*/
|
|
1127
|
+
getTokensForRoute(origin, destination) {
|
|
1128
|
+
return this.tokens.filter((t) => t.chainName === origin && t.getConnectionForChain(destination));
|
|
1129
|
+
}
|
|
1130
|
+
/**
|
|
1131
|
+
* Check if a token supports Predicate attestations
|
|
1132
|
+
* @param token The token to check
|
|
1133
|
+
* @param destination Optional destination chain for the route
|
|
1134
|
+
* @returns True if the token's warp route has a PredicateRouterWrapper configured
|
|
1135
|
+
*/
|
|
1136
|
+
async isPredicateSupported(token, destination) {
|
|
1137
|
+
const adapter = token.getHypAdapter(this.multiProvider, destination);
|
|
1138
|
+
if (!isPredicateCapableAdapter(adapter)) {
|
|
1139
|
+
return false;
|
|
1140
|
+
}
|
|
1141
|
+
return adapter.supportsAttestation();
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
//# sourceMappingURL=WarpCore.js.map
|