@hyperlane-xyz/cli 11.0.0 → 12.1.0-cli-bundle.0
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/cli-bundle/338.index.js +214 -0
- package/cli-bundle/file.js +12 -0
- package/cli-bundle/index.js +555413 -0
- package/cli-bundle/package.json +3 -0
- package/cli-bundle/worker-pipeline.js +38 -0
- package/cli-bundle/worker.js +54 -0
- package/cli-bundle/worker1.js +169 -0
- package/package.json +30 -33
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -68
- package/dist/cli.js.map +0 -1
- package/dist/env.d.ts +0 -2
- package/dist/env.d.ts.map +0 -1
- package/dist/env.js +0 -14
- package/dist/env.js.map +0 -1
- package/dist/src/avs/check.d.ts +0 -3
- package/dist/src/avs/check.d.ts.map +0 -1
- package/dist/src/avs/check.js +0 -234
- package/dist/src/avs/check.js.map +0 -1
- package/dist/src/avs/config.d.ts +0 -12
- package/dist/src/avs/config.d.ts.map +0 -1
- package/dist/src/avs/config.js +0 -18
- package/dist/src/avs/config.js.map +0 -1
- package/dist/src/avs/stakeRegistry.d.ts +0 -22
- package/dist/src/avs/stakeRegistry.d.ts.map +0 -1
- package/dist/src/avs/stakeRegistry.js +0 -64
- package/dist/src/avs/stakeRegistry.js.map +0 -1
- package/dist/src/check/warp.d.ts +0 -6
- package/dist/src/check/warp.d.ts.map +0 -1
- package/dist/src/check/warp.js +0 -22
- package/dist/src/check/warp.js.map +0 -1
- package/dist/src/commands/avs.d.ts +0 -12
- package/dist/src/commands/avs.d.ts.map +0 -1
- package/dist/src/commands/avs.js +0 -86
- package/dist/src/commands/avs.js.map +0 -1
- package/dist/src/commands/config.d.ts +0 -6
- package/dist/src/commands/config.d.ts.map +0 -1
- package/dist/src/commands/config.js +0 -93
- package/dist/src/commands/config.js.map +0 -1
- package/dist/src/commands/core.d.ts +0 -38
- package/dist/src/commands/core.d.ts.map +0 -1
- package/dist/src/commands/core.js +0 -166
- package/dist/src/commands/core.js.map +0 -1
- package/dist/src/commands/deploy.d.ts +0 -6
- package/dist/src/commands/deploy.d.ts.map +0 -1
- package/dist/src/commands/deploy.js +0 -36
- package/dist/src/commands/deploy.js.map +0 -1
- package/dist/src/commands/hook.d.ts +0 -12
- package/dist/src/commands/hook.d.ts.map +0 -1
- package/dist/src/commands/hook.js +0 -36
- package/dist/src/commands/hook.js.map +0 -1
- package/dist/src/commands/ism.d.ts +0 -12
- package/dist/src/commands/ism.d.ts.map +0 -1
- package/dist/src/commands/ism.js +0 -38
- package/dist/src/commands/ism.js.map +0 -1
- package/dist/src/commands/options.d.ts +0 -44
- package/dist/src/commands/options.d.ts.map +0 -1
- package/dist/src/commands/options.js +0 -188
- package/dist/src/commands/options.js.map +0 -1
- package/dist/src/commands/registry.d.ts +0 -6
- package/dist/src/commands/registry.d.ts.map +0 -1
- package/dist/src/commands/registry.js +0 -168
- package/dist/src/commands/registry.js.map +0 -1
- package/dist/src/commands/relayer.d.ts +0 -9
- package/dist/src/commands/relayer.d.ts.map +0 -1
- package/dist/src/commands/relayer.js +0 -56
- package/dist/src/commands/relayer.js.map +0 -1
- package/dist/src/commands/send.d.ts +0 -25
- package/dist/src/commands/send.d.ts.map +0 -1
- package/dist/src/commands/send.js +0 -75
- package/dist/src/commands/send.js.map +0 -1
- package/dist/src/commands/signCommands.d.ts +0 -14
- package/dist/src/commands/signCommands.d.ts.map +0 -1
- package/dist/src/commands/signCommands.js +0 -28
- package/dist/src/commands/signCommands.js.map +0 -1
- package/dist/src/commands/status.d.ts +0 -8
- package/dist/src/commands/status.d.ts.map +0 -1
- package/dist/src/commands/status.js +0 -28
- package/dist/src/commands/status.js.map +0 -1
- package/dist/src/commands/strategy.d.ts +0 -13
- package/dist/src/commands/strategy.d.ts.map +0 -1
- package/dist/src/commands/strategy.js +0 -49
- package/dist/src/commands/strategy.js.map +0 -1
- package/dist/src/commands/submit.d.ts +0 -18
- package/dist/src/commands/submit.d.ts.map +0 -1
- package/dist/src/commands/submit.js +0 -41
- package/dist/src/commands/submit.js.map +0 -1
- package/dist/src/commands/types.d.ts +0 -3
- package/dist/src/commands/types.d.ts.map +0 -1
- package/dist/src/commands/types.js +0 -2
- package/dist/src/commands/types.js.map +0 -1
- package/dist/src/commands/validator.d.ts +0 -3
- package/dist/src/commands/validator.d.ts.map +0 -1
- package/dist/src/commands/validator.js +0 -78
- package/dist/src/commands/validator.js.map +0 -1
- package/dist/src/commands/warp.d.ts +0 -37
- package/dist/src/commands/warp.d.ts.map +0 -1
- package/dist/src/commands/warp.js +0 -272
- package/dist/src/commands/warp.js.map +0 -1
- package/dist/src/config/agent.d.ts +0 -7
- package/dist/src/config/agent.d.ts.map +0 -1
- package/dist/src/config/agent.js +0 -82
- package/dist/src/config/agent.js.map +0 -1
- package/dist/src/config/chain.d.ts +0 -7
- package/dist/src/config/chain.d.ts.map +0 -1
- package/dist/src/config/chain.js +0 -224
- package/dist/src/config/chain.js.map +0 -1
- package/dist/src/config/chain.test.d.ts +0 -2
- package/dist/src/config/chain.test.d.ts.map +0 -1
- package/dist/src/config/chain.test.js +0 -9
- package/dist/src/config/chain.test.js.map +0 -1
- package/dist/src/config/core.d.ts +0 -9
- package/dist/src/config/core.d.ts.map +0 -1
- package/dist/src/config/core.js +0 -62
- package/dist/src/config/core.js.map +0 -1
- package/dist/src/config/hooks.d.ts +0 -28
- package/dist/src/config/hooks.d.ts.map +0 -1
- package/dist/src/config/hooks.js +0 -260
- package/dist/src/config/hooks.js.map +0 -1
- package/dist/src/config/ism.d.ts +0 -220
- package/dist/src/config/ism.d.ts.map +0 -1
- package/dist/src/config/ism.js +0 -186
- package/dist/src/config/ism.js.map +0 -1
- package/dist/src/config/multisig.d.ts +0 -45
- package/dist/src/config/multisig.d.ts.map +0 -1
- package/dist/src/config/multisig.js +0 -95
- package/dist/src/config/multisig.js.map +0 -1
- package/dist/src/config/prompts.d.ts +0 -2
- package/dist/src/config/prompts.d.ts.map +0 -1
- package/dist/src/config/prompts.js +0 -9
- package/dist/src/config/prompts.js.map +0 -1
- package/dist/src/config/strategy.d.ts +0 -11
- package/dist/src/config/strategy.d.ts.map +0 -1
- package/dist/src/config/strategy.js +0 -106
- package/dist/src/config/strategy.js.map +0 -1
- package/dist/src/config/submit.d.ts +0 -9
- package/dist/src/config/submit.d.ts.map +0 -1
- package/dist/src/config/submit.js +0 -29
- package/dist/src/config/submit.js.map +0 -1
- package/dist/src/config/utils.d.ts +0 -3
- package/dist/src/config/utils.d.ts.map +0 -1
- package/dist/src/config/utils.js +0 -14
- package/dist/src/config/utils.js.map +0 -1
- package/dist/src/config/warp.d.ts +0 -11
- package/dist/src/config/warp.d.ts.map +0 -1
- package/dist/src/config/warp.js +0 -230
- package/dist/src/config/warp.js.map +0 -1
- package/dist/src/consts.d.ts +0 -7
- package/dist/src/consts.d.ts.map +0 -1
- package/dist/src/consts.js +0 -7
- package/dist/src/consts.js.map +0 -1
- package/dist/src/context/context.d.ts +0 -25
- package/dist/src/context/context.d.ts.map +0 -1
- package/dist/src/context/context.js +0 -180
- package/dist/src/context/context.js.map +0 -1
- package/dist/src/context/strategies/chain/ChainResolverFactory.d.ts +0 -14
- package/dist/src/context/strategies/chain/ChainResolverFactory.d.ts.map +0 -1
- package/dist/src/context/strategies/chain/ChainResolverFactory.js +0 -32
- package/dist/src/context/strategies/chain/ChainResolverFactory.js.map +0 -1
- package/dist/src/context/strategies/chain/MultiChainResolver.d.ts +0 -36
- package/dist/src/context/strategies/chain/MultiChainResolver.d.ts.map +0 -1
- package/dist/src/context/strategies/chain/MultiChainResolver.js +0 -172
- package/dist/src/context/strategies/chain/MultiChainResolver.js.map +0 -1
- package/dist/src/context/strategies/chain/types.d.ts +0 -10
- package/dist/src/context/strategies/chain/types.d.ts.map +0 -1
- package/dist/src/context/strategies/chain/types.js +0 -2
- package/dist/src/context/strategies/chain/types.js.map +0 -1
- package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.d.ts +0 -19
- package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.d.ts.map +0 -1
- package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.js +0 -7
- package/dist/src/context/strategies/signer/BaseMultiProtocolSigner.js.map +0 -1
- package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.d.ts +0 -6
- package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.d.ts.map +0 -1
- package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.js +0 -47
- package/dist/src/context/strategies/signer/MultiProtocolSignerFactory.js.map +0 -1
- package/dist/src/context/strategies/signer/MultiProtocolSignerManager.d.ts +0 -51
- package/dist/src/context/strategies/signer/MultiProtocolSignerManager.d.ts.map +0 -1
- package/dist/src/context/strategies/signer/MultiProtocolSignerManager.js +0 -115
- package/dist/src/context/strategies/signer/MultiProtocolSignerManager.js.map +0 -1
- package/dist/src/context/types.d.ts +0 -36
- package/dist/src/context/types.d.ts.map +0 -1
- package/dist/src/context/types.js +0 -2
- package/dist/src/context/types.js.map +0 -1
- package/dist/src/deploy/agent.d.ts +0 -8
- package/dist/src/deploy/agent.d.ts.map +0 -1
- package/dist/src/deploy/agent.js +0 -41
- package/dist/src/deploy/agent.js.map +0 -1
- package/dist/src/deploy/core.d.ts +0 -17
- package/dist/src/deploy/core.d.ts.map +0 -1
- package/dist/src/deploy/core.js +0 -84
- package/dist/src/deploy/core.js.map +0 -1
- package/dist/src/deploy/dry-run.d.ts +0 -19
- package/dist/src/deploy/dry-run.d.ts.map +0 -1
- package/dist/src/deploy/dry-run.js +0 -46
- package/dist/src/deploy/dry-run.js.map +0 -1
- package/dist/src/deploy/utils.d.ts +0 -19
- package/dist/src/deploy/utils.d.ts.map +0 -1
- package/dist/src/deploy/utils.js +0 -112
- package/dist/src/deploy/utils.js.map +0 -1
- package/dist/src/deploy/warp.d.ts +0 -34
- package/dist/src/deploy/warp.d.ts.map +0 -1
- package/dist/src/deploy/warp.js +0 -517
- package/dist/src/deploy/warp.js.map +0 -1
- package/dist/src/hook/read.d.ts +0 -13
- package/dist/src/hook/read.d.ts.map +0 -1
- package/dist/src/hook/read.js +0 -25
- package/dist/src/hook/read.js.map +0 -1
- package/dist/src/ism/read.d.ts +0 -13
- package/dist/src/ism/read.d.ts.map +0 -1
- package/dist/src/ism/read.js +0 -25
- package/dist/src/ism/read.js.map +0 -1
- package/dist/src/logger.d.ts +0 -21
- package/dist/src/logger.d.ts.map +0 -1
- package/dist/src/logger.js +0 -40
- package/dist/src/logger.js.map +0 -1
- package/dist/src/read/core.d.ts +0 -9
- package/dist/src/read/core.d.ts.map +0 -1
- package/dist/src/read/core.js +0 -22
- package/dist/src/read/core.js.map +0 -1
- package/dist/src/read/warp.d.ts +0 -10
- package/dist/src/read/warp.d.ts.map +0 -1
- package/dist/src/read/warp.js +0 -60
- package/dist/src/read/warp.js.map +0 -1
- package/dist/src/send/message.d.ts +0 -12
- package/dist/src/send/message.d.ts.map +0 -1
- package/dist/src/send/message.js +0 -75
- package/dist/src/send/message.js.map +0 -1
- package/dist/src/send/transfer.d.ts +0 -16
- package/dist/src/send/transfer.d.ts.map +0 -1
- package/dist/src/send/transfer.js +0 -113
- package/dist/src/send/transfer.js.map +0 -1
- package/dist/src/status/message.d.ts +0 -10
- package/dist/src/status/message.d.ts.map +0 -1
- package/dist/src/status/message.js +0 -70
- package/dist/src/status/message.js.map +0 -1
- package/dist/src/submit/submit.d.ts +0 -5
- package/dist/src/submit/submit.d.ts.map +0 -1
- package/dist/src/submit/submit.js +0 -42
- package/dist/src/submit/submit.js.map +0 -1
- package/dist/src/submit/types.d.ts +0 -6
- package/dist/src/submit/types.d.ts.map +0 -1
- package/dist/src/submit/types.js +0 -2
- package/dist/src/submit/types.js.map +0 -1
- package/dist/src/tests/commands/core.d.ts +0 -32
- package/dist/src/tests/commands/core.d.ts.map +0 -1
- package/dist/src/tests/commands/core.js +0 -116
- package/dist/src/tests/commands/core.js.map +0 -1
- package/dist/src/tests/commands/helpers.d.ts +0 -107
- package/dist/src/tests/commands/helpers.d.ts.map +0 -1
- package/dist/src/tests/commands/helpers.js +0 -291
- package/dist/src/tests/commands/helpers.js.map +0 -1
- package/dist/src/tests/commands/warp.d.ts +0 -54
- package/dist/src/tests/commands/warp.d.ts.map +0 -1
- package/dist/src/tests/commands/warp.js +0 -225
- package/dist/src/tests/commands/warp.js.map +0 -1
- package/dist/src/tests/core/core-apply.e2e-test.d.ts +0 -2
- package/dist/src/tests/core/core-apply.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/core/core-apply.e2e-test.js +0 -155
- package/dist/src/tests/core/core-apply.e2e-test.js.map +0 -1
- package/dist/src/tests/core/core-check.e2e-test.d.ts +0 -2
- package/dist/src/tests/core/core-check.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/core/core-check.e2e-test.js +0 -49
- package/dist/src/tests/core/core-check.e2e-test.js.map +0 -1
- package/dist/src/tests/core/core-deploy.e2e-test.d.ts +0 -2
- package/dist/src/tests/core/core-deploy.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/core/core-deploy.e2e-test.js +0 -165
- package/dist/src/tests/core/core-deploy.e2e-test.js.map +0 -1
- package/dist/src/tests/core/core-init.e2e-test.d.ts +0 -2
- package/dist/src/tests/core/core-init.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/core/core-init.e2e-test.js +0 -124
- package/dist/src/tests/core/core-init.e2e-test.js.map +0 -1
- package/dist/src/tests/core/core-read.e2e-test.d.ts +0 -2
- package/dist/src/tests/core/core-read.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/core/core-read.e2e-test.js +0 -29
- package/dist/src/tests/core/core-read.e2e-test.js.map +0 -1
- package/dist/src/tests/deployTestErc20.d.ts +0 -2
- package/dist/src/tests/deployTestErc20.d.ts.map +0 -1
- package/dist/src/tests/deployTestErc20.js +0 -27
- package/dist/src/tests/deployTestErc20.js.map +0 -1
- package/dist/src/tests/hooks.test.d.ts +0 -2
- package/dist/src/tests/hooks.test.d.ts.map +0 -1
- package/dist/src/tests/hooks.test.js +0 -89
- package/dist/src/tests/hooks.test.js.map +0 -1
- package/dist/src/tests/ism.test.d.ts +0 -2
- package/dist/src/tests/ism.test.d.ts.map +0 -1
- package/dist/src/tests/ism.test.js +0 -76
- package/dist/src/tests/ism.test.js.map +0 -1
- package/dist/src/tests/relay.e2e-test.d.ts +0 -2
- package/dist/src/tests/relay.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/relay.e2e-test.js +0 -44
- package/dist/src/tests/relay.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-apply.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-apply.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-apply.e2e-test.js +0 -91
- package/dist/src/tests/warp/warp-apply.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-bridge-1.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-bridge-1.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-bridge-1.e2e-test.js +0 -21
- package/dist/src/tests/warp/warp-bridge-1.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-bridge-2.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-bridge-2.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-bridge-2.e2e-test.js +0 -21
- package/dist/src/tests/warp/warp-bridge-2.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-bridge-utils.d.ts +0 -30
- package/dist/src/tests/warp/warp-bridge-utils.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-bridge-utils.js +0 -140
- package/dist/src/tests/warp/warp-bridge-utils.js.map +0 -1
- package/dist/src/tests/warp/warp-check.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-check.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-check.e2e-test.js +0 -286
- package/dist/src/tests/warp/warp-check.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-deploy.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-deploy.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-deploy.e2e-test.js +0 -300
- package/dist/src/tests/warp/warp-deploy.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-extend-basic.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-extend-basic.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-extend-basic.e2e-test.js +0 -172
- package/dist/src/tests/warp/warp-extend-basic.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-extend-config.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-extend-config.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-extend-config.e2e-test.js +0 -115
- package/dist/src/tests/warp/warp-extend-config.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-extend-recovery.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-extend-recovery.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-extend-recovery.e2e-test.js +0 -167
- package/dist/src/tests/warp/warp-extend-recovery.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-init.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-init.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-init.e2e-test.js +0 -102
- package/dist/src/tests/warp/warp-init.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-read.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-read.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-read.e2e-test.js +0 -98
- package/dist/src/tests/warp/warp-read.e2e-test.js.map +0 -1
- package/dist/src/tests/warp/warp-send.e2e-test.d.ts +0 -2
- package/dist/src/tests/warp/warp-send.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp/warp-send.e2e-test.js +0 -341
- package/dist/src/tests/warp/warp-send.e2e-test.js.map +0 -1
- package/dist/src/utils/balances.d.ts +0 -3
- package/dist/src/utils/balances.d.ts.map +0 -1
- package/dist/src/utils/balances.js +0 -39
- package/dist/src/utils/balances.js.map +0 -1
- package/dist/src/utils/chains.d.ts +0 -41
- package/dist/src/utils/chains.d.ts.map +0 -1
- package/dist/src/utils/chains.js +0 -128
- package/dist/src/utils/chains.js.map +0 -1
- package/dist/src/utils/cli-options.d.ts +0 -9
- package/dist/src/utils/cli-options.d.ts.map +0 -1
- package/dist/src/utils/cli-options.js +0 -14
- package/dist/src/utils/cli-options.js.map +0 -1
- package/dist/src/utils/env.d.ts +0 -9
- package/dist/src/utils/env.d.ts.map +0 -1
- package/dist/src/utils/env.js +0 -12
- package/dist/src/utils/env.js.map +0 -1
- package/dist/src/utils/files.d.ts +0 -34
- package/dist/src/utils/files.d.ts.map +0 -1
- package/dist/src/utils/files.js +0 -178
- package/dist/src/utils/files.js.map +0 -1
- package/dist/src/utils/input.d.ts +0 -54
- package/dist/src/utils/input.d.ts.map +0 -1
- package/dist/src/utils/input.js +0 -339
- package/dist/src/utils/input.js.map +0 -1
- package/dist/src/utils/keys.d.ts +0 -31
- package/dist/src/utils/keys.d.ts.map +0 -1
- package/dist/src/utils/keys.js +0 -77
- package/dist/src/utils/keys.js.map +0 -1
- package/dist/src/utils/output.d.ts +0 -24
- package/dist/src/utils/output.d.ts.map +0 -1
- package/dist/src/utils/output.js +0 -88
- package/dist/src/utils/output.js.map +0 -1
- package/dist/src/utils/relay.d.ts +0 -6
- package/dist/src/utils/relay.d.ts.map +0 -1
- package/dist/src/utils/relay.js +0 -19
- package/dist/src/utils/relay.js.map +0 -1
- package/dist/src/utils/time.d.ts +0 -2
- package/dist/src/utils/time.d.ts.map +0 -1
- package/dist/src/utils/time.js +0 -12
- package/dist/src/utils/time.js.map +0 -1
- package/dist/src/utils/time.test.d.ts +0 -2
- package/dist/src/utils/time.test.d.ts.map +0 -1
- package/dist/src/utils/time.test.js +0 -9
- package/dist/src/utils/time.test.js.map +0 -1
- package/dist/src/utils/tokens.d.ts +0 -5
- package/dist/src/utils/tokens.d.ts.map +0 -1
- package/dist/src/utils/tokens.js +0 -40
- package/dist/src/utils/tokens.js.map +0 -1
- package/dist/src/utils/version-check.d.ts +0 -2
- package/dist/src/utils/version-check.d.ts.map +0 -1
- package/dist/src/utils/version-check.js +0 -15
- package/dist/src/utils/version-check.js.map +0 -1
- package/dist/src/utils/warp.d.ts +0 -14
- package/dist/src/utils/warp.d.ts.map +0 -1
- package/dist/src/utils/warp.js +0 -24
- package/dist/src/utils/warp.js.map +0 -1
- package/dist/src/validator/address.d.ts +0 -10
- package/dist/src/validator/address.d.ts.map +0 -1
- package/dist/src/validator/address.js +0 -107
- package/dist/src/validator/address.js.map +0 -1
- package/dist/src/validator/preFlightCheck.d.ts +0 -4
- package/dist/src/validator/preFlightCheck.d.ts.map +0 -1
- package/dist/src/validator/preFlightCheck.js +0 -74
- package/dist/src/validator/preFlightCheck.js.map +0 -1
- package/dist/src/validator/utils.d.ts +0 -9
- package/dist/src/validator/utils.d.ts.map +0 -1
- package/dist/src/validator/utils.js +0 -46
- package/dist/src/validator/utils.js.map +0 -1
- package/dist/src/verify/warp.d.ts +0 -7
- package/dist/src/verify/warp.d.ts.map +0 -1
- package/dist/src/verify/warp.js +0 -61
- package/dist/src/verify/warp.js.map +0 -1
- package/dist/src/version.d.ts +0 -2
- package/dist/src/version.d.ts.map +0 -1
- package/dist/src/version.js +0 -2
- package/dist/src/version.js.map +0 -1
|
@@ -1,300 +0,0 @@
|
|
|
1
|
-
import { JsonRpcProvider } from '@ethersproject/providers';
|
|
2
|
-
import * as chai from 'chai';
|
|
3
|
-
import chaiAsPromised from 'chai-as-promised';
|
|
4
|
-
import { Wallet } from 'ethers';
|
|
5
|
-
import { HookType, IsmType, TokenType, normalizeConfig, } from '@hyperlane-xyz/sdk';
|
|
6
|
-
import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
|
|
7
|
-
import { ANVIL_KEY, CHAIN_2_METADATA_PATH, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, KeyBoardKeys, WARP_DEPLOY_OUTPUT_PATH, deploy4626Vault, deployOrUseExistingCore, deployToken, getCombinedWarpRoutePath, handlePrompts, } from '../commands/helpers.js';
|
|
8
|
-
import { hyperlaneWarpDeploy, hyperlaneWarpDeployRaw, hyperlaneWarpSendRelay, readWarpConfig, } from '../commands/warp.js';
|
|
9
|
-
chai.use(chaiAsPromised);
|
|
10
|
-
const expect = chai.expect;
|
|
11
|
-
chai.should();
|
|
12
|
-
const WARP_CORE_CONFIG_PATH_2_3 = getCombinedWarpRoutePath('VAULT', [
|
|
13
|
-
CHAIN_NAME_2,
|
|
14
|
-
CHAIN_NAME_3,
|
|
15
|
-
]);
|
|
16
|
-
describe('hyperlane warp deploy e2e tests', async function () {
|
|
17
|
-
this.timeout(DEFAULT_E2E_TEST_TIMEOUT);
|
|
18
|
-
let chain2Addresses = {};
|
|
19
|
-
let chain3Addresses = {};
|
|
20
|
-
let ownerAddress;
|
|
21
|
-
let walletChain2;
|
|
22
|
-
before(async function () {
|
|
23
|
-
const chain2Metadata = readYamlOrJson(CHAIN_2_METADATA_PATH);
|
|
24
|
-
const providerChain2 = new JsonRpcProvider(chain2Metadata.rpcUrls[0].http);
|
|
25
|
-
walletChain2 = new Wallet(ANVIL_KEY).connect(providerChain2);
|
|
26
|
-
ownerAddress = walletChain2.address;
|
|
27
|
-
[chain2Addresses, chain3Addresses] = await Promise.all([
|
|
28
|
-
deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
29
|
-
deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
30
|
-
]);
|
|
31
|
-
});
|
|
32
|
-
async function assertWarpRouteConfig(warpDeployConfig, warpCoreConfigPath, chainName, expectedMetadata) {
|
|
33
|
-
const currentWarpDeployConfig = await readWarpConfig(chainName, warpCoreConfigPath, WARP_DEPLOY_OUTPUT_PATH);
|
|
34
|
-
expect(currentWarpDeployConfig[chainName].type).to.equal(warpDeployConfig[chainName].type);
|
|
35
|
-
expect(currentWarpDeployConfig[chainName].decimals).to.equal(warpDeployConfig[chainName].decimals ?? expectedMetadata.decimals);
|
|
36
|
-
expect(currentWarpDeployConfig[chainName].symbol).to.equal(warpDeployConfig[chainName].symbol ?? expectedMetadata.symbol);
|
|
37
|
-
expect(currentWarpDeployConfig[chainName].mailbox).to.equal(chain2Addresses.mailbox);
|
|
38
|
-
}
|
|
39
|
-
describe('hyperlane warp deploy --config ...', () => {
|
|
40
|
-
it(`should exit early when the provided deployment file does not exist`, async function () {
|
|
41
|
-
const nonExistingFilePath = 'non-existing-path';
|
|
42
|
-
// Currently if the file provided in the config flag does not exist a prompt will still be shown to the
|
|
43
|
-
// user to enter a valid file and then it will finally fail
|
|
44
|
-
const steps = [
|
|
45
|
-
{
|
|
46
|
-
check: (currentOutput) => currentOutput.includes('Select Warp route deployment config file'),
|
|
47
|
-
input: `${KeyBoardKeys.ARROW_DOWN}${KeyBoardKeys.ENTER}`,
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
check: (currentOutput) => currentOutput.includes('Enter Warp route deployment config filepath'),
|
|
51
|
-
input: `${nonExistingFilePath}${KeyBoardKeys.ENTER}`,
|
|
52
|
-
},
|
|
53
|
-
];
|
|
54
|
-
const output = hyperlaneWarpDeployRaw({
|
|
55
|
-
warpCorePath: nonExistingFilePath,
|
|
56
|
-
})
|
|
57
|
-
.stdio('pipe')
|
|
58
|
-
.nothrow();
|
|
59
|
-
const finalOutput = await handlePrompts(output, steps);
|
|
60
|
-
expect(finalOutput.exitCode).to.equal(1);
|
|
61
|
-
expect(finalOutput
|
|
62
|
-
.text()
|
|
63
|
-
.includes(`No "Warp route deployment config" found in`) ||
|
|
64
|
-
finalOutput
|
|
65
|
-
.text()
|
|
66
|
-
.includes(`Invalid file format for ${nonExistingFilePath}`)).to.be.true;
|
|
67
|
-
});
|
|
68
|
-
it(`should successfully deploy a ${TokenType.collateral} -> ${TokenType.synthetic} warp route`, async function () {
|
|
69
|
-
const token = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
70
|
-
const [expectedTokenSymbol, expectedTokenDecimals] = await Promise.all([
|
|
71
|
-
token.symbol(),
|
|
72
|
-
token.decimals(),
|
|
73
|
-
]);
|
|
74
|
-
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath(expectedTokenSymbol, [CHAIN_NAME_2, CHAIN_NAME_3]);
|
|
75
|
-
const warpConfig = {
|
|
76
|
-
[CHAIN_NAME_2]: {
|
|
77
|
-
type: TokenType.collateral,
|
|
78
|
-
token: token.address,
|
|
79
|
-
mailbox: chain2Addresses.mailbox,
|
|
80
|
-
owner: ownerAddress,
|
|
81
|
-
},
|
|
82
|
-
[CHAIN_NAME_3]: {
|
|
83
|
-
type: TokenType.synthetic,
|
|
84
|
-
mailbox: chain3Addresses.mailbox,
|
|
85
|
-
owner: ownerAddress,
|
|
86
|
-
},
|
|
87
|
-
};
|
|
88
|
-
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
89
|
-
const steps = [
|
|
90
|
-
{
|
|
91
|
-
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
92
|
-
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
96
|
-
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
check: (currentOutput) => currentOutput.includes('Is this deployment plan correct?'),
|
|
100
|
-
input: KeyBoardKeys.ENTER,
|
|
101
|
-
},
|
|
102
|
-
];
|
|
103
|
-
// Deploy
|
|
104
|
-
const output = hyperlaneWarpDeployRaw({
|
|
105
|
-
warpCorePath: WARP_DEPLOY_OUTPUT_PATH,
|
|
106
|
-
})
|
|
107
|
-
.stdio('pipe')
|
|
108
|
-
.nothrow();
|
|
109
|
-
const finalOutput = await handlePrompts(output, steps);
|
|
110
|
-
// Assertions
|
|
111
|
-
expect(finalOutput.exitCode).to.equal(0);
|
|
112
|
-
for (const chainName of [CHAIN_NAME_2, CHAIN_NAME_3]) {
|
|
113
|
-
await assertWarpRouteConfig(warpConfig, COMBINED_WARP_CORE_CONFIG_PATH, chainName, { decimals: expectedTokenDecimals, symbol: expectedTokenSymbol });
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
describe('hyperlane warp deploy --config ... --yes', () => {
|
|
118
|
-
it(`should exit early when the provided deployment file does not exist and the skip flag is provided`, async function () {
|
|
119
|
-
const nonExistingFilePath = 'non-existing-path';
|
|
120
|
-
// Currently if the file provided in the config flag does not exist a prompt will still be shown to the
|
|
121
|
-
// user to enter a valid file and then it will finally fail
|
|
122
|
-
const steps = [
|
|
123
|
-
{
|
|
124
|
-
check: (currentOutput) => currentOutput.includes('Select Warp route deployment config file'),
|
|
125
|
-
input: `${KeyBoardKeys.ARROW_DOWN}${KeyBoardKeys.ENTER}`,
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
check: (currentOutput) => currentOutput.includes('Enter Warp route deployment config filepath'),
|
|
129
|
-
input: `${nonExistingFilePath}${KeyBoardKeys.ENTER}`,
|
|
130
|
-
},
|
|
131
|
-
];
|
|
132
|
-
const output = hyperlaneWarpDeployRaw({
|
|
133
|
-
warpCorePath: nonExistingFilePath,
|
|
134
|
-
skipConfirmationPrompts: true,
|
|
135
|
-
})
|
|
136
|
-
.stdio('pipe')
|
|
137
|
-
.nothrow();
|
|
138
|
-
const finalOutput = await handlePrompts(output, steps);
|
|
139
|
-
expect(finalOutput.exitCode).to.equal(1);
|
|
140
|
-
expect(finalOutput.text()).to.include(`Warp route deployment config is required`);
|
|
141
|
-
});
|
|
142
|
-
it(`should successfully deploy a ${TokenType.collateral} -> ${TokenType.synthetic} warp route`, async function () {
|
|
143
|
-
const token = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
144
|
-
const [expectedTokenSymbol, expectedTokenDecimals] = await Promise.all([
|
|
145
|
-
token.symbol(),
|
|
146
|
-
token.decimals(),
|
|
147
|
-
]);
|
|
148
|
-
console.log(expectedTokenDecimals);
|
|
149
|
-
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath(expectedTokenSymbol, [CHAIN_NAME_2, CHAIN_NAME_3]);
|
|
150
|
-
const warpConfig = {
|
|
151
|
-
[CHAIN_NAME_2]: {
|
|
152
|
-
type: TokenType.collateral,
|
|
153
|
-
token: token.address,
|
|
154
|
-
mailbox: chain2Addresses.mailbox,
|
|
155
|
-
owner: ownerAddress,
|
|
156
|
-
},
|
|
157
|
-
[CHAIN_NAME_3]: {
|
|
158
|
-
type: TokenType.synthetic,
|
|
159
|
-
mailbox: chain3Addresses.mailbox,
|
|
160
|
-
owner: ownerAddress,
|
|
161
|
-
},
|
|
162
|
-
};
|
|
163
|
-
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
164
|
-
const steps = [
|
|
165
|
-
{
|
|
166
|
-
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
167
|
-
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
171
|
-
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
172
|
-
},
|
|
173
|
-
];
|
|
174
|
-
// Deploy
|
|
175
|
-
const output = hyperlaneWarpDeployRaw({
|
|
176
|
-
warpCorePath: WARP_DEPLOY_OUTPUT_PATH,
|
|
177
|
-
skipConfirmationPrompts: true,
|
|
178
|
-
})
|
|
179
|
-
.stdio('pipe')
|
|
180
|
-
.nothrow();
|
|
181
|
-
const finalOutput = await handlePrompts(output, steps);
|
|
182
|
-
// Assertions
|
|
183
|
-
expect(finalOutput.exitCode).to.equal(0);
|
|
184
|
-
for (const chainName of [CHAIN_NAME_2, CHAIN_NAME_3]) {
|
|
185
|
-
await assertWarpRouteConfig(warpConfig, COMBINED_WARP_CORE_CONFIG_PATH, chainName, { decimals: expectedTokenDecimals, symbol: expectedTokenSymbol });
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
describe(`hyperlane warp deploy --config ... --yes --key ...`, () => {
|
|
190
|
-
let tokenChain2;
|
|
191
|
-
let vaultChain2;
|
|
192
|
-
before(async () => {
|
|
193
|
-
tokenChain2 = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
194
|
-
vaultChain2 = await deploy4626Vault(ANVIL_KEY, CHAIN_NAME_2, tokenChain2.address);
|
|
195
|
-
});
|
|
196
|
-
it('should only allow rebasing yield route to be deployed with rebasing synthetic', async function () {
|
|
197
|
-
const warpConfig = {
|
|
198
|
-
[CHAIN_NAME_2]: {
|
|
199
|
-
type: TokenType.collateralVaultRebase,
|
|
200
|
-
token: vaultChain2.address,
|
|
201
|
-
mailbox: chain2Addresses.mailbox,
|
|
202
|
-
owner: chain2Addresses.mailbox,
|
|
203
|
-
},
|
|
204
|
-
[CHAIN_NAME_3]: {
|
|
205
|
-
type: TokenType.synthetic,
|
|
206
|
-
mailbox: chain2Addresses.mailbox,
|
|
207
|
-
owner: chain2Addresses.mailbox,
|
|
208
|
-
},
|
|
209
|
-
};
|
|
210
|
-
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
211
|
-
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH).should.be.rejected; // TODO: revisit this to figure out how to parse the error.
|
|
212
|
-
});
|
|
213
|
-
it('should deploy with an ISM config', async () => {
|
|
214
|
-
// 1. Define ISM configuration
|
|
215
|
-
const ism = {
|
|
216
|
-
type: IsmType.MESSAGE_ID_MULTISIG,
|
|
217
|
-
validators: [chain2Addresses.mailbox], // Using mailbox address as example validator
|
|
218
|
-
threshold: 1,
|
|
219
|
-
};
|
|
220
|
-
// 2. Create Warp configuration with ISM
|
|
221
|
-
const warpConfig = {
|
|
222
|
-
[CHAIN_NAME_2]: {
|
|
223
|
-
type: TokenType.collateralVaultRebase,
|
|
224
|
-
token: vaultChain2.address,
|
|
225
|
-
mailbox: chain2Addresses.mailbox,
|
|
226
|
-
owner: chain2Addresses.mailbox,
|
|
227
|
-
interchainSecurityModule: ism, // Add ISM config here
|
|
228
|
-
},
|
|
229
|
-
[CHAIN_NAME_3]: {
|
|
230
|
-
type: TokenType.syntheticRebase,
|
|
231
|
-
mailbox: chain3Addresses.mailbox,
|
|
232
|
-
owner: chain3Addresses.mailbox,
|
|
233
|
-
collateralChainName: CHAIN_NAME_2,
|
|
234
|
-
},
|
|
235
|
-
};
|
|
236
|
-
// 3. Write config and deploy
|
|
237
|
-
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
238
|
-
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
239
|
-
// 4. Verify deployed ISM configuration
|
|
240
|
-
const collateralRebaseConfig = (await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3, WARP_DEPLOY_OUTPUT_PATH))[CHAIN_NAME_2];
|
|
241
|
-
expect(normalizeConfig(collateralRebaseConfig.interchainSecurityModule)).to.deep.equal(normalizeConfig(ism));
|
|
242
|
-
});
|
|
243
|
-
it('should deploy with a hook config', async () => {
|
|
244
|
-
const hook = {
|
|
245
|
-
type: HookType.PROTOCOL_FEE,
|
|
246
|
-
beneficiary: chain2Addresses.mailbox,
|
|
247
|
-
owner: chain2Addresses.mailbox,
|
|
248
|
-
maxProtocolFee: '1337',
|
|
249
|
-
protocolFee: '1337',
|
|
250
|
-
};
|
|
251
|
-
const warpConfig = {
|
|
252
|
-
[CHAIN_NAME_2]: {
|
|
253
|
-
type: TokenType.collateralVaultRebase,
|
|
254
|
-
token: vaultChain2.address,
|
|
255
|
-
mailbox: chain2Addresses.mailbox,
|
|
256
|
-
owner: chain2Addresses.mailbox,
|
|
257
|
-
hook,
|
|
258
|
-
},
|
|
259
|
-
[CHAIN_NAME_3]: {
|
|
260
|
-
type: TokenType.syntheticRebase,
|
|
261
|
-
mailbox: chain3Addresses.mailbox,
|
|
262
|
-
owner: chain3Addresses.mailbox,
|
|
263
|
-
collateralChainName: CHAIN_NAME_2,
|
|
264
|
-
},
|
|
265
|
-
};
|
|
266
|
-
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
267
|
-
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
268
|
-
// Check collateralRebase
|
|
269
|
-
const collateralRebaseConfig = (await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3, WARP_DEPLOY_OUTPUT_PATH))[CHAIN_NAME_2];
|
|
270
|
-
expect(normalizeConfig(collateralRebaseConfig.hook)).to.deep.equal(normalizeConfig(hook));
|
|
271
|
-
});
|
|
272
|
-
it('should send a message from origin to destination in the correct order', async function () {
|
|
273
|
-
const warpConfig = {
|
|
274
|
-
[CHAIN_NAME_2]: {
|
|
275
|
-
type: TokenType.collateralVaultRebase,
|
|
276
|
-
token: vaultChain2.address,
|
|
277
|
-
mailbox: chain2Addresses.mailbox,
|
|
278
|
-
owner: chain2Addresses.mailbox,
|
|
279
|
-
},
|
|
280
|
-
[CHAIN_NAME_3]: {
|
|
281
|
-
type: TokenType.syntheticRebase,
|
|
282
|
-
mailbox: chain3Addresses.mailbox,
|
|
283
|
-
owner: chain3Addresses.mailbox,
|
|
284
|
-
collateralChainName: CHAIN_NAME_2,
|
|
285
|
-
},
|
|
286
|
-
};
|
|
287
|
-
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
288
|
-
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
289
|
-
// Try to send a transaction with the origin destination
|
|
290
|
-
const { stdout: chain2Tochain3Stdout } = await hyperlaneWarpSendRelay(CHAIN_NAME_2, CHAIN_NAME_3, WARP_CORE_CONFIG_PATH_2_3);
|
|
291
|
-
expect(chain2Tochain3Stdout).to.include('anvil2 ➡️ anvil3');
|
|
292
|
-
// Send another message with swapped origin destination
|
|
293
|
-
const { stdout: chain3Tochain2Stdout } = await hyperlaneWarpSendRelay(CHAIN_NAME_3, CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3);
|
|
294
|
-
expect(chain3Tochain2Stdout).to.include('anvil3 ➡️ anvil2');
|
|
295
|
-
// Should throw if invalid origin or destination
|
|
296
|
-
await hyperlaneWarpSendRelay('anvil1', CHAIN_NAME_3, WARP_CORE_CONFIG_PATH_2_3).should.be.rejectedWith('Error: Origin (anvil1) or destination (anvil3) are not part of the warp route.');
|
|
297
|
-
});
|
|
298
|
-
});
|
|
299
|
-
});
|
|
300
|
-
//# sourceMappingURL=warp-deploy.e2e-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warp-deploy.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-deploy.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warp-extend-basic.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-basic.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { expect } from 'chai';
|
|
2
|
-
import { Wallet } from 'ethers';
|
|
3
|
-
import { TokenType, } from '@hyperlane-xyz/sdk';
|
|
4
|
-
import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
|
|
5
|
-
import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, E2E_TEST_BURN_ADDRESS, EXAMPLES_PATH, TEMP_PATH, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, deployOrUseExistingCore, extendWarpConfig, getCombinedWarpRoutePath, getDomainId, } from '../commands/helpers.js';
|
|
6
|
-
import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
|
|
7
|
-
describe('hyperlane warp apply basic extension tests', async function () {
|
|
8
|
-
this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
|
|
9
|
-
let chain2Addresses = {};
|
|
10
|
-
before(async function () {
|
|
11
|
-
await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
|
|
12
|
-
chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
|
|
13
|
-
// Create a new warp config using the example
|
|
14
|
-
const warpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
|
|
15
|
-
const anvil2Config = { anvil2: { ...warpConfig.anvil1 } };
|
|
16
|
-
writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
|
|
17
|
-
});
|
|
18
|
-
beforeEach(async function () {
|
|
19
|
-
await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
|
|
20
|
-
});
|
|
21
|
-
it('should extend an existing warp route', async () => {
|
|
22
|
-
// Read existing config into a file
|
|
23
|
-
const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
24
|
-
await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
|
|
25
|
-
// Extend with new config
|
|
26
|
-
const config = {
|
|
27
|
-
decimals: 18,
|
|
28
|
-
mailbox: chain2Addresses.mailbox,
|
|
29
|
-
name: 'Ether',
|
|
30
|
-
owner: new Wallet(ANVIL_KEY).address,
|
|
31
|
-
symbol: 'ETH',
|
|
32
|
-
type: TokenType.native,
|
|
33
|
-
};
|
|
34
|
-
await extendWarpConfig({
|
|
35
|
-
chain: CHAIN_NAME_2,
|
|
36
|
-
chainToExtend: CHAIN_NAME_3,
|
|
37
|
-
extendedConfig: config,
|
|
38
|
-
warpCorePath: WARP_CORE_CONFIG_PATH_2,
|
|
39
|
-
warpDeployPath: warpConfigPath,
|
|
40
|
-
});
|
|
41
|
-
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
42
|
-
CHAIN_NAME_2,
|
|
43
|
-
CHAIN_NAME_3,
|
|
44
|
-
]);
|
|
45
|
-
// Check that chain2 is enrolled in chain1
|
|
46
|
-
const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
47
|
-
const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
48
|
-
const remoteRouterKeys1 = Object.keys(updatedWarpDeployConfig1[CHAIN_NAME_2].remoteRouters);
|
|
49
|
-
expect(remoteRouterKeys1).to.include(chain2Id);
|
|
50
|
-
// Check that chain1 is enrolled in chain2
|
|
51
|
-
const updatedWarpDeployConfig2 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
52
|
-
const chain1Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
|
|
53
|
-
const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
|
|
54
|
-
expect(remoteRouterKeys2).to.include(chain1Id);
|
|
55
|
-
});
|
|
56
|
-
it('should extend an existing warp route with json strategy', async () => {
|
|
57
|
-
// Read existing config into a file
|
|
58
|
-
const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
59
|
-
await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
|
|
60
|
-
// Extend with new config
|
|
61
|
-
const config = {
|
|
62
|
-
decimals: 18,
|
|
63
|
-
mailbox: chain2Addresses.mailbox,
|
|
64
|
-
name: 'Ether',
|
|
65
|
-
owner: new Wallet(ANVIL_KEY).address,
|
|
66
|
-
symbol: 'ETH',
|
|
67
|
-
type: TokenType.native,
|
|
68
|
-
};
|
|
69
|
-
await extendWarpConfig({
|
|
70
|
-
chain: CHAIN_NAME_2,
|
|
71
|
-
chainToExtend: CHAIN_NAME_3,
|
|
72
|
-
extendedConfig: config,
|
|
73
|
-
warpCorePath: WARP_CORE_CONFIG_PATH_2,
|
|
74
|
-
warpDeployPath: warpConfigPath,
|
|
75
|
-
strategyUrl: `${EXAMPLES_PATH}/submit/strategy/json-rpc-chain-strategy.yaml`,
|
|
76
|
-
});
|
|
77
|
-
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
78
|
-
CHAIN_NAME_2,
|
|
79
|
-
CHAIN_NAME_3,
|
|
80
|
-
]);
|
|
81
|
-
// Check that chain2 is enrolled in chain1
|
|
82
|
-
const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
83
|
-
const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
84
|
-
const remoteRouterKeys1 = Object.keys(updatedWarpDeployConfig1[CHAIN_NAME_2].remoteRouters);
|
|
85
|
-
expect(remoteRouterKeys1).to.include(chain2Id);
|
|
86
|
-
// Check that chain1 is enrolled in chain2
|
|
87
|
-
const updatedWarpDeployConfig2 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
88
|
-
const chain1Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
|
|
89
|
-
const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
|
|
90
|
-
expect(remoteRouterKeys2).to.include(chain1Id);
|
|
91
|
-
});
|
|
92
|
-
it('should extend an existing warp route and update the owner', async () => {
|
|
93
|
-
const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
94
|
-
// Burn anvil2 owner in config
|
|
95
|
-
const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
|
|
96
|
-
warpDeployConfig[CHAIN_NAME_2].owner = E2E_TEST_BURN_ADDRESS;
|
|
97
|
-
// Extend with new config
|
|
98
|
-
const randomOwner = new Wallet(ANVIL_KEY).address;
|
|
99
|
-
const extendedConfig = {
|
|
100
|
-
decimals: 18,
|
|
101
|
-
mailbox: chain2Addresses.mailbox,
|
|
102
|
-
name: 'Ether',
|
|
103
|
-
owner: randomOwner,
|
|
104
|
-
symbol: 'ETH',
|
|
105
|
-
type: TokenType.native,
|
|
106
|
-
};
|
|
107
|
-
// Remove remoteRouters and destinationGas as they are written in readWarpConfig
|
|
108
|
-
warpDeployConfig[CHAIN_NAME_2].remoteRouters = undefined;
|
|
109
|
-
warpDeployConfig[CHAIN_NAME_2].destinationGas = undefined;
|
|
110
|
-
warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
|
|
111
|
-
writeYamlOrJson(warpDeployPath, warpDeployConfig);
|
|
112
|
-
await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
|
|
113
|
-
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
114
|
-
CHAIN_NAME_2,
|
|
115
|
-
CHAIN_NAME_3,
|
|
116
|
-
]);
|
|
117
|
-
const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
|
|
118
|
-
const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
|
|
119
|
-
// Check that anvil2 owner is burned
|
|
120
|
-
expect(updatedWarpDeployConfig_2.anvil2.owner).to.equal(E2E_TEST_BURN_ADDRESS);
|
|
121
|
-
// Also, anvil3 owner is not burned
|
|
122
|
-
expect(updatedWarpDeployConfig_3.anvil3.owner).to.equal(randomOwner);
|
|
123
|
-
// Check that both chains enrolled
|
|
124
|
-
const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
|
|
125
|
-
const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
126
|
-
const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig_2[CHAIN_NAME_2].remoteRouters);
|
|
127
|
-
const remoteRouterKeys3 = Object.keys(updatedWarpDeployConfig_3[CHAIN_NAME_3].remoteRouters);
|
|
128
|
-
expect(remoteRouterKeys2).to.include(chain3Id);
|
|
129
|
-
expect(remoteRouterKeys3).to.include(chain2Id);
|
|
130
|
-
});
|
|
131
|
-
it('should extend an existing warp route and update all destination domains', async () => {
|
|
132
|
-
// Read existing config into a file
|
|
133
|
-
const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
134
|
-
const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
|
|
135
|
-
warpDeployConfig[CHAIN_NAME_2].gas = 7777;
|
|
136
|
-
// Extend with new config
|
|
137
|
-
const GAS = 694200;
|
|
138
|
-
const extendedConfig = {
|
|
139
|
-
decimals: 18,
|
|
140
|
-
mailbox: chain2Addresses.mailbox,
|
|
141
|
-
name: 'Ether',
|
|
142
|
-
owner: new Wallet(ANVIL_KEY).address,
|
|
143
|
-
symbol: 'ETH',
|
|
144
|
-
type: TokenType.native,
|
|
145
|
-
gas: GAS,
|
|
146
|
-
};
|
|
147
|
-
// Remove remoteRouters and destinationGas as they are written in readWarpConfig
|
|
148
|
-
warpDeployConfig[CHAIN_NAME_2].remoteRouters = undefined;
|
|
149
|
-
warpDeployConfig[CHAIN_NAME_2].destinationGas = undefined;
|
|
150
|
-
warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
|
|
151
|
-
writeYamlOrJson(warpConfigPath, warpDeployConfig);
|
|
152
|
-
await hyperlaneWarpApply(warpConfigPath, WARP_CORE_CONFIG_PATH_2);
|
|
153
|
-
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
154
|
-
CHAIN_NAME_2,
|
|
155
|
-
CHAIN_NAME_3,
|
|
156
|
-
]);
|
|
157
|
-
// Check that chain2 is enrolled in chain1
|
|
158
|
-
const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
159
|
-
const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
|
|
160
|
-
const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
161
|
-
// Destination gas should be set in the existing chain (chain2) to include the extended chain (chain3)
|
|
162
|
-
const destinationGas_2 = updatedWarpDeployConfig_2[CHAIN_NAME_2].destinationGas;
|
|
163
|
-
expect(Object.keys(destinationGas_2)).to.include(chain3Id);
|
|
164
|
-
expect(destinationGas_2[chain3Id]).to.equal(GAS.toString());
|
|
165
|
-
// Destination gas should be set for the extended chain (chain3)
|
|
166
|
-
const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
167
|
-
const destinationGas_3 = updatedWarpDeployConfig_3[CHAIN_NAME_3].destinationGas;
|
|
168
|
-
expect(Object.keys(destinationGas_3)).to.include(chain2Id);
|
|
169
|
-
expect(destinationGas_3[chain2Id]).to.equal('7777');
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
//# sourceMappingURL=warp-extend-basic.e2e-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warp-extend-basic.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-basic.e2e-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAEL,SAAS,GAEV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,4CAA4C,EAAE,KAAK;IAC1D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE3C,IAAI,eAAe,GAAmB,EAAE,CAAC;IAEzC,MAAM,CAAC,KAAK;QACV,MAAM,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACzE,eAAe,GAAG,MAAM,uBAAuB,CAC7C,YAAY,EACZ,gBAAgB,EAChB,SAAS,CACV,CAAC;QAEF,6CAA6C;QAC7C,MAAM,UAAU,GAA0B,cAAc,CACtD,wBAAwB,CACzB,CAAC;QACF,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1D,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK;QACd,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,mCAAmC;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;QAE5E,yBAAyB;QACzB,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,mCAAmC;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;QAE5E,yBAAyB;QACzB,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,GAAG,aAAa,+CAA+C;SAC7E,CAAC,CAAC;QAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QACF,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,qBAAqB,CAAC;QAE7D,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QAClD,MAAM,cAAc,GAAyB;YAC3C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QACF,gFAAgF;QAChF,gBAAgB,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC;QACzD,gBAAgB,CAAC,YAAY,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC;QAE1D,gBAAgB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QAChD,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAClD,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,oCAAoC;QACpC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CACrD,qBAAqB,CACtB,CAAC;QAEF,mCAAmC;QACnC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAErE,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,yBAAyB,CAAC,YAAY,CAAC,CAAC,aAAc,CACvD,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,yBAAyB,CAAC,YAAY,CAAC,CAAC,aAAc,CACvD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,mCAAmC;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QACF,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAE1C,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,MAAM,cAAc,GAAyB;YAC3C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,SAAS,CAAC,MAAM;YACtB,GAAG,EAAE,GAAG;SACT,CAAC;QAEF,gFAAgF;QAChF,gBAAgB,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC;QACzD,gBAAgB,CAAC,YAAY,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC;QAE1D,gBAAgB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QAChD,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAClD,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5D,sGAAsG;QACtG,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5D,gEAAgE;QAChE,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warp-extend-config.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-config.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { expect } from 'chai';
|
|
2
|
-
import { Wallet } from 'ethers';
|
|
3
|
-
import { TokenType, normalizeConfig, randomAddress, } from '@hyperlane-xyz/sdk';
|
|
4
|
-
import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
|
|
5
|
-
import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, TEMP_PATH, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, deployOrUseExistingCore, extendWarpConfig, getDomainId, } from '../commands/helpers.js';
|
|
6
|
-
import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
|
|
7
|
-
describe('hyperlane warp apply config extension tests', async function () {
|
|
8
|
-
this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
|
|
9
|
-
let chain2Addresses = {};
|
|
10
|
-
before(async function () {
|
|
11
|
-
await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
|
|
12
|
-
chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
|
|
13
|
-
// Create a new warp config using the example
|
|
14
|
-
const warpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
|
|
15
|
-
const anvil2Config = { anvil2: { ...warpConfig.anvil1 } };
|
|
16
|
-
writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
|
|
17
|
-
});
|
|
18
|
-
beforeEach(async function () {
|
|
19
|
-
await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
|
|
20
|
-
});
|
|
21
|
-
it('should update destination gas configuration', async () => {
|
|
22
|
-
const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
23
|
-
// Extend with new config
|
|
24
|
-
const config = {
|
|
25
|
-
decimals: 18,
|
|
26
|
-
mailbox: chain2Addresses.mailbox,
|
|
27
|
-
name: 'Ether',
|
|
28
|
-
owner: new Wallet(ANVIL_KEY).address,
|
|
29
|
-
symbol: 'ETH',
|
|
30
|
-
type: TokenType.native,
|
|
31
|
-
};
|
|
32
|
-
await extendWarpConfig({
|
|
33
|
-
chain: CHAIN_NAME_2,
|
|
34
|
-
chainToExtend: CHAIN_NAME_3,
|
|
35
|
-
extendedConfig: config,
|
|
36
|
-
warpCorePath: WARP_CORE_CONFIG_PATH_2,
|
|
37
|
-
warpDeployPath,
|
|
38
|
-
});
|
|
39
|
-
// First read the existing config
|
|
40
|
-
const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
|
|
41
|
-
// Get the domain ID for chain 3
|
|
42
|
-
const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
43
|
-
// Update with new destination gas values
|
|
44
|
-
warpDeployConfig[CHAIN_NAME_2].destinationGas = {
|
|
45
|
-
[chain3Id]: '500000', // Set a specific gas value for chain 3
|
|
46
|
-
};
|
|
47
|
-
// Write the updated config
|
|
48
|
-
await writeYamlOrJson(warpDeployPath, warpDeployConfig);
|
|
49
|
-
// Apply the changes
|
|
50
|
-
await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
|
|
51
|
-
// Read back the config to verify changes
|
|
52
|
-
const updatedConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
|
|
53
|
-
// Verify the destination gas was updated correctly
|
|
54
|
-
expect(updatedConfig[CHAIN_NAME_2].destinationGas[chain3Id]).to.equal('500000');
|
|
55
|
-
});
|
|
56
|
-
it('should update remote routers configuration', async () => {
|
|
57
|
-
const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
58
|
-
// Extend with new config
|
|
59
|
-
const config = {
|
|
60
|
-
decimals: 18,
|
|
61
|
-
mailbox: chain2Addresses.mailbox,
|
|
62
|
-
name: 'Ether',
|
|
63
|
-
owner: new Wallet(ANVIL_KEY).address,
|
|
64
|
-
symbol: 'ETH',
|
|
65
|
-
type: TokenType.native,
|
|
66
|
-
};
|
|
67
|
-
await extendWarpConfig({
|
|
68
|
-
chain: CHAIN_NAME_2,
|
|
69
|
-
chainToExtend: CHAIN_NAME_3,
|
|
70
|
-
extendedConfig: config,
|
|
71
|
-
warpCorePath: WARP_CORE_CONFIG_PATH_2,
|
|
72
|
-
warpDeployPath,
|
|
73
|
-
});
|
|
74
|
-
// First read the existing config
|
|
75
|
-
const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
|
|
76
|
-
// Get the domain ID for chain 3
|
|
77
|
-
const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
78
|
-
// Generate a new router address to update
|
|
79
|
-
const newRouterAddress = randomAddress();
|
|
80
|
-
// Update with new remote router values
|
|
81
|
-
warpDeployConfig[CHAIN_NAME_2].remoteRouters = {
|
|
82
|
-
[chain3Id]: { address: newRouterAddress }, // Set a new router address for chain 3
|
|
83
|
-
};
|
|
84
|
-
// Write the updated config
|
|
85
|
-
await writeYamlOrJson(warpDeployPath, warpDeployConfig);
|
|
86
|
-
// Apply the changes
|
|
87
|
-
await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
|
|
88
|
-
// Read back the config to verify changes
|
|
89
|
-
const updatedConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
|
|
90
|
-
// Verify the remote router was updated correctly
|
|
91
|
-
expect(updatedConfig[CHAIN_NAME_2].remoteRouters[chain3Id].address.toLowerCase()).to.equal(newRouterAddress.toLowerCase());
|
|
92
|
-
});
|
|
93
|
-
it('should preserve deploy config when extending warp route', async () => {
|
|
94
|
-
const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
|
|
95
|
-
const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
|
|
96
|
-
// Extend with new config for chain 3
|
|
97
|
-
const extendedConfig = {
|
|
98
|
-
decimals: 18,
|
|
99
|
-
mailbox: chain2Addresses.mailbox,
|
|
100
|
-
name: 'Ether',
|
|
101
|
-
owner: new Wallet(ANVIL_KEY).address,
|
|
102
|
-
symbol: 'ETH',
|
|
103
|
-
type: TokenType.native,
|
|
104
|
-
};
|
|
105
|
-
warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
|
|
106
|
-
// Remove remoteRouters and destinationGas as they are written in readWarpConfig
|
|
107
|
-
delete warpDeployConfig[CHAIN_NAME_2].remoteRouters;
|
|
108
|
-
delete warpDeployConfig[CHAIN_NAME_2].destinationGas;
|
|
109
|
-
await writeYamlOrJson(warpDeployPath, warpDeployConfig);
|
|
110
|
-
await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
|
|
111
|
-
const updatedConfig = readYamlOrJson(warpDeployPath);
|
|
112
|
-
expect(normalizeConfig(warpDeployConfig)).to.deep.equal(normalizeConfig(updatedConfig), 'warp deploy config should remain unchanged after extension');
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
//# sourceMappingURL=warp-extend-config.e2e-test.js.map
|