@hyperlane-xyz/sdk 3.20.0-beta1 → 4.0.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -15
- package/dist/aws/s3.d.ts +22 -0
- package/dist/aws/s3.d.ts.map +1 -0
- package/dist/aws/s3.js +61 -0
- package/dist/aws/s3.js.map +1 -0
- package/dist/aws/validator.d.ts +17 -0
- package/dist/aws/validator.d.ts.map +1 -0
- package/dist/aws/validator.js +76 -0
- package/dist/aws/validator.js.map +1 -0
- package/dist/consts/{crud.d.ts → concurrency.d.ts} +1 -1
- package/dist/consts/concurrency.d.ts.map +1 -0
- package/dist/consts/{crud.js → concurrency.js} +1 -1
- package/dist/consts/concurrency.js.map +1 -0
- package/dist/consts/multisigIsm.d.ts.map +1 -1
- package/dist/consts/multisigIsm.js +15 -0
- package/dist/consts/multisigIsm.js.map +1 -1
- package/dist/consts/testChains.d.ts +3 -1
- package/dist/consts/testChains.d.ts.map +1 -1
- package/dist/consts/testChains.js +14 -0
- package/dist/consts/testChains.js.map +1 -1
- package/dist/contracts/contracts.d.ts +1 -0
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +4 -0
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/core/AbstractHyperlaneModule.d.ts +18 -0
- package/dist/core/AbstractHyperlaneModule.d.ts.map +1 -0
- package/dist/{crud/AbstractCrudModule.js → core/AbstractHyperlaneModule.js} +2 -2
- package/dist/core/AbstractHyperlaneModule.js.map +1 -0
- package/dist/core/CoreDeployer.hardhat-test.js +8 -11
- package/dist/core/CoreDeployer.hardhat-test.js.map +1 -1
- package/dist/core/EvmCoreModule.d.ts +71 -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 +101 -0
- package/dist/core/EvmCoreModule.hardhat-test.js.map +1 -0
- package/dist/core/EvmCoreModule.js +147 -0
- package/dist/core/EvmCoreModule.js.map +1 -0
- package/dist/core/{read.d.ts → EvmCoreReader.d.ts} +3 -3
- package/dist/core/EvmCoreReader.d.ts.map +1 -0
- package/dist/core/{read.js → EvmCoreReader.js} +4 -4
- package/dist/core/EvmCoreReader.js.map +1 -0
- package/dist/core/EvmIcaModule.d.ts +30 -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 +35 -0
- package/dist/core/EvmIcaModule.hardhat-test.js.map +1 -0
- package/dist/core/EvmIcaModule.js +36 -0
- package/dist/core/EvmIcaModule.js.map +1 -0
- package/dist/core/HyperlaneCore.d.ts +8 -3
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +24 -15
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +12 -8
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/schemas.d.ts +2222 -0
- package/dist/core/schemas.d.ts.map +1 -0
- package/dist/core/schemas.js +9 -0
- package/dist/core/schemas.js.map +1 -0
- package/dist/core/types.d.ts +4 -7
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +2 -2
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +2 -5
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +8 -6
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +35 -32
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/schemas.d.ts +2 -62
- package/dist/deploy/schemas.d.ts.map +1 -1
- package/dist/deploy/schemas.js +1 -2
- package/dist/deploy/schemas.js.map +1 -1
- package/dist/deploy/types.d.ts +2 -13
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js +0 -16
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +2 -2
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpChecker.js +12 -2
- package/dist/gas/HyperlaneIgpChecker.js.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.d.ts.map +1 -1
- package/dist/gas/HyperlaneIgpDeployer.js +20 -8
- package/dist/gas/HyperlaneIgpDeployer.js.map +1 -1
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js +5 -4
- package/dist/gas/oracle/configure-gas-oracles.hardhat-test.js.map +1 -1
- package/dist/gas/oracle/types.d.ts +20 -7
- package/dist/gas/oracle/types.d.ts.map +1 -1
- package/dist/gas/oracle/types.js +10 -4
- package/dist/gas/oracle/types.js.map +1 -1
- package/dist/gas/types.d.ts +4 -10
- package/dist/gas/types.d.ts.map +1 -1
- package/dist/gas/types.js.map +1 -1
- package/dist/hook/EvmHookModule.d.ts +24 -0
- package/dist/hook/EvmHookModule.d.ts.map +1 -0
- package/dist/{crud → hook}/EvmHookModule.js +9 -10
- package/dist/hook/EvmHookModule.js.map +1 -0
- package/dist/hook/{read.d.ts → EvmHookReader.d.ts} +3 -2
- package/dist/hook/EvmHookReader.d.ts.map +1 -0
- package/dist/hook/{read.js → EvmHookReader.js} +10 -5
- 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/{read.test.js → EvmHookReader.test.js} +6 -2
- package/dist/hook/EvmHookReader.test.js.map +1 -0
- package/dist/hook/HyperlaneHookDeployer.d.ts.map +1 -1
- package/dist/hook/HyperlaneHookDeployer.js +29 -6
- package/dist/hook/HyperlaneHookDeployer.js.map +1 -1
- package/dist/hook/schemas.d.ts +210 -0
- package/dist/hook/schemas.d.ts.map +1 -0
- package/dist/hook/schemas.js +54 -0
- package/dist/hook/schemas.js.map +1 -0
- package/dist/hook/types.d.ts +9 -28
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js.map +1 -1
- package/dist/index.d.ts +52 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -16
- package/dist/index.js.map +1 -1
- package/dist/ism/EvmIsmModule.d.ts +74 -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 +308 -0
- package/dist/ism/EvmIsmModule.hardhat-test.js.map +1 -0
- package/dist/ism/EvmIsmModule.js +359 -0
- package/dist/ism/EvmIsmModule.js.map +1 -0
- package/dist/ism/{read.d.ts → EvmIsmReader.d.ts} +5 -7
- package/dist/ism/EvmIsmReader.d.ts.map +1 -0
- package/dist/ism/{read.js → EvmIsmReader.js} +9 -4
- 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/{read.test.js → EvmIsmReader.test.js} +2 -2
- package/dist/ism/EvmIsmReader.test.js.map +1 -0
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts +3 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js +22 -16
- package/dist/ism/HyperlaneIsmFactory.hardhat-test.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +3 -8
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/metadata/aggregation.d.ts +22 -0
- package/dist/ism/metadata/aggregation.d.ts.map +1 -0
- package/dist/ism/metadata/aggregation.js +82 -0
- package/dist/ism/metadata/aggregation.js.map +1 -0
- package/dist/ism/metadata/aggregation.test.d.ts +2 -0
- package/dist/ism/metadata/aggregation.test.d.ts.map +1 -0
- package/dist/ism/metadata/aggregation.test.js +37 -0
- package/dist/ism/metadata/aggregation.test.js.map +1 -0
- package/dist/ism/metadata/builder.d.ts +32 -0
- package/dist/ism/metadata/builder.d.ts.map +1 -0
- package/dist/ism/metadata/builder.hardhat-test.d.ts +2 -0
- package/dist/ism/metadata/builder.hardhat-test.d.ts.map +1 -0
- package/dist/ism/metadata/builder.hardhat-test.js +120 -0
- package/dist/ism/metadata/builder.hardhat-test.js.map +1 -0
- package/dist/ism/metadata/builder.js +74 -0
- package/dist/ism/metadata/builder.js.map +1 -0
- package/dist/ism/metadata/multisig.d.ts +57 -0
- package/dist/ism/metadata/multisig.d.ts.map +1 -0
- package/dist/ism/metadata/multisig.js +188 -0
- package/dist/ism/metadata/multisig.js.map +1 -0
- package/dist/ism/metadata/multisig.test.d.ts +2 -0
- package/dist/ism/metadata/multisig.test.d.ts.map +1 -0
- package/dist/ism/metadata/multisig.test.js +55 -0
- package/dist/ism/metadata/multisig.test.js.map +1 -0
- package/dist/ism/metadata/null.d.ts +15 -0
- package/dist/ism/metadata/null.d.ts.map +1 -0
- package/dist/ism/metadata/null.js +20 -0
- package/dist/ism/metadata/null.js.map +1 -0
- package/dist/ism/metadata/routing.d.ts +16 -0
- package/dist/ism/metadata/routing.d.ts.map +1 -0
- package/dist/ism/metadata/routing.js +34 -0
- package/dist/ism/metadata/routing.js.map +1 -0
- package/dist/ism/metadata/types.test.d.ts +5 -0
- package/dist/ism/metadata/types.test.d.ts.map +1 -0
- package/dist/ism/metadata/types.test.js +2 -0
- package/dist/ism/metadata/types.test.js.map +1 -0
- package/dist/ism/schemas.d.ts +68 -104
- package/dist/ism/schemas.d.ts.map +1 -1
- package/dist/ism/schemas.js +14 -17
- package/dist/ism/schemas.js.map +1 -1
- package/dist/ism/schemas.test.js +1 -1
- package/dist/ism/schemas.test.js.map +1 -1
- package/dist/ism/types.d.ts +10 -20
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js +6 -0
- package/dist/ism/types.js.map +1 -1
- package/dist/ism/utils.d.ts +4 -0
- package/dist/ism/utils.d.ts.map +1 -1
- package/dist/ism/utils.js +33 -5
- package/dist/ism/utils.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +87 -87
- package/dist/metadata/agentConfig.js +1 -1
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/deploymentArtifacts.d.ts +4 -4
- package/dist/middleware/account/InterchainAccount.d.ts +6 -5
- package/dist/middleware/account/InterchainAccount.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccount.js +15 -6
- package/dist/middleware/account/InterchainAccount.js.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.d.ts.map +1 -1
- package/dist/middleware/account/InterchainAccountDeployer.js +5 -1
- package/dist/middleware/account/InterchainAccountDeployer.js.map +1 -1
- package/dist/middleware/account/accounts.hardhat-test.js +8 -3
- package/dist/middleware/account/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/account/schemas.d.ts +69 -0
- package/dist/middleware/account/schemas.d.ts.map +1 -1
- package/dist/middleware/account/schemas.js +10 -2
- package/dist/middleware/account/schemas.js.map +1 -1
- package/dist/middleware/account/types.d.ts +4 -9
- package/dist/middleware/account/types.d.ts.map +1 -1
- package/dist/providers/MultiProvider.d.ts +2 -1
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +7 -3
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +3 -0
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js +0 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/providers/transactions/schemas.d.ts +29 -0
- package/dist/providers/transactions/schemas.d.ts.map +1 -0
- package/dist/providers/transactions/schemas.js +14 -0
- package/dist/providers/transactions/schemas.js.map +1 -0
- package/dist/providers/transactions/schemas.test.d.ts +2 -0
- package/dist/providers/transactions/schemas.test.d.ts.map +1 -0
- package/dist/providers/transactions/schemas.test.js +58 -0
- package/dist/providers/transactions/schemas.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 +6 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js +7 -0
- package/dist/providers/transactions/submitter/TxSubmitterTypes.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts +48 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js +65 -0
- package/dist/providers/transactions/submitter/builder/TxSubmitterBuilder.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/schemas.d.ts +206 -0
- package/dist/providers/transactions/submitter/builder/schemas.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/schemas.js +10 -0
- package/dist/providers/transactions/submitter/builder/schemas.js.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.d.ts +4 -0
- package/dist/providers/transactions/submitter/builder/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/builder/types.js +2 -0
- package/dist/providers/transactions/submitter/builder/types.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts +15 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.js +44 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5GnosisSafeTxSubmitter.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 +23 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5ImpersonatedAccountTxSubmitter.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts +14 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.js +24 -0
- package/dist/providers/transactions/submitter/ethersV5/EV5JsonRpcTxSubmitter.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/schemas.d.ts +19 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.js +10 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.test.d.ts +2 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.test.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.test.js +41 -0
- package/dist/providers/transactions/submitter/ethersV5/schemas.test.js.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts +5 -0
- package/dist/providers/transactions/submitter/ethersV5/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js +2 -0
- package/dist/providers/transactions/submitter/ethersV5/types.js.map +1 -0
- package/dist/providers/transactions/submitter/schemas.d.ts +56 -0
- package/dist/providers/transactions/submitter/schemas.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/schemas.js +18 -0
- package/dist/providers/transactions/submitter/schemas.js.map +1 -0
- package/dist/providers/transactions/submitter/types.d.ts +4 -0
- package/dist/providers/transactions/submitter/types.d.ts.map +1 -0
- package/dist/providers/transactions/submitter/types.js +2 -0
- package/dist/providers/transactions/submitter/types.js.map +1 -0
- package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts +15 -0
- package/dist/providers/transactions/transformer/TxTransformerInterface.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/TxTransformerInterface.js +2 -0
- package/dist/providers/transactions/transformer/TxTransformerInterface.js.map +1 -0
- package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts +4 -0
- package/dist/providers/transactions/transformer/TxTransformerTypes.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/TxTransformerTypes.js +5 -0
- package/dist/providers/transactions/transformer/TxTransformerTypes.js.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts +16 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js +37 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5InterchainAccountTxTransformer.js.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts +5 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js +2 -0
- package/dist/providers/transactions/transformer/ethersV5/EV5TxTransformerInterface.js.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts +58 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.js +7 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.js.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.test.d.ts +2 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.test.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.test.js +44 -0
- package/dist/providers/transactions/transformer/ethersV5/schemas.test.js.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/types.d.ts +4 -0
- package/dist/providers/transactions/transformer/ethersV5/types.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/ethersV5/types.js +2 -0
- package/dist/providers/transactions/transformer/ethersV5/types.js.map +1 -0
- package/dist/providers/transactions/transformer/schemas.d.ts +89 -0
- package/dist/providers/transactions/transformer/schemas.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/schemas.js +10 -0
- package/dist/providers/transactions/transformer/schemas.js.map +1 -0
- package/dist/providers/transactions/transformer/types.d.ts +4 -0
- package/dist/providers/transactions/transformer/types.d.ts.map +1 -0
- package/dist/providers/transactions/transformer/types.js +2 -0
- package/dist/providers/transactions/transformer/types.js.map +1 -0
- package/dist/providers/transactions/types.d.ts +6 -0
- package/dist/providers/transactions/types.d.ts.map +1 -0
- package/dist/providers/transactions/types.js +2 -0
- package/dist/providers/transactions/types.js.map +1 -0
- package/dist/router/GasRouterDeployer.d.ts +3 -3
- package/dist/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/router/GasRouterDeployer.js +2 -1
- package/dist/router/GasRouterDeployer.js.map +1 -1
- package/dist/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/router/HyperlaneRouterChecker.js +36 -53
- package/dist/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/router/ProxiedRouterDeployer.d.ts +7 -4
- package/dist/router/ProxiedRouterDeployer.d.ts.map +1 -1
- package/dist/router/ProxiedRouterDeployer.js +8 -2
- package/dist/router/ProxiedRouterDeployer.js.map +1 -1
- package/dist/router/schemas.d.ts +828 -41
- package/dist/router/schemas.d.ts.map +1 -1
- package/dist/router/schemas.js +11 -9
- package/dist/router/schemas.js.map +1 -1
- package/dist/router/types.d.ts +6 -10
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js.map +1 -1
- package/dist/schemas.d.ts +25 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +10 -0
- package/dist/schemas.js.map +1 -0
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +3 -2
- package/dist/test/testUtils.js.map +1 -1
- package/dist/token/{read.d.ts → EvmERC20WarpRouteReader.d.ts} +10 -10
- package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -0
- package/dist/token/{read.js → EvmERC20WarpRouteReader.js} +38 -30
- package/dist/token/EvmERC20WarpRouteReader.js.map +1 -0
- package/dist/token/Token.test.js +0 -9
- package/dist/token/Token.test.js.map +1 -1
- package/dist/token/TokenStandard.d.ts +0 -1
- package/dist/token/TokenStandard.d.ts.map +1 -1
- package/dist/token/TokenStandard.js +4 -3
- package/dist/token/TokenStandard.js.map +1 -1
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/CosmosTokenAdapter.d.ts +2 -2
- package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.d.ts +4 -4
- package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/EvmTokenAdapter.js +3 -2
- package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
- package/dist/token/adapters/ITokenAdapter.d.ts +2 -2
- package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.d.ts +5 -5
- package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
- package/dist/token/adapters/SealevelTokenAdapter.js +2 -1
- package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
- package/dist/token/app.d.ts.map +1 -1
- package/dist/token/app.js +2 -2
- package/dist/token/app.js.map +1 -1
- package/dist/token/checker.d.ts +2 -2
- package/dist/token/checker.d.ts.map +1 -1
- package/dist/token/checker.js +1 -1
- package/dist/token/checker.js.map +1 -1
- package/dist/token/config.d.ts +4 -44
- package/dist/token/config.d.ts.map +1 -1
- package/dist/token/config.js +14 -15
- package/dist/token/config.js.map +1 -1
- package/dist/token/contracts.d.ts +7 -14
- package/dist/token/contracts.d.ts.map +1 -1
- package/dist/token/contracts.js +8 -8
- package/dist/token/contracts.js.map +1 -1
- package/dist/token/deploy.d.ts +21 -45
- package/dist/token/deploy.d.ts.map +1 -1
- package/dist/token/deploy.hardhat-test.js +33 -48
- package/dist/token/deploy.hardhat-test.js.map +1 -1
- package/dist/token/deploy.js +74 -251
- package/dist/token/deploy.js.map +1 -1
- package/dist/token/schemas.d.ts +874 -136
- package/dist/token/schemas.d.ts.map +1 -1
- package/dist/token/schemas.js +29 -19
- package/dist/token/schemas.js.map +1 -1
- package/dist/token/schemas.test.js +26 -39
- package/dist/token/schemas.test.js.map +1 -1
- package/dist/token/types.d.ts +2 -1
- package/dist/token/types.d.ts.map +1 -1
- package/dist/utils/fork.d.ts.map +1 -1
- package/dist/utils/fork.js +10 -11
- package/dist/utils/fork.js.map +1 -1
- package/dist/utils/gnosisSafe.js +46 -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/schemas.d.ts +3 -0
- package/dist/utils/schemas.d.ts.map +1 -0
- package/dist/utils/schemas.js +4 -0
- package/dist/utils/schemas.js.map +1 -0
- package/package.json +8 -4
- package/dist/consts/crud.d.ts.map +0 -1
- package/dist/consts/crud.js.map +0 -1
- package/dist/core/read.d.ts.map +0 -1
- package/dist/core/read.js.map +0 -1
- package/dist/crud/AbstractCrudModule.d.ts +0 -21
- package/dist/crud/AbstractCrudModule.d.ts.map +0 -1
- package/dist/crud/AbstractCrudModule.js.map +0 -1
- package/dist/crud/EvmHookModule.d.ts +0 -18
- package/dist/crud/EvmHookModule.d.ts.map +0 -1
- package/dist/crud/EvmHookModule.js.map +0 -1
- package/dist/crud/EvmIsmModule.d.ts +0 -18
- package/dist/crud/EvmIsmModule.d.ts.map +0 -1
- package/dist/crud/EvmIsmModule.js +0 -28
- package/dist/crud/EvmIsmModule.js.map +0 -1
- package/dist/hook/read.d.ts.map +0 -1
- package/dist/hook/read.js.map +0 -1
- package/dist/hook/read.test.d.ts +0 -2
- package/dist/hook/read.test.d.ts.map +0 -1
- package/dist/hook/read.test.js.map +0 -1
- package/dist/ism/read.d.ts.map +0 -1
- package/dist/ism/read.js.map +0 -1
- package/dist/ism/read.test.d.ts +0 -2
- package/dist/ism/read.test.d.ts.map +0 -1
- package/dist/ism/read.test.js.map +0 -1
- package/dist/token/read.d.ts.map +0 -1
- package/dist/token/read.js.map +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Mailbox } from '@hyperlane-xyz/core';
|
|
2
|
+
import { Address, ProtocolType } from '@hyperlane-xyz/utils';
|
|
3
|
+
import { HyperlaneAddresses } from '../contracts/types.js';
|
|
4
|
+
import { CoreConfig } from '../core/types.js';
|
|
5
|
+
import { ProxyFactoryFactories } from '../deploy/contracts.js';
|
|
6
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
7
|
+
import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
|
|
8
|
+
import { ChainNameOrId } from '../types.js';
|
|
9
|
+
import { HyperlaneModule, HyperlaneModuleParams } from './AbstractHyperlaneModule.js';
|
|
10
|
+
import { EvmCoreReader } from './EvmCoreReader.js';
|
|
11
|
+
import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer.js';
|
|
12
|
+
import { CoreFactories } from './contracts.js';
|
|
13
|
+
export type DeployedCoreAdresses = HyperlaneAddresses<CoreFactories> & {
|
|
14
|
+
testRecipient: Address;
|
|
15
|
+
timelockController?: Address;
|
|
16
|
+
interchainAccountRouter: Address;
|
|
17
|
+
interchainAccountIsm: Address;
|
|
18
|
+
} & HyperlaneAddresses<ProxyFactoryFactories>;
|
|
19
|
+
export declare class EvmCoreModule extends HyperlaneModule<ProtocolType.Ethereum, CoreConfig, DeployedCoreAdresses> {
|
|
20
|
+
protected readonly multiProvider: MultiProvider;
|
|
21
|
+
protected logger: import("pino").default.Logger<never>;
|
|
22
|
+
protected coreReader: EvmCoreReader;
|
|
23
|
+
readonly chainName: string;
|
|
24
|
+
protected constructor(multiProvider: MultiProvider, args: HyperlaneModuleParams<CoreConfig, DeployedCoreAdresses>);
|
|
25
|
+
/**
|
|
26
|
+
* Reads the core configuration from the mailbox address specified in the SDK arguments.
|
|
27
|
+
* @returns The core config.
|
|
28
|
+
*/
|
|
29
|
+
read(): Promise<CoreConfig>;
|
|
30
|
+
update(_config: CoreConfig): Promise<AnnotatedEV5Transaction[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Deploys the Core contracts.
|
|
33
|
+
* @remark Most of the contract owners is the Deployer with some being the Proxy Admin.
|
|
34
|
+
* @returns The created EvmCoreModule instance.
|
|
35
|
+
*/
|
|
36
|
+
static create(params: {
|
|
37
|
+
chain: ChainNameOrId;
|
|
38
|
+
config: CoreConfig;
|
|
39
|
+
multiProvider: MultiProvider;
|
|
40
|
+
}): Promise<EvmCoreModule>;
|
|
41
|
+
/**
|
|
42
|
+
* Deploys the core Hyperlane contracts.
|
|
43
|
+
* @returns The deployed core contract addresses.
|
|
44
|
+
*/
|
|
45
|
+
static deploy(params: {
|
|
46
|
+
config: CoreConfig;
|
|
47
|
+
multiProvider: MultiProvider;
|
|
48
|
+
chain: ChainNameOrId;
|
|
49
|
+
}): Promise<DeployedCoreAdresses>;
|
|
50
|
+
/**
|
|
51
|
+
* Deploys the ISM factories for a given chain.
|
|
52
|
+
* @returns The deployed ISM factories addresses.
|
|
53
|
+
*/
|
|
54
|
+
static deployIsmFactories(params: {
|
|
55
|
+
chainName: string;
|
|
56
|
+
config: CoreConfig;
|
|
57
|
+
multiProvider: MultiProvider;
|
|
58
|
+
}): Promise<HyperlaneAddresses<ProxyFactoryFactories>>;
|
|
59
|
+
/**
|
|
60
|
+
* Deploys a Mailbox and its default ISM, hook, and required hook contracts with a given configuration.
|
|
61
|
+
* @returns The deployed Mailbox contract instance.
|
|
62
|
+
*/
|
|
63
|
+
static deployMailbox(params: {
|
|
64
|
+
config: CoreConfig;
|
|
65
|
+
proxyAdmin: Address;
|
|
66
|
+
coreDeployer: HyperlaneCoreDeployer;
|
|
67
|
+
multiProvider: MultiProvider;
|
|
68
|
+
chain: ChainNameOrId;
|
|
69
|
+
}): Promise<Mailbox>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=EvmCoreModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmCoreModule.d.ts","sourceRoot":"","sources":["../../src/core/EvmCoreModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAMzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,qBAAqB,EAEtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,aAAa,CAAC,GAAG;IACrE,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,oBAAoB,EAAE,OAAO,CAAC;CAC/B,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;AAE9C,qBAAa,aAAc,SAAQ,eAAe,CAChD,YAAY,CAAC,QAAQ,EACrB,UAAU,EACV,oBAAoB,CACrB;IAMG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IALjD,SAAS,CAAC,MAAM,uCAAiD;IACjE,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IACpC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,SAAS,aACY,aAAa,EAAE,aAAa,EAC/C,IAAI,EAAE,qBAAqB,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAO/D;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAI3B,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAI5E;;;;OAIG;WACiB,MAAM,CAAC,MAAM,EAAE;QACjC,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB1B;;;OAGG;WACU,MAAM,CAAC,MAAM,EAAE;QAC1B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;QAC7B,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmFjC;;;OAGG;WACU,kBAAkB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IActD;;;OAGG;WACU,aAAa,CAAC,MAAM,EAAE;QACjC,MAAM,EAAE,UAAU,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,qBAAqB,CAAC;QACpC,aAAa,EAAE,aAAa,CAAC;QAC7B,KAAK,EAAE,aAAa,CAAC;KACtB,GAAG,OAAO,CAAC,OAAO,CAAC;CA2DrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmCoreModule.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/core/EvmCoreModule.hardhat-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { constants } from 'ethers';
|
|
3
|
+
import hre from 'hardhat';
|
|
4
|
+
import { Mailbox__factory, ProxyAdmin__factory, TestRecipient__factory, TimelockController__factory, ValidatorAnnounce__factory, } from '@hyperlane-xyz/core';
|
|
5
|
+
import { objMap } from '@hyperlane-xyz/utils';
|
|
6
|
+
import { TestChainName } from '../consts/testChains.js';
|
|
7
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
8
|
+
import { testCoreConfig } from '../test/testUtils.js';
|
|
9
|
+
import { EvmCoreModule } from './EvmCoreModule.js';
|
|
10
|
+
describe('EvmCoreModule', async () => {
|
|
11
|
+
const CHAIN = TestChainName.test1;
|
|
12
|
+
const DELAY = 1892391283182;
|
|
13
|
+
let config;
|
|
14
|
+
let signer;
|
|
15
|
+
let multiProvider;
|
|
16
|
+
let evmCoreModule;
|
|
17
|
+
let proxyAdminContract;
|
|
18
|
+
let mailboxContract;
|
|
19
|
+
let validatorAnnounceContract;
|
|
20
|
+
let testRecipientContract;
|
|
21
|
+
let timelockControllerContract;
|
|
22
|
+
before(async () => {
|
|
23
|
+
[signer] = await hre.ethers.getSigners();
|
|
24
|
+
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
25
|
+
config = {
|
|
26
|
+
...testCoreConfig([CHAIN])[CHAIN],
|
|
27
|
+
upgrade: {
|
|
28
|
+
timelock: {
|
|
29
|
+
delay: DELAY,
|
|
30
|
+
roles: {
|
|
31
|
+
executor: signer.address,
|
|
32
|
+
proposer: signer.address,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
evmCoreModule = await EvmCoreModule.create({
|
|
38
|
+
chain: CHAIN,
|
|
39
|
+
config,
|
|
40
|
+
multiProvider,
|
|
41
|
+
});
|
|
42
|
+
const { proxyAdmin, mailbox, validatorAnnounce, testRecipient, timelockController, } = evmCoreModule.serialize();
|
|
43
|
+
proxyAdminContract = ProxyAdmin__factory.connect(proxyAdmin, multiProvider.getProvider(CHAIN));
|
|
44
|
+
mailboxContract = Mailbox__factory.connect(mailbox, multiProvider.getProvider(CHAIN));
|
|
45
|
+
validatorAnnounceContract = ValidatorAnnounce__factory.connect(validatorAnnounce, multiProvider.getProvider(CHAIN));
|
|
46
|
+
testRecipientContract = TestRecipient__factory.connect(testRecipient, multiProvider.getProvider(CHAIN));
|
|
47
|
+
timelockControllerContract = TimelockController__factory.connect(timelockController, multiProvider.getProvider(CHAIN));
|
|
48
|
+
});
|
|
49
|
+
describe('Create', async () => {
|
|
50
|
+
it('should create deploy an ICA', () => {
|
|
51
|
+
const { interchainAccountRouter, interchainAccountIsm } = evmCoreModule.serialize();
|
|
52
|
+
expect(interchainAccountIsm).to.exist;
|
|
53
|
+
expect(interchainAccountRouter).to.exist;
|
|
54
|
+
});
|
|
55
|
+
it('should deploy ISM factories', () => {
|
|
56
|
+
// Each ISM factory
|
|
57
|
+
const deployedContracts = evmCoreModule.serialize();
|
|
58
|
+
objMap(deployedContracts, (_, address) => {
|
|
59
|
+
expect(address).to.exist;
|
|
60
|
+
expect(address).to.not.equal(constants.AddressZero);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
it('should deploy proxyAdmin', () => {
|
|
64
|
+
expect(evmCoreModule.serialize().proxyAdmin).to.exist;
|
|
65
|
+
});
|
|
66
|
+
it('should set proxyAdmin owner to deployer', async () => {
|
|
67
|
+
expect(await proxyAdminContract.owner()).to.equal(signer.address);
|
|
68
|
+
});
|
|
69
|
+
it('should deploy mailbox', async () => {
|
|
70
|
+
const mailboxAddress = evmCoreModule.serialize().mailbox;
|
|
71
|
+
expect(mailboxAddress).to.exist;
|
|
72
|
+
// Check that it's actually a mailbox by calling one of it's methods
|
|
73
|
+
expect(await mailboxContract.localDomain()).to.equal(multiProvider.getChainId(CHAIN));
|
|
74
|
+
});
|
|
75
|
+
it('should set mailbox owner to config owner', async () => {
|
|
76
|
+
expect(await mailboxContract.owner()).to.equal(config.owner);
|
|
77
|
+
});
|
|
78
|
+
it('should deploy mailbox default Ism', async () => {
|
|
79
|
+
expect(await mailboxContract.defaultIsm()).to.not.equal(constants.AddressZero);
|
|
80
|
+
});
|
|
81
|
+
it('should deploy mailbox default hook', async () => {
|
|
82
|
+
expect(await mailboxContract.defaultHook()).to.not.equal(constants.AddressZero);
|
|
83
|
+
});
|
|
84
|
+
it('should deploy mailbox required hook', async () => {
|
|
85
|
+
expect(await mailboxContract.requiredHook()).to.not.equal(constants.AddressZero);
|
|
86
|
+
});
|
|
87
|
+
it('should deploy validatorAnnounce', async () => {
|
|
88
|
+
expect(evmCoreModule.serialize().validatorAnnounce).to.exist;
|
|
89
|
+
expect(await validatorAnnounceContract.owner()).to.equal(signer.address);
|
|
90
|
+
});
|
|
91
|
+
it('should deploy testRecipient', async () => {
|
|
92
|
+
expect(evmCoreModule.serialize().testRecipient).to.exist;
|
|
93
|
+
expect(await testRecipientContract.owner()).to.equal(signer.address);
|
|
94
|
+
});
|
|
95
|
+
it('should deploy timelock if upgrade is set', async () => {
|
|
96
|
+
expect(evmCoreModule.serialize().timelockController).to.exist;
|
|
97
|
+
expect(await timelockControllerContract.getMinDelay()).to.equal(DELAY);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=EvmCoreModule.hardhat-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmCoreModule.hardhat-test.js","sourceRoot":"","sources":["../../src/core/EvmCoreModule.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { rootLogger } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { attachContractsMap, serializeContractsMap, } from '../contracts/contracts.js';
|
|
3
|
+
import { HyperlaneProxyFactoryDeployer } from '../deploy/HyperlaneProxyFactoryDeployer.js';
|
|
4
|
+
import { proxyFactoryFactories, } from '../deploy/contracts.js';
|
|
5
|
+
import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js';
|
|
6
|
+
import { HyperlaneModule, } from './AbstractHyperlaneModule.js';
|
|
7
|
+
import { EvmCoreReader } from './EvmCoreReader.js';
|
|
8
|
+
import { EvmIcaModule } from './EvmIcaModule.js';
|
|
9
|
+
import { HyperlaneCoreDeployer } from './HyperlaneCoreDeployer.js';
|
|
10
|
+
export class EvmCoreModule extends HyperlaneModule {
|
|
11
|
+
multiProvider;
|
|
12
|
+
logger = rootLogger.child({ module: 'EvmCoreModule' });
|
|
13
|
+
coreReader;
|
|
14
|
+
chainName;
|
|
15
|
+
constructor(multiProvider, args) {
|
|
16
|
+
super(args);
|
|
17
|
+
this.multiProvider = multiProvider;
|
|
18
|
+
this.coreReader = new EvmCoreReader(multiProvider, this.args.chain);
|
|
19
|
+
this.chainName = this.multiProvider.getChainName(this.args.chain);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Reads the core configuration from the mailbox address specified in the SDK arguments.
|
|
23
|
+
* @returns The core config.
|
|
24
|
+
*/
|
|
25
|
+
async read() {
|
|
26
|
+
return this.coreReader.deriveCoreConfig(this.args.addresses.mailbox);
|
|
27
|
+
}
|
|
28
|
+
async update(_config) {
|
|
29
|
+
throw new Error('Method not implemented.');
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Deploys the Core contracts.
|
|
33
|
+
* @remark Most of the contract owners is the Deployer with some being the Proxy Admin.
|
|
34
|
+
* @returns The created EvmCoreModule instance.
|
|
35
|
+
*/
|
|
36
|
+
static async create(params) {
|
|
37
|
+
const { chain, config, multiProvider } = params;
|
|
38
|
+
const addresses = await EvmCoreModule.deploy({
|
|
39
|
+
config,
|
|
40
|
+
multiProvider,
|
|
41
|
+
chain,
|
|
42
|
+
});
|
|
43
|
+
// Create CoreModule and deploy the Core contracts
|
|
44
|
+
const module = new EvmCoreModule(multiProvider, {
|
|
45
|
+
addresses,
|
|
46
|
+
chain,
|
|
47
|
+
config,
|
|
48
|
+
});
|
|
49
|
+
return module;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Deploys the core Hyperlane contracts.
|
|
53
|
+
* @returns The deployed core contract addresses.
|
|
54
|
+
*/
|
|
55
|
+
static async deploy(params) {
|
|
56
|
+
const { config, multiProvider, chain } = params;
|
|
57
|
+
const chainName = multiProvider.getChainName(chain);
|
|
58
|
+
// Deploy Ism Factories
|
|
59
|
+
const ismFactoryFactories = await EvmCoreModule.deployIsmFactories({
|
|
60
|
+
chainName,
|
|
61
|
+
config,
|
|
62
|
+
multiProvider,
|
|
63
|
+
});
|
|
64
|
+
// Deploy IsmFactory to be used in CoreDeployer
|
|
65
|
+
const ismFactory = new HyperlaneIsmFactory(attachContractsMap({ [chainName]: ismFactoryFactories }, proxyFactoryFactories), multiProvider);
|
|
66
|
+
// Initialize Deployer
|
|
67
|
+
const coreDeployer = new HyperlaneCoreDeployer(multiProvider, ismFactory);
|
|
68
|
+
// Deploy proxyAdmin
|
|
69
|
+
const proxyAdmin = (await coreDeployer.deployContract(chainName, 'proxyAdmin', [])).address;
|
|
70
|
+
// Deploy Mailbox
|
|
71
|
+
const mailbox = await this.deployMailbox({
|
|
72
|
+
config,
|
|
73
|
+
coreDeployer,
|
|
74
|
+
proxyAdmin,
|
|
75
|
+
multiProvider,
|
|
76
|
+
chain,
|
|
77
|
+
});
|
|
78
|
+
// Deploy ICA ISM and Router
|
|
79
|
+
const { interchainAccountRouter, interchainAccountIsm } = (await EvmIcaModule.create({
|
|
80
|
+
chain: chainName,
|
|
81
|
+
multiProvider: multiProvider,
|
|
82
|
+
config: {
|
|
83
|
+
mailbox: mailbox.address,
|
|
84
|
+
owner: await multiProvider.getSigner(chain).getAddress(),
|
|
85
|
+
},
|
|
86
|
+
})).serialize();
|
|
87
|
+
// Deploy Validator announce
|
|
88
|
+
const validatorAnnounce = (await coreDeployer.deployValidatorAnnounce(chainName, mailbox.address)).address;
|
|
89
|
+
// Deploy timelock controller if config.upgrade is set
|
|
90
|
+
let timelockController;
|
|
91
|
+
if (config.upgrade) {
|
|
92
|
+
timelockController = (await coreDeployer.deployTimelock(chainName, config.upgrade.timelock)).address;
|
|
93
|
+
}
|
|
94
|
+
// Deploy Test Receipient
|
|
95
|
+
const testRecipient = (await coreDeployer.deployTestRecipient(chainName, await mailbox.defaultIsm())).address;
|
|
96
|
+
// Set Core & extra addresses
|
|
97
|
+
return {
|
|
98
|
+
...ismFactoryFactories,
|
|
99
|
+
proxyAdmin,
|
|
100
|
+
mailbox: mailbox.address,
|
|
101
|
+
interchainAccountRouter,
|
|
102
|
+
interchainAccountIsm,
|
|
103
|
+
validatorAnnounce,
|
|
104
|
+
timelockController,
|
|
105
|
+
testRecipient,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Deploys the ISM factories for a given chain.
|
|
110
|
+
* @returns The deployed ISM factories addresses.
|
|
111
|
+
*/
|
|
112
|
+
static async deployIsmFactories(params) {
|
|
113
|
+
const { chainName, config, multiProvider } = params;
|
|
114
|
+
// ChainMap is still needed for HyperlaneIsmFactory
|
|
115
|
+
const proxyFactoryDeployer = new HyperlaneProxyFactoryDeployer(multiProvider);
|
|
116
|
+
const ismFactoriesFactory = await proxyFactoryDeployer.deploy({
|
|
117
|
+
[chainName]: config,
|
|
118
|
+
});
|
|
119
|
+
return serializeContractsMap(ismFactoriesFactory)[chainName];
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Deploys a Mailbox and its default ISM, hook, and required hook contracts with a given configuration.
|
|
123
|
+
* @returns The deployed Mailbox contract instance.
|
|
124
|
+
*/
|
|
125
|
+
static async deployMailbox(params) {
|
|
126
|
+
const { config, proxyAdmin, coreDeployer: deployer, multiProvider, chain, } = params;
|
|
127
|
+
const chainName = multiProvider.getChainName(chain);
|
|
128
|
+
const domain = multiProvider.getDomainId(chainName);
|
|
129
|
+
const mailbox = await deployer.deployProxiedContract(chainName, 'mailbox', 'mailbox', proxyAdmin, [domain]);
|
|
130
|
+
// @todo refactor when 1) IsmModule is ready
|
|
131
|
+
const deployedDefaultIsm = await deployer.deployIsm(chainName, config.defaultIsm, mailbox.address);
|
|
132
|
+
// @todo refactor when 1) HookModule is ready, and 2) Hooks Config can handle strings
|
|
133
|
+
const deployedDefaultHook = await deployer.deployHook(chainName, config.defaultHook, {
|
|
134
|
+
mailbox: mailbox.address,
|
|
135
|
+
proxyAdmin,
|
|
136
|
+
});
|
|
137
|
+
// @todo refactor when 1) HookModule is ready, and 2) Hooks Config can handle strings
|
|
138
|
+
const deployedRequiredHook = await deployer.deployHook(chainName, config.requiredHook, {
|
|
139
|
+
mailbox: mailbox.address,
|
|
140
|
+
proxyAdmin,
|
|
141
|
+
});
|
|
142
|
+
// Initialize Mailbox
|
|
143
|
+
await multiProvider.handleTx(chain, mailbox.initialize(config.owner, deployedDefaultIsm, deployedDefaultHook.address, deployedRequiredHook.address, multiProvider.getTransactionOverrides(chain)));
|
|
144
|
+
return mailbox;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=EvmCoreModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmCoreModule.js","sourceRoot":"","sources":["../../src/core/EvmCoreModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { providers } from 'ethers';
|
|
2
2
|
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { EvmHookReader } from '../hook/
|
|
4
|
-
import { EvmIsmReader } from '../ism/
|
|
3
|
+
import { EvmHookReader } from '../hook/EvmHookReader.js';
|
|
4
|
+
import { EvmIsmReader } from '../ism/EvmIsmReader.js';
|
|
5
5
|
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
6
6
|
import { ChainNameOrId } from '../types.js';
|
|
7
7
|
import { CoreConfig } from './types.js';
|
|
@@ -25,4 +25,4 @@ export declare class EvmCoreReader implements CoreReader {
|
|
|
25
25
|
deriveCoreConfig(address: Address): Promise<CoreConfig>;
|
|
26
26
|
}
|
|
27
27
|
export {};
|
|
28
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=EvmCoreReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmCoreReader.d.ts","sourceRoot":"","sources":["../../src/core/EvmCoreReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,UAAU,UAAU;IAClB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzD;AAED,qBAAa,aAAc,YAAW,UAAU;IAK5C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAC/C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa;IACvC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM;IANxC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;gBAEN,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,MAEM;IAOxC;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAuB9D"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Mailbox__factory } from '@hyperlane-xyz/core';
|
|
2
2
|
import { objMap, promiseObjAll } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/
|
|
4
|
-
import { EvmHookReader } from '../hook/
|
|
5
|
-
import { EvmIsmReader } from '../ism/
|
|
3
|
+
import { DEFAULT_CONTRACT_READ_CONCURRENCY } from '../consts/concurrency.js';
|
|
4
|
+
import { EvmHookReader } from '../hook/EvmHookReader.js';
|
|
5
|
+
import { EvmIsmReader } from '../ism/EvmIsmReader.js';
|
|
6
6
|
export class EvmCoreReader {
|
|
7
7
|
multiProvider;
|
|
8
8
|
chain;
|
|
@@ -41,4 +41,4 @@ export class EvmCoreReader {
|
|
|
41
41
|
return results;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=
|
|
44
|
+
//# sourceMappingURL=EvmCoreReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmCoreReader.js","sourceRoot":"","sources":["../../src/core/EvmCoreReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAW,MAAM,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAUtD,MAAM,OAAO,aAAa;IAKH;IACA;IACA;IANrB,QAAQ,CAAqB;IAC7B,aAAa,CAAgB;IAC7B,YAAY,CAAe;IAC3B,YACqB,aAA4B,EAC5B,KAAoB,EACpB,cAAsB,aAAa,CAAC,oBAAoB,CACzE,KAAK,CACN,IAAI,iCAAiC;QAJnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,UAAK,GAAL,KAAK,CAAe;QACpB,gBAAW,GAAX,WAAW,CAEQ;QAEtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChE,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,CAAC,WAAW,EAAE;YACrB,OAAO,CAAC,YAAY,EAAE;SACvB,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,OAAO,GAAG,MAAM,aAAa,CACjC,MAAM,CACJ;YACE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACtB,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC;YACzD,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC;YAC7D,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC;SAChE,EACD,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,CACpC,CACF,CAAC;QAEF,OAAO,OAAqB,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { HyperlaneAddresses } from '../contracts/types.js';
|
|
3
|
+
import { InterchainAccountFactories } from '../middleware/account/contracts.js';
|
|
4
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
5
|
+
import { AnnotatedEV5Transaction } from '../providers/ProviderType.js';
|
|
6
|
+
import { ProxiedRouterConfig } from '../router/types.js';
|
|
7
|
+
import { ChainNameOrId } from '../types.js';
|
|
8
|
+
import { HyperlaneModule, HyperlaneModuleParams } from './AbstractHyperlaneModule.js';
|
|
9
|
+
export type InterchainAccountConfig = ProxiedRouterConfig;
|
|
10
|
+
export declare class EvmIcaModule extends HyperlaneModule<ProtocolType.Ethereum, InterchainAccountConfig, HyperlaneAddresses<InterchainAccountFactories>> {
|
|
11
|
+
protected readonly multiProvider: MultiProvider;
|
|
12
|
+
protected logger: import("pino").default.Logger<never>;
|
|
13
|
+
protected constructor(multiProvider: MultiProvider, args: HyperlaneModuleParams<InterchainAccountConfig, HyperlaneAddresses<InterchainAccountFactories>>);
|
|
14
|
+
read(): Promise<InterchainAccountConfig>;
|
|
15
|
+
update(_config: InterchainAccountConfig): Promise<AnnotatedEV5Transaction[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Creates a new EvmIcaModule instance by deploying an ICA with an ICA ISM.
|
|
18
|
+
*
|
|
19
|
+
* @param chain - The chain on which to deploy the ICA.
|
|
20
|
+
* @param config - The configuration for the ICA.
|
|
21
|
+
* @param multiProvider - The MultiProvider instance to use for deployment.
|
|
22
|
+
* @returns {Promise<EvmIcaModule>} - A new EvmIcaModule instance.
|
|
23
|
+
*/
|
|
24
|
+
static create({ chain, config, multiProvider, }: {
|
|
25
|
+
chain: ChainNameOrId;
|
|
26
|
+
config: InterchainAccountConfig;
|
|
27
|
+
multiProvider: MultiProvider;
|
|
28
|
+
}): Promise<EvmIcaModule>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=EvmIcaModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmIcaModule.d.ts","sourceRoot":"","sources":["../../src/core/EvmIcaModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EACL,eAAe,EACf,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAE1D,qBAAa,YAAa,SAAQ,eAAe,CAC/C,YAAY,CAAC,QAAQ,EACrB,uBAAuB,EACvB,kBAAkB,CAAC,0BAA0B,CAAC,CAC/C;IAIG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa;IAHjD,SAAS,CAAC,MAAM,uCAAgD;IAEhE,SAAS,aACY,aAAa,EAAE,aAAa,EAC/C,IAAI,EAAE,qBAAqB,CACzB,uBAAuB,EACvB,kBAAkB,CAAC,0BAA0B,CAAC,CAC/C;IAKU,IAAI,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAIxC,MAAM,CACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAIrC;;;;;;;OAOG;WACiB,MAAM,CAAC,EACzB,KAAK,EACL,MAAM,EACN,aAAa,GACd,EAAE;QACD,KAAK,EAAE,aAAa,CAAC;QACrB,MAAM,EAAE,uBAAuB,CAAC;QAChC,aAAa,EAAE,aAAa,CAAC;KAC9B,GAAG,OAAO,CAAC,YAAY,CAAC;CAe1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmIcaModule.hardhat-test.d.ts","sourceRoot":"","sources":["../../src/core/EvmIcaModule.hardhat-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { ethers } from 'ethers';
|
|
3
|
+
import hre from 'hardhat';
|
|
4
|
+
import { Mailbox__factory } from '@hyperlane-xyz/core';
|
|
5
|
+
import { TestChainName } from '../consts/testChains.js';
|
|
6
|
+
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
7
|
+
import { EvmIcaModule } from './EvmIcaModule.js';
|
|
8
|
+
describe('EvmIcaModule', async () => {
|
|
9
|
+
const LOCAL_DOMAIN = 1;
|
|
10
|
+
let signer;
|
|
11
|
+
let multiProvider;
|
|
12
|
+
let mailbox;
|
|
13
|
+
before(async () => {
|
|
14
|
+
[signer] = await hre.ethers.getSigners();
|
|
15
|
+
multiProvider = MultiProvider.createTestMultiProvider({ signer });
|
|
16
|
+
const Mailbox = new Mailbox__factory(signer);
|
|
17
|
+
mailbox = await Mailbox.deploy(LOCAL_DOMAIN);
|
|
18
|
+
});
|
|
19
|
+
describe('Create', async () => {
|
|
20
|
+
it('should deploy an ICA with ISM', async () => {
|
|
21
|
+
const evmIcaModule = await EvmIcaModule.create({
|
|
22
|
+
chain: TestChainName.test1,
|
|
23
|
+
config: {
|
|
24
|
+
mailbox: mailbox.address,
|
|
25
|
+
owner: signer.address,
|
|
26
|
+
},
|
|
27
|
+
multiProvider,
|
|
28
|
+
});
|
|
29
|
+
const { interchainAccountRouter, interchainAccountIsm } = evmIcaModule.serialize();
|
|
30
|
+
expect(interchainAccountIsm).to.not.equal(ethers.constants.AddressZero);
|
|
31
|
+
expect(interchainAccountRouter).to.not.equal(ethers.constants.AddressZero);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//# sourceMappingURL=EvmIcaModule.hardhat-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmIcaModule.hardhat-test.js","sourceRoot":"","sources":["../../src/core/EvmIcaModule.hardhat-test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,GAAG,MAAM,SAAS,CAAC;AAE1B,OAAO,EAAW,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,QAAQ,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;IAClC,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,IAAI,MAAyB,CAAC;IAC9B,IAAI,aAA4B,CAAC;IACjC,IAAI,OAAgB,CAAC;IAErB,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC5B,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;gBAC7C,KAAK,EAAE,aAAa,CAAC,KAAK;gBAC1B,MAAM,EAAE;oBACN,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,MAAM,CAAC,OAAO;iBACtB;gBACD,aAAa;aACd,CAAC,CAAC;YAEH,MAAM,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,GACrD,YAAY,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAC1C,MAAM,CAAC,SAAS,CAAC,WAAW,CAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { rootLogger } from '@hyperlane-xyz/utils';
|
|
2
|
+
import { serializeContracts } from '../contracts/contracts.js';
|
|
3
|
+
import { InterchainAccountDeployer } from '../middleware/account/InterchainAccountDeployer.js';
|
|
4
|
+
import { HyperlaneModule, } from './AbstractHyperlaneModule.js';
|
|
5
|
+
export class EvmIcaModule extends HyperlaneModule {
|
|
6
|
+
multiProvider;
|
|
7
|
+
logger = rootLogger.child({ module: 'EvmIcaModule' });
|
|
8
|
+
constructor(multiProvider, args) {
|
|
9
|
+
super(args);
|
|
10
|
+
this.multiProvider = multiProvider;
|
|
11
|
+
}
|
|
12
|
+
async read() {
|
|
13
|
+
throw new Error('Method not implemented.');
|
|
14
|
+
}
|
|
15
|
+
async update(_config) {
|
|
16
|
+
throw new Error('Method not implemented.');
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new EvmIcaModule instance by deploying an ICA with an ICA ISM.
|
|
20
|
+
*
|
|
21
|
+
* @param chain - The chain on which to deploy the ICA.
|
|
22
|
+
* @param config - The configuration for the ICA.
|
|
23
|
+
* @param multiProvider - The MultiProvider instance to use for deployment.
|
|
24
|
+
* @returns {Promise<EvmIcaModule>} - A new EvmIcaModule instance.
|
|
25
|
+
*/
|
|
26
|
+
static async create({ chain, config, multiProvider, }) {
|
|
27
|
+
const interchainAccountDeployer = new InterchainAccountDeployer(multiProvider);
|
|
28
|
+
const deployedContracts = await interchainAccountDeployer.deployContracts(multiProvider.getChainName(chain), config);
|
|
29
|
+
return new EvmIcaModule(multiProvider, {
|
|
30
|
+
addresses: serializeContracts(deployedContracts),
|
|
31
|
+
chain,
|
|
32
|
+
config,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=EvmIcaModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EvmIcaModule.js","sourceRoot":"","sources":["../../src/core/EvmIcaModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAO/F,OAAO,EACL,eAAe,GAEhB,MAAM,8BAA8B,CAAC;AAItC,MAAM,OAAO,YAAa,SAAQ,eAIjC;IAIsB;IAHX,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAEhE,YACqB,aAA4B,EAC/C,IAGC;QAED,KAAK,CAAC,IAAI,CAAC,CAAC;QANO,kBAAa,GAAb,aAAa,CAAe;IAOjD,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,OAAgC;QAEhC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EACzB,KAAK,EACL,MAAM,EACN,aAAa,GAKd;QACC,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,CAC7D,aAAa,CACd,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,yBAAyB,CAAC,eAAe,CACvE,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EACjC,MAAM,CACP,CAAC;QAEF,OAAO,IAAI,YAAY,CAAC,aAAa,EAAE;YACrC,SAAS,EAAE,kBAAkB,CAAC,iBAAiB,CAAC;YAChD,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { TransactionReceipt } from '@ethersproject/providers';
|
|
1
2
|
import { ethers } from 'ethers';
|
|
2
3
|
import type { TransactionReceipt as ViemTxReceipt } from 'viem';
|
|
3
4
|
import { Address, AddressBytes32 } from '@hyperlane-xyz/utils';
|
|
4
5
|
import { HyperlaneApp } from '../app/HyperlaneApp.js';
|
|
5
6
|
import { HyperlaneAddressesMap } from '../contracts/types.js';
|
|
6
7
|
import { OwnableConfig } from '../deploy/types.js';
|
|
7
|
-
import {
|
|
8
|
+
import { DerivedIsmConfig } from '../ism/EvmIsmReader.js';
|
|
8
9
|
import { MultiProvider } from '../providers/MultiProvider.js';
|
|
9
10
|
import { RouterConfig } from '../router/types.js';
|
|
10
11
|
import { ChainMap, ChainName } from '../types.js';
|
|
@@ -13,11 +14,15 @@ import { DispatchedMessage } from './types.js';
|
|
|
13
14
|
export declare class HyperlaneCore extends HyperlaneApp<CoreFactories> {
|
|
14
15
|
static fromAddressesMap(addressesMap: HyperlaneAddressesMap<any>, multiProvider: MultiProvider): HyperlaneCore;
|
|
15
16
|
getRouterConfig: (owners: Address | ChainMap<OwnableConfig>) => ChainMap<RouterConfig>;
|
|
16
|
-
quoteGasPayment: (origin: ChainName, destination: ChainName, recipient: AddressBytes32, body: string) => Promise<ethers.BigNumber>;
|
|
17
|
+
quoteGasPayment: (origin: ChainName, destination: ChainName, recipient: AddressBytes32, body: string, metadata?: string, hook?: Address) => Promise<ethers.BigNumber>;
|
|
17
18
|
protected getDestination(message: DispatchedMessage): ChainName;
|
|
18
19
|
getRecipientIsmAddress(message: DispatchedMessage): Promise<Address>;
|
|
19
|
-
getRecipientIsmConfig(message: DispatchedMessage): Promise<
|
|
20
|
+
getRecipientIsmConfig(message: DispatchedMessage): Promise<DerivedIsmConfig>;
|
|
20
21
|
buildMetadata(message: DispatchedMessage): Promise<string>;
|
|
22
|
+
sendMessage(origin: ChainName, destination: ChainName, recipient: Address, body: string, hook?: Address, metadata?: string): Promise<{
|
|
23
|
+
dispatchTx: TransactionReceipt;
|
|
24
|
+
message: DispatchedMessage;
|
|
25
|
+
}>;
|
|
21
26
|
relayMessage(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
|
|
22
27
|
protected waitForProcessReceipt(message: DispatchedMessage): Promise<ethers.ContractReceipt>;
|
|
23
28
|
waitForMessageIdProcessed(messageId: string, destination: ChainName, delayMs?: number, maxAttempts?: number): Promise<true>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAGhE,OAAO,EACL,OAAO,EACP,cAAc,
|
|
1
|
+
{"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
|