@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
@@ -68,24 +68,12 @@ export function awaitProposalExecution(slashingProposer, timeoutSeconds, logger)
68
68
  logger.warn(`Timed out waiting for proposal execution`);
69
69
  reject(new Error(`Timeout waiting for proposal execution after ${timeoutSeconds}s`));
70
70
  }, timeoutSeconds * 1000);
71
- if (slashingProposer.type === 'empire') {
72
- const unwatch = slashingProposer.listenToPayloadSubmitted((args)=>{
73
- logger.warn(`Proposal ${args.payload} from round ${args.round} executed`);
74
- clearTimeout(timeout);
75
- unwatch();
76
- resolve(args.round);
77
- });
78
- } else if (slashingProposer.type === 'tally') {
79
- const unwatch = slashingProposer.listenToRoundExecuted((args)=>{
80
- logger.warn(`Slash from round ${args.round} executed`);
81
- clearTimeout(timeout);
82
- unwatch();
83
- resolve(args.round);
84
- });
85
- } else {
71
+ const unwatch = slashingProposer.listenToRoundExecuted((args)=>{
72
+ logger.warn(`Slash from round ${args.round} executed`);
86
73
  clearTimeout(timeout);
87
- reject(new Error(`Unknown slashing proposer type: ${slashingProposer.type}`));
88
- }
74
+ unwatch();
75
+ resolve(args.round);
76
+ });
89
77
  });
90
78
  }
91
79
  export async function awaitCommitteeExists({ rollup, logger }) {
@@ -131,29 +119,6 @@ export async function awaitCommitteeExists({ rollup, logger }) {
131
119
  }
132
120
  throw new Error(`Target proposer ${targetProposer} not found in any slot after ${maxAttempts} epoch attempts`);
133
121
  }
134
- /**
135
- * Advance epochs until we find one where the target proposer is selected for at least one slot.
136
- * With N validators and M slots per epoch, a specific proposer may not be selected in any given epoch.
137
- * For example, with 4 validators and 2 slots/epoch, there is about a 44% chance per epoch.
138
- */ export async function awaitEpochWithProposer({ epochCache, cheatCodes, targetProposer, logger, maxAttempts = 20 }) {
139
- const { epochDuration } = await cheatCodes.getConfig();
140
- for(let attempt = 0; attempt < maxAttempts; attempt++){
141
- const currentEpoch = await cheatCodes.getEpoch();
142
- const startSlot = Number(currentEpoch) * Number(epochDuration);
143
- const endSlot = startSlot + Number(epochDuration);
144
- logger.info(`Checking epoch ${currentEpoch} (slots ${startSlot}-${endSlot - 1}) for proposer ${targetProposer}`);
145
- for(let s = startSlot; s < endSlot; s++){
146
- const proposer = await epochCache.getProposerAttesterAddressInSlot(SlotNumber(s));
147
- if (proposer && proposer.equals(targetProposer)) {
148
- logger.warn(`Found target proposer ${targetProposer} in slot ${s} of epoch ${currentEpoch}`);
149
- return;
150
- }
151
- }
152
- logger.info(`Target proposer not found in epoch ${currentEpoch}, advancing to next epoch`);
153
- await cheatCodes.advanceToNextEpoch();
154
- }
155
- throw new Error(`Target proposer ${targetProposer} not found in any slot after ${maxAttempts} epoch attempts`);
156
- }
157
122
  export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, waitUntilOffenseCount, timeoutSeconds = 120 }) {
158
123
  const targetOffenseCount = waitUntilOffenseCount ?? 1;
159
124
  logger.warn(`Waiting for ${pluralize('offense', targetOffenseCount)} to be detected`);
@@ -174,35 +139,21 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
174
139
  /**
175
140
  * Await the committee to be slashed out of the validator set.
176
141
  * Currently assumes that the committee is the same size as the validator set.
177
- */ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashFactory, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }) {
142
+ */ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }) {
178
143
  if (!slashingProposer) {
179
144
  throw new Error('No slashing proposer configured. Cannot test slashing.');
180
145
  }
181
146
  await cheatCodes.debugRollup();
182
- if (slashingProposer.type === 'empire') {
183
- // Await for the slash payload to be created if empire (no payload is created on tally until execution time)
184
- const targetEpoch = EpochNumber(await cheatCodes.getEpoch() + await rollup.getLagInEpochsForValidatorSet() + 1);
185
- logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
186
- await cheatCodes.advanceToEpoch(targetEpoch);
187
- const slashPayloadEvents = await retryUntil(async ()=>{
188
- const events = await slashFactory.getSlashPayloadCreatedEvents();
189
- return events.length > 0 ? events : undefined;
190
- }, 'slash payload created', 120, 1);
191
- expect(slashPayloadEvents.length).toBe(1);
192
- // The uniqueness check is needed since a validator may be slashed more than once on the same round (eg because they let two epochs be pruned)
193
- expect(unique(slashPayloadEvents[0].slashes.map((slash)=>slash.validator.toString()))).toHaveLength(committee.length);
194
- } else {
195
- // Use the slash offset to ensure we are in the right epoch for tally
196
- const slashOffsetInRounds = await slashingProposer.getSlashOffsetInRounds();
197
- const slashingRoundSizeInEpochs = slashingRoundSize / aztecEpochDuration;
198
- const slashingOffsetInEpochs = Number(slashOffsetInRounds) * slashingRoundSizeInEpochs;
199
- const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
200
- const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
201
- logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
202
- await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
203
- offset: -aztecSlotDuration / 2
204
- });
205
- }
147
+ // Use the slash offset to ensure we are in the right epoch for tally
148
+ const slashOffsetInRounds = await slashingProposer.getSlashOffsetInRounds();
149
+ const slashingRoundSizeInEpochs = slashingRoundSize / aztecEpochDuration;
150
+ const slashingOffsetInEpochs = Number(slashOffsetInRounds) * slashingRoundSizeInEpochs;
151
+ const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
152
+ const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
153
+ logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
154
+ await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
155
+ offset: -aztecSlotDuration / 2
156
+ });
206
157
  const attestersPre = await rollup.getAttesters();
