@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
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
import { JsonRpcProvider } from '@ethersproject/providers';
|
|
2
|
+
import * as chai from 'chai';
|
|
3
|
+
import chaiAsPromised from 'chai-as-promised';
|
|
4
|
+
import { Wallet } from 'ethers';
|
|
5
|
+
import { parseUnits } from 'ethers/lib/utils.js';
|
|
6
|
+
import { HookType, IsmType, TokenType, normalizeConfig, } from '@hyperlane-xyz/sdk';
|
|
7
|
+
import { readYamlOrJson, writeYamlOrJson } from '../../utils/files.js';
|
|
8
|
+
import { ANVIL_KEY, CHAIN_2_METADATA_PATH, CHAIN_3_METADATA_PATH, CHAIN_NAME_2, CHAIN_NAME_3, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, KeyBoardKeys, WARP_DEPLOY_OUTPUT_PATH, deploy4626Vault, deployOrUseExistingCore, deployToken, getCombinedWarpRoutePath, handlePrompts, sendWarpRouteMessageRoundTrip, } from '../commands/helpers.js';
|
|
9
|
+
import { generateWarpConfigs, hyperlaneWarpDeploy, hyperlaneWarpDeployRaw, hyperlaneWarpSendRelay, readWarpConfig, } from '../commands/warp.js';
|
|
10
|
+
chai.use(chaiAsPromised);
|
|
11
|
+
const expect = chai.expect;
|
|
12
|
+
chai.should();
|
|
13
|
+
const WARP_CORE_CONFIG_PATH_2_3 = getCombinedWarpRoutePath('VAULT', [
|
|
14
|
+
CHAIN_NAME_2,
|
|
15
|
+
CHAIN_NAME_3,
|
|
16
|
+
]);
|
|
17
|
+
describe('hyperlane warp deploy e2e tests', async function () {
|
|
18
|
+
this.timeout(DEFAULT_E2E_TEST_TIMEOUT);
|
|
19
|
+
let chain2Addresses = {};
|
|
20
|
+
let chain3Addresses = {};
|
|
21
|
+
let ownerAddress;
|
|
22
|
+
let walletChain2;
|
|
23
|
+
let walletChain3;
|
|
24
|
+
before(async function () {
|
|
25
|
+
const chain2Metadata = readYamlOrJson(CHAIN_2_METADATA_PATH);
|
|
26
|
+
const chain3Metadata = readYamlOrJson(CHAIN_3_METADATA_PATH);
|
|
27
|
+
const providerChain2 = new JsonRpcProvider(chain2Metadata.rpcUrls[0].http);
|
|
28
|
+
const providerChain3 = new JsonRpcProvider(chain3Metadata.rpcUrls[0].http);
|
|
29
|
+
walletChain2 = new Wallet(ANVIL_KEY).connect(providerChain2);
|
|
30
|
+
walletChain3 = new Wallet(ANVIL_KEY).connect(providerChain3);
|
|
31
|
+
ownerAddress = walletChain2.address;
|
|
32
|
+
[chain2Addresses, chain3Addresses] = await Promise.all([
|
|
33
|
+
deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
34
|
+
deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
35
|
+
]);
|
|
36
|
+
});
|
|
37
|
+
async function assertWarpRouteConfig(warpDeployConfig, warpCoreConfigPath, chainName, expectedMetadata) {
|
|
38
|
+
const currentWarpDeployConfig = await readWarpConfig(chainName, warpCoreConfigPath, WARP_DEPLOY_OUTPUT_PATH);
|
|
39
|
+
expect(currentWarpDeployConfig[chainName].type).to.equal(warpDeployConfig[chainName].type);
|
|
40
|
+
expect(currentWarpDeployConfig[chainName].decimals).to.equal(warpDeployConfig[chainName].decimals ?? expectedMetadata.decimals);
|
|
41
|
+
expect(currentWarpDeployConfig[chainName].symbol).to.equal(warpDeployConfig[chainName].symbol ?? expectedMetadata.symbol);
|
|
42
|
+
expect(currentWarpDeployConfig[chainName].mailbox).to.equal(chain2Addresses.mailbox);
|
|
43
|
+
}
|
|
44
|
+
describe('hyperlane warp deploy --config ...', () => {
|
|
45
|
+
it(`should exit early when the provided deployment file does not exist`, async function () {
|
|
46
|
+
const nonExistingFilePath = 'non-existing-path';
|
|
47
|
+
// Currently if the file provided in the config flag does not exist a prompt will still be shown to the
|
|
48
|
+
// user to enter a valid file and then it will finally fail
|
|
49
|
+
const steps = [
|
|
50
|
+
{
|
|
51
|
+
check: (currentOutput) => currentOutput.includes('Select Warp route deployment config file'),
|
|
52
|
+
input: `${KeyBoardKeys.ARROW_DOWN}${KeyBoardKeys.ENTER}`,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
check: (currentOutput) => currentOutput.includes('Enter Warp route deployment config filepath'),
|
|
56
|
+
input: `${nonExistingFilePath}${KeyBoardKeys.ENTER}`,
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
const output = hyperlaneWarpDeployRaw({
|
|
60
|
+
warpCorePath: nonExistingFilePath,
|
|
61
|
+
})
|
|
62
|
+
.stdio('pipe')
|
|
63
|
+
.nothrow();
|
|
64
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
65
|
+
expect(finalOutput.exitCode).to.equal(1);
|
|
66
|
+
expect(finalOutput
|
|
67
|
+
.text()
|
|
68
|
+
.includes(`No "Warp route deployment config" found in`) ||
|
|
69
|
+
finalOutput
|
|
70
|
+
.text()
|
|
71
|
+
.includes(`Invalid file format for ${nonExistingFilePath}`)).to.be.true;
|
|
72
|
+
});
|
|
73
|
+
it(`should successfully deploy a ${TokenType.collateral} -> ${TokenType.synthetic} warp route`, async function () {
|
|
74
|
+
const token = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
75
|
+
const [expectedTokenSymbol, expectedTokenDecimals] = await Promise.all([
|
|
76
|
+
token.symbol(),
|
|
77
|
+
token.decimals(),
|
|
78
|
+
]);
|
|
79
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath(expectedTokenSymbol, [CHAIN_NAME_2, CHAIN_NAME_3]);
|
|
80
|
+
const warpConfig = {
|
|
81
|
+
[CHAIN_NAME_2]: {
|
|
82
|
+
type: TokenType.collateral,
|
|
83
|
+
token: token.address,
|
|
84
|
+
mailbox: chain2Addresses.mailbox,
|
|
85
|
+
owner: ownerAddress,
|
|
86
|
+
},
|
|
87
|
+
[CHAIN_NAME_3]: {
|
|
88
|
+
type: TokenType.synthetic,
|
|
89
|
+
mailbox: chain3Addresses.mailbox,
|
|
90
|
+
owner: ownerAddress,
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
94
|
+
const steps = [
|
|
95
|
+
{
|
|
96
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
97
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
101
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
check: (currentOutput) => currentOutput.includes('Is this deployment plan correct?'),
|
|
105
|
+
input: KeyBoardKeys.ENTER,
|
|
106
|
+
},
|
|
107
|
+
];
|
|
108
|
+
// Deploy
|
|
109
|
+
const output = hyperlaneWarpDeployRaw({
|
|
110
|
+
warpCorePath: WARP_DEPLOY_OUTPUT_PATH,
|
|
111
|
+
})
|
|
112
|
+
.stdio('pipe')
|
|
113
|
+
.nothrow();
|
|
114
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
115
|
+
// Assertions
|
|
116
|
+
expect(finalOutput.exitCode).to.equal(0);
|
|
117
|
+
for (const chainName of [CHAIN_NAME_2, CHAIN_NAME_3]) {
|
|
118
|
+
await assertWarpRouteConfig(warpConfig, COMBINED_WARP_CORE_CONFIG_PATH, chainName, { decimals: expectedTokenDecimals, symbol: expectedTokenSymbol });
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('hyperlane warp deploy --config ... --yes', () => {
|
|
123
|
+
it(`should exit early when the provided deployment file does not exist and the skip flag is provided`, async function () {
|
|
124
|
+
const nonExistingFilePath = 'non-existing-path';
|
|
125
|
+
// Currently if the file provided in the config flag does not exist a prompt will still be shown to the
|
|
126
|
+
// user to enter a valid file and then it will finally fail
|
|
127
|
+
const steps = [
|
|
128
|
+
{
|
|
129
|
+
check: (currentOutput) => currentOutput.includes('Select Warp route deployment config file'),
|
|
130
|
+
input: `${KeyBoardKeys.ARROW_DOWN}${KeyBoardKeys.ENTER}`,
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
check: (currentOutput) => currentOutput.includes('Enter Warp route deployment config filepath'),
|
|
134
|
+
input: `${nonExistingFilePath}${KeyBoardKeys.ENTER}`,
|
|
135
|
+
},
|
|
136
|
+
];
|
|
137
|
+
const output = hyperlaneWarpDeployRaw({
|
|
138
|
+
warpCorePath: nonExistingFilePath,
|
|
139
|
+
skipConfirmationPrompts: true,
|
|
140
|
+
})
|
|
141
|
+
.stdio('pipe')
|
|
142
|
+
.nothrow();
|
|
143
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
144
|
+
expect(finalOutput.exitCode).to.equal(1);
|
|
145
|
+
expect(finalOutput.text()).to.include(`Warp route deployment config is required`);
|
|
146
|
+
});
|
|
147
|
+
it(`should successfully deploy a ${TokenType.collateral} -> ${TokenType.synthetic} warp route`, async function () {
|
|
148
|
+
const token = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
149
|
+
const [expectedTokenSymbol, expectedTokenDecimals] = await Promise.all([
|
|
150
|
+
token.symbol(),
|
|
151
|
+
token.decimals(),
|
|
152
|
+
]);
|
|
153
|
+
console.log(expectedTokenDecimals);
|
|
154
|
+
const COMBINED_WARP_CORE_CONFIG_PATH = getCombinedWarpRoutePath(expectedTokenSymbol, [CHAIN_NAME_2, CHAIN_NAME_3]);
|
|
155
|
+
const warpConfig = {
|
|
156
|
+
[CHAIN_NAME_2]: {
|
|
157
|
+
type: TokenType.collateral,
|
|
158
|
+
token: token.address,
|
|
159
|
+
mailbox: chain2Addresses.mailbox,
|
|
160
|
+
owner: ownerAddress,
|
|
161
|
+
},
|
|
162
|
+
[CHAIN_NAME_3]: {
|
|
163
|
+
type: TokenType.synthetic,
|
|
164
|
+
mailbox: chain3Addresses.mailbox,
|
|
165
|
+
owner: ownerAddress,
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
169
|
+
const steps = [
|
|
170
|
+
{
|
|
171
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
172
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
176
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
177
|
+
},
|
|
178
|
+
];
|
|
179
|
+
// Deploy
|
|
180
|
+
const output = hyperlaneWarpDeployRaw({
|
|
181
|
+
warpCorePath: WARP_DEPLOY_OUTPUT_PATH,
|
|
182
|
+
skipConfirmationPrompts: true,
|
|
183
|
+
})
|
|
184
|
+
.stdio('pipe')
|
|
185
|
+
.nothrow();
|
|
186
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
187
|
+
// Assertions
|
|
188
|
+
expect(finalOutput.exitCode).to.equal(0);
|
|
189
|
+
for (const chainName of [CHAIN_NAME_2, CHAIN_NAME_3]) {
|
|
190
|
+
await assertWarpRouteConfig(warpConfig, COMBINED_WARP_CORE_CONFIG_PATH, chainName, { decimals: expectedTokenDecimals, symbol: expectedTokenSymbol });
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
describe(`hyperlane warp deploy --config ... --yes --key ...`, () => {
|
|
195
|
+
let tokenChain2;
|
|
196
|
+
let tokenChain2Symbol;
|
|
197
|
+
let vaultChain2;
|
|
198
|
+
let tokenVaultChain2Symbol;
|
|
199
|
+
let tokenChain3;
|
|
200
|
+
let tokenChain3Symbol;
|
|
201
|
+
let vaultChain3;
|
|
202
|
+
let tokenVaultChain3Symbol;
|
|
203
|
+
let warpConfigTestCases;
|
|
204
|
+
before(async () => {
|
|
205
|
+
tokenChain2 = await deployToken(ANVIL_KEY, CHAIN_NAME_2);
|
|
206
|
+
vaultChain2 = await deploy4626Vault(ANVIL_KEY, CHAIN_NAME_2, tokenChain2.address);
|
|
207
|
+
[tokenChain2Symbol, tokenVaultChain2Symbol] = await Promise.all([
|
|
208
|
+
tokenChain2.symbol(),
|
|
209
|
+
vaultChain2.symbol(),
|
|
210
|
+
]);
|
|
211
|
+
tokenChain3 = await deployToken(ANVIL_KEY, CHAIN_NAME_3);
|
|
212
|
+
vaultChain3 = await deploy4626Vault(ANVIL_KEY, CHAIN_NAME_3, tokenChain3.address);
|
|
213
|
+
[tokenChain3Symbol, tokenVaultChain3Symbol] = await Promise.all([
|
|
214
|
+
tokenChain3.symbol(),
|
|
215
|
+
vaultChain3.symbol(),
|
|
216
|
+
]);
|
|
217
|
+
warpConfigTestCases = generateWarpConfigs({
|
|
218
|
+
chainName: CHAIN_NAME_2,
|
|
219
|
+
mailbox: chain2Addresses.mailbox,
|
|
220
|
+
owner: ownerAddress,
|
|
221
|
+
token: tokenChain2.address,
|
|
222
|
+
vault: vaultChain2.address,
|
|
223
|
+
}, {
|
|
224
|
+
chainName: CHAIN_NAME_3,
|
|
225
|
+
mailbox: chain3Addresses.mailbox,
|
|
226
|
+
owner: ownerAddress,
|
|
227
|
+
token: tokenChain3.address,
|
|
228
|
+
vault: vaultChain3.address,
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
function getTokenSymbolFromDeployment(warpConfig) {
|
|
232
|
+
let symbol;
|
|
233
|
+
if (warpConfig[CHAIN_NAME_2].type.match(/.*vault.*/i)) {
|
|
234
|
+
symbol = tokenVaultChain2Symbol;
|
|
235
|
+
}
|
|
236
|
+
else if (warpConfig[CHAIN_NAME_2].type.match(/.*collateral.*/i)) {
|
|
237
|
+
symbol = tokenChain2Symbol;
|
|
238
|
+
}
|
|
239
|
+
else if (warpConfig[CHAIN_NAME_3].type.match(/.*vault.*/i)) {
|
|
240
|
+
symbol = tokenVaultChain3Symbol;
|
|
241
|
+
}
|
|
242
|
+
else if (warpConfig[CHAIN_NAME_3].type.match(/.*collateral.*/i)) {
|
|
243
|
+
symbol = tokenChain3Symbol;
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
symbol = 'ETH';
|
|
247
|
+
}
|
|
248
|
+
return symbol;
|
|
249
|
+
}
|
|
250
|
+
async function collateralizeWarpTokens(routeConfigPath, warpDeployConfig, walletAndCollateralByChain) {
|
|
251
|
+
const config = readYamlOrJson(routeConfigPath).tokens.reduce((acc, curr) => ({ ...acc, [curr.chainName]: curr }), {});
|
|
252
|
+
await Promise.all([CHAIN_NAME_2, CHAIN_NAME_3]
|
|
253
|
+
.filter((chainName) => walletAndCollateralByChain[chainName])
|
|
254
|
+
.map(async (chainName) => {
|
|
255
|
+
if (warpDeployConfig[chainName].type.match(/.*native/i)) {
|
|
256
|
+
const tx = await walletAndCollateralByChain[chainName].wallet.sendTransaction({
|
|
257
|
+
to: config[chainName].addressOrDenom,
|
|
258
|
+
value: 1000000000,
|
|
259
|
+
});
|
|
260
|
+
await tx.wait();
|
|
261
|
+
}
|
|
262
|
+
if (!warpDeployConfig[chainName].type.match(/.*synthetic/i) &&
|
|
263
|
+
warpDeployConfig[chainName].type.match(/.*collateral/i)) {
|
|
264
|
+
const decimals = await walletAndCollateralByChain[chainName].collateral.decimals();
|
|
265
|
+
const tx = await walletAndCollateralByChain[chainName].collateral.transfer(config[chainName].addressOrDenom, parseUnits('1', decimals));
|
|
266
|
+
await tx.wait();
|
|
267
|
+
}
|
|
268
|
+
}));
|
|
269
|
+
}
|
|
270
|
+
it('Should deploy and bridge different types of warp routes:', async function () {
|
|
271
|
+
// Timeout increased only for this test because it runs multiple times with different deployment configs
|
|
272
|
+
this.timeout(warpConfigTestCases.length * DEFAULT_E2E_TEST_TIMEOUT);
|
|
273
|
+
for (const warpConfig of warpConfigTestCases) {
|
|
274
|
+
console.log(`Should deploy and be able to bridge in a ${warpConfig[CHAIN_NAME_2].type} -> ${warpConfig[CHAIN_NAME_3].type} warp route ...`);
|
|
275
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
276
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
277
|
+
let startChain, targetChain;
|
|
278
|
+
if (!warpConfig[CHAIN_NAME_2].type.match(/.*synthetic.*/i)) {
|
|
279
|
+
startChain = CHAIN_NAME_2;
|
|
280
|
+
targetChain = CHAIN_NAME_3;
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
startChain = CHAIN_NAME_3;
|
|
284
|
+
targetChain = CHAIN_NAME_2;
|
|
285
|
+
}
|
|
286
|
+
const symbol = getTokenSymbolFromDeployment(warpConfig);
|
|
287
|
+
const routeConfigPath = getCombinedWarpRoutePath(symbol, [
|
|
288
|
+
CHAIN_NAME_2,
|
|
289
|
+
CHAIN_NAME_3,
|
|
290
|
+
]);
|
|
291
|
+
await collateralizeWarpTokens(routeConfigPath, warpConfig, {
|
|
292
|
+
[CHAIN_NAME_2]: {
|
|
293
|
+
wallet: walletChain2,
|
|
294
|
+
collateral: tokenChain2,
|
|
295
|
+
},
|
|
296
|
+
[CHAIN_NAME_3]: {
|
|
297
|
+
wallet: walletChain3,
|
|
298
|
+
collateral: tokenChain3,
|
|
299
|
+
},
|
|
300
|
+
});
|
|
301
|
+
await sendWarpRouteMessageRoundTrip(startChain, targetChain, routeConfigPath);
|
|
302
|
+
console.log(`Should deploy and be able to bridge in a ${warpConfig[CHAIN_NAME_2].type} -> ${warpConfig[CHAIN_NAME_3].type} warp route ✅`);
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
it('should only allow rebasing yield route to be deployed with rebasing synthetic', async function () {
|
|
306
|
+
const warpConfig = {
|
|
307
|
+
[CHAIN_NAME_2]: {
|
|
308
|
+
type: TokenType.collateralVaultRebase,
|
|
309
|
+
token: vaultChain2.address,
|
|
310
|
+
mailbox: chain2Addresses.mailbox,
|
|
311
|
+
owner: chain2Addresses.mailbox,
|
|
312
|
+
},
|
|
313
|
+
[CHAIN_NAME_3]: {
|
|
314
|
+
type: TokenType.synthetic,
|
|
315
|
+
mailbox: chain2Addresses.mailbox,
|
|
316
|
+
owner: chain2Addresses.mailbox,
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
320
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH).should.be.rejected; // TODO: revisit this to figure out how to parse the error.
|
|
321
|
+
});
|
|
322
|
+
it('should deploy with an ISM config', async () => {
|
|
323
|
+
// 1. Define ISM configuration
|
|
324
|
+
const ism = {
|
|
325
|
+
type: IsmType.MESSAGE_ID_MULTISIG,
|
|
326
|
+
validators: [chain2Addresses.mailbox], // Using mailbox address as example validator
|
|
327
|
+
threshold: 1,
|
|
328
|
+
};
|
|
329
|
+
// 2. Create Warp configuration with ISM
|
|
330
|
+
const warpConfig = {
|
|
331
|
+
[CHAIN_NAME_2]: {
|
|
332
|
+
type: TokenType.collateralVaultRebase,
|
|
333
|
+
token: vaultChain2.address,
|
|
334
|
+
mailbox: chain2Addresses.mailbox,
|
|
335
|
+
owner: chain2Addresses.mailbox,
|
|
336
|
+
interchainSecurityModule: ism, // Add ISM config here
|
|
337
|
+
},
|
|
338
|
+
[CHAIN_NAME_3]: {
|
|
339
|
+
type: TokenType.syntheticRebase,
|
|
340
|
+
mailbox: chain3Addresses.mailbox,
|
|
341
|
+
owner: chain3Addresses.mailbox,
|
|
342
|
+
collateralChainName: CHAIN_NAME_2,
|
|
343
|
+
},
|
|
344
|
+
};
|
|
345
|
+
// 3. Write config and deploy
|
|
346
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
347
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
348
|
+
// 4. Verify deployed ISM configuration
|
|
349
|
+
const collateralRebaseConfig = (await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3, WARP_DEPLOY_OUTPUT_PATH))[CHAIN_NAME_2];
|
|
350
|
+
expect(normalizeConfig(collateralRebaseConfig.interchainSecurityModule)).to.deep.equal(normalizeConfig(ism));
|
|
351
|
+
});
|
|
352
|
+
it('should deploy with a hook config', async () => {
|
|
353
|
+
const hook = {
|
|
354
|
+
type: HookType.PROTOCOL_FEE,
|
|
355
|
+
beneficiary: chain2Addresses.mailbox,
|
|
356
|
+
owner: chain2Addresses.mailbox,
|
|
357
|
+
maxProtocolFee: '1337',
|
|
358
|
+
protocolFee: '1337',
|
|
359
|
+
};
|
|
360
|
+
const warpConfig = {
|
|
361
|
+
[CHAIN_NAME_2]: {
|
|
362
|
+
type: TokenType.collateralVaultRebase,
|
|
363
|
+
token: vaultChain2.address,
|
|
364
|
+
mailbox: chain2Addresses.mailbox,
|
|
365
|
+
owner: chain2Addresses.mailbox,
|
|
366
|
+
hook,
|
|
367
|
+
},
|
|
368
|
+
[CHAIN_NAME_3]: {
|
|
369
|
+
type: TokenType.syntheticRebase,
|
|
370
|
+
mailbox: chain3Addresses.mailbox,
|
|
371
|
+
owner: chain3Addresses.mailbox,
|
|
372
|
+
collateralChainName: CHAIN_NAME_2,
|
|
373
|
+
},
|
|
374
|
+
};
|
|
375
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
376
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
377
|
+
// Check collateralRebase
|
|
378
|
+
const collateralRebaseConfig = (await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3, WARP_DEPLOY_OUTPUT_PATH))[CHAIN_NAME_2];
|
|
379
|
+
expect(normalizeConfig(collateralRebaseConfig.hook)).to.deep.equal(normalizeConfig(hook));
|
|
380
|
+
});
|
|
381
|
+
it('should send a message from origin to destination in the correct order', async function () {
|
|
382
|
+
const warpConfig = {
|
|
383
|
+
[CHAIN_NAME_2]: {
|
|
384
|
+
type: TokenType.collateralVaultRebase,
|
|
385
|
+
token: vaultChain2.address,
|
|
386
|
+
mailbox: chain2Addresses.mailbox,
|
|
387
|
+
owner: chain2Addresses.mailbox,
|
|
388
|
+
},
|
|
389
|
+
[CHAIN_NAME_3]: {
|
|
390
|
+
type: TokenType.syntheticRebase,
|
|
391
|
+
mailbox: chain3Addresses.mailbox,
|
|
392
|
+
owner: chain3Addresses.mailbox,
|
|
393
|
+
collateralChainName: CHAIN_NAME_2,
|
|
394
|
+
},
|
|
395
|
+
};
|
|
396
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
397
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
398
|
+
// Try to send a transaction with the origin destination
|
|
399
|
+
const { stdout: chain2Tochain3Stdout } = await hyperlaneWarpSendRelay(CHAIN_NAME_2, CHAIN_NAME_3, WARP_CORE_CONFIG_PATH_2_3);
|
|
400
|
+
expect(chain2Tochain3Stdout).to.include('anvil2 ➡️ anvil3');
|
|
401
|
+
// Send another message with swapped origin destination
|
|
402
|
+
const { stdout: chain3Tochain2Stdout } = await hyperlaneWarpSendRelay(CHAIN_NAME_3, CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2_3);
|
|
403
|
+
expect(chain3Tochain2Stdout).to.include('anvil3 ➡️ anvil2');
|
|
404
|
+
// Should throw if invalid origin or destination
|
|
405
|
+
await hyperlaneWarpSendRelay('anvil1', CHAIN_NAME_3, WARP_CORE_CONFIG_PATH_2_3).should.be.rejectedWith('Error: Origin (anvil1) or destination (anvil3) are not part of the warp route.');
|
|
406
|
+
});
|
|
407
|
+
});
|
|
408
|
+
});
|
|
409
|
+
//# sourceMappingURL=warp-deploy.e2e-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-deploy.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-deploy.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-init.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-init.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
2
|
import { Wallet } from 'ethers';
|
|
3
3
|
import { TokenType, } from '@hyperlane-xyz/sdk';
|
|
4
|
-
import { readYamlOrJson } from '
|
|
5
|
-
import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CONFIRM_DETECTED_OWNER_STEP, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, KeyBoardKeys, SELECT_ANVIL_2_AND_ANVIL_3_STEPS, SELECT_ANVIL_2_FROM_MULTICHAIN_PICKER, SELECT_MAINNET_CHAIN_TYPE_STEP, WARP_CONFIG_PATH_2, deployOrUseExistingCore, deployToken, handlePrompts, } from '
|
|
6
|
-
import { hyperlaneWarpInit } from '
|
|
4
|
+
import { readYamlOrJson } from '../../utils/files.js';
|
|
5
|
+
import { ANVIL_KEY, CHAIN_NAME_2, CHAIN_NAME_3, CONFIRM_DETECTED_OWNER_STEP, CORE_CONFIG_PATH, DEFAULT_E2E_TEST_TIMEOUT, KeyBoardKeys, SELECT_ANVIL_2_AND_ANVIL_3_STEPS, SELECT_ANVIL_2_FROM_MULTICHAIN_PICKER, SELECT_MAINNET_CHAIN_TYPE_STEP, WARP_CONFIG_PATH_2, deployOrUseExistingCore, deployToken, handlePrompts, } from '../commands/helpers.js';
|
|
6
|
+
import { hyperlaneWarpInit } from '../commands/warp.js';
|
|
7
7
|
describe('hyperlane warp init e2e tests', async function () {
|
|
8
8
|
this.timeout(2 * DEFAULT_E2E_TEST_TIMEOUT);
|
|
9
9
|
let chain2Addresses = {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-init.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-init.e2e-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-read.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-read.e2e-test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,107 @@
|
|
|
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, KeyBoardKeys, WARP_CONFIG_PATH_2, WARP_CONFIG_PATH_EXAMPLE, WARP_CORE_CONFIG_PATH_2, WARP_DEPLOY_OUTPUT_PATH, deployOrUseExistingCore, handlePrompts, } from '../commands/helpers.js';
|
|
6
|
+
import { hyperlaneWarpDeploy, hyperlaneWarpReadRaw, readWarpConfig, } from '../commands/warp.js';
|
|
7
|
+
describe('hyperlane warp read e2e tests', async function () {
|
|
8
|
+
this.timeout(DEFAULT_E2E_TEST_TIMEOUT);
|
|
9
|
+
let anvil2Config;
|
|
10
|
+
let chain2Addresses = {};
|
|
11
|
+
let chain3Addresses = {};
|
|
12
|
+
let ownerAddress;
|
|
13
|
+
before(async function () {
|
|
14
|
+
[chain2Addresses, chain3Addresses] = await Promise.all([
|
|
15
|
+
deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
16
|
+
deployOrUseExistingCore(CHAIN_NAME_3, CORE_CONFIG_PATH, ANVIL_KEY),
|
|
17
|
+
]);
|
|
18
|
+
ownerAddress = new Wallet(ANVIL_KEY).address;
|
|
19
|
+
});
|
|
20
|
+
before(async function () {
|
|
21
|
+
await deployOrUseExistingCore(CHAIN_NAME_2, CORE_CONFIG_PATH, ANVIL_KEY);
|
|
22
|
+
// Create a new warp config using the example
|
|
23
|
+
const exampleWarpConfig = readYamlOrJson(WARP_CONFIG_PATH_EXAMPLE);
|
|
24
|
+
anvil2Config = { [CHAIN_NAME_2]: { ...exampleWarpConfig.anvil1 } };
|
|
25
|
+
writeYamlOrJson(WARP_CONFIG_PATH_2, anvil2Config);
|
|
26
|
+
});
|
|
27
|
+
describe('hyperlane warp read --key ... --config ...', () => {
|
|
28
|
+
it('should exit early if no symbol, chain or warp file have been provided', async () => {
|
|
29
|
+
await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
|
|
30
|
+
const output = await hyperlaneWarpReadRaw({
|
|
31
|
+
privateKey: ANVIL_KEY,
|
|
32
|
+
outputPath: WARP_CONFIG_PATH_2,
|
|
33
|
+
}).nothrow();
|
|
34
|
+
expect(output.exitCode).to.equal(1);
|
|
35
|
+
expect(output.text()).to.include('Please specify either a symbol, chain and address or warp file');
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
describe('hyperlane warp read --config ... --symbol ...', () => {
|
|
39
|
+
it('should successfully read the complete warp route config from all the chains', async () => {
|
|
40
|
+
await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
|
|
41
|
+
const steps = [
|
|
42
|
+
{
|
|
43
|
+
check: (currentOutput) => currentOutput.includes('Please enter the private key for chain'),
|
|
44
|
+
input: `${ANVIL_KEY}${KeyBoardKeys.ENTER}`,
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
const output = hyperlaneWarpReadRaw({
|
|
48
|
+
symbol: 'ETH',
|
|
49
|
+
outputPath: WARP_CONFIG_PATH_2,
|
|
50
|
+
})
|
|
51
|
+
.stdio('pipe')
|
|
52
|
+
.nothrow();
|
|
53
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
54
|
+
expect(finalOutput.exitCode).to.equal(0);
|
|
55
|
+
const warpReadResult = readYamlOrJson(WARP_CONFIG_PATH_2);
|
|
56
|
+
expect(warpReadResult[CHAIN_NAME_2]).not.to.be.undefined;
|
|
57
|
+
expect(warpReadResult[CHAIN_NAME_2].type).to.equal(TokenType.native);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('hyperlane warp read --key ... --symbol ...', () => {
|
|
61
|
+
it('should successfully read the complete warp route config from all the chains', async () => {
|
|
62
|
+
const warpConfig = {
|
|
63
|
+
[CHAIN_NAME_2]: {
|
|
64
|
+
type: TokenType.native,
|
|
65
|
+
mailbox: chain2Addresses.mailbox,
|
|
66
|
+
owner: ownerAddress,
|
|
67
|
+
},
|
|
68
|
+
[CHAIN_NAME_3]: {
|
|
69
|
+
type: TokenType.synthetic,
|
|
70
|
+
mailbox: chain3Addresses.mailbox,
|
|
71
|
+
owner: ownerAddress,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
writeYamlOrJson(WARP_DEPLOY_OUTPUT_PATH, warpConfig);
|
|
75
|
+
await hyperlaneWarpDeploy(WARP_DEPLOY_OUTPUT_PATH);
|
|
76
|
+
const steps = [
|
|
77
|
+
// Select the anvil2-anvil3 ETH route from the selection prompt
|
|
78
|
+
{
|
|
79
|
+
check: (currentOutput) => currentOutput.includes('Select from matching warp routes'),
|
|
80
|
+
input: KeyBoardKeys.ENTER,
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
const output = hyperlaneWarpReadRaw({
|
|
84
|
+
privateKey: ANVIL_KEY,
|
|
85
|
+
symbol: 'ETH',
|
|
86
|
+
outputPath: WARP_DEPLOY_OUTPUT_PATH,
|
|
87
|
+
})
|
|
88
|
+
.stdio('pipe')
|
|
89
|
+
.nothrow();
|
|
90
|
+
const finalOutput = await handlePrompts(output, steps);
|
|
91
|
+
expect(finalOutput.exitCode).to.equal(0);
|
|
92
|
+
const warpReadResult = readYamlOrJson(WARP_DEPLOY_OUTPUT_PATH);
|
|
93
|
+
expect(warpReadResult[CHAIN_NAME_2]).not.to.be.undefined;
|
|
94
|
+
expect(warpReadResult[CHAIN_NAME_2].type).to.equal(TokenType.native);
|
|
95
|
+
expect(warpReadResult[CHAIN_NAME_3]).not.to.be.undefined;
|
|
96
|
+
expect(warpReadResult[CHAIN_NAME_3].type).to.equal(TokenType.synthetic);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe('hyperlane warp read --key ... --chain ... --config ...', () => {
|
|
100
|
+
it('should be able to read a warp route', async function () {
|
|
101
|
+
await hyperlaneWarpDeploy(WARP_CONFIG_PATH_2);
|
|
102
|
+
const warpReadResult = await readWarpConfig(CHAIN_NAME_2, WARP_CORE_CONFIG_PATH_2, WARP_DEPLOY_OUTPUT_PATH);
|
|
103
|
+
expect(warpReadResult[CHAIN_NAME_2].type).to.be.equal(anvil2Config[CHAIN_NAME_2].type);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=warp-read.e2e-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-read.e2e-test.js","sourceRoot":"","sources":["../../../../src/tests/warp/warp-read.e2e-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EAEZ,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,+BAA+B,EAAE,KAAK;IAC7C,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEvC,IAAI,YAAmC,CAAC;IAExC,IAAI,eAAe,GAAmB,EAAE,CAAC;IACzC,IAAI,eAAe,GAAmB,EAAE,CAAC;IAEzC,IAAI,YAAqB,CAAC;IAE1B,MAAM,CAAC,KAAK;QACV,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC;YAClE,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC;SACnE,CAAC,CAAC;QAEH,YAAY,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK;QACV,MAAM,uBAAuB,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;QAEzE,6CAA6C;QAC7C,MAAM,iBAAiB,GAA0B,cAAc,CAC7D,wBAAwB,CACzB,CAAC;QACF,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;QACnE,eAAe,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC;gBACxC,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,kBAAkB;aAC/B,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAC9B,gEAAgE,CACjE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+CAA+C,EAAE,GAAG,EAAE;QAC7D,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,KAAK,GAAuB;gBAChC;oBACE,KAAK,EAAE,CAAC,aAAa,EAAE,EAAE,CACvB,aAAa,CAAC,QAAQ,CAAC,wCAAwC,CAAC;oBAClE,KAAK,EAAE,GAAG,SAAS,GAAG,YAAY,CAAC,KAAK,EAAE;iBAC3C;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,kBAAkB;aAC/B,CAAC;iBACC,KAAK,CAAC,MAAM,CAAC;iBACb,OAAO,EAAE,CAAC;YAEb,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,cAAc,GAClB,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACrC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YACzD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YAC3F,MAAM,UAAU,GAA0B;gBACxC,CAAC,YAAY,CAAC,EAAE;oBACd,IAAI,EAAE,SAAS,CAAC,MAAM;oBACtB,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,KAAK,EAAE,YAAY;iBACpB;gBACD,CAAC,YAAY,CAAC,EAAE;oBACd,IAAI,EAAE,SAAS,CAAC,SAAS;oBACzB,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,KAAK,EAAE,YAAY;iBACpB;aACF,CAAC;YAEF,eAAe,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;YACrD,MAAM,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAEnD,MAAM,KAAK,GAAuB;gBAChC,+DAA+D;gBAC/D;oBACE,KAAK,EAAE,CAAC,aAAqB,EAAE,EAAE,CAC/B,aAAa,CAAC,QAAQ,CAAC,kCAAkC,CAAC;oBAC5D,KAAK,EAAE,YAAY,CAAC,KAAK;iBAC1B;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBAClC,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,uBAAuB;aACpC,CAAC;iBACC,KAAK,CAAC,MAAM,CAAC;iBACb,OAAO,EAAE,CAAC;YAEb,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEzC,MAAM,cAAc,GAA0B,cAAc,CAC1D,uBAAuB,CACxB,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YACzD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAErE,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YACzD,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wDAAwD,EAAE,GAAG,EAAE;QACtE,EAAE,CAAC,qCAAqC,EAAE,KAAK;YAC7C,MAAM,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;YAE9C,MAAM,cAAc,GAA0B,MAAM,cAAc,CAChE,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,CACxB,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CACnD,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAChC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warp-send.e2e-test.d.ts","sourceRoot":"","sources":["../../../../src/tests/warp/warp-send.e2e-test.ts"],"names":[],"mappings":""}
|