@hyperlane-xyz/cli 3.10.1-beta1 → 3.20.0-beta1

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 (155) hide show
  1. package/dist/cli.js +13 -5
  2. package/dist/cli.js.map +1 -1
  3. package/dist/src/commands/chains.d.ts.map +1 -1
  4. package/dist/src/commands/chains.js +40 -34
  5. package/dist/src/commands/chains.js.map +1 -1
  6. package/dist/src/commands/config.d.ts.map +1 -1
  7. package/dist/src/commands/config.js +41 -82
  8. package/dist/src/commands/config.js.map +1 -1
  9. package/dist/src/commands/deploy.d.ts +0 -6
  10. package/dist/src/commands/deploy.d.ts.map +1 -1
  11. package/dist/src/commands/deploy.js +27 -74
  12. package/dist/src/commands/deploy.js.map +1 -1
  13. package/dist/src/commands/hook.d.ts +6 -1
  14. package/dist/src/commands/hook.d.ts.map +1 -1
  15. package/dist/src/commands/hook.js +6 -14
  16. package/dist/src/commands/hook.js.map +1 -1
  17. package/dist/src/commands/ism.d.ts +6 -1
  18. package/dist/src/commands/ism.d.ts.map +1 -1
  19. package/dist/src/commands/ism.js +5 -13
  20. package/dist/src/commands/ism.js.map +1 -1
  21. package/dist/src/commands/options.d.ts +6 -33
  22. package/dist/src/commands/options.d.ts.map +1 -1
  23. package/dist/src/commands/options.js +40 -41
  24. package/dist/src/commands/options.js.map +1 -1
  25. package/dist/src/commands/send.d.ts +7 -1
  26. package/dist/src/commands/send.d.ts.map +1 -1
  27. package/dist/src/commands/send.js +23 -58
  28. package/dist/src/commands/send.js.map +1 -1
  29. package/dist/src/commands/signCommands.d.ts +3 -0
  30. package/dist/src/commands/signCommands.d.ts.map +1 -0
  31. package/dist/src/commands/signCommands.js +9 -0
  32. package/dist/src/commands/signCommands.js.map +1 -0
  33. package/dist/src/commands/status.d.ts +5 -2
  34. package/dist/src/commands/status.d.ts.map +1 -1
  35. package/dist/src/commands/status.js +6 -15
  36. package/dist/src/commands/status.js.map +1 -1
  37. package/dist/src/config/chain.d.ts +5 -7
  38. package/dist/src/config/chain.d.ts.map +1 -1
  39. package/dist/src/config/chain.js +16 -39
  40. package/dist/src/config/chain.js.map +1 -1
  41. package/dist/src/config/chain.test.js +1 -5
  42. package/dist/src/config/chain.test.js.map +1 -1
  43. package/dist/src/config/hooks.d.ts +7 -8
  44. package/dist/src/config/hooks.d.ts.map +1 -1
  45. package/dist/src/config/hooks.js +18 -20
  46. package/dist/src/config/hooks.js.map +1 -1
  47. package/dist/src/config/ism.d.ts +3 -4
  48. package/dist/src/config/ism.d.ts.map +1 -1
  49. package/dist/src/config/ism.js +3 -5
  50. package/dist/src/config/ism.js.map +1 -1
  51. package/dist/src/config/multisig.d.ts +3 -4
  52. package/dist/src/config/multisig.d.ts.map +1 -1
  53. package/dist/src/config/multisig.js +5 -7
  54. package/dist/src/config/multisig.js.map +1 -1
  55. package/dist/src/config/warp.d.ts +6 -36
  56. package/dist/src/config/warp.d.ts.map +1 -1
  57. package/dist/src/config/warp.js +14 -13
  58. package/dist/src/config/warp.js.map +1 -1
  59. package/dist/src/context/context.d.ts +14 -0
  60. package/dist/src/context/context.d.ts.map +1 -0
  61. package/dist/src/context/context.js +100 -0
  62. package/dist/src/context/context.js.map +1 -0
  63. package/dist/src/context/types.d.ts +32 -0
  64. package/dist/src/context/types.d.ts.map +1 -0
  65. package/dist/src/context/types.js +2 -0
  66. package/dist/src/context/types.js.map +1 -0
  67. package/dist/src/deploy/agent.d.ts +6 -5
  68. package/dist/src/deploy/agent.d.ts.map +1 -1
  69. package/dist/src/deploy/agent.js +4 -6
  70. package/dist/src/deploy/agent.js.map +1 -1
  71. package/dist/src/deploy/core.d.ts +4 -7
  72. package/dist/src/deploy/core.d.ts.map +1 -1
  73. package/dist/src/deploy/core.js +61 -73
  74. package/dist/src/deploy/core.js.map +1 -1
  75. package/dist/src/deploy/dry-run.d.ts +2 -3
  76. package/dist/src/deploy/dry-run.d.ts.map +1 -1
  77. package/dist/src/deploy/dry-run.js.map +1 -1
  78. package/dist/src/deploy/utils.d.ts +9 -11
  79. package/dist/src/deploy/utils.d.ts.map +1 -1
  80. package/dist/src/deploy/utils.js +13 -11
  81. package/dist/src/deploy/utils.js.map +1 -1
  82. package/dist/src/deploy/warp.d.ts +3 -7
  83. package/dist/src/deploy/warp.d.ts.map +1 -1
  84. package/dist/src/deploy/warp.js +26 -63
  85. package/dist/src/deploy/warp.js.map +1 -1
  86. package/dist/src/hook/read.d.ts +4 -5
  87. package/dist/src/hook/read.d.ts.map +1 -1
  88. package/dist/src/hook/read.js +8 -12
  89. package/dist/src/hook/read.js.map +1 -1
  90. package/dist/src/ism/read.d.ts +4 -5
  91. package/dist/src/ism/read.d.ts.map +1 -1
  92. package/dist/src/ism/read.js +8 -12
  93. package/dist/src/ism/read.js.map +1 -1
  94. package/dist/src/registry/MergedRegistry.d.ts +35 -0
  95. package/dist/src/registry/MergedRegistry.d.ts.map +1 -0
  96. package/dist/src/registry/MergedRegistry.js +83 -0
  97. package/dist/src/registry/MergedRegistry.js.map +1 -0
  98. package/dist/src/send/message.d.ts +3 -4
  99. package/dist/src/send/message.d.ts.map +1 -1
  100. package/dist/src/send/message.js +14 -19
  101. package/dist/src/send/message.js.map +1 -1
  102. package/dist/src/send/transfer.d.ts +3 -6
  103. package/dist/src/send/transfer.d.ts.map +1 -1
  104. package/dist/src/send/transfer.js +25 -40
  105. package/dist/src/send/transfer.js.map +1 -1
  106. package/dist/src/status/message.d.ts +3 -4
  107. package/dist/src/status/message.d.ts.map +1 -1
  108. package/dist/src/status/message.js +5 -12
  109. package/dist/src/status/message.js.map +1 -1
  110. package/dist/src/utils/chains.d.ts +2 -2
  111. package/dist/src/utils/chains.d.ts.map +1 -1
  112. package/dist/src/utils/chains.js +11 -12
  113. package/dist/src/utils/chains.js.map +1 -1
  114. package/dist/src/utils/files.d.ts +0 -7
  115. package/dist/src/utils/files.d.ts.map +1 -1
  116. package/dist/src/utils/files.js +2 -27
  117. package/dist/src/utils/files.js.map +1 -1
  118. package/dist/src/utils/keys.d.ts +15 -4
  119. package/dist/src/utils/keys.d.ts.map +1 -1
  120. package/dist/src/utils/keys.js +11 -16
  121. package/dist/src/utils/keys.js.map +1 -1
  122. package/dist/src/utils/tokens.d.ts +3 -0
  123. package/dist/src/utils/tokens.d.ts.map +1 -0
  124. package/dist/src/utils/tokens.js +14 -0
  125. package/dist/src/utils/tokens.js.map +1 -0
  126. package/dist/src/utils/version-check.d.ts.map +1 -1
  127. package/dist/src/utils/version-check.js +5 -0
  128. package/dist/src/utils/version-check.js.map +1 -1
  129. package/dist/src/version.d.ts +1 -1
  130. package/dist/src/version.js +1 -1
  131. package/examples/chain-config.yaml +38 -46
  132. package/package.json +5 -4
  133. package/dist/src/config/artifacts.d.ts +0 -16
  134. package/dist/src/config/artifacts.d.ts.map +0 -1
  135. package/dist/src/config/artifacts.js +0 -48
  136. package/dist/src/config/artifacts.js.map +0 -1
  137. package/dist/src/context.d.ts +0 -64
  138. package/dist/src/context.d.ts.map +0 -1
  139. package/dist/src/context.js +0 -113
  140. package/dist/src/context.js.map +0 -1
  141. package/dist/src/context.test.d.ts +0 -2
  142. package/dist/src/context.test.d.ts.map +0 -1
  143. package/dist/src/context.test.js +0 -21
  144. package/dist/src/context.test.js.map +0 -1
  145. package/dist/src/utils/fork.d.ts +0 -37
  146. package/dist/src/utils/fork.d.ts.map +0 -1
  147. package/dist/src/utils/fork.js +0 -91
  148. package/dist/src/utils/fork.js.map +0 -1
  149. package/examples/anvil-chains.yaml +0 -22
  150. package/examples/dry-run/anvil-chains.yaml +0 -17
  151. package/examples/dry-run/ism.yaml +0 -8
  152. package/examples/dry-run/warp-route-deployment.yaml +0 -4
  153. package/examples/fork/anvil-chains.yaml +0 -21
  154. package/examples/fork/ism.yaml +0 -9
  155. package/examples/fork/warp-route-deployment.yaml +0 -34
