@hyperlane-xyz/cli 3.20.0-beta1 → 4.0.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +10 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/src/avs/config.d.ts +11 -0
  5. package/dist/src/avs/config.d.ts.map +1 -0
  6. package/dist/src/avs/config.js +10 -0
  7. package/dist/src/avs/config.js.map +1 -0
  8. package/dist/src/avs/stakeRegistry.d.ts +21 -0
  9. package/dist/src/avs/stakeRegistry.d.ts.map +1 -0
  10. package/dist/src/avs/stakeRegistry.js +64 -0
  11. package/dist/src/avs/stakeRegistry.js.map +1 -0
  12. package/dist/src/commands/avs.d.ts +12 -0
  13. package/dist/src/commands/avs.d.ts.map +1 -0
  14. package/dist/src/commands/avs.js +64 -0
  15. package/dist/src/commands/avs.js.map +1 -0
  16. package/dist/src/commands/config.d.ts.map +1 -1
  17. package/dist/src/commands/config.js +10 -60
  18. package/dist/src/commands/config.js.map +1 -1
  19. package/dist/src/commands/core.d.ts +16 -0
  20. package/dist/src/commands/core.d.ts.map +1 -0
  21. package/dist/src/commands/core.js +88 -0
  22. package/dist/src/commands/core.js.map +1 -0
  23. package/dist/src/commands/deploy.d.ts +13 -0
  24. package/dist/src/commands/deploy.d.ts.map +1 -1
  25. package/dist/src/commands/deploy.js +22 -26
  26. package/dist/src/commands/deploy.js.map +1 -1
  27. package/dist/src/commands/options.d.ts +11 -5
  28. package/dist/src/commands/options.d.ts.map +1 -1
  29. package/dist/src/commands/options.js +45 -11
  30. package/dist/src/commands/options.js.map +1 -1
  31. package/dist/src/commands/registry.d.ts +6 -0
  32. package/dist/src/commands/registry.d.ts.map +1 -0
  33. package/dist/src/commands/{chains.js → registry.js} +3 -3
  34. package/dist/src/commands/registry.js.map +1 -0
  35. package/dist/src/commands/send.d.ts.map +1 -1
  36. package/dist/src/commands/send.js +2 -42
  37. package/dist/src/commands/send.js.map +1 -1
  38. package/dist/src/commands/validator.d.ts +3 -0
  39. package/dist/src/commands/validator.d.ts.map +1 -0
  40. package/dist/src/commands/validator.js +34 -0
  41. package/dist/src/commands/validator.js.map +1 -0
  42. package/dist/src/commands/{hook.d.ts → warp.d.ts} +6 -2
  43. package/dist/src/commands/warp.d.ts.map +1 -0
  44. package/dist/src/commands/warp.js +101 -0
  45. package/dist/src/commands/warp.js.map +1 -0
  46. package/dist/src/config/chain.d.ts.map +1 -1
  47. package/dist/src/config/chain.js +21 -9
  48. package/dist/src/config/chain.js.map +1 -1
  49. package/dist/src/config/hooks.d.ts +4528 -90
  50. package/dist/src/config/hooks.d.ts.map +1 -1
  51. package/dist/src/config/hooks.js +31 -97
  52. package/dist/src/config/hooks.js.map +1 -1
  53. package/dist/src/config/ism.d.ts +58 -61
  54. package/dist/src/config/ism.d.ts.map +1 -1
  55. package/dist/src/config/ism.js +40 -128
  56. package/dist/src/config/ism.js.map +1 -1
  57. package/dist/src/config/warp.d.ts +3 -2
  58. package/dist/src/config/warp.d.ts.map +1 -1
  59. package/dist/src/config/warp.js +112 -49
  60. package/dist/src/config/warp.js.map +1 -1
  61. package/dist/src/consts.d.ts +1 -0
  62. package/dist/src/consts.d.ts.map +1 -1
  63. package/dist/src/consts.js +1 -0
  64. package/dist/src/consts.js.map +1 -1
  65. package/dist/src/context/context.d.ts +1 -1
  66. package/dist/src/context/context.d.ts.map +1 -1
  67. package/dist/src/context/context.js +37 -15
  68. package/dist/src/context/context.js.map +1 -1
  69. package/dist/src/context/types.d.ts +1 -0
  70. package/dist/src/context/types.d.ts.map +1 -1
  71. package/dist/src/deploy/agent.js +1 -1
  72. package/dist/src/deploy/agent.js.map +1 -1
  73. package/dist/src/deploy/core.d.ts +4 -8
  74. package/dist/src/deploy/core.d.ts.map +1 -1
  75. package/dist/src/deploy/core.js +28 -232
  76. package/dist/src/deploy/core.js.map +1 -1
  77. package/dist/src/deploy/dry-run.d.ts +2 -2
  78. package/dist/src/deploy/dry-run.d.ts.map +1 -1
  79. package/dist/src/deploy/dry-run.js +1 -0
  80. package/dist/src/deploy/dry-run.js.map +1 -1
  81. package/dist/src/deploy/utils.d.ts +4 -7
  82. package/dist/src/deploy/utils.d.ts.map +1 -1
  83. package/dist/src/deploy/utils.js +22 -19
  84. package/dist/src/deploy/utils.js.map +1 -1
  85. package/dist/src/deploy/warp.d.ts.map +1 -1
  86. package/dist/src/deploy/warp.js +38 -123
  87. package/dist/src/deploy/warp.js.map +1 -1
  88. package/dist/src/send/message.d.ts.map +1 -1
  89. package/dist/src/send/message.js +15 -29
  90. package/dist/src/send/message.js.map +1 -1
  91. package/dist/src/send/transfer.d.ts.map +1 -1
  92. package/dist/src/send/transfer.js +5 -6
  93. package/dist/src/send/transfer.js.map +1 -1
  94. package/dist/src/submit/submit.d.ts +5 -0
  95. package/dist/src/submit/submit.d.ts.map +1 -0
  96. package/dist/src/submit/submit.js +30 -0
  97. package/dist/src/submit/submit.js.map +1 -0
  98. package/dist/src/submit/types.d.ts +18 -0
  99. package/dist/src/submit/types.d.ts.map +1 -0
  100. package/dist/src/submit/types.js +2 -0
  101. package/dist/src/submit/types.js.map +1 -0
  102. package/dist/src/tests/deployTestErc20.js +3 -2
  103. package/dist/src/tests/deployTestErc20.js.map +1 -1
  104. package/dist/src/tests/hooks.test.js +14 -8
  105. package/dist/src/tests/hooks.test.js.map +1 -1
  106. package/dist/src/tests/ism.test.js +1 -1
  107. package/dist/src/tests/ism.test.js.map +1 -1
  108. package/dist/src/utils/balances.d.ts +2 -2
  109. package/dist/src/utils/balances.d.ts.map +1 -1
  110. package/dist/src/utils/balances.js +8 -3
  111. package/dist/src/utils/balances.js.map +1 -1
  112. package/dist/src/utils/chains.d.ts +1 -0
  113. package/dist/src/utils/chains.d.ts.map +1 -1
  114. package/dist/src/utils/chains.js +20 -3
  115. package/dist/src/utils/chains.js.map +1 -1
  116. package/dist/src/utils/env.d.ts +3 -0
  117. package/dist/src/utils/env.d.ts.map +1 -1
  118. package/dist/src/utils/env.js +3 -0
  119. package/dist/src/utils/env.js.map +1 -1
  120. package/dist/src/utils/files.d.ts +1 -0
  121. package/dist/src/utils/files.d.ts.map +1 -1
  122. package/dist/src/utils/files.js +8 -0
  123. package/dist/src/utils/files.js.map +1 -1
  124. package/dist/src/utils/keys.d.ts +5 -3
  125. package/dist/src/utils/keys.d.ts.map +1 -1
  126. package/dist/src/utils/keys.js +16 -13
  127. package/dist/src/utils/keys.js.map +1 -1
  128. package/dist/src/validator/address.d.ts +10 -0
  129. package/dist/src/validator/address.d.ts.map +1 -0
  130. package/dist/src/validator/address.js +107 -0
  131. package/dist/src/validator/address.js.map +1 -0
  132. package/dist/src/version.d.ts +1 -1
  133. package/dist/src/version.d.ts.map +1 -1
  134. package/dist/src/version.js +1 -1
  135. package/dist/src/version.js.map +1 -1
  136. package/examples/core-config.yaml +19 -0
  137. package/examples/hooks.yaml +8 -4
  138. package/examples/warp-route-deployment.yaml +2 -4
  139. package/package.json +7 -4
  140. package/dist/src/commands/chains.d.ts +0 -6
  141. package/dist/src/commands/chains.d.ts.map +0 -1
  142. package/dist/src/commands/chains.js.map +0 -1
  143. package/dist/src/commands/hook.d.ts.map +0 -1
  144. package/dist/src/commands/hook.js +0 -34
  145. package/dist/src/commands/hook.js.map +0 -1
  146. package/dist/src/commands/ism.d.ts +0 -12
  147. package/dist/src/commands/ism.d.ts.map +0 -1
  148. package/dist/src/commands/ism.js +0 -36
  149. package/dist/src/commands/ism.js.map +0 -1
  150. package/dist/src/registry/MergedRegistry.d.ts +0 -35
  151. package/dist/src/registry/MergedRegistry.d.ts.map +0 -1
  152. package/dist/src/registry/MergedRegistry.js +0 -83
  153. package/dist/src/registry/MergedRegistry.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { runKurtosisAgentDeploy } from '../deploy/agent.js';
