@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,1292 @@
|
|
|
1
|
+
import { compareVersions } from 'compare-versions';
|
|
2
|
+
import { BigNumber, Contract, constants, utils } from 'ethers';
|
|
3
|
+
import { AtomicLocalRebalancingBridge__factory, CrossCollateralRouter__factory, EverclearTokenBridge__factory, PredicateRouterWrapper__factory, HypERC20Collateral__factory, HypERC20__factory, HypERC4626Collateral__factory, HypERC4626OwnerCollateral__factory, HypERC4626__factory, HypXERC20Lockbox__factory, HypXERC20__factory, IFiatToken__factory, IMessageTransmitter__factory, ISafe__factory, IWETH__factory, IXERC20__factory, MovableCollateralRouter__factory, OpL1NativeTokenBridge__factory, OpL2NativeTokenBridge__factory, Ownable__factory, ProxyAdmin__factory, TokenBridgeOft__factory, TokenBridgeCctpBase__factory, TokenBridgeCctpV2__factory, TokenBridgeDepositAddress__factory, TokenRouter__factory, } from '@recoillink/core';
|
|
4
|
+
import { buildArtifact as coreBuildArtifact } from '@recoillink/core/buildArtifact.js';
|
|
5
|
+
import { addressToBytes32, arrayToObject, assert, eqAddress, getLogLevel, isNullish, isZeroish, isZeroishAddress, objFilter, objMap, promiseObjAll, rootLogger, strip0x, } from '@recoillink/utils';
|
|
6
|
+
import { ExplorerLicenseType } from '../block-explorer/etherscan.js';
|
|
7
|
+
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
|
|
8
|
+
import { isAddressActive } from '../contracts/contracts.js';
|
|
9
|
+
import { ContractVerifier } from '../deploy/verify/ContractVerifier.js';
|
|
10
|
+
import { VerifyContractTypes } from '../deploy/verify/types.js';
|
|
11
|
+
import { EvmTokenFeeReader, } from '../fee/EvmTokenFeeReader.js';
|
|
12
|
+
import { mergeCrossCollateralRouters, } from '../fee/crossCollateralUtils.js';
|
|
13
|
+
import { EvmHookReader } from '../hook/EvmHookReader.js';
|
|
14
|
+
import { HookType, OnchainHookType } from '../hook/types.js';
|
|
15
|
+
import { EvmIsmReader } from '../ism/EvmIsmReader.js';
|
|
16
|
+
import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
|
|
17
|
+
import { EvmRouterReader } from '../router/EvmRouterReader.js';
|
|
18
|
+
import { fetchPackageVersion as fetchContractPackageVersion, isMissingSelectorRevert, isPanicRevert, throwIfNotMissingSelector, throwIfNotMissingSelectorRevert, } from '../utils/contract.js';
|
|
19
|
+
import { EIP1967_BEACON_SLOT, EIP1967_IMPLEMENTATION_SLOT, isProxy, isStorageEmpty, proxyAdmin, proxyImplementation, } from './../deploy/proxy.js';
|
|
20
|
+
import { NON_ZERO_SENDER_ADDRESS, TokenType } from './config.js';
|
|
21
|
+
import { ContractVerificationStatus, HypTokenConfigSchema, OwnerStatus, isMovableCollateralTokenConfig, isCrossCollateralTokenConfig, } from './types.js';
|
|
22
|
+
import { readXERC20Limits } from './xerc20-limits.js';
|
|
23
|
+
import { UnknownXERC20TypeError, deriveXERC20TokenType, getExtraLockBoxConfigs, } from './xerc20.js';
|
|
24
|
+
// EIP-1167 minimal proxy runtime code: prefix, 20-byte implementation, suffix
|
|
25
|
+
const EIP1167_PREFIX = '0x363d3d373d3d3d363d73';
|
|
26
|
+
const EIP1167_ADDRESS_HEX_LENGTH = 40;
|
|
27
|
+
function containsDelegateCall(bytecode) {
|
|
28
|
+
const hex = strip0x(bytecode);
|
|
29
|
+
for (let offset = 0; offset + 2 <= hex.length; offset += 2) {
|
|
30
|
+
const opcode = Number.parseInt(hex.slice(offset, offset + 2), 16);
|
|
31
|
+
if (opcode === 0xf4)
|
|
32
|
+
return true;
|
|
33
|
+
if (opcode >= 0x60 && opcode <= 0x7f) {
|
|
34
|
+
offset += (opcode - 0x5f) * 2;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const SelectorStatus = {
|
|
40
|
+
Present: 'present',
|
|
41
|
+
Absent: 'absent',
|
|
42
|
+
// selector absent but the bytecode contains DELEGATECALL, so it may forward
|
|
43
|
+
Forwarding: 'forwarding',
|
|
44
|
+
// beacon proxy, unreadable or empty code
|
|
45
|
+
Unresolved: 'unresolved',
|
|
46
|
+
};
|
|
47
|
+
const REBALANCING_CONTRACT_VERSION = '8.0.0';
|
|
48
|
+
export const TOKEN_FEE_CONTRACT_VERSION = '10.0.0';
|
|
49
|
+
// version that introduced the fractional scale interface
|
|
50
|
+
const SCALE_FRACTION_VERSION = '11.0.0';
|
|
51
|
+
// public `scale()` getter on FungibleTokenRouter, core 6.0.0 to 10.x (replaced
|
|
52
|
+
// by scaleNumerator/scaleDenominator in 11.0.0)
|
|
53
|
+
// https://github.com/hyperlane-xyz/hyperlane-monorepo/releases/tag/%40hyperlane-xyz%2Fcore%406.0.0
|
|
54
|
+
const SCALE_VERSION = '6.0.0';
|
|
55
|
+
const LEGACY_SCALE_INTERFACE = new utils.Interface([
|
|
56
|
+
'function scale() external view returns (uint256)',
|
|
57
|
+
]);
|
|
58
|
+
// Version that introduced CrossCollateralRouter.rebalanceTargets().
|
|
59
|
+
const REBALANCE_TARGETS_CONTRACT_VERSION = '12.0.0';
|
|
60
|
+
// Version that first introduced ppm precision for CCTP V2 fee storage (was bps before)
|
|
61
|
+
export const CCTP_PPM_STORAGE_VERSION = '10.2.0';
|
|
62
|
+
// Version that renamed maxFeeBps() to maxFeePpm() on-chain
|
|
63
|
+
export const CCTP_PPM_PRECISION_VERSION = '11.0.0';
|
|
64
|
+
export class EvmWarpRouteReader extends EvmRouterReader {
|
|
65
|
+
multiProvider;
|
|
66
|
+
chain;
|
|
67
|
+
concurrency;
|
|
68
|
+
logger = rootLogger.child({
|
|
69
|
+
module: 'EvmWarpRouteReader',
|
|
70
|
+
});
|
|
71
|
+
depositAddressDomainConfigsCache = new Map();
|
|
72
|
+
// Using null instead of undefined to force
|
|
73
|
+
// a compile error when adding a new token type
|
|
74
|
+
deriveTokenConfigMap;
|
|
75
|
+
evmHookReader;
|
|
76
|
+
evmIsmReader;
|
|
77
|
+
evmTokenFeeReader;
|
|
78
|
+
contractVerifier;
|
|
79
|
+
constructor(multiProvider, chain, concurrency = DEFAULT_CONTRACT_READ_CONCURRENCY, contractVerifier) {
|
|
80
|
+
super(multiProvider, chain);
|
|
81
|
+
this.multiProvider = multiProvider;
|
|
82
|
+
this.chain = chain;
|
|
83
|
+
this.concurrency = concurrency;
|
|
84
|
+
this.evmHookReader = new EvmHookReader(multiProvider, chain, concurrency);
|
|
85
|
+
this.evmIsmReader = new EvmIsmReader(multiProvider, chain, concurrency);
|
|
86
|
+
this.evmTokenFeeReader = new EvmTokenFeeReader(multiProvider, chain);
|
|
87
|
+
this.deriveTokenConfigMap = {
|
|
88
|
+
[TokenType.XERC20]: this.deriveHypXERC20TokenConfig.bind(this),
|
|
89
|
+
[TokenType.XERC20Lockbox]: this.deriveHypXERC20LockboxTokenConfig.bind(this),
|
|
90
|
+
[TokenType.collateral]: this.deriveHypCollateralTokenConfig.bind(this),
|
|
91
|
+
[TokenType.collateralFiat]: this.deriveHypCollateralFiatTokenConfig.bind(this),
|
|
92
|
+
[TokenType.collateralVault]: this.deriveHypCollateralVaultTokenConfig.bind(this),
|
|
93
|
+
[TokenType.collateralCctp]: this.deriveHypCollateralCctpTokenConfig.bind(this),
|
|
94
|
+
[TokenType.collateralVaultRebase]: this.deriveHypCollateralVaultRebaseTokenConfig.bind(this),
|
|
95
|
+
[TokenType.native]: this.deriveHypNativeTokenConfig.bind(this),
|
|
96
|
+
[TokenType.nativeOpL2]: this.deriveOpL2TokenConfig.bind(this),
|
|
97
|
+
[TokenType.nativeOpL1]: this.deriveOpL1TokenConfig.bind(this),
|
|
98
|
+
[TokenType.synthetic]: this.deriveHypSyntheticTokenConfig.bind(this),
|
|
99
|
+
[TokenType.unknown]: null,
|
|
100
|
+
[TokenType.syntheticRebase]: this.deriveHypSyntheticRebaseConfig.bind(this),
|
|
101
|
+
[TokenType.nativeScaled]: null,
|
|
102
|
+
[TokenType.collateralUri]: null,
|
|
103
|
+
[TokenType.syntheticUri]: null,
|
|
104
|
+
[TokenType.ethEverclear]: this.deriveEverclearEthTokenBridgeConfig.bind(this),
|
|
105
|
+
[TokenType.collateralEverclear]: this.deriveEverclearCollateralTokenBridgeConfig.bind(this),
|
|
106
|
+
[TokenType.collateralDepositAddress]: this.deriveHypCollateralDepositAddressTokenConfig.bind(this),
|
|
107
|
+
[TokenType.collateralOft]: this.deriveHypCollateralOftTokenConfig.bind(this),
|
|
108
|
+
[TokenType.atomicLocalRebalancing]: this.deriveAtomicLocalRebalancingBridgeTokenConfig.bind(this),
|
|
109
|
+
[TokenType.crossCollateral]: this.deriveCrossCollateralTokenConfig.bind(this),
|
|
110
|
+
};
|
|
111
|
+
this.contractVerifier =
|
|
112
|
+
contractVerifier ??
|
|
113
|
+
new ContractVerifier(multiProvider, {}, coreBuildArtifact, ExplorerLicenseType.MIT);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Derives the configuration for a Hyperlane warp route token router contract at the given address.
|
|
117
|
+
*
|
|
118
|
+
* @param warpRouteAddress - The address of the Hyperlane warp route token router contract.
|
|
119
|
+
* @returns The configuration for the Hyperlane warp route token router.
|
|
120
|
+
*
|
|
121
|
+
*/
|
|
122
|
+
async deriveWarpRouteConfig(warpRouteAddress) {
|
|
123
|
+
// Derive the config type
|
|
124
|
+
const type = await this.deriveTokenType(warpRouteAddress);
|
|
125
|
+
const tokenConfig = await this.fetchTokenConfig(type, warpRouteAddress);
|
|
126
|
+
const isDepositAddressBridge = type === TokenType.collateralDepositAddress;
|
|
127
|
+
// Bare bridges don't expose Router/MailboxClient interfaces.
|
|
128
|
+
const isOft = type === TokenType.collateralOft;
|
|
129
|
+
const isAtomicLocalRebalancing = type === TokenType.atomicLocalRebalancing;
|
|
130
|
+
const usesSentinelRouterConfig = isDepositAddressBridge || isOft || isAtomicLocalRebalancing;
|
|
131
|
+
const routerConfig = usesSentinelRouterConfig
|
|
132
|
+
? {
|
|
133
|
+
mailbox: constants.AddressZero,
|
|
134
|
+
owner: await Ownable__factory.connect(warpRouteAddress, this.provider).owner(),
|
|
135
|
+
hook: constants.AddressZero,
|
|
136
|
+
interchainSecurityModule: constants.AddressZero,
|
|
137
|
+
remoteRouters: {},
|
|
138
|
+
}
|
|
139
|
+
: await this.readRouterConfig(warpRouteAddress);
|
|
140
|
+
// ALRB is a bare ITokenBridge adapter rather than a TokenRouter. Its full
|
|
141
|
+
// readable surface is covered by tokenConfig plus the sentinel router
|
|
142
|
+
// fields above, so avoid probing proxy, fee, hook, and destination-gas
|
|
143
|
+
// interfaces that it intentionally does not implement.
|
|
144
|
+
if (isAtomicLocalRebalancing) {
|
|
145
|
+
return {
|
|
146
|
+
...routerConfig,
|
|
147
|
+
...tokenConfig,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
// if the token has not been deployed as a proxy do not derive the config
|
|
151
|
+
// inevm warp routes are an example
|
|
152
|
+
const proxyAdmin = (await isProxy(this.provider, warpRouteAddress))
|
|
153
|
+
? await this.fetchProxyAdminConfig(warpRouteAddress)
|
|
154
|
+
: undefined;
|
|
155
|
+
const ccrEnrolledDomains = [];
|
|
156
|
+
if (isCrossCollateralTokenConfig(tokenConfig) &&
|
|
157
|
+
tokenConfig.crossCollateralRouters) {
|
|
158
|
+
for (const domain of Object.keys(tokenConfig.crossCollateralRouters)) {
|
|
159
|
+
ccrEnrolledDomains.push(Number(domain));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
// OFT contracts don't have destination gas config
|
|
163
|
+
// For CrossCollateralRouter tokens, include domains from crossCollateralRouters so
|
|
164
|
+
// fetchDestinationGas also reads gas for MC-only enrolled domains.
|
|
165
|
+
let destinationGas;
|
|
166
|
+
if (usesSentinelRouterConfig) {
|
|
167
|
+
destinationGas = undefined;
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
destinationGas = await this.fetchDestinationGas(warpRouteAddress, ccrEnrolledDomains);
|
|
171
|
+
}
|
|
172
|
+
assert(tokenConfig.contractVersion, `Missing contractVersion for ${warpRouteAddress} on ${this.chain}`);
|
|
173
|
+
const hasRebalancingInterface = compareVersions(tokenConfig.contractVersion, REBALANCING_CONTRACT_VERSION) >= 0;
|
|
174
|
+
const selfDomainId = this.multiProvider.getDomainId(this.chain);
|
|
175
|
+
let allowedRebalancers;
|
|
176
|
+
let allowedRebalancingBridges;
|
|
177
|
+
let domains;
|
|
178
|
+
// Only movable collateral tokens (collateral/native) have rebalancing config
|
|
179
|
+
if (hasRebalancingInterface &&
|
|
180
|
+
isMovableCollateralTokenConfig(tokenConfig)) {
|
|
181
|
+
const movableToken = MovableCollateralRouter__factory.connect(warpRouteAddress, this.provider);
|
|
182
|
+
try {
|
|
183
|
+
allowedRebalancers = await MovableCollateralRouter__factory.connect(warpRouteAddress, this.provider).allowedRebalancers();
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
// If this crashes it probably is because the token implementation has not been updated to be a movable collateral
|
|
187
|
+
this.logger.error(`Failed to get configured rebalancers for token at "${warpRouteAddress}" on chain ${this.chain}`, error);
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
domains = await movableToken.domains();
|
|
191
|
+
// CrossCollateralRouter can enroll a same-domain atomic bridge even
|
|
192
|
+
// though Router.domains() only returns remote domains. Include the
|
|
193
|
+
// local domain so warp check/apply observes that bridge and converges.
|
|
194
|
+
const bridgeDomains = isCrossCollateralTokenConfig(tokenConfig)
|
|
195
|
+
? [...new Set([...domains, selfDomainId])]
|
|
196
|
+
: domains;
|
|
197
|
+
const allowedBridgesByDomain = await promiseObjAll(objMap(arrayToObject(bridgeDomains.map((domain) => domain.toString())), (domain) => movableToken.allowedBridges(domain)));
|
|
198
|
+
allowedRebalancingBridges = objFilter(objMap(allowedBridgesByDomain, (_domain, bridges) => bridges.map((bridge) => ({ bridge }))),
|
|
199
|
+
// Remove domains that do not have allowed bridges
|
|
200
|
+
(_domain, bridges) => bridges.length !== 0);
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
// If this crashes it probably is because the token implementation has not been updated to be a movable collateral
|
|
204
|
+
this.logger.error(`Failed to get allowed rebalancer bridges for token at "${warpRouteAddress}" on chain ${this.chain}`, error);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
// Use both router.domains() and CCR-enrolled domains for token fee derivation.
|
|
208
|
+
// Unlike destinationGas, token fees may legitimately exist for self-domain
|
|
209
|
+
// same-chain CCR swaps, so keep selfDomain in the destination set here.
|
|
210
|
+
const feeDestinations = [
|
|
211
|
+
...new Set([...(domains ?? []), ...ccrEnrolledDomains]),
|
|
212
|
+
];
|
|
213
|
+
// CCR feeContracts are keyed by each destination's enrolled router address.
|
|
214
|
+
// Those keys are the normal remoteRouters, not just the MC-enrolled
|
|
215
|
+
// crossCollateralRouters, so union both — otherwise the reader misses every
|
|
216
|
+
// fee entry keyed under a normal router and reports false-positive diffs.
|
|
217
|
+
// remoteRouters omits the local domain, so add this router's own address as
|
|
218
|
+
// the key for self-domain (same-chain CCR swap) fee entries.
|
|
219
|
+
const feeRouterKeys = isCrossCollateralTokenConfig(tokenConfig)
|
|
220
|
+
? mergeCrossCollateralRouters(tokenConfig.crossCollateralRouters, this.remoteRoutersToRouterKeys(routerConfig.remoteRouters), { [selfDomainId]: [addressToBytes32(warpRouteAddress)] })
|
|
221
|
+
: undefined;
|
|
222
|
+
const tokenFee = await this.fetchTokenFee(warpRouteAddress, feeDestinations.length ? feeDestinations : undefined, feeRouterKeys);
|
|
223
|
+
// Read feeHook (IGP address for ERC20 gas payments)
|
|
224
|
+
const feeHook = await this.fetchFeeHook(warpRouteAddress);
|
|
225
|
+
// CCTP tokens implement their own ISM (the contract itself acts as the ISM via AbstractCcipReadIsm).
|
|
226
|
+
// The ISM is hardcoded and not configurable, so we return zero address to match deploy config expectations.
|
|
227
|
+
if (type === TokenType.collateralCctp &&
|
|
228
|
+
'interchainSecurityModule' in routerConfig) {
|
|
229
|
+
routerConfig.interchainSecurityModule = constants.AddressZero;
|
|
230
|
+
}
|
|
231
|
+
const predicateWrapper = await this.derivePredicateWrapperConfig(routerConfig.hook, warpRouteAddress);
|
|
232
|
+
const derivedConfig = {
|
|
233
|
+
...routerConfig,
|
|
234
|
+
...tokenConfig,
|
|
235
|
+
allowedRebalancers,
|
|
236
|
+
allowedRebalancingBridges,
|
|
237
|
+
proxyAdmin,
|
|
238
|
+
destinationGas,
|
|
239
|
+
tokenFee,
|
|
240
|
+
feeHook,
|
|
241
|
+
...(predicateWrapper && { predicateWrapper }),
|
|
242
|
+
};
|
|
243
|
+
return derivedConfig;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Searches the derived hook tree for a PredicateRouterWrapper and, if found,
|
|
247
|
+
* reads its on-chain config (registry, policyId, owner).
|
|
248
|
+
*
|
|
249
|
+
* EvmHookReader.preserveUnredeployable() stores PREDICATE sub-hooks as bare address
|
|
250
|
+
* strings (to survive normalizeConfig and deploy's string branch). The sync
|
|
251
|
+
* findPredicateAddressInHook() returns undefined for bare strings, so we fall back to
|
|
252
|
+
* an on-chain hookType() probe on bare string sub-hooks of aggregation hooks.
|
|
253
|
+
*/
|
|
254
|
+
async derivePredicateWrapperConfig(hook, warpRouteAddress) {
|
|
255
|
+
let predicateAddress = this.findPredicateAddressInHook(hook);
|
|
256
|
+
if (!predicateAddress &&
|
|
257
|
+
typeof hook !== 'string' &&
|
|
258
|
+
hook?.type === HookType.AGGREGATION) {
|
|
259
|
+
for (const sub of hook.hooks) {
|
|
260
|
+
if (typeof sub !== 'string')
|
|
261
|
+
continue;
|
|
262
|
+
try {
|
|
263
|
+
const candidate = PredicateRouterWrapper__factory.connect(sub, this.provider);
|
|
264
|
+
const [hookType, warpRoute] = await Promise.all([
|
|
265
|
+
candidate.hookType(),
|
|
266
|
+
candidate.warpRoute(),
|
|
267
|
+
]);
|
|
268
|
+
if (hookType === OnchainHookType.PREDICATE_ROUTER_WRAPPER &&
|
|
269
|
+
eqAddress(warpRoute, warpRouteAddress)) {
|
|
270
|
+
predicateAddress = sub;
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
throwIfNotMissingSelector(error);
|
|
276
|
+
// Not a PredicateRouterWrapper — continue
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
if (!predicateAddress)
|
|
281
|
+
return undefined;
|
|
282
|
+
const wrapper = PredicateRouterWrapper__factory.connect(predicateAddress, this.provider);
|
|
283
|
+
const [predicateRegistry, policyId, owner] = await Promise.all([
|
|
284
|
+
wrapper.getRegistry(),
|
|
285
|
+
wrapper.getPolicyID(),
|
|
286
|
+
wrapper.owner(),
|
|
287
|
+
]);
|
|
288
|
+
return { predicateRegistry, policyId, owner };
|
|
289
|
+
}
|
|
290
|
+
findPredicateAddressInHook(hook) {
|
|
291
|
+
if (!hook || typeof hook === 'string')
|
|
292
|
+
return undefined;
|
|
293
|
+
if (hook.type === HookType.PREDICATE)
|
|
294
|
+
return hook.address;
|
|
295
|
+
if (hook.type === HookType.AGGREGATION) {
|
|
296
|
+
for (const sub of hook.hooks) {
|
|
297
|
+
const found = this.findPredicateAddressInHook(sub);
|
|
298
|
+
if (found)
|
|
299
|
+
return found;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return undefined;
|
|
303
|
+
}
|
|
304
|
+
async fetchFeeHook(routerAddress) {
|
|
305
|
+
if ((await this.implementationHasSelector(routerAddress, TokenRouter__factory.createInterface().getSighash('feeHook()'))) === false) {
|
|
306
|
+
this.logger.debug(`Token at "${routerAddress}" on chain "${this.chain}" has no feeHook() getter; skipping`);
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
try {
|
|
310
|
+
const router = TokenRouter__factory.connect(routerAddress, this.provider);
|
|
311
|
+
const feeHookAddress = await router.feeHook();
|
|
312
|
+
if (!isZeroishAddress(feeHookAddress)) {
|
|
313
|
+
return feeHookAddress;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
catch (error) {
|
|
317
|
+
throwIfNotMissingSelector(error);
|
|
318
|
+
this.logger.debug(`Token at "${routerAddress}" on chain "${this.chain}" does not support feeHook`);
|
|
319
|
+
}
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
remoteRoutersToRouterKeys(remoteRouters) {
|
|
323
|
+
const routerKeys = {};
|
|
324
|
+
for (const [domain, { address }] of Object.entries(remoteRouters ?? {})) {
|
|
325
|
+
routerKeys[Number(domain)] = [address];
|
|
326
|
+
}
|
|
327
|
+
return routerKeys;
|
|
328
|
+
}
|
|
329
|
+
async fetchTokenFee(routerAddress, destinations, crossCollateralRouters) {
|
|
330
|
+
const TokenRouter = TokenRouter__factory.connect(routerAddress, this.provider);
|
|
331
|
+
const packageVersion = await this.fetchPackageVersion(routerAddress);
|
|
332
|
+
const hasTokenFeeInterface = compareVersions(packageVersion, TOKEN_FEE_CONTRACT_VERSION) >= 0;
|
|
333
|
+
if (!hasTokenFeeInterface) {
|
|
334
|
+
this.logger.debug(`Token at address "${routerAddress}" on chain "${this.chain}" does not have a token fee interface`);
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
337
|
+
const tokenFee = await TokenRouter.feeRecipient().catch((error) => {
|
|
338
|
+
throwIfNotMissingSelector(error);
|
|
339
|
+
this.logger.debug(`Failed to read feeRecipient for token at address "${routerAddress}" on chain "${this.chain}", defaulting to AddressZero`, error);
|
|
340
|
+
return constants.AddressZero;
|
|
341
|
+
});
|
|
342
|
+
if (isZeroishAddress(tokenFee)) {
|
|
343
|
+
this.logger.debug(`Token at address "${routerAddress}" on chain "${this.chain}" has a no token fee`);
|
|
344
|
+
return undefined;
|
|
345
|
+
}
|
|
346
|
+
const routingDestinations = destinations ??
|
|
347
|
+
(await TokenRouter.domains().catch((error) => {
|
|
348
|
+
throwIfNotMissingSelector(error);
|
|
349
|
+
this.logger.debug(`Failed to derive token router domains for routing fee config on "${this.chain}"`, error);
|
|
350
|
+
return undefined;
|
|
351
|
+
}));
|
|
352
|
+
return this.evmTokenFeeReader.deriveTokenFeeConfig({
|
|
353
|
+
address: tokenFee,
|
|
354
|
+
routingDestinations,
|
|
355
|
+
crossCollateralRouters,
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
async getContractVerificationStatus(chain, address) {
|
|
359
|
+
const contractVerificationStatus = {};
|
|
360
|
+
const contractType = (await isProxy(this.provider, address))
|
|
361
|
+
? VerifyContractTypes.Proxy
|
|
362
|
+
: VerifyContractTypes.Implementation;
|
|
363
|
+
if (this.multiProvider.isLocalRpc(chain)) {
|
|
364
|
+
this.logger.debug('Skipping verification for local endpoints');
|
|
365
|
+
return { [contractType]: ContractVerificationStatus.Skipped };
|
|
366
|
+
}
|
|
367
|
+
// Skip chains with no Etherscan-API-compatible explorer configured. The
|
|
368
|
+
// verifier can't query them (e.g. tronscan, zksync, keyless etherscan), so
|
|
369
|
+
// a resulting `Error` status is a false-positive violation, not a real
|
|
370
|
+
// unverified contract.
|
|
371
|
+
if (!this.multiProvider.tryGetEvmExplorerMetadata(chain)) {
|
|
372
|
+
this.logger.debug(`Skipping verification for ${chain}: no Etherscan-compatible explorer configured`);
|
|
373
|
+
return { [contractType]: ContractVerificationStatus.Skipped };
|
|
374
|
+
}
|
|
375
|
+
const quietVerificationLogger = this.logger.child({ module: 'contract-verifier' }, { level: 'silent' });
|
|
376
|
+
contractVerificationStatus[contractType] =
|
|
377
|
+
await this.contractVerifier.getContractVerificationStatus(chain, address, quietVerificationLogger);
|
|
378
|
+
if (contractType === VerifyContractTypes.Proxy) {
|
|
379
|
+
contractVerificationStatus[VerifyContractTypes.Implementation] =
|
|
380
|
+
await this.contractVerifier.getContractVerificationStatus(chain, await proxyImplementation(this.provider, address), quietVerificationLogger);
|
|
381
|
+
// Derive ProxyAdmin status
|
|
382
|
+
contractVerificationStatus[VerifyContractTypes.ProxyAdmin] =
|
|
383
|
+
await this.contractVerifier.getContractVerificationStatus(chain, await proxyAdmin(this.provider, address), quietVerificationLogger);
|
|
384
|
+
}
|
|
385
|
+
return contractVerificationStatus;
|
|
386
|
+
}
|
|
387
|
+
async getOwnerStatus(chain, address) {
|
|
388
|
+
let ownerStatus = {};
|
|
389
|
+
if (this.multiProvider.isLocalRpc(chain)) {
|
|
390
|
+
this.logger.debug('Skipping owner verification for local endpoints');
|
|
391
|
+
return {
|
|
392
|
+
[address]: OwnerStatus.Skipped,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
396
|
+
const owner = await Ownable__factory.connect(address, provider).owner();
|
|
397
|
+
ownerStatus[owner] = (await isAddressActive(provider, owner))
|
|
398
|
+
? OwnerStatus.Active
|
|
399
|
+
: OwnerStatus.Inactive;
|
|
400
|
+
// Heuristically check if the owner could be a safe by calling expected functions
|
|
401
|
+
// This status will overwrite 'active' status
|
|
402
|
+
try {
|
|
403
|
+
const potentialGnosisSafe = ISafe__factory.connect(owner, provider);
|
|
404
|
+
await Promise.all([
|
|
405
|
+
potentialGnosisSafe.getThreshold(),
|
|
406
|
+
potentialGnosisSafe.nonce(),
|
|
407
|
+
]);
|
|
408
|
+
ownerStatus[owner] = OwnerStatus.GnosisSafe;
|
|
409
|
+
}
|
|
410
|
+
catch {
|
|
411
|
+
this.logger.debug(`${owner} may not be a safe`);
|
|
412
|
+
}
|
|
413
|
+
// Recurse into the proxyAdmin owner only. The proxyAdmin holds upgrade
|
|
414
|
+
// authority and is an owner we actually manage, so a dead owner there is a
|
|
415
|
+
// real concern. We deliberately do NOT recurse into the implementation
|
|
416
|
+
// contract's owner: under the transparent-proxy pattern the impl is inert
|
|
417
|
+
// (upgrade authority lives in the proxyAdmin, not the impl), we never
|
|
418
|
+
// configure the impl owner, and the ownerStatus check has no expected value
|
|
419
|
+
// for it — so a spent deployer EOA there is pure false-positive drift.
|
|
420
|
+
if (await isProxy(this.provider, address)) {
|
|
421
|
+
const proxyAdminStatus = await this.getOwnerStatus(chain, await proxyAdmin(provider, address));
|
|
422
|
+
ownerStatus = {
|
|
423
|
+
...ownerStatus,
|
|
424
|
+
...proxyAdminStatus,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
return ownerStatus;
|
|
428
|
+
}
|
|
429
|
+
async deriveWarpRouteVirtualConfig(chain, address) {
|
|
430
|
+
const virtualConfig = {
|
|
431
|
+
contractVerificationStatus: await this.getContractVerificationStatus(chain, address),
|
|
432
|
+
// Used to check if the top address owner's nonce or code === 0
|
|
433
|
+
ownerStatus: await this.getOwnerStatus(chain, address),
|
|
434
|
+
};
|
|
435
|
+
return virtualConfig;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Fetches the bytecode of the contract's implementation.
|
|
439
|
+
* Read the EIP-1967 impl slot directly so UUPS proxies (which have
|
|
440
|
+
* an empty admin slot) are resolved correctly alongside TransparentProxy.
|
|
441
|
+
* EIP-1167 minimal proxies are resolved from their runtime code. A clone
|
|
442
|
+
* whose target is itself an EIP-1967 proxy or another clone returns the
|
|
443
|
+
* target's own code without resolving further, so the selector guard can
|
|
444
|
+
* read false for a selector the final implementation has.
|
|
445
|
+
*
|
|
446
|
+
* Returns '0x' when the address has no code (EOAs / bad addresses) so
|
|
447
|
+
* selector guards fall through to the probes, and undefined when the
|
|
448
|
+
* bytecode cannot be determined: a failed RPC read, or a beacon proxy whose
|
|
449
|
+
* implementation lives behind the beacon. Proxies that route through a
|
|
450
|
+
* diamond facet table or LSP17 extensions are not resolved; their own
|
|
451
|
+
* bytecode is returned, which does not contain the routed selectors.
|
|
452
|
+
*/
|
|
453
|
+
async fetchImplementationBytecode(address) {
|
|
454
|
+
try {
|
|
455
|
+
const code = await this.provider.getCode(address);
|
|
456
|
+
if (isStorageEmpty(code))
|
|
457
|
+
return code;
|
|
458
|
+
if (code.toLowerCase().startsWith(EIP1167_PREFIX) &&
|
|
459
|
+
code.length >= EIP1167_PREFIX.length + EIP1167_ADDRESS_HEX_LENGTH) {
|
|
460
|
+
const start = EIP1167_PREFIX.length;
|
|
461
|
+
return await this.provider.getCode(utils.getAddress(`0x${code.slice(start, start + EIP1167_ADDRESS_HEX_LENGTH)}`));
|
|
462
|
+
}
|
|
463
|
+
const implSlot = await this.provider.getStorageAt(address, EIP1967_IMPLEMENTATION_SLOT);
|
|
464
|
+
if (!isStorageEmpty(implSlot)) {
|
|
465
|
+
const impl = utils.getAddress(implSlot.slice(26));
|
|
466
|
+
if (!isZeroishAddress(impl))
|
|
467
|
+
return await this.provider.getCode(impl);
|
|
468
|
+
}
|
|
469
|
+
const beaconSlot = await this.provider.getStorageAt(address, EIP1967_BEACON_SLOT);
|
|
470
|
+
if (!isStorageEmpty(beaconSlot) && !isZeroish(beaconSlot))
|
|
471
|
+
return undefined;
|
|
472
|
+
return code;
|
|
473
|
+
}
|
|
474
|
+
catch (error) {
|
|
475
|
+
this.logger.debug(`Could not resolve implementation bytecode for "${address}" on chain "${this.chain}"`, error);
|
|
476
|
+
return undefined;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
implementationBytecodeCache = new Map();
|
|
480
|
+
fetchImplementationBytecodeCached(address) {
|
|
481
|
+
const key = address.toLowerCase();
|
|
482
|
+
const cached = this.implementationBytecodeCache.get(key);
|
|
483
|
+
if (cached)
|
|
484
|
+
return cached;
|
|
485
|
+
const pending = this.fetchImplementationBytecode(address);
|
|
486
|
+
this.implementationBytecodeCache.set(key, pending);
|
|
487
|
+
// Only non-empty bytecode is cached; unknown and empty ('0x') results are
|
|
488
|
+
// retried so a lagging node cannot pin a just-deployed contract as empty.
|
|
489
|
+
void pending.then((bytecode) => {
|
|
490
|
+
if (isNullish(bytecode) || isStorageEmpty(bytecode))
|
|
491
|
+
this.implementationBytecodeCache.delete(key);
|
|
492
|
+
});
|
|
493
|
+
return pending;
|
|
494
|
+
}
|
|
495
|
+
async implementationSelectorStatus(address, selector) {
|
|
496
|
+
const bytecode = await this.fetchImplementationBytecodeCached(address);
|
|
497
|
+
if (isNullish(bytecode) || isStorageEmpty(bytecode))
|
|
498
|
+
return SelectorStatus.Unresolved;
|
|
499
|
+
if (bytecode.includes(strip0x(selector)))
|
|
500
|
+
return SelectorStatus.Present;
|
|
501
|
+
if (containsDelegateCall(bytecode))
|
|
502
|
+
return SelectorStatus.Forwarding;
|
|
503
|
+
return SelectorStatus.Absent;
|
|
504
|
+
}
|
|
505
|
+
/**
|
|
506
|
+
* Checks whether the implementation bytecode contains the selector.
|
|
507
|
+
* Returns undefined when the bytecode is empty/unreadable or is unresolved
|
|
508
|
+
* forwarding code, so callers proceed with the call and its normal error
|
|
509
|
+
* handling.
|
|
510
|
+
*/
|
|
511
|
+
async implementationHasSelector(address, selector) {
|
|
512
|
+
const status = await this.implementationSelectorStatus(address, selector);
|
|
513
|
+
if (status === SelectorStatus.Present)
|
|
514
|
+
return true;
|
|
515
|
+
if (status === SelectorStatus.Absent)
|
|
516
|
+
return false;
|
|
517
|
+
return undefined;
|
|
518
|
+
}
|
|
519
|
+
/**
|
|
520
|
+
* Derives the token type for a given Warp Route address using specific methods
|
|
521
|
+
*
|
|
522
|
+
* @param warpRouteAddress - The Warp Route address to derive the token type for.
|
|
523
|
+
* @returns The derived token type, which can be one of: collateralVault, collateral, native, or synthetic.
|
|
524
|
+
*/
|
|
525
|
+
async deriveTokenType(warpRouteAddress) {
|
|
526
|
+
const contractTypes = {
|
|
527
|
+
[TokenType.collateralVault]: {
|
|
528
|
+
factory: HypERC4626OwnerCollateral__factory,
|
|
529
|
+
method: 'assetDeposited',
|
|
530
|
+
},
|
|
531
|
+
[TokenType.collateralVaultRebase]: {
|
|
532
|
+
factory: HypERC4626Collateral__factory,
|
|
533
|
+
method: 'NULL_RECIPIENT',
|
|
534
|
+
},
|
|
535
|
+
[TokenType.XERC20Lockbox]: {
|
|
536
|
+
factory: HypXERC20Lockbox__factory,
|
|
537
|
+
method: 'lockbox',
|
|
538
|
+
},
|
|
539
|
+
[TokenType.collateralDepositAddress]: {
|
|
540
|
+
factory: TokenBridgeDepositAddress__factory,
|
|
541
|
+
method: 'getDomainConfigs',
|
|
542
|
+
},
|
|
543
|
+
[TokenType.collateralOft]: {
|
|
544
|
+
factory: TokenBridgeOft__factory,
|
|
545
|
+
method: 'oft',
|
|
546
|
+
},
|
|
547
|
+
[TokenType.atomicLocalRebalancing]: {
|
|
548
|
+
factory: AtomicLocalRebalancingBridge__factory,
|
|
549
|
+
method: 'allowedSourceRouter',
|
|
550
|
+
},
|
|
551
|
+
[TokenType.collateralCctp]: {
|
|
552
|
+
factory: TokenBridgeCctpBase__factory,
|
|
553
|
+
method: 'messageTransmitter',
|
|
554
|
+
},
|
|
555
|
+
[TokenType.collateral]: {
|
|
556
|
+
factory: HypERC20Collateral__factory,
|
|
557
|
+
method: 'wrappedToken',
|
|
558
|
+
},
|
|
559
|
+
[TokenType.syntheticRebase]: {
|
|
560
|
+
factory: HypERC4626__factory,
|
|
561
|
+
method: 'collateralDomain',
|
|
562
|
+
},
|
|
563
|
+
};
|
|
564
|
+
// Temporarily turn off SmartProvider logging
|
|
565
|
+
// Provider errors are expected because deriving will call methods that may not exist in the Bytecode
|
|
566
|
+
this.setSmartProviderLogLevel('silent');
|
|
567
|
+
try {
|
|
568
|
+
// Fetch implementation bytecode once; scanning selectors locally avoids
|
|
569
|
+
// reverted eth_calls for methods that don't exist on the contract.
|
|
570
|
+
const bytecode = await this.fetchImplementationBytecodeCached(warpRouteAddress);
|
|
571
|
+
const hasKnownBytecode = !isNullish(bytecode) && !isStorageEmpty(bytecode);
|
|
572
|
+
// First, try checking token specific methods
|
|
573
|
+
for (const [tokenType, { factory, method }] of Object.entries(contractTypes)) {
|
|
574
|
+
// Skip if selector absent from bytecode — avoids reverted eth_calls.
|
|
575
|
+
// When bytecode is unavailable ('0x' or unknown), fall through to the
|
|
576
|
+
// probe anyway to preserve pre-optimization behavior on zero-impl /
|
|
577
|
+
// flaky-RPC paths.
|
|
578
|
+
const selector = factory.createInterface().getSighash(method);
|
|
579
|
+
if (hasKnownBytecode && !bytecode.includes(strip0x(selector)))
|
|
580
|
+
continue;
|
|
581
|
+
try {
|
|
582
|
+
const warpRoute = factory.connect(warpRouteAddress, this.provider);
|
|
583
|
+
const result = await warpRoute[method]();
|
|
584
|
+
if (tokenType === TokenType.collateralDepositAddress) {
|
|
585
|
+
this.depositAddressDomainConfigsCache.set(warpRouteAddress, result);
|
|
586
|
+
}
|
|
587
|
+
if (tokenType === TokenType.collateral) {
|
|
588
|
+
const wrappedToken = await warpRoute.wrappedToken();
|
|
589
|
+
const xerc20Selector = IXERC20__factory.createInterface().getSighash('mintingCurrentLimitOf(address)');
|
|
590
|
+
if ((await this.implementationHasSelector(wrappedToken, xerc20Selector)) === false) {
|
|
591
|
+
this.logger.debug(`Wrapped token at address "${wrappedToken}" on chain "${this.chain}" has no mintingCurrentLimitOf(address) getter; skipping ${TokenType.XERC20} probe`);
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
try {
|
|
595
|
+
const xerc20 = IXERC20__factory.connect(wrappedToken, this.provider);
|
|
596
|
+
await xerc20['mintingCurrentLimitOf(address)'](warpRouteAddress);
|
|
597
|
+
return TokenType.XERC20;
|
|
598
|
+
}
|
|
599
|
+
catch (error) {
|
|
600
|
+
// Fluent's universal-token runtime answers an unknown selector
|
|
601
|
+
// with Panic(uint256). An xERC20 that reverts with Error(string)
|
|
602
|
+
// or a custom error (paused, bug) must surface rather than be
|
|
603
|
+
// read as plain collateral.
|
|
604
|
+
if (!isPanicRevert(error))
|
|
605
|
+
throwIfNotMissingSelector(error);
|
|
606
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.XERC20}`, error);
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
try {
|
|
610
|
+
const fiatToken = IFiatToken__factory.connect(wrappedToken, this.provider);
|
|
611
|
+
// Simulate minting tokens from the warp route contract
|
|
612
|
+
await fiatToken.callStatic.mint(NON_ZERO_SENDER_ADDRESS, 1, {
|
|
613
|
+
from: warpRouteAddress,
|
|
614
|
+
});
|
|
615
|
+
return TokenType.collateralFiat;
|
|
616
|
+
}
|
|
617
|
+
catch (error) {
|
|
618
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.collateralFiat}`, error);
|
|
619
|
+
}
|
|
620
|
+
try {
|
|
621
|
+
const maybeEverclearTokenBridge = EverclearTokenBridge__factory.connect(warpRouteAddress, this.provider);
|
|
622
|
+
await maybeEverclearTokenBridge.callStatic.everclearAdapter();
|
|
623
|
+
let everclearTokenType = TokenType.collateralEverclear;
|
|
624
|
+
try {
|
|
625
|
+
// if simulating an ETH transfer works this should be the WETH contract
|
|
626
|
+
await this.provider.estimateGas({
|
|
627
|
+
from: NON_ZERO_SENDER_ADDRESS,
|
|
628
|
+
to: wrappedToken,
|
|
629
|
+
data: IWETH__factory.createInterface().encodeFunctionData('deposit'),
|
|
630
|
+
value: 0,
|
|
631
|
+
});
|
|
632
|
+
everclearTokenType = TokenType.ethEverclear;
|
|
633
|
+
}
|
|
634
|
+
catch (error) {
|
|
635
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.collateralEverclear}`, error);
|
|
636
|
+
}
|
|
637
|
+
return everclearTokenType;
|
|
638
|
+
}
|
|
639
|
+
catch (error) {
|
|
640
|
+
throwIfNotMissingSelector(error);
|
|
641
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.collateralEverclear}`, error);
|
|
642
|
+
}
|
|
643
|
+
try {
|
|
644
|
+
const crossCollateralRouter = CrossCollateralRouter__factory.connect(warpRouteAddress, this.provider);
|
|
645
|
+
await crossCollateralRouter.getCrossCollateralRouters(0);
|
|
646
|
+
return TokenType.crossCollateral;
|
|
647
|
+
}
|
|
648
|
+
catch (error) {
|
|
649
|
+
throwIfNotMissingSelector(error);
|
|
650
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.crossCollateral}`, error);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
return tokenType;
|
|
654
|
+
}
|
|
655
|
+
catch (error) {
|
|
656
|
+
throwIfNotMissingSelector(error);
|
|
657
|
+
continue;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
const packageVersion = await this.fetchPackageVersion(warpRouteAddress);
|
|
661
|
+
const hasTokenFeeInterface = compareVersions(packageVersion, TOKEN_FEE_CONTRACT_VERSION) >= 0;
|
|
662
|
+
const isNativeToken = await this.isNativeWarpToken(warpRouteAddress, hasTokenFeeInterface);
|
|
663
|
+
if (isNativeToken) {
|
|
664
|
+
return TokenType.native;
|
|
665
|
+
}
|
|
666
|
+
const isSyntheticToken = await this.isSyntheticWarpToken(warpRouteAddress, hasTokenFeeInterface);
|
|
667
|
+
if (isSyntheticToken) {
|
|
668
|
+
return TokenType.synthetic;
|
|
669
|
+
}
|
|
670
|
+
throw new Error(`Error deriving token type for token at address "${warpRouteAddress}" on chain "${this.chain}"`);
|
|
671
|
+
}
|
|
672
|
+
finally {
|
|
673
|
+
this.setSmartProviderLogLevel(getLogLevel());
|
|
674
|
+
}
|
|
675
|
+
}
|
|
676
|
+
async isNativeWarpToken(warpRouteAddress, hasTokenFeeInterface) {
|
|
677
|
+
try {
|
|
678
|
+
if (hasTokenFeeInterface) {
|
|
679
|
+
const tokenRouter = TokenRouter__factory.connect(warpRouteAddress, this.provider);
|
|
680
|
+
const tokenAddress = await tokenRouter.token();
|
|
681
|
+
// Native token returns address(0)
|
|
682
|
+
return isZeroishAddress(tokenAddress);
|
|
683
|
+
}
|
|
684
|
+
else {
|
|
685
|
+
// Check native using estimateGas to send 0 wei. Success implies that the Warp Route has a receive() function
|
|
686
|
+
await this.multiProvider.estimateGas(this.chain, {
|
|
687
|
+
to: warpRouteAddress,
|
|
688
|
+
value: BigNumber.from(0),
|
|
689
|
+
}, NON_ZERO_SENDER_ADDRESS);
|
|
690
|
+
return true;
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
catch (e) {
|
|
694
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.native}`, e);
|
|
695
|
+
return false;
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
async isSyntheticWarpToken(warpRouteAddress, hasTokenFeeInterface) {
|
|
699
|
+
try {
|
|
700
|
+
if (hasTokenFeeInterface) {
|
|
701
|
+
const tokenRouter = TokenRouter__factory.connect(warpRouteAddress, this.provider);
|
|
702
|
+
const tokenAddress = await tokenRouter.token();
|
|
703
|
+
// HypERC20.token() returns address(this)
|
|
704
|
+
return eqAddress(tokenAddress, warpRouteAddress);
|
|
705
|
+
}
|
|
706
|
+
else {
|
|
707
|
+
const tokenRouter = HypERC20__factory.connect(warpRouteAddress, this.provider);
|
|
708
|
+
await tokenRouter.decimals();
|
|
709
|
+
return true;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
catch (error) {
|
|
713
|
+
this.logger.debug(`Warp route token at address "${warpRouteAddress}" on chain "${this.chain}" is not a ${TokenType.synthetic}`, error);
|
|
714
|
+
return false;
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
async fetchXERC20Config(xERC20Address, warpRouteAddress) {
|
|
718
|
+
// Which getter holds the limits differs between the Standard and the
|
|
719
|
+
// Velodrome implementation, so the route's own limits are read through the
|
|
720
|
+
// type rather than through a fixed ABI.
|
|
721
|
+
let type;
|
|
722
|
+
try {
|
|
723
|
+
type = await deriveXERC20TokenType(this.multiProvider, this.chain, xERC20Address);
|
|
724
|
+
}
|
|
725
|
+
catch (error) {
|
|
726
|
+
if (!(error instanceof UnknownXERC20TypeError))
|
|
727
|
+
throw error;
|
|
728
|
+
this.logger.warn(`Token at ${xERC20Address} on chain ${this.chain} exposes no known xERC20 limits interface, skipping its xERC20 config`, error);
|
|
729
|
+
return {};
|
|
730
|
+
}
|
|
731
|
+
let extraBridgesLimits;
|
|
732
|
+
try {
|
|
733
|
+
extraBridgesLimits = await getExtraLockBoxConfigs({
|
|
734
|
+
chain: this.chain,
|
|
735
|
+
multiProvider: this.multiProvider,
|
|
736
|
+
xERC20Address,
|
|
737
|
+
logger: this.logger,
|
|
738
|
+
type,
|
|
739
|
+
warpRouteAddress,
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
catch (error) {
|
|
743
|
+
// Only a contract answering that it does not have the getter is an
|
|
744
|
+
// answer. Everything else, an unreachable RPC above all, would otherwise
|
|
745
|
+
// report a token that has extra bridges as having none.
|
|
746
|
+
throwIfNotMissingSelectorRevert(error);
|
|
747
|
+
this.logger.warn(`Skipping extra xERC20 bridge configs after missing-selector error for token at ${xERC20Address} on chain ${this.chain}`, error);
|
|
748
|
+
}
|
|
749
|
+
try {
|
|
750
|
+
const limitsByBridge = await readXERC20Limits({
|
|
751
|
+
multiProtocolProvider: MultiProtocolProvider.fromMultiProvider(this.multiProvider),
|
|
752
|
+
chain: this.multiProvider.getChainName(this.chain),
|
|
753
|
+
xERC20Address,
|
|
754
|
+
bridges: [warpRouteAddress],
|
|
755
|
+
type,
|
|
756
|
+
});
|
|
757
|
+
const warpRouteLimits = limitsByBridge[warpRouteAddress];
|
|
758
|
+
assert(warpRouteLimits, `Missing xERC20 limits for warp route ${warpRouteAddress} on chain ${this.chain}`);
|
|
759
|
+
return {
|
|
760
|
+
xERC20: {
|
|
761
|
+
warpRouteLimits,
|
|
762
|
+
extraBridges: extraBridgesLimits && extraBridgesLimits.length > 0
|
|
763
|
+
? extraBridgesLimits
|
|
764
|
+
: undefined,
|
|
765
|
+
},
|
|
766
|
+
};
|
|
767
|
+
}
|
|
768
|
+
catch (error) {
|
|
769
|
+
if (isMissingSelectorRevert(error))
|
|
770
|
+
return {};
|
|
771
|
+
this.logger.error(`Error fetching xERC20 limits for token at ${xERC20Address} on chain ${this.chain}`, error);
|
|
772
|
+
throw error;
|
|
773
|
+
}
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Fetches the metadata for a token address.
|
|
777
|
+
*
|
|
778
|
+
* @param warpRouteAddress - The address of the token.
|
|
779
|
+
* @returns A partial ERC20 metadata object containing the token name, symbol, total supply, and decimals.
|
|
780
|
+
* Throws if unsupported token type
|
|
781
|
+
*/
|
|
782
|
+
async fetchTokenConfig(type, warpRouteAddress) {
|
|
783
|
+
const deriveFunction = this.deriveTokenConfigMap[type];
|
|
784
|
+
if (!deriveFunction) {
|
|
785
|
+
throw new Error(`Provided unsupported token type "${type}" when fetching token metadata on chain "${this.chain}" at address "${warpRouteAddress}"`);
|
|
786
|
+
}
|
|
787
|
+
const config = await deriveFunction(warpRouteAddress);
|
|
788
|
+
config.contractVersion = await this.fetchPackageVersion(warpRouteAddress);
|
|
789
|
+
// Convert ppm to bps for CCTP V2 contracts that store fees in ppm (>= 10.2.0)
|
|
790
|
+
if (config.type === TokenType.collateralCctp &&
|
|
791
|
+
config.cctpVersion === 'V2' &&
|
|
792
|
+
config.maxFeeBps !== undefined &&
|
|
793
|
+
config.contractVersion &&
|
|
794
|
+
compareVersions(config.contractVersion, CCTP_PPM_STORAGE_VERSION) >= 0) {
|
|
795
|
+
config.maxFeeBps = config.maxFeeBps / 100;
|
|
796
|
+
}
|
|
797
|
+
return HypTokenConfigSchema.parse(config);
|
|
798
|
+
}
|
|
799
|
+
async deriveHypXERC20TokenConfig(hypTokenAddress) {
|
|
800
|
+
const hypXERC20TokenInstance = HypXERC20__factory.connect(hypTokenAddress, this.provider);
|
|
801
|
+
const collateralTokenAddress = await hypXERC20TokenInstance.wrappedToken();
|
|
802
|
+
const [erc20TokenMetadata, xERC20Metadata, scale] = await Promise.all([
|
|
803
|
+
this.fetchERC20Metadata(collateralTokenAddress),
|
|
804
|
+
this.fetchXERC20Config(collateralTokenAddress, hypTokenAddress),
|
|
805
|
+
this.fetchScale(hypTokenAddress),
|
|
806
|
+
]);
|
|
807
|
+
return {
|
|
808
|
+
...erc20TokenMetadata,
|
|
809
|
+
type: TokenType.XERC20,
|
|
810
|
+
token: collateralTokenAddress,
|
|
811
|
+
xERC20: xERC20Metadata.xERC20,
|
|
812
|
+
scale,
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
async deriveHypXERC20LockboxTokenConfig(hypTokenAddress) {
|
|
816
|
+
const hypXERC20TokenLockboxTokenInstance = HypXERC20Lockbox__factory.connect(hypTokenAddress, this.provider);
|
|
817
|
+
const xerc20TokenAddress = await hypXERC20TokenLockboxTokenInstance.xERC20();
|
|
818
|
+
const [erc20TokenMetadata, xERC20Metadata, lockbox, scale] = await Promise.all([
|
|
819
|
+
this.fetchERC20Metadata(xerc20TokenAddress),
|
|
820
|
+
this.fetchXERC20Config(xerc20TokenAddress, hypTokenAddress),
|
|
821
|
+
hypXERC20TokenLockboxTokenInstance.lockbox(),
|
|
822
|
+
this.fetchScale(hypTokenAddress),
|
|
823
|
+
]);
|
|
824
|
+
return {
|
|
825
|
+
...erc20TokenMetadata,
|
|
826
|
+
type: TokenType.XERC20Lockbox,
|
|
827
|
+
token: lockbox,
|
|
828
|
+
xERC20: xERC20Metadata.xERC20,
|
|
829
|
+
scale,
|
|
830
|
+
};
|
|
831
|
+
}
|
|
832
|
+
async deriveHypCollateralCctpTokenConfig(hypToken) {
|
|
833
|
+
const collateralConfig = await this.deriveHypCollateralTokenConfig(hypToken);
|
|
834
|
+
const tokenBridge = TokenBridgeCctpBase__factory.connect(hypToken, this.provider);
|
|
835
|
+
const [messageTransmitter, tokenMessenger, urls] = await Promise.all([
|
|
836
|
+
tokenBridge.messageTransmitter(),
|
|
837
|
+
tokenBridge.tokenMessenger(),
|
|
838
|
+
tokenBridge.urls(),
|
|
839
|
+
]);
|
|
840
|
+
const onchainCctpVersion = await IMessageTransmitter__factory.connect(messageTransmitter, this.provider).version();
|
|
841
|
+
if (onchainCctpVersion === 0) {
|
|
842
|
+
return {
|
|
843
|
+
...collateralConfig,
|
|
844
|
+
type: TokenType.collateralCctp,
|
|
845
|
+
cctpVersion: 'V1',
|
|
846
|
+
messageTransmitter,
|
|
847
|
+
tokenMessenger,
|
|
848
|
+
urls,
|
|
849
|
+
};
|
|
850
|
+
}
|
|
851
|
+
else if (onchainCctpVersion === 1) {
|
|
852
|
+
const tokenBridgeV2 = TokenBridgeCctpV2__factory.connect(hypToken, this.provider);
|
|
853
|
+
// Version-gate: >= 11.0.0 uses maxFeePpm(), older uses maxFeeBps()
|
|
854
|
+
const contractVersion = await this.fetchPackageVersion(hypToken);
|
|
855
|
+
const usesPpmName = contractVersion !== undefined &&
|
|
856
|
+
compareVersions(contractVersion, CCTP_PPM_PRECISION_VERSION) >= 0;
|
|
857
|
+
const [minFinalityThreshold, maxFeePpm] = await Promise.all([
|
|
858
|
+
tokenBridgeV2.minFinalityThreshold(),
|
|
859
|
+
usesPpmName
|
|
860
|
+
? tokenBridgeV2.maxFeePpm()
|
|
861
|
+
: tokenBridgeV2.provider
|
|
862
|
+
.call({
|
|
863
|
+
to: hypToken,
|
|
864
|
+
// maxFeeBps() selector
|
|
865
|
+
data: '0xbf769a3f',
|
|
866
|
+
})
|
|
867
|
+
.then((result) => BigNumber.from(result)),
|
|
868
|
+
]);
|
|
869
|
+
return {
|
|
870
|
+
...collateralConfig,
|
|
871
|
+
type: TokenType.collateralCctp,
|
|
872
|
+
cctpVersion: 'V2',
|
|
873
|
+
messageTransmitter,
|
|
874
|
+
tokenMessenger,
|
|
875
|
+
urls,
|
|
876
|
+
minFinalityThreshold,
|
|
877
|
+
maxFeeBps: maxFeePpm.toNumber(),
|
|
878
|
+
};
|
|
879
|
+
}
|
|
880
|
+
else {
|
|
881
|
+
throw new Error(`Unsupported CCTP version ${onchainCctpVersion}`);
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
async deriveHypCollateralDepositAddressTokenConfig(hypToken) {
|
|
885
|
+
const tokenBridge = TokenBridgeDepositAddress__factory.connect(hypToken, this.provider);
|
|
886
|
+
const [token, destinationConfigRaw] = await Promise.all([
|
|
887
|
+
tokenBridge.token(),
|
|
888
|
+
this.depositAddressDomainConfigsCache.get(hypToken) ??
|
|
889
|
+
tokenBridge.getDomainConfigs(),
|
|
890
|
+
]);
|
|
891
|
+
this.depositAddressDomainConfigsCache.delete(hypToken);
|
|
892
|
+
const erc20Metadata = await this.fetchERC20Metadata(token);
|
|
893
|
+
const [domains, depositAddresses, recipients, feeBpsValues] = destinationConfigRaw;
|
|
894
|
+
const destinationConfigs = {};
|
|
895
|
+
for (let i = 0; i < domains.length; i++) {
|
|
896
|
+
const domain = domains[i].toString();
|
|
897
|
+
const recipient = recipients[i].toLowerCase();
|
|
898
|
+
destinationConfigs[domain] ??= {};
|
|
899
|
+
destinationConfigs[domain][recipient] = {
|
|
900
|
+
depositAddress: depositAddresses[i],
|
|
901
|
+
feeBps: feeBpsValues[i].toString(),
|
|
902
|
+
};
|
|
903
|
+
}
|
|
904
|
+
return {
|
|
905
|
+
...erc20Metadata,
|
|
906
|
+
type: TokenType.collateralDepositAddress,
|
|
907
|
+
token,
|
|
908
|
+
destinationConfigs,
|
|
909
|
+
};
|
|
910
|
+
}
|
|
911
|
+
async deriveHypCollateralOftTokenConfig(hypToken) {
|
|
912
|
+
const tokenBridge = TokenBridgeOft__factory.connect(hypToken, this.provider);
|
|
913
|
+
const [oft, token, extraOptions, domainMappingsRaw] = await Promise.all([
|
|
914
|
+
tokenBridge.oft(),
|
|
915
|
+
tokenBridge.token(),
|
|
916
|
+
tokenBridge.extraOptions(),
|
|
917
|
+
tokenBridge.getDomainMappings(),
|
|
918
|
+
]);
|
|
919
|
+
const erc20Metadata = await this.fetchERC20Metadata(token);
|
|
920
|
+
const domainMappings = {};
|
|
921
|
+
const [domains, lzEids] = domainMappingsRaw;
|
|
922
|
+
for (let i = 0; i < domains.length; i++) {
|
|
923
|
+
domainMappings[domains[i].toString()] = lzEids[i];
|
|
924
|
+
}
|
|
925
|
+
return {
|
|
926
|
+
...erc20Metadata,
|
|
927
|
+
type: TokenType.collateralOft,
|
|
928
|
+
token,
|
|
929
|
+
oft,
|
|
930
|
+
domainMappings,
|
|
931
|
+
extraOptions: extraOptions !== '0x' ? extraOptions : undefined,
|
|
932
|
+
};
|
|
933
|
+
}
|
|
934
|
+
async deriveAtomicLocalRebalancingBridgeTokenConfig(bridgeAddress) {
|
|
935
|
+
const bridge = AtomicLocalRebalancingBridge__factory.connect(bridgeAddress, this.provider);
|
|
936
|
+
const [sourceRouter, localDomain] = await Promise.all([
|
|
937
|
+
bridge.allowedSourceRouter(),
|
|
938
|
+
bridge.localDomain(),
|
|
939
|
+
]);
|
|
940
|
+
const expectedLocalDomain = this.multiProvider.getDomainId(this.chain);
|
|
941
|
+
assert(BigNumber.from(localDomain).toNumber() === expectedLocalDomain, `AtomicLocalRebalancingBridge localDomain ${localDomain} does not match ${expectedLocalDomain} for ${this.chain}`);
|
|
942
|
+
const sourceToken = await MovableCollateralRouter__factory.connect(sourceRouter, this.provider).token();
|
|
943
|
+
return {
|
|
944
|
+
...(await this.fetchERC20Metadata(sourceToken)),
|
|
945
|
+
type: TokenType.atomicLocalRebalancing,
|
|
946
|
+
sourceRouter,
|
|
947
|
+
scale: await this.fetchScale(sourceRouter),
|
|
948
|
+
};
|
|
949
|
+
}
|
|
950
|
+
async deriveHypCollateralTokenConfig(hypToken) {
|
|
951
|
+
const hypCollateralTokenInstance = HypERC20Collateral__factory.connect(hypToken, this.provider);
|
|
952
|
+
const collateralTokenAddress = await hypCollateralTokenInstance.wrappedToken();
|
|
953
|
+
const [erc20TokenMetadata, scale] = await Promise.all([
|
|
954
|
+
this.fetchERC20Metadata(collateralTokenAddress),
|
|
955
|
+
this.fetchScale(hypToken),
|
|
956
|
+
]);
|
|
957
|
+
return {
|
|
958
|
+
...erc20TokenMetadata,
|
|
959
|
+
type: TokenType.collateral,
|
|
960
|
+
token: collateralTokenAddress,
|
|
961
|
+
scale,
|
|
962
|
+
};
|
|
963
|
+
}
|
|
964
|
+
async deriveHypCollateralFiatTokenConfig(hypToken) {
|
|
965
|
+
const erc20TokenMetadata = await this.deriveHypCollateralTokenConfig(hypToken);
|
|
966
|
+
return {
|
|
967
|
+
...erc20TokenMetadata,
|
|
968
|
+
type: TokenType.collateralFiat,
|
|
969
|
+
};
|
|
970
|
+
}
|
|
971
|
+
async deriveHypCollateralVaultTokenConfig(hypToken) {
|
|
972
|
+
const erc20TokenMetadata = await this.deriveHypCollateralTokenConfig(hypToken);
|
|
973
|
+
return {
|
|
974
|
+
...erc20TokenMetadata,
|
|
975
|
+
token: await HypERC4626OwnerCollateral__factory.connect(hypToken, this.provider).vault(),
|
|
976
|
+
type: TokenType.collateralVault,
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
async deriveHypCollateralVaultRebaseTokenConfig(hypToken) {
|
|
980
|
+
const erc20TokenMetadata = await this.deriveHypCollateralTokenConfig(hypToken);
|
|
981
|
+
return {
|
|
982
|
+
...erc20TokenMetadata,
|
|
983
|
+
token: await HypERC4626Collateral__factory.connect(hypToken, this.provider).vault(),
|
|
984
|
+
type: TokenType.collateralVaultRebase,
|
|
985
|
+
};
|
|
986
|
+
}
|
|
987
|
+
async deriveHypSyntheticTokenConfig(hypTokenAddress) {
|
|
988
|
+
const [erc20TokenMetadata, scale] = await Promise.all([
|
|
989
|
+
this.fetchERC20Metadata(hypTokenAddress),
|
|
990
|
+
this.fetchScale(hypTokenAddress),
|
|
991
|
+
]);
|
|
992
|
+
return {
|
|
993
|
+
...erc20TokenMetadata,
|
|
994
|
+
type: TokenType.synthetic,
|
|
995
|
+
scale,
|
|
996
|
+
};
|
|
997
|
+
}
|
|
998
|
+
async deriveHypNativeTokenConfig(tokenRouterAddress) {
|
|
999
|
+
const chainMetadata = this.multiProvider.getChainMetadata(this.chain);
|
|
1000
|
+
if (!chainMetadata.nativeToken) {
|
|
1001
|
+
throw new Error(`Warp route config specifies native token but chain metadata for chain "${this.chain}" does not provide native token details`);
|
|
1002
|
+
}
|
|
1003
|
+
const { name, symbol, decimals } = chainMetadata.nativeToken;
|
|
1004
|
+
const scale = await this.fetchScale(tokenRouterAddress);
|
|
1005
|
+
return {
|
|
1006
|
+
type: TokenType.native,
|
|
1007
|
+
name,
|
|
1008
|
+
symbol,
|
|
1009
|
+
decimals,
|
|
1010
|
+
isNft: false,
|
|
1011
|
+
scale,
|
|
1012
|
+
};
|
|
1013
|
+
}
|
|
1014
|
+
async deriveOpL2TokenConfig(_address) {
|
|
1015
|
+
const config = await this.deriveHypNativeTokenConfig(_address);
|
|
1016
|
+
const contract = OpL2NativeTokenBridge__factory.connect(_address, this.multiProvider.getProvider(this.chain));
|
|
1017
|
+
const l2Bridge = await contract.l2Bridge();
|
|
1018
|
+
return {
|
|
1019
|
+
...config,
|
|
1020
|
+
type: TokenType.nativeOpL2,
|
|
1021
|
+
l2Bridge,
|
|
1022
|
+
};
|
|
1023
|
+
}
|
|
1024
|
+
async deriveOpL1TokenConfig(_address) {
|
|
1025
|
+
const config = await this.deriveHypNativeTokenConfig(_address);
|
|
1026
|
+
const contract = OpL1NativeTokenBridge__factory.connect(_address, this.multiProvider.getProvider(this.chain));
|
|
1027
|
+
const urls = await contract.urls();
|
|
1028
|
+
const portal = await contract.opPortal();
|
|
1029
|
+
return {
|
|
1030
|
+
...config,
|
|
1031
|
+
type: TokenType.nativeOpL1,
|
|
1032
|
+
urls,
|
|
1033
|
+
portal,
|
|
1034
|
+
// assume version 1 for now
|
|
1035
|
+
version: 1,
|
|
1036
|
+
};
|
|
1037
|
+
}
|
|
1038
|
+
async deriveHypSyntheticRebaseConfig(hypTokenAddress) {
|
|
1039
|
+
const hypERC4626 = HypERC4626__factory.connect(hypTokenAddress, this.provider);
|
|
1040
|
+
const [erc20TokenMetadata, collateralDomainId, scale] = await Promise.all([
|
|
1041
|
+
this.fetchERC20Metadata(hypTokenAddress),
|
|
1042
|
+
hypERC4626.collateralDomain(),
|
|
1043
|
+
this.fetchScale(hypTokenAddress),
|
|
1044
|
+
]);
|
|
1045
|
+
const collateralChainName = this.multiProvider.getChainName(collateralDomainId);
|
|
1046
|
+
return {
|
|
1047
|
+
...erc20TokenMetadata,
|
|
1048
|
+
type: TokenType.syntheticRebase,
|
|
1049
|
+
collateralChainName,
|
|
1050
|
+
scale,
|
|
1051
|
+
};
|
|
1052
|
+
}
|
|
1053
|
+
async deriveEverclearBaseBridgeConfig(everclearTokenbridgeInstance) {
|
|
1054
|
+
const [everclearBridgeAddress, domains] = await Promise.all([
|
|
1055
|
+
everclearTokenbridgeInstance.everclearAdapter(),
|
|
1056
|
+
everclearTokenbridgeInstance.domains(),
|
|
1057
|
+
]);
|
|
1058
|
+
const outputAssets = await promiseObjAll(objMap(arrayToObject(domains.map(String)), async (domainId, _) => everclearTokenbridgeInstance.outputAssets(domainId)));
|
|
1059
|
+
// Remove unset domains from the output
|
|
1060
|
+
const filteredOutputAssets = objFilter(outputAssets, (_domainId, assetAddress) => !isZeroish(assetAddress));
|
|
1061
|
+
const feeParamsByDomain = await promiseObjAll(objMap(arrayToObject(domains.map(String)), async (domainId, _) => {
|
|
1062
|
+
const [fee, deadline, signature] = await everclearTokenbridgeInstance.feeParams(domainId);
|
|
1063
|
+
return {
|
|
1064
|
+
deadline: deadline.toNumber(),
|
|
1065
|
+
fee: fee.toNumber(),
|
|
1066
|
+
signature,
|
|
1067
|
+
};
|
|
1068
|
+
}));
|
|
1069
|
+
// Remove unset fee params from the output
|
|
1070
|
+
const filteredFeeParamsByDomain = objFilter(feeParamsByDomain, (_domainId, feeConfig) => {
|
|
1071
|
+
// if all the fields have their default value then the fee config for the
|
|
1072
|
+
// current domain is unset
|
|
1073
|
+
return !(feeConfig.deadline === 0 &&
|
|
1074
|
+
feeConfig.fee === 0 &&
|
|
1075
|
+
feeConfig.signature === '0x');
|
|
1076
|
+
});
|
|
1077
|
+
return {
|
|
1078
|
+
everclearBridgeAddress,
|
|
1079
|
+
outputAssets: filteredOutputAssets,
|
|
1080
|
+
everclearFeeParams: filteredFeeParamsByDomain,
|
|
1081
|
+
};
|
|
1082
|
+
}
|
|
1083
|
+
async deriveEverclearEthTokenBridgeConfig(hypTokenAddress) {
|
|
1084
|
+
const everclearTokenbridgeInstance = EverclearTokenBridge__factory.connect(hypTokenAddress, this.provider);
|
|
1085
|
+
const wethAddress = await everclearTokenbridgeInstance.wrappedToken();
|
|
1086
|
+
const { everclearBridgeAddress, everclearFeeParams, outputAssets } = await this.deriveEverclearBaseBridgeConfig(everclearTokenbridgeInstance);
|
|
1087
|
+
return {
|
|
1088
|
+
type: TokenType.ethEverclear,
|
|
1089
|
+
wethAddress,
|
|
1090
|
+
everclearBridgeAddress,
|
|
1091
|
+
everclearFeeParams,
|
|
1092
|
+
outputAssets,
|
|
1093
|
+
};
|
|
1094
|
+
}
|
|
1095
|
+
async deriveEverclearCollateralTokenBridgeConfig(hypTokenAddress) {
|
|
1096
|
+
const everclearTokenbridgeInstance = EverclearTokenBridge__factory.connect(hypTokenAddress, this.provider);
|
|
1097
|
+
const collateralTokenAddress = await everclearTokenbridgeInstance.wrappedToken();
|
|
1098
|
+
const [erc20TokenMetadata, { everclearBridgeAddress, everclearFeeParams, outputAssets }, scale,] = await Promise.all([
|
|
1099
|
+
this.fetchERC20Metadata(collateralTokenAddress),
|
|
1100
|
+
this.deriveEverclearBaseBridgeConfig(everclearTokenbridgeInstance),
|
|
1101
|
+
this.fetchScale(hypTokenAddress),
|
|
1102
|
+
]);
|
|
1103
|
+
return {
|
|
1104
|
+
type: TokenType.collateralEverclear,
|
|
1105
|
+
...erc20TokenMetadata,
|
|
1106
|
+
token: collateralTokenAddress,
|
|
1107
|
+
everclearBridgeAddress,
|
|
1108
|
+
everclearFeeParams,
|
|
1109
|
+
outputAssets,
|
|
1110
|
+
scale,
|
|
1111
|
+
};
|
|
1112
|
+
}
|
|
1113
|
+
/**
|
|
1114
|
+
* Derives the configuration for a CrossCollateralRouter router.
|
|
1115
|
+
*/
|
|
1116
|
+
async deriveCrossCollateralTokenConfig(hypTokenAddress) {
|
|
1117
|
+
const crossCollateralRouter = CrossCollateralRouter__factory.connect(hypTokenAddress, this.provider);
|
|
1118
|
+
const tokenRouter = TokenRouter__factory.connect(hypTokenAddress, this.provider);
|
|
1119
|
+
const [collateralTokenAddress, remoteDomains, crossCollateralDomains, localDomain, scale,] = await Promise.all([
|
|
1120
|
+
crossCollateralRouter.wrappedToken(),
|
|
1121
|
+
tokenRouter.domains(),
|
|
1122
|
+
crossCollateralRouter.getCrossCollateralDomains(),
|
|
1123
|
+
crossCollateralRouter.localDomain(),
|
|
1124
|
+
this.fetchScale(hypTokenAddress),
|
|
1125
|
+
]);
|
|
1126
|
+
const erc20TokenMetadata = await this.fetchERC20Metadata(collateralTokenAddress);
|
|
1127
|
+
// Merge Router._routers domains, MC-enrolled domains, and localDomain
|
|
1128
|
+
const allDomains = [
|
|
1129
|
+
...new Set([
|
|
1130
|
+
...remoteDomains.map(Number),
|
|
1131
|
+
...crossCollateralDomains.map(Number),
|
|
1132
|
+
localDomain,
|
|
1133
|
+
]),
|
|
1134
|
+
];
|
|
1135
|
+
const crossCollateralRouters = {};
|
|
1136
|
+
const rebalanceTargets = {};
|
|
1137
|
+
const rebalanceRecipients = {};
|
|
1138
|
+
await Promise.all(allDomains.map(async (domain) => {
|
|
1139
|
+
const routers = await crossCollateralRouter.getCrossCollateralRouters(domain);
|
|
1140
|
+
if (routers.length > 0) {
|
|
1141
|
+
crossCollateralRouters[domain.toString()] = [...routers];
|
|
1142
|
+
}
|
|
1143
|
+
}));
|
|
1144
|
+
// `rebalanceTargets()` only exists on the #8894+ CrossCollateralRouter.
|
|
1145
|
+
// Gate the read on PACKAGE_VERSION so legacy routers can be read before an
|
|
1146
|
+
// upgrade without relying on how a particular RPC represents empty return
|
|
1147
|
+
// data for a missing selector.
|
|
1148
|
+
const supportsRebalanceTargets = compareVersions(await this.fetchPackageVersion(hypTokenAddress), REBALANCE_TARGETS_CONTRACT_VERSION) >= 0;
|
|
1149
|
+
if (supportsRebalanceTargets) {
|
|
1150
|
+
await Promise.all(allDomains.map(async (domain) => {
|
|
1151
|
+
const targets = await crossCollateralRouter.rebalanceTargets(domain);
|
|
1152
|
+
if (targets.length > 0) {
|
|
1153
|
+
rebalanceTargets[domain.toString()] = targets.map((target) => target.toLowerCase());
|
|
1154
|
+
}
|
|
1155
|
+
}));
|
|
1156
|
+
}
|
|
1157
|
+
// `allowedRecipient()` may not exist on older deployed implementations.
|
|
1158
|
+
// Probe once so deriving a pre-upgrade router does not fail.
|
|
1159
|
+
let supportsRebalanceRecipients = true;
|
|
1160
|
+
try {
|
|
1161
|
+
await crossCollateralRouter.allowedRecipient(localDomain);
|
|
1162
|
+
}
|
|
1163
|
+
catch (error) {
|
|
1164
|
+
throwIfNotMissingSelectorRevert(error);
|
|
1165
|
+
supportsRebalanceRecipients = false;
|
|
1166
|
+
}
|
|
1167
|
+
if (supportsRebalanceRecipients) {
|
|
1168
|
+
await Promise.all(allDomains.map(async (domain) => {
|
|
1169
|
+
const recipient = await crossCollateralRouter.allowedRecipient(domain);
|
|
1170
|
+
if (!isZeroishAddress(recipient)) {
|
|
1171
|
+
rebalanceRecipients[domain.toString()] = recipient.toLowerCase();
|
|
1172
|
+
}
|
|
1173
|
+
}));
|
|
1174
|
+
}
|
|
1175
|
+
return {
|
|
1176
|
+
...erc20TokenMetadata,
|
|
1177
|
+
type: TokenType.crossCollateral,
|
|
1178
|
+
token: collateralTokenAddress,
|
|
1179
|
+
scale,
|
|
1180
|
+
crossCollateralRouters: Object.keys(crossCollateralRouters).length > 0
|
|
1181
|
+
? crossCollateralRouters
|
|
1182
|
+
: undefined,
|
|
1183
|
+
rebalanceTargets: Object.keys(rebalanceTargets).length > 0 ? rebalanceTargets : undefined,
|
|
1184
|
+
rebalanceRecipients: Object.keys(rebalanceRecipients).length > 0
|
|
1185
|
+
? rebalanceRecipients
|
|
1186
|
+
: undefined,
|
|
1187
|
+
};
|
|
1188
|
+
}
|
|
1189
|
+
async fetchERC20Metadata(tokenAddress) {
|
|
1190
|
+
const erc20 = HypERC20__factory.connect(tokenAddress, this.provider);
|
|
1191
|
+
const [name, symbol, decimals] = await Promise.all([
|
|
1192
|
+
erc20.name(),
|
|
1193
|
+
erc20.symbol(),
|
|
1194
|
+
erc20.decimals(),
|
|
1195
|
+
]);
|
|
1196
|
+
return { name, symbol, decimals, isNft: false };
|
|
1197
|
+
}
|
|
1198
|
+
/**
|
|
1199
|
+
* Fetches the scale configuration from a TokenRouter contract.
|
|
1200
|
+
* Handles version compatibility based on contract version - reads scaleNumerator/scaleDenominator
|
|
1201
|
+
* for contracts >= 11.0.0, otherwise reads legacy scale value.
|
|
1202
|
+
*
|
|
1203
|
+
* @param tokenRouterAddress - The address of the TokenRouter contract.
|
|
1204
|
+
* @returns The scale as a NormalizedScale, or undefined when the scale is the identity (1/1).
|
|
1205
|
+
*/
|
|
1206
|
+
async fetchScale(tokenRouterAddress) {
|
|
1207
|
+
const packageVersion = await this.fetchPackageVersion(tokenRouterAddress);
|
|
1208
|
+
const hasScaleFractionInterface = compareVersions(packageVersion, SCALE_FRACTION_VERSION) >= 0;
|
|
1209
|
+
const hasScaleInterface = compareVersions(packageVersion, SCALE_VERSION) >= 0;
|
|
1210
|
+
if (!hasScaleFractionInterface && !hasScaleInterface) {
|
|
1211
|
+
return;
|
|
1212
|
+
}
|
|
1213
|
+
const tokenRouter = TokenRouter__factory.connect(tokenRouterAddress, this.provider);
|
|
1214
|
+
let result;
|
|
1215
|
+
if (hasScaleFractionInterface) {
|
|
1216
|
+
// Read new format (scaleNumerator and scaleDenominator)
|
|
1217
|
+
const [numerator, denominator] = await Promise.all([
|
|
1218
|
+
tokenRouter.scaleNumerator(),
|
|
1219
|
+
tokenRouter.scaleDenominator(),
|
|
1220
|
+
]);
|
|
1221
|
+
result = {
|
|
1222
|
+
numerator: numerator.toBigInt(),
|
|
1223
|
+
denominator: denominator.toBigInt(),
|
|
1224
|
+
};
|
|
1225
|
+
}
|
|
1226
|
+
else {
|
|
1227
|
+
// Read old format (single scale value) using low-level call
|
|
1228
|
+
const scaleStatus = await this.implementationSelectorStatus(tokenRouterAddress, LEGACY_SCALE_INTERFACE.getSighash('scale()'));
|
|
1229
|
+
if (scaleStatus === SelectorStatus.Absent) {
|
|
1230
|
+
this.logger.debug(`Router at address "${tokenRouterAddress}" on chain "${this.chain}" reports ${packageVersion} but has no scale() getter; treating as identity`);
|
|
1231
|
+
return undefined;
|
|
1232
|
+
}
|
|
1233
|
+
const legacyContract = new Contract(tokenRouterAddress, LEGACY_SCALE_INTERFACE, this.provider);
|
|
1234
|
+
let scale;
|
|
1235
|
+
try {
|
|
1236
|
+
scale = await legacyContract.scale();
|
|
1237
|
+
}
|
|
1238
|
+
catch (error) {
|
|
1239
|
+
// scale() is immutable, so a getter the bytecode proves present must
|
|
1240
|
+
// answer. An empty provider response only reads as a missing getter
|
|
1241
|
+
// when the code is known to forward; for unresolved code it may hide
|
|
1242
|
+
// a real scale.
|
|
1243
|
+
if (scaleStatus === SelectorStatus.Present)
|
|
1244
|
+
throw error;
|
|
1245
|
+
if (scaleStatus === SelectorStatus.Forwarding)
|
|
1246
|
+
throwIfNotMissingSelector(error);
|
|
1247
|
+
else
|
|
1248
|
+
throwIfNotMissingSelectorRevert(error);
|
|
1249
|
+
this.logger.debug(`Router at address "${tokenRouterAddress}" on chain "${this.chain}" reports ${packageVersion} but scale() reverted or returned nothing (${scaleStatus} implementation); treating as identity`, error);
|
|
1250
|
+
return undefined;
|
|
1251
|
+
}
|
|
1252
|
+
result = { numerator: scale.toBigInt(), denominator: 1n };
|
|
1253
|
+
}
|
|
1254
|
+
// Omit identity scale so derived config matches deploy configs that
|
|
1255
|
+
// don't specify scale (i.e. uniform-decimal routes).
|
|
1256
|
+
if (result.numerator === 1n && result.denominator === 1n) {
|
|
1257
|
+
return undefined;
|
|
1258
|
+
}
|
|
1259
|
+
return result;
|
|
1260
|
+
}
|
|
1261
|
+
async fetchPackageVersion(address) {
|
|
1262
|
+
return fetchContractPackageVersion(this.provider, address, this.logger);
|
|
1263
|
+
}
|
|
1264
|
+
async fetchProxyAdminConfig(tokenAddress) {
|
|
1265
|
+
const proxyAdminAddress = await proxyAdmin(this.provider, tokenAddress);
|
|
1266
|
+
assert(!isZeroishAddress(proxyAdminAddress), `ProxyAdmin config for warp token at address "${tokenAddress}" can't be derived because it is not a proxy.`);
|
|
1267
|
+
const proxyAdminInstance = ProxyAdmin__factory.connect(proxyAdminAddress, this.provider);
|
|
1268
|
+
return {
|
|
1269
|
+
address: proxyAdminAddress,
|
|
1270
|
+
owner: await proxyAdminInstance.owner(),
|
|
1271
|
+
};
|
|
1272
|
+
}
|
|
1273
|
+
async fetchDestinationGas(warpRouteAddress, additionalDomains = []) {
|
|
1274
|
+
const warpRoute = TokenRouter__factory.connect(warpRouteAddress, this.provider);
|
|
1275
|
+
/**
|
|
1276
|
+
* @remark
|
|
1277
|
+
* Router.domains() is used to enumerate the destination gas because GasRouter.destinationGas is not EnumerableMapExtended type
|
|
1278
|
+
* This means that if a domain is removed, then we cannot read the destinationGas for it. This may impact updates.
|
|
1279
|
+
* For CrossCollateralRouter contracts, additionalDomains includes domains that only
|
|
1280
|
+
* have CCR-enrolled routers (not in Router._routers), so their gas is also read.
|
|
1281
|
+
*/
|
|
1282
|
+
const routerDomains = await warpRoute.domains();
|
|
1283
|
+
const selfDomain = this.multiProvider.getDomainId(this.chain);
|
|
1284
|
+
const allDomains = [
|
|
1285
|
+
...new Set([...routerDomains.map(Number), ...additionalDomains]),
|
|
1286
|
+
].filter((domain) => domain !== selfDomain);
|
|
1287
|
+
return Object.fromEntries(await Promise.all(allDomains.map(async (domain) => {
|
|
1288
|
+
return [domain, (await warpRoute.destinationGas(domain)).toString()];
|
|
1289
|
+
})));
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
//# sourceMappingURL=EvmWarpRouteReader.js.map
|