@hyperlane-xyz/cli 5.6.0-superchain.1 → 5.6.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.
Files changed (97) hide show
  1. package/dist/cli.js +0 -2
  2. package/dist/cli.js.map +1 -1
  3. package/dist/src/check/warp.d.ts +7 -0
  4. package/dist/src/check/warp.d.ts.map +1 -0
  5. package/dist/src/check/warp.js +23 -0
  6. package/dist/src/check/warp.js.map +1 -0
  7. package/dist/src/commands/config.js +4 -4
  8. package/dist/src/commands/config.js.map +1 -1
  9. package/dist/src/commands/core.d.ts +5 -0
  10. package/dist/src/commands/core.d.ts.map +1 -1
  11. package/dist/src/commands/core.js +53 -31
  12. package/dist/src/commands/core.js.map +1 -1
  13. package/dist/src/commands/options.d.ts +7 -1
  14. package/dist/src/commands/options.d.ts.map +1 -1
  15. package/dist/src/commands/options.js +9 -6
  16. package/dist/src/commands/options.js.map +1 -1
  17. package/dist/src/commands/warp.d.ts +5 -0
  18. package/dist/src/commands/warp.d.ts.map +1 -1
  19. package/dist/src/commands/warp.js +65 -77
  20. package/dist/src/commands/warp.js.map +1 -1
  21. package/dist/src/config/agent.js +1 -0
  22. package/dist/src/config/agent.js.map +1 -1
  23. package/dist/src/config/chain.d.ts.map +1 -1
  24. package/dist/src/config/chain.js +12 -4
  25. package/dist/src/config/chain.js.map +1 -1
  26. package/dist/src/config/core.d.ts +0 -108
  27. package/dist/src/config/core.d.ts.map +1 -1
  28. package/dist/src/config/hooks.d.ts +0 -548
  29. package/dist/src/config/hooks.d.ts.map +1 -1
  30. package/dist/src/config/hooks.js +5 -1
  31. package/dist/src/config/hooks.js.map +1 -1
  32. package/dist/src/config/ism.d.ts +0 -10
  33. package/dist/src/config/ism.d.ts.map +1 -1
  34. package/dist/src/config/ism.js +10 -2
  35. package/dist/src/config/ism.js.map +1 -1
  36. package/dist/src/config/multisig.d.ts.map +1 -1
  37. package/dist/src/config/multisig.js +3 -1
  38. package/dist/src/config/multisig.js.map +1 -1
  39. package/dist/src/config/warp.d.ts.map +1 -1
  40. package/dist/src/config/warp.js +79 -12
  41. package/dist/src/config/warp.js.map +1 -1
  42. package/dist/src/deploy/agent.js +5 -1
  43. package/dist/src/deploy/agent.js.map +1 -1
  44. package/dist/src/deploy/warp.d.ts.map +1 -1
  45. package/dist/src/deploy/warp.js +73 -66
  46. package/dist/src/deploy/warp.js.map +1 -1
  47. package/dist/src/logger.d.ts +1 -0
  48. package/dist/src/logger.d.ts.map +1 -1
  49. package/dist/src/logger.js +3 -0
  50. package/dist/src/logger.js.map +1 -1
  51. package/dist/src/read/core.d.ts +9 -0
  52. package/dist/src/read/core.d.ts.map +1 -0
  53. package/dist/src/read/core.js +19 -0
  54. package/dist/src/read/core.js.map +1 -0
  55. package/dist/src/read/warp.d.ts +10 -0
  56. package/dist/src/read/warp.d.ts.map +1 -0
  57. package/dist/src/read/warp.js +59 -0
  58. package/dist/src/read/warp.js.map +1 -0
  59. package/dist/src/send/transfer.d.ts +3 -0
  60. package/dist/src/send/transfer.d.ts.map +1 -1
  61. package/dist/src/send/transfer.js +4 -1
  62. package/dist/src/send/transfer.js.map +1 -1
  63. package/dist/src/tests/commands/helpers.d.ts +11 -0
  64. package/dist/src/tests/commands/helpers.d.ts.map +1 -1
  65. package/dist/src/tests/commands/helpers.js +35 -2
  66. package/dist/src/tests/commands/helpers.js.map +1 -1
  67. package/dist/src/tests/commands/warp.d.ts +1 -0
  68. package/dist/src/tests/commands/warp.d.ts.map +1 -1
  69. package/dist/src/tests/commands/warp.js +16 -0
  70. package/dist/src/tests/commands/warp.js.map +1 -1
  71. package/dist/src/tests/warp-apply.e2e-test.js +37 -3
  72. package/dist/src/tests/warp-apply.e2e-test.js.map +1 -1
  73. package/dist/src/tests/warp-deploy.e2e-test.d.ts +2 -0
  74. package/dist/src/tests/warp-deploy.e2e-test.d.ts.map +1 -0
  75. package/dist/src/tests/warp-deploy.e2e-test.js +72 -0
  76. package/dist/src/tests/warp-deploy.e2e-test.js.map +1 -0
  77. package/dist/src/utils/chains.d.ts +26 -1
  78. package/dist/src/utils/chains.d.ts.map +1 -1
  79. package/dist/src/utils/chains.js +39 -14
  80. package/dist/src/utils/chains.js.map +1 -1
  81. package/dist/src/utils/input.d.ts +59 -0
  82. package/dist/src/utils/input.d.ts.map +1 -1
  83. package/dist/src/utils/input.js +288 -1
  84. package/dist/src/utils/input.js.map +1 -1
  85. package/dist/src/utils/output.d.ts +12 -0
  86. package/dist/src/utils/output.d.ts.map +1 -0
  87. package/dist/src/utils/output.js +44 -0
  88. package/dist/src/utils/output.js.map +1 -0
  89. package/dist/src/version.d.ts +1 -1
  90. package/dist/src/version.d.ts.map +1 -1
  91. package/dist/src/version.js +1 -1
  92. package/dist/src/version.js.map +1 -1
  93. package/package.json +9 -5
  94. package/dist/src/commands/superchain.d.ts +0 -6
  95. package/dist/src/commands/superchain.d.ts.map +0 -1
  96. package/dist/src/commands/superchain.js +0 -84
  97. package/dist/src/commands/superchain.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../../src/tests/commands/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,uCAO7D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAK,uCAUjB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,uCASvB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAIhC"}
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../../src/tests/commands/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAQ3D;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,uCAS7D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAK,uCAWjB;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,uCAUvB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,uCAYrB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,qBAAqB,CAAC,CAIhC"}
@@ -6,8 +6,10 @@ $.verbose = true;
6
6
  * Deploys the Warp route to the specified chain using the provided config.