2
2
  import { runCoreDeploy } from '../deploy/core.js';
3
- import { evaluateIfDryRunFailure, verifyAnvil } from '../deploy/dry-run.js';
3
+ import { evaluateIfDryRunFailure } from '../deploy/dry-run.js';
4
4
  import { runWarpRouteDeploy } from '../deploy/warp.js';
5
5
  import { log, logGray } from '../logger.js';
6
- import { agentConfigCommandOption, agentTargetsCommandOption, coreTargetsCommandOption, dryRunOption, hookCommandOption, ismCommandOption, originCommandOption, warpConfigCommandOption, } from './options.js';
6
+ import { readYamlOrJson } from '../utils/files.js';
7
+ import { agentConfigCommandOption, agentTargetsCommandOption, chainCommandOption, dryRunCommandOption, fromAddressCommandOption, originCommandOption, outputFileCommandOption, warpDeploymentConfigCommandOption, } from './options.js';
7
8
  /**
8
9
  * Parent command
9
10
  */
@@ -11,7 +12,6 @@ export const deployCommand = {
11
12
  command: 'deploy',
12
13
  describe: 'Permissionlessly deploy a Hyperlane contracts or extensions',
13
14
  builder: (yargs) => yargs
14
- .command(coreCommand)
15
15
  .command(warpCommand)
16
16
  .command(agentCommand)
17
17
  .version(false)
@@ -42,31 +42,28 @@ const agentCommand = {
42
42
  },
43
43
  };
