@hyperlane-xyz/cli 9.1.0 → 9.2.1

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 (27) hide show
  1. package/dist/src/status/message.d.ts.map +1 -1
  2. package/dist/src/status/message.js +10 -3
  3. package/dist/src/status/message.js.map +1 -1
  4. package/dist/src/tests/commands/helpers.d.ts.map +1 -1
  5. package/dist/src/tests/commands/helpers.js +0 -1
  6. package/dist/src/tests/commands/helpers.js.map +1 -1
  7. package/dist/src/tests/warp/warp-apply.e2e-test.js +0 -1
  8. package/dist/src/tests/warp/warp-apply.e2e-test.js.map +1 -1
  9. package/dist/src/tests/warp/warp-extend-basic.e2e-test.d.ts +2 -0
  10. package/dist/src/tests/warp/warp-extend-basic.e2e-test.d.ts.map +1 -0
  11. package/dist/src/tests/warp/warp-extend-basic.e2e-test.js +172 -0
  12. package/dist/src/tests/warp/warp-extend-basic.e2e-test.js.map +1 -0
  13. package/dist/src/tests/warp/warp-extend-config.e2e-test.d.ts +2 -0
  14. package/dist/src/tests/warp/warp-extend-config.e2e-test.d.ts.map +1 -0
  15. package/dist/src/tests/warp/warp-extend-config.e2e-test.js +115 -0
  16. package/dist/src/tests/warp/warp-extend-config.e2e-test.js.map +1 -0
  17. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.d.ts +2 -0
  18. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.d.ts.map +1 -0
  19. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.js +167 -0
  20. package/dist/src/tests/warp/warp-extend-recovery.e2e-test.js.map +1 -0
  21. package/dist/src/version.d.ts +1 -1
  22. package/dist/src/version.js +1 -1
  23. package/package.json +4 -4
  24. package/dist/src/tests/warp/warp-apply-extend.e2e-test.d.ts +0 -2
  25. package/dist/src/tests/warp/warp-apply-extend.e2e-test.d.ts.map +0 -1
  26. package/dist/src/tests/warp/warp-apply-extend.e2e-test.js +0 -419
  27. package/dist/src/tests/warp/warp-apply-extend.e2e-test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmC,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1D,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,iBAwEA"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAmC,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK1D,wBAAsB,kBAAkB,CAAC,EACvC,OAAO,EACP,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE;IACD,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,iBA8EA"}