7
7
  */
8
8
  export async function hyperlaneWarpDeploy(warpCorePath) {
9
+ // --overrides is " " to allow local testing to work
9
10
  return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp deploy \
10
11
  --registry ${REGISTRY_PATH} \
12
+ --overrides " " \
11
13
  --config ${warpCorePath} \
12
14
  --key ${ANVIL_KEY} \
13
15
  --verbosity debug \
@@ -19,6 +21,7 @@ export async function hyperlaneWarpDeploy(warpCorePath) {
19
21
  export async function hyperlaneWarpApply(warpDeployPath, warpCorePath, strategyUrl = '') {
20
22
  return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp apply \
21
23
  --registry ${REGISTRY_PATH} \
24
+ --overrides " " \
22
25
  --config ${warpDeployPath} \
23
26
  --warp ${warpCorePath} \
24
27
  --key ${ANVIL_KEY} \
@@ -29,12 +32,25 @@ export async function hyperlaneWarpApply(warpDeployPath, warpCorePath, strategyU
29
32
  export async function hyperlaneWarpRead(chain, warpAddress, warpDeployPath) {
30
33
  return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp read \
31
34
  --registry ${REGISTRY_PATH} \
35
+ --overrides " " \
32
36
  --address ${warpAddress} \
33
37
  --chain ${chain} \
34
38
  --key ${ANVIL_KEY} \
35
39
  --verbosity debug \
36
40
  --config ${warpDeployPath}`;
37
41
  }
42
+ export async function hyperlaneWarpSendRelay(origin, destination, warpCorePath) {
43
+ return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp send \
44
+ --relay \
45
+ --registry ${REGISTRY_PATH} \
46
+ --overrides " " \
47
+ --origin ${origin} \
48
+ --destination ${destination} \
49
+ --warp ${warpCorePath} \
50
+ --key ${ANVIL_KEY} \
51
+ --verbosity debug \
52
+ --yes`;
53
+ }
38
54
  /**
39
55
  * Reads the Warp route deployment config to specified output path.
40
56
  * @param warpCorePath path to warp core
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../../src/tests/commands/warp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;AAIvB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AAEjB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,YAAoB;IAC5D,OAAO,CAAC,CAAA;qBACW,aAAa;mBACf,YAAY;gBACf,SAAS;;cAEX,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAAsB,EACtB,YAAoB,EACpB,WAAW,GAAG,EAAE;IAEhB,OAAO,CAAC,CAAA;qBACW,aAAa;mBACf,cAAc;iBAChB,YAAY;gBACb,SAAS;;qBAEJ,WAAW;cAClB,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,WAAmB,EACnB,cAAsB;IAEtB,OAAO,CAAC,CAAA;qBACW,aAAa;oBACd,WAAW;kBACb,KAAK;gBACP,SAAS;;mBAEN,cAAc,EAAE,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,YAAoB,EACpB,cAAsB;IAEtB,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,iBAAiB,CAAC,KAAK,EAAE,WAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,cAAc,CAAC,cAAc,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../../src/tests/commands/warp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;AAIvB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AAEjB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,YAAoB;IAC5D,oDAAoD;IACpD,OAAO,CAAC,CAAA;qBACW,aAAa;;mBAEf,YAAY;gBACf,SAAS;;cAEX,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAAsB,EACtB,YAAoB,EACpB,WAAW,GAAG,EAAE;IAEhB,OAAO,CAAC,CAAA;qBACW,aAAa;;mBAEf,cAAc;iBAChB,YAAY;gBACb,SAAS;;qBAEJ,WAAW;cAClB,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,WAAmB,EACnB,cAAsB;IAEtB,OAAO,CAAC,CAAA;qBACW,aAAa;;oBAEd,WAAW;kBACb,KAAK;gBACP,SAAS;;mBAEN,cAAc,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,MAAc,EACd,WAAmB,EACnB,YAAoB;IAEpB,OAAO,CAAC,CAAA;;qBAEW,aAAa;;mBAEf,MAAM;wBACD,WAAW;iBAClB,YAAY;gBACb,SAAS;;cAEX,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAa,EACb,YAAoB,EACpB,cAAsB;IAEtB,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,iBAAiB,CAAC,KAAK,EAAE,WAAY,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,cAAc,CAAC,cAAc,CAAC,CAAC;AACxC,CAAC"}
@@ -3,7 +3,7 @@ import { Wallet } from 'ethers';
3
3
  import { TokenType, } from '@hyperlane-xyz/sdk';
4
4
  import { readYamlOrJson, writeYamlOrJson } from '../utils/files.js';
5
5
  import { ANVIL_KEY, REGISTRY_PATH, deployOrUseExistingCore, extendWarpConfig, getChainId, updateOwner, } from './commands/helpers.js';
6
- import { hyperlaneWarpDeploy, readWarpConfig } from './commands/warp.js';
6
+ import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from './commands/warp.js';
7
7
  const CHAIN_NAME_2 = 'anvil2';
8
8
  const CHAIN_NAME_3 = 'anvil3';
9
9
  const BURN_ADDRESS = '0x0000000000000000000000000000000000000001';
@@ -13,7 +13,7 @@ const WARP_CONFIG_PATH_EXAMPLE = `${EXAMPLES_PATH}/warp-route-deployment.yaml`;
13
13
  const TEMP_PATH = '/tmp'; // /temp gets removed at the end of all-test.sh
14
14
  const WARP_CONFIG_PATH_2 = `${TEMP_PATH}/anvil2/warp-route-deployment-anvil2.yaml`;
15
15
  const WARP_CORE_CONFIG_PATH_2 = `${REGISTRY_PATH}/deployments/warp_routes/ETH/anvil2-config.yaml`;
16
- const TEST_TIMEOUT = 60000; // Long timeout since these tests can take a while
16
+ const TEST_TIMEOUT = 100000; // Long timeout since these tests can take a while
17
17
  describe('WarpApply e2e tests', async function () {
18
18
  let chain2Addresses = {};
19
19
  this.timeout(TEST_TIMEOUT);
@@ -38,7 +38,7 @@ describe('WarpApply e2e tests', async function () {
38
38
  const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
39
39
  await updateOwner(BURN_ADDRESS, CHAIN_NAME_2, warpConfigPath, WARP_CORE_CONFIG_PATH_2);
40
40
  const { stdout } = await updateOwner(BURN_ADDRESS, CHAIN_NAME_2, warpConfigPath, WARP_CORE_CONFIG_PATH_2);
41
- expect(stdout).to.include('Warp config on anvil2 is the same as target. No updates needed.');
41
+ expect(stdout).to.include('Warp config is the same as target. No updates needed.');
42
42
  });
43
43
  it('should extend an existing warp route', async () => {
44
44
  // Read existing config into a file
@@ -107,5 +107,39 @@ describe('WarpApply e2e tests', async function () {
107
107
  const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
108
108
  expect(remoteRouterKeys2).to.include(chain1Id);
109
109
  });
110
+ it('should extend an existing warp route and update the owner', async () => {
111
+ const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
112
+ // Burn anvil2 owner in config
113
+ const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
114
+ warpDeployConfig[CHAIN_NAME_2].owner = BURN_ADDRESS;
115
+ // Extend with new config
116
+ const randomOwner = new Wallet(ANVIL_KEY).address;
117
+ const extendedConfig = {
118
+ decimals: 18,
119
+ mailbox: chain2Addresses.mailbox,
120
+ name: 'Ether',
121
+ owner: randomOwner,
122
+ symbol: 'ETH',
123
+ totalSupply: 0,
124
+ type: TokenType.native,
125
+ };
126
+ warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
127
+ writeYamlOrJson(warpDeployPath, warpDeployConfig);
128
+ await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
129
+ const COMBINED_WARP_CORE_CONFIG_PATH = `${REGISTRY_PATH}/deployments/warp_routes/ETH/anvil2-anvil3-config.yaml`;
130
+ const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
131
+ const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
132
+ // Check that anvil2 owner is burned
133
+ expect(updatedWarpDeployConfig_2.anvil2.owner).to.equal(BURN_ADDRESS);
134
+ // Also, anvil3 owner is not burned
135
+ expect(updatedWarpDeployConfig_3.anvil3.owner).to.equal(randomOwner);
136
+ // Check that both chains enrolled
137
+ const chain2Id = await getChainId(CHAIN_NAME_2, ANVIL_KEY);
138
+ const chain3Id = await getChainId(CHAIN_NAME_3, ANVIL_KEY);
139
+ const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig_2[CHAIN_NAME_2].remoteRouters);
140
+ const remoteRouterKeys3 = Object.keys(updatedWarpDeployConfig_3[CHAIN_NAME_3].remoteRouters);
141
+ expect(remoteRouterKeys2).to.include(chain3Id);
142
+ expect(remoteRouterKeys3).to.include(chain2Id);
143
+ });
110
144
  });
111
145
  //# sourceMappingURL=warp-apply.e2e-test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"warp-apply.e2e-test.js","sourceRoot":"","sources":["../../../src/tests/warp-apply.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,mBAAmB,CAAC;AAEpE,OAAO,EACL,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAClE,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,gBAAgB,GAAG,GAAG,aAAa,mBAAmB,CAAC;AAC7D,MAAM,wBAAwB,GAAG,GAAG,aAAa,6BAA6B,CAAC;AAE/E,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,+CAA+C;AACzE,MAAM,kBAAkB,GAAG,GAAG,SAAS,2CAA2C,CAAC;AACnF,MAAM,uBAAuB,GAAG,GAAG,aAAa,iDAAiD,CAAC;AAElG,MAAM,YAAY,GAAG,KAAM,CAAC,CAAC,kDAAkD;AAC/E,QAAQ,CAAC,qBAAqB,EAAE,KAAK;IACnC,IAAI,eAAe,GAAmB,EAAE,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3B,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,2BAA2B,EAAE,KAAK;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,WAAW,CACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,uBAAuB,GAAG,MAAM,cAAc,CAClD,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,WAAW,CACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAClC,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,iEAAiE,CAClE,CAAC;IACJ,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,GAAsB;YAChC,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,WAAW,EAAE,CAAC;YACd,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,GAAG,aAAa,wDAAwD,CAAC;QAEhH,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3D,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,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3D,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,GAAsB;YAChC,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,WAAW,EAAE,CAAC;YACd,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,GAAG,aAAa,wDAAwD,CAAC;QAEhH,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3D,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,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3D,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;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"warp-apply.e2e-test.js","sourceRoot":"","sources":["../../../src/tests/warp-apply.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warp-deploy.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-deploy.e2e-test.d.ts","sourceRoot":"","sources":["../../../src/tests/warp-deploy.e2e-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,72 @@
1
+ import * as chai from 'chai';
2
+ import chaiAsPromised from 'chai-as-promised';
3
+ import { TokenType } from '@hyperlane-xyz/sdk';
4
+ import { WarpSendLogs } from '../send/transfer.js';
5
+ import { writeYamlOrJson } from '../utils/files.js';
6
+ import { ANVIL_KEY, REGISTRY_PATH, deploy4626Vault, deployOrUseExistingCore, deployToken, sendWarpRouteMessageRoundTrip, } from './commands/helpers.js';
7
+ import { hyperlaneWarpDeploy, readWarpConfig } from './commands/warp.js';
8
+ chai.use(chaiAsPromised);
9
+ const expect = chai.expect;
10
+ chai.should();
11
+ const CHAIN_NAME_2 = 'anvil2';
12
+ const CHAIN_NAME_3 = 'anvil3';
13
+ const EXAMPLES_PATH = './examples';
14
+ const TEMP_PATH = '/tmp'; // /temp gets removed at the end of all-test.sh
15
+ const CORE_CONFIG_PATH = `${EXAMPLES_PATH}/core-config.yaml`;
16
+ const WARP_CONFIG_PATH = `${TEMP_PATH}/warp-route-deployment-deploy.yaml`;
17
+ const WARP_CORE_CONFIG_PATH_2_3 = `${REGISTRY_PATH}/deployments/warp_routes/VAULT/anvil2-anvil3-config.yaml`;
18
+ const TEST_TIMEOUT = 60000; // Long timeout since these tests can take a while
19
+ describe('WarpDeploy e2e tests', async function () {
20
+ let chain2Addresses = {};
21
+ let token;
22
+ let vault;
23
+ this.timeout(TEST_TIMEOUT);
24
+ before(async function () {
25
+ chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
26
+ await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
27
+ token = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
28
+ vault = await deploy4626Vault(ANVIL_KEY, CHAIN_NAME_2, token.address);
29
+ });
30
+ it('should only allow rebasing yield route to be deployed with rebasing synthetic', async function () {
31
+ const warpConfig = {
32
+ [CHAIN_NAME_2]: {
33
+ type: TokenType.collateralVaultRebase,
34
+ token: vault.address,
35
+ mailbox: chain2Addresses.mailbox,
36
+ owner: chain2Addresses.mailbox,
37
+ },
38
+ [CHAIN_NAME_3]: {
39
+ type: TokenType.synthetic,
40
+ mailbox: chain2Addresses.mailbox,
41
+ owner: chain2Addresses.mailbox,
42
+ },
43
+ };
44
+ writeYamlOrJson(WARP_CONFIG_PATH, warpConfig);
45
+ await hyperlaneWarpDeploy(WARP_CONFIG_PATH).should.be.rejected; // TODO: revisit this to figure out how to parse the error.
46
+ });
47
+ it(`should be able to bridge between ${TokenType.collateralVaultRebase} and ${TokenType.syntheticRebase}`, async function () {
48
+ const warpConfig = {
49
+ [CHAIN_NAME_2]: {
50
+ type: TokenType.collateralVaultRebase,
51
+ token: vault.address,
52
+ mailbox: chain2Addresses.mailbox,
53
+ owner: chain2Addresses.mailbox,
54
+ },
55
+ [CHAIN_NAME_3]: {
56
+ type: TokenType.syntheticRebase,
57
+ mailbox: chain2Addresses.mailbox,
58
+ owner: chain2Addresses.mailbox,
59
+ collateralChainName: CHAIN_NAME_2,
60
+ },
61
+ };
62
+ writeYamlOrJson(WARP_CONFIG_PATH, warpConfig);
63
+ await hyperlaneWarpDeploy(WARP_CONFIG_PATH);
64
+ // Check collateralRebase
65
+ const collateralRebaseConfig = (await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3, WARP_CONFIG_PATH))[CHAIN_NAME_2];
66
+ expect(collateralRebaseConfig.type).to.equal(TokenType.collateralVaultRebase);
67
+ // Try to send a transaction
68
+ const { stdout } = await sendWarpRouteMessageRoundTrip(CHAIN_NAME_2, CHAIN_NAME_3, WARP_CORE_CONFIG_PATH_2_3);
69
+ expect(stdout).to.include(WarpSendLogs.SUCCESS);
70
+ });
71
+ });
72
+ //# sourceMappingURL=warp-deploy.e2e-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-deploy.e2e-test.js","sourceRoot":"","sources":["../../../src/tests/warp-deploy.e2e-test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAEtE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,WAAW,EACX,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;AAEd,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,YAAY,GAAG,QAAQ,CAAC;AAE9B,MAAM,aAAa,GAAG,YAAY,CAAC;AACnC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,+CAA+C;AAEzE,MAAM,gBAAgB,GAAG,GAAG,aAAa,mBAAmB,CAAC;AAC7D,MAAM,gBAAgB,GAAG,GAAG,SAAS,oCAAoC,CAAC;AAC1E,MAAM,yBAAyB,GAAG,GAAG,aAAa,0DAA0D,CAAC;AAE7G,MAAM,YAAY,GAAG,KAAM,CAAC,CAAC,kDAAkD;AAC/E,QAAQ,CAAC,sBAAsB,EAAE,KAAK;IACpC,IAAI,eAAe,GAAmB,EAAE,CAAC;IACzC,IAAI,KAAU,CAAC;IACf,IAAI,KAAU,CAAC;IAEf,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3B,MAAM,CAAC,KAAK;QACV,eAAe,GAAG,MAAM,uBAAuB,CAC7C,YAAY,EACZ,gBAAgB,EAChB,SAAS,CACV,CAAC;QAEF,MAAM,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAEzE,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACnD,KAAK,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK;QACvF,MAAM,UAAU,GAA0B;YACxC,CAAC,YAAY,CAAC,EAAE;gBACd,IAAI,EAAE,SAAS,CAAC,qBAAqB;gBACrC,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,KAAK,EAAE,eAAe,CAAC,OAAO;aAC/B;YACD,CAAC,YAAY,CAAC,EAAE;gBACd,IAAI,EAAE,SAAS,CAAC,SAAS;gBACzB,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,KAAK,EAAE,eAAe,CAAC,OAAO;aAC/B;SACF,CAAC;QAEF,eAAe,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,2DAA2D;IAC7H,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,SAAS,CAAC,qBAAqB,QAAQ,SAAS,CAAC,eAAe,EAAE,EAAE,KAAK;QAC9G,MAAM,UAAU,GAA0B;YACxC,CAAC,YAAY,CAAC,EAAE;gBACd,IAAI,EAAE,SAAS,CAAC,qBAAqB;gBACrC,KAAK,EAAE,KAAK,CAAC,OAAO;gBACpB,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,KAAK,EAAE,eAAe,CAAC,OAAO;aAC/B;YACD,CAAC,YAAY,CAAC,EAAE;gBACd,IAAI,EAAE,SAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,eAAe,CAAC,OAAO;gBAChC,KAAK,EAAE,eAAe,CAAC,OAAO;gBAC9B,mBAAmB,EAAE,YAAY;aAClC;SACF,CAAC;QAEF,eAAe,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC9C,MAAM,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE5C,yBAAyB;QACzB,MAAM,sBAAsB,GAAG,CAC7B,MAAM,cAAc,CAClB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,CACjB,CACF,CAAC,YAAY,CAAC,CAAC;QAEhB,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAC1C,SAAS,CAAC,qBAAqB,CAChC,CAAC;QAEF,4BAA4B;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,6BAA6B,CACpD,YAAY,EACZ,YAAY,EACZ,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,4 +1,29 @@
1
1
  import { ChainMap, ChainMetadata } from '@hyperlane-xyz/sdk';
2
2
  export declare function runSingleChainSelectionStep(chainMetadata: ChainMap<ChainMetadata>, message?: string): Promise<string>;
3
- export declare function runMultiChainSelectionStep(chainMetadata: ChainMap<ChainMetadata>, message?: string, requireNumber?: number): Promise<string[]>;
3
+ type RunMultiChainSelectionStepOptions = {
4
+ /**
5
+ * The metadata of the chains that will be displayed to the user
6
+ */
7
+ chainMetadata: ChainMap<ChainMetadata>;
8
+ /**
9
+ * The message to display to the user
10
+ *
11
+ * @default 'Select chains'
12
+ */
13
+ message?: string;
14
+ /**
15
+ * The minimum number of chains that must be selected
16
+ *
17
+ * @default 0
18
+ */
19
+ requireNumber?: number;
20
+ /**
21
+ * Whether to ask for confirmation after the selection
22
+ *
23
+ * @default false
24
+ */
25
+ requiresConfirmation?: boolean;
26
+ };
27
+ export declare function runMultiChainSelectionStep({ chainMetadata, message, requireNumber, requiresConfirmation, }: RunMultiChainSelectionStepOptions): Promise<string[]>;
28
+ export {};
4
29
  //# sourceMappingURL=chains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAW7D,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAiB,mBAWzB;AAED,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAkB,EACzB,aAAa,SAAI,qBAoBlB"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAY7D,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAiB,mBAczB;AAED,KAAK,iCAAiC,GAAG;IACvC;;OAEG;IACH,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAsB,0BAA0B,CAAC,EAC/C,aAAa,EACb,OAAyB,EACzB,aAAiB,EACjB,oBAA4B,GAC7B,EAAE,iCAAiC,qBAmDnC"}
@@ -1,36 +1,59 @@
1
- import { Separator, checkbox } from '@inquirer/prompts';
1
+ import { Separator, confirm } from '@inquirer/prompts';
2
2
  import select from '@inquirer/select';
3
3
  import chalk from 'chalk';
4
4
  import { toTitleCase } from '@hyperlane-xyz/utils';
5
- import { log, logRed, logTip } from '../logger.js';
5
+ import { log } from '../logger.js';
6
6
  import { calculatePageSize } from './cli-options.js';
7
+ import { searchableCheckBox } from './input.js';
7
8
  // A special value marker to indicate user selected
8
9
  // a new chain in the list
9
10
  const NEW_CHAIN_MARKER = '__new__';
10
11
  export async function runSingleChainSelectionStep(chainMetadata, message = 'Select chain') {
11
12
  const networkType = await selectNetworkType();
12
- const choices = getChainChoices(chainMetadata, networkType);
13
+ const { choices, networkTypeSeparator } = getChainChoices(chainMetadata, networkType);
13
14
  const chain = (await select({
14
15
  message,
15
- choices,
16
+ choices: [networkTypeSeparator, ...choices],
16
17
  pageSize: calculatePageSize(2),
17
18
  }));
18
19
  handleNewChain([chain]);
19
20
  return chain;
20
21
  }
21
- export async function runMultiChainSelectionStep(chainMetadata, message = 'Select chains', requireNumber = 0) {
22
+ export async function runMultiChainSelectionStep({ chainMetadata, message = 'Select chains', requireNumber = 0, requiresConfirmation = false, }) {
22
23
  const networkType = await selectNetworkType();
23
- const choices = getChainChoices(chainMetadata, networkType);
24
+ const { choices, networkTypeSeparator } = getChainChoices(chainMetadata, networkType);
25
+ let currentChoiceSelection = new Set();
24
26
  while (true) {
25
- logTip(`Use SPACE key to select at least ${requireNumber} chains, then press ENTER`);
26
- const chains = (await checkbox({
27
+ const chains = await searchableCheckBox({
27
28
  message,
28
- choices,
29
+ selectableOptionsSeparator: networkTypeSeparator,
30
+ choices: choices.map((choice) => currentChoiceSelection.has(choice.name)
31
+ ? { ...choice, checked: true }
32
+ : choice),
33
+ instructions: `Use TAB key to select at least ${requireNumber} chains, then press ENTER to proceed. Type to search for a specific chain.`,
34
+ theme: {
35
+ style: {
36
+ // The leading space is needed because the help tip will be tightly close to the message header
37
+ helpTip: (text) => ` ${chalk.bgYellow(text)}`,
38
+ },
39
+ helpMode: 'always',
40
+ },
29
41
  pageSize: calculatePageSize(2),
30
- }));
42
+ validate: (answer) => {
43
+ if (answer.length < requireNumber) {
44
+ return `Please select at least ${requireNumber} chains`;
45
+ }
46
+ return true;
47
+ },
48
+ });
31
49
  handleNewChain(chains);
32
- if (chains?.length < requireNumber) {
33
- logRed(`Please select at least ${requireNumber} chains`);
50
+ const confirmed = requiresConfirmation
51
+ ? await confirm({
52
+ message: `Is this chain selection correct?: ${chalk.cyan(chains.join(', '))}`,
53
+ })
54
+ : true;
55
+ if (!confirmed) {
56
+ currentChoiceSelection = new Set(chains);
34
57
  continue;
35
58
  }
36
59
  return chains;
@@ -52,10 +75,12 @@ function getChainChoices(chainMetadata, networkType) {
52
75
  const filteredChains = chains.filter((c) => networkType === 'mainnet' ? !c.isTestnet : !!c.isTestnet);
53
76
  const choices = [
54
77
  { name: '(New custom chain)', value: NEW_CHAIN_MARKER },
55
- new Separator(`--${toTitleCase(networkType)} Chains--`),
56
78
  ...chainsToChoices(filteredChains),
57
79
  ];
58
- return choices;
80
+ return {
81
+ choices,
82
+ networkTypeSeparator: new Separator(`--${toTitleCase(networkType)} Chains--`),
83
+ };
59
84
  }
60
85
  function handleNewChain(chainNames) {
61
86
  if (chainNames.includes(NEW_CHAIN_MARKER)) {
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,66 @@
1
+ import { Separator } from '@inquirer/core';
2
+ import { WarpCoreConfig } from '@hyperlane-xyz/sdk';
3
+ import { CommandContext } from '../context/types.js';
1
4
  export declare function detectAndConfirmOrPrompt(detect: () => Promise<string | undefined>, prompt: string, label: string, source?: string): Promise<string>;
2
5
  export declare function inputWithInfo({ message, info, defaultAnswer, }: {
3
6
  message: string;
4
7
  info?: string;
5
8
  defaultAnswer?: string;
6
9
  }): Promise<string>;
10
+ /**
11
+ * Gets a {@link WarpCoreConfig} based on the provided path or prompts the user to choose one:
12
+ * - if `symbol` is provided the user will have to select one of the available warp routes.
13
+ * - if `warp` is provided the config will be read by the provided file path.
14
+ * - if none is provided the CLI will exit.
15
+ */
16
+ export declare function getWarpCoreConfigOrExit({ context, symbol, warp, }: {
17
+ context: CommandContext;
18
+ symbol?: string;
19
+ warp?: string;
20
+ }): Promise<WarpCoreConfig>;
21
+ export type SearchableCheckboxChoice<Value> = {
22
+ value: Value;
23
+ name?: string;
24
+ description?: string;
25
+ short?: string;
26
+ disabled?: boolean | string;
27
+ checked?: boolean;
28
+ };
29
+ export declare const searchableCheckBox: <Value>(config: {
30
+ message: string;
31
+ prefix?: string | undefined;
32
+ pageSize?: number | undefined;
33
+ instructions?: string | undefined;
34
+ choices: readonly SearchableCheckboxChoice<Value>[];
35
+ loop?: boolean | undefined;
36
+ required?: boolean | undefined;
37
+ selectableOptionsSeparator?: Separator | undefined;
38
+ validate?: ((choices: readonly SearchableCheckboxChoice<Value>[]) => boolean | string | Promise<string | boolean>) | undefined;
39
+ theme?: {
40
+ icon?: {
41
+ checked?: string | undefined;
42
+ unchecked?: string | undefined;
43
+ cursor?: string | undefined;
44
+ } | undefined;
45
+ style?: {
46
+ disabledChoice?: {} | undefined;
47
+ renderSelectedChoices?: {} | undefined;
48
+ description?: {} | undefined;
49
+ helpTip?: {} | undefined;
50
+ answer?: {} | undefined;
51
+ message?: {} | undefined;
52
+ error?: {} | undefined;
53
+ defaultAnswer?: {} | undefined;
54
+ help?: {} | undefined;
55
+ highlight?: {} | undefined;
56
+ key?: {} | undefined;
57
+ } | undefined;
58
+ helpMode?: "always" | "never" | "auto" | undefined;
59
+ prefix?: string | undefined;
60
+ spinner?: {
61
+ interval?: number | undefined;
62
+ frames?: (string | undefined)[] | undefined;
63
+ } | undefined;
64
+ } | undefined;
65
+ }, context?: import("@inquirer/type").Context | undefined) => import("@inquirer/type").CancelablePromise<Value[]>;
7
66
  //# sourceMappingURL=input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/utils/input.ts"],"names":[],"mappings":"AAMA,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAMD,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,IAA6C,EAC7C,aAAa,GACd,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../src/utils/input.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAYV,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAMD,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,IAA6C,EAC7C,aAAa,GACd,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,EAC5C,OAAO,EACP,MAAM,EACN,IAAI,GACL,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,cAAc,CAAC,CAY1B;AAgDD,MAAM,MAAM,wBAAwB,CAAC,KAAK,IAAI;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAwRF,eAAO,MAAM,kBAAkB;aA/QpB,MAAM;;;;;;;;yEAUV,OAAO,GAAG,MAAM,GAAG,QAAQ,MAAM,GAAG,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;iHA+ZlD,CAAC"}