@hyperlane-xyz/cli 3.10.0 → 3.10.1-beta0

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 (109) hide show
  1. package/dist/cli.js +4 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/src/commands/deploy.d.ts +6 -0
  4. package/dist/src/commands/deploy.d.ts.map +1 -1
  5. package/dist/src/commands/deploy.js +66 -54
  6. package/dist/src/commands/deploy.js.map +1 -1
  7. package/dist/src/commands/hook.d.ts +7 -0
  8. package/dist/src/commands/hook.d.ts.map +1 -0
  9. package/dist/src/commands/hook.js +42 -0
  10. package/dist/src/commands/hook.js.map +1 -0
  11. package/dist/src/commands/ism.d.ts +7 -0
  12. package/dist/src/commands/ism.d.ts.map +1 -0
  13. package/dist/src/commands/ism.js +44 -0
  14. package/dist/src/commands/ism.js.map +1 -0
  15. package/dist/src/commands/options.d.ts +37 -2
  16. package/dist/src/commands/options.d.ts.map +1 -1
  17. package/dist/src/commands/options.js +45 -2
  18. package/dist/src/commands/options.js.map +1 -1
  19. package/dist/src/commands/send.d.ts +8 -1
  20. package/dist/src/commands/send.d.ts.map +1 -1
  21. package/dist/src/commands/send.js +14 -4
  22. package/dist/src/commands/send.js.map +1 -1
  23. package/dist/src/commands/status.d.ts.map +1 -1
  24. package/dist/src/commands/status.js +8 -7
  25. package/dist/src/commands/status.js.map +1 -1
  26. package/dist/src/config/artifacts.d.ts +6 -1
  27. package/dist/src/config/artifacts.d.ts.map +1 -1
  28. package/dist/src/config/artifacts.js +7 -1
  29. package/dist/src/config/artifacts.js.map +1 -1
  30. package/dist/src/config/ism.d.ts +18 -0
  31. package/dist/src/config/ism.d.ts.map +1 -1
  32. package/dist/src/config/ism.js +22 -7
  33. package/dist/src/config/ism.js.map +1 -1
  34. package/dist/src/config/warp.d.ts +30 -180
  35. package/dist/src/config/warp.d.ts.map +1 -1
  36. package/dist/src/config/warp.js +19 -56
  37. package/dist/src/config/warp.js.map +1 -1
  38. package/dist/src/context.d.ts +22 -5
  39. package/dist/src/context.d.ts.map +1 -1
  40. package/dist/src/context.js +57 -18
  41. package/dist/src/context.js.map +1 -1
  42. package/dist/src/deploy/core.d.ts +6 -2
  43. package/dist/src/deploy/core.d.ts.map +1 -1
  44. package/dist/src/deploy/core.js +37 -16
  45. package/dist/src/deploy/core.js.map +1 -1
  46. package/dist/src/deploy/dry-run.d.ts +20 -0
  47. package/dist/src/deploy/dry-run.d.ts.map +1 -0
  48. package/dist/src/deploy/dry-run.js +45 -0
  49. package/dist/src/deploy/dry-run.js.map +1 -0
  50. package/dist/src/deploy/utils.d.ts +6 -1
  51. package/dist/src/deploy/utils.d.ts.map +1 -1
  52. package/dist/src/deploy/utils.js +40 -6
  53. package/dist/src/deploy/utils.js.map +1 -1
  54. package/dist/src/deploy/warp.d.ts +3 -2
  55. package/dist/src/deploy/warp.d.ts.map +1 -1
  56. package/dist/src/deploy/warp.js +94 -89
  57. package/dist/src/deploy/warp.js.map +1 -1
  58. package/dist/src/hook/read.d.ts +14 -0
  59. package/dist/src/hook/read.d.ts.map +1 -0
  60. package/dist/src/hook/read.js +29 -0
  61. package/dist/src/hook/read.js.map +1 -0
  62. package/dist/src/ism/read.d.ts +14 -0
  63. package/dist/src/ism/read.d.ts.map +1 -0
  64. package/dist/src/ism/read.js +29 -0
  65. package/dist/src/ism/read.js.map +1 -0
  66. package/dist/src/logger.d.ts +1 -0
  67. package/dist/src/logger.d.ts.map +1 -1
  68. package/dist/src/logger.js +1 -0
  69. package/dist/src/logger.js.map +1 -1
  70. package/dist/src/send/message.d.ts +3 -2
  71. package/dist/src/send/message.d.ts.map +1 -1
  72. package/dist/src/send/message.js +8 -2
  73. package/dist/src/send/message.js.map +1 -1
  74. package/dist/src/send/transfer.d.ts +3 -2
  75. package/dist/src/send/transfer.d.ts.map +1 -1
  76. package/dist/src/send/transfer.js +9 -3
  77. package/dist/src/send/transfer.js.map +1 -1
  78. package/dist/src/status/message.d.ts +4 -1
  79. package/dist/src/status/message.d.ts.map +1 -1
  80. package/dist/src/status/message.js +14 -3
  81. package/dist/src/status/message.js.map +1 -1
  82. package/dist/src/tests/deployTestErc20.js +4 -4
  83. package/dist/src/tests/deployTestErc20.js.map +1 -1
  84. package/dist/src/utils/env.d.ts +2 -0
  85. package/dist/src/utils/env.d.ts.map +1 -1
  86. package/dist/src/utils/env.js +2 -0
  87. package/dist/src/utils/env.js.map +1 -1
  88. package/dist/src/utils/files.d.ts +12 -4
  89. package/dist/src/utils/files.d.ts.map +1 -1
  90. package/dist/src/utils/files.js +35 -11
  91. package/dist/src/utils/files.js.map +1 -1
  92. package/dist/src/utils/fork.d.ts +37 -0
  93. package/dist/src/utils/fork.d.ts.map +1 -0
  94. package/dist/src/utils/fork.js +91 -0
  95. package/dist/src/utils/fork.js.map +1 -0
  96. package/dist/src/utils/keys.d.ts +16 -2
  97. package/dist/src/utils/keys.d.ts.map +1 -1
  98. package/dist/src/utils/keys.js +67 -6
  99. package/dist/src/utils/keys.js.map +1 -1
  100. package/dist/src/version.d.ts +1 -1
  101. package/dist/src/version.d.ts.map +1 -1
  102. package/dist/src/version.js +1 -1
  103. package/dist/src/version.js.map +1 -1
  104. package/examples/dry-run/anvil-chains.yaml +17 -0
  105. package/examples/dry-run/ism.yaml +8 -0
  106. package/examples/dry-run/warp-route-deployment.yaml +4 -0
  107. package/examples/fork/warp-route-deployment.yaml +17 -9
  108. package/examples/warp-route-deployment.yaml +17 -10
  109. package/package.json +9 -7
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,eAAO,MAAM,aAAa,EAAE,aA6B3B,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,eAAO,MAAM,aAAa,EAAE,aA+B3B,CAAC"}
@@ -1,30 +1,31 @@
1
1
  import { checkMessageStatus } from '../status/message.js';