@@ -41,9 +41,16 @@ export async function checkMessageStatus({ context, messageId, origin, selfRelay
41
41
  log(`Checking status of message ${message.id} on ${message.parsed.destinationChain}`);
42
42
  const delivered = await core.isDelivered(message);
43
43
  if (delivered) {
44
- const processedReceipt = await core.getProcessedReceipt(message);
45
- const url = context.multiProvider.getExplorerTxUrl(message.parsed.destination, { hash: processedReceipt.transactionHash });
46
- logGreen(`Message ${message.id} was delivered in ${url}`);
44
+ try {
45
+ const processedReceipt = await core.getProcessedReceipt(message);
46
+ const hash = processedReceipt.transactionHash;
47
+ const url = context.multiProvider.tryGetExplorerTxUrl(message.parsed.destination, { hash });
48
+ logGreen(`Message ${message.id} was delivered in ${url || hash}`);
49
+ }
50
+ catch (error) {
51
+ logRed(`Failed to fetch processed receipt: ${error}`);
52
+ logGreen(`Message ${message.id} was delivered`);
53
+ }
47
54
  }
48
55
  else {
49
56
  logBlue(`Message ${message.id} was not yet delivered`);
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/status/message.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/tests/commands/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/tests/commands/helpers.ts"],"names":[],"mappings":";;AACA,OAAO,EAAK,aAAa,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEtD,OAAO,EACL,SAAS,EAGT,iBAAiB,EAEjB,YAAY,EAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,oBAAoB,EAIrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAS,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAWxD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AACtD,eAAO,MAAM,aAAa,yBAAmC,CAAC;AAC9D,eAAO,MAAM,SAAS,SAAS,CAAC;AAEhC,eAAO,MAAM,SAAS,uEACgD,CAAC;AACvE,eAAO,MAAM,qBAAqB,+CACY,CAAC;AAE/C,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,gBAAgB,gCAAsC,CAAC;AACpE,eAAO,MAAM,kBAAkB,iCAAkD,CAAC;AAClF,eAAO,MAAM,uBAAuB,sCAAuD,CAAC;AAC5F,eAAO,MAAM,qBAAqB,qDAA0D,CAAC;AAC7F,eAAO,MAAM,qBAAqB,qDAA0D,CAAC;AAE7F,eAAO,MAAM,wBAAwB,0CAAgD,CAAC;AACtF,eAAO,MAAM,kBAAkB,kDAAmE,CAAC;AACnG,eAAO,MAAM,uBAAuB,oCAA4C,CAAC;AACjF,eAAO,MAAM,uBAAuB,wEAAoE,CAAC;AAEzG,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EAAE,GACf,MAAM,CAKR;AAED,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAEhD,oBAAY,YAAY;IACtB,UAAU,aAAW;IACrB,QAAQ,aAAW;IACnB,KAAK,OAAO;IACZ,GAAG,OAAO;CACX;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,CAAC,cAAc,EAC7B,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,EACxC,OAAO,EAAE,gBAAgB,EAAE,GAC1B,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED,eAAO,MAAM,qCAAqC,QAE5B,CAAC;AAEvB,eAAO,MAAM,mDAAmD,QAE1C,CAAC;AAEvB,eAAO,MAAM,8BAA8B,EAAE,gBAK5C,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,aAAa,CAAC,gBAAgB,CAY1E,CAAC;AAEJ,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,gBAAgB,CAIlE,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,aAAa,CAAC,gBAAgB,CAiB5E,CAAC;AAEJ;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,iBAKzE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,MAAM,0BAI3B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,oBAAoB,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBlB;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,eAAe,EAAE,cAAc,GAC9B,OAAO,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,cAAc,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC,CAsED;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,mCAcZ;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,SAAK,EACb,MAAM,SAAU,GACf,OAAO,CAAC,SAAS,CAAC,CAoBpB;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,sDAgBrB;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,SAAK,EACb,MAAM,SAAU,GACf,OAAO,CAAC,YAAY,CAAC,CAoBvB;AAED,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,0BAI3B;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,0BASpB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,kBAQ/D"}
@@ -149,7 +149,6 @@ export async function setupIncompleteWarpRouteExtension(chain2Addresses) {
149
149
  name: 'Ether',
150
150
  owner: new Wallet(ANVIL_KEY).address,
151
151
  symbol: 'ETH',
152
- totalSupply: 0,
153
152
  type: TokenType.native,
154
153
  };
155
154
  const context = await getContext({
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/tests/commands/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/tests/commands/helpers.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,6 @@ describe('hyperlane warp apply owner update tests', async function () {
63
63
  name: 'Ether',
64
64
  owner: new Wallet(ANVIL_KEY).address,
65
65
  symbol: 'ETH',
66
- totalSupply: 0,
67
66
  type: TokenType.native,
68
67
  };
69
68
  await extendWarpConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"warp-apply.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-apply.e2e-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp-apply.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-apply.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warp-extend-basic.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-extend-basic.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-basic.e2e-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ import { expect } from 'chai';
2
+ import { Wallet } from 'ethers';
3
+ import { TokenType, } from '@hyperlane-xyz/sdk';
4
+ import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
5
+ import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, E2E_TEST_BURN_ADDRESS, EXAMPLES_PATH, TEMP_PATH, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, deployOrUseExistingCore, extendWarpConfig, getCombinedWarpRoutePath, getDomainId, } from '../commands/helpers.js';
6
+ import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
7
+ describe('hyperlane warp apply basic extension tests', async function () {
8
+ this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
9
+ let chain2Addresses = {};
10
+ before(async function () {
11
+ await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
12
+ chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
13
+ // Create a new warp config using the example
14
+ const warpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
15
+ const anvil2Config = { anvil2: { ...warpConfig.anvil1 } };
16
+ writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
17
+ });
18
+ beforeEach(async function () {
19
+ await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
20
+ });
21
+ it('should extend an existing warp route', async () => {
22
+ // Read existing config into a file
23
+ const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
24
+ await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
25
+ // Extend with new config
26
+ const config = {
27
+ decimals: 18,
28
+ mailbox: chain2Addresses.mailbox,
29
+ name: 'Ether',
30
+ owner: new Wallet(ANVIL_KEY).address,
31
+ symbol: 'ETH',
32
+ type: TokenType.native,
33
+ };
34
+ await extendWarpConfig({
35
+ chain: CHAIN_NAME_2,
36
+ chainToExtend: CHAIN_NAME_3,
37
+ extendedConfig: config,
38
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
39
+ warpDeployPath: warpConfigPath,
40
+ });
41
+ const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
42
+ CHAIN_NAME_2,
43
+ CHAIN_NAME_3,
44
+ ]);
45
+ // Check that chain2 is enrolled in chain1
46
+ const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
47
+ const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
48
+ const remoteRouterKeys1 = Object.keys(updatedWarpDeployConfig1[CHAIN_NAME_2].remoteRouters);
49
+ expect(remoteRouterKeys1).to.include(chain2Id);
50
+ // Check that chain1 is enrolled in chain2
51
+ const updatedWarpDeployConfig2 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
52
+ const chain1Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
53
+ const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
54
+ expect(remoteRouterKeys2).to.include(chain1Id);
55
+ });
56
+ it('should extend an existing warp route with json strategy', async () => {
57
+ // Read existing config into a file
58
+ const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
59
+ await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
60
+ // Extend with new config
61
+ const config = {
62
+ decimals: 18,
63
+ mailbox: chain2Addresses.mailbox,
64
+ name: 'Ether',
65
+ owner: new Wallet(ANVIL_KEY).address,
66
+ symbol: 'ETH',
67
+ type: TokenType.native,
68
+ };
69
+ await extendWarpConfig({
70
+ chain: CHAIN_NAME_2,
71
+ chainToExtend: CHAIN_NAME_3,
72
+ extendedConfig: config,
73
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
74
+ warpDeployPath: warpConfigPath,
75
+ strategyUrl: `${EXAMPLES_PATH}/submit/strategy/json-rpc-chain-strategy.yaml`,
76
+ });
77
+ const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
78
+ CHAIN_NAME_2,
79
+ CHAIN_NAME_3,
80
+ ]);
81
+ // Check that chain2 is enrolled in chain1
82
+ const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
83
+ const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
84
+ const remoteRouterKeys1 = Object.keys(updatedWarpDeployConfig1[CHAIN_NAME_2].remoteRouters);
85
+ expect(remoteRouterKeys1).to.include(chain2Id);
86
+ // Check that chain1 is enrolled in chain2
87
+ const updatedWarpDeployConfig2 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
88
+ const chain1Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
89
+ const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
90
+ expect(remoteRouterKeys2).to.include(chain1Id);
91
+ });
92
+ it('should extend an existing warp route and update the owner', async () => {
93
+ const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
94
+ // Burn anvil2 owner in config
95
+ const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
96
+ warpDeployConfig[CHAIN_NAME_2].owner = E2E_TEST_BURN_ADDRESS;
97
+ // Extend with new config
98
+ const randomOwner = new Wallet(ANVIL_KEY).address;
99
+ const extendedConfig = {
100
+ decimals: 18,
101
+ mailbox: chain2Addresses.mailbox,
102
+ name: 'Ether',
103
+ owner: randomOwner,
104
+ symbol: 'ETH',
105
+ type: TokenType.native,
106
+ };
107
+ // Remove remoteRouters and destinationGas as they are written in readWarpConfig
108
+ warpDeployConfig[CHAIN_NAME_2].remoteRouters = undefined;
109
+ warpDeployConfig[CHAIN_NAME_2].destinationGas = undefined;
110
+ warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
111
+ writeYamlOrJson(warpDeployPath, warpDeployConfig);
112
+ await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
113
+ const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
114
+ CHAIN_NAME_2,
115
+ CHAIN_NAME_3,
116
+ ]);
117
+ const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
118
+ const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
119
+ // Check that anvil2 owner is burned
120
+ expect(updatedWarpDeployConfig_2.anvil2.owner).to.equal(E2E_TEST_BURN_ADDRESS);
121
+ // Also, anvil3 owner is not burned
122
+ expect(updatedWarpDeployConfig_3.anvil3.owner).to.equal(randomOwner);
123
+ // Check that both chains enrolled
124
+ const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
125
+ const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
126
+ const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig_2[CHAIN_NAME_2].remoteRouters);
127
+ const remoteRouterKeys3 = Object.keys(updatedWarpDeployConfig_3[CHAIN_NAME_3].remoteRouters);
128
+ expect(remoteRouterKeys2).to.include(chain3Id);
129
+ expect(remoteRouterKeys3).to.include(chain2Id);
130
+ });
131
+ it('should extend an existing warp route and update all destination domains', async () => {
132
+ // Read existing config into a file
133
+ const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
134
+ const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
135
+ warpDeployConfig[CHAIN_NAME_2].gas = 7777;
136
+ // Extend with new config
137
+ const GAS = 694200;
138
+ const extendedConfig = {
139
+ decimals: 18,
140
+ mailbox: chain2Addresses.mailbox,
141
+ name: 'Ether',
142
+ owner: new Wallet(ANVIL_KEY).address,
143
+ symbol: 'ETH',
144
+ type: TokenType.native,
145
+ gas: GAS,
146
+ };
147
+ // Remove remoteRouters and destinationGas as they are written in readWarpConfig
148
+ warpDeployConfig[CHAIN_NAME_2].remoteRouters = undefined;
149
+ warpDeployConfig[CHAIN_NAME_2].destinationGas = undefined;
150
+ warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
151
+ writeYamlOrJson(warpConfigPath, warpDeployConfig);
152
+ await hyperlaneWarpApply(warpConfigPath, WARP_CORE_CONFIG_PATH_2);
153
+ const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
154
+ CHAIN_NAME_2,
155
+ CHAIN_NAME_3,
156
+ ]);
157
+ // Check that chain2 is enrolled in chain1
158
+ const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
159
+ const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
160
+ const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
161
+ // Destination gas should be set in the existing chain (chain2) to include the extended chain (chain3)
162
+ const destinationGas_2 = updatedWarpDeployConfig_2[CHAIN_NAME_2].destinationGas;
163
+ expect(Object.keys(destinationGas_2)).to.include(chain3Id);
164
+ expect(destinationGas_2[chain3Id]).to.equal(GAS.toString());
165
+ // Destination gas should be set for the extended chain (chain3)
166
+ const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
167
+ const destinationGas_3 = updatedWarpDeployConfig_3[CHAIN_NAME_3].destinationGas;
168
+ expect(Object.keys(destinationGas_3)).to.include(chain2Id);
169
+ expect(destinationGas_3[chain2Id]).to.equal('7777');
170
+ });
171
+ });
172
+ //# sourceMappingURL=warp-extend-basic.e2e-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-extend-basic.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-basic.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warp-extend-config.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-extend-config.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-config.e2e-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,115 @@
1
+ import { expect } from 'chai';
2
+ import { Wallet } from 'ethers';
3
+ import { TokenType, normalizeConfig, randomAddress, } from '@hyperlane-xyz/sdk';
4
+ import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
5
+ import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, TEMP_PATH, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, deployOrUseExistingCore, extendWarpConfig, getDomainId, } from '../commands/helpers.js';
6
+ import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
7
+ describe('hyperlane warp apply config extension tests', async function () {
8
+ this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
9
+ let chain2Addresses = {};
10
+ before(async function () {
11
+ await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
12
+ chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
13
+ // Create a new warp config using the example
14
+ const warpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
15
+ const anvil2Config = { anvil2: { ...warpConfig.anvil1 } };
16
+ writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
17
+ });
18
+ beforeEach(async function () {
19
+ await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
20
+ });
21
+ it('should update destination gas configuration', async () => {
22
+ const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
23
+ // Extend with new config
24
+ const config = {
25
+ decimals: 18,
26
+ mailbox: chain2Addresses.mailbox,
27
+ name: 'Ether',
28
+ owner: new Wallet(ANVIL_KEY).address,
29
+ symbol: 'ETH',
30
+ type: TokenType.native,
31
+ };
32
+ await extendWarpConfig({
33
+ chain: CHAIN_NAME_2,
34
+ chainToExtend: CHAIN_NAME_3,
35
+ extendedConfig: config,
36
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
37
+ warpDeployPath,
38
+ });
39
+ // First read the existing config
40
+ const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
41
+ // Get the domain ID for chain 3
42
+ const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
43
+ // Update with new destination gas values
44
+ warpDeployConfig[CHAIN_NAME_2].destinationGas = {
45
+ [chain3Id]: '500000', // Set a specific gas value for chain 3
46
+ };
47
+ // Write the updated config
48
+ await writeYamlOrJson(warpDeployPath, warpDeployConfig);
49
+ // Apply the changes
50
+ await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
51
+ // Read back the config to verify changes
52
+ const updatedConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
53
+ // Verify the destination gas was updated correctly
54
+ expect(updatedConfig[CHAIN_NAME_2].destinationGas[chain3Id]).to.equal('500000');
55
+ });
56
+ it('should update remote routers configuration', async () => {
57
+ const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
58
+ // Extend with new config
59
+ const config = {
60
+ decimals: 18,
61
+ mailbox: chain2Addresses.mailbox,
62
+ name: 'Ether',
63
+ owner: new Wallet(ANVIL_KEY).address,
64
+ symbol: 'ETH',
65
+ type: TokenType.native,
66
+ };
67
+ await extendWarpConfig({
68
+ chain: CHAIN_NAME_2,
69
+ chainToExtend: CHAIN_NAME_3,
70
+ extendedConfig: config,
71
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
72
+ warpDeployPath,
73
+ });
74
+ // First read the existing config
75
+ const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
76
+ // Get the domain ID for chain 3
77
+ const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
78
+ // Generate a new router address to update
79
+ const newRouterAddress = randomAddress();
80
+ // Update with new remote router values
81
+ warpDeployConfig[CHAIN_NAME_2].remoteRouters = {
82
+ [chain3Id]: { address: newRouterAddress }, // Set a new router address for chain 3
83
+ };
84
+ // Write the updated config
85
+ await writeYamlOrJson(warpDeployPath, warpDeployConfig);
86
+ // Apply the changes
87
+ await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
88
+ // Read back the config to verify changes
89
+ const updatedConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
90
+ // Verify the remote router was updated correctly
91
+ expect(updatedConfig[CHAIN_NAME_2].remoteRouters[chain3Id].address.toLowerCase()).to.equal(newRouterAddress.toLowerCase());
92
+ });
93
+ it('should preserve deploy config when extending warp route', async () => {
94
+ const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
95
+ const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
96
+ // Extend with new config for chain 3
97
+ const extendedConfig = {
98
+ decimals: 18,
99
+ mailbox: chain2Addresses.mailbox,
100
+ name: 'Ether',
101
+ owner: new Wallet(ANVIL_KEY).address,
102
+ symbol: 'ETH',
103
+ type: TokenType.native,
104
+ };
105
+ warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
106
+ // Remove remoteRouters and destinationGas as they are written in readWarpConfig
107
+ delete warpDeployConfig[CHAIN_NAME_2].remoteRouters;
108
+ delete warpDeployConfig[CHAIN_NAME_2].destinationGas;
109
+ await writeYamlOrJson(warpDeployPath, warpDeployConfig);
110
+ await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
111
+ const updatedConfig = readYamlOrJson(warpDeployPath);
112
+ expect(normalizeConfig(warpDeployConfig)).to.deep.equal(normalizeConfig(updatedConfig), 'warp deploy config should remain unchanged after extension');
113
+ });
114
+ });
115
+ //# sourceMappingURL=warp-extend-config.e2e-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-extend-config.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-config.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warp-extend-recovery.e2e-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-extend-recovery.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-recovery.e2e-test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,167 @@
1
+ import { expect } from 'chai';
2
+ import { Wallet } from 'ethers';
3
+ import { TokenRouter__factory } from '@hyperlane-xyz/core';
4
+ import { TokenType, } from '@hyperlane-xyz/sdk';
5
+ import { getContext } from '../../context/context.js';
6
+ import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
7
+ import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, REGISTRY_PATH, TEMP_PATH, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, deployOrUseExistingCore, extendWarpConfig, getCombinedWarpRoutePath, getDomainId, setupIncompleteWarpRouteExtension, } from '../commands/helpers.js';
8
+ import { hyperlaneWarpDeploy, readWarpConfig } from '../commands/warp.js';
9
+ describe('hyperlane warp apply recovery extension tests', async function () {
10
+ this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
11
+ let chain2Addresses = {};
12
+ before(async function () {
13
+ await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
14
+ chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
15
+ // Create a new warp config using the example
16
+ const warpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
17
+ const anvil2Config = { anvil2: { ...warpConfig.anvil1 } };
18
+ writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
19
+ });
20
+ beforeEach(async function () {
21
+ await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
22
+ });
23
+ it('should recover and re-enroll routers after direct contract-level unenrollment through TokenRouter interface', async () => {
24
+ const { multiProvider } = await getContext({
25
+ registryUris: [REGISTRY_PATH],
26
+ key: ANVIL_KEY,
27
+ });
28
+ const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
29
+ // Initial setup with chain3 using extendWarpConfig
30
+ await extendWarpConfig({
31
+ chain: CHAIN_NAME_2,
32
+ chainToExtend: CHAIN_NAME_3,
33
+ extendedConfig: {
34
+ decimals: 18,
35
+ mailbox: chain2Addresses.mailbox,
36
+ name: 'Ether',
37
+ owner: new Wallet(ANVIL_KEY).address,
38
+ symbol: 'ETH',
39
+ type: TokenType.native,
40
+ },
41
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
42
+ warpDeployPath: warpConfigPath,
43
+ });
44
+ const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
45
+ CHAIN_NAME_2,
46
+ CHAIN_NAME_3,
47
+ ]);
48
+ const warpCoreConfig = readYamlOrJson(COMBINED_WARP_CORE_CONFIG_PATH);
49
+ const deployedTokenRoute = warpCoreConfig.tokens.find((t) => t.chainName === CHAIN_NAME_2)?.addressOrDenom;
50
+ if (!deployedTokenRoute) {
51
+ throw new Error('Failed to find deployed token route address');
52
+ }
53
+ // Manually call unenrollRemoteRouters
54
+ const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
55
+ const tokenRouter = TokenRouter__factory.connect(deployedTokenRoute, new Wallet(ANVIL_KEY).connect(multiProvider.getProvider(CHAIN_NAME_2)));
56
+ await tokenRouter.unenrollRemoteRouters([chain3Id]);
57
+ // Verify the router was unenrolled
58
+ const beforeRecoveryConfig = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
59
+ expect(Object.keys(beforeRecoveryConfig[CHAIN_NAME_2].remoteRouters || {})).to.not.include(chain3Id.toString());
60
+ // Re-extend to fix the configuration
61
+ await extendWarpConfig({
62
+ chain: CHAIN_NAME_2,
63
+ chainToExtend: CHAIN_NAME_3,
64
+ extendedConfig: {
65
+ decimals: 18,
66
+ mailbox: chain2Addresses.mailbox,
67
+ name: 'Ether',
68
+ owner: new Wallet(ANVIL_KEY).address,
69
+ symbol: 'ETH',
70
+ type: TokenType.native,
71
+ },
72
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
73
+ warpDeployPath: warpConfigPath,
74
+ });
75
+ const recoveredConfig = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
76
+ expect(Object.keys(recoveredConfig[CHAIN_NAME_2].remoteRouters)).to.include(chain3Id.toString());
77
+ });
78
+ it('should complete warp route extension when previous attempt left incomplete enrollment or destination gas settings (second attempt on new combined config)', async () => {
79
+ const { chain2DomainId, chain3DomainId, warpConfigPath, configToExtend, combinedWarpCorePath, } = await setupIncompleteWarpRouteExtension(chain2Addresses);
80
+ // Verify initial state - neither chain should be enrolled in the other
81
+ const initialConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
82
+ const initialConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
83
+ // Check remote routers initial state
84
+ expect(Object.keys(initialConfig2[CHAIN_NAME_2].remoteRouters)).to.not.include(chain3DomainId);
85
+ expect(Object.keys(initialConfig3[CHAIN_NAME_3].remoteRouters)).to.not.include(chain2DomainId);
86
+ // Check destination gas initial state
87
+ expect(Object.keys(initialConfig2[CHAIN_NAME_2].destinationGas || {})).to.not.include(chain3DomainId);
88
+ expect(Object.keys(initialConfig3[CHAIN_NAME_3].destinationGas || {})).to.not.include(chain2DomainId);
89
+ // Complete the extension
90
+ await extendWarpConfig({
91
+ chain: CHAIN_NAME_2,
92
+ chainToExtend: CHAIN_NAME_3,
93
+ extendedConfig: configToExtend,
94
+ warpCorePath: combinedWarpCorePath,
95
+ warpDeployPath: warpConfigPath,
96
+ });
97
+ // Verify both chains are now properly configured
98
+ const finalConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
99
+ const finalConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
100
+ // Check remote routers final state
101
+ expect(Object.keys(finalConfig2[CHAIN_NAME_2].remoteRouters)).to.include(chain3DomainId);
102
+ expect(Object.keys(finalConfig3[CHAIN_NAME_3].remoteRouters)).to.include(chain2DomainId);
103
+ // Check destination gas final state
104
+ expect(Object.keys(finalConfig2[CHAIN_NAME_2].destinationGas)).to.include(chain3DomainId);
105
+ expect(Object.keys(finalConfig3[CHAIN_NAME_3].destinationGas)).to.include(chain2DomainId);
106
+ });
107
+ it('should complete warp route extension when previous attempt left incomplete enrollment or destination gas settings (second attempt with same config)', async () => {
108
+ const { chain2DomainId, chain3DomainId, warpConfigPath, configToExtend, combinedWarpCorePath, } = await setupIncompleteWarpRouteExtension(chain2Addresses);
109
+ // Verify initial state - neither chain should be enrolled in the other
110
+ const initialConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
111
+ const initialConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
112
+ // Check remote routers initial state
113
+ expect(Object.keys(initialConfig2[CHAIN_NAME_2].remoteRouters)).to.not.include(chain3DomainId);
114
+ expect(Object.keys(initialConfig3[CHAIN_NAME_3].remoteRouters)).to.not.include(chain2DomainId);
115
+ // Check destination gas initial state
116
+ expect(Object.keys(initialConfig2[CHAIN_NAME_2].destinationGas || {})).to.not.include(chain3DomainId);
117
+ expect(Object.keys(initialConfig3[CHAIN_NAME_3].destinationGas || {})).to.not.include(chain2DomainId);
118
+ // Complete the extension
119
+ await extendWarpConfig({
120
+ chain: CHAIN_NAME_2,
121
+ chainToExtend: CHAIN_NAME_3,
122
+ extendedConfig: configToExtend,
123
+ warpCorePath: WARP_CORE_CONFIG_PATH_2,
124
+ warpDeployPath: combinedWarpCorePath,
125
+ });
126
+ // Verify both chains are now properly configured
127
+ const finalConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
128
+ const finalConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
129
+ // Check remote routers final state
130
+ expect(Object.keys(finalConfig2[CHAIN_NAME_2].remoteRouters)).to.include(chain3DomainId);
131
+ expect(Object.keys(finalConfig3[CHAIN_NAME_3].remoteRouters)).to.include(chain2DomainId);
132
+ // Check destination gas final state
133
+ expect(Object.keys(finalConfig2[CHAIN_NAME_2].destinationGas)).to.include(chain3DomainId);
134
+ expect(Object.keys(finalConfig3[CHAIN_NAME_3].destinationGas)).to.include(chain2DomainId);
135
+ });
136
+ it('should set correct gas values when completing warp route extension', async () => {
137
+ const { chain2DomainId, chain3DomainId, warpConfigPath, configToExtend, combinedWarpCorePath, } = await setupIncompleteWarpRouteExtension(chain2Addresses);
138
+ // Verify initial state - gas values should not be set
139
+ const initialConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
140
+ const initialConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
141
+ // Check initial gas values
142
+ expect(initialConfig2[CHAIN_NAME_2].destinationGas?.[chain3DomainId]).to.be
143
+ .undefined;
144
+ expect(initialConfig3[CHAIN_NAME_3].destinationGas?.[chain2DomainId]).to.be
145
+ .undefined;
146
+ // Set specific gas values for the extension
147
+ const customGasValue = '300000';
148
+ configToExtend.gas = parseInt(customGasValue);
149
+ // Complete the extension with custom gas value
150
+ await extendWarpConfig({
151
+ chain: CHAIN_NAME_2,
152
+ chainToExtend: CHAIN_NAME_3,
153
+ extendedConfig: configToExtend,
154
+ warpCorePath: combinedWarpCorePath,
155
+ warpDeployPath: warpConfigPath,
156
+ });
157
+ // Verify gas values are correctly set after extension
158
+ const finalConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
159
+ const finalConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
160
+ // Check gas value is set correctly
161
+ expect(finalConfig2[CHAIN_NAME_2].destinationGas[chain3DomainId]).to.equal(customGasValue);
162
+ // Verify remote routers are also properly set
163
+ expect(Object.keys(finalConfig2[CHAIN_NAME_2].remoteRouters)).to.include(chain3DomainId);
164
+ expect(Object.keys(finalConfig3[CHAIN_NAME_3].remoteRouters)).to.include(chain2DomainId);
165
+ });
166
+ });
167
+ //# sourceMappingURL=warp-extend-recovery.e2e-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warp-extend-recovery.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-extend-recovery.e2e-test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "9.1.0";
1
+ export declare const VERSION = "9.2.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const VERSION = '9.1.0';
1
+ export const VERSION = '9.2.1';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cli",
3
- "version": "9.1.0",
3
+ "version": "9.2.1",
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": "10.12.0",
9
- "@hyperlane-xyz/sdk": "9.1.0",
10
- "@hyperlane-xyz/utils": "9.1.0",
8
+ "@hyperlane-xyz/registry": "11.1.0",
9
+ "@hyperlane-xyz/sdk": "9.2.1",
10
+ "@hyperlane-xyz/utils": "9.2.1",
11
11
  "@inquirer/core": "9.0.10",