@@ -4,8 +4,7 @@ import fs from 'fs';
4
4
  import path from 'path';
5
5
  import { parse as yamlParse, stringify as yamlStringify } from 'yaml';
6
6
  import { objMerge } from '@hyperlane-xyz/utils';
7
- import { log, logBlue } from '../logger.js';
8
- import { getTimestampForFilename } from './time.js';
7
+ import { log } from '../logger.js';
9
8
  export function isFile(filepath) {
10
9
  if (!filepath)
11
10
  return false;
@@ -82,7 +81,7 @@ export function readYamlOrJson(filepath, format) {
82
81
  export function writeYamlOrJson(filepath, obj, format) {
83
82
  return resolveYamlOrJsonFn(filepath, (f) => writeJson(f, obj), (f) => writeYaml(f, obj), format);
84
83
  }
85
- export function mergeYamlOrJson(filepath, obj, format) {
84
+ export function mergeYamlOrJson(filepath, obj, format = 'yaml') {
86
85
  return resolveYamlOrJsonFn(filepath, (f) => mergeJson(f, obj), (f) => mergeYaml(f, obj), format);
87
86
  }
88
87
  function resolveYamlOrJsonFn(filepath, jsonFn, yamlFn, format) {
@@ -110,30 +109,6 @@ export function resolveFileFormat(filepath, format) {
110
109
  }
111
110
  return undefined;
112
111
  }
113
- export function prepNewArtifactsFiles(outPath, files) {
114
- const timestamp = getTimestampForFilename();
115
- const newPaths = [];
116
- for (const file of files) {
117
- const filePath = path.join(outPath, `${file.filename}-${timestamp}.json`);
118
- // Write empty object to ensure permissions are okay
119
- writeJson(filePath, {});
120
- newPaths.push(filePath);
121
- logBlue(`${file.description} will be written to ${filePath}`);
122
- }
123
- return newPaths;
124
- }
125
- /**
126
- * Retrieves artifacts file metadata for the current command.
127
- * @param dryRun whether or not the current command is being dry-run
128
- * @returns the artifacts files
129
- */
130
- export function getArtifactsFiles(defaultFiles, dryRun = '') {
131
- if (dryRun)
132
- defaultFiles.map((defaultFile) => {
133
- defaultFile.filename = `dry-run_${defaultFile.filename}`;
134
- });
135
- return defaultFiles;
136
- }
137
112
  export async function runFileSelectionStep(folderPath, description, pattern) {
138
113
  const noFilesErrorMessage = `No "${description}" found in ${folderPath}. Please confirm the path for "${description}". By default, the CLI writes to folders relative to where its run.`;
139
114
  if (!fs.existsSync(folderPath))
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,26 @@
1
- import { ethers, providers } from 'ethers';
2
- import { ContextSettings } from '../context.js';
1
+ import { ethers } from 'ethers';
3
2
  /**
4
3
  * Retrieves a signer for the current command-context.
5
4
  * @returns the signer
6
5
  */
7
- export declare function getSigner<P extends ContextSettings>({ keyConfig, skipConfirmation, }: P): Promise<providers.JsonRpcSigner | ethers.Wallet | undefined>;
6
+ export declare function getSigner({ key, skipConfirmation, }: {
7
+ key?: string;
8
+ skipConfirmation?: boolean;
9
+ }): Promise<{
10
+ key: string;
11
+ signer: ethers.Wallet;
12
+ }>;
8
13
  /**
9
14
  * Retrieves an impersonated signer for the current command-context.
10
15
  * @returns the impersonated signer
11
16
  */
12
- export declare function getImpersonatedSigner<P extends ContextSettings>({ keyConfig, skipConfirmation, }: P): Promise<providers.JsonRpcSigner | ethers.Wallet | undefined>;
17
+ export declare function getImpersonatedSigner({ key, skipConfirmation, }: {
18
+ key?: string;
19
+ skipConfirmation?: boolean;
20
+ }): Promise<{
21
+ key: string;
22
+ signer: ethers.providers.JsonRpcSigner;
23
+ }>;
13
24
  /**
14
25
  * Verifies the specified signer is valid.
15
26
  * @param signer the signer to verify
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAK3C,OAAO,EAAE,eAAe,EAAa,MAAM,eAAe,CAAC;AAM3D;;;GAGG;AACH,wBAAsB,SAAS,CAAC,CAAC,SAAS,eAAe,EAAE,EACzD,SAAS,EACT,gBAAgB,GACjB,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAMlE;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAAE,EACrE,SAAS,EACT,gBAAgB,GACjB,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,CAUlE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,QAGjD"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAS3C;;;GAGG;AACH,wBAAsB,SAAS,CAAC,EAC9B,GAAG,EACH,gBAAgB,GACjB,EAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;;;GAIA;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,GAAG,EACH,gBAAgB,GACjB,EAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;;;GAIA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,QAGjD"}
@@ -9,21 +9,19 @@ const IMPERSONATED_KEY_TYPE = 'address';
9
9
  * Retrieves a signer for the current command-context.
10
10
  * @returns the signer
11
11
  */
12
- export async function getSigner({ keyConfig, skipConfirmation, }) {
13
- if (!keyConfig)
14
- return undefined;
15
- const key = await retrieveKey(DEFAULT_KEY_TYPE, keyConfig, skipConfirmation);
16
- return privateKeyToSigner(key);
12
+ export async function getSigner({ key, skipConfirmation, }) {
13
+ key ||= await retrieveKey(DEFAULT_KEY_TYPE, skipConfirmation);
14
+ const signer = privateKeyToSigner(key);
15
+ return { key, signer };
17
16
  }
18
17
  /**
19
18
  * Retrieves an impersonated signer for the current command-context.
20
19
  * @returns the impersonated signer
21
20
  */
22
- export async function getImpersonatedSigner({ keyConfig, skipConfirmation, }) {
23
- if (!keyConfig)
24
- return undefined;
25
- const key = await retrieveKey(IMPERSONATED_KEY_TYPE, keyConfig, skipConfirmation);
26
- return await addressToImpersonatedSigner(key);
21
+ export async function getImpersonatedSigner({ key, skipConfirmation, }) {
22
+ key ||= await retrieveKey(IMPERSONATED_KEY_TYPE, skipConfirmation);
23
+ const signer = await addressToImpersonatedSigner(key);
24
+ return { key, signer };
27
25
  }
28
26
  /**
29
27
  * Verifies the specified signer is valid.
@@ -65,15 +63,12 @@ function privateKeyToSigner(key) {
65
63
  else
66
64
  throw new Error('Invalid private key format');
67
65
  }
68
- async function retrieveKey(keyType, keyConfig, skipConfirmation) {
69
- if (keyConfig.key)
70
- return keyConfig.key;
71
- else if (skipConfirmation)
66
+ async function retrieveKey(keyType, skipConfirmation) {
67
+ if (skipConfirmation)
72
68
  throw new Error(`No ${keyType} provided`);
73
69
  else
74
70
  return await input({
75
- message: keyConfig.promptMessage ||
76
- `Please enter ${keyType} or use the HYP_KEY environment variable.`,
71
+ message: `Please enter ${keyType} or use the HYP_KEY environment variable.`,
77
72
  });
78
73
  }
79
74
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AACvC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC9B,GAAG,EACH,gBAAgB,GAIjB;IACC,GAAG,KAAK,MAAM,WAAW,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,GAAG,EACH,gBAAgB,GAIjB;IACC,GAAG,KAAK,MAAM,WAAW,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACtD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,2BAA2B,CACxC,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,IAAI,uBAAuB;QAC3C,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;SACC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;;QACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;SAC9C,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;;QAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,OAAe,EACf,gBAAqC;IAErC,IAAI,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;;QAE9D,OAAO,MAAM,KAAK,CAAC;YACjB,OAAO,EAAE,gBAAgB,OAAO,2CAA2C;SAC5E,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Token } from '@hyperlane-xyz/sdk';
2
+ export declare function runTokenSelectionStep(tokens: Token[], message?: string): Promise<string>;
3
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,SAAiB,mBAYzB"}
@@ -0,0 +1,14 @@
1
+ import select from '@inquirer/select';
2
+ export async function runTokenSelectionStep(tokens, message = 'Select token') {
3
+ const choices = tokens.map((t) => ({
4
+ name: `${t.symbol} - ${t.addressOrDenom}`,
5
+ value: t.addressOrDenom,
6
+ }));
7
+ const routerAddress = (await select({
8
+ message,
9
+ choices,
10
+ pageSize: 20,
11
+ }));
12
+ return routerAddress;
13
+ }
14
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAItC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAe,EACf,OAAO,GAAG,cAAc;IAExB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,cAAc,EAAE;QACzC,KAAK,EAAE,CAAC,CAAC,cAAc;KACxB,CAAC,CAAC,CAAC;IACJ,MAAM,aAAa,GAAG,CAAC,MAAM,MAAM,CAAC;QAClC,OAAO;QACP,OAAO;QACP,QAAQ,EAAE,EAAE;KACb,CAAC,CAAW,CAAC;IACd,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../../src/utils/version-check.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,kBAKjC"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../../../src/utils/version-check.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,kBAUjC"}
@@ -2,7 +2,12 @@ import latestVersion from 'latest-version';
2
2
  import { log } from '../logger.js';
3
3
  import { VERSION } from '../version.js';
4
4
  export async function checkVersion() {
5
+ const argv = process.argv;
6
+ // The latestVersion lib (or one of its deps) is confused by the --registry value
7
+ // in the CLI's args, so we need to clear the args before calling it
8
+ process.argv = [];
5
9
  const currentVersion = await latestVersion('@hyperlane-xyz/cli');
10
+ process.argv = argv;
6
11
  if (VERSION < currentVersion) {
7
12
  log(`Your CLI version: ${VERSION}, latest version: ${currentVersion}`);
8
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../../src/utils/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjE,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;QAC7B,GAAG,CAAC,qBAAqB,OAAO,qBAAqB,cAAc,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../../src/utils/version-check.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,iFAAiF;IACjF,oEAAoE;IACpE,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;IAClB,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;QAC7B,GAAG,CAAC,qBAAqB,OAAO,qBAAqB,cAAc,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "3.10.1-beta1";
1
+ export declare const VERSION = "3.20.0-beta1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const VERSION = '3.10.1-beta1';
1
+ export const VERSION = '3.20.0-beta1';
2
2
  //# sourceMappingURL=version.js.map
@@ -1,50 +1,42 @@
1
1
  # Configs for describing chain metadata for use in Hyperlane deployments or apps
2
- # Consists of a map of chain names to metadata
3
2
  # Schema here: https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/sdk/src/metadata/chainMetadataTypes.ts
4
3
  ---
5
- # You can define a full config for a new chain
6
- mychainname:
4
+ # Required fields:
5
+ chainId: 1234567890 # Number: Use EIP-155 for EVM chains
6
+ domainId: 1234567890 # Number: Recommend matching chainId when possible
7
+ name: mychainname # String: Unique identifier for the chain, must match key above
8
+ protocol: ethereum # ProtocolType: Ethereum, Sealevel, etc.
9
+ rpcUrls: # Array: List of RPC configs
10
+ # Only http field is required
11
+ - http: https://mychain.com/rpc # String: HTTP URL of the RPC endpoint (preferably HTTPS)
12
+ # Others here are optional
13
+ pagination:
14
+ maxBlockRange: 1000 # Number
15
+ maxBlockAge: 1000 # Number
16
+ minBlockNumber: 1000 # Number
17
+ retry:
18
+ maxRequests: 5 # Number
19
+ baseRetryMs: 1000 # Number
20
+ # Optional fields, not required for Hyperlane deployments but useful for apps:
21
+ isTestnet: false # Boolean: Whether the chain is considered a testnet or a mainnet
22
+ blockExplorers: # Array: List of BlockExplorer configs
7
23
  # Required fields:
8
- chainId: 1234567890 # Number: Use EIP-155 for EVM chains
9
- domainId: 1234567890 # Number: Recommend matching chainId when possible
10
- name: mychainname # String: Unique identifier for the chain, must match key above
11
- protocol: ethereum # ProtocolType: Ethereum, Sealevel, etc.
12
- rpcUrls: # Array: List of RPC configs
13
- # Only http field is required
14
- - http: https://mychain.com/rpc # String: HTTP URL of the RPC endpoint (preferably HTTPS)
15
- # Others here are optional
16
- pagination:
17
- maxBlockRange: 1000 # Number
18
- maxBlockAge: 1000 # Number
19
- minBlockNumber: 1000 # Number
20
- retry:
21
- maxRequests: 5 # Number
22
- baseRetryMs: 1000 # Number
23
- # Optional fields, not required for Hyperlane deployments but useful for apps:
24
- isTestnet: false # Boolean: Whether the chain is considered a testnet or a mainnet
25
- blockExplorers: # Array: List of BlockExplorer configs
26
- # Required fields:
27
- - name: My Chain Explorer # String: Human-readable name for the explorer
28
- url: https://mychain.com/explorer # String: Base URL for the explorer
29
- apiUrl: https://mychain.com/api # String: Base URL for the explorer API
30
- # Optional fields:
31
- apiKey: myapikey # String: API key for the explorer (optional)
32
- family: etherscan # ExplorerFamily: See ExplorerFamily for valid values
33
- nativeToken:
34
- name: Eth # String
35
- symbol: ETH # String
36
- decimals: 18 # Number
37
- displayName: My Chain Name # String: Human-readable name of the chain
38
- displayNameShort: My Chain # String: A shorter human-readable name
39
- logoURI: https://mychain.com/logo.png # String: URI to a logo image for the chain
40
- blocks:
41
- confirmations: 12 # Number: Blocks to wait before considering a transaction confirmed
42
- reorgPeriod: 100 # Number: Blocks before a transaction has a near-zero chance of reverting
43
- estimateBlockTime: 15 # Number: Rough estimate of time per block in seconds
44
- # transactionOverrides: # Object: Properties to include when forming transaction requests
45
- # Any tx fields are allowed
46
-
47
- # Alternatively, you can extend a core chain config with only fields to be overridden
48
- sepolia:
49
- rpcUrls:
50
- - http: https://mycustomrpc.com
24
+ - name: My Chain Explorer # String: Human-readable name for the explorer
25
+ url: https://mychain.com/explorer # String: Base URL for the explorer
26
+ apiUrl: https://mychain.com/api # String: Base URL for the explorer API
27
+ # Optional fields:
28
+ apiKey: myapikey # String: API key for the explorer (optional)
29
+ family: etherscan # ExplorerFamily: See ExplorerFamily for valid values
30
+ nativeToken:
31
+ name: Eth # String
32
+ symbol: ETH # String
33
+ decimals: 18 # Number
34
+ displayName: My Chain Name # String: Human-readable name of the chain
35
+ displayNameShort: My Chain # String: A shorter human-readable name
36
+ logoURI: https://mychain.com/logo.png # String: URI to a logo image for the chain
37
+ blocks:
38
+ confirmations: 12 # Number: Blocks to wait before considering a transaction confirmed
39
+ reorgPeriod: 100 # Number: Blocks before a transaction has a near-zero chance of reverting
40
+ estimateBlockTime: 15 # Number: Rough estimate of time per block in seconds
41
+ # transactionOverrides: # Object: Properties to include when forming transaction requests
42
+ # Any tx fields are allowed
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cli",
3
- "version": "3.10.1-beta1",
3
+ "version": "3.20.0-beta1",
4
4
  "description": "A command-line utility for common Hyperlane operations",
5
5
  "dependencies": {
6
- "@hyperlane-xyz/sdk": "3.10.1-beta1",
7
- "@hyperlane-xyz/utils": "3.10.1-beta1",
6
+ "@hyperlane-xyz/registry": "^1.0.7",
7
+ "@hyperlane-xyz/sdk": "3.20.0-beta1",
8
+ "@hyperlane-xyz/utils": "3.20.0-beta1",
8
9
  "@inquirer/prompts": "^3.0.0",
9
10
  "bignumber.js": "^9.1.1",
10
11
  "chalk": "^5.3.0",
@@ -12,7 +13,7 @@
12
13
  "latest-version": "^8.0.0",
13
14
  "terminal-link": "^3.0.0",
14
15
  "tsx": "^4.7.1",
15
- "yaml": "^2.3.1",
16
+ "yaml": "^2.4.1",
16
17
  "yargs": "^17.7.2",
17
18
  "zod": "^3.21.2"
18
19
  },
@@ -1,16 +0,0 @@
1
- import { ChainName, HyperlaneContractsMap } from '@hyperlane-xyz/sdk';
2
- export declare function readDeploymentArtifacts(filePath: string): HyperlaneContractsMap<any>;
3
- /**
4
- * Prompts the user to specify deployment artifacts, or to generate new ones if none are present or selected.
5
- * @returns the selected artifacts, or undefined if they are to be generated from scratch
6
- */
7
- export declare function runDeploymentArtifactStep({ artifactsPath, message, selectedChains, defaultArtifactsPath, defaultArtifactsNamePattern, skipConfirmation, dryRun, }: {
8
- artifactsPath?: string;
9
- message?: string;
10
- selectedChains?: ChainName[];
11
- defaultArtifactsPath?: string;
12
- defaultArtifactsNamePattern?: string;
13
- skipConfirmation?: boolean;
14
- dryRun?: boolean;
15
- }): Promise<HyperlaneContractsMap<any> | undefined>;
16
- //# sourceMappingURL=artifacts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/config/artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAWtE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,8BAmBvD;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,aAAa,EACb,OAAO,EACP,cAAc,EACd,oBAAoC,EACpC,2BAA+C,EAC/C,gBAAwB,EACxB,MAAc,GACf,EAAE;IACD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CA8BlD"}
@@ -1,48 +0,0 @@
1
- import { confirm } from '@inquirer/prompts';
2
- import { z } from 'zod';
3
- import { log, logBlue } from '../logger.js';
4
- import { readYamlOrJson, runFileSelectionStep } from '../utils/files.js';
5
- const RecursiveObjectSchema = z.lazy(() => z.object({}).catchall(z.union([z.string(), RecursiveObjectSchema])));
6
- const DeploymentArtifactsSchema = z.object({}).catchall(RecursiveObjectSchema);
7
- export function readDeploymentArtifacts(filePath) {
8
- const artifacts = readYamlOrJson(filePath);
9
- if (!artifacts)
10
- throw new Error(`No artifacts found at ${filePath}`);
11
- const result = DeploymentArtifactsSchema.safeParse(artifacts);
12
- if (!result.success) {
13
- const firstIssue = result.error.issues[0];
14
- logBlue(`Read deployment artifacts from ${JSON.stringify(result.error.issues, null, 4)}`);
15
- throw new Error(`Invalid artifacts: ${firstIssue.path} => ${firstIssue.message}`);
16
- }
17
- return artifacts;
18
- }
19
- /**
20
- * Prompts the user to specify deployment artifacts, or to generate new ones if none are present or selected.
21
- * @returns the selected artifacts, or undefined if they are to be generated from scratch
22
- */
23
- export async function runDeploymentArtifactStep({ artifactsPath, message, selectedChains, defaultArtifactsPath = './artifacts', defaultArtifactsNamePattern = 'core-deployment', skipConfirmation = false, dryRun = false, }) {
24
- if (!artifactsPath) {
25
- if (skipConfirmation)
26
- return undefined;
27
- if (dryRun)
28
- defaultArtifactsNamePattern = 'dry-run_core-deployment';
29
- const useArtifacts = await confirm({
30
- message: message || 'Do you want use some existing contract addresses?',
31
- });
32
- if (!useArtifacts)
33
- return undefined;
34
- artifactsPath = await runFileSelectionStep(defaultArtifactsPath, 'contract deployment artifacts', defaultArtifactsNamePattern);
35
- }
36
- const artifacts = readDeploymentArtifacts(artifactsPath);
37
- if (selectedChains) {
38
- const artifactChains = Object.keys(artifacts).filter((c) => selectedChains.includes(c));
39
- if (artifactChains.length === 0) {
40
- log('No artifacts found for selected chains');
41
- }
42
- else {
43
- log(`Found existing artifacts for chains: ${artifactChains.join(', ')}`);
44
- }
45
- }
46
- return artifacts;
47
- }
48
- //# sourceMappingURL=artifacts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/config/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAc,CAAC,EAAE,MAAM,KAAK,CAAC;AAIpC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,MAAM,qBAAqB,GAAe,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpD,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC,CACpE,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAE/E,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,MAAM,SAAS,GAAG,cAAc,CAA6B,QAAQ,CAAC,CAAC;IAEvE,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,CACL,kCAAkC,IAAI,CAAC,SAAS,CAC9C,MAAM,CAAC,KAAK,CAAC,MAAM,EACnB,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;QACF,MAAM,IAAI,KAAK,CACb,sBAAsB,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,OAAO,EAAE,CACjE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,aAAa,EACb,OAAO,EACP,cAAc,EACd,oBAAoB,GAAG,aAAa,EACpC,2BAA2B,GAAG,iBAAiB,EAC/C,gBAAgB,GAAG,KAAK,EACxB,MAAM,GAAG,KAAK,GASf;IACC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,gBAAgB;YAAE,OAAO,SAAS,CAAC;QACvC,IAAI,MAAM;YAAE,2BAA2B,GAAG,yBAAyB,CAAC;QAEpE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;YACjC,OAAO,EAAE,OAAO,IAAI,mDAAmD;SACxE,CAAC,CAAC;QACH,IAAI,CAAC,YAAY;YAAE,OAAO,SAAS,CAAC;QAEpC,aAAa,GAAG,MAAM,oBAAoB,CACxC,oBAAoB,EACpB,+BAA+B,EAC/B,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAEzD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAC3B,CAAC;QACF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,wCAAwC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,64 +0,0 @@
1
- import { ethers } from 'ethers';
2
- import { ChainMap, ChainMetadata, ChainName, HyperlaneContractsMap, MultiProvider, WarpCoreConfig } from '@hyperlane-xyz/sdk';
3
- export declare const sdkContractAddressesMap: HyperlaneContractsMap<any>;
4
- export declare function getMergedContractAddresses(artifacts?: HyperlaneContractsMap<any>, chains?: ChainName[]): HyperlaneContractsMap<any>;
5
- export type KeyConfig = {
6
- key?: string;
7
- promptMessage?: string;
8
- };
9
- export interface ContextSettings {
10
- chainConfigPath?: string;
11
- chains?: ChainName[];
12
- coreConfig?: {
13
- coreArtifactsPath?: string;
14
- promptMessage?: string;
15
- };
16
- keyConfig?: KeyConfig;
17
- skipConfirmation?: boolean;
18
- warpConfig?: {
19
- warpConfigPath?: string;
20
- promptMessage?: string;
21
- };
22
- }
23
- interface CommandContextBase {
24
- chains: ChainName[];
25
- customChains: ChainMap<ChainMetadata>;
26
- multiProvider: MultiProvider;
27
- }
28
- type CommandContext<P extends ContextSettings> = CommandContextBase & (P extends {
29
- keyConfig: object;
30
- } ? {
31
- signer: ethers.Signer;
32
- } : {
33
- signer: undefined;
34
- }) & (P extends {
35
- coreConfig: object;
36
- } ? {
37
- coreArtifacts: HyperlaneContractsMap<any>;
38
- } : {
39
- coreArtifacts: undefined;
40
- }) & (P extends {
41
- warpConfig: object;
42
- } ? {
43
- warpCoreConfig: WarpCoreConfig;
44
- } : {
45
- warpCoreConfig: undefined;
46
- });
47
- /**
48
- * Retrieves context for the user-selected command
49
- * @returns context for the current command
50
- */
51
- export declare function getContext<P extends ContextSettings>({ chainConfigPath, coreConfig, keyConfig, skipConfirmation, warpConfig, }: P): Promise<CommandContext<P>>;
52
- /**
53
- * Retrieves dry-run context for the user-selected command
54
- * @returns dry-run context for the current command
55
- */
56
- export declare function getDryRunContext<P extends ContextSettings>({ chainConfigPath, chains, coreConfig, keyConfig, skipConfirmation, }: P): Promise<CommandContext<P>>;
57
- /**
58
- * Retrieves a new MultiProvider based on all known chain metadata & custom user chains
59
- * @param customChains Custom chains specified by the user
60
- * @returns a new MultiProvider
61
- */
62
- export declare function getMultiProvider(customChains: ChainMap<ChainMetadata>, signer?: ethers.Signer): MultiProvider<object>;
63
- export {};
64
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAU5B,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,GAAG,CAG9D,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,SAAS,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACtC,MAAM,CAAC,EAAE,SAAS,EAAE,8BAoBrB;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAGD,KAAK,cAAc,CAAC,CAAC,SAAS,eAAe,IAAI,kBAAkB,GACjE,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,GAC1B,CAAC,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAA;CAAE,GAC7C;IAAE,aAAa,EAAE,SAAS,CAAA;CAAE,CAAC,GACjC,CAAC,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,GAClC;IAAE,cAAc,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAErC;;;GAGG;AACH,wBAAsB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,EAC1D,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,GACX,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CA4ChC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,eAAe,EAAE,EAChE,eAAe,EACf,MAAM,EACN,UAAU,EACV,SAAS,EACT,gBAAgB,GACjB,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CA0ChC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,yBAMvB"}
@@ -1,113 +0,0 @@
1
- import { input } from '@inquirer/prompts';
2
- import { MultiProvider, chainMetadata, hyperlaneEnvironments, } from '@hyperlane-xyz/sdk';
3
- import { objFilter, objMap, objMerge } from '@hyperlane-xyz/utils';
4
- import { runDeploymentArtifactStep } from './config/artifacts.js';
5
- import { readChainConfigsIfExists } from './config/chain.js';
6
- import { forkNetworkToMultiProvider } from './deploy/dry-run.js';
7
- import { runSingleChainSelectionStep } from './utils/chains.js';
8
- import { readYamlOrJson } from './utils/files.js';
9
- import { getImpersonatedSigner, getSigner } from './utils/keys.js';
10
- export const sdkContractAddressesMap = {
11
- ...hyperlaneEnvironments.testnet,
12
- ...hyperlaneEnvironments.mainnet,
13
- };
14
- export function getMergedContractAddresses(artifacts, chains) {
15
- // if chains include non sdkContractAddressesMap chains, don't recover interchainGasPaymaster
16
- let sdkContractsAddressesToRecover = sdkContractAddressesMap;
17
- if (chains?.some((chain) => !Object.keys(sdkContractAddressesMap).includes(chain))) {
18
- sdkContractsAddressesToRecover = objMap(sdkContractAddressesMap, (_, v) => objFilter(v, (key, v) => key !== 'interchainGasPaymaster'));
19
- }
20
- return objMerge(sdkContractsAddressesToRecover, artifacts || {});
21
- }
22
- /**
23
- * Retrieves context for the user-selected command
24
- * @returns context for the current command
25
- */
26
- export async function getContext({ chainConfigPath, coreConfig, keyConfig, skipConfirmation, warpConfig, }) {
27
- const customChains = readChainConfigsIfExists(chainConfigPath);
28
- const signer = await getSigner({
29
- keyConfig,
30
- skipConfirmation,
31
- });
32
- let coreArtifacts = undefined;
33
- if (coreConfig) {
34
- coreArtifacts =
35
- (await runDeploymentArtifactStep({
36
- artifactsPath: coreConfig.coreArtifactsPath,
37
- message: coreConfig.promptMessage ||
38
- 'Do you want to use some core deployment address artifacts? This is required for PI chains (non-core chains).',
39
- skipConfirmation,
40
- })) || {};
41
- }
42
- let warpCoreConfig = undefined;
43
- if (warpConfig) {
44
- let warpConfigPath = warpConfig.warpConfigPath;
45
- if (!warpConfigPath) {
46
- // prompt for path to token config
47
- warpConfigPath = await input({
48
- message: warpConfig.promptMessage ||
49
- 'Please provide a path to the Warp config',
50
- });
51
- }
52
- warpCoreConfig = readYamlOrJson(warpConfigPath);
53
- }
54
- const multiProvider = getMultiProvider(customChains, signer);
55
- return {
56
- customChains,
57
- signer,
58
- multiProvider,
59
- coreArtifacts,
60
- warpCoreConfig,
61
- };
62
- }
63
- /**
64
- * Retrieves dry-run context for the user-selected command
65
- * @returns dry-run context for the current command
66
- */
67
- export async function getDryRunContext({ chainConfigPath, chains, coreConfig, keyConfig, skipConfirmation, }) {
68
- const customChains = readChainConfigsIfExists(chainConfigPath);
69
- let coreArtifacts = undefined;
70
- if (coreConfig) {
71
- coreArtifacts =
72
- (await runDeploymentArtifactStep({
73
- artifactsPath: coreConfig.coreArtifactsPath,
74
- message: coreConfig.promptMessage ||
75
- 'Do you want to use some core deployment address artifacts? This is required for PI chains (non-core chains).',
76
- skipConfirmation,
77
- })) || {};
78
- }
79
- const multiProvider = getMultiProvider(customChains);
80
- if (!chains?.length) {
81
- if (skipConfirmation)
82
- throw new Error('No chains provided');
83
- chains = [
84
- await runSingleChainSelectionStep(customChains, 'Select chain to dry-run against:'),
85
- ];
86
- }
87
- await forkNetworkToMultiProvider(multiProvider, chains[0]);
88
- const impersonatedSigner = await getImpersonatedSigner({
89
- keyConfig,
90
- skipConfirmation,
91
- });
92
- if (impersonatedSigner)
93
- multiProvider.setSharedSigner(impersonatedSigner);
94
- return {
95
- chains,
96
- signer: impersonatedSigner,
97
- multiProvider,
98
- coreArtifacts,
99
- };
100
- }
101
- /**
102
- * Retrieves a new MultiProvider based on all known chain metadata & custom user chains
103
- * @param customChains Custom chains specified by the user
104
- * @returns a new MultiProvider
105
- */
106
- export function getMultiProvider(customChains, signer) {
107
- const chainConfigs = { ...chainMetadata, ...customChains };
108
- const multiProvider = new MultiProvider(chainConfigs);
109
- if (signer)
110
- multiProvider.setSharedSigner(signer);
111
- return multiProvider;
112
- }
113
- //# sourceMappingURL=context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=context.test.d.ts.map