2
- import { chainsCommandOption, coreArtifactsOption } from './options.js';
2
+ import { messageOptions } from './send.js';
3
3
  export const statusCommand = {
4
4
  command: 'status',
5
5
  describe: 'Check status of a message',
6
6
  builder: (yargs) => yargs.options({
7
+ ...messageOptions,
7
8
  id: {
8
9
  type: 'string',
9
10
  description: 'Message ID',
10
11
  },
11
- destination: {
12
- type: 'string',
13
- description: 'Destination chain name',
14
- },
15
- chains: chainsCommandOption,
16
- core: coreArtifactsOption,
17
12
  }),
18
13
  handler: async (argv) => {
19
14
  const chainConfigPath = argv.chains;
20
15
  const coreArtifactsPath = argv.core;
21
16
  const messageId = argv.id;
22
17
  const destination = argv.destination;
18
+ const origin = argv.origin;
19
+ const selfRelay = argv['self-relay'];
20
+ const key = argv.key;
23
21
  await checkMessageStatus({
24
22
  chainConfigPath,
25
23
  coreArtifactsPath,
26
24
  messageId,
27
25
  destination,
26
+ origin,
27
+ selfRelay,
28
+ key,
28
29
  });
29
30
  process.exit(0);
30
31
  },
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,2BAA2B;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,OAAO,CAAC;QACZ,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,YAAY;SAC1B;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wBAAwB;SACtC;QACD,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,mBAAmB;KAC1B,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;QAC3B,MAAM,eAAe,GAAW,IAAI,CAAC,MAAM,CAAC;QAC5C,MAAM,iBAAiB,GAAuB,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,SAAS,GAAuB,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAuB,IAAI,CAAC,WAAW,CAAC;QACzD,MAAM,kBAAkB,CAAC;YACvB,eAAe;YACf,iBAAiB;YACjB,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/status.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,2BAA2B;IACrC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK,CAAC,OAAO,CAAC;QACZ,GAAG,cAAc;QACjB,EAAE,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,YAAY;SAC1B;KACF,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;QAC3B,MAAM,eAAe,GAAW,IAAI,CAAC,MAAM,CAAC;QAC5C,MAAM,iBAAiB,GAAuB,IAAI,CAAC,IAAI,CAAC;QACxD,MAAM,SAAS,GAAuB,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAuB,IAAI,CAAC,WAAW,CAAC;QACzD,MAAM,MAAM,GAAuB,IAAI,CAAC,MAAM,CAAC;QAC/C,MAAM,SAAS,GAAY,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAuB,IAAI,CAAC,GAAG,CAAC;QAEzC,MAAM,kBAAkB,CAAC;YACvB,eAAe;YACf,iBAAiB;YACjB,SAAS;YACT,WAAW;YACX,MAAM;YACN,SAAS;YACT,GAAG;SACJ,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF,CAAC"}
@@ -1,11 +1,16 @@
1
1
  import { ChainName, HyperlaneContractsMap } from '@hyperlane-xyz/sdk';
2
2
  export declare function readDeploymentArtifacts(filePath: string): HyperlaneContractsMap<any>;
3
- export declare function runDeploymentArtifactStep({ artifactsPath, message, selectedChains, defaultArtifactsPath, defaultArtifactsNamePattern, skipConfirmation, }: {
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, }: {
4
8
  artifactsPath?: string;
5
9
  message?: string;
6
10
  selectedChains?: ChainName[];
7
11
  defaultArtifactsPath?: string;
8
12
  defaultArtifactsNamePattern?: string;
9
13
  skipConfirmation?: boolean;
14
+ dryRun?: boolean;
10
15
  }): Promise<HyperlaneContractsMap<any> | undefined>;
11
16
  //# sourceMappingURL=artifacts.d.ts.map
@@ -1 +1 @@
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,wBAAsB,yBAAyB,CAAC,EAC9C,aAAa,EACb,OAAO,EACP,cAAc,EACd,oBAAoC,EACpC,2BAA+C,EAC/C,gBAAwB,GACzB,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;CAC5B,GAAG,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CA6BlD"}
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"}
@@ -16,10 +16,16 @@ export function readDeploymentArtifacts(filePath) {
16
16
  }
17
17
  return artifacts;
18
18
  }