12
12
  "@inquirer/figures": "1.0.5",
13
13
  "@inquirer/prompts": "3.3.2",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=warp-apply-extend.e2e-test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"warp-apply-extend.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-apply-extend.e2e-test.ts"],"names":[],"mappings":""}
@@ -1,419 +0,0 @@
1
- import { expect } from 'chai';
2
- import { Wallet } from 'ethers';
3
- import { TokenRouter__factory } from '@hyperlane-xyz/core';
4
- import { TokenType, normalizeConfig, randomAddress, } from '@hyperlane-xyz/sdk';
5
- import { getContext } from '../../context/context.js';
6
- import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
7
- import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, E2E_TEST_BURN_ADDRESS, EXAMPLES_PATH, REGISTRY_PATH, TEMP_PATH, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, deployOrUseExistingCore, extendWarpConfig, getCombinedWarpRoutePath, getDomainId, setupIncompleteWarpRouteExtension, } from '../commands/helpers.js';
8
- import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
9
- describe('hyperlane warp apply warp route extension tests', async function () {
10
- this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
11
- let chain2Addresses = {};
12
- before(async function () {
13
- await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
14
- chain2Addresses = await deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY);
15
- // Create a new warp config using the example
16
- const warpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
17
- const anvil2Config = { anvil2: { ...warpConfig.anvil1 } };
18
- writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
19
- });
20
- beforeEach(async function () {
21
- await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
22
- });
23
- it('should extend an existing warp route', async () => {
24
- // Read existing config into a file
25
- const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
26
- await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
27
- // Extend with new config
28
- const config = {
29
- decimals: 18,
30
- mailbox: chain2Addresses.mailbox,
31
- name: 'Ether',
32
- owner: new Wallet(ANVIL_KEY).address,
33
- symbol: 'ETH',
34
- totalSupply: 0,
35
- type: TokenType.native,
36
- };
37
- await extendWarpConfig({
38
- chain: CHAIN_NAME_2,
39
- chainToExtend: CHAIN_NAME_3,
40
- extendedConfig: config,
41
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
42
- warpDeployPath: warpConfigPath,
43
- });
44
- const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
45
- CHAIN_NAME_2,
46
- CHAIN_NAME_3,
47
- ]);
48
- // Check that chain2 is enrolled in chain1
49
- const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
50
- const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
51
- const remoteRouterKeys1 = Object.keys(updatedWarpDeployConfig1[CHAIN_NAME_2].remoteRouters);
52
- expect(remoteRouterKeys1).to.include(chain2Id);
53
- // Check that chain1 is enrolled in chain2
54
- const updatedWarpDeployConfig2 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
55
- const chain1Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
56
- const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
57
- expect(remoteRouterKeys2).to.include(chain1Id);
58
- });
59
- it('should extend an existing warp route with json strategy', async () => {
60
- // Read existing config into a file
61
- const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
62
- await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
63
- // Extend with new config
64
- const config = {
65
- decimals: 18,
66
- mailbox: chain2Addresses.mailbox,
67
- name: 'Ether',
68
- owner: new Wallet(ANVIL_KEY).address,
69
- symbol: 'ETH',
70
- totalSupply: 0,
71
- type: TokenType.native,
72
- };
73
- await extendWarpConfig({
74
- chain: CHAIN_NAME_2,
75
- chainToExtend: CHAIN_NAME_3,
76
- extendedConfig: config,
77
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
78
- warpDeployPath: warpConfigPath,
79
- strategyUrl: `${EXAMPLES_PATH}/submit/strategy/json-rpc-chain-strategy.yaml`,
80
- });
81
- const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
82
- CHAIN_NAME_2,
83
- CHAIN_NAME_3,
84
- ]);
85
- // Check that chain2 is enrolled in chain1
86
- const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
87
- const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
88
- const remoteRouterKeys1 = Object.keys(updatedWarpDeployConfig1[CHAIN_NAME_2].remoteRouters);
89
- expect(remoteRouterKeys1).to.include(chain2Id);
90
- // Check that chain1 is enrolled in chain2
91
- const updatedWarpDeployConfig2 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
92
- const chain1Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
93
- const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig2[CHAIN_NAME_3].remoteRouters);
94
- expect(remoteRouterKeys2).to.include(chain1Id);
95
- });
96
- it('should extend an existing warp route and update the owner', async () => {
97
- const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
98
- // Burn anvil2 owner in config
99
- const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
100
- warpDeployConfig[CHAIN_NAME_2].owner = E2E_TEST_BURN_ADDRESS;
101
- // Extend with new config
102
- const randomOwner = new Wallet(ANVIL_KEY).address;
103
- const extendedConfig = {
104
- decimals: 18,
105
- mailbox: chain2Addresses.mailbox,
106
- name: 'Ether',
107
- owner: randomOwner,
108
- symbol: 'ETH',
109
- totalSupply: 0,
110
- type: TokenType.native,
111
- };
112
- // Remove remoteRouters and destinationGas as they are written in readWarpConfig
113
- warpDeployConfig[CHAIN_NAME_2].remoteRouters = undefined;
114
- warpDeployConfig[CHAIN_NAME_2].destinationGas = undefined;
115
- warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
116
- writeYamlOrJson(warpDeployPath, warpDeployConfig);
117
- await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
118
- const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
119
- CHAIN_NAME_2,
120
- CHAIN_NAME_3,
121
- ]);
122
- const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
123
- const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
124
- // Check that anvil2 owner is burned
125
- expect(updatedWarpDeployConfig_2.anvil2.owner).to.equal(E2E_TEST_BURN_ADDRESS);
126
- // Also, anvil3 owner is not burned
127
- expect(updatedWarpDeployConfig_3.anvil3.owner).to.equal(randomOwner);
128
- // Check that both chains enrolled
129
- const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
130
- const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
131
- const remoteRouterKeys2 = Object.keys(updatedWarpDeployConfig_2[CHAIN_NAME_2].remoteRouters);
132
- const remoteRouterKeys3 = Object.keys(updatedWarpDeployConfig_3[CHAIN_NAME_3].remoteRouters);
133
- expect(remoteRouterKeys2).to.include(chain3Id);
134
- expect(remoteRouterKeys3).to.include(chain2Id);
135
- });
136
- it('should extend an existing warp route and update all destination domains', async () => {
137
- // Read existing config into a file
138
- const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
139
- const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpConfigPath);
140
- warpDeployConfig[CHAIN_NAME_2].gas = 7777;
141
- // Extend with new config
142
- const GAS = 694200;
143
- const extendedConfig = {
144
- decimals: 18,
145
- mailbox: chain2Addresses.mailbox,
146
- name: 'Ether',
147
- owner: new Wallet(ANVIL_KEY).address,
148
- symbol: 'ETH',
149
- totalSupply: 0,
150
- type: TokenType.native,
151
- gas: GAS,
152
- };
153
- // Remove remoteRouters and destinationGas as they are written in readWarpConfig
154
- warpDeployConfig[CHAIN_NAME_2].remoteRouters = undefined;
155
- warpDeployConfig[CHAIN_NAME_2].destinationGas = undefined;
156
- warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
157
- writeYamlOrJson(warpConfigPath, warpDeployConfig);
158
- await hyperlaneWarpApply(warpConfigPath, WARP_CORE_CONFIG_PATH_2);
159
- const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
160
- CHAIN_NAME_2,
161
- CHAIN_NAME_3,
162
- ]);
163
- // Check that chain2 is enrolled in chain1
164
- const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
165
- const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
166
- const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
167
- // Destination gas should be set in the existing chain (chain2) to include the extended chain (chain3)
168
- const destinationGas_2 = updatedWarpDeployConfig_2[CHAIN_NAME_2].destinationGas;
169
- expect(Object.keys(destinationGas_2)).to.include(chain3Id);
170
- expect(destinationGas_2[chain3Id]).to.equal(GAS.toString());
171
- // Destination gas should be set for the extended chain (chain3)
172
- const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
173
- const destinationGas_3 = updatedWarpDeployConfig_3[CHAIN_NAME_3].destinationGas;
174
- expect(Object.keys(destinationGas_3)).to.include(chain2Id);
175
- expect(destinationGas_3[chain2Id]).to.equal('7777');
176
- });
177
- it('should recover and re-enroll routers after direct contract-level unenrollment through TokenRouter interface (without having to specify the router table manually)', async () => {
178
- const { multiProvider } = await getContext({
179
- registryUris: [REGISTRY_PATH],
180
- key: ANVIL_KEY,
181
- });
182
- const warpConfigPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
183
- // Initial setup with chain3 using extendWarpConfig
184
- await extendWarpConfig({
185
- chain: CHAIN_NAME_2,
186
- chainToExtend: CHAIN_NAME_3,
187
- extendedConfig: {
188
- decimals: 18,
189
- mailbox: chain2Addresses.mailbox,
190
- name: 'Ether',
191
- owner: new Wallet(ANVIL_KEY).address,
192
- symbol: 'ETH',
193
- totalSupply: 0,
194
- type: TokenType.native,
195
- },
196
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
197
- warpDeployPath: warpConfigPath,
198
- });
199
- const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
200
- CHAIN_NAME_2,
201
- CHAIN_NAME_3,
202
- ]);
203
- const warpCoreConfig = readYamlOrJson(COMBINED_WARP_CORE_CONFIG_PATH);
204
- const deployedTokenRoute = warpCoreConfig.tokens.find((t) => t.chainName === CHAIN_NAME_2)?.addressOrDenom;
205
- if (!deployedTokenRoute) {
206
- throw new Error('Failed to find deployed token route address');
207
- }
208
- // Manually call unenrollRemoteRouters
209
- const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
210
- const tokenRouter = TokenRouter__factory.connect(deployedTokenRoute, new Wallet(ANVIL_KEY).connect(multiProvider.getProvider(CHAIN_NAME_2)));
211
- await tokenRouter.unenrollRemoteRouters([chain3Id]);
212
- // Verify the router was unenrolled
213
- const beforeRecoveryConfig = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
214
- expect(Object.keys(beforeRecoveryConfig[CHAIN_NAME_2].remoteRouters || {})).to.not.include(chain3Id.toString());
215
- // Re-extend to fix the configuration
216
- await extendWarpConfig({
217
- chain: CHAIN_NAME_2,
218
- chainToExtend: CHAIN_NAME_3,
219
- extendedConfig: {
220
- decimals: 18,
221
- mailbox: chain2Addresses.mailbox,
222
- name: 'Ether',
223
- owner: new Wallet(ANVIL_KEY).address,
224
- symbol: 'ETH',
225
- totalSupply: 0,
226
- type: TokenType.native,
227
- },
228
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
229
- warpDeployPath: warpConfigPath,
230
- });
231
- const recoveredConfig = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
232
- expect(Object.keys(recoveredConfig[CHAIN_NAME_2].remoteRouters)).to.include(chain3Id.toString());
233
- });
234
- it('should complete warp route extension when previous attempt left incomplete enrollment or destination gas settings (second attempt on new combined config)', async () => {
235
- const { chain2DomainId, chain3DomainId, warpConfigPath, configToExtend, combinedWarpCorePath, } = await setupIncompleteWarpRouteExtension(chain2Addresses);
236
- // Verify initial state - neither chain should be enrolled in the other
237
- const initialConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
238
- const initialConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
239
- // Check remote routers initial state
240
- expect(Object.keys(initialConfig2[CHAIN_NAME_2].remoteRouters)).to.not.include(chain3DomainId);
241
- expect(Object.keys(initialConfig3[CHAIN_NAME_3].remoteRouters)).to.not.include(chain2DomainId);
242
- // Check destination gas initial state
243
- expect(Object.keys(initialConfig2[CHAIN_NAME_2].destinationGas || {})).to.not.include(chain3DomainId);
244
- expect(Object.keys(initialConfig3[CHAIN_NAME_3].destinationGas || {})).to.not.include(chain2DomainId);
245
- // Complete the extension
246
- await extendWarpConfig({
247
- chain: CHAIN_NAME_2,
248
- chainToExtend: CHAIN_NAME_3,
249
- extendedConfig: configToExtend,
250
- warpCorePath: combinedWarpCorePath,
251
- warpDeployPath: warpConfigPath,
252
- });
253
- // Verify both chains are now properly configured
254
- const finalConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
255
- const finalConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
256
- // Check remote routers final state
257
- expect(Object.keys(finalConfig2[CHAIN_NAME_2].remoteRouters)).to.include(chain3DomainId);
258
- expect(Object.keys(finalConfig3[CHAIN_NAME_3].remoteRouters)).to.include(chain2DomainId);
259
- // Check destination gas final state
260
- expect(Object.keys(finalConfig2[CHAIN_NAME_2].destinationGas)).to.include(chain3DomainId);
261
- expect(Object.keys(finalConfig3[CHAIN_NAME_3].destinationGas)).to.include(chain2DomainId);
262
- });
263
- it('should complete warp route extension when previous attempt left incomplete enrollment or destination gas settings (second attempt with same config)', async () => {
264
- const { chain2DomainId, chain3DomainId, warpConfigPath, configToExtend, combinedWarpCorePath, } = await setupIncompleteWarpRouteExtension(chain2Addresses);
265
- // Verify initial state - neither chain should be enrolled in the other
266
- const initialConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
267
- const initialConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
268
- // Check remote routers initial state
269
- expect(Object.keys(initialConfig2[CHAIN_NAME_2].remoteRouters)).to.not.include(chain3DomainId);
270
- expect(Object.keys(initialConfig3[CHAIN_NAME_3].remoteRouters)).to.not.include(chain2DomainId);
271
- // Check destination gas initial state
272
- expect(Object.keys(initialConfig2[CHAIN_NAME_2].destinationGas || {})).to.not.include(chain3DomainId);
273
- expect(Object.keys(initialConfig3[CHAIN_NAME_3].destinationGas || {})).to.not.include(chain2DomainId);
274
- // Complete the extension
275
- await extendWarpConfig({
276
- chain: CHAIN_NAME_2,
277
- chainToExtend: CHAIN_NAME_3,
278
- extendedConfig: configToExtend,
279
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
280
- warpDeployPath: combinedWarpCorePath,
281
- });
282
- // Verify both chains are now properly configured
283
- const finalConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
284
- const finalConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
285
- // Check remote routers final state
286
- expect(Object.keys(finalConfig2[CHAIN_NAME_2].remoteRouters)).to.include(chain3DomainId);
287
- expect(Object.keys(finalConfig3[CHAIN_NAME_3].remoteRouters)).to.include(chain2DomainId);
288
- // Check destination gas final state
289
- expect(Object.keys(finalConfig2[CHAIN_NAME_2].destinationGas)).to.include(chain3DomainId);
290
- expect(Object.keys(finalConfig3[CHAIN_NAME_3].destinationGas)).to.include(chain2DomainId);
291
- });
292
- it('should set correct gas values when completing warp route extension (without having to specify the gas table manually)', async () => {
293
- const { chain2DomainId, chain3DomainId, warpConfigPath, configToExtend, combinedWarpCorePath, } = await setupIncompleteWarpRouteExtension(chain2Addresses);
294
- // Verify initial state - gas values should not be set
295
- const initialConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
296
- const initialConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
297
- // Check initial gas values
298
- expect(initialConfig2[CHAIN_NAME_2].destinationGas?.[chain3DomainId]).to.be
299
- .undefined;
300
- expect(initialConfig3[CHAIN_NAME_3].destinationGas?.[chain2DomainId]).to.be
301
- .undefined;
302
- // Set specific gas values for the extension
303
- const customGasValue = '300000';
304
- configToExtend.gas = parseInt(customGasValue);
305
- // Complete the extension with custom gas value
306
- await extendWarpConfig({
307
- chain: CHAIN_NAME_2,
308
- chainToExtend: CHAIN_NAME_3,
309
- extendedConfig: configToExtend,
310
- warpCorePath: combinedWarpCorePath,
311
- warpDeployPath: warpConfigPath,
312
- });
313
- // Verify gas values are correctly set after extension
314
- const finalConfig2 = await readWarpConfig(CHAIN_NAME_2, combinedWarpCorePath, warpConfigPath);
315
- const finalConfig3 = await readWarpConfig(CHAIN_NAME_3, combinedWarpCorePath, warpConfigPath);
316
- // Check gas value is set correctly
317
- expect(finalConfig2[CHAIN_NAME_2].destinationGas[chain3DomainId]).to.equal(customGasValue);
318
- // Verify remote routers are also properly set
319
- expect(Object.keys(finalConfig2[CHAIN_NAME_2].remoteRouters)).to.include(chain3DomainId);
320
- expect(Object.keys(finalConfig3[CHAIN_NAME_3].remoteRouters)).to.include(chain2DomainId);
321
- });
322
- it('should update destination gas configuration', async () => {
323
- const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
324
- // Extend with new config
325
- const config = {
326
- decimals: 18,
327
- mailbox: chain2Addresses.mailbox,
328
- name: 'Ether',
329
- owner: new Wallet(ANVIL_KEY).address,
330
- symbol: 'ETH',
331
- totalSupply: 0,
332
- type: TokenType.native,
333
- };
334
- await extendWarpConfig({
335
- chain: CHAIN_NAME_2,
336
- chainToExtend: CHAIN_NAME_3,
337
- extendedConfig: config,
338
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
339
- warpDeployPath,
340
- });
341
- // First read the existing config
342
- const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
343
- // Get the domain ID for chain 3
344
- const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
345
- // Update with new destination gas values
346
- warpDeployConfig[CHAIN_NAME_2].destinationGas = {
347
- [chain3Id]: '500000', // Set a specific gas value for chain 3
348
- };
349
- // Write the updated config
350
- await writeYamlOrJson(warpDeployPath, warpDeployConfig);
351
- // Apply the changes
352
- await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
353
- // Read back the config to verify changes
354
- const updatedConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
355
- // Verify the destination gas was updated correctly
356
- expect(updatedConfig[CHAIN_NAME_2].destinationGas[chain3Id]).to.equal('500000');
357
- });
358
- it('should update remote routers configuration', async () => {
359
- const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
360
- // Extend with new config
361
- const config = {
362
- decimals: 18,
363
- mailbox: chain2Addresses.mailbox,
364
- name: 'Ether',
365
- owner: new Wallet(ANVIL_KEY).address,
366
- symbol: 'ETH',
367
- totalSupply: 0,
368
- type: TokenType.native,
369
- };
370
- await extendWarpConfig({
371
- chain: CHAIN_NAME_2,
372
- chainToExtend: CHAIN_NAME_3,
373
- extendedConfig: config,
374
- warpCorePath: WARP_CORE_CONFIG_PATH_2,
375
- warpDeployPath,
376
- });
377
- // First read the existing config
378
- const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
379
- // Get the domain ID for chain 3
380
- const chain3Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
381
- // Generate a new router address to update
382
- const newRouterAddress = randomAddress();
383
- // Update with new remote router values
384
- warpDeployConfig[CHAIN_NAME_2].remoteRouters = {
385
- [chain3Id]: { address: newRouterAddress }, // Set a new router address for chain 3
386
- };
387
- // Write the updated config
388
- await writeYamlOrJson(warpDeployPath, warpDeployConfig);
389
- // Apply the changes
390
- await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
391
- // Read back the config to verify changes
392
- const updatedConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
393
- // Verify the remote router was updated correctly
394
- expect(updatedConfig[CHAIN_NAME_2].remoteRouters[chain3Id].address.toLowerCase()).to.equal(newRouterAddress.toLowerCase());
395
- });
396
- it('should preserve deploy config when extending warp route', async () => {
397
- const warpDeployPath = `${TEMP_PATH}/warp-route-deployment-2.yaml`;
398
- const warpDeployConfig = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, warpDeployPath);
399
- // Extend with new config for chain 3
400
- const extendedConfig = {
401
- decimals: 18,
402
- mailbox: chain2Addresses.mailbox,
403
- name: 'Ether',
404
- owner: new Wallet(ANVIL_KEY).address,
405
- symbol: 'ETH',
406
- totalSupply: 0,
407
- type: TokenType.native,
408
- };
409
- warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
410
- // Remove remoteRouters and destinationGas as they are written in readWarpConfig
411
- delete warpDeployConfig[CHAIN_NAME_2].remoteRouters;
412
- delete warpDeployConfig[CHAIN_NAME_2].destinationGas;
413
- await writeYamlOrJson(warpDeployPath, warpDeployConfig);
414
- await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
415
- const updatedConfig = readYamlOrJson(warpDeployPath);
416
- expect(normalizeConfig(warpDeployConfig)).to.deep.equal(normalizeConfig(updatedConfig), 'warp deploy config should remain unchanged after extension');
417
- });
418
- });
419
- //# sourceMappingURL=warp-apply-extend.e2e-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"warp-apply-extend.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-apply-extend.e2e-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAEL,SAAS,EAGT,eAAe,EACf,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,iCAAiC,GAClC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,iDAAiD,EAAE,KAAK;IAC/D,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE3C,IAAI,eAAe,GAAmB,EAAE,CAAC;IAEzC,MAAM,CAAC,KAAK;QACV,MAAM,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACzE,eAAe,GAAG,MAAM,uBAAuB,CAC7C,YAAY,EACZ,gBAAgB,EAChB,SAAS,CACV,CAAC;QAEF,6CAA6C;QAC7C,MAAM,UAAU,GAA0B,cAAc,CACtD,wBAAwB,CACzB,CAAC;QACF,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAC1D,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK;QACd,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,mCAAmC;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;QAE5E,yBAAyB;QACzB,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,mCAAmC;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,cAAc,CAAC,YAAY,EAAE,uBAAuB,EAAE,cAAc,CAAC,CAAC;QAE5E,yBAAyB;QACzB,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,cAAc;YAC9B,WAAW,EAAE,GAAG,aAAa,+CAA+C;SAC7E,CAAC,CAAC;QAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE/C,0CAA0C;QAC1C,MAAM,wBAAwB,GAAG,MAAM,cAAc,CACnD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,wBAAwB,CAAC,YAAY,CAAC,CAAC,aAAc,CACtD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QACF,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,qBAAqB,CAAC;QAE7D,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;QAClD,MAAM,cAAc,GAAyB;YAC3C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QACF,gFAAgF;QAChF,gBAAgB,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC;QACzD,gBAAgB,CAAC,YAAY,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC;QAE1D,gBAAgB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QAChD,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAClD,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,oCAAoC;QACpC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CACrD,qBAAqB,CACtB,CAAC;QAEF,mCAAmC;QACnC,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAErE,kCAAkC;QAClC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,yBAAyB,CAAC,YAAY,CAAC,CAAC,aAAc,CACvD,CAAC;QACF,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CACnC,yBAAyB,CAAC,YAAY,CAAC,CAAC,aAAc,CACvD,CAAC;QACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,mCAAmC;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QACF,gBAAgB,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAE1C,yBAAyB;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC;QACnB,MAAM,cAAc,GAAyB;YAC3C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;YACtB,GAAG,EAAE,GAAG;SACT,CAAC;QAEF,gFAAgF;QAChF,gBAAgB,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC;QACzD,gBAAgB,CAAC,YAAY,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC;QAE1D,gBAAgB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QAChD,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAClD,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5D,sGAAsG;QACtG,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE5D,gEAAgE;QAChE,MAAM,yBAAyB,GAAG,MAAM,cAAc,CACpD,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mKAAmK,EAAE,KAAK,IAAI,EAAE;QACjL,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,UAAU,CAAC;YACzC,YAAY,EAAE,CAAC,aAAa,CAAC;YAC7B,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAEnE,mDAAmD;QACnD,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE;gBACd,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;gBACjC,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;gBACpC,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,SAAS,CAAC,MAAM;aACvB;YACD,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,KAAK,EAAE;YACrE,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,cAAc,CACnC,8BAA8B,CACb,CAAC;QACpB,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,CACpC,EAAE,cAAc,CAAC;QAElB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAC9C,kBAAkB,EAClB,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CACvE,CAAC;QACF,MAAM,WAAW,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEpD,mCAAmC;QACnC,MAAM,oBAAoB,GAAG,MAAM,cAAc,CAC/C,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QACF,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CACpE,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtC,qCAAqC;QACrC,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE;gBACd,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;gBACjC,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;gBACpC,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,CAAC;gBACd,IAAI,EAAE,SAAS,CAAC,MAAM;aACvB;YACD,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,cAAc,CAC1C,YAAY,EACZ,8BAA8B,EAC9B,cAAc,CACf,CAAC;QAEF,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAC1D,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2JAA2J,EAAE,KAAK,IAAI,EAAE;QACzK,MAAM,EACJ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,GAAG,MAAM,iCAAiC,CAAC,eAAe,CAAC,CAAC;QAE7D,uEAAuE;QACvE,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,qCAAqC;QACrC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CACzD,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CACzD,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjC,sCAAsC;QACtC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAC/D,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAC/D,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjC,yBAAyB;QACzB,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,cAAc;YAC9B,YAAY,EAAE,oBAAoB;YAClC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QAEF,mCAAmC;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvE,cAAc,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvE,cAAc,CACf,CAAC;QAEF,oCAAoC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACxE,cAAc,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACxE,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qJAAqJ,EAAE,KAAK,IAAI,EAAE;QACnK,MAAM,EACJ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,GAAG,MAAM,iCAAiC,CAAC,eAAe,CAAC,CAAC;QAE7D,uEAAuE;QACvE,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,qCAAqC;QACrC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CACzD,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CACzD,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjC,sCAAsC;QACtC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAC/D,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACjC,MAAM,CACJ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAC/D,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjC,yBAAyB;QACzB,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,cAAc;YAC9B,YAAY,EAAE,uBAAuB;YACrC,cAAc,EAAE,oBAAoB;SACrC,CAAC,CAAC;QAEH,iDAAiD;QACjD,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QAEF,mCAAmC;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvE,cAAc,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvE,cAAc,CACf,CAAC;QAEF,oCAAoC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACxE,cAAc,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACxE,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uHAAuH,EAAE,KAAK,IAAI,EAAE;QACrI,MAAM,EACJ,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,oBAAoB,GACrB,GAAG,MAAM,iCAAiC,CAAC,eAAe,CAAC,CAAC;QAE7D,sDAAsD;QACtD,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,cAAc,CACzC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QAEF,2BAA2B;QAC3B,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACxE,SAAS,CAAC;QACb,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACxE,SAAS,CAAC;QAEb,4CAA4C;QAC5C,MAAM,cAAc,GAAG,QAAQ,CAAC;QAChC,cAAc,CAAC,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;QAE9C,+CAA+C;QAC/C,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,cAAc;YAC9B,YAAY,EAAE,oBAAoB;YAClC,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;QAEH,sDAAsD;QACtD,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,YAAY,EACZ,oBAAoB,EACpB,cAAc,CACf,CAAC;QAEF,mCAAmC;QACnC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACzE,cAAc,CACf,CAAC;QAEF,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvE,cAAc,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CACvE,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAEnE,yBAAyB;QACzB,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,uBAAuB;YACrC,cAAc;SACf,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5D,yCAAyC;QACzC,gBAAgB,CAAC,YAAY,CAAC,CAAC,cAAc,GAAG;YAC9C,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,uCAAuC;SAC9D,CAAC;QAEF,2BAA2B;QAC3B,MAAM,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAExD,oBAAoB;QACpB,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,yCAAyC;QACzC,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,mDAAmD;QACnD,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,cAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACpE,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAEnE,yBAAyB;QACzB,MAAM,MAAM,GAAyB;YACnC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,MAAM,gBAAgB,CAAC;YACrB,KAAK,EAAE,YAAY;YACnB,aAAa,EAAE,YAAY;YAC3B,cAAc,EAAE,MAAM;YACtB,YAAY,EAAE,uBAAuB;YACrC,cAAc;SACf,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAE5D,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,aAAa,EAAE,CAAC;QAEzC,uCAAuC;QACvC,gBAAgB,CAAC,YAAY,CAAC,CAAC,aAAa,GAAG;YAC7C,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,uCAAuC;SACnF,CAAC;QAEF,2BAA2B;QAC3B,MAAM,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QAExD,oBAAoB;QACpB,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,yCAAyC;QACzC,MAAM,aAAa,GAAG,MAAM,cAAc,CACxC,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,iDAAiD;QACjD,MAAM,CACJ,aAAa,CAAC,YAAY,CAAC,CAAC,aAAc,CACxC,QAAQ,CACT,CAAC,OAAO,CAAC,WAAW,EAAE,CACxB,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAEnE,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,qCAAqC;QACrC,MAAM,cAAc,GAAyB;YAC3C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,eAAgB,CAAC,OAAO;YACjC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO;YACpC,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,CAAC;YACd,IAAI,EAAE,SAAS,CAAC,MAAM;SACvB,CAAC;QAEF,gBAAgB,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC;QAChD,gFAAgF;QAChF,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC;QACpD,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC;QACrD,MAAM,eAAe,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;QACxD,MAAM,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QAElE,MAAM,aAAa,GAA0B,cAAc,CAAC,cAAc,CAAC,CAAC;QAE5E,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CACrD,eAAe,CAAC,aAAa,CAAC,EAC9B,4DAA4D,CAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}