@aztec/end-to-end 0.0.1-commit.b655e406 → 0.0.1-commit.d3ec352c
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/dest/bench/client_flows/benchmark.d.ts +1 -1
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +8 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +53 -30
- package/dest/bench/client_flows/config.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.js +5 -27
- package/dest/bench/utils.d.ts +2 -2
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +2 -2
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +4 -3
- package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +9 -8
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +8 -7
- package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
- package/dest/e2e_fees/bridging_race.notest.js +1 -1
- package/dest/e2e_fees/fees_test.d.ts +3 -2
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +12 -9
- package/dest/e2e_l1_publisher/write_json.d.ts +1 -1
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +5 -4
- package/dest/e2e_multi_validator/utils.d.ts +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +4 -3
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +2 -2
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +6 -2
- package/dest/e2e_p2p/p2p_network.d.ts +214 -9
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +5 -3
- package/dest/e2e_p2p/shared.d.ts +5 -5
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +6 -5
- package/dest/e2e_token_contract/token_contract_test.d.ts +1 -1
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +2 -2
- package/dest/fixtures/e2e_prover_test.d.ts +3 -1
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +18 -14
- package/dest/fixtures/fixtures.d.ts +1 -1
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +1 -1
- package/dest/fixtures/get_acvm_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/index.d.ts +1 -1
- package/dest/fixtures/l1_to_l2_messaging.d.ts +1 -1
- package/dest/fixtures/logging.d.ts +1 -1
- package/dest/fixtures/setup_l1_contracts.d.ts +475 -4
- package/dest/fixtures/setup_l1_contracts.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.d.ts +4 -4
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +15 -7
- package/dest/fixtures/snapshot_manager.d.ts +2 -2
- package/dest/fixtures/snapshot_manager.d.ts.map +1 -1
- package/dest/fixtures/token_utils.d.ts +5 -2
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +7 -4
- package/dest/fixtures/utils.d.ts +451 -5
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +11 -12
- package/dest/fixtures/web3signer.d.ts +1 -1
- package/dest/fixtures/with_telemetry_utils.d.ts +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/quality_of_service/alert_checker.d.ts +1 -1
- package/dest/quality_of_service/alert_checker.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.d.ts +3 -13
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.d.ts +1 -11
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +1 -1
- package/dest/shared/index.d.ts +1 -1
- package/dest/shared/jest_setup.d.ts +1 -1
- package/dest/shared/submit-transactions.d.ts +1 -1
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +11 -11
- package/dest/simulators/index.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts +1 -5
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +4 -2
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.d.ts +5 -3
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +43 -9
- package/dest/spartan/utils.d.ts +22 -19
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +66 -33
- package/package.json +42 -40
- package/src/bench/client_flows/client_flows_benchmark.ts +75 -30
- package/src/bench/client_flows/data_extractor.ts +6 -28
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +2 -2
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +4 -3
- package/src/e2e_deploy_contract/deploy_test.ts +1 -1
- package/src/e2e_epochs/epochs_test.ts +15 -14
- package/src/e2e_fees/bridging_race.notest.ts +1 -1
- package/src/e2e_fees/fees_test.ts +15 -11
- package/src/e2e_l1_publisher/write_json.ts +5 -4
- package/src/e2e_nested_contract/nested_contract_test.ts +4 -3
- package/src/e2e_p2p/inactivity_slash_test.ts +6 -2
- package/src/e2e_p2p/p2p_network.ts +7 -3
- package/src/e2e_p2p/shared.ts +8 -5
- package/src/e2e_token_contract/token_contract_test.ts +2 -2
- package/src/fixtures/e2e_prover_test.ts +15 -16
- package/src/fixtures/fixtures.ts +1 -2
- package/src/fixtures/setup_p2p_test.ts +20 -6
- package/src/fixtures/token_utils.ts +4 -4
- package/src/fixtures/utils.ts +36 -17
- package/src/guides/up_quick_start.sh +1 -1
- package/src/shared/cross_chain_test_harness.ts +2 -1
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/uniswap_l1_l2.ts +11 -11
- package/src/simulators/lending_simulator.ts +4 -2
- package/src/spartan/DEVELOP.md +7 -0
- package/src/spartan/setup_test_wallets.ts +47 -11
- package/src/spartan/utils.ts +73 -32
package/src/spartan/utils.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
2
2
|
import type { RollupCheatCodes } from '@aztec/aztec/testing';
|
|
3
3
|
import type { L1ContractAddresses, ViemPublicClient } from '@aztec/ethereum';
|
|
4
|
+
import type { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
4
5
|
import type { Logger } from '@aztec/foundation/log';
|
|
6
|
+
import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
5
7
|
import { makeBackoff, retry } from '@aztec/foundation/retry';
|
|
6
8
|
import { schemas } from '@aztec/foundation/schemas';
|
|
7
9
|
import { sleep } from '@aztec/foundation/sleep';
|
|
@@ -160,9 +162,42 @@ export async function startPortForward({
|
|
|
160
162
|
return { process, port };
|
|
161
163
|
}
|
|
162
164
|
|
|
163
|
-
export function
|
|
165
|
+
export function getExternalIP(namespace: string, serviceName: string): Promise<string> {
|
|
166
|
+
const { promise, resolve, reject } = promiseWithResolvers<string>();
|
|
167
|
+
const process = spawn(
|
|
168
|
+
'kubectl',
|
|
169
|
+
[
|
|
170
|
+
'get',
|
|
171
|
+
'service',
|
|
172
|
+
'-n',
|
|
173
|
+
namespace,
|
|
174
|
+
`${namespace}-${serviceName}`,
|
|
175
|
+
'--output',
|
|
176
|
+
"jsonpath='{.status.loadBalancer.ingress[0].ip}'",
|
|
177
|
+
],
|
|
178
|
+
{
|
|
179
|
+
stdio: 'pipe',
|
|
180
|
+
},
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
let ip = '';
|
|
184
|
+
process.stdout.on('data', data => {
|
|
185
|
+
ip += data;
|
|
186
|
+
});
|
|
187
|
+
process.on('error', err => {
|
|
188
|
+
reject(err);
|
|
189
|
+
});
|
|
190
|
+
process.on('exit', () => {
|
|
191
|
+
// kubectl prints JSON. Remove the quotes
|
|
192
|
+
resolve(ip.replace(/"|'/g, ''));
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
return promise;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export function startPortForwardForRPC(namespace: string, index = 0) {
|
|
164
199
|
return startPortForward({
|
|
165
|
-
resource: `
|
|
200
|
+
resource: `pod/${namespace}-rpc-aztec-node-${index}`,
|
|
166
201
|
namespace,
|
|
167
202
|
containerPort: 8080,
|
|
168
203
|
});
|
|
@@ -295,6 +330,32 @@ async function execHelmCommand(args: Parameters<typeof createHelmCommand>[0]) {
|
|
|
295
330
|
return stdout;
|
|
296
331
|
}
|
|
297
332
|
|
|
333
|
+
export async function cleanHelm(instanceName: string, namespace: string, logger: Logger) {
|
|
334
|
+
// uninstall the helm chart if it exists
|
|
335
|
+
logger.info(`Uninstalling helm chart ${instanceName}`);
|
|
336
|
+
await execAsync(`helm uninstall ${instanceName} --namespace ${namespace} --wait --ignore-not-found`);
|
|
337
|
+
// and delete the chaos-mesh resources created by this release
|
|
338
|
+
const deleteByLabel = async (resource: string) => {
|
|
339
|
+
const args = {
|
|
340
|
+
resource,
|
|
341
|
+
namespace: namespace,
|
|
342
|
+
label: `app.kubernetes.io/instance=${instanceName}`,
|
|
343
|
+
} as const;
|
|
344
|
+
logger.info(`Deleting ${resource} resources for release ${instanceName}`);
|
|
345
|
+
await deleteResourceByLabel(args).catch(e => {
|
|
346
|
+
logger.error(`Error deleting ${resource}: ${e}`);
|
|
347
|
+
logger.info(`Force deleting ${resource}`);
|
|
348
|
+
return deleteResourceByLabel({ ...args, force: true });
|
|
349
|
+
});
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
await deleteByLabel('podchaos');
|
|
353
|
+
await deleteByLabel('networkchaos');
|
|
354
|
+
await deleteByLabel('podnetworkchaos');
|
|
355
|
+
await deleteByLabel('workflows');
|
|
356
|
+
await deleteByLabel('workflownodes');
|
|
357
|
+
}
|
|
358
|
+
|
|
298
359
|
/**
|
|
299
360
|
* Installs a Helm chart with the given parameters.
|
|
300
361
|
* @param instanceName - The name of the Helm chart instance.
|
|
@@ -317,7 +378,6 @@ export async function installChaosMeshChart({
|
|
|
317
378
|
targetNamespace,
|
|
318
379
|
valuesFile,
|
|
319
380
|
helmChartDir,
|
|
320
|
-
chaosMeshNamespace = 'chaos-mesh',
|
|
321
381
|
timeout = '10m',
|
|
322
382
|
clean = true,
|
|
323
383
|
values = {},
|
|
@@ -334,32 +394,13 @@ export async function installChaosMeshChart({
|
|
|
334
394
|
logger: Logger;
|
|
335
395
|
}) {
|
|
336
396
|
if (clean) {
|
|
337
|
-
|
|
338
|
-
logger.info(`Uninstalling helm chart ${instanceName}`);
|
|
339
|
-
await execAsync(`helm uninstall ${instanceName} --namespace ${chaosMeshNamespace} --wait --ignore-not-found`);
|
|
340
|
-
// and delete the chaos-mesh resources created by this release
|
|
341
|
-
const deleteByLabel = async (resource: string) => {
|
|
342
|
-
const args = {
|
|
343
|
-
resource,
|
|
344
|
-
namespace: chaosMeshNamespace,
|
|
345
|
-
label: `app.kubernetes.io/instance=${instanceName}`,
|
|
346
|
-
} as const;
|
|
347
|
-
logger.info(`Deleting ${resource} resources for release ${instanceName}`);
|
|
348
|
-
await deleteResourceByLabel(args).catch(e => {
|
|
349
|
-
logger.error(`Error deleting ${resource}: ${e}`);
|
|
350
|
-
logger.info(`Force deleting ${resource}`);
|
|
351
|
-
return deleteResourceByLabel({ ...args, force: true });
|
|
352
|
-
});
|
|
353
|
-
};
|
|
354
|
-
|
|
355
|
-
await deleteByLabel('podchaos');
|
|
356
|
-
await deleteByLabel('networkchaos');
|
|
397
|
+
await cleanHelm(instanceName, targetNamespace, logger);
|
|
357
398
|
}
|
|
358
399
|
|
|
359
400
|
return execHelmCommand({
|
|
360
401
|
instanceName,
|
|
361
402
|
helmChartDir,
|
|
362
|
-
namespace:
|
|
403
|
+
namespace: targetNamespace,
|
|
363
404
|
valuesFile,
|
|
364
405
|
timeout,
|
|
365
406
|
values: { ...values, 'global.targetNamespace': targetNamespace },
|
|
@@ -491,24 +532,24 @@ export function applyNetworkShaping({
|
|
|
491
532
|
});
|
|
492
533
|
}
|
|
493
534
|
|
|
494
|
-
export async function
|
|
535
|
+
export async function awaitCheckpointNumber(
|
|
495
536
|
rollupCheatCodes: RollupCheatCodes,
|
|
496
|
-
|
|
537
|
+
checkpointNumber: CheckpointNumber,
|
|
497
538
|
timeoutSeconds: number,
|
|
498
539
|
logger: Logger,
|
|
499
540
|
) {
|
|
500
|
-
logger.info(`Waiting for
|
|
541
|
+
logger.info(`Waiting for checkpoint ${checkpointNumber}`);
|
|
501
542
|
let tips = await rollupCheatCodes.getTips();
|
|
502
543
|
const endTime = Date.now() + timeoutSeconds * 1000;
|
|
503
|
-
while (tips.pending <
|
|
504
|
-
logger.info(`At
|
|
544
|
+
while (tips.pending < checkpointNumber && Date.now() < endTime) {
|
|
545
|
+
logger.info(`At checkpoint ${tips.pending}`);
|
|
505
546
|
await sleep(1000);
|
|
506
547
|
tips = await rollupCheatCodes.getTips();
|
|
507
548
|
}
|
|
508
|
-
if (tips.pending <
|
|
509
|
-
throw new Error(`Timeout waiting for
|
|
549
|
+
if (tips.pending < checkpointNumber) {
|
|
550
|
+
throw new Error(`Timeout waiting for checkpoint ${checkpointNumber}, only reached ${tips.pending}`);
|
|
510
551
|
} else {
|
|
511
|
-
logger.info(`Reached
|
|
552
|
+
logger.info(`Reached checkpoint ${tips.pending}`);
|
|
512
553
|
}
|
|
513
554
|
}
|
|
514
555
|
|