19
- export async function runDeploymentArtifactStep({ artifactsPath, message, selectedChains, defaultArtifactsPath = './artifacts', defaultArtifactsNamePattern = 'core-deployment', skipConfirmation = false, }) {
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, }) {
20
24
  if (!artifactsPath) {
21
25
  if (skipConfirmation)
22
26
  return undefined;
27
+ if (dryRun)
28
+ defaultArtifactsNamePattern = 'dry-run_core-deployment';
23
29
  const useArtifacts = await confirm({
24
30
  message: message || 'Do you want use some existing contract addresses?',
25
31
  });
@@ -1 +1 @@
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,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,GAQzB;IACC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,gBAAgB;YAAE,OAAO,SAAS,CAAC;QAEvC,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
+ {"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"}
@@ -19,6 +19,15 @@ declare const IsmConfigSchema: z.ZodUnion<[z.ZodObject<{
19
19
  type: IsmType.TEST_ISM;
20
20
  }, {
21
21
  type: IsmType.TEST_ISM;
22
+ }>, z.ZodObject<{
23
+ type: z.ZodLiteral<IsmType.TRUSTED_RELAYER>;
24
+ relayer: z.ZodString;
25
+ }, "strip", z.ZodTypeAny, {
26
+ type: IsmType.TRUSTED_RELAYER;
27
+ relayer: string;
28
+ }, {
29
+ type: IsmType.TRUSTED_RELAYER;
30
+ relayer: string;
22
31
  }>]>;
23
32
  declare const IsmConfigMapSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
24
33
  type: z.ZodUnion<[z.ZodLiteral<IsmType.MERKLE_ROOT_MULTISIG>, z.ZodLiteral<IsmType.MESSAGE_ID_MULTISIG>]>;
@@ -38,6 +47,15 @@ declare const IsmConfigMapSchema: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodUni
38
47
  type: IsmType.TEST_ISM;
39
48
  }, {
40
49
  type: IsmType.TEST_ISM;
50
+ }>, z.ZodObject<{
51
+ type: z.ZodLiteral<IsmType.TRUSTED_RELAYER>;
52
+ relayer: z.ZodString;
53
+ }, "strip", z.ZodTypeAny, {
54
+ type: IsmType.TRUSTED_RELAYER;
55
+ relayer: string;
56
+ }, {
57
+ type: IsmType.TRUSTED_RELAYER;
58
+ relayer: string;
41
59
  }>]>>, Record<string, any>, Record<string, any>>;
