@hyperlane-xyz/cli 8.2.0 → 8.3.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.
- package/dist/src/config/hooks.d.ts +145 -0
- package/dist/src/config/hooks.d.ts.map +1 -1
- package/dist/src/config/hooks.js +1 -0
- package/dist/src/config/hooks.js.map +1 -1
- package/dist/src/context/strategies/chain/MultiChainResolver.js +1 -1
- package/dist/src/context/strategies/chain/MultiChainResolver.js.map +1 -1
- package/dist/src/deploy/warp.d.ts.map +1 -1
- package/dist/src/deploy/warp.js +8 -8
- package/dist/src/deploy/warp.js.map +1 -1
- package/dist/src/tests/commands/helpers.d.ts +4 -1
- package/dist/src/tests/commands/helpers.d.ts.map +1 -1
- package/dist/src/tests/commands/helpers.js +8 -3
- package/dist/src/tests/commands/helpers.js.map +1 -1
- package/dist/src/tests/commands/warp.d.ts +37 -4
- package/dist/src/tests/commands/warp.d.ts.map +1 -1
- package/dist/src/tests/commands/warp.js +171 -13
- package/dist/src/tests/commands/warp.js.map +1 -1
- package/dist/src/tests/core/core-check.e2e-test.js +4 -4
- package/dist/src/tests/core/core-check.e2e-test.js.map +1 -1
- package/dist/src/tests/warp/warp-apply.e2e-test.d.ts.map +1 -0
- package/dist/src/tests/{warp-apply.e2e-test.js → warp/warp-apply.e2e-test.js} +19 -7
- package/dist/src/tests/warp/warp-apply.e2e-test.js.map +1 -0
- package/dist/src/tests/warp/warp-check.e2e-test.d.ts +2 -0
- package/dist/src/tests/warp/warp-check.e2e-test.d.ts.map +1 -0
- package/dist/src/tests/warp/warp-check.e2e-test.js +120 -0
- package/dist/src/tests/warp/warp-check.e2e-test.js.map +1 -0
- package/dist/src/tests/warp/warp-deploy.e2e-test.d.ts.map +1 -0
- package/dist/src/tests/warp/warp-deploy.e2e-test.js +409 -0
- package/dist/src/tests/warp/warp-deploy.e2e-test.js.map +1 -0
- package/dist/src/tests/warp/warp-init.e2e-test.d.ts.map +1 -0
- package/dist/src/tests/{warp-init.e2e-test.js → warp/warp-init.e2e-test.js} +3 -3
- package/dist/src/tests/warp/warp-init.e2e-test.js.map +1 -0
- package/dist/src/tests/warp/warp-read.e2e-test.d.ts.map +1 -0
- package/dist/src/tests/warp/warp-read.e2e-test.js +107 -0
- package/dist/src/tests/warp/warp-read.e2e-test.js.map +1 -0
- package/dist/src/tests/warp/warp-send.e2e-test.d.ts +2 -0
- package/dist/src/tests/warp/warp-send.e2e-test.d.ts.map +1 -0
- package/dist/src/tests/warp/warp-send.e2e-test.js +249 -0
- package/dist/src/tests/warp/warp-send.e2e-test.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +4 -4
- package/dist/src/tests/warp-apply.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp-apply.e2e-test.js.map +0 -1
- package/dist/src/tests/warp-deploy.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp-deploy.e2e-test.js +0 -154
- package/dist/src/tests/warp-deploy.e2e-test.js.map +0 -1
- package/dist/src/tests/warp-init.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp-init.e2e-test.js.map +0 -1
- package/dist/src/tests/warp-read.e2e-test.d.ts.map +0 -1
- package/dist/src/tests/warp-read.e2e-test.js +0 -24
- package/dist/src/tests/warp-read.e2e-test.js.map +0 -1
- /package/dist/src/tests/{warp-apply.e2e-test.d.ts → warp/warp-apply.e2e-test.d.ts} +0 -0
- /package/dist/src/tests/{warp-deploy.e2e-test.d.ts → warp/warp-deploy.e2e-test.d.ts} +0 -0
- /package/dist/src/tests/{warp-init.e2e-test.d.ts → warp/warp-init.e2e-test.d.ts} +0 -0
- /package/dist/src/tests/{warp-read.e2e-test.d.ts → warp/warp-read.e2e-test.d.ts} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { $ } from 'zx';
|
|
2
|
+
import { TokenType, WarpRouteDeployConfigSchema, } from '@hyperlane-xyz/sdk';
|
|
2
3
|
import { readYamlOrJson } from '../../utils/files.js';
|
|
3
4
|
import { ANVIL_KEY, REGISTRY_PATH, getDeployedWarpAddress } from './helpers.js';
|
|
4
5
|
$.verbose = true;
|
|
@@ -18,15 +19,24 @@ export function hyperlaneWarpInit(warpCorePath) {
|
|
|
18
19
|
/**
|
|
19
20
|
* Deploys the Warp route to the specified chain using the provided config.
|
|
20
21
|
*/
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp deploy \
|
|
22
|
+
export function hyperlaneWarpDeployRaw({ warpCorePath, hypKey, skipConfirmationPrompts, privateKey, }) {
|
|
23
|
+
return $ `${hypKey ? ['HYP_KEY=' + hypKey] : ''} yarn workspace @hyperlane-xyz/cli run hyperlane warp deploy \
|
|
24
24
|
--registry ${REGISTRY_PATH} \
|
|
25
25
|
--overrides " " \
|
|
26
|
-
--config
|
|
27
|
-
--key
|
|
26
|
+
${warpCorePath ? ['--config', warpCorePath] : ''} \
|
|
27
|
+
${privateKey ? ['--key', privateKey] : ''} \
|
|
28
28
|
--verbosity debug \
|
|
29
|
-
--yes`;
|
|
29
|
+
${skipConfirmationPrompts ? ['--yes'] : ''}`;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Deploys the Warp route to the specified chain using the provided config.
|
|
33
|
+
*/
|
|
34
|
+
export function hyperlaneWarpDeploy(warpCorePath) {
|
|
35
|
+
return hyperlaneWarpDeployRaw({
|
|
36
|
+
privateKey: ANVIL_KEY,
|
|
37
|
+
warpCorePath: warpCorePath,
|
|
38
|
+
skipConfirmationPrompts: true,
|
|
39
|
+
});
|
|
30
40
|
}
|
|
31
41
|
/**
|
|
32
42
|
* Applies updates to the Warp route config.
|
|
@@ -42,17 +52,42 @@ export async function hyperlaneWarpApply(warpDeployPath, warpCorePath, strategyU
|
|
|
42
52
|
--strategy ${strategyUrl} \
|
|
43
53
|
--yes`;
|
|
44
54
|
}
|
|
45
|
-
export
|
|
55
|
+
export function hyperlaneWarpReadRaw({ chain, warpAddress, outputPath, privateKey, symbol, }) {
|
|
46
56
|
return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp read \
|
|
47
57
|
--registry ${REGISTRY_PATH} \
|
|
48
58
|
--overrides " " \
|
|
49
|
-
--address
|
|
50
|
-
--chain
|
|
51
|
-
--
|
|
59
|
+
${warpAddress ? ['--address', warpAddress] : ''} \
|
|
60
|
+
${chain ? ['--chain', chain] : ''} \
|
|
61
|
+
${symbol ? ['--symbol', symbol] : ''} \
|
|
62
|
+
${privateKey ? ['--key', privateKey] : ''} \
|
|
52
63
|
--verbosity debug \
|
|
53
|
-
--config
|
|
64
|
+
${outputPath ? ['--config', outputPath] : ''}`;
|
|
65
|
+
}
|
|
66
|
+
export function hyperlaneWarpRead(chain, warpAddress, warpDeployPath) {
|
|
67
|
+
return hyperlaneWarpReadRaw({
|
|
68
|
+
chain,
|
|
69
|
+
warpAddress,
|
|
70
|
+
outputPath: warpDeployPath,
|
|
71
|
+
privateKey: ANVIL_KEY,
|
|
72
|
+
});
|
|
54
73
|
}
|
|
55
|
-
export
|
|
74
|
+
export function hyperlaneWarpCheckRaw({ warpDeployPath, symbol, privateKey, hypKey, }) {
|
|
75
|
+
return $ `${hypKey && !privateKey ? ['HYP_KEY=' + hypKey] : ''} yarn workspace @hyperlane-xyz/cli run hyperlane warp check \
|
|
76
|
+
--registry ${REGISTRY_PATH} \
|
|
77
|
+
--overrides " " \
|
|
78
|
+
${symbol ? ['--symbol', symbol] : ''} \
|
|
79
|
+
${privateKey && !hypKey ? ['--key', privateKey] : ''} \
|
|
80
|
+
--verbosity debug \
|
|
81
|
+
${warpDeployPath ? ['--config', warpDeployPath] : ''}`;
|
|
82
|
+
}
|
|
83
|
+
export function hyperlaneWarpCheck(warpDeployPath, symbol) {
|
|
84
|
+
return hyperlaneWarpCheckRaw({
|
|
85
|
+
warpDeployPath,
|
|
86
|
+
privateKey: ANVIL_KEY,
|
|
87
|
+
symbol,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export function hyperlaneWarpSendRelay(origin, destination, warpCorePath, relay = true, value = 1) {
|
|
56
91
|
return $ `yarn workspace @hyperlane-xyz/cli run hyperlane warp send \
|
|
57
92
|
${relay ? '--relay' : ''} \
|
|
58
93
|
--registry ${REGISTRY_PATH} \
|
|
@@ -62,7 +97,8 @@ export async function hyperlaneWarpSendRelay(origin, destination, warpCorePath,
|
|
|
62
97
|
--warp ${warpCorePath} \
|
|
63
98
|
--key ${ANVIL_KEY} \
|
|
64
99
|
--verbosity debug \
|
|
65
|
-
--yes
|
|
100
|
+
--yes \
|
|
101
|
+
--amount ${value}`;
|
|
66
102
|
}
|
|
67
103
|
/**
|
|
68
104
|
* Reads the Warp route deployment config to specified output path.
|
|
@@ -75,4 +111,126 @@ export async function readWarpConfig(chain, warpCorePath, warpDeployPath) {
|
|
|
75
111
|
await hyperlaneWarpRead(chain, warpAddress, warpDeployPath);
|
|
76
112
|
return readYamlOrJson(warpDeployPath);
|
|
77
113
|
}
|
|
114
|
+
function getWarpTokenConfigForType({ mailbox, otherChain, owner, token, tokenType, vault, }) {
|
|
115
|
+
let tokenConfig;
|
|
116
|
+
switch (tokenType) {
|
|
117
|
+
case TokenType.collateral:
|
|
118
|
+
tokenConfig = {
|
|
119
|
+
type: TokenType.collateral,
|
|
120
|
+
mailbox,
|
|
121
|
+
owner,
|
|
122
|
+
token,
|
|
123
|
+
};
|
|
124
|
+
break;
|
|
125
|
+
case TokenType.collateralVault:
|
|
126
|
+
tokenConfig = {
|
|
127
|
+
type: TokenType.collateralVault,
|
|
128
|
+
mailbox,
|
|
129
|
+
owner,
|
|
130
|
+
token: vault,
|
|
131
|
+
};
|
|
132
|
+
break;
|
|
133
|
+
case TokenType.collateralVaultRebase:
|
|
134
|
+
tokenConfig = {
|
|
135
|
+
type: TokenType.collateralVaultRebase,
|
|
136
|
+
mailbox,
|
|
137
|
+
owner,
|
|
138
|
+
token: vault,
|
|
139
|
+
};
|
|
140
|
+
break;
|
|
141
|
+
case TokenType.fastCollateral:
|
|
142
|
+
tokenConfig = {
|
|
143
|
+
type: TokenType.fastCollateral,
|
|
144
|
+
mailbox,
|
|
145
|
+
owner,
|
|
146
|
+
token,
|
|
147
|
+
};
|
|
148
|
+
break;
|
|
149
|
+
case TokenType.fastSynthetic:
|
|
150
|
+
tokenConfig = {
|
|
151
|
+
type: TokenType.fastSynthetic,
|
|
152
|
+
mailbox,
|
|
153
|
+
owner,
|
|
154
|
+
};
|
|
155
|
+
break;
|
|
156
|
+
case TokenType.native:
|
|
157
|
+
tokenConfig = {
|
|
158
|
+
type: TokenType.native,
|
|
159
|
+
mailbox,
|
|
160
|
+
owner,
|
|
161
|
+
};
|
|
162
|
+
break;
|
|
163
|
+
case TokenType.nativeScaled:
|
|
164
|
+
tokenConfig = {
|
|
165
|
+
type: TokenType.nativeScaled,
|
|
166
|
+
mailbox,
|
|
167
|
+
owner,
|
|
168
|
+
scale: 1,
|
|
169
|
+
};
|
|
170
|
+
break;
|
|
171
|
+
case TokenType.synthetic:
|
|
172
|
+
tokenConfig = {
|
|
173
|
+
type: TokenType.synthetic,
|
|
174
|
+
mailbox,
|
|
175
|
+
owner,
|
|
176
|
+
};
|
|
177
|
+
break;
|
|
178
|
+
case TokenType.syntheticRebase:
|
|
179
|
+
tokenConfig = {
|
|
180
|
+
type: TokenType.syntheticRebase,
|
|
181
|
+
mailbox,
|
|
182
|
+
owner,
|
|
183
|
+
collateralChainName: otherChain,
|
|
184
|
+
};
|
|
185
|
+
break;
|
|
186
|
+
default:
|
|
187
|
+
throw new Error(`Unsupported token type "${tokenType}" for random config generation`);
|
|
188
|
+
}
|
|
189
|
+
return tokenConfig;
|
|
190
|
+
}
|
|
191
|
+
export function generateWarpConfigs(chain1Config, chain2Config) {
|
|
192
|
+
const ignoreTokenTypes = new Set([
|
|
193
|
+
TokenType.XERC20,
|
|
194
|
+
TokenType.XERC20Lockbox,
|
|
195
|
+
TokenType.collateralFiat,
|
|
196
|
+
TokenType.collateralUri,
|
|
197
|
+
TokenType.syntheticUri,
|
|
198
|
+
// TODO Fix: sender not mailbox or relaying simply fails
|
|
199
|
+
TokenType.collateralVault,
|
|
200
|
+
]);
|
|
201
|
+
const allowedWarpTokenTypes = Object.values(TokenType).filter((tokenType) => !ignoreTokenTypes.has(tokenType) && typeof tokenType === 'string');
|
|
202
|
+
const exists = new Set([]);
|
|
203
|
+
const configs = allowedWarpTokenTypes
|
|
204
|
+
.flatMap((tokenType) => allowedWarpTokenTypes.map((otherTokenType) => {
|
|
205
|
+
return {
|
|
206
|
+
[chain1Config.chainName]: getWarpTokenConfigForType({
|
|
207
|
+
...chain1Config,
|
|
208
|
+
tokenType: tokenType,
|
|
209
|
+
otherChain: chain2Config.chainName,
|
|
210
|
+
}),
|
|
211
|
+
[chain2Config.chainName]: getWarpTokenConfigForType({
|
|
212
|
+
...chain2Config,
|
|
213
|
+
tokenType: otherTokenType,
|
|
214
|
+
otherChain: chain1Config.chainName,
|
|
215
|
+
}),
|
|
216
|
+
};
|
|
217
|
+
}))
|
|
218
|
+
// Remove already existing config pairs
|
|
219
|
+
.filter((config) => {
|
|
220
|
+
const combinationId = [
|
|
221
|
+
config[chain1Config.chainName].type,
|
|
222
|
+
config[chain2Config.chainName].type,
|
|
223
|
+
]
|
|
224
|
+
.sort()
|
|
225
|
+
.join('');
|
|
226
|
+
if (exists.has(combinationId)) {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
exists.add(combinationId);
|
|
230
|
+
return true;
|
|
231
|
+
})
|
|
232
|
+
// Remove invalid configs
|
|
233
|
+
.filter((warpConfig) => WarpRouteDeployConfigSchema.safeParse(warpConfig).success);
|
|
234
|
+
return configs;
|
|
235
|
+
}
|
|
78
236
|
//# sourceMappingURL=warp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../../src/tests/commands/warp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAkB,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../../src/tests/commands/warp.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ describe('hyperlane core check e2e tests', async function () {
|
|
|
24
24
|
await readCoreConfig(CHAIN_NAME_2, CORE_READ_CONFIG_PATH_2);
|
|
25
25
|
const output = await hyperlaneCoreCheck(CHAIN_NAME_2, CORE_READ_CONFIG_PATH_2);
|
|
26
26
|
expect(output.exitCode).to.equal(0);
|
|
27
|
-
expect(output.text().includes('No violations found')
|
|
27
|
+
expect(output.text()).to.includes('No violations found');
|
|
28
28
|
});
|
|
29
29
|
it('should find differences between the local and onchain config', async () => {
|
|
30
30
|
const coreConfig = await readCoreConfig(CHAIN_NAME_2, CORE_READ_CONFIG_PATH_2);
|
|
@@ -34,8 +34,8 @@ describe('hyperlane core check e2e tests', async function () {
|
|
|
34
34
|
const expectedActualText = `ACTUAL: "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266"\n`;
|
|
35
35
|
const output = await hyperlaneCoreCheck(CHAIN_NAME_2, CORE_READ_CONFIG_PATH_2).nothrow();
|
|
36
36
|
expect(output.exitCode).to.equal(1);
|
|
37
|
-
expect(output.text().
|
|
38
|
-
expect(output.text().
|
|
37
|
+
expect(output.text()).to.include(expectedDiffText);
|
|
38
|
+
expect(output.text()).to.include(expectedActualText);
|
|
39
39
|
});
|
|
40
40
|
it('should successfully check the config when provided with a custom mailbox', async () => {
|
|
41
41
|
await hyperlaneCoreDeploy(CHAIN_NAME_2, CORE_CONFIG_PATH);
|
|
@@ -43,7 +43,7 @@ describe('hyperlane core check e2e tests', async function () {
|
|
|
43
43
|
expect(coreConfig.interchainAccountRouter?.mailbox).not.to.be.undefined;
|
|
44
44
|
const output = await hyperlaneCoreCheck(CHAIN_NAME_2, CORE_READ_CONFIG_PATH_2, coreConfig.interchainAccountRouter.mailbox);
|
|
45
45
|
expect(output.exitCode).to.equal(0);
|
|
46
|
-
expect(output.text().includes('No violations found')
|
|
46
|
+
expect(output.text()).to.includes('No violations found');
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
49
|
//# sourceMappingURL=core-check.e2e-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-check.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/core/core-check.e2e-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,QAAQ,CAAC,gCAAgC,EAAE,KAAK;IAC9C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC;IAE3C,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,YAAY,GAChB,CAAC,CAAA;2BACoB,aAAa;yBACf,gBAAgB;;oBAErB,CAAC,OAAO,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aACrE,IAAI,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,cAAc,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,YAAY,EACZ,uBAAuB,CACxB,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"core-check.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/core/core-check.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-apply.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-apply.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { Wallet } from 'ethers';
|
|
3
3
|
import { HookType, TokenType, normalizeConfig, randomAddress, } from '@hyperlane-xyz/sdk';
|
|
4
|
-
import { readYamlOrJson, writeYamlOrJson } from '
|
|
5
|
-
import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, E2E_TEST_BURN_ADDRESS, EXAMPLES_PATH,
|
|
6
|
-
import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '
|
|
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, updateOwner, } from '../commands/helpers.js';
|
|
6
|
+
import { hyperlaneWarpApply, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
|
|
7
7
|
describe('hyperlane warp apply e2e tests', async function () {
|
|
8
8
|
this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
|
|
9
9
|
let chain2Addresses = {};
|
|
@@ -73,7 +73,10 @@ describe('hyperlane warp apply e2e tests', async function () {
|
|
|
73
73
|
warpCorePath: WARP_CORE_CONFIG_PATH_2,
|
|
74
74
|
warpDeployPath: warpConfigPath,
|
|
75
75
|
});
|
|
76
|
-
const COMBINED_WARP_CORE_CONFIG_PATH =
|
|
76
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
77
|
+
CHAIN_NAME_2,
|
|
78
|
+
CHAIN_NAME_3,
|
|
79
|
+
]);
|
|
77
80
|
// Check that chain2 is enrolled in chain1
|
|
78
81
|
const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
79
82
|
const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
@@ -107,7 +110,10 @@ describe('hyperlane warp apply e2e tests', async function () {
|
|
|
107
110
|
warpDeployPath: warpConfigPath,
|
|
108
111
|
strategyUrl: `${EXAMPLES_PATH}/submit/strategy/json-rpc-chain-strategy.yaml`,
|
|
109
112
|
});
|
|
110
|
-
const COMBINED_WARP_CORE_CONFIG_PATH =
|
|
113
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
114
|
+
CHAIN_NAME_2,
|
|
115
|
+
CHAIN_NAME_3,
|
|
116
|
+
]);
|
|
111
117
|
// Check that chain2 is enrolled in chain1
|
|
112
118
|
const updatedWarpDeployConfig1 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
113
119
|
const chain2Id = await getDomainId(CHAIN_NAME_3, ANVIL_KEY);
|
|
@@ -138,7 +144,10 @@ describe('hyperlane warp apply e2e tests', async function () {
|
|
|
138
144
|
warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
|
|
139
145
|
writeYamlOrJson(warpDeployPath, warpDeployConfig);
|
|
140
146
|
await hyperlaneWarpApply(warpDeployPath, WARP_CORE_CONFIG_PATH_2);
|
|
141
|
-
const COMBINED_WARP_CORE_CONFIG_PATH =
|
|
147
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
148
|
+
CHAIN_NAME_2,
|
|
149
|
+
CHAIN_NAME_3,
|
|
150
|
+
]);
|
|
142
151
|
const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
|
|
143
152
|
const updatedWarpDeployConfig_3 = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, warpDeployPath);
|
|
144
153
|
// Check that anvil2 owner is burned
|
|
@@ -173,7 +182,10 @@ describe('hyperlane warp apply e2e tests', async function () {
|
|
|
173
182
|
warpDeployConfig[CHAIN_NAME_3] = extendedConfig;
|
|
174
183
|
writeYamlOrJson(warpConfigPath, warpDeployConfig);
|
|
175
184
|
await hyperlaneWarpApply(warpConfigPath, WARP_CORE_CONFIG_PATH_2);
|
|
176
|
-
const COMBINED_WARP_CORE_CONFIG_PATH =
|
|
185
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath('ETH', [
|
|
186
|
+
CHAIN_NAME_2,
|
|
187
|
+
CHAIN_NAME_3,
|
|
188
|
+
]);
|
|
177
189
|
// Check that chain2 is enrolled in chain1
|
|
178
190
|
const updatedWarpDeployConfig_2 = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, warpConfigPath);
|
|
179
191
|
const chain2Id = await getDomainId(CHAIN_NAME_2, ANVIL_KEY);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-apply.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-apply.e2e-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EACL,QAAQ,EAER,SAAS,EAET,eAAe,EACf,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,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,SAAS,EACT,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,WAAW,GACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,gCAAgC,EAAE,KAAK;IAC9C,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,2BAA2B,EAAE,KAAK;QACnC,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,WAAW,CACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,uBAAuB,GAAG,MAAM,cAAc,CAClD,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QACF,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CACnD,qBAAqB,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QACnE,MAAM,WAAW,CACf,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAClC,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,uBAAuB,CACxB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CACvB,uDAAuD,CACxD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,cAAc,GAAG,GAAG,SAAS,+BAA+B,CAAC;QAEnE,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAC3C,YAAY,EACZ,uBAAuB,EACvB,cAAc,CACf,CAAC;QAEF,gCAAgC;QAChC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG;YACpC,IAAI,EAAE,QAAQ,CAAC,YAAY;YAC3B,WAAW,EAAE,KAAK;YAClB,cAAc,EAAE,SAAS;YACzB,WAAW,EAAE,QAAQ;YACrB,KAAK;SACN,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,kDAAkD;QAClD,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CACrE,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CACrD,CAAC;IACJ,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;QAEF,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;QACF,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;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-check.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-check.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { expect } from 'chai';
|
|
2
|
+
import { Wallet } from 'ethers';
|
|
3
|
+
import { TokenType, randomAddress, } from '@hyperlane-xyz/sdk';
|
|
4
|
+
import { writeYamlOrJson } from '../../utils/files.js';
|
|
5
|
+
import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, KeyBoardKeys, WARP_DEPLOY_OUTPUT_PATH, deployOrUseExistingCore, deployToken, getCombinedWarpRoutePath, handlePrompts, } from '../commands/helpers.js';
|
|
6
|
+
import { hyperlaneWarpCheck, hyperlaneWarpCheckRaw, hyperlaneWarpDeploy, readWarpConfig, } from '../commands/warp.js';
|
|
7
|
+
describe('hyperlane warp check e2e tests', async function () {
|
|
8
|
+
this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
|
|
9
|
+
let chain2Addresses = {};
|
|
10
|
+
let chain3Addresses = {};
|
|
11
|
+
let token;
|
|
12
|
+
let tokenSymbol;
|
|
13
|
+
let ownerAddress;
|
|
14
|
+
before(async function () {
|
|
15
|
+
[chain2Addresses, chain3Addresses] = await Promise.all([
|
|
16
|
+
deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
17
|
+
deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
18
|
+
]);
|
|
19
|
+
token = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
20
|
+
tokenSymbol = await token.symbol();
|
|
21
|
+
ownerAddress = new Wallet(ANVIL_KEY).address;
|
|
22
|
+
});
|
|
23
|
+
async function deployAndExportWarpRoute(collateralTokenSymbol, collateralTokenAddress) {
|
|
24
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath(collateralTokenSymbol, [CHAIN_NAME_2, CHAIN_NAME_3]);
|
|
25
|
+
const warpConfig = {
|
|
26
|
+
[CHAIN_NAME_2]: {
|
|
27
|
+
type: TokenType.collateral,
|
|
28
|
+
token: collateralTokenAddress,
|
|
29
|
+
mailbox: chain2Addresses.mailbox,
|
|
30
|
+
owner: ownerAddress,
|
|
31
|
+
},
|
|
32
|
+
[CHAIN_NAME_3]: {
|
|
33
|
+
type: TokenType.synthetic,
|
|
34
|
+
mailbox: chain3Addresses.mailbox,
|
|
35
|
+
owner: ownerAddress,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
39
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
40
|
+
const chain2WarpConfig = await readWarpConfig(CHAIN_NAME_2, COMBINED_WARP_CORE_CONFIG_PATH, WARP_DEPLOY_OUTPUT_PATH);
|
|
41
|
+
const chain3WarpConfig = await readWarpConfig(CHAIN_NAME_3, COMBINED_WARP_CORE_CONFIG_PATH, WARP_DEPLOY_OUTPUT_PATH);
|
|
42
|
+
const warpReadResult = {
|
|
43
|
+
[CHAIN_NAME_2]: chain2WarpConfig[CHAIN_NAME_2],
|
|
44
|
+
[CHAIN_NAME_3]: chain3WarpConfig[CHAIN_NAME_3],
|
|
45
|
+
};
|
|
46
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpReadResult);
|
|
47
|
+
return warpReadResult;
|
|
48
|
+
}
|
|
49
|
+
describe('HYP_KEY=... hyperlane warp check --config ...', () => {
|
|
50
|
+
it(`should exit early if no symbol, chain or warp file have been provided`, async function () {
|
|
51
|
+
await deployAndExportWarpRoute(tokenSymbol, token.address);
|
|
52
|
+
const finalOutput = await hyperlaneWarpCheckRaw({
|
|
53
|
+
hypKey: ANVIL_KEY,
|
|
54
|
+
warpDeployPath: WARP_DEPLOY_OUTPUT_PATH,
|
|
55
|
+
})
|
|
56
|
+
.stdio('pipe')
|
|
57
|
+
.nothrow();
|
|
58
|
+
expect(finalOutput.exitCode).to.equal(1);
|
|
59
|
+
expect(finalOutput.text()).to.include('Please specify either a symbol, chain and address or warp file');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('hyperlane warp check --key ... --config ...', () => {
|
|
63
|
+
it(`should exit early if no symbol, chain or warp file have been provided`, async function () {
|
|
64
|
+
await deployAndExportWarpRoute(tokenSymbol, token.address);
|
|
65
|
+
const finalOutput = await hyperlaneWarpCheckRaw({
|
|
66
|
+
privateKey: ANVIL_KEY,
|
|
67
|
+
warpDeployPath: WARP_DEPLOY_OUTPUT_PATH,
|
|
68
|
+
})
|
|
69
|
+
.stdio('pipe')
|
|
70
|
+
.nothrow();
|
|
71
|
+
expect(finalOutput.exitCode).to.equal(1);
|
|
72
|
+
expect(finalOutput.text()).to.include('Please specify either a symbol, chain and address or warp file');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('hyperlane warp check --symbol ... --config ...', () => {
|
|
76
|
+
it(`should not find any differences between the on chain config and the local one`, async function () {
|
|
77
|
+
await deployAndExportWarpRoute(tokenSymbol, token.address);
|
|
78
|
+
const steps = [
|
|
79
|
+
{
|
|
80
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
81
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
85
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
86
|
+
},
|
|
87
|
+
];
|
|
88
|
+
const output = hyperlaneWarpCheckRaw({
|
|
89
|
+
symbol: tokenSymbol,
|
|
90
|
+
warpDeployPath: WARP_DEPLOY_OUTPUT_PATH,
|
|
91
|
+
})
|
|
92
|
+
.stdio('pipe')
|
|
93
|
+
.nothrow();
|
|
94
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
95
|
+
expect(finalOutput.exitCode).to.equal(0);
|
|
96
|
+
expect(finalOutput.text()).to.include('No violations found');
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe('hyperlane warp check --symbol ... --config ... --key ...', () => {
|
|
100
|
+
it(`should not find any differences between the on chain config and the local one`, async function () {
|
|
101
|
+
await deployAndExportWarpRoute(tokenSymbol, token.address);
|
|
102
|
+
const output = await hyperlaneWarpCheck(WARP_DEPLOY_OUTPUT_PATH, tokenSymbol);
|
|
103
|
+
expect(output.exitCode).to.equal(0);
|
|
104
|
+
expect(output.text()).to.includes('No violations found');
|
|
105
|
+
});
|
|
106
|
+
it(`should find differences between the local config and the on chain config`, async function () {
|
|
107
|
+
const warpDeployConfig = await deployAndExportWarpRoute(tokenSymbol, token.address);
|
|
108
|
+
const wrongOwner = randomAddress();
|
|
109
|
+
warpDeployConfig[CHAIN_NAME_3].owner = wrongOwner;
|
|
110
|
+
const expectedDiffText = `EXPECTED: "${wrongOwner.toLowerCase()}"\n`;
|
|
111
|
+
const expectedActualText = `ACTUAL: "${ownerAddress.toLowerCase()}"\n`;
|
|
112
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpDeployConfig);
|
|
113
|
+
const output = await hyperlaneWarpCheck(WARP_DEPLOY_OUTPUT_PATH, tokenSymbol).nothrow();
|
|
114
|
+
expect(output.exitCode).to.equal(1);
|
|
115
|
+
expect(output.text().includes(expectedDiffText)).to.be.true;
|
|
116
|
+
expect(output.text().includes(expectedActualText)).to.be.true;
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=warp-check.e2e-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-check.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-check.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-deploy.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-deploy.e2e-test.ts"],"names":[],"mappings":""}
|