@aztec/end-to-end 0.0.1-commit.8c0b8ff → 0.0.1-commit.8cb2d04d8

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 (86) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +1 -1
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +11 -25
  4. package/dest/e2e_epochs/epochs_test.js +3 -3
  5. package/dest/e2e_p2p/inactivity_slash_test.d.ts +1 -1
  6. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  7. package/dest/e2e_p2p/inactivity_slash_test.js +2 -3
  8. package/dest/e2e_p2p/p2p_network.d.ts +6 -8
  9. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  10. package/dest/e2e_p2p/p2p_network.js +15 -14
  11. package/dest/e2e_p2p/reqresp/utils.d.ts +1 -1
  12. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -1
  13. package/dest/e2e_p2p/reqresp/utils.js +16 -3
  14. package/dest/e2e_p2p/shared.d.ts +5 -19
  15. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  16. package/dest/e2e_p2p/shared.js +16 -65
  17. package/dest/fixtures/e2e_prover_test.d.ts +4 -3
  18. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  19. package/dest/fixtures/e2e_prover_test.js +7 -12
  20. package/dest/fixtures/elu_monitor.d.ts +21 -0
  21. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  22. package/dest/fixtures/elu_monitor.js +102 -0
  23. package/dest/fixtures/get_bb_config.d.ts +1 -1
  24. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  25. package/dest/fixtures/get_bb_config.js +5 -5
  26. package/dest/fixtures/setup.d.ts +11 -7
  27. package/dest/fixtures/setup.d.ts.map +1 -1
  28. package/dest/fixtures/setup.js +11 -9
  29. package/dest/fixtures/setup_p2p_test.d.ts +6 -6
  30. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  31. package/dest/fixtures/setup_p2p_test.js +8 -8
  32. package/dest/fixtures/token_utils.d.ts +1 -1
  33. package/dest/fixtures/token_utils.d.ts.map +1 -1
  34. package/dest/fixtures/token_utils.js +2 -5
  35. package/dest/shared/gas_portal_test_harness.js +1 -1
  36. package/dest/shared/jest_setup.js +41 -1
  37. package/dest/shared/submit-transactions.d.ts +1 -1
  38. package/dest/shared/submit-transactions.d.ts.map +1 -1
  39. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  40. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  41. package/dest/shared/uniswap_l1_l2.js +0 -4
  42. package/dest/simulators/token_simulator.js +1 -1
  43. package/dest/spartan/setup_test_wallets.d.ts +1 -1
  44. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  45. package/dest/spartan/setup_test_wallets.js +58 -40
  46. package/dest/spartan/tx_metrics.js +1 -1
  47. package/dest/spartan/utils/config.d.ts +7 -1
  48. package/dest/spartan/utils/config.d.ts.map +1 -1
  49. package/dest/spartan/utils/config.js +3 -1
  50. package/dest/spartan/utils/index.d.ts +2 -1
  51. package/dest/spartan/utils/index.d.ts.map +1 -1
  52. package/dest/spartan/utils/index.js +2 -0
  53. package/dest/spartan/utils/nodes.d.ts +4 -5
  54. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  55. package/dest/spartan/utils/nodes.js +9 -9
  56. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  57. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  58. package/dest/spartan/utils/pod_logs.js +74 -0
  59. package/dest/test-wallet/worker_wallet_schema.d.ts +6 -1
  60. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -1
  61. package/package.json +42 -44
  62. package/src/bench/client_flows/client_flows_benchmark.ts +29 -20
  63. package/src/e2e_epochs/epochs_test.ts +3 -3
  64. package/src/e2e_p2p/inactivity_slash_test.ts +2 -3
  65. package/src/e2e_p2p/p2p_network.ts +23 -28
  66. package/src/e2e_p2p/reqresp/utils.ts +24 -3
  67. package/src/e2e_p2p/shared.ts +16 -99
  68. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  69. package/src/fixtures/e2e_prover_test.ts +12 -17
  70. package/src/fixtures/elu_monitor.ts +126 -0
  71. package/src/fixtures/get_bb_config.ts +7 -6
  72. package/src/fixtures/setup.ts +21 -16
  73. package/src/fixtures/setup_p2p_test.ts +9 -9
  74. package/src/fixtures/token_utils.ts +1 -4
  75. package/src/guides/up_quick_start.sh +0 -2
  76. package/src/shared/gas_portal_test_harness.ts +0 -1
  77. package/src/shared/jest_setup.ts +51 -1
  78. package/src/shared/submit-transactions.ts +1 -4
  79. package/src/shared/uniswap_l1_l2.ts +0 -4
  80. package/src/simulators/token_simulator.ts +1 -1
  81. package/src/spartan/setup_test_wallets.ts +59 -36
  82. package/src/spartan/tx_metrics.ts +1 -1
  83. package/src/spartan/utils/config.ts +2 -0
  84. package/src/spartan/utils/index.ts +3 -0
  85. package/src/spartan/utils/nodes.ts +15 -10
  86. package/src/spartan/utils/pod_logs.ts +99 -0