44
44
  /**
45
- * Core command
45
+ * Generates a command module for deploying Hyperlane contracts, given a command
46
+ *
47
+ * @param commandName - the deploy command key used to look up the deployFunction
48
+ * @returns A command module used to deploy Hyperlane contracts.
46
49
  */
47
- const coreCommand = {
48
- command: 'core',
49
- describe: 'Deploy core Hyperlane contracts',
50
+ export const deploy = {
51
+ command: 'deploy',
52
+ describe: 'Deploy Hyperlane contracts',
50
53
  builder: {
51
- targets: coreTargetsCommandOption,
52
- ism: ismCommandOption,
53
- hook: hookCommandOption,
54
- agent: agentConfigCommandOption(false, './configs/agent.json'),
55
- 'dry-run': dryRunOption,
54
+ chain: chainCommandOption,
55
+ config: outputFileCommandOption('./configs/core-config.yaml', false, 'The path to a JSON or YAML file with a core deployment config.'),
56
+ 'dry-run': dryRunCommandOption,
57
+ 'from-address': fromAddressCommandOption,
56
58
  },
57
- handler: async ({ context, targets, ism, hook, agent, dryRun }) => {
58
- logGray(`Hyperlane permissionless core deployment${dryRun ? ' dry-run' : ''}`);
59
- logGray('------------------------------------------------');
60
- if (dryRun)
61
- await verifyAnvil();
59
+ handler: async ({ context, chain, config: configFilePath, dryRun }) => {
60
+ logGray(`Hyperlane permissionless deployment${dryRun ? ' dry-run' : ''}`);
61
+ logGray(`------------------------------------------------`);
62
62
  try {
63
- const chains = targets?.split(',').map((r) => r.trim());
64
63
  await runCoreDeploy({
65
64
  context,
66
- chains,
67
- ismConfigPath: ism,
68
- hookConfigPath: hook,
69
- agentOutPath: agent,
65
+ chain,
66
+ config: readYamlOrJson(configFilePath),
70
67
  });
71
68
  }
72
69
  catch (error) {
@@ -83,14 +80,13 @@ const warpCommand = {
83
80
  command: 'warp',
84
81
  describe: 'Deploy Warp Route contracts',
85
82
  builder: {
86
- config: warpConfigCommandOption,
87
- 'dry-run': dryRunOption,
83
+ config: warpDeploymentConfigCommandOption,
84
+ 'dry-run': dryRunCommandOption,
85
+ 'from-address': fromAddressCommandOption,
88
86
  },
89
87
  handler: async ({ context, config, dryRun }) => {
90
88
  logGray(`Hyperlane warp route deployment${dryRun ? ' dry-run' : ''}`);
91
89
  logGray('------------------------------------------------');
92
- if (dryRun)
93
- await verifyAnvil();
94
90
  try {
95
91
  await runWarpRouteDeploy({
96
92
  context,
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,18 @@ export declare const agentTargetsCommandOption: Options;
10
10
  export declare const originCommandOption: Options;
11
11
  export declare const ismCommandOption: Options;
12
12
  export declare const hookCommandOption: Options;
13
- export declare const warpConfigCommandOption: Options;
14
- export declare const warpConfigOption: Options;
13
+ export declare const warpDeploymentConfigCommandOption: Options;
14
+ export declare const warpCoreConfigCommandOption: Options;
15
15
  export declare const agentConfigCommandOption: (isIn: boolean, defaultPath?: string) => Options;
16
- export declare const outputFileOption: (defaultPath?: string) => Options;
17
- export declare const inputFileOption: Options;
18
- export declare const dryRunOption: Options;
16
+ export declare const outputFileCommandOption: (defaultPath?: string, demandOption?: boolean, description?: string) => Options;
17
+ export declare const inputFileCommandOption: Options;
18
+ export declare const fromAddressCommandOption: Options;
19
+ export declare const dryRunCommandOption: Options;
19
20
  export declare const chainCommandOption: Options;
20
21
  export declare const addressCommandOption: (description: string, demandOption?: boolean) => Options;
22
+ export declare const awsAccessKeyCommandOption: Options;
23
+ export declare const awsSecretKeyCommandOption: Options;
24
+ export declare const awsRegionCommandOption: Options;
25
+ export declare const awsBucketCommandOption: Options;
26
+ export declare const awsKeyIdCommandOption: Options;
21
27
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAShC,eAAO,MAAM,sBAAsB,EAAE,OAIpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,OAInC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAKtC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,OAI9C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAKpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAM9B,CAAC;AAIF,eAAO,MAAM,wBAAwB,EAAE,OAItC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,OAGvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAGjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAI/B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,OAMrC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAM9B,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAC7B,OAAO,gBACC,MAAM,KACnB,OAMD,CAAC;AAEH,eAAO,MAAM,gBAAgB,iBAAkB,MAAM,KAAG,OAKtD,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,OAK7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAK1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAGhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAClB,MAAM,6BAElB,OAID,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAShC,eAAO,MAAM,sBAAsB,EAAE,OAIpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,OAInC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAKtC,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,OAI9C,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAKpC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAO9B,CAAC;AAIF,eAAO,MAAM,wBAAwB,EAAE,OAItC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,OAGvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAGjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,OAI/B,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,OAM/C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,OAMzC,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAC7B,OAAO,gBACC,MAAM,KACnB,OAMD,CAAC;AAEH,eAAO,MAAM,uBAAuB,iBACpB,MAAM,mDAGnB,OAMD,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,OAKpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAItC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAGhC,CAAC;AAEF,eAAO,MAAM,oBAAoB,gBAClB,MAAM,6BAElB,OAID,CAAC;AAGH,eAAO,MAAM,yBAAyB,EAAE,OAKvC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,OAKvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAKpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,OAGpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,OAGnC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import os from 'os';
1
2
  import { DEFAULT_GITHUB_REGISTRY } from '@hyperlane-xyz/registry';
2
3
  import { LogFormat, LogLevel } from '@hyperlane-xyz/utils';
3
4
  import { ENV } from '../utils/env.js';
@@ -21,7 +22,7 @@ export const registryUriCommandOption = {
21
22
  export const overrideRegistryUriCommandOption = {
22
23
  type: 'string',
23
24
  description: 'Path to a local registry to override the default registry',
24
- default: './',
25
+ default: `${os.homedir()}/.hyperlane`,
25
26
  };
26
27
  export const skipConfirmationOption = {
27
28
  type: 'boolean',
@@ -31,10 +32,10 @@ export const skipConfirmationOption = {
31
32
  };
32
33
  export const keyCommandOption = {
33
34
  type: 'string',
34
- description: `A hex private key or seed phrase for transaction signing, or use the HYP_KEY env var.
35
- Dry-run: An address to simulate transaction signing on a forked network`,
36
- alias: 'k',
35
+ description: 'A hex private key or seed phrase for transaction signing, or use the HYP_KEY env var.',
36
+ alias: ['k', 'private-key', 'seed-phrase'],
37
37
  default: ENV.HYP_KEY,
38
+ defaultDescription: 'process.env.HYP_KEY',
38
39
  };
39
40
  /* Command-specific options */
40
41
  export const coreTargetsCommandOption = {
@@ -57,13 +58,13 @@ export const hookCommandOption = {
57
58
  type: 'string',
58
59
  description: 'A path to a JSON or YAML file with Hook configs (for every chain)',
59
60
  };
60
- export const warpConfigCommandOption = {
61
+ export const warpDeploymentConfigCommandOption = {
61
62
  type: 'string',
62
63
  description: 'A path to a JSON or YAML file with a warp route deployment config.',
63
64
  default: './configs/warp-route-deployment.yaml',
64
65
  alias: 'w',
65
66
  };
66
- export const warpConfigOption = {
67
+ export const warpCoreConfigCommandOption = {
67
68
  type: 'string',
68
69
  description: 'File path to Warp Route config',
69
70
  alias: 'w',
@@ -75,22 +76,28 @@ export const agentConfigCommandOption = (isIn, defaultPath) => ({
75
76
  description: `${isIn ? 'Input' : 'Output'} file path for the agent configuration`,
76
77
  default: defaultPath,
77
78
  });
78
- export const outputFileOption = (defaultPath) => ({
79
+ export const outputFileCommandOption = (defaultPath, demandOption = false, description = 'Output file path') => ({
79
80
  type: 'string',
80
- description: 'Output file path',
81
+ description,
81
82
  default: defaultPath,
82
83
  alias: 'o',
84
+ demandOption,
83
85
  });
84
- export const inputFileOption = {
86
+ export const inputFileCommandOption = {
85
87
  type: 'string',
86
88
  description: 'Input file path',
87
89
  alias: 'i',
88
90
  demandOption: true,
89
91
  };
90
- export const dryRunOption = {
92
+ export const fromAddressCommandOption = {
93
+ type: 'string',
94
+ description: `An address to simulate transaction signing on a forked network`,
95
+ alias: 'f',
96
+ };
97
+ export const dryRunCommandOption = {
91
98
  type: 'string',
92
99
  description: 'Chain name to fork and simulate deployment. Please ensure an anvil node instance is running during execution via `anvil`.',
93
- alias: ['d'],
100
+ alias: 'd',
94
101
  };
95
102
  export const chainCommandOption = {
96
103
  type: 'string',
@@ -101,4 +108,31 @@ export const addressCommandOption = (description, demandOption = false) => ({
101
108
  description,
102
109
  demandOption,
103
110
  });
111
+ /* Validator options */
112
+ export const awsAccessKeyCommandOption = {
113
+ type: 'string',
114
+ description: 'AWS access key of IAM user associated with validator',
115
+ default: ENV.AWS_ACCESS_KEY_ID,
116
+ defaultDescription: 'process.env.AWS_ACCESS_KEY_ID',
117
+ };
118
+ export const awsSecretKeyCommandOption = {
119
+ type: 'string',
120
+ description: 'AWS secret access key of IAM user associated with validator',
121
+ default: ENV.AWS_SECRET_ACCESS_KEY,
122
+ defaultDescription: 'process.env.AWS_SECRET_ACCESS_KEY',
123
+ };
124
+ export const awsRegionCommandOption = {
125
+ type: 'string',
126
+ describe: 'AWS region associated with validator',
127
+ default: ENV.AWS_REGION,
128
+ defaultDescription: 'process.env.AWS_REGION',
129
+ };
130
+ export const awsBucketCommandOption = {
131
+ type: 'string',
132
+ describe: 'AWS S3 bucket containing validator signatures and announcement',
133
+ };
134
+ export const awsKeyIdCommandOption = {
135
+ type: 'string',
136
+ describe: 'Key ID from AWS KMS',
137
+ };
104
138
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,sBAAsB,GAAY;IAC7C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAY;IAC5C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAY;IAC/C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,8DAA8D;IAC3E,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAY;IACvD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2DAA2D;IACxE,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAY;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE;wEACyD;IACtE,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG,CAAC,OAAO;CACrB,CAAC;AAEF,8BAA8B;AAE9B,MAAM,CAAC,MAAM,wBAAwB,GAAY;IAC/C,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,yEAAyE;CAC5E,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAY;IAChD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iDAAiD;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,2CAA2C;CACzD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,kFAAkF;CACrF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACxC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,mEAAmE;CACtE,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAY;IAC9C,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,oEAAoE;IACtE,OAAO,EAAE,sCAAsC;IAC/C,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,gCAAgC;IAC7C,KAAK,EAAE,GAAG;IACV,yEAAyE;IACzE,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAAa,EACb,WAAoB,EACX,EAAE,CAAC,CAAC;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,GACX,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QACnB,wCAAwC;IACxC,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAoB,EAAW,EAAE,CAAC,CAAC;IAClE,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,GAAG;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAY;IACtC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAY;IACnC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,2HAA2H;IAC7H,KAAK,EAAE,CAAC,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAY;IACzC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,gDAAgD;CAC9D,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAmB,EACnB,YAAY,GAAG,KAAK,EACX,EAAE,CAAC,CAAC;IACb,IAAI,EAAE,QAAQ;IACd,WAAW;IACX,YAAY;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CommandModule } from 'yargs';
2
+ /**
3
+ * Parent command
4
+ */
5
+ export declare const registryCommand: CommandModule;
6
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQtC;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,aAU7B,CAAC"}
@@ -3,8 +3,8 @@ const ChainTypes = ['mainnet', 'testnet'];
3
3
  /**
4
4
  * Parent command
5
5
  */
6
- export const chainsCommand = {
7
- command: 'chains',
6
+ export const registryCommand = {
7
+ command: 'registry',
8
8
  describe: 'View information about Hyperlane chains in a registry',
9
9
  builder: (yargs) => yargs
10
10
  .command(listCommand)
@@ -82,4 +82,4 @@ const addressesCommand = {
82
82
  }
83
83
  },
84
84
  };
85
- //# sourceMappingURL=chains.js.map
85
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAS/C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAUzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAwBlD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAM/C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAMzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAwBlD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB"}
@@ -1,19 +1,13 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { log } from '../logger.js';
3
3
  import { sendTestMessage } from '../send/message.js';
4
- import { sendTestTransfer } from '../send/transfer.js';
5
- import { warpConfigOption } from './options.js';
6
4
  /**
7
5
  * Parent command
8
6
  */
9
7
  export const sendCommand = {
10
8
  command: 'send',
11
- describe: 'Send a test message or transfer',
12
- builder: (yargs) => yargs
13
- .command(messageCommand)
14
- .command(transferCommand)
15
- .version(false)
16
- .demandCommand(),
9
+ describe: 'Send a test message',
10
+ builder: (yargs) => yargs.command(messageCommand).version(false).demandCommand(),
17
11
  handler: () => log('Command required'),
18
12
  };
19
13
  /**
@@ -68,38 +62,4 @@ const messageCommand = {
68
62
  process.exit(0);
69
63
  },
70
64
  };
71
- /**
72
- * Transfer command
73
- */
74
- const transferCommand = {
75
- command: 'transfer',
76
- describe: 'Send a test token transfer on a warp route',
77
- builder: {
78
- ...messageOptions,
79
- warp: warpConfigOption,
80
- wei: {
81
- type: 'string',
82
- description: 'Amount in wei to send',
83
- default: 1,
84
- },
85
- recipient: {
86
- type: 'string',
87
- description: 'Token recipient address (defaults to sender)',
88
- },
89
- },
90
- handler: async ({ context, origin, destination, timeout, quick, relay, warp, wei, recipient, }) => {
91
- await sendTestTransfer({
92
- context,
93
- warpConfigPath: warp,
94
- origin,
95
- destination,
96
- wei,
97
- recipient,
98
- timeoutSec: timeout,
99
- skipWaitForDelivery: quick,
100
- selfRelay: relay,
101
- });
102
- process.exit(0);
103
- },
104
- };
105
65
  //# sourceMappingURL=send.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,qBAAqB;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE;IAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,mCAAmC;KACjD;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,sCAAsC;KACpD;IACD,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oBAAoB;QACjC,OAAO,EAAE,CAAC,GAAG,EAAE;KAChB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,KAAK;KACf;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAUF,MAAM,cAAc,GAEhB;IACF,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,uCAAuC;IACjD,OAAO,EAAE;QACP,GAAG,cAAc;QACjB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uBAAuB;YACpC,OAAO,EAAE,QAAQ;SAClB;KACF;IACD,OAAO,EAAE,KAAK,EAAE,EACd,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,EACL,KAAK,EACL,IAAI,GACL,EAAE,EAAE;QACH,MAAM,eAAe,CAAC;YACpB,OAAO;YACP,MAAM;YACN,WAAW;YACX,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACjE,UAAU,EAAE,OAAO;YACnB,mBAAmB,EAAE,KAAK;YAC1B,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const validatorCommand: CommandModule;
3
+ //# sourceMappingURL=validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../../src/commands/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAetC,eAAO,MAAM,gBAAgB,EAAE,aAK9B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { log } from '../logger.js';
2
+ import { getValidatorAddress } from '../validator/address.js';
3
+ import { awsAccessKeyCommandOption, awsBucketCommandOption, awsKeyIdCommandOption, awsRegionCommandOption, awsSecretKeyCommandOption, } from './options.js';
4
+ // Parent command to help configure and set up Hyperlane validators
5
+ export const validatorCommand = {
6
+ command: 'validator',
7
+ describe: 'Configure and manage Hyperlane validators',
8
+ builder: (yargs) => yargs.command(addressCommand).demandCommand(),
9
+ handler: () => log('Command required'),
10
+ };
11
+ // If AWS access key needed for future validator commands, move to context
12
+ const addressCommand = {
13
+ command: 'address',
14
+ describe: 'Get the validator address from S3 bucket or KMS key ID',
15
+ builder: {
16
+ 'access-key': awsAccessKeyCommandOption,
17
+ 'secret-key': awsSecretKeyCommandOption,
18
+ region: awsRegionCommandOption,
19
+ bucket: awsBucketCommandOption,
20
+ 'key-id': awsKeyIdCommandOption,
21
+ },
22
+ handler: async ({ context, accessKey, secretKey, region, bucket, keyId }) => {
23
+ await getValidatorAddress({
24
+ context,
25
+ accessKey,
26
+ secretKey,
27
+ region,
28
+ bucket,
29
+ keyId,
30
+ });
31
+ process.exit(0);
32
+ },
33
+ };
34
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/commands/validator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,mEAAmE;AACnE,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,2CAA2C;IACrD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,aAAa,EAAE;IACjE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC;CACvC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,cAAc,GAMf;IACH,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,wDAAwD;IAClE,OAAO,EAAE;QACP,YAAY,EAAE,yBAAyB;QACvC,YAAY,EAAE,yBAAyB;QACvC,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,sBAAsB;QAC9B,QAAQ,EAAE,qBAAqB;KAChC;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1E,MAAM,mBAAmB,CAAC;YACxB,OAAO;YACP,SAAS;YACT,SAAS;YACT,MAAM;YACN,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -3,10 +3,14 @@ import { CommandModuleWithContext } from '../context/types.js';
3
3
  /**
4
4
  * Parent command
5
5
  */
6
- export declare const hookCommand: CommandModule;
6
+ export declare const warpCommand: CommandModule;
7
+ export declare const configure: CommandModuleWithContext<{
8
+ ismAdvanced: boolean;
9
+ out: string;
10
+ }>;
7
11
  export declare const read: CommandModuleWithContext<{
8
12
  chain: string;
9
13
  address: string;
10
14
  out: string;
11
15
  }>;
12
- //# sourceMappingURL=hook.d.ts.map
16
+ //# sourceMappingURL=warp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/commands/warp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAO,EACL,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAa7B;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAYzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,wBAAwB,CAAC;IAC/C,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb,CAmBA,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,wBAAwB,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAmCA,CAAC"}
@@ -0,0 +1,101 @@
1
+ import { EvmERC20WarpRouteReader } from '@hyperlane-xyz/sdk';
2
+ import { createWarpRouteDeployConfig } from '../config/warp.js';
3
+ import { log, logGray, logGreen } from '../logger.js';
4
+ import { sendTestTransfer } from '../send/transfer.js';
5
+ import { writeFileAtPath } from '../utils/files.js';
6
+ import { addressCommandOption, chainCommandOption, outputFileCommandOption, warpCoreConfigCommandOption, } from './options.js';
7
+ import { messageOptions } from './send.js';
8
+ /**
9
+ * Parent command
10
+ */
11
+ export const warpCommand = {
12
+ command: 'warp',
13
+ describe: 'Manage Hyperlane warp routes',
14
+ builder: (yargs) => yargs
15
+ .command(configure)
16
+ .command(read)
17
+ .command(send)
18
+ .version(false)
19
+ .demandCommand(),
20
+ handler: () => log('Command required'),
21
+ };
22
+ export const configure = {
23
+ command: 'configure',
24
+ describe: 'Create a warp route configuration.',
25
+ builder: {
26
+ ismAdvanced: {
27
+ type: 'boolean',
28
+ describe: 'Create an advanced ISM & hook configuration',
29
+ default: false,
30
+ },
31
+ out: outputFileCommandOption('./configs/warp-route-deployment.yaml'),
32
+ },
33
+ handler: async ({ context, ismAdvanced, out }) => {
34
+ await createWarpRouteDeployConfig({
35
+ context,
36
+ outPath: out,
37
+ shouldUseDefault: !ismAdvanced,
38
+ });
39
+ process.exit(0);
40
+ },
41
+ };
42
+ export const read = {
43
+ command: 'read',
44
+ describe: 'Reads the warp route config at the given path.',
45
+ builder: {
46
+ chain: {
47
+ ...chainCommandOption,
48
+ demandOption: true,
49
+ },
50
+ address: addressCommandOption('Address of the router contract to read.', true),
51
+ out: outputFileCommandOption(),
52
+ },
53
+ handler: async ({ context, chain, address, out }) => {
54
+ logGray('Hyperlane Warp Reader');
55
+ logGray('---------------------');
56
+ const { multiProvider } = context;
57
+ const evmERC20WarpRouteReader = new EvmERC20WarpRouteReader(multiProvider, chain);
58
+ const warpRouteConfig = await evmERC20WarpRouteReader.deriveWarpRouteConfig(address);
59
+ if (out) {
60
+ writeFileAtPath(out, JSON.stringify(warpRouteConfig, null, 4) + '\n');
61
+ logGreen(`✅ Warp route config written successfully to ${out}.`);
62
+ }
63
+ else {
64
+ logGreen(`✅ Warp route config read successfully:`);
65
+ log(JSON.stringify(warpRouteConfig, null, 4));
66
+ }
67
+ process.exit(0);
68
+ },
69
+ };
70
+ const send = {
71
+ command: 'send',
72
+ describe: 'Send a test token transfer on a warp route',
73
+ builder: {
74
+ ...messageOptions,
75
+ warp: warpCoreConfigCommandOption,
76
+ wei: {
77
+ type: 'string',
78
+ description: 'Amount in wei to send',
79
+ default: 1,
80
+ },
81
+ recipient: {
82
+ type: 'string',
83
+ description: 'Token recipient address (defaults to sender)',
84
+ },
85
+ },
86
+ handler: async ({ context, origin, destination, timeout, quick, relay, warp, wei, recipient, }) => {
87
+ await sendTestTransfer({
88
+ context,
89
+ warpConfigPath: warp,
90
+ origin,
91
+ destination,
92
+ wei,
93
+ recipient,
94
+ timeoutSec: timeout,
95
+ skipWaitForDelivery: quick,
96
+ selfRelay: relay,
97
+ });
98
+ process.exit(0);
99
+ },
100
+ };
101
+ //# sourceMappingURL=warp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/commands/warp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/config/chain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,iBAuBhD;AAED,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,GACR,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;CACzB,iBAmFA"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/config/chain.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,iBAuBhD;AAED,wBAAsB,iBAAiB,CAAC,EACtC,OAAO,GACR,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;CACzB,iBAiHA"}
@@ -1,7 +1,9 @@
1
1
  import { confirm, input } from '@inquirer/prompts';
2
+ import { ethers } from 'ethers';
2
3
  import { ChainMetadataSchema } from '@hyperlane-xyz/sdk';
3
4
  import { ProtocolType } from '@hyperlane-xyz/utils';
4
5
  import { errorRed, log, logBlue, logGreen } from '../logger.js';
6
+ import { detectAndConfirmOrPrompt } from '../utils/chains.js';
5
7
  import { readYamlOrJson } from '../utils/files.js';
6
8
  export function readChainConfigs(filePath) {
7
9
  log(`Reading file configs in ${filePath}`);
@@ -23,21 +25,31 @@ export function readChainConfigs(filePath) {
23
25
  }
24
26
  export async function createChainConfig({ context, }) {
25
27
  logBlue('Creating a new chain config');
26
- const name = await input({
27
- message: 'Enter chain name (one word, lower case)',
28
- });
29
- const chainId = await input({ message: 'Enter chain id (number)' });
30
- const domainId = chainId;
31
- const rpcUrl = await input({ message: 'Enter http or https rpc url' });
28
+ const rpcUrl = await detectAndConfirmOrPrompt(async () => {
29
+ await new ethers.providers.JsonRpcProvider().getNetwork();
30
+ return ethers.providers.JsonRpcProvider.defaultUrl();
31
+ }, 'Enter http or https', 'rpc url');
32
+ const provider = new ethers.providers.JsonRpcProvider(rpcUrl);
33
+ const name = await detectAndConfirmOrPrompt(async () => {
34
+ const clientName = await provider.send('web3_clientVersion', []);
35
+ const port = rpcUrl.split(':').slice(-1);
36
+ const client = clientName.split('/')[0];
37
+ return `${client}${port}`;
38
+ }, 'Enter (one word, lower case)', 'chain name');
39
+ const chainId = parseInt(await detectAndConfirmOrPrompt(async () => {
40
+ const network = await provider.getNetwork();
41
+ return network.chainId.toString();
42
+ }, 'Enter a (number)', 'chain id'), 10);
32
43
  const metadata = {
33
44
  name,
34
- chainId: parseInt(chainId, 10),
35
- domainId: parseInt(domainId, 10),
45
+ chainId,
46
+ domainId: chainId,
36
47
  protocol: ProtocolType.Ethereum,
37
48
  rpcUrls: [{ http: rpcUrl }],
38
49
  };
39
50
  const wantAdvancedConfig = await confirm({
40
- message: 'Do you want to set block or gas properties for this chain config?(optional)',
51
+ default: false,
52
+ message: 'Do you want to set block or gas properties for this chain config?',
41
53
  });
42
54
  if (wantAdvancedConfig) {
43
55
  const wantBlockConfig = await confirm({