@hyperlane-xyz/cli 8.9.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/src/check/warp.d.ts +3 -3
  2. package/dist/src/check/warp.d.ts.map +1 -1
  3. package/dist/src/check/warp.js +2 -8
  4. package/dist/src/check/warp.js.map +1 -1
  5. package/dist/src/commands/config.js +2 -2
  6. package/dist/src/commands/config.js.map +1 -1
  7. package/dist/src/commands/warp.js +1 -1
  8. package/dist/src/commands/warp.js.map +1 -1
  9. package/dist/src/config/warp.d.ts +2 -2
  10. package/dist/src/config/warp.d.ts.map +1 -1
  11. package/dist/src/config/warp.js +5 -18
  12. package/dist/src/config/warp.js.map +1 -1
  13. package/dist/src/deploy/warp.d.ts +12 -2
  14. package/dist/src/deploy/warp.d.ts.map +1 -1
  15. package/dist/src/deploy/warp.js +73 -155
  16. package/dist/src/deploy/warp.js.map +1 -1
  17. package/dist/src/tests/commands/helpers.d.ts +15 -0
  18. package/dist/src/tests/commands/helpers.d.ts.map +1 -1
  19. package/dist/src/tests/commands/helpers.js +58 -2
  20. package/dist/src/tests/commands/helpers.js.map +1 -1
  21. package/dist/src/tests/commands/warp.d.ts +2 -2
  22. package/dist/src/tests/commands/warp.d.ts.map +1 -1
  23. package/dist/src/tests/commands/warp.js.map +1 -1
  24. package/dist/src/tests/warp/warp-apply-extend.e2e-test.js +251 -2
  25. package/dist/src/tests/warp/warp-apply-extend.e2e-test.js.map +1 -1
  26. package/dist/src/tests/warp/warp-apply.e2e-test.js +41 -2
  27. package/dist/src/tests/warp/warp-apply.e2e-test.js.map +1 -1
  28. package/dist/src/tests/warp/warp-check.e2e-test.js +25 -3
  29. package/dist/src/tests/warp/warp-check.e2e-test.js.map +1 -1
  30. package/dist/src/tests/warp/warp-init.e2e-test.js +4 -18
  31. package/dist/src/tests/warp/warp-init.e2e-test.js.map +1 -1
  32. package/dist/src/version.d.ts +1 -1
  33. package/dist/src/version.js +1 -1
  34. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