207
158
  expect(attestersPre.length).toBe(committee.length);
208
159
  for (const attester of attestersPre){
@@ -3,7 +3,7 @@ import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
3
3
  import { type Logger } from '@aztec/aztec.js/log';
4
4
  import type { AztecNode } from '@aztec/aztec.js/node';
5
5
  import { CheatCodes } from '@aztec/aztec/testing';
6
- import { type ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
6
+ import type { ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
7
7
  import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
8
8
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
9
9
  import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
@@ -35,7 +35,8 @@ export declare class FullProverTest {
35
35
  private provenComponents;
36
36
  private bbConfigCleanup?;
37
37
  private acvmConfigCleanup?;
38
- circuitProofVerifier?: ClientProtocolCircuitVerifier;
38
+ /** Returns the proof verifier from the prover node (for test assertions). */
39
+ get circuitProofVerifier(): ClientProtocolCircuitVerifier | undefined;
39
40
  provenAsset: TokenContract;
40
41
  context: EndToEndContext;
41
42
  private proverAztecNode;
@@ -52,4 +53,4 @@ export declare class FullProverTest {
52
53
  teardown(): Promise<void>;
53
54
  private applyMint;
54
55
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTJlX3Byb3Zlcl90ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZml4dHVyZXMvZTJlX3Byb3Zlcl90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxLQUFLLDZCQUE2QixFQUduQyxNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFJbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBUXJCLE1BQU0sWUFBWSxDQUFDO0FBT3BCOzs7OztHQUtHO0FBRUgscUJBQWEsY0FBYztJQUN6QixNQUFNLENBQUMsVUFBVSxTQUFVO0lBQzNCLE1BQU0sQ0FBQyxZQUFZLFNBQVM7SUFDNUIsTUFBTSxDQUFDLGNBQWMsU0FBTztJQUM1QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFHLFVBQVUsQ0FBQztJQUNwQixZQUFZLEVBQUcsVUFBVSxDQUFDO0lBQzFCLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBTTtJQUM5QixnQkFBZ0IsRUFBRyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3hDLGVBQWUsRUFBRyxhQUFhLENBQUM7SUFDaEMsdUJBQXVCLEVBQUcsMkJBQTJCLENBQUM7SUFDdEQsUUFBUSxFQUFHLGNBQWMsQ0FBQztJQUMxQixTQUFTLEVBQUcsU0FBUyxDQUFDO0lBQ3RCLGNBQWMsRUFBRyxjQUFjLENBQUM7SUFDaEMsVUFBVSxFQUFHLFVBQVUsQ0FBQztJQUN4QixPQUFPLENBQUMsZ0JBQWdCLENBQXFCO0lBQzdDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBc0I7SUFDOUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQXNCO0lBQ2hELG9CQUFvQixDQUFDLEVBQUUsNkJBQTZCLENBQUM7SUFDckQsV0FBVyxFQUFHLGFBQWEsQ0FBQztJQUM1QixPQUFPLEVBQUcsZUFBZSxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxlQUFlLENBQW9CO0lBQzNDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBb0I7SUFDN0MsV0FBVyxFQUFHLGdDQUFnQyxDQUFDO0lBQy9DLGFBQWEsRUFBRyxVQUFVLENBQUM7SUFDbEMsT0FBTyxDQUFDLHNCQUFzQixDQUFTO0lBQ3ZDLE9BQU8sQ0FBQyxRQUFRLENBQWE7SUFDN0IsT0FBTyxDQUFDLFVBQVUsQ0FBVTtJQUU1QixZQUFZLFFBQVEsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxVQUFPLEVBS3BHO1lBS2EsY0FBYztJQXVDdEIsS0FBSyxrQkF3SVY7WUFFYSxZQUFZO0lBU3BCLFFBQVEsa0JBY2I7WUFFYSxTQUFTO0NBc0N4QiJ9
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTJlX3Byb3Zlcl90ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZml4dHVyZXMvZTJlX3Byb3Zlcl90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEUsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUlsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU10RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFRckIsTUFBTSxZQUFZLENBQUM7QUFPcEI7Ozs7O0dBS0c7QUFFSCxxQkFBYSxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxVQUFVLFNBQVU7SUFDM0IsTUFBTSxDQUFDLFlBQVksU0FBUztJQUM1QixNQUFNLENBQUMsY0FBYyxTQUFPO0lBQzVCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLFlBQVksRUFBRyxVQUFVLENBQUM7SUFDMUIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFNO0lBQzlCLGdCQUFnQixFQUFHLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsZUFBZSxFQUFHLGFBQWEsQ0FBQztJQUNoQyx1QkFBdUIsRUFBRywyQkFBMkIsQ0FBQztJQUN0RCxRQUFRLEVBQUcsY0FBYyxDQUFDO0lBQzFCLFNBQVMsRUFBRyxTQUFTLENBQUM7SUFDdEIsY0FBYyxFQUFHLGNBQWMsQ0FBQztJQUNoQyxVQUFVLEVBQUcsVUFBVSxDQUFDO0lBQ3hCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBcUI7SUFDN0MsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFzQjtJQUM5QyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBc0I7SUFDaEQsNkVBQTZFO0lBQzdFLElBQUksb0JBQW9CLElBQUksNkJBQTZCLEdBQUcsU0FBUyxDQUVwRTtJQUNELFdBQVcsRUFBRyxhQUFhLENBQUM7SUFDNUIsT0FBTyxFQUFHLGVBQWUsQ0FBQztJQUMxQixPQUFPLENBQUMsZUFBZSxDQUFvQjtJQUMzQyxPQUFPLENBQUMsd0JBQXdCLENBQW9CO0lBQzdDLFdBQVcsRUFBRyxnQ0FBZ0MsQ0FBQztJQUMvQyxhQUFhLEVBQUcsVUFBVSxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBUztJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFhO0lBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQVU7SUFFNUIsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsVUFBTyxFQUtwRztZQUthLGNBQWM7SUFxQ3RCLEtBQUssa0JBdUlWO1lBRWEsWUFBWTtJQVNwQixRQUFRLGtCQWNiO1lBRWEsU0FBUztDQXNDeEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,KAAK,6BAA6B,EAGnC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAIlG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EACL,KAAK,eAAe,EAQrB,MAAM,YAAY,CAAC;AAOpB;;;;;GAKG;AAEH,qBAAa,cAAc;IACzB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,UAAU,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAM;IAC9B,gBAAgB,EAAG,kBAAkB,EAAE,CAAC;IACxC,eAAe,EAAG,aAAa,CAAC;IAChC,uBAAuB,EAAG,2BAA2B,CAAC;IACtD,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,UAAU,EAAG,UAAU,CAAC;IACxB,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,WAAW,EAAG,aAAa,CAAC;IAC5B,OAAO,EAAG,eAAe,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,wBAAwB,CAAoB;IAC7C,WAAW,EAAG,gCAAgC,CAAC;IAC/C,aAAa,EAAG,UAAU,CAAC;IAClC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAU;IAE5B,YAAY,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,UAAO,EAKpG;YAKa,cAAc;IAuCtB,KAAK,kBAwIV;YAEa,YAAY;IASpB,QAAQ,kBAcb;YAEa,SAAS;CAsCxB"}
1
+ {"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAIlG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EACL,KAAK,eAAe,EAQrB,MAAM,YAAY,CAAC;AAOpB;;;;;GAKG;AAEH,qBAAa,cAAc;IACzB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,UAAU,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAM;IAC9B,gBAAgB,EAAG,kBAAkB,EAAE,CAAC;IACxC,eAAe,EAAG,aAAa,CAAC;IAChC,uBAAuB,EAAG,2BAA2B,CAAC;IACtD,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,UAAU,EAAG,UAAU,CAAC;IACxB,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,6EAA6E;IAC7E,IAAI,oBAAoB,IAAI,6BAA6B,GAAG,SAAS,CAEpE;IACD,WAAW,EAAG,aAAa,CAAC;IAC5B,OAAO,EAAG,eAAe,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,wBAAwB,CAAoB;IAC7C,WAAW,EAAG,gCAAgC,CAAC;IAC/C,aAAa,EAAG,UAAU,CAAC;IAClC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAU;IAE5B,YAAY,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,UAAO,EAKpG;YAKa,cAAc;IAqCtB,KAAK,kBAuIV;YAEa,YAAY;IASpB,QAAQ,kBAcb;YAEa,SAAS;CAsCxB"}
@@ -1,7 +1,6 @@
1
1
  import { AztecNodeService } from '@aztec/aztec-node';
2
2
  import { EthAddress } from '@aztec/aztec.js/addresses';
3
3
  import { createLogger } from '@aztec/aztec.js/log';
4
- import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
5
4
  import { BackendType, Barretenberg } from '@aztec/bb.js';
6
5
  import { Buffer32 } from '@aztec/foundation/buffer';
7
6
  import { SecretValue } from '@aztec/foundation/config';
@@ -37,7 +36,9 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
37
36
  provenComponents = [];
38
37
  bbConfigCleanup;
39
38
  acvmConfigCleanup;
40
- circuitProofVerifier;
39
+ /** Returns the proof verifier from the prover node (for test assertions). */ get circuitProofVerifier() {
40
+ return this.proverAztecNode?.getProofVerifier();
41
+ }
41
42
  provenAsset;
42
43
  context;
43
44
  proverAztecNode;
@@ -67,11 +68,8 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
67
68
  this.logger.info('Applying base setup: publicly deploying accounts');
68
69
  await publicDeployAccounts(this.wallet, this.accounts.slice(0, 2));
69
70
  this.logger.info('Applying base setup: deploying token contract');
70
- const { receipt: { contract: asset, instance } } = await TokenContract.deploy(this.wallet, this.accounts[0], FullProverTest.TOKEN_NAME, FullProverTest.TOKEN_SYMBOL, FullProverTest.TOKEN_DECIMALS).send({
71
- from: this.accounts[0],
72
- wait: {
73
- returnReceipt: true
74
- }
71
+ const { contract: asset, instance } = await TokenContract.deploy(this.wallet, this.accounts[0], FullProverTest.TOKEN_NAME, FullProverTest.TOKEN_SYMBOL, FullProverTest.TOKEN_DECIMALS).send({
72
+ from: this.accounts[0]
75
73
  });
76
74
  this.logger.verbose(`Token deployed to ${asset.address}`);
77
75
  this.fakeProofsAsset = asset;
@@ -120,8 +118,6 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
120
118
  await Barretenberg.initSingleton({
121
119
  backend: BackendType.NativeUnixSocket
122
120
  });
123
- const verifier = await BBCircuitVerifier.new(bbConfig);
124
- this.circuitProofVerifier = new QueuedIVCVerifier(bbConfig, verifier);
125
121
  this.logger.debug(`Configuring the node for real proofs...`);
126
122
  await this.aztecNodeAdmin.setConfig({
127
123
  realProofs: true,
@@ -129,7 +125,6 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
129
125
  });
130
126
  } else {
131
127
  this.logger.debug(`Configuring the node min txs per block ${this.minNumberOfTxsPerBlock}...`);
132
- this.circuitProofVerifier = new TestCircuitVerifier();
133
128
  await this.aztecNodeAdmin.setConfig({
134
129
  minTxsPerBlock: this.minNumberOfTxsPerBlock
135
130
  });
@@ -168,7 +163,7 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
168
163
  await this.mintFeeJuice(proverNodeSenderAddress);
169
164
  this.logger.verbose('Starting prover node');
170
165
  const sponsoredFPCAddress = await getSponsoredFPCAddress();
171
- const { prefilledPublicData } = await getGenesisValues(this.context.initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress));
166
+ const { genesis } = await getGenesisValues(this.context.initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress), undefined, undefined, this.context.genesis.genesisTimestamp);
172
167
  const proverNodeConfig = {
173
168
  ...config,
174
169
  enableProverNode: true,
@@ -200,7 +195,7 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
200
195
  ]
201
196
  }
202
197
  }, {
203
- prefilledPublicData
198
+ genesis
204
199
  });
205
200
  this.logger.warn(`Proofs are now enabled`, {
206
201
  realProofs: this.realProofs
@@ -0,0 +1,21 @@
1
+ /** Samples event-loop utilization, delay histogram, and heap usage per test, writing columnar text to a file. */
2
+ export declare class EluMonitor {
3
+ private filePath;
4
+ private intervalMs;
5
+ private timer;
6
+ private lastELU;
7
+ private histogram;
8
+ private testName;
9
+ private testStart;
10
+ private eluSamples;
11
+ constructor(filePath: string, intervalMs?: number);
12
+ /** Begin sampling for a test. Writes a header line and starts the periodic sampler. */
13
+ startTest(testName: string): void;
14
+ /** Stop sampling and write a summary line. */
15
+ stopTest(): void;
16
+ /** Alias for stopTest — call on process exit to flush any remaining data. */
17
+ stop(): void;
18
+ private sample;
19
+ private writeSummary;
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWx1X21vbml0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9lbHVfbW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxpSEFBaUg7QUFDakgscUJBQWEsVUFBVTtJQUNyQixPQUFPLENBQUMsUUFBUSxDQUFTO0lBQ3pCLE9BQU8sQ0FBQyxVQUFVLENBQVM7SUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBNkM7SUFDMUQsT0FBTyxDQUFDLE9BQU8sQ0FBbUM7SUFDbEQsT0FBTyxDQUFDLFNBQVMsQ0FBb0I7SUFDckMsT0FBTyxDQUFDLFFBQVEsQ0FBcUI7SUFDckMsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFDdEMsT0FBTyxDQUFDLFVBQVUsQ0FBZ0I7SUFFbEMsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFJaEQ7SUFFRCx1RkFBdUY7SUFDdkYsU0FBUyxDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsSUFBSSxDQW1CaEM7SUFFRCw4Q0FBOEM7SUFDOUMsUUFBUSxJQUFJLElBQUksQ0FtQmY7SUFFRCwrRUFBNkU7SUFDN0UsSUFBSSxJQUFJLElBQUksQ0FFWDtJQUVELE9BQU8sQ0FBQyxNQUFNO0lBOEJkLE9BQU8sQ0FBQyxZQUFZO0NBbUJyQiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elu_monitor.d.ts","sourceRoot":"","sources":["../../src/fixtures/elu_monitor.ts"],"names":[],"mappings":"AAKA,iHAAiH;AACjH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAA6C;IAC1D,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAgB;IAElC,YAAY,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAIhD;IAED,uFAAuF;IACvF,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAmBhC;IAED,8CAA8C;IAC9C,QAAQ,IAAI,IAAI,CAmBf;IAED,+EAA6E;IAC7E,IAAI,IAAI,IAAI,CAEX;IAED,OAAO,CAAC,MAAM;IA8Bd,OAAO,CAAC,YAAY;CAmBrB"}
@@ -0,0 +1,102 @@
1
+ import { appendFileSync } from 'node:fs';
2
+ import { monitorEventLoopDelay, performance } from 'node:perf_hooks';
3
+ const NANOS_PER_MS = 1_000_000;
4
+ /** Samples event-loop utilization, delay histogram, and heap usage per test, writing columnar text to a file. */ export class EluMonitor {
5
+ filePath;
6
+ intervalMs;
7
+ timer;
8
+ lastELU;
9
+ histogram;
10
+ testName;
11
+ testStart;
12
+ eluSamples = [];
13
+ constructor(filePath, intervalMs){
14
+ this.filePath = filePath;
15
+ this.intervalMs = intervalMs ?? 2000;
16
+ this.histogram = monitorEventLoopDelay({
17
+ resolution: 20
18
+ });
19
+ }
20
+ /** Begin sampling for a test. Writes a header line and starts the periodic sampler. */ startTest(testName) {
21
+ this.stopTest();
22
+ this.testName = testName;
23
+ this.testStart = performance.now();
24
+ this.eluSamples = [];
25
+ appendFileSync(this.filePath, `\n=== Test: ${testName} ===\n`);
26
+ appendFileSync(this.filePath, padColumns('TIME', 'ELU', 'EL_DLY_P50', 'EL_DLY_P99', 'EL_DLY_MAX', 'HEAP_MB') + '\n');
27
+ this.lastELU = performance.eventLoopUtilization();
28
+ this.histogram.enable();
29
+ this.timer = setInterval(()=>this.sample(), this.intervalMs);
30
+ // Allow the process to exit even if the timer is still running.
31
+ this.timer.unref();
32
+ }
33
+ /** Stop sampling and write a summary line. */ stopTest() {
34
+ if (!this.timer) {
35
+ return;
36
+ }
37
+ // Take a final sample before stopping.
38
+ this.sample();
39
+ clearInterval(this.timer);
40
+ this.timer = undefined;
41
+ this.histogram.disable();
42
+ this.histogram.reset();
43
+ this.writeSummary();
44
+ this.lastELU = undefined;
45
+ this.testName = undefined;
46
+ this.testStart = undefined;
47
+ this.eluSamples = [];
48
+ }
49
+ /** Alias for stopTest — call on process exit to flush any remaining data. */ stop() {
50
+ this.stopTest();
51
+ }
52
+ sample() {
53
+ const newELU = performance.eventLoopUtilization();
54
+ const delta = performance.eventLoopUtilization(newELU, this.lastELU);
55
+ this.lastELU = newELU;
56
+ const elu = delta.utilization;
57
+ this.eluSamples.push(elu);
58
+ const p50 = this.histogram.percentile(50) / NANOS_PER_MS;
59
+ const p99 = this.histogram.percentile(99) / NANOS_PER_MS;
60
+ const max = this.histogram.max / NANOS_PER_MS;
61
+ const heapMb = Math.round(process.memoryUsage().heapUsed / (1024 * 1024));
62
+ const now = new Date();
63
+ const time = [
64
+ now.getHours(),
65
+ now.getMinutes(),
66
+ now.getSeconds()
67
+ ].map((n)=>String(n).padStart(2, '0')).join(':');
68
+ const line = padColumns(time, elu.toFixed(2), `${p50.toFixed(1)}ms`, `${p99.toFixed(1)}ms`, `${max.toFixed(1)}ms`, String(heapMb));
69
+ appendFileSync(this.filePath, line + '\n');
70
+ // Reset histogram so next sample only reflects the new interval.
71
+ this.histogram.reset();
72
+ }
73
+ writeSummary() {
74
+ if (this.eluSamples.length === 0 || this.testStart === undefined) {
75
+ return;
76
+ }
77
+ const mean = this.eluSamples.reduce((a, b)=>a + b, 0) / this.eluSamples.length;
78
+ const maxElu = Math.max(...this.eluSamples);
79
+ const sorted = [
80
+ ...this.eluSamples
81
+ ].sort((a, b)=>a - b);
82
+ const p90Elu = sorted[Math.floor(sorted.length * 0.9)] ?? maxElu;
83
+ const durationS = ((performance.now() - this.testStart) / 1000).toFixed(1);
84
+ let summary = `--- Summary: mean_elu=${mean.toFixed(2)} max_elu=${maxElu.toFixed(2)} p90_elu=${p90Elu.toFixed(2)} duration=${durationS}s`;
85
+ if (maxElu > 0.85) {
86
+ summary += ' WARNING:ELU>0.85';
87
+ }
88
+ summary += ' ---\n';
89
+ appendFileSync(this.filePath, summary);
90
+ }
91
+ }
92
+ function padColumns(...cols) {
93
+ const widths = [
94
+ 11,
95
+ 7,
96
+ 12,
97
+ 12,
98
+ 12,
99
+ 8
100
+ ];
101
+ return cols.map((col, i)=>col.padEnd(widths[i] ?? 10)).join('');
102
+ }
@@ -3,4 +3,4 @@ import type { BBConfig } from '@aztec/bb-prover';
3
3
  export declare const getBBConfig: (logger: Logger) => Promise<(BBConfig & {
4
4
  cleanup: () => Promise<void>;
5
5
  }) | undefined>;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2JiX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpeHR1cmVzL2dldF9iYl9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFrQmpELGVBQU8sTUFBTSxXQUFXOztlQXVDdkIsQ0FBQyJ9
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2JiX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpeHR1cmVzL2dldF9iYl9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFvQmpELGVBQU8sTUFBTSxXQUFXOztlQXNDdkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAkBjD,eAAO,MAAM,WAAW;;eAuCvB,CAAC"}
1
+ {"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAoBjD,eAAO,MAAM,WAAW;;eAsCvB,CAAC"}
@@ -3,7 +3,7 @@ import fs from 'node:fs/promises';
3
3
  import { tmpdir } from 'node:os';
4
4
  import path from 'path';
5
5
  import { fileURLToPath } from 'url';
6
- const { BB_RELEASE_DIR = 'barretenberg/cpp/build/bin', BB_BINARY_PATH, BB_SKIP_CLEANUP = '', TEMP_DIR = tmpdir(), BB_WORKING_DIRECTORY = '', BB_NUM_IVC_VERIFIERS = '1', BB_IVC_CONCURRENCY = '1' } = process.env;
6
+ const { BB_RELEASE_DIR = 'barretenberg/cpp/build/bin', BB_BINARY_PATH, BB_SKIP_CLEANUP = '', TEMP_DIR = tmpdir(), BB_WORKING_DIRECTORY = '', BB_NUM_IVC_VERIFIERS = '8', BB_IVC_CONCURRENCY = '1', BB_CHONK_VERIFY_MAX_BATCH = '16', BB_CHONK_VERIFY_BATCH_CONCURRENCY = '6' } = process.env;
7
7
  export const getBBConfig = async (logger)=>{
8
8
  try {
9
9
  const bbBinaryPath = BB_BINARY_PATH ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb-avm');
@@ -24,15 +24,15 @@ export const getBBConfig = async (logger)=>{
24
24
  'true'
25
25
  ].includes(BB_SKIP_CLEANUP);
26
26
  const cleanup = bbSkipCleanup ? ()=>Promise.resolve() : ()=>tryRmDir(directoryToCleanup);
27
- const numIvcVerifiers = Number(BB_NUM_IVC_VERIFIERS);
28
- const ivcConcurrency = Number(BB_IVC_CONCURRENCY);
29
27
  return {
30
28
  bbSkipCleanup,
31
29
  bbBinaryPath,
32
30
  bbWorkingDirectory,
33
31
  cleanup,
34
- numConcurrentIVCVerifiers: numIvcVerifiers,
35
- bbIVCConcurrency: ivcConcurrency
32
+ numConcurrentIVCVerifiers: Number(BB_NUM_IVC_VERIFIERS),
33
+ bbIVCConcurrency: Number(BB_IVC_CONCURRENCY),
34
+ bbChonkVerifyMaxBatch: Number(BB_CHONK_VERIFY_MAX_BATCH),
35
+ bbChonkVerifyConcurrency: Number(BB_CHONK_VERIFY_BATCH_CONCURRENCY)
36
36
  };
37
37
  } catch (err) {
38
38
  logger.error(`Native BB not available, error: ${err}`);
@@ -1,7 +1,7 @@
1
1
  import { type InitialAccountData } from '@aztec/accounts/testing';
2
2
  import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
3
3
  import { AztecAddress } from '@aztec/aztec.js/addresses';
4
- import { type ContractMethod } from '@aztec/aztec.js/contracts';
4
+ import { type ContractMethod, type DeployInteractionWaitOptions, type DeployOptions } from '@aztec/aztec.js/contracts';
5
5
  import { Fr } from '@aztec/aztec.js/fields';
6
6
  import { type Logger } from '@aztec/aztec.js/log';
7
7
  import type { AztecNode } from '@aztec/aztec.js/node';
@@ -9,7 +9,8 @@ import type { Wallet } from '@aztec/aztec.js/wallet';
9
9
  import { AnvilTestWatcher, CheatCodes } from '@aztec/aztec/testing';
10
10
  import { type DeployAztecL1ContractsArgs, type DeployAztecL1ContractsReturnType, type Operator, type ZKPassportArgs } from '@aztec/ethereum/deploy-aztec-l1-contracts';
11
11
  import type { Delayer } from '@aztec/ethereum/l1-tx-utils';
12
- import { type Anvil, EthCheatCodes, startAnvil } from '@aztec/ethereum/test';
12
+ import { EthCheatCodes, startAnvil } from '@aztec/ethereum/test';
13
+ import type { Anvil } from '@aztec/ethereum/test';
13
14
  import { BlockNumber } from '@aztec/foundation/branded-types';
14
15
  import { SecretValue } from '@aztec/foundation/config';
15
16
  import { DateProvider, TestDateProvider } from '@aztec/foundation/timer';
@@ -21,6 +22,7 @@ import type { SequencerClient } from '@aztec/sequencer-client';
21
22
  import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
22
23
  import type { AztecNodeAdmin, AztecNodeDebug } from '@aztec/stdlib/interfaces/client';
23
24
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
25
+ import type { GenesisData } from '@aztec/stdlib/world-state';
24
26
  import { type TelemetryClient, type TelemetryClientConfig } from '@aztec/telemetry-client';
25
27
  import { type Chain } from 'viem/chains';
26
28
  import { TestWallet } from '../test-wallet/test_wallet.js';
@@ -81,6 +83,8 @@ export type SetupOptions = {
81
83
  proverNodeConfig?: Partial<ProverNodeConfig>;
82
84
  /** Whether to use a mock gossip sub network for p2p clients. */
83
85
  mockGossipSubNetwork?: boolean;
86
+ /** Whether to add simulated latency to the mock gossipsub network (in ms) */
87
+ mockGossipSubNetworkLatency?: number;
84
88
  /** Whether to disable the anvil test watcher (can still be manually started) */
85
89
  disableAnvilTestWatcher?: boolean;
86
90
  /** Whether to enable anvil automine during deployment of L1 contracts (consider defaulting this to true). */
@@ -151,8 +155,8 @@ export type EndToEndContext = {
151
155
  sequencerDelayer: Delayer | undefined;
152
156
  /** Delayer for prover node L1 txs (only when enableDelayer and startProverNode are true). */
153
157
  proverDelayer: Delayer | undefined;
154
- /** Prefilled public data used for setting up nodes. */
155
- prefilledPublicData: PublicDataTreeLeaf[] | undefined;
158
+ /** Genesis data used for setting up nodes. */
159
+ genesis: GenesisData | undefined;
156
160
  /** ACVM config (only set if running locally). */
157
161
  acvmConfig: Awaited<ReturnType<typeof getACVMConfig>>;
158
162
  /** BB config (only set if running locally). */
@@ -199,7 +203,7 @@ export declare function createAndSyncProverNode(proverNodePrivateKey: `0x${strin
199
203
  dateProvider: DateProvider;
200
204
  p2pClientDeps?: P2PClientDeps;
201
205
  }, options: {
202
- prefilledPublicData: PublicDataTreeLeaf[];
206
+ genesis?: GenesisData;
203
207
  dontStart?: boolean;
204
208
  }): Promise<{
205
209
  proverNode: AztecNodeService;
@@ -219,7 +223,7 @@ export declare function ensureAccountContractsPublished(wallet: Wallet, accounts
219
223
  * Helper function to deploy accounts.
220
224
  * Returns deployed account data that can be used by tests.
221
225
  */
222
- export declare const deployAccounts: (numberOfAccounts: number, logger: Logger) => ({ wallet, initialFundedAccounts }: {
226
+ export declare const deployAccounts: (numberOfAccounts: number, logger: Logger, deployOptions?: Partial<DeployOptions<DeployInteractionWaitOptions>> | undefined) => ({ wallet, initialFundedAccounts }: {
223
227
  wallet: TestWallet;
224
228
  initialFundedAccounts: InitialAccountData[];
225
229
  }) => Promise<{
@@ -235,4 +239,4 @@ export declare function publicDeployAccounts(wallet: Wallet, accountsToDeploy: A
235
239
  */
236
240
  export declare function teardown(context: EndToEndContext | undefined): Promise<void>;
237
241
  export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFN0YsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFHTCxLQUFLLGNBQWMsRUFHcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU9wRSxPQUFPLEVBQ0wsS0FBSywwQkFBMEIsRUFDL0IsS0FBSyxnQ0FBZ0MsRUFDckMsS0FBSyxRQUFRLEVBQ2IsS0FBSyxjQUFjLEVBRXBCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLGFBQWEsRUFBMEIsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckcsT0FBTyxFQUFFLFdBQVcsRUFBZSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU12RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFF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
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFN0YsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFHTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyxhQUFhLEVBR25CLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPcEUsT0FBTyxFQUNMLEtBQUssMEJBQTBCLEVBQy9CLEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUssUUFBUSxFQUNiLEtBQUssY0FBYyxFQUVwQixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQTBCLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFNdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNoRCxPQUFPLEVBQUUsb0JBQW9CLEVBQWtDLE1BQU0seUJBQXlCLENBQUM7QUFFL0YsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWdCLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssMkJBQTJCLEVBQThDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEgsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXRGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixLQUFLLHFCQUFxQixFQUczQixNQUFNLHlCQUF5QixDQUFDO0FBZ0JqQyxPQUFPLEVBQUUsS0FBSyxLQUFLLEVBQVcsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFJakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBV3RCLGVBQU8sTUFBTSxzQkFBc0IsbURBSWxDLENBQUM7QUFFRjs7R0FFRztBQUNILHdCQUFzQixzQkFBc0IsQ0FBQyxNQUFNLEVBQUU7SUFBRSxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtwSDtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQ3hDLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLElBQUksR0FBRSxPQUFPLENBQUMsU0FBUyxDQUFNLEVBQzdCLE1BQU0sU0FBYyxFQUNwQixLQUFLLENBQUMsRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDO0lBQ1QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQy9CLENBQUMsQ0FvQkQ7QUFFRCxzQ0FBc0M7QUFDdEMsTUFBTSxNQUFNLFlBQVksR0FBRztJQUN6QixpQkFBaUI7SUFDakIsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ25CLHlGQUF5RjtJQUN6RixXQUFXLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2pDLDBDQUEwQztJQUMxQyx1QkFBdUIsQ0FBQyxFQUFFLGdDQUFnQyxDQUFDO0lBQzNELDZDQUE2QztJQUM3QyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM1Qix1REFBdUQ7SUFDdkQsNkJBQTZCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkMsMENBQTBDO0lBQzFDLHFCQUFxQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUM3QyxtQ0FBbUM7SUFDbkMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFFBQVEsR0FBRztRQUFFLFVBQVUsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FBQyxFQUFFLENBQUM7SUFDakUsdUJBQXVCO0lBQ3ZCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQix5RUFBeUU7SUFDekUsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLHFDQUFxQztJQUNyQyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDMUIsNkNBQTZDO0lBQzdDLGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHO1FBQUUsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUUsQ0FBQztJQUMzRSwrREFBK0Q7SUFDL0QsaUJBQWlCLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQ3pDLG1EQUFtRDtJQUNuRCxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLGdFQUFnRTtJQUNoRSxvQkFBb0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMvQiw2RUFBNkU7SUFDN0UsMkJBQTJCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDckMsZ0ZBQWdGO0lBQ2hGLHVCQUF1QixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2xDLDZHQUE2RztJQUM3RyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDMUIscURBQXFEO0lBQ3JELGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2Qiw2Q0FBNkM7SUFDN0MsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ25COzs7T0FHRztJQUNILG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzdCLDZDQUE2QztJQUM3QyxjQUFjLENBQUMsRUFBRSxXQUFXLENBQUMsS0FBSyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLDhEQUE4RDtJQUM5RCxjQUFjLENBQUMsRUFBRSxjQUFjLENBQUM7SUFDaEMsd0VBQXdFO0lBQ3hFLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzNCLCtHQUErRztJQUMvRyxxQkFBcUIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUNoQyx5Q0FBeUM7SUFDekMsZUFBZSxDQUFDLEVBQUUsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDdEQscUZBQXFGO0lBQ3JGLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQzlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTdCLHlFQUF5RTtBQUN6RSxNQUFNLE1BQU0sZUFBZSxHQUFHO0lBQzVCLGtFQUFrRTtJQUNsRSxLQUFLLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQztJQUN6QiwwREFBMEQ7SUFDMUQsU0FBUyxFQUFFLFNBQVMsR0FBRyxjQUFjLENBQUM7SUFDdEMsbUNBQW1DO0lBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLGdEQUFnRDtJQUNoRCxjQUFjLEVBQUUsY0FBYyxDQUFDO0lBQy9CLDhGQUE4RjtJQUM5RixVQUFVLEVBQUUsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0lBQ3pDLHlDQUF5QztJQUN6QyxTQUFTLEVBQUUsZUFBZSxHQUFHLFNBQVMsQ0FBQztJQUN2QywwREFBMEQ7SUFDMUQsdUJBQXVCLEVBQUUsZ0NBQWdDLENBQUM7SUFDMUQsb0NBQW9DO0lBQ3BDLE1BQU0sRUFBRSxlQUFlLENBQUM7SUFDeEIsa0ZBQWtGO0lBQ2xGLGVBQWUsRUFBRSxlQUFlLENBQUM7SUFDakMsZ0RBQWdEO0lBQ2hELHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLENBQUM7SUFDNUMsNkJBQTZCO0lBQzdCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsOEJBQThCO0lBQzlCLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN6QixpREFBaUQ7SUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLHVCQUF1QjtJQUN2QixVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZCLDZCQUE2QjtJQUM3QixhQUFhLEVBQUUsYUFBYSxDQUFDO0lBQzdCLDhCQUE4QjtJQUM5QixPQUFPLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIseUVBQXlFO0lBQ3pFLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQztJQUMvQix1QkFBdUI7SUFDdkIsZUFBZSxFQUFFLGVBQWUsQ0FBQztJQUNqQyxrSEFBa0g7SUFDbEgsb0JBQW9CLEVBQUUsb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0lBQ3ZELHNFQUFzRTtJQUN0RSxnQkFBZ0IsRUFBRSxPQUFPLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLDZGQUE2RjtJQUM3RixhQUFhLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUNuQyw4Q0FBOEM7SUFDOUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxTQUFTLENBQUM7SUFDakMsaURBQWlEO0lBQ2pELFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQztJQUN0RCwrQ0FBK0M7SUFDL0MsUUFBUSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xELHdDQUF3QztJQUN4QyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsNkNBQTZDO0lBQzdDLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUMvQixDQUFDO0FBRUY7Ozs7O0dBS0c7QUFDSCx3QkFBc0IsS0FBSyxDQUN6QixnQkFBZ0IsU0FBSSxFQUNwQixJQUFJLEdBQUUsWUFBaUIsRUFDdkIsT0FBTyxHQUFFLE9BQU8sQ0FBQyxTQUFTLENBQU0sRUFDaEMsS0FBSyxHQUFFLEtBQWUsR0FDckIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQXFYMUI7QUFPRDs7R0FFRztBQUNILHdCQUFnQixTQUFTLFdBT3hCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IsdUJBQXVCLElBQUksT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBTTlFO0FBRUQ7O0dBRUc7QUFDSCx3QkFBc0Isc0JBQXNCLDBCQUczQztBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLHdDQVFyRDtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV4RTtBQUVELHdCQUFzQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFdBQVcsRUFBRSxVQUFVLFNBQUssRUFBRSxXQUFXLFNBQUksaUJBU3BIO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLHVCQUF1QixDQUNyQyxvQkFBb0IsRUFBRSxLQUFLLE1BQU0sRUFBRSxFQUNuQyxVQUFVLEVBQUUsZUFBZSxFQUMzQixlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsRUFDdkQsSUFBSSxFQUFFO0lBQ0osU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO0lBQzVCLFlBQVksRUFBRSxZQUFZLENBQUM7SUFDM0IsYUFBYSxDQUFDLEVBQUUsYUFBYSxDQUFDO0NBQy9CLEVBQ0QsT0FBTyxFQUFFO0lBQUUsT0FBTyxDQUFDLEVBQUUsV0FBVyxDQUFDO0lBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsR0FDdEQsT0FBTyxDQUFDO0lBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFBO0NBQUUsQ0FBQyxDQXNCM0M7QUFFRCxNQUFNLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxDQUFDO0FBQzFELHdCQUFnQixhQUFhLENBQzNCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLGNBQWMsRUFDdEIsTUFBTSxFQUFFLEdBQUcsR0FDVixDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsWUFBWSxHQUFHO0lBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQTtDQUFFLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQVluRjtBQUVELHdCQUFzQixhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDdEMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQy9CLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDWCxlQUFlLEVBQUUsQ0FBQyxFQUFFLEdBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FNZjtBQUVELHdCQUFzQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNLEVBQ25FLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFDbEIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQy9CLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEdBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPZjtBQUVEOzs7R0FHRztBQUNILHdCQUFzQiwrQkFBK0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxpQkF1QnJHO0FBRUQ7OztHQUdHO0FBQ0gsZUFBTyxNQUFNLGNBQWM7Ozs7O0VBeUJ4QixDQUFDO0FBRUo7OztHQUdHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUN4QyxNQUFNLEVBQUUsTUFBTSxFQUNkLGdCQUFnQixFQUFFLFlBQVksRUFBRSxFQUNoQyxlQUFlLFVBQVEsRUFDdkIsSUFBSSxDQUFDLEVBQUUsU0FBUyxpQkF3QmpCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBc0IsUUFBUSxDQUFDLE9BQU8sRUFBRSxlQUFlLEdBQUcsU0FBUyxpQkFLbEU7QUFHRCxPQUFPLEVBQUUsMENBQTBDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,7 @@ export const getPrivateKeyFromIndex = (index)=>{
115
115
  let anvil;
116
116
  try {
117
117
  opts.aztecTargetCommitteeSize ??= 0;
118
- opts.slasherFlavor ??= 'none';
118
+ opts.slasherEnabled ??= false;
119
119
  const config = {
120
120
  ...getConfigEnvVars(),
121
121
  ...opts
@@ -205,7 +205,8 @@ export const getPrivateKeyFromIndex = (index)=>{
205
205
  const sponsoredFPCAddress = await getSponsoredFPCAddress();
206
206
  addressesToFund.push(sponsoredFPCAddress);
207
207
  }
208
- const { genesisArchiveRoot, prefilledPublicData, fundingNeeded } = await getGenesisValues(addressesToFund, opts.initialAccountFeeJuice, opts.genesisPublicData);
208
+ const genesisTimestamp = BigInt(Math.floor(Date.now() / 1000));
209
+ const { genesisArchiveRoot, genesis, fundingNeeded } = await getGenesisValues(addressesToFund, opts.initialAccountFeeJuice, opts.genesisPublicData, genesisTimestamp);
209
210
  const wasAutomining = await ethCheatCodes.isAutoMining();
210
211
  const enableAutomine = opts.automineL1Setup && !wasAutomining && isAnvilTestChain(chain.id);
211
212
  if (enableAutomine) {
@@ -268,7 +269,7 @@ export const getPrivateKeyFromIndex = (index)=>{
268
269
  let mockGossipSubNetwork;
269
270
  let p2pClientDeps = undefined;
270
271
  if (opts.mockGossipSubNetwork) {
271
- mockGossipSubNetwork = new MockGossipSubNetwork();
272
+ mockGossipSubNetwork = new MockGossipSubNetwork(opts.mockGossipSubNetworkLatency);
272
273
  p2pClientDeps = {
273
274
  p2pServiceFactory: getMockPubSubP2PServiceFactory(mockGossipSubNetwork)
274
275
  };
@@ -302,7 +303,7 @@ export const getPrivateKeyFromIndex = (index)=>{
302
303
  telemetry: telemetryClient,
303
304
  p2pClientDeps
304
305
  }, {
305
- prefilledPublicData
306
+ genesis
306
307
  }));
307
308
  const sequencerClient = aztecNodeService.getSequencer();
308
309
  let proverNode = undefined;
@@ -325,7 +326,7 @@ export const getPrivateKeyFromIndex = (index)=>{
325
326
  p2pClientDeps,
326
327
  telemetry: telemetryClient
327
328
  }, {
328
- prefilledPublicData
329
+ genesis
329
330
  }));
330
331
  }
331
332
  const sequencerDelayer = sequencerClient?.getDelayer();
@@ -411,7 +412,7 @@ export const getPrivateKeyFromIndex = (index)=>{
411
412
  initialFundedAccounts,
412
413
  logger,
413
414
  mockGossipSubNetwork,
414
- prefilledPublicData,
415
+ genesis,
415
416
  proverNode,
416
417
  sequencerDelayer,
417
418
  proverDelayer,
@@ -492,7 +493,7 @@ export async function waitForProvenChain(node, targetBlock, timeoutSec = 60, int
492
493
  new SecretValue(proverNodePrivateKey)
493
494
  ]
494
495
  }, deps, {
495
- ...options,
496
+ genesis: options.genesis,
496
497
  dontStartProverNode: options.dontStart
497
498
  });
498
499
  if (!proverNode.getProverNode()) {
@@ -553,7 +554,7 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
553
554
  /**
554
555
  * Helper function to deploy accounts.
555
556
  * Returns deployed account data that can be used by tests.
556
- */ export const deployAccounts = (numberOfAccounts, logger)=>async ({ wallet, initialFundedAccounts })=>{
557
+ */ export const deployAccounts = (numberOfAccounts, logger, deployOptions)=>async ({ wallet, initialFundedAccounts })=>{
557
558
  if (initialFundedAccounts.length < numberOfAccounts) {
558
559
  throw new Error(`Cannot deploy more than ${initialFundedAccounts.length} initial accounts.`);
559
560
  }
@@ -565,7 +566,8 @@ export async function expectMappingDelta(initialValues, fn, inputs, expectedDiff
565
566
  const deployMethod = await accountManager.getDeployMethod();
566
567
  await deployMethod.send({
567
568
  from: NO_FROM,
568
- skipClassPublication: i !== 0
569
+ skipClassPublication: i !== 0,
570
+ ...deployOptions
569
571
  });
570
572
  }
571
573
  return {