@hyperlane-xyz/cli 4.0.0-alpha.2 → 4.0.0-beta2

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 (105) hide show
  1. package/dist/src/avs/config.d.ts.map +1 -1
  2. package/dist/src/avs/config.js +6 -0
  3. package/dist/src/avs/config.js.map +1 -1
  4. package/dist/src/avs/stakeRegistry.d.ts +2 -2
  5. package/dist/src/avs/stakeRegistry.d.ts.map +1 -1
  6. package/dist/src/avs/stakeRegistry.js +3 -3
  7. package/dist/src/avs/stakeRegistry.js.map +1 -1
  8. package/dist/src/commands/avs.js +3 -3
  9. package/dist/src/commands/avs.js.map +1 -1
  10. package/dist/src/commands/config.d.ts.map +1 -1
  11. package/dist/src/commands/config.js +2 -23
  12. package/dist/src/commands/config.js.map +1 -1
  13. package/dist/src/commands/core.d.ts +1 -1
  14. package/dist/src/commands/core.d.ts.map +1 -1
  15. package/dist/src/commands/core.js +4 -4
  16. package/dist/src/commands/core.js.map +1 -1
  17. package/dist/src/commands/hook.d.ts +12 -0
  18. package/dist/src/commands/hook.d.ts.map +1 -0
  19. package/dist/src/commands/hook.js +36 -0
  20. package/dist/src/commands/hook.js.map +1 -0
  21. package/dist/src/commands/ism.d.ts +12 -0
  22. package/dist/src/commands/ism.d.ts.map +1 -0
  23. package/dist/src/commands/ism.js +38 -0
  24. package/dist/src/commands/ism.js.map +1 -0
  25. package/dist/src/commands/options.d.ts +4 -0
  26. package/dist/src/commands/options.d.ts.map +1 -1
  27. package/dist/src/commands/options.js +19 -2
  28. package/dist/src/commands/options.js.map +1 -1
  29. package/dist/src/commands/registry.d.ts.map +1 -1
  30. package/dist/src/commands/registry.js +41 -4
  31. package/dist/src/commands/registry.js.map +1 -1
  32. package/dist/src/commands/types.d.ts +3 -0
  33. package/dist/src/commands/types.d.ts.map +1 -0
  34. package/dist/src/commands/types.js +2 -0
  35. package/dist/src/commands/types.js.map +1 -0
  36. package/dist/src/commands/validator.d.ts.map +1 -1
  37. package/dist/src/commands/validator.js +47 -3
  38. package/dist/src/commands/validator.js.map +1 -1
  39. package/dist/src/commands/warp.d.ts +5 -4
  40. package/dist/src/commands/warp.d.ts.map +1 -1
  41. package/dist/src/commands/warp.js +58 -21
  42. package/dist/src/commands/warp.js.map +1 -1
  43. package/dist/src/config/agent.d.ts +7 -0
  44. package/dist/src/config/agent.d.ts.map +1 -0
  45. package/dist/src/config/agent.js +40 -0
  46. package/dist/src/config/agent.js.map +1 -0
  47. package/dist/src/config/chain.d.ts.map +1 -1
  48. package/dist/src/config/chain.js +98 -57
  49. package/dist/src/config/chain.js.map +1 -1
  50. package/dist/src/config/core.js +1 -1
  51. package/dist/src/config/core.js.map +1 -1
  52. package/dist/src/config/hooks.d.ts.map +1 -1
  53. package/dist/src/config/hooks.js +9 -6
  54. package/dist/src/config/hooks.js.map +1 -1
  55. package/dist/src/config/ism.d.ts.map +1 -1
  56. package/dist/src/config/ism.js +2 -1
  57. package/dist/src/config/ism.js.map +1 -1
  58. package/dist/src/config/warp.d.ts +1 -1
  59. package/dist/src/config/warp.d.ts.map +1 -1
  60. package/dist/src/config/warp.js +3 -2
  61. package/dist/src/config/warp.js.map +1 -1
  62. package/dist/src/deploy/core.d.ts.map +1 -1
  63. package/dist/src/deploy/core.js +5 -2
  64. package/dist/src/deploy/core.js.map +1 -1
  65. package/dist/src/deploy/utils.js +1 -1
  66. package/dist/src/deploy/utils.js.map +1 -1
  67. package/dist/src/deploy/warp.d.ts.map +1 -1
  68. package/dist/src/deploy/warp.js +5 -7
  69. package/dist/src/deploy/warp.js.map +1 -1
  70. package/dist/src/send/message.d.ts.map +1 -1
  71. package/dist/src/send/message.js +4 -2
  72. package/dist/src/send/message.js.map +1 -1
  73. package/dist/src/send/transfer.d.ts +4 -4
  74. package/dist/src/send/transfer.d.ts.map +1 -1
  75. package/dist/src/send/transfer.js +6 -8
  76. package/dist/src/send/transfer.js.map +1 -1
  77. package/dist/src/status/message.js +1 -1
  78. package/dist/src/status/message.js.map +1 -1
  79. package/dist/src/utils/chains.d.ts +0 -1
  80. package/dist/src/utils/chains.d.ts.map +1 -1
  81. package/dist/src/utils/chains.js +4 -20
  82. package/dist/src/utils/chains.js.map +1 -1
  83. package/dist/src/utils/cli-options.d.ts +9 -0
  84. package/dist/src/utils/cli-options.d.ts.map +1 -0
  85. package/dist/src/utils/cli-options.js +14 -0
  86. package/dist/src/utils/cli-options.js.map +1 -0
  87. package/dist/src/utils/input.d.ts +7 -0
  88. package/dist/src/utils/input.d.ts.map +1 -0
  89. package/dist/src/utils/input.js +37 -0
  90. package/dist/src/utils/input.js.map +1 -0
  91. package/dist/src/utils/tokens.d.ts +3 -1
  92. package/dist/src/utils/tokens.d.ts.map +1 -1
  93. package/dist/src/utils/tokens.js +26 -0
  94. package/dist/src/utils/tokens.js.map +1 -1
  95. package/dist/src/validator/address.d.ts.map +1 -1
  96. package/dist/src/validator/address.js.map +1 -1
  97. package/dist/src/validator/preFlightCheck.d.ts +4 -0
  98. package/dist/src/validator/preFlightCheck.d.ts.map +1 -0
  99. package/dist/src/validator/preFlightCheck.js +74 -0
  100. package/dist/src/validator/preFlightCheck.js.map +1 -0
  101. package/dist/src/version.d.ts +1 -1
  102. package/dist/src/version.d.ts.map +1 -1
  103. package/dist/src/version.js +1 -1
  104. package/dist/src/version.js.map +1 -1
  105. package/package.json +8 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../../../src/utils/cli-options.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,GAAE,MAAU,EACpB,eAAe,GAAE,MAAW,UAK7B"}