42
60
  export type ZodIsmConfig = z.infer<typeof IsmConfigSchema>;
43
61
  export type ZodIsmConfigMap = z.infer<typeof IsmConfigMapSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../../../src/config/ism.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAY,SAAS,EAAE,OAAO,EAAS,MAAM,oBAAoB,CAAC;AAWzE,OAAO,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AA8ChF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;IAKnB,CAAC;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;gDAgBvB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,mEAI9C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,uBAU7C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,WAE5C;AAED,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,iBAiCA;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,SAAS,EAAE,GACnB,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,GAC/D,OAAO,CAAC,YAAY,CAAC,CAevB;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,YAAY,CAAC,CAwBvB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAChD,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,YAAY,CAAC,CAoBvB"}
1
+ {"version":3,"file":"ism.d.ts","sourceRoot":"","sources":["../../../src/config/ism.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAY,SAAS,EAAE,OAAO,EAAS,MAAM,oBAAoB,CAAC;AAWzE,OAAO,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AAmDhF,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMnB,CAAC;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAgBvB,CAAC;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,mEAI9C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,uBAU7C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,WAE5C;AAED,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,iBAiCA;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,SAAS,EAAE,GACnB,OAAO,CAAC,YAAY,CAAC,CA6DvB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,GAC/D,OAAO,CAAC,YAAY,CAAC,CAevB;AAYD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,YAAY,CAAC,CAwBvB;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAChD,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,SAAS,EAAE,GAClB,OAAO,CAAC,YAAY,CAAC,CAoBvB"}
@@ -37,11 +37,16 @@ const AggregationIsmConfigSchema = z
37
37
  const TestIsmConfigSchema = z.object({
38
38
  type: z.literal(IsmType.TEST_ISM),
39
39
  });
40
+ const TrustedRelayerIsmConfigSchema = z.object({
41
+ type: z.literal(IsmType.TRUSTED_RELAYER),
42
+ relayer: ZHash,
43
+ });
40
44
  const IsmConfigSchema = z.union([
41
45
  MultisigIsmConfigSchema,
42
46
  RoutingIsmConfigSchema,
43
47
  AggregationIsmConfigSchema,
44
48
  TestIsmConfigSchema,
49
+ TrustedRelayerIsmConfigSchema,
45
50
  ]);
46
51
  const IsmConfigMapSchema = z.record(IsmConfigSchema).refine((ismConfigMap) => {
47
52
  // check if any key in IsmConfigMap is found in its own RoutingIsmConfigSchema.domains
@@ -105,32 +110,30 @@ export async function createIsmConfig(remote, origins) {
105
110
  choices: [
106
111
  {
107
112
  value: IsmType.MESSAGE_ID_MULTISIG,
108
- name: IsmType.MESSAGE_ID_MULTISIG,
109
113
  description: 'Validators need to sign just this messageId',
110
114
  },
111
115
  {
112
116
  value: IsmType.MERKLE_ROOT_MULTISIG,
113
- name: IsmType.MERKLE_ROOT_MULTISIG,
114
117
  description: 'Validators need to sign the root of the merkle tree of all messages from origin chain',
115
118
  },
116
119
  {
117
120
  value: IsmType.ROUTING,
118
- name: IsmType.ROUTING,
119
121
  description: 'Each origin chain can be verified by the specified ISM type via RoutingISM',
120
122
  },
121
123
  {
122
124
  value: IsmType.FALLBACK_ROUTING,
123
- name: IsmType.FALLBACK_ROUTING,
124
125
  description: "You can specify ISM type for specific chains you like and fallback to mailbox's default ISM for other chains via DefaultFallbackRoutingISM",
125
126
  },
126
127
  {
127
128
  value: IsmType.AGGREGATION,
128
- name: IsmType.AGGREGATION,
129
129
  description: 'You can aggregate multiple ISMs into one ISM via AggregationISM',
130
130
  },
131
+ {
132
+ value: IsmType.TRUSTED_RELAYER,
133
+ description: 'Deliver messages from an authorized address',
134
+ },
131
135
  {
132
136
  value: IsmType.TEST_ISM,
133
- name: IsmType.TEST_ISM,
134
137
  description: 'ISM where you can deliver messages without any validation (WARNING: only for testing, do not use in production)',
135
138
  },
136
139
  ],
@@ -150,6 +153,9 @@ export async function createIsmConfig(remote, origins) {
150
153
  else if (moduleType === IsmType.TEST_ISM) {
151
154
  lastConfig = { type: IsmType.TEST_ISM };
152
155
  }
156
+ else if (moduleType === IsmType.TRUSTED_RELAYER) {
157
+ lastConfig = await createTrustedRelayerConfig();
158
+ }
153
159
  else {
154
160
  throw new Error(`Invalid ISM type: ${moduleType}}`);
155
161
  }
@@ -157,7 +163,7 @@ export async function createIsmConfig(remote, origins) {
157
163
  }
158
164
  export async function createMultisigConfig(type) {
159
165
  const thresholdInput = await input({
160
- message: 'Enter threshold of signers (number)',
166
+ message: 'Enter threshold of validators (number)',
161
167
  });
162
168
  const threshold = parseInt(thresholdInput, 10);
163
169
  const validatorsInput = await input({
@@ -170,6 +176,15 @@ export async function createMultisigConfig(type) {
170
176
  validators,
171
177
  };
172
178
  }
179
+ async function createTrustedRelayerConfig() {
180
+ const relayer = await input({
181
+ message: 'Enter relayer address',
182
+ });
183
+ return {
184
+ type: IsmType.TRUSTED_RELAYER,
185
+ relayer,
186
+ };
187
+ }
173
188
  export async function createAggregationConfig(remote, chains) {
174
189
  const isms = parseInt(await input({
175
190
  message: 'Enter the number of ISMs to aggregate (number)',
@@ -1 +1 @@
1
- {"version":3,"file":"ism.js","sourceRoot":"","sources":["../../../src/config/ism.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ism.js","sourceRoot":"","sources":["../../../src/config/ism.ts"],"names":[],"mappings":"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"}
@@ -1,190 +1,40 @@
1
- import { z } from 'zod';
2
1
  import { TokenType } from '@hyperlane-xyz/sdk';
3
2
  import { FileFormat } from '../utils/files.js';
4
- export declare const WarpRouteDeployConfigSchema: z.ZodObject<{
5
- base: z.ZodEffects<z.ZodObject<{
6
- mailbox: z.ZodOptional<z.ZodString>;
7
- interchainSecurityModule: z.ZodOptional<z.ZodString>;
8
- foreignDeployment: z.ZodOptional<z.ZodString>;
9
- type: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<TokenType.native>, z.ZodLiteral<TokenType.collateral>]>, z.ZodLiteral<TokenType.collateralVault>]>;
10
- chainName: z.ZodString;
11
- address: z.ZodOptional<z.ZodString>;
12
- isNft: z.ZodOptional<z.ZodBoolean>;
13
- name: z.ZodOptional<z.ZodString>;
14
- symbol: z.ZodOptional<z.ZodString>;
15
- decimals: z.ZodOptional<z.ZodNumber>;
16
- }, "strip", z.ZodTypeAny, {
17
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
18
- chainName: string;
19
- mailbox?: string | undefined;
20
- interchainSecurityModule?: string | undefined;
21
- foreignDeployment?: string | undefined;
22
- address?: string | undefined;
23
- isNft?: boolean | undefined;
24
- name?: string | undefined;
25
- symbol?: string | undefined;
26
- decimals?: number | undefined;
27
- }, {
28
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
29
- chainName: string;
30
- mailbox?: string | undefined;
31
- interchainSecurityModule?: string | undefined;
32
- foreignDeployment?: string | undefined;
33
- address?: string | undefined;
34
- isNft?: boolean | undefined;
35
- name?: string | undefined;
36
- symbol?: string | undefined;
37
- decimals?: number | undefined;
38
- }>, {
39
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
40
- chainName: string;
41
- mailbox?: string | undefined;
42
- interchainSecurityModule?: string | undefined;
43
- foreignDeployment?: string | undefined;
44
- address?: string | undefined;
45
- isNft?: boolean | undefined;
46
- name?: string | undefined;
47
- symbol?: string | undefined;
48
- decimals?: number | undefined;
49
- }, {
50
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
51
- chainName: string;
52
- mailbox?: string | undefined;
53
- interchainSecurityModule?: string | undefined;
54
- foreignDeployment?: string | undefined;
55
- address?: string | undefined;
56
- isNft?: boolean | undefined;
57
- name?: string | undefined;
58
- symbol?: string | undefined;
59
- decimals?: number | undefined;
60
- }>;
61
- synthetics: z.ZodArray<z.ZodObject<{
62
- mailbox: z.ZodOptional<z.ZodString>;
63
- interchainSecurityModule: z.ZodOptional<z.ZodString>;
64
- foreignDeployment: z.ZodOptional<z.ZodString>;
65
- chainName: z.ZodString;
66
- name: z.ZodOptional<z.ZodString>;
67
- symbol: z.ZodOptional<z.ZodString>;
68
- totalSupply: z.ZodOptional<z.ZodNumber>;
69
- }, "strip", z.ZodTypeAny, {
70
- chainName: string;
71
- mailbox?: string | undefined;
72
- interchainSecurityModule?: string | undefined;
73
- foreignDeployment?: string | undefined;
74
- name?: string | undefined;
75
- symbol?: string | undefined;
76
- totalSupply?: number | undefined;
77
- }, {
78
- chainName: string;
79
- mailbox?: string | undefined;
80
- interchainSecurityModule?: string | undefined;
81
- foreignDeployment?: string | undefined;
82
- name?: string | undefined;
83
- symbol?: string | undefined;
84
- totalSupply?: number | undefined;
85
- }>, "atleastone">;
86
- }, "strip", z.ZodTypeAny, {
87
- base: {
88
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
89
- chainName: string;
90
- mailbox?: string | undefined;
91
- interchainSecurityModule?: string | undefined;
92
- foreignDeployment?: string | undefined;
93
- address?: string | undefined;
94
- isNft?: boolean | undefined;
95
- name?: string | undefined;
96
- symbol?: string | undefined;
97
- decimals?: number | undefined;
98
- };
99
- synthetics: [{
100
- chainName: string;
101
- mailbox?: string | undefined;
102
- interchainSecurityModule?: string | undefined;
103
- foreignDeployment?: string | undefined;
104
- name?: string | undefined;
105
- symbol?: string | undefined;
106
- totalSupply?: number | undefined;
107
- }, ...{
108
- chainName: string;
109
- mailbox?: string | undefined;
110
- interchainSecurityModule?: string | undefined;
111
- foreignDeployment?: string | undefined;
112
- name?: string | undefined;
113
- symbol?: string | undefined;
114
- totalSupply?: number | undefined;
115
- }[]];
116
- }, {
117
- base: {
118
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
119
- chainName: string;
120
- mailbox?: string | undefined;
121
- interchainSecurityModule?: string | undefined;
122
- foreignDeployment?: string | undefined;
123
- address?: string | undefined;
124
- isNft?: boolean | undefined;
125
- name?: string | undefined;
126
- symbol?: string | undefined;
127
- decimals?: number | undefined;
128
- };
129
- synthetics: [{
130
- chainName: string;
131
- mailbox?: string | undefined;
132
- interchainSecurityModule?: string | undefined;
133
- foreignDeployment?: string | undefined;
134
- name?: string | undefined;
135
- symbol?: string | undefined;
136
- totalSupply?: number | undefined;
137
- }, ...{
138
- chainName: string;
139
- mailbox?: string | undefined;
140
- interchainSecurityModule?: string | undefined;
141
- foreignDeployment?: string | undefined;
142
- name?: string | undefined;
143
- symbol?: string | undefined;
144
- totalSupply?: number | undefined;
145
- }[]];
3
+ export declare function readWarpRouteDeployConfig(filePath: string): Record<string, ({
4
+ type: TokenType.native;
5
+ decimals?: number | undefined;
6
+ scale?: number | undefined;
7
+ } | {
8
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.fastCollateral | TokenType.collateralUri;
9
+ token: string;
10
+ symbol?: string | undefined;
11
+ name?: string | undefined;
12
+ decimals?: number | undefined;
13
+ totalSupply?: string | number | undefined;
14
+ scale?: number | undefined;
15
+ isNft?: boolean | undefined;
16
+ } | {
17
+ type: TokenType.synthetic | TokenType.fastSynthetic | TokenType.syntheticUri;
18
+ symbol?: string | undefined;
19
+ name?: string | undefined;
20
+ totalSupply?: string | number | undefined;
21
+ }) & {
22
+ owner?: string | {
23
+ owner: string;
24
+ origin: string;
25
+ localRouter?: string | undefined;
26
+ routerOverride?: string | undefined;
27
+ ismOverride?: string | undefined;
28
+ } | undefined;
29
+ hook?: string | undefined;
30
+ interchainSecurityModule?: import("@hyperlane-xyz/sdk").IsmConfig | undefined;
31
+ mailbox?: string | undefined;
32
+ foreignDeployment?: string | undefined;
146
33
  }>;
147
- type InferredType = z.infer<typeof WarpRouteDeployConfigSchema>;
148
- export type WarpRouteDeployConfig = {
149
- base: InferredType['base'];
150
- synthetics: Array<InferredType['synthetics'][0]>;
151
- };
152
- export declare function readWarpRouteDeployConfig(filePath: string): {
153
- base: {
154
- type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
155
- chainName: string;
156
- mailbox?: string | undefined;
157
- interchainSecurityModule?: string | undefined;
158
- foreignDeployment?: string | undefined;
159
- address?: string | undefined;
160
- isNft?: boolean | undefined;
161
- name?: string | undefined;
162
- symbol?: string | undefined;
163
- decimals?: number | undefined;
164
- };
165
- synthetics: [{
166
- chainName: string;
167
- mailbox?: string | undefined;
168
- interchainSecurityModule?: string | undefined;
169
- foreignDeployment?: string | undefined;
170
- name?: string | undefined;
171
- symbol?: string | undefined;
172
- totalSupply?: number | undefined;
173
- }, ...{
174
- chainName: string;
175
- mailbox?: string | undefined;
176
- interchainSecurityModule?: string | undefined;
177
- foreignDeployment?: string | undefined;
178
- name?: string | undefined;
179
- symbol?: string | undefined;
180
- totalSupply?: number | undefined;
181
- }[]];
182
- };
183
34
  export declare function isValidWarpRouteDeployConfig(config: any): boolean;
184
35
  export declare function createWarpRouteDeployConfig({ format, outPath, chainConfigPath, }: {
185
36
  format: FileFormat;
186
37
  outPath: string;
187
38
  chainConfigPath: string;
188
39
  }): Promise<void>;
189
- export {};
190
40
  //# sourceMappingURL=warp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAS,MAAM,oBAAoB,CAAC;AAOtD,OAAO,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AAUhF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CtC,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzD;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,WAEvD;AAED,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,OAAO,EACP,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,iBAgEA"}
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EAGV,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AAIhF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAYzD;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,WAEvD;AAED,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,OAAO,EACP,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,iBAqEA"}
@@ -1,51 +1,10 @@
1
1
  import { confirm, input } from '@inquirer/prompts';
2
2
  import { ethers } from 'ethers';
3
- import { z } from 'zod';
4
- import { TokenType, ZHash } from '@hyperlane-xyz/sdk';
3
+ import { TokenType, WarpRouteDeployConfigSchema, } from '@hyperlane-xyz/sdk';
5
4
  import { errorRed, logBlue, logGreen } from '../logger.js';
6
5
  import { runMultiChainSelectionStep, runSingleChainSelectionStep, } from '../utils/chains.js';
7
6
  import { readYamlOrJson, writeYamlOrJson } from '../utils/files.js';
8
7
  import { readChainConfigsIfExists } from './chain.js';
9
- const ConnectionConfigSchema = {
10
- mailbox: ZHash.optional(),
11
- interchainSecurityModule: ZHash.optional(),
12
- foreignDeployment: z.string().optional(),
13
- };
14
- export const WarpRouteDeployConfigSchema = z.object({
15
- base: z
16
- .object({
17
- type: z
18
- .literal(TokenType.native)
19
- .or(z.literal(TokenType.collateral))
20
- .or(z.literal(TokenType.collateralVault)),
21
- chainName: z.string(),
22
- address: ZHash.optional(),
23
- isNft: z.boolean().optional(),
24
- name: z.string().optional(),
25
- symbol: z.string().optional(),
26
- decimals: z.number().optional(),
27
- ...ConnectionConfigSchema,
28
- })
29
- .refine((data) => {
30
- // For collateralVault Warp Routes, address will specify the vault
31
- if (data.type === TokenType.collateralVault &&
32
- data.address === ethers.constants.AddressZero)
33
- return false;
34
- return true;
35
- }, {
36
- message: 'Vault address is required when type is collateralVault',
37
- path: ['address'],
38
- }),
39
- synthetics: z
40
- .array(z.object({
41
- chainName: z.string(),
42
- name: z.string().optional(),
43
- symbol: z.string().optional(),
44
- totalSupply: z.number().optional(),
45
- ...ConnectionConfigSchema,
46
- }))
47
- .nonempty(),
48
- });
49
8
  export function readWarpRouteDeployConfig(filePath) {
50
9
  const config = readYamlOrJson(filePath);
51
10
  if (!config)
@@ -81,24 +40,28 @@ export async function createWarpRouteDeployConfig({ format, outPath, chainConfig
81
40
  : await input({ message: addressMessage });
82
41
  const syntheticChains = await runMultiChainSelectionStep(customChains, 'Select chains to which the base token will be connected');
83
42
  // TODO add more prompts here to support customizing the token metadata
84
- let baseType;
43
+ let result;
85
44
  if (isNative) {
86
- baseType = TokenType.native;
45
+ result = {
46
+ [baseChain]: {
47
+ type: TokenType.native,
48
+ },
49
+ };
87
50
  }
88
51
  else {
89
- baseType = isYieldBearing
90
- ? TokenType.collateralVault
91
- : TokenType.collateral;
52
+ result = {
53
+ [baseChain]: {
54
+ type: isYieldBearing ? TokenType.collateralVault : TokenType.collateral,
55
+ token: baseAddress,
56
+ isNft,
57
+ },
58
+ };
92
59
  }
93
- const result = {
94
- base: {
95
- chainName: baseChain,
96
- type: baseType,
97
- address: baseAddress,
98
- isNft,
99
- },
100
- synthetics: syntheticChains.map((chain) => ({ chainName: chain })),
101
- };
60
+ syntheticChains.map((chain) => {
61
+ result[chain] = {
62
+ type: TokenType.synthetic,
63
+ };
64
+ });
102
65
  if (isValidWarpRouteDeployConfig(result)) {
103
66
  logGreen(`Warp Route config is valid, writing to file ${outPath}`);
104
67
  writeYamlOrJson(outPath, result, format);
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"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"}