Skip to content

Commit fe4792b

Browse files
authored
test(e2e): enable pipelining on bot, fees, and avm simulator tests (#23329)
Opts four e2e suites into proposer pipelining now that the `simulatePublicCalls` inbox-lag mismatch is fixed in 1b11032 (\"fix(node): Do not fail public call simulation if inbox is not sealed\"): - `e2e_avm_simulator` - `e2e_bot` - `e2e_fees/private_payments` - `e2e_fees/failures` Each test gets `PIPELINING_SETUP_OPTS` plus `aztecProofSubmissionEpochs: 640` to avoid the unproven-epoch auto-prune during long runs (none of these suites care about reorgs). The `transaction-bot` config also bumps `minFeePadding` to `PIPELINED_FEE_PADDING` since the bot overrides the wallet padding via `wallet.setMinFeePadding(config.minFeePadding)` in `bot/src/factory.ts:60`.
1 parent a719a03 commit fe4792b

6 files changed

Lines changed: 247 additions & 220 deletions

File tree

yarn-project/archiver/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export * from './archiver.js';
44
export * from './modules/data_source_base.js';
55
export * from './modules/data_store_updater.js';
66
export * from './config.js';
7+
export * from './errors.js';
78

89
export { type L1PublishedData } from './structs/published.js';
910
export {

yarn-project/aztec-node/src/aztec-node/server.ts

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Archiver, createArchiver } from '@aztec/archiver';
1+
import { Archiver, L1ToL2MessagesNotReadyError, createArchiver } from '@aztec/archiver';
22
import { BBCircuitVerifier, BatchChonkVerifier, QueuedIVCVerifier } from '@aztec/bb-prover';
33
import { TestCircuitVerifier } from '@aztec/bb-prover/test';
44
import { type BlobClientInterface, createBlobClientWithFileStores } from '@aztec/blob-client/client';
@@ -20,6 +20,7 @@ import { retryUntil } from '@aztec/foundation/retry';
2020
import { count } from '@aztec/foundation/string';
2121
import { DateProvider, Timer } from '@aztec/foundation/timer';
2222
import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
23+
import { isErrorClass } from '@aztec/foundation/types';
2324
import { type KeyStore, KeystoreManager, loadKeystores, mergeKeystores } from '@aztec/node-keystore';
2425
import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
2526
import { createForwarderL1TxUtilsFromSigners, createL1TxUtilsFromSigners } from '@aztec/node-lib/factories';
@@ -1516,11 +1517,24 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
15161517
// the world state tree so simulation can take them into account. We detect if the next block would
15171518
// start a new checkpoint by checking if the proposed checkpoint's block number matches the latest block number,
15181519
// which means the next block would be the first block of the next checkpoint.
1520+
const targetCheckpoint = CheckpointNumber(
1521+
(l2Tips.proposedCheckpoint.checkpoint.number ?? CheckpointNumber.ZERO) + 1,
1522+
);
15191523
const nextCheckpointMessages: Fr[] | undefined =
15201524
l2Tips.proposedCheckpoint.block.number === l2Tips.proposed.number
1521-
? await this.l1ToL2MessageSource.getL1ToL2Messages(
1522-
CheckpointNumber((l2Tips.proposedCheckpoint.checkpoint.number ?? CheckpointNumber.ZERO) + 1),
1523-
)
1525+
? await this.l1ToL2MessageSource.getL1ToL2Messages(targetCheckpoint).catch(err => {
1526+
if (isErrorClass(err, L1ToL2MessagesNotReadyError)) {
1527+
this.log.warn(
1528+
`L1-to-L2 messages for checkpoint ${targetCheckpoint} are not ready yet (simulating without them)`,
1529+
);
1530+
} else {
1531+
this.log.error(
1532+
`Failed to get L1-to-L2 messages for checkpoint ${targetCheckpoint} (simulating without them)`,
1533+
err,
1534+
);
1535+
}
1536+
return undefined;
1537+
})
15241538
: undefined;
15251539

15261540
// Request a new fork of the world state at the latest block number, and apply any overrides and next checkpoint messages to it before simulation

0 commit comments

Comments
 (0)