- import { WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
1
+ import { WarpRouteDeployConfigMailboxRequired } from '@hyperlane-xyz/sdk';
2
2
  export declare function runWarpRouteCheck({ warpRouteConfig, onChainWarpConfig, }: {
3
- warpRouteConfig: WarpRouteDeployConfig;
4
- onChainWarpConfig: WarpRouteDeployConfig;
3
+ warpRouteConfig: WarpRouteDeployConfigMailboxRequired;
4
+ onChainWarpConfig: WarpRouteDeployConfigMailboxRequired;
5
5
  }): Promise<void>;
6
6
  //# sourceMappingURL=warp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/check/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAmB,MAAM,oBAAoB,CAAC;AAgB5E,wBAAsB,iBAAiB,CAAC,EACtC,eAAe,EACf,iBAAiB,GAClB,EAAE;IACD,eAAe,EAAE,qBAAqB,CAAC;IACvC,iBAAiB,EAAE,qBAAqB,CAAC;CAC1C,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB"}
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/check/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oCAAoC,EAErC,MAAM,oBAAoB,CAAC;AAM5B,wBAAsB,iBAAiB,CAAC,EACtC,eAAe,EACf,iBAAiB,GAClB,EAAE;IACD,eAAe,EAAE,oCAAoC,CAAC;IACtD,iBAAiB,EAAE,oCAAoC,CAAC;CACzD,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhB"}
@@ -1,18 +1,12 @@
1
1
  import { stringify as yamlStringify } from 'yaml';
2
- import { normalizeConfig } from '@hyperlane-xyz/sdk';
2
+ import { transformConfigToCheck, } from '@hyperlane-xyz/sdk';
3
3
  import { diffObjMerge } from '@hyperlane-xyz/utils';
4
4
  import { log, logGreen } from '../logger.js';
5
5
  import { formatYamlViolationsOutput } from '../utils/output.js';
6
- const KEYS_TO_IGNORE = ['totalSupply'];
7
- function sanitizeConfig(obj) {
8
- // Remove keys from obj
9
- const filteredObj = Object.fromEntries(Object.entries(obj).filter(([key]) => !KEYS_TO_IGNORE.includes(key)));
10
- return normalizeConfig(filteredObj);
11
- }
12
6
  export async function runWarpRouteCheck({ warpRouteConfig, onChainWarpConfig, }) {
13
7
  // Go through each chain and only add to the output the chains that have mismatches
14
8
  const [violations, isInvalid] = Object.keys(warpRouteConfig).reduce((acc, chain) => {
15
- const { mergedObject, isInvalid } = diffObjMerge(sanitizeConfig(onChainWarpConfig[chain]), sanitizeConfig(warpRouteConfig[chain]));
9
+ const { mergedObject, isInvalid } = diffObjMerge(transformConfigToCheck(onChainWarpConfig[chain]), transformConfigToCheck(warpRouteConfig[chain]));
16
10
  if (isInvalid) {
17
11
  acc[0][chain] = mergedObject;
18
12
  acc[1] ||= isInvalid;
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/check/warp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAyB,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAc,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,CAAC;AAEvC,SAAS,cAAc,CAAC,GAAQ;IAC9B,uBAAuB;IACvB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACrE,CAAC;IACF,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,eAAe,EACf,iBAAiB,GAIlB;IACC,mFAAmF;IACnF,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,YAAY,CAC9C,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EACxC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CACvC,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;QACvB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD,CAAC,EAAE,EAAE,KAAK,CAA+C,CAC1D,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,0BAA0B,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/check/warp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAEL,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAc,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,eAAe,EACf,iBAAiB,GAIlB;IACC,mFAAmF;IACnF,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,YAAY,CAC9C,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAChD,sBAAsB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAC/C,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;YAC7B,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;QACvB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC,EACD,CAAC,EAAE,EAAE,KAAK,CAA+C,CAC1D,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,GAAG,CAAC,0BAA0B,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAClC,CAAC"}
@@ -84,8 +84,8 @@ const validateWarpCommand = {
84
84
  builder: {
85
85
  path: inputFileCommandOption(),
86
86
  },
87
- handler: async ({ path }) => {
88
- await readWarpRouteDeployConfig(path);
87
+ handler: async ({ path, context }) => {
88
+ await readWarpRouteDeployConfig(path, context);
89
89
  logGreen('Config is valid');
90
90
  process.exit(0);
91
91
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ export const apply = {
63
63
  });
64
64
  if (strategyUrl)
65
65
  ChainSubmissionStrategySchema.parse(readYamlOrJson(strategyUrl));
66
- const warpDeployConfig = await readWarpRouteDeployConfig(config);
66
+ const warpDeployConfig = await readWarpRouteDeployConfig(config, context);
67
67
  await runWarpRouteApply({
68
68
  context,
69
69
  warpDeployConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/commands/warp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/commands/warp.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
1
+ import { WarpCoreConfig, WarpRouteDeployConfigMailboxRequired } from '@hyperlane-xyz/sdk';
2
2
  import { CommandContext } from '../context/types.js';
3
- export declare function readWarpRouteDeployConfig(filePath: string, context?: CommandContext): Promise<WarpRouteDeployConfig>;
3
+ export declare function readWarpRouteDeployConfig(filePath: string, context: CommandContext): Promise<WarpRouteDeployConfigMailboxRequired>;
4
4
  export declare function isValidWarpRouteDeployConfig(config: any): boolean;
5
5
  export declare function createWarpRouteDeployConfig({ context, outPath, advanced, }: {
6
6
  context: CommandContext;
@@ -1 +1 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,cAAc,EAEd,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyErD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,qBAAqB,CAAC,CAQhC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,WAEvD;AAED,wBAAsB,2BAA2B,CAAC,EAChD,OAAO,EACP,OAAO,EACP,QAAgB,GACjB,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,iBAwJA;AAQD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAInE"}
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,cAAc,EAGd,oCAAoC,EAGrC,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyErD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oCAAoC,CAAC,CAS/C;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,WAEvD;AAED,wBAAsB,2BAA2B,CAAC,EAChD,OAAO,EACP,OAAO,EACP,QAAgB,GACjB,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB,iBAyIA;AAQD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAInE"}
@@ -1,7 +1,7 @@
1
1
  import { confirm, input, select } from '@inquirer/prompts';
2
2
  import { stringify as yamlStringify } from 'yaml';
3
- import { IsmType, TokenType, WarpCoreConfigSchema, WarpRouteDeployConfigSchema, } from '@hyperlane-xyz/sdk';
4
- import { assert, isAddress, objMap, promiseObjAll, } from '@hyperlane-xyz/utils';
3
+ import { IsmType, TokenType, WarpCoreConfigSchema, WarpRouteDeployConfigMailboxRequiredSchema, WarpRouteDeployConfigSchema, } from '@hyperlane-xyz/sdk';
4
+ import { assert, objMap, promiseObjAll } from '@hyperlane-xyz/utils';
5
5
  import { errorRed, log, logBlue, logGreen } from '../logger.js';
6
6
  import { runMultiChainSelectionStep } from '../utils/chains.js';
7
7
  import { indentYamlOrJson, readYamlOrJson, writeYamlOrJson, } from '../utils/files.js';
@@ -54,10 +54,9 @@ export async function readWarpRouteDeployConfig(filePath, context) {
54
54
  let config = readYamlOrJson(filePath);
55
55
  if (!config)
56
56
  throw new Error(`No warp route deploy config found at ${filePath}`);
57
- if (context) {
58
- config = await fillDefaults(context, config);
59
- }
60
- return WarpRouteDeployConfigSchema.parse(config);
57
+ config = await fillDefaults(context, config);
58
+ //fillDefaults would have added a mailbox to the config if it was missing
59
+ return WarpRouteDeployConfigMailboxRequiredSchema.parse(config);
61
60
  }
62
61
  export function isValidWarpRouteDeployConfig(config) {
63
62
  return WarpRouteDeployConfigSchema.safeParse(config).success;
@@ -77,13 +76,6 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
77
76
  for (const chain of warpChains) {
78
77
  logBlue(`${chain}: Configuring warp route...`);
79
78
  const owner = await detectAndConfirmOrPrompt(async () => context.signerAddress, 'Enter the desired', 'owner address', 'signer');
80
- // default to the mailbox from the registry and if not found ask to the user to submit one
81
- const chainAddresses = await context.registry.getChainAddresses(chain);
82
- const mailbox = chainAddresses?.mailbox ??
83
- (await input({
84
- validate: isAddress,
85
- message: `Could not retrieve mailbox address from the registry for chain "${chain}". Please enter a valid mailbox address:`,
86
- }));
87
79
  const proxyAdmin = await setProxyAdminConfig(context, chain);
88
80
  /**
89
81
  * The logic from the cli is as follows:
@@ -119,7 +111,6 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
119
111
  case TokenType.collateralUri:
120
112
  case TokenType.fastCollateral:
121
113
  result[chain] = {
122
- mailbox,
123
114
  type,
124
115
  owner,
125
116
  proxyAdmin,
@@ -132,7 +123,6 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
132
123
  break;
133
124
  case TokenType.syntheticRebase:
134
125
  result[chain] = {
135
- mailbox,
136
126
  type,
137
127
  owner,
138
128
  isNft,
@@ -147,7 +137,6 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
147
137
  break;
148
138
  case TokenType.collateralVaultRebase:
149
139
  result[chain] = {
150
- mailbox,
151
140
  type,
152
141
  owner,
153
142
  proxyAdmin,
@@ -161,7 +150,6 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
161
150
  break;
162
151
  case TokenType.collateralVault:
163
152
  result[chain] = {
164
- mailbox,
165
153
  type,
166
154
  owner,
167
155
  proxyAdmin,
@@ -174,7 +162,6 @@ export async function createWarpRouteDeployConfig({ context, outPath, advanced =
174
162
  break;
175
163
  default:
176
164
  result[chain] = {
177
- mailbox,
178
165
  type,
179
166
  owner,
180
167
  proxyAdmin,
@@ -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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"}
@@ -1,8 +1,8 @@
1
- import { ChainSubmissionStrategy, WarpCoreConfig, WarpRouteDeployConfig } from '@hyperlane-xyz/sdk';
1
+ import { ChainMap, ChainSubmissionStrategy, WarpCoreConfig, WarpRouteDeployConfigMailboxRequired } from '@hyperlane-xyz/sdk';
2
2
  import { WriteCommandContext } from '../context/types.js';
3
3
  interface DeployParams {
4
4
  context: WriteCommandContext;
5
- warpDeployConfig: WarpRouteDeployConfig;
5
+ warpDeployConfig: WarpRouteDeployConfigMailboxRequired;
6
6
  }
7
7
  interface WarpApplyParams extends DeployParams {
8
8
  warpCoreConfig: WarpCoreConfig;
@@ -14,6 +14,16 @@ export declare function runWarpRouteDeploy({ context, warpRouteDeploymentConfigP
14
14
  warpRouteDeploymentConfigPath?: string;
15
15
  }): Promise<void>;
16
16
  export declare function runWarpRouteApply(params: WarpApplyParams): Promise<void>;
17
+ /**
18
+ * Extends an existing Warp route to include new chains.
19
+ * This function manages the entire extension workflow:
20
+ * 1. Divides the configuration into existing and new chain segments.
21
+ * 2. Returns the current configuration if no new chains are added.
22
+ * 3. Deploys and sets up new contracts for the additional chains.
23
+ * 4. Refreshes the Warp core configuration with updated token details.
24
+ * 5. Saves the revised artifacts to the registry.
25
+ */
26
+ export declare function extendWarpRoute(params: WarpApplyParams, apiKeys: ChainMap<string>, warpCoreConfig: WarpCoreConfig): Promise<WarpCoreConfig>;
17
27
  /**
18
28
  * Retrieves a chain submission strategy from the provided filepath.
19
29
  * @param submissionStrategyFilepath a filepath to the submission strategy file
@@ -1 +1 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"AAOA,OAAO,EAML,uBAAuB,EAgCvB,cAAc,EAEd,qBAAqB,EAStB,MAAM,oBAAoB,CAAC;AAe5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,UAAU,YAAY;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,qBAAqB,CAAC;CACzC;AAED,UAAU,eAAgB,SAAQ,YAAY;IAC5C,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,6BAA6B,GAC9B,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,iBA4DA;AAqWD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAuCf;AA+HD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,0BAA0B,EAAE,MAAM,GACjC,uBAAuB,CAKzB"}
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,QAAQ,EAER,uBAAuB,EA4BvB,cAAc,EAEd,oCAAoC,EAarC,MAAM,oBAAoB,CAAC;AAa5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAiB1D,UAAU,YAAY;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,oCAAoC,CAAC;CACxD;AAED,UAAU,eAAgB,SAAQ,YAAY;IAC5C,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,6BAA6B,GAC9B,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,iBA4DA;AA+TD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAmCf;AAoDD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAgED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,0BAA0B,EAAE,MAAM,GACjC,uBAAuB,CAKzB"}
@@ -3,8 +3,8 @@ import { groupBy } from 'lodash-es';
3
3
  import { stringify as yamlStringify } from 'yaml';
4
4
  import { ProxyAdmin__factory } from '@hyperlane-xyz/core';
5
5
  import { buildArtifact as coreBuildArtifact } from '@hyperlane-xyz/core/buildArtifact.js';
6
- import { CCIPContractCache, ChainSubmissionStrategySchema, ContractVerifier, EvmERC20WarpModule, EvmERC20WarpRouteReader, EvmHookModule, EvmIsmModule, ExplorerLicenseType, HypERC20Deployer, HypERC721Deployer, HyperlaneProxyFactoryDeployer, IsmType, TOKEN_TYPE_TO_STANDARD, TxSubmitterType, WarpCoreConfigSchema, WarpRouteDeployConfigSchema, attachContractsMap, connectContractsMap, getTokenConnectionId, hypERC20factories, isCollateralTokenConfig, isTokenMetadata, isXERC20TokenConfig, } from '@hyperlane-xyz/sdk';
7
- import { ProtocolType, assert, objFilter, objKeys, objMap, promiseObjAll, retryAsync, } from '@hyperlane-xyz/utils';
6
+ import { CCIPContractCache, ChainSubmissionStrategySchema, ContractVerifier, EvmERC20WarpModule, EvmHookModule, EvmIsmModule, ExplorerLicenseType, HypERC20Deployer, HypERC721Deployer, HyperlaneProxyFactoryDeployer, IsmType, TOKEN_TYPE_TO_STANDARD, TxSubmitterType, WarpCoreConfigSchema, WarpRouteDeployConfigSchema, attachContractsMap, connectContractsMap, expandWarpDeployConfig, extractIsmAndHookFactoryAddresses, getRouterAddressesFromWarpCoreConfig, getTokenConnectionId, hypERC20factories, isCollateralTokenConfig, isTokenMetadata, isXERC20TokenConfig, splitWarpCoreAndExtendedConfigs, } from '@hyperlane-xyz/sdk';
7
+ import { ProtocolType, assert, objMap, promiseObjAll, retryAsync, } from '@hyperlane-xyz/utils';
8
8
  import { readWarpRouteDeployConfig } from '../config/warp.js';
9
9
  import { MINIMUM_WARP_DEPLOY_GAS } from '../consts.js';
10
10
  import { requestAndSaveApiKeys } from '../context/context.js';
@@ -126,20 +126,11 @@ async function createWarpIsm({ ccipContractCache, chain, chainAddresses, context
126
126
  logBlue(`Loading registry factory addresses for ${chain}...`);
127
127
  logGray(`Creating ${interchainSecurityModule.type} ISM for token on ${chain} chain...`);
128
128
  logGreen(`Finished creating ${interchainSecurityModule.type} ISM for token on ${chain} chain.`);
129
- const { mailbox, domainRoutingIsmFactory, staticAggregationHookFactory, staticAggregationIsmFactory, staticMerkleRootMultisigIsmFactory, staticMessageIdMultisigIsmFactory, staticMerkleRootWeightedMultisigIsmFactory, staticMessageIdWeightedMultisigIsmFactory, } = chainAddresses;
130
129
  const evmIsmModule = await EvmIsmModule.create({
131
130
  chain,
132
- mailbox,
131
+ mailbox: chainAddresses.mailbox,
133
132
  multiProvider: context.multiProvider,
134
- proxyFactoryFactories: {
135
- domainRoutingIsmFactory,
136
- staticAggregationHookFactory,
137
- staticAggregationIsmFactory,
138
- staticMerkleRootMultisigIsmFactory,
139
- staticMessageIdMultisigIsmFactory,
140
- staticMerkleRootWeightedMultisigIsmFactory,
141
- staticMessageIdWeightedMultisigIsmFactory,
142
- },
133
+ proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
143
134
  config: interchainSecurityModule,
144
135
  ccipContractCache,
145
136
  contractVerifier,
@@ -155,16 +146,6 @@ async function createWarpHook({ ccipContractCache, chain, chainAddresses, contex
155
146
  }
156
147
  logBlue(`Loading registry factory addresses for ${chain}...`);
157
148
  logGray(`Creating ${hook.type} Hook for token on ${chain} chain...`);
158
- const { mailbox, domainRoutingIsmFactory, staticAggregationHookFactory, staticAggregationIsmFactory, staticMerkleRootMultisigIsmFactory, staticMessageIdMultisigIsmFactory, staticMerkleRootWeightedMultisigIsmFactory, staticMessageIdWeightedMultisigIsmFactory, } = chainAddresses;
159
- const proxyFactoryFactories = {
160
- domainRoutingIsmFactory,
161
- staticAggregationHookFactory,
162
- staticAggregationIsmFactory,
163
- staticMerkleRootMultisigIsmFactory,
164
- staticMessageIdMultisigIsmFactory,
165
- staticMerkleRootWeightedMultisigIsmFactory,
166
- staticMessageIdWeightedMultisigIsmFactory,
167
- };
168
149
  // If config.proxyadmin.address exists, then use that. otherwise deploy a new proxyAdmin
169
150
  const proxyAdminAddress = warpConfig.proxyAdmin?.address ??
170
151
  (await context.multiProvider.handleDeploy(chain, new ProxyAdmin__factory(), [])).address;
@@ -172,26 +153,26 @@ async function createWarpHook({ ccipContractCache, chain, chainAddresses, contex
172
153
  chain,
173
154
  multiProvider: context.multiProvider,
174
155
  coreAddresses: {
175
- mailbox,
156
+ mailbox: chainAddresses.mailbox,
176
157
  proxyAdmin: proxyAdminAddress,
177
158
  },
178
159
  config: hook,
179
160
  ccipContractCache,
180
161
  contractVerifier,
181
- proxyFactoryFactories,
162
+ proxyFactoryFactories: extractIsmAndHookFactoryAddresses(chainAddresses),
182
163
  });
183
164
  logGreen(`Finished creating ${hook.type} Hook for token on ${chain} chain.`);
184
165
  const { deployedHook } = evmHookModule.serialize();
185
166
  return deployedHook;
186
167
  }
187
- async function getWarpCoreConfig({ warpDeployConfig, context }, contracts) {
168
+ async function getWarpCoreConfig(params, contracts) {
188
169
  const warpCoreConfig = { tokens: [] };
189
170
  // TODO: replace with warp read
190
- const tokenMetadata = await HypERC20Deployer.deriveTokenMetadata(context.multiProvider, warpDeployConfig);
171
+ const tokenMetadata = await HypERC20Deployer.deriveTokenMetadata(params.context.multiProvider, params.warpDeployConfig);
191
172
  assert(tokenMetadata && isTokenMetadata(tokenMetadata), 'Missing required token metadata');
192
173
  const { decimals, symbol, name } = tokenMetadata;
193
174
  assert(decimals, 'Missing decimals on token metadata');
194
- generateTokenConfigs(warpCoreConfig, warpDeployConfig, contracts, symbol, name, decimals);
175
+ generateTokenConfigs(warpCoreConfig, params.warpDeployConfig, contracts, symbol, name, decimals);
195
176
  fullyConnectTokens(warpCoreConfig);
196
177
  return { warpCoreConfig, addWarpRouteOptions: { symbol } };
197
178
  }
@@ -240,70 +221,98 @@ export async function runWarpRouteApply(params) {
240
221
  const { chainMetadata, skipConfirmation } = context;
241
222
  WarpRouteDeployConfigSchema.parse(warpDeployConfig);
242
223
  WarpCoreConfigSchema.parse(warpCoreConfig);
243
- const warpCoreConfigByChain = Object.fromEntries(warpCoreConfig.tokens.map((token) => [token.chainName, token]));
244
224
  const chains = Object.keys(warpDeployConfig);
245
225
  let apiKeys = {};
246
226
  if (!skipConfirmation)
247
227
  apiKeys = await requestAndSaveApiKeys(chains, chainMetadata, context.registry);
248
- const transactions = [
249
- ...(await extendWarpRoute(params, apiKeys, warpDeployConfig, warpCoreConfigByChain)),
250
- ...(await updateExistingWarpRoute(params, apiKeys, warpDeployConfig, warpCoreConfigByChain)),
251
- ];
228
+ // Extend the warp route and get the updated configs
229
+ const updatedWarpCoreConfig = await extendWarpRoute(params, apiKeys, warpCoreConfig);
230
+ // Then create and submit update transactions
231
+ const transactions = await updateExistingWarpRoute(params, apiKeys, warpDeployConfig, updatedWarpCoreConfig);
252
232
  if (transactions.length == 0)
253
233
  return logGreen(`Warp config is the same as target. No updates needed.`);
254
234
  await submitWarpApplyTransactions(params, groupBy(transactions, 'chainId'));
255
235
  }
256
- async function extendWarpRoute(params, apiKeys, warpDeployConfig, warpCoreConfigByChain) {
257
- const { multiProvider } = params.context;
258
- const warpCoreChains = Object.keys(warpCoreConfigByChain);
259
- // Split between the existing and additional config
260
- const existingConfigs = objFilter(warpDeployConfig, (chain, _config) => warpCoreChains.includes(chain));
261
- let extendedConfigs = objFilter(warpDeployConfig, (chain, _config) => !warpCoreChains.includes(chain));
262
- const extendedChains = Object.keys(extendedConfigs);
263
- if (extendedChains.length === 0)
264
- return [];
265
- logBlue(`Extending Warp Route to ${extendedChains.join(', ')}`);
266
- extendedConfigs = await deriveMetadataFromExisting(multiProvider, existingConfigs, extendedConfigs);
236
+ /**
237
+ * Handles the deployment and configuration of new contracts for extending a Warp route.
238
+ * This function performs several key steps:
239
+ * 1. Derives metadata from existing contracts and applies it to new configurations
240
+ * 2. Deploys new contracts using the derived configurations
241
+ * 3. Merges existing and new router configurations
242
+ * 4. Generates an updated Warp core configuration
243
+ */
244
+ async function deployWarpExtensionContracts(params, apiKeys, existingConfigs, initialExtendedConfigs, warpCoreConfigByChain) {
245
+ // Deploy new contracts with derived metadata
246
+ const extendedConfigs = await deriveMetadataFromExisting(params.context.multiProvider, existingConfigs, initialExtendedConfigs);
267
247
  const newDeployedContracts = await executeDeploy({
268
248
  context: params.context,
269
249
  warpDeployConfig: extendedConfigs,
270
250
  }, apiKeys);
271
- const mergedRouters = mergeAllRouters(multiProvider, existingConfigs, newDeployedContracts, warpCoreConfigByChain);
251
+ // Merge existing and new routers
252
+ const mergedRouters = mergeAllRouters(params.context.multiProvider, existingConfigs, newDeployedContracts, warpCoreConfigByChain);
253
+ // Get the updated core config
272
254
  const { warpCoreConfig: updatedWarpCoreConfig, addWarpRouteOptions } = await getWarpCoreConfig(params, mergedRouters);
273
255
  WarpCoreConfigSchema.parse(updatedWarpCoreConfig);
274
- await writeDeploymentArtifacts(updatedWarpCoreConfig, params.context, addWarpRouteOptions);
275
- return enrollRemoteRouters(params, mergedRouters);
256
+ return {
257
+ newDeployedContracts,
258
+ updatedWarpCoreConfig,
259
+ addWarpRouteOptions,
260
+ };
276
261
  }
277
- async function updateExistingWarpRoute(params, apiKeys, warpDeployConfig, warpCoreConfigByChain) {
262
+ /**
263
+ * Extends an existing Warp route to include new chains.
264
+ * This function manages the entire extension workflow:
265
+ * 1. Divides the configuration into existing and new chain segments.
266
+ * 2. Returns the current configuration if no new chains are added.
267
+ * 3. Deploys and sets up new contracts for the additional chains.
268
+ * 4. Refreshes the Warp core configuration with updated token details.
269
+ * 5. Saves the revised artifacts to the registry.
270
+ */
271
+ export async function extendWarpRoute(params, apiKeys, warpCoreConfig) {
272
+ const { context, warpDeployConfig } = params;
273
+ const warpCoreConfigByChain = Object.fromEntries(warpCoreConfig.tokens.map((token) => [token.chainName, token]));
274
+ const warpCoreChains = Object.keys(warpCoreConfigByChain);
275
+ // Split between the existing and additional config
276
+ const [existingConfigs, initialExtendedConfigs] = splitWarpCoreAndExtendedConfigs(warpDeployConfig, warpCoreChains);
277
+ const extendedChains = Object.keys(initialExtendedConfigs);
278
+ if (extendedChains.length === 0) {
279
+ return warpCoreConfig;
280
+ }
281
+ logBlue(`Extending Warp Route to ${extendedChains.join(', ')}`);
282
+ // Deploy new contracts with derived metadata and merge with existing config
283
+ const { updatedWarpCoreConfig, addWarpRouteOptions } = await deployWarpExtensionContracts(params, apiKeys, existingConfigs, initialExtendedConfigs, warpCoreConfigByChain);
284
+ // Write the updated artifacts
285
+ await writeDeploymentArtifacts(updatedWarpCoreConfig, context, addWarpRouteOptions);
286
+ return updatedWarpCoreConfig;
287
+ }
288
+ // Updates Warp routes with new configurations.
289
+ async function updateExistingWarpRoute(params, apiKeys, warpDeployConfig, warpCoreConfig) {
278
290
  logBlue('Updating deployed Warp Routes');
279
291
  const { multiProvider, registry } = params.context;
280
292
  const registryAddresses = (await registry.getAddresses());
281
293
  const ccipContractCache = new CCIPContractCache(registryAddresses);
282
294
  const contractVerifier = new ContractVerifier(multiProvider, apiKeys, coreBuildArtifact, ExplorerLicenseType.MIT);
283
295
  const transactions = [];
284
- await promiseObjAll(objMap(warpDeployConfig, async (chain, config) => {
296
+ // Get all deployed router addresses
297
+ const deployedRoutersAddresses = getRouterAddressesFromWarpCoreConfig(warpCoreConfig);
298
+ const expandedWarpDeployConfig = await expandWarpDeployConfig(multiProvider, warpDeployConfig, deployedRoutersAddresses);
299
+ await promiseObjAll(objMap(expandedWarpDeployConfig, async (chain, config) => {
285
300
  await retryAsync(async () => {
286
- logGray(`Update existing warp route for chain ${chain}`);
287
- const deployedConfig = warpCoreConfigByChain[chain];
288
- if (!deployedConfig)
289
- return logGray(`Missing artifacts for ${chain}. Probably new deployment. Skipping update...`);
290
- const deployedTokenRoute = deployedConfig.addressOrDenom;
291
- const { domainRoutingIsmFactory, staticMerkleRootMultisigIsmFactory, staticMessageIdMultisigIsmFactory, staticAggregationIsmFactory, staticAggregationHookFactory, staticMerkleRootWeightedMultisigIsmFactory, staticMessageIdWeightedMultisigIsmFactory, } = registryAddresses[chain];
301
+ const deployedTokenRoute = deployedRoutersAddresses[chain];
302
+ assert(deployedTokenRoute, `Missing artifacts for ${chain}.`);
303
+ const configWithMailbox = {
304
+ ...config,
305
+ mailbox: registryAddresses[chain].mailbox,
306
+ };
292
307
  const evmERC20WarpModule = new EvmERC20WarpModule(multiProvider, {
293
- config,
308
+ config: configWithMailbox,
294
309
  chain,
295
310
  addresses: {
296
311
  deployedTokenRoute,
297
- staticMerkleRootMultisigIsmFactory,
298
- staticMessageIdMultisigIsmFactory,
299
- staticAggregationIsmFactory,
300
- staticAggregationHookFactory,
301
- domainRoutingIsmFactory,
302
- staticMerkleRootWeightedMultisigIsmFactory,
303
- staticMessageIdWeightedMultisigIsmFactory,
312
+ ...extractIsmAndHookFactoryAddresses(registryAddresses[chain]),
304
313
  },
305
314
  }, ccipContractCache, contractVerifier);
306
- transactions.push(...(await evmERC20WarpModule.update(config)));
315
+ transactions.push(...(await evmERC20WarpModule.update(configWithMailbox)));
307
316
  });
308
317
  }));
309
318
  return transactions;
@@ -342,97 +351,6 @@ function mergeAllRouters(multiProvider, existingConfigs, deployedContractsMap, w
342
351
  ...deployedContractsMap,
343
352
  };
344
353
  }
345
- /**
346
- * Enroll all deployed routers with each other.
347
- *
348
- * @param deployedContractsMap - A map of deployed Hyperlane contracts by chain.
349
- * @param multiProvider - A MultiProvider instance to interact with multiple chains.
350
- */
351
- async function enrollRemoteRouters(params, deployedContractsMap) {
352
- logBlue(`Enrolling deployed routers with each other...`);
353
- const { multiProvider, registry } = params.context;
354
- const registryAddresses = await registry.getAddresses();
355
- const deployedRoutersAddresses = objMap(deployedContractsMap, (_, contracts) => getRouter(contracts).address);
356
- const deployedDestinationGas = await populateDestinationGas(multiProvider, params.warpDeployConfig, deployedContractsMap);
357
- const deployedChains = Object.keys(deployedRoutersAddresses);
358
- const transactions = [];
359
- await promiseObjAll(objMap(deployedContractsMap, async (chain, contracts) => {
360
- await retryAsync(async () => {
361
- const router = getRouter(contracts); // Assume deployedContract always has 1 value
362
- const deployedTokenRoute = router.address;
363
- // Mutate the config.remoteRouters by setting it to all other routers to update
364
- const warpRouteReader = new EvmERC20WarpRouteReader(multiProvider, chain);
365
- const mutatedWarpRouteConfig = await warpRouteReader.deriveWarpRouteConfig(deployedTokenRoute);
366
- const { domainRoutingIsmFactory, staticMerkleRootMultisigIsmFactory, staticMessageIdMultisigIsmFactory, staticAggregationIsmFactory, staticAggregationHookFactory, staticMerkleRootWeightedMultisigIsmFactory, staticMessageIdWeightedMultisigIsmFactory, } = registryAddresses[chain];
367
- const evmERC20WarpModule = new EvmERC20WarpModule(multiProvider, {
368
- config: mutatedWarpRouteConfig,
369
- chain,
370
- addresses: {
371
- deployedTokenRoute,
372
- staticMerkleRootMultisigIsmFactory,
373
- staticMessageIdMultisigIsmFactory,
374
- staticAggregationIsmFactory,
375
- staticAggregationHookFactory,
376
- domainRoutingIsmFactory,
377
- staticMerkleRootWeightedMultisigIsmFactory,
378
- staticMessageIdWeightedMultisigIsmFactory,
379
- },
380
- });
381
- const otherChains = multiProvider
382
- .getRemoteChains(chain)
383
- .filter((c) => deployedChains.includes(c));
384
- mutatedWarpRouteConfig.remoteRouters =
385
- otherChains.reduce((remoteRouters, otherChain) => {
386
- remoteRouters[multiProvider.getDomainId(otherChain)] = {
387
- address: deployedRoutersAddresses[otherChain],
388
- };
389
- return remoteRouters;
390
- }, {});
391
- mutatedWarpRouteConfig.destinationGas =
392
- otherChains.reduce((destinationGas, otherChain) => {
393
- const otherChainDomain = multiProvider.getDomainId(otherChain);
394
- destinationGas[otherChainDomain] =
395
- deployedDestinationGas[otherChainDomain];
396
- return destinationGas;
397
- }, {});
398
- const mutatedConfigTxs = await evmERC20WarpModule.update(mutatedWarpRouteConfig);
399
- if (mutatedConfigTxs.length == 0)
400
- return logGreen(`Warp config on ${chain} is the same as target. No updates needed.`);
401
- transactions.push(...mutatedConfigTxs);
402
- });
403
- }));
404
- return transactions;
405
- }
406
- /**
407
- * Populates the destination gas amounts for each chain using warpConfig.gas OR querying other router's destinationGas
408
- */
409
- async function populateDestinationGas(multiProvider, warpDeployConfig, deployedContractsMap) {
410
- const destinationGas = {};
411
- const deployedChains = Object.keys(deployedContractsMap);
412
- await promiseObjAll(objMap(deployedContractsMap, async (chain, contracts) => {
413
- await retryAsync(async () => {
414
- const router = getRouter(contracts);
415
- const otherChains = multiProvider
416
- .getRemoteChains(chain)
417
- .filter((c) => deployedChains.includes(c));
418
- for (const otherChain of otherChains) {
419
- const otherDomain = multiProvider.getDomainId(otherChain);
420
- if (!destinationGas[otherDomain])
421
- destinationGas[otherDomain] =
422
- warpDeployConfig[otherChain].gas?.toString() ||
423
- (await router.destinationGas(otherDomain)).toString();
424
- }
425
- });
426
- }));
427
- return destinationGas;
428
- }
429
- function getRouter(contracts) {
430
- for (const key of objKeys(hypERC20factories)) {
431
- if (contracts[key])
432
- return contracts[key];
433
- }
434
- throw new Error('No matching contract found.');
435
- }
436
354
  function displayWarpDeployPlan(deployConfig) {
437
355
  logBlue('\nWarp Route Deployment Plan');
438
356
  logGray('==========================');