@@ -0,0 +1,14 @@
1
+ // Functions used to manipulate CLI specific options
2
+ /**
3
+ * Calculates the page size for a CLI Terminal output, taking into account the number of lines to skip and a default page size.
4
+ *
5
+ * @param skipSize - The number of lines to skip, which can be used to skip previous prompts.
6
+ * @param defaultPageSize - The default page size to use if the terminal height is too small.
7
+ * @returns The calculated pageSize, which is the terminal height minus the skip size, or the default page size if the terminal height is too small.
8
+ */
9
+ export function calculatePageSize(skipSize = 0, defaultPageSize = 15) {
10
+ return process.stdout.rows > skipSize
11
+ ? process.stdout.rows - skipSize
12
+ : defaultPageSize;
13
+ }
14
+ //# sourceMappingURL=cli-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../../../src/utils/cli-options.ts"],"names":[],"mappings":"AAAA,oDAAoD;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAmB,CAAC,EACpB,kBAA0B,EAAE;IAE5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ;QACnC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ;QAChC,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function detectAndConfirmOrPrompt(detect: () => Promise<string | undefined>, prompt: string, label: string, source?: string): Promise<string>;
2
+ export declare function inputWithInfo({ message, info, defaultAnswer, }: {
3
+ message: string;
4
+ info?: string;
5
+ defaultAnswer?: string;
6
+ }): Promise<string>;
7
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,37 @@
1
+ import { confirm, input } from '@inquirer/prompts';
2
+ import { logGray } from '../logger.js';
3
+ import { indentYamlOrJson } from './files.js';
4
+ export async function detectAndConfirmOrPrompt(detect, prompt, label, source) {
5
+ let detectedValue;
6
+ try {
7
+ detectedValue = await detect();
8
+ if (detectedValue) {
9
+ const confirmed = await confirm({
10
+ message: `Detected ${label} as ${detectedValue}${source ? ` from ${source}` : ''}, is this correct?`,
11
+ });
12
+ if (confirmed) {
13
+ return detectedValue;
14
+ }
15
+ }
16
+ // eslint-disable-next-line no-empty
17
+ }
18
+ catch (e) { }
19
+ return input({ message: `${prompt} ${label}:`, default: detectedValue });
20
+ }
21
+ const INFO_COMMAND = 'i';
22
+ const DOCS_NOTICE = 'For more information, please visit https://docs.hyperlane.xyz.';
23
+ export async function inputWithInfo({ message, info = 'No additional information available.', defaultAnswer, }) {
24
+ let answer = '';
25
+ do {
26
+ answer = await input({
27
+ message: message.concat(` [enter '${INFO_COMMAND}' for more info]`),
28
+ default: defaultAnswer,
29
+ });
30
+ answer = answer.trim().toLowerCase();
31
+ const indentedInfo = indentYamlOrJson(`${info}\n${DOCS_NOTICE}\n`, 4);
32
+ if (answer === INFO_COMMAND)
33
+ logGray(indentedInfo);
34
+ } while (answer === INFO_COMMAND);
35
+ return answer;
36
+ }
37
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/utils/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAyC,EACzC,MAAc,EACd,KAAa,EACb,MAAe;IAEf,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,MAAM,EAAE,CAAC;QAC/B,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;gBAC9B,OAAO,EAAE,YAAY,KAAK,OAAO,aAAa,GAC5C,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC,EAC/B,oBAAoB;aACrB,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,aAAa,CAAC;YACvB,CAAC;QACH,CAAC;QACD,oCAAoC;IACtC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IACd,OAAO,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,YAAY,GAAW,GAAG,CAAC;AACjC,MAAM,WAAW,GACf,gEAAgE,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,OAAO,EACP,IAAI,GAAG,sCAAsC,EAC7C,aAAa,GAKd;IACC,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,GAAG,CAAC;QACF,MAAM,GAAG,MAAM,KAAK,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,YAAY,kBAAkB,CAAC;YACnE,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;QACtE,IAAI,MAAM,KAAK,YAAY;YAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC,QAAQ,MAAM,KAAK,YAAY,EAAE;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,3 +1,5 @@
1
- import { Token } from '@hyperlane-xyz/sdk';
1
+ import { IRegistry } from '@hyperlane-xyz/registry';
2
+ import { Token, WarpCoreConfig } from '@hyperlane-xyz/sdk';
2
3
  export declare function runTokenSelectionStep(tokens: Token[], message?: string): Promise<string>;