@@ -119,7 +119,7 @@ export async function withSequencersAdmin(env, fn) {
119
119
  if (statusRes.status !== 200) {
120
120
  throw new Error(`Admin endpoint returned status ${statusRes.status}`);
121
121
  }
122
- const client = createAztecNodeAdminClient(url);
122
+ const client = createAztecNodeAdminClient(url, {}, undefined, env.AZTEC_ADMIN_API_KEY);
123
123
  return {
124
124
  result: await fn(client),
125
125
  process: process1
@@ -193,10 +193,9 @@ export async function initHADb(namespace) {
193
193
  ]), logger, true);
194
194
  }
195
195
  /**
196
- * Enables or disables probabilistic transaction dropping on validators and waits for rollout.
197
- * Wired to env vars P2P_DROP_TX and P2P_DROP_TX_CHANCE via Helm values.
198
- */ export async function setValidatorTxDrop({ namespace, enabled, probability, logger: log }) {
199
- const drop = enabled ? 'true' : 'false';
196
+ * Sets probabilistic transaction dropping on validators and waits for rollout.
197
+ * Use probability=0 to disable. Wired to env var P2P_DROP_TX_CHANCE via Helm values.
198
+ */ export async function setValidatorTxDrop({ namespace, probability, logger: log }) {
200
199
  const prob = String(probability);
201
200
  const selectors = [
202
201
  'app.kubernetes.io/name=validator',
@@ -211,7 +210,7 @@ export async function initHADb(namespace) {
211
210
  if (names.length === 0) {
212
211
  continue;
213
212
  }
214
- const cmd = `kubectl set env statefulset -l ${selector} -n ${namespace} P2P_DROP_TX=${drop} P2P_DROP_TX_CHANCE=${prob}`;
213
+ const cmd = `kubectl set env statefulset -l ${selector} -n ${namespace} P2P_DROP_TX_CHANCE=${prob}`;
215
214
  log.info(`command: ${cmd}`);
216
215
  await execAsync(cmd);
217
216
  updated = true;
@@ -291,13 +290,14 @@ export async function enableValidatorDynamicBootNode(instanceName, namespace, sp
291
290
  * Defaults to false, which preserves the existing storage.
292
291
  */ export async function rollAztecPods(namespace, clearState = false) {
293
292
  // Pod components use 'validator', but StatefulSets and PVCs use 'sequencer-node' for validators
293
+ // RPC nodes have nodeType='rpc-node' in Helm values, so their component label is 'rpc-node' (not 'rpc')
294
294
  const podComponents = [
295
295
  'p2p-bootstrap',
296
296
  'prover-node',
297
297
  'prover-broker',
298
298
  'prover-agent',
299
299
  'sequencer-node',
300
- 'rpc',
300
+ 'rpc-node',
301
301
  'validator-ha-db'
302
302
  ];
303
303
  const pvcComponents = [
@@ -305,7 +305,7 @@ export async function enableValidatorDynamicBootNode(instanceName, namespace, sp
305
305
  'prover-node',
306
306
  'prover-broker',
307
307
  'sequencer-node',
308
- 'rpc',
308
+ 'rpc-node',
309
309
  'validator-ha-db'
310
310
  ];
311
311
  // StatefulSet components that need to be scaled down before PVC deletion
@@ -315,7 +315,7 @@ export async function enableValidatorDynamicBootNode(instanceName, namespace, sp
315
315
  'prover-node',
316
316
  'prover-broker',
317
317
  'sequencer-node',
318
- 'rpc',
318
+ 'rpc-node',
319
319
  'validator-ha-db'
320
320
  ];
321
321
  if (clearState) {
@@ -0,0 +1,25 @@
1
+ import type { Logger } from '@aztec/foundation/log';
2
+ /** Parsed l2-block-built stats from a sequencer pod log line. */
3
+ export type BlockBuiltLogEntry = {
4
+ blockNumber: number;
5
+ txCount: number;
6
+ duration: number;
7
+ publicProcessDuration: number;
8
+ manaPerSec: number;
9
+ privateLogCount: number;
10
+ publicLogCount: number;
11
+ contractClassLogCount: number;
12
+ contractClassLogSize: number;
13
+ };
14
+ /**
15
+ * Fetches l2-block-built log entries from sequencer pods for given block numbers.
16
+ * Queries all validator pods (only the proposer will have the log for a given block).
17
+ *
18
+ * @param namespace - Kubernetes namespace
19
+ * @param sinceTime - ISO 8601 timestamp to limit log search (e.g., from before block building was re-enabled)
20
+ * @param blockNumbers - Set of block numbers to filter for
21
+ * @param logger - Logger instance
22
+ * @returns Array of parsed BlockBuiltLogEntry, de-duplicated by blockNumber, sorted ascending
23
+ */
24
+ export declare function fetchBlockBuiltLogs(namespace: string, sinceTime: string, blockNumbers: Set<number>, logger: Logger): Promise<BlockBuiltLogEntry[]>;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9kX2xvZ3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcGFydGFuL3V0aWxzL3BvZF9sb2dzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBU3BELGlFQUFpRTtBQUNqRSxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFDL0IsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixPQUFPLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsZUFBZSxFQUFFLE1BQU0sQ0FBQztJQUN4QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUM5QixvQkFBb0IsRUFBRSxNQUFNLENBQUM7Q0FDOUIsQ0FBQztBQWNGOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFzQixtQkFBbUIsQ0FDdkMsU0FBUyxFQUFFLE1BQU0sRUFDakIsU0FBUyxFQUFFLE1BQU0sRUFDakIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFDekIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQWlEL0IifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pod_logs.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/pod_logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AASpD,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAcF;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiD/B"}
@@ -0,0 +1,74 @@
1
+ import { exec } from 'child_process';
2
+ import { promisify } from 'util';
3
+ import { getSequencers } from './nodes.js';
4
+ const execAsync = promisify(exec);
5
+ const FIELDS = [
6
+ 'blockNumber',
7
+ 'txCount',
8
+ 'duration',
9
+ 'publicProcessDuration',
10
+ 'manaPerSec',
11
+ 'privateLogCount',
12
+ 'publicLogCount',
13
+ 'contractClassLogCount',
14
+ 'contractClassLogSize'
15
+ ];
16
+ /**
17
+ * Fetches l2-block-built log entries from sequencer pods for given block numbers.
18
+ * Queries all validator pods (only the proposer will have the log for a given block).
19
+ *
20
+ * @param namespace - Kubernetes namespace
21
+ * @param sinceTime - ISO 8601 timestamp to limit log search (e.g., from before block building was re-enabled)
22
+ * @param blockNumbers - Set of block numbers to filter for
23
+ * @param logger - Logger instance
24
+ * @returns Array of parsed BlockBuiltLogEntry, de-duplicated by blockNumber, sorted ascending
25
+ */ export async function fetchBlockBuiltLogs(namespace, sinceTime, blockNumbers, logger) {
26
+ const pods = await getSequencers(namespace);
27
+ const entriesByBlock = new Map();
28
+ // Subtract 60s from sinceTime to account for clock skew between test runner and k8s pods.
29
+ // Block number filtering ensures we only match the right blocks, so extra lines are harmless.
30
+ const sinceDate = new Date(new Date(sinceTime).getTime() - 60_000);
31
+ const sinceFlag = sinceDate.toISOString();
32
+ for (const pod of pods){
33
+ try {
34
+ const cmd = `kubectl logs ${pod} -n ${namespace} -c aztec --since-time=${sinceFlag}`;
35
+ logger.info(`Fetching logs: ${cmd}`);
36
+ const { stdout } = await execAsync(cmd, {
37
+ maxBuffer: 10 * 1024 * 1024
38
+ });
39
+ const lines = stdout.split('\n');
40
+ const matchingLines = lines.filter((l)=>l.includes('l2-block-built'));
41
+ logger.info(`Pod ${pod}: ${lines.length} log lines, ${matchingLines.length} contain l2-block-built`);
42
+ for (const line of matchingLines){
43
+ try {
44
+ const parsed = JSON.parse(line);
45
+ if (parsed.eventName !== 'l2-block-built' || !blockNumbers.has(parsed.blockNumber)) {
46
+ continue;
47
+ }
48
+ if (entriesByBlock.has(parsed.blockNumber)) {
49
+ continue;
50
+ }
51
+ const entry = {};
52
+ for (const field of FIELDS){
53
+ entry[field] = parsed[field] ?? 0;
54
+ }
55
+ entriesByBlock.set(entry.blockNumber, entry);
56
+ logger.verbose(`Parsed l2-block-built log for block ${entry.blockNumber}`, entry);
57
+ } catch {
58
+ // Not valid JSON, skip
59
+ }
60
+ }
61
+ } catch (err) {
62
+ logger.warn(`Failed to fetch logs from pod ${pod}: ${err}`);
63
+ }
64
+ }
65
+ if (entriesByBlock.size < blockNumbers.size) {
66
+ const missing = [
67
+ ...blockNumbers
68
+ ].filter((bn)=>!entriesByBlock.has(bn));
69
+ logger.warn(`Missing l2-block-built logs for block(s): ${missing.join(', ')}`);
70
+ }
71
+ return [
72
+ ...entriesByBlock.values()
73
+ ].sort((a, b)=>a.blockNumber - b.blockNumber);
74
+ }
@@ -162,6 +162,7 @@ export declare const WorkerWalletSchema: {
162
162
  feePerL2Gas: string | number | bigint;
163
163
  } | undefined;
164
164
  }>>;
165
+ congestionEstimate: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodNativeEnum<typeof import("@aztec/stdlib/gas").ManaUsageEstimate>>;
165
166
  }, "strip", z.ZodTypeAny, {
166
167
  gasSettings?: {
167
168
  gasLimits?: import("@aztec/stdlib/gas").Gas | undefined;
@@ -175,6 +176,7 @@ export declare const WorkerWalletSchema: {
175
176
  feePerL2Gas: bigint;
176
177
  } | undefined;
177
178
  } | undefined;
179
+ congestionEstimate?: import("@aztec/stdlib/gas").ManaUsageEstimate | undefined;
178
180
  }, {
179
181
  gasSettings?: {
180
182
  gasLimits?: {
@@ -194,6 +196,7 @@ export declare const WorkerWalletSchema: {
194
196
  feePerL2Gas: string | number | bigint;
195
197
  } | undefined;
196
198
  } | undefined;
199
+ congestionEstimate?: import("@aztec/stdlib/gas").ManaUsageEstimate | undefined;
197
200
  }>>;
198
201
  wait: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodUnion<[z.ZodLiteral<"NO_WAIT">, z.ZodObject<{
199
202
  ignoreDroppedReceiptsFor: import("@aztec/foundation/schemas").ZodNullableOptional<z.ZodNumber>;
@@ -229,6 +232,7 @@ export declare const WorkerWalletSchema: {
229
232
  feePerL2Gas: bigint;
230
233
  } | undefined;
231
234
  } | undefined;
235
+ congestionEstimate?: import("@aztec/stdlib/gas").ManaUsageEstimate | undefined;
232
236
  } | undefined;
233
237
  wait?: "NO_WAIT" | {
234
238
  ignoreDroppedReceiptsFor?: number | undefined;
@@ -260,6 +264,7 @@ export declare const WorkerWalletSchema: {
260
264
  feePerL2Gas: string | number | bigint;
261
265
  } | undefined;
262
266
  } | undefined;
267
+ congestionEstimate?: import("@aztec/stdlib/gas").ManaUsageEstimate | undefined;
263
268
  } | undefined;
264
269
  wait?: "NO_WAIT" | {
265
270
  ignoreDroppedReceiptsFor?: number | undefined;
@@ -271,4 +276,4 @@ export declare const WorkerWalletSchema: {
271
276
  }>], z.ZodUnknown>, import("@aztec/foundation/schemas").ZodFor<Tx>>;
272
277
  registerAccount: z.ZodFunction<z.ZodTuple<[z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>, z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>], z.ZodUnknown>, import("@aztec/foundation/schemas").ZodFor<AztecAddress>>;
273
278
  };
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX3dhbGxldF9zY2hlbWEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXdhbGxldC93b3JrZXJfd2FsbGV0X3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsaUdBQStGO0FBQy9GLGVBQU8sTUFBTSxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FJOUIsQ0FBQyJ9
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX3dhbGxldF9zY2hlbWEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXdhbGxldC93b3JrZXJfd2FsbGV0X3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXRDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsaUdBQStGO0FBQy9GLGVBQU8sTUFBTSxrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUk5QixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"worker_wallet_schema.d.ts","sourceRoot":"","sources":["../../src/test-wallet/worker_wallet_schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iGAA+F;AAC/F,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI9B,CAAC"}
1
+ {"version":3,"file":"worker_wallet_schema.d.ts","sourceRoot":"","sources":["../../src/test-wallet/worker_wallet_schema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iGAA+F;AAC/F,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI9B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "0.0.1-commit.8c0b8ff",
3
+ "version": "0.0.1-commit.8cb2d04d8",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "inherits": [
@@ -12,12 +12,12 @@
12
12
  "build:dev": "../scripts/tsc.sh --watch",
13
13
  "clean": "rm -rf ./dest .tsbuildinfo",
14
14
  "test:with-alerts": "./scripts/test-with-alerts.sh",
15
- "test:e2e": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
15
+ "test:e2e": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000",
16
16
  "test:e2e-docker": "./scripts/run_test.sh simple",
17
17
  "test:e2e-no-docker": "echo 'The command test:e2e-no-docker is now the same as test:e2e. You can now run this dropping the no-docker suffix.'; yarn test:e2e",
18
- "test:profile": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 0x --output-dir \"flame_graph/{pid}.0x\" -- node --experimental-vm-modules ../node_modules/jest/bin/jest.js --runInBand --testTimeout=300000 --forceExit",
18
+ "test:profile": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 0x --output-dir \"flame_graph/{pid}.0x\" -- node --experimental-vm-modules ../node_modules/jest/bin/jest.js --runInBand --testTimeout=300000",
19
19
  "serve:flames": "python3 -m http.server --directory \"flame_graph\" 8000",
20
- "test:debug": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --inspect --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
20
+ "test:debug": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --inspect --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000",
21
21
  "test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
22
22
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --no-cache --runInBand --config jest.integration.config.json",
23
23
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests src/fixtures",
@@ -26,45 +26,44 @@
26
26
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
27
27
  },
28
28
  "dependencies": {
29
- "@aztec/accounts": "0.0.1-commit.8c0b8ff",
30
- "@aztec/archiver": "0.0.1-commit.8c0b8ff",
31
- "@aztec/aztec": "0.0.1-commit.8c0b8ff",
32
- "@aztec/aztec-node": "0.0.1-commit.8c0b8ff",
33
- "@aztec/aztec.js": "0.0.1-commit.8c0b8ff",
34
- "@aztec/bb-prover": "0.0.1-commit.8c0b8ff",
35
- "@aztec/bb.js": "0.0.1-commit.8c0b8ff",
36
- "@aztec/blob-client": "0.0.1-commit.8c0b8ff",
37
- "@aztec/blob-lib": "0.0.1-commit.8c0b8ff",
38
- "@aztec/bot": "0.0.1-commit.8c0b8ff",
39
- "@aztec/cli": "0.0.1-commit.8c0b8ff",
40
- "@aztec/constants": "0.0.1-commit.8c0b8ff",
41
- "@aztec/entrypoints": "0.0.1-commit.8c0b8ff",
42
- "@aztec/epoch-cache": "0.0.1-commit.8c0b8ff",
43
- "@aztec/ethereum": "0.0.1-commit.8c0b8ff",
44
- "@aztec/foundation": "0.0.1-commit.8c0b8ff",
45
- "@aztec/kv-store": "0.0.1-commit.8c0b8ff",
46
- "@aztec/l1-artifacts": "0.0.1-commit.8c0b8ff",
47
- "@aztec/merkle-tree": "0.0.1-commit.8c0b8ff",
48
- "@aztec/node-keystore": "0.0.1-commit.8c0b8ff",
49
- "@aztec/noir-contracts.js": "0.0.1-commit.8c0b8ff",
50
- "@aztec/noir-noirc_abi": "0.0.1-commit.8c0b8ff",
51
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.8c0b8ff",
52
- "@aztec/noir-test-contracts.js": "0.0.1-commit.8c0b8ff",
53
- "@aztec/p2p": "0.0.1-commit.8c0b8ff",
54
- "@aztec/protocol-contracts": "0.0.1-commit.8c0b8ff",
55
- "@aztec/prover-client": "0.0.1-commit.8c0b8ff",
56
- "@aztec/prover-node": "0.0.1-commit.8c0b8ff",
57
- "@aztec/pxe": "0.0.1-commit.8c0b8ff",
58
- "@aztec/sequencer-client": "0.0.1-commit.8c0b8ff",
59
- "@aztec/simulator": "0.0.1-commit.8c0b8ff",
60
- "@aztec/slasher": "0.0.1-commit.8c0b8ff",
61
- "@aztec/stdlib": "0.0.1-commit.8c0b8ff",
62
- "@aztec/telemetry-client": "0.0.1-commit.8c0b8ff",
63
- "@aztec/validator-client": "0.0.1-commit.8c0b8ff",
64
- "@aztec/validator-ha-signer": "0.0.1-commit.8c0b8ff",
65
- "@aztec/wallet-sdk": "0.0.1-commit.8c0b8ff",
66
- "@aztec/wallets": "0.0.1-commit.8c0b8ff",
67
- "@aztec/world-state": "0.0.1-commit.8c0b8ff",
29
+ "@aztec/accounts": "0.0.1-commit.8cb2d04d8",
30
+ "@aztec/archiver": "0.0.1-commit.8cb2d04d8",
31
+ "@aztec/aztec": "0.0.1-commit.8cb2d04d8",
32
+ "@aztec/aztec-node": "0.0.1-commit.8cb2d04d8",
33
+ "@aztec/aztec.js": "0.0.1-commit.8cb2d04d8",
34
+ "@aztec/bb-prover": "0.0.1-commit.8cb2d04d8",
35
+ "@aztec/bb.js": "0.0.1-commit.8cb2d04d8",
36
+ "@aztec/blob-client": "0.0.1-commit.8cb2d04d8",
37
+ "@aztec/blob-lib": "0.0.1-commit.8cb2d04d8",
38
+ "@aztec/bot": "0.0.1-commit.8cb2d04d8",
39
+ "@aztec/cli": "0.0.1-commit.8cb2d04d8",
40
+ "@aztec/constants": "0.0.1-commit.8cb2d04d8",
41
+ "@aztec/entrypoints": "0.0.1-commit.8cb2d04d8",
42
+ "@aztec/epoch-cache": "0.0.1-commit.8cb2d04d8",
43
+ "@aztec/ethereum": "0.0.1-commit.8cb2d04d8",
44
+ "@aztec/foundation": "0.0.1-commit.8cb2d04d8",
45
+ "@aztec/kv-store": "0.0.1-commit.8cb2d04d8",
46
+ "@aztec/l1-artifacts": "0.0.1-commit.8cb2d04d8",
47
+ "@aztec/node-keystore": "0.0.1-commit.8cb2d04d8",
48
+ "@aztec/noir-contracts.js": "0.0.1-commit.8cb2d04d8",
49
+ "@aztec/noir-noirc_abi": "0.0.1-commit.8cb2d04d8",
50
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.8cb2d04d8",
51
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.8cb2d04d8",
52
+ "@aztec/p2p": "0.0.1-commit.8cb2d04d8",
53
+ "@aztec/protocol-contracts": "0.0.1-commit.8cb2d04d8",
54
+ "@aztec/prover-client": "0.0.1-commit.8cb2d04d8",
55
+ "@aztec/prover-node": "0.0.1-commit.8cb2d04d8",
56
+ "@aztec/pxe": "0.0.1-commit.8cb2d04d8",
57
+ "@aztec/sequencer-client": "0.0.1-commit.8cb2d04d8",
58
+ "@aztec/simulator": "0.0.1-commit.8cb2d04d8",
59
+ "@aztec/slasher": "0.0.1-commit.8cb2d04d8",
60
+ "@aztec/stdlib": "0.0.1-commit.8cb2d04d8",
61
+ "@aztec/telemetry-client": "0.0.1-commit.8cb2d04d8",
62
+ "@aztec/validator-client": "0.0.1-commit.8cb2d04d8",
63
+ "@aztec/validator-ha-signer": "0.0.1-commit.8cb2d04d8",
64
+ "@aztec/wallet-sdk": "0.0.1-commit.8cb2d04d8",
65
+ "@aztec/wallets": "0.0.1-commit.8cb2d04d8",
66
+ "@aztec/world-state": "0.0.1-commit.8cb2d04d8",
68
67
  "@iarna/toml": "^2.2.5",
69
68
  "@jest/globals": "^30.0.0",
70
69
  "@noble/curves": "=1.0.0",
@@ -76,7 +75,6 @@
76
75
  "@types/koa-static": "^4.0.2",
77
76
  "@types/lodash.every": "^4.6.7",
78
77
  "@types/node": "^22.15.17",
79
- "@viem/anvil": "^0.0.9",
80
78
  "buffer": "^6.0.3",
81
79
  "crypto-browserify": "^3.12.1",
82
80
  "fs-extra": "^11.2.0",
@@ -152,6 +152,7 @@ export class ClientFlowsBenchmark {
152
152
 
153
153
  async teardown() {
154
154
  await this.chainMonitor.stop();
155
+ await this.userWallet?.stop();
155
156
  await teardown(this.context);
156
157
  }
157
158
 
@@ -249,11 +250,14 @@ export class ClientFlowsBenchmark {
249
250
 
250
251
  async applyDeployBananaToken() {
251
252
  this.logger.info('Applying banana token deployment');
252
- const {
253
- receipt: { contract: bananaCoin, instance: bananaCoinInstance },
254
- } = await BananaCoin.deploy(this.adminWallet, this.adminAddress, 'BC', 'BC', 18n).send({
253
+ const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(
254
+ this.adminWallet,
255
+ this.adminAddress,
256
+ 'BC',
257
+ 'BC',
258
+ 18n,
259
+ ).send({
255
260
  from: this.adminAddress,
256
- wait: { returnReceipt: true },
257
261
  });
258
262
  this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
259
263
  this.bananaCoin = bananaCoin;
@@ -262,11 +266,14 @@ export class ClientFlowsBenchmark {
262
266
 
263
267
  async applyDeployCandyBarToken() {
264
268
  this.logger.info('Applying candy bar token deployment');
265
- const {
266
- receipt: { contract: candyBarCoin, instance: candyBarCoinInstance },
267
- } = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'CBC', 'CBC', 18n).send({
269
+ const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(
270
+ this.adminWallet,
271
+ this.adminAddress,
272
+ 'CBC',
273
+ 'CBC',
274
+ 18n,
275
+ ).send({
268
276
  from: this.adminAddress,
269
- wait: { returnReceipt: true },
270
277
  });
271
278
  this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
272
279
  this.candyBarCoin = candyBarCoin;
@@ -279,11 +286,12 @@ export class ClientFlowsBenchmark {
279
286
  expect((await this.context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
280
287
 
281
288
  const bananaCoin = this.bananaCoin;
282
- const {
283
- receipt: { contract: bananaFPC, instance: bananaFPCInstance },
284
- } = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress).send({
289
+ const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(
290
+ this.adminWallet,
291
+ bananaCoin.address,
292
+ this.adminAddress,
293
+ ).send({
285
294
  from: this.adminAddress,
286
- wait: { returnReceipt: true },
287
295
  });
288
296
 
289
297
  this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
@@ -347,20 +355,21 @@ export class ClientFlowsBenchmark {
347
355
 
348
356
  public async applyDeployAmm() {
349
357
  this.logger.info('Applying AMM deployment');
350
- const {
351
- receipt: { contract: liquidityToken, instance: liquidityTokenInstance },
352
- } = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'LPT', 'LPT', 18n).send({
358
+ const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(
359
+ this.adminWallet,
360
+ this.adminAddress,
361
+ 'LPT',
362
+ 'LPT',
363
+ 18n,
364
+ ).send({
353
365
  from: this.adminAddress,
354
- wait: { returnReceipt: true },
355
366
  });
356
- const {
357
- receipt: { contract: amm, instance: ammInstance },
358
- } = await AMMContract.deploy(
367
+ const { contract: amm, instance: ammInstance } = await AMMContract.deploy(
359
368
  this.adminWallet,
360
369
  this.bananaCoin.address,
361
370
  this.candyBarCoin.address,
362
371
  liquidityToken.address,
363
- ).send({ from: this.adminAddress, wait: { returnReceipt: true } });
372
+ ).send({ from: this.adminAddress });
364
373
  this.logger.info(`AMM deployed at ${amm.address}`);
365
374
  await liquidityToken.methods.set_minter(amm.address, true).send({ from: this.adminAddress });
366
375
  this.liquidityToken = liquidityToken;
@@ -145,7 +145,7 @@ export class EpochsTestContext {
145
145
  proverId: EthAddress.fromNumber(1),
146
146
  worldStateCheckpointHistory: WORLD_STATE_CHECKPOINT_HISTORY,
147
147
  exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
148
- slasherFlavor: 'none',
148
+ slasherEnabled: false,
149
149
  l1PublishingTime,
150
150
  ...opts,
151
151
  },
@@ -223,7 +223,7 @@ export class EpochsTestContext {
223
223
  },
224
224
  },
225
225
  {
226
- prefilledPublicData: this.context.prefilledPublicData ?? [],
226
+ genesis: this.context.genesis,
227
227
  dontStart: opts.dontStart,
228
228
  },
229
229
  ),
@@ -278,7 +278,7 @@ export class EpochsTestContext {
278
278
  slashingProtectionDb: opts.slashingProtectionDb,
279
279
  },
280
280
  {
281
- prefilledPublicData: this.context.prefilledPublicData,
281
+ genesis: this.context.genesis,
282
282
  ...opts,
283
283
  },
284
284
  ),
@@ -67,7 +67,6 @@ export class P2PInactivityTest {
67
67
  listenAddress: '127.0.0.1',
68
68
  minTxsPerBlock: 0,
69
69
  aztecEpochDuration: EPOCH_DURATION,
70
- validatorReexecute: false,
71
70
  sentinelEnabled: true,
72
71
  slashingQuorum: SLASHING_QUORUM,
73
72
  slashingRoundSizeInEpochs: SLASHING_ROUND_SIZE_IN_EPOCHS,
@@ -109,7 +108,7 @@ export class P2PInactivityTest {
109
108
  this.test.bootstrapNodeEnr,
110
109
  NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode),
111
110
  BOOT_NODE_UDP_PORT,
112
- this.test.prefilledPublicData,
111
+ this.test.genesis,
113
112
  this.dataDir,
114
113
  undefined,
115
114
  Number(this.keepInitialNode),
@@ -123,7 +122,7 @@ export class P2PInactivityTest {
123
122
  this.test.bootstrapNodeEnr,
124
123
  this.inactiveNodeCount,
125
124
  BOOT_NODE_UDP_PORT,
126
- this.test.prefilledPublicData,
125
+ this.test.genesis,
127
126
  this.dataDir,
128
127
  undefined,
129
128
  NUM_NODES - this.inactiveNodeCount,
@@ -3,12 +3,7 @@ import type { AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
3
3
  import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
4
4
  import { Fr } from '@aztec/aztec.js/fields';
5
5
  import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
6
- import {
7
- type EmpireSlashingProposerContract,
8
- GSEContract,
9
- RollupContract,
10
- type TallySlashingProposerContract,
11
- } from '@aztec/ethereum/contracts';
6
+ import { GSEContract, RollupContract, type SlashingProposerContract } from '@aztec/ethereum/contracts';
12
7
  import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
13
8
  import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
14
9
  import { MultiAdderArtifact } from '@aztec/ethereum/l1-artifacts';
@@ -24,9 +19,9 @@ import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
24
19
  import type { BootstrapNode } from '@aztec/p2p/bootstrap';
25
20
  import { createBootstrapNodeFromPrivateKey, getBootstrapNodeEnr } from '@aztec/p2p/test-helpers';
26
21
  import { tryStop } from '@aztec/stdlib/interfaces/server';
27
- import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
28
22
  import { TopicType } from '@aztec/stdlib/p2p';
29
- import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
23
+ import { TxStatus } from '@aztec/stdlib/tx';
24
+ import type { GenesisData } from '@aztec/stdlib/world-state';
30
25
  import { ZkPassportProofParams } from '@aztec/stdlib/zkpassport';
31
26
  import { getGenesisValues } from '@aztec/world-state/testing';
32
27
 
@@ -59,7 +54,7 @@ export const WAIT_FOR_TX_TIMEOUT = l1ContractsConfig.aztecSlotDuration * 3;
59
54
  export const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES = {
60
55
  aztecSlotDuration: 12,
61
56
  ethereumSlotDuration: 4,
62
- aztecProofSubmissionWindow: 640,
57
+ aztecProofSubmissionEpochs: 640,
63
58
  };
64
59
 
65
60
  export class P2PNetworkTest {
@@ -77,7 +72,7 @@ export class P2PNetworkTest {
77
72
  public validators: Operator[] = [];
78
73
 
79
74
  public deployedAccounts: InitialAccountData[] = [];
80
- public prefilledPublicData: PublicDataTreeLeaf[] = [];
75
+ public genesis: GenesisData | undefined;
81
76
 
82
77
  // The re-execution test needs a wallet and a spam contract
83
78
  public wallet?: TestWallet;
@@ -124,7 +119,7 @@ export class P2PNetworkTest {
124
119
  initialValidatorConfig.aztecProofSubmissionEpochs ?? l1ContractsConfig.aztecProofSubmissionEpochs,
125
120
  slashingRoundSizeInEpochs:
126
121
  initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
127
- slasherFlavor: initialValidatorConfig.slasherFlavor ?? 'tally',
122
+ slasherEnabled: initialValidatorConfig.slasherEnabled ?? true,
128
123
  aztecTargetCommitteeSize: numberOfValidators,
129
124
  metricsPort: metricsPort,
130
125
  numberOfInitialFundedAccounts: 2,
@@ -137,7 +132,7 @@ export class P2PNetworkTest {
137
132
  aztecEpochDuration: initialValidatorConfig.aztecEpochDuration ?? l1ContractsConfig.aztecEpochDuration,
138
133
  slashingRoundSizeInEpochs:
139
134
  initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
140
- slasherFlavor: initialValidatorConfig.slasherFlavor ?? 'tally',
135
+ slasherEnabled: initialValidatorConfig.slasherEnabled ?? true,
141
136
 
142
137
  ethereumSlotDuration: initialValidatorConfig.ethereumSlotDuration ?? l1ContractsConfig.ethereumSlotDuration,
143
138
  aztecSlotDuration: initialValidatorConfig.aztecSlotDuration ?? l1ContractsConfig.aztecSlotDuration,
@@ -305,10 +300,11 @@ export class P2PNetworkTest {
305
300
 
306
301
  async setupAccount() {
307
302
  this.logger.info('Setting up account');
308
- const { deployedAccounts } = await deployAccounts(
309
- 1,
310
- this.logger,
311
- )({
303
+ const { deployedAccounts } = await deployAccounts(1, this.logger, {
304
+ wait: {
305
+ waitForStatus: TxStatus.CHECKPOINTED,
306
+ },
307
+ })({
312
308
  wallet: this.context.wallet,
313
309
  initialFundedAccounts: this.context.initialFundedAccounts,
314
310
  });
@@ -360,7 +356,7 @@ export class P2PNetworkTest {
360
356
  ...this.setupOptions,
361
357
  fundSponsoredFPC: true,
362
358
  skipAccountDeployment: true,
363
- slasherFlavor: this.setupOptions.slasherFlavor ?? this.deployL1ContractsArgs.slasherFlavor ?? 'none',
359
+ slasherEnabled: this.setupOptions.slasherEnabled ?? this.deployL1ContractsArgs.slasherEnabled ?? false,
364
360
  aztecTargetCommitteeSize: 0,
365
361
  l1ContractsArgs: this.deployL1ContractsArgs,
366
362
  },
@@ -372,8 +368,13 @@ export class P2PNetworkTest {
372
368
  const sponsoredFPCAddress = await getSponsoredFPCAddress();
373
369
  const initialFundedAccounts = [...this.context.initialFundedAccounts.map(a => a.address), sponsoredFPCAddress];
374
370
 
375
- const { prefilledPublicData } = await getGenesisValues(initialFundedAccounts);
376
- this.prefilledPublicData = prefilledPublicData;
371
+ const { genesis } = await getGenesisValues(
372
+ initialFundedAccounts,
373
+ undefined,
374
+ undefined,
375
+ this.context.genesis!.genesisTimestamp,
376
+ );
377
+ this.genesis = genesis;
377
378
 
378
379
  const rollupContract = RollupContract.getFromL1ContractsValues(this.context.deployL1ContractsValues);
379
380
  this.monitor = new ChainMonitor(rollupContract, this.context.dateProvider).start();
@@ -468,8 +469,7 @@ export class P2PNetworkTest {
468
469
  async getContracts(): Promise<{
469
470
  rollup: RollupContract;
470
471
  slasherContract: GetContractReturnType<typeof SlasherAbi, ViemClient>;
471
- slashingProposer: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
472
- slashFactory: SlashFactoryContract;
472
+ slashingProposer: SlashingProposerContract | undefined;
473
473
  }> {
474
474
  if (!this.ctx.deployL1ContractsValues) {
475
475
  throw new Error('DeployAztecL1ContractsValues not set');
@@ -486,14 +486,9 @@ export class P2PNetworkTest {
486
486
  client: this.ctx.deployL1ContractsValues.l1Client,
487
487
  });
488
488
 
489
- // Get the actual slashing proposer from rollup (which handles both empire and tally)
489
+ // Get the actual slashing proposer from rollup
490
490
  const slashingProposer = await rollup.getSlashingProposer();
491
491
 
492
- const slashFactory = new SlashFactoryContract(
493
- this.ctx.deployL1ContractsValues.l1Client,
494
- getAddress(this.ctx.deployL1ContractsValues.l1ContractAddresses.slashFactoryAddress!.toString()),
495
- );
496
-
497
- return { rollup, slasherContract, slashingProposer, slashFactory };
492
+ return { rollup, slasherContract, slashingProposer };
498
493
  }
499
494
  }