4
+ export declare function selectRegistryWarpRoute(registry: IRegistry, symbol: string): Promise<WarpCoreConfig>;
3
5
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAI3D,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,SAAiB,mBAYzB;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
@@ -1,4 +1,5 @@
1
1
  import select from '@inquirer/select';
2
+ import { logGreen, logRed } from '../logger.js';
2
3
  export async function runTokenSelectionStep(tokens, message = 'Select token') {
3
4
  const choices = tokens.map((t) => ({
4
5
  name: `${t.symbol} - ${t.addressOrDenom}`,
@@ -11,4 +12,29 @@ export async function runTokenSelectionStep(tokens, message = 'Select token') {
11
12
  }));
12
13
  return routerAddress;
13
14
  }
15
+ export async function selectRegistryWarpRoute(registry, symbol) {
16
+ const matching = await registry.getWarpRoutes({
17
+ symbol,
18
+ });
19
+ const routes = Object.entries(matching);
20
+ let warpCoreConfig;
21
+ if (routes.length === 0) {
22
+ logRed(`No warp routes found for symbol ${symbol}`);
23
+ process.exit(0);
24
+ }
25
+ else if (routes.length === 1) {
26
+ warpCoreConfig = routes[0][1];
27
+ }
28
+ else {
29
+ logGreen(`Multiple warp routes found for symbol ${symbol}`);
30
+ const chosenRouteId = await select({
31
+ message: 'Select from matching warp routes',
32
+ choices: routes.map(([routeId, _]) => ({
33
+ value: routeId,
34
+ })),
35
+ });
36
+ warpCoreConfig = matching[chosenRouteId];
37
+ }
38
+ return warpCoreConfig;
39
+ }
14
40
  //# sourceMappingURL=tokens.js.map
@@ -1 +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
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAKtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEhD,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;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAmB,EACnB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;QAC5C,MAAM;KACP,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,cAA8B,CAAC;IACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;YACjC,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrC,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/validator/address.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,wBAAsB,mBAAmB,CAAC,EACxC,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,iBAiCA"}
1
+ {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/validator/address.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,wBAAsB,mBAAmB,CAAC,EACxC,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/validator/address.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/validator/address.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Address } from '@hyperlane-xyz/utils';
2
+ import { CommandContext } from '../context/types.js';
3
+ export declare const checkValidatorSetup: (context: CommandContext, chain: string, validators: Set<Address>) => Promise<void>;
4
+ //# sourceMappingURL=preFlightCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preFlightCheck.d.ts","sourceRoot":"","sources":["../../../src/validator/preFlightCheck.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,eAAO,MAAM,mBAAmB,YACrB,cAAc,SAChB,MAAM,cACD,IAAI,OAAO,CAAC,kBA0GzB,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { MerkleTreeHook__factory } from '@hyperlane-xyz/core';
2
+ import { HyperlaneCore, S3Validator } from '@hyperlane-xyz/sdk';
3
+ import { errorRed, logBlue, logGreen, warnYellow } from '../logger.js';
4
+ export const checkValidatorSetup = async (context, chain, validators) => {
5
+ const { multiProvider, registry } = context;
6
+ const addresses = await registry.getAddresses();
7
+ const core = HyperlaneCore.fromAddressesMap(addresses, multiProvider);
8
+ const validatorAnnounce = core.getContracts(chain).validatorAnnounce;
9
+ const merkleTreeHook = MerkleTreeHook__factory.connect(addresses[chain].merkleTreeHook, multiProvider.getProvider(chain));
10
+ let merkleTreeLatestCheckpointIndex;
11
+ try {
12
+ const [_, latestCheckpointIndex] = await merkleTreeHook.latestCheckpoint();
13
+ merkleTreeLatestCheckpointIndex = latestCheckpointIndex;
14
+ logBlue(`\nLatest checkpoint index of incremental merkle tree: ${merkleTreeLatestCheckpointIndex}\n`);
15
+ }
16
+ catch (err) {
17
+ warnYellow(`❗️ Failed to fetch latest checkpoint index of merkleTreeHook on ${chain}: ${err} \n`);
18
+ }
19
+ const errorSet = new Set();
20
+ const validatorsArray = Array.from(validators);
21
+ let validatorStorageLocations;
22
+ try {
23
+ validatorStorageLocations =
24
+ await validatorAnnounce.getAnnouncedStorageLocations(validatorsArray);
25
+ }
26
+ catch (e) {
27
+ errorSet.add('Failed to read announced storage locations on chain.');
28
+ }
29
+ if (validatorStorageLocations) {
30
+ for (let i = 0; i < validatorsArray.length; i++) {
31
+ const validator = validatorsArray[i];
32
+ const storageLocations = validatorStorageLocations[i];
33
+ if (storageLocations.length === 0) {
34
+ errorRed(`❌ Validator ${validator} has not been announced\n`);
35
+ errorSet.add('Some validators have not been announced.');
36
+ continue;
37
+ }
38
+ const s3StorageLocation = storageLocations[0];
39
+ let s3Validator;
40
+ try {
41
+ s3Validator = await S3Validator.fromStorageLocation(s3StorageLocation);
42
+ }
43
+ catch (e) {
44
+ errorRed(`❌ Failed to fetch storage locations for validator ${validator}, this may be due to the storage location not being an S3 bucket\n\n`);
45
+ errorSet.add('Failed to fetch storage locations for some validators.');
46
+ continue;
47
+ }
48
+ const latestCheckpointIndex = await s3Validator.getLatestCheckpointIndex();
49
+ logBlue(`✅ Validator ${validator} announced\nstorage location: ${s3StorageLocation}\nlatest checkpoint index: ${latestCheckpointIndex}`);
50
+ // check is latestCheckpointIndex is within 1% of the merkleTreeLatestCheckpointIndex
51
+ if (merkleTreeLatestCheckpointIndex) {
52
+ const diff = Math.abs(latestCheckpointIndex - merkleTreeLatestCheckpointIndex);
53
+ if (diff > merkleTreeLatestCheckpointIndex / 100) {
54
+ errorRed(`❌ Validator is not signing the latest available checkpoint\n\n`);
55
+ errorSet.add(`Some validators are not signing the latest available checkpoint`);
56
+ }
57
+ else {
58
+ logBlue(`✅ Validator is signing the latest available checkpoint\n\n`);
59
+ }
60
+ }
61
+ else {
62
+ warnYellow(`❗️ Cannot compare validator checkpoint signatures to latest checkpoint in the incremental merkletree, merkletree checkpoint could not be read\n`);
63
+ }
64
+ }
65
+ }
66
+ if (errorSet.size > 0) {
67
+ errorRed(`\n❌ Validator pre flight check failed:\n${Array.from(errorSet).join('\n')}`);
68
+ process.exit(1);
69
+ }
70
+ else {
71
+ logGreen(`\n✅ Validator pre flight check passed`);
72
+ }
73
+ };
74
+ //# sourceMappingURL=preFlightCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preFlightCheck.js","sourceRoot":"","sources":["../../../src/validator/preFlightCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIhE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAuB,EACvB,KAAa,EACb,UAAwB,EACxB,EAAE;IACF,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE5C,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;IAEhD,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAEtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;IACrE,MAAM,cAAc,GAAG,uBAAuB,CAAC,OAAO,CACpD,SAAS,CAAC,KAAK,CAAC,CAAC,cAAc,EAC/B,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CACjC,CAAC;IAEF,IAAI,+BAAmD,CAAC;IACxD,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAE3E,+BAA+B,GAAG,qBAAqB,CAAC;QACxD,OAAO,CACL,yDAAyD,+BAA+B,IAAI,CAC7F,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CACR,mEAAmE,KAAK,KAAK,GAAG,KAAK,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,yBAAiD,CAAC;IAEtD,IAAI,CAAC;QACH,yBAAyB;YACvB,MAAM,iBAAiB,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,yBAAyB,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAEtD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,eAAe,SAAS,2BAA2B,CAAC,CAAC;gBAC9D,QAAQ,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACzD,SAAS;YACX,CAAC;YAED,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE9C,IAAI,WAAwB,CAAC;YAC7B,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAQ,CACN,qDAAqD,SAAS,sEAAsE,CACrI,CAAC;gBACF,QAAQ,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YAED,MAAM,qBAAqB,GACzB,MAAM,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAE/C,OAAO,CACL,eAAe,SAAS,iCAAiC,iBAAiB,8BAA8B,qBAAqB,EAAE,CAChI,CAAC;YAEF,qFAAqF;YACrF,IAAI,+BAA+B,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,qBAAqB,GAAG,+BAA+B,CACxD,CAAC;gBACF,IAAI,IAAI,GAAG,+BAA+B,GAAG,GAAG,EAAE,CAAC;oBACjD,QAAQ,CACN,gEAAgE,CACjE,CAAC;oBACF,QAAQ,CAAC,GAAG,CACV,iEAAiE,CAClE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CACL,4DAA4D,CAC7D,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,UAAU,CACR,iJAAiJ,CAClJ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtB,QAAQ,CACN,2CAA2C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAClE,IAAI,CACL,EAAE,CACJ,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,uCAAuC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "4.0.0-alpha.2";
1
+ export declare const VERSION = "4.0.0-beta2";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,kBAAkB,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,gBAAgB,CAAC"}
@@ -1,2 +1,2 @@
1
- export const VERSION = '4.0.0-alpha.2';
1
+ export const VERSION = '4.0.0-beta2';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cli",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-beta2",
4
4
  "description": "A command-line utility for common Hyperlane operations",
5
5
  "dependencies": {
6
6
  "@aws-sdk/client-kms": "^3.577.0",
7
7
  "@aws-sdk/client-s3": "^3.577.0",
8
- "@hyperlane-xyz/registry": "1.3.0",
9
- "@hyperlane-xyz/sdk": "4.0.0-alpha.2",
10
- "@hyperlane-xyz/utils": "4.0.0-alpha.2",
8
+ "@hyperlane-xyz/registry": "2.1.1",
9
+ "@hyperlane-xyz/sdk": "4.0.0-beta2",
10
+ "@hyperlane-xyz/utils": "4.0.0-beta2",
11
11
  "@inquirer/prompts": "^3.0.0",
12
12
  "asn1.js": "^5.4.1",
13
13
  "bignumber.js": "^9.1.1",
@@ -18,9 +18,12 @@
18
18
  "tsx": "^4.7.1",
19
19
  "yaml": "^2.4.1",
20
20
  "yargs": "^17.7.2",
21
- "zod": "^3.21.2"
21
+ "zod": "^3.21.2",
22
+ "zod-validation-error": "^3.3.0"
22
23
  },
23
24
  "devDependencies": {
25
+ "@ethersproject/abi": "*",
26
+ "@ethersproject/providers": "*",
24
27
  "@types/mocha": "^10.0.1",
25
28
  "@types/node": "^18.14.5",
26
29
  "@types/yargs": "^17.0.24",