Skip to content

Commit 69f57fe

Browse files
authored
chore: Revert "feat(sandbox): support proposer pipelining in local network" (#23313)
Reverts #23277 (temporary)
1 parent fc2a31c commit 69f57fe

8 files changed

Lines changed: 0 additions & 55 deletions

File tree

aztec-up/test/amm_flow.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
export SEQ_ENABLE_PROPOSER_PIPELINING=true
5-
64
# Start local network and wait for port to open.
75
aztec start --local-network &
86
local_network_pid=$!

aztec-up/test/basic_install.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ echo
1010

1111
export LOG_LEVEL=silent
1212
export PXE_PROVER=none
13-
export SEQ_ENABLE_PROPOSER_PIPELINING=true
1413

1514
# Start local network and wait for port to open.
1615
aztec start --local-network &

aztec-up/test/bridge_and_claim.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
export SEQ_ENABLE_PROPOSER_PIPELINING=true
5-
64
# Start local network and wait for port to open.
75
aztec start --local-network &
86
local_network_pid=$!

docs/examples/ts/docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ services:
2828
WS_BLOCK_CHECK_INTERVAL_MS: 500
2929
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
3030
P2P_MIN_TX_POOL_AGE_MS: 0
31-
SEQ_ENABLE_PROPOSER_PIPELINING: 'true'
3231
HARDWARE_CONCURRENCY: ${HARDWARE_CONCURRENCY:-}
3332

3433
docs-examples:

playground/docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ services:
2727
WS_BLOCK_CHECK_INTERVAL_MS: 50
2828
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
2929
P2P_MIN_TX_POOL_AGE_MS: 0
30-
SEQ_ENABLE_PROPOSER_PIPELINING: 'true'
3130
healthcheck:
3231
test: ['CMD', 'curl', '-fSs', 'http://127.0.0.1:8080/status']
3332
interval: 3s

yarn-project/aztec/src/local-network/local-network.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -206,21 +206,6 @@ export async function createLocalNetwork(config: Partial<LocalNetworkConfig> = {
206206
SequencerState.SYNCHRONIZING,
207207
]);
208208
watcher?.setIsSequencerBuilding(() => !idleStates.has(sequencer.getState()));
209-
// Under proposer pipelining the L1 publish for slot N happens during wall-clock slot N,
210-
// but the proposer for slot N has already built the checkpoint during slot N-1 and is
211-
// waiting for L1 to advance. We need to fast-forward L1 to wake that wait — and the wait
212-
// we have to break first is `waitForValidParentCheckpointOnL1`, which blocks the
213-
// checkpoint_proposal_job's background submission task until the archiver has synced past
214-
// the build slot. That wait happens *before* `PUBLISHING_CHECKPOINT` is set, so a hook on
215-
// that state transition would be circular (L1 has to advance before the state we'd use to
216-
// advance L1 fires). The earliest pre-wait signal is `block-proposed`, which the sequencer
217-
// emits once each block is built. In sandbox single-block-per-slot mode this is
218-
// effectively "checkpoint built", and the watcher warp is harmless if a subsequent
219-
// assembly/validation/parent-wait step aborts: L1 just sits one slot ahead, which the
220-
// cascade absorbs.
221-
if (watcher) {
222-
sequencer.on('block-proposed', ({ slot }) => watcher!.setProposedTargetSlot(Number(slot)));
223-
}
224209
}
225210

226211
let epochTestSettler: EpochTestSettler | undefined;

yarn-project/aztec/src/testing/anvil_test_watcher.ts

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,6 @@ export class AnvilTestWatcher {
4444
// Tracks when we first observed the current unfilled slot with pending txs (real wall time).
4545
private unfilledSlotFirstSeen?: { slot: number; realTime: number };
4646

47-
// Latest target slot for which the proposer has built a block destined for L1 but which has
48-
// not yet been committed. Set by the proposer-pipelining hook from `block-proposed` events so
49-
// the watcher can advance L1 (and the injected date provider) to the target slot ahead of the
50-
// publisher's `sendRequestsAt` sleep, instead of waiting a full wall-clock slot.
51-
private proposedTargetSlot?: number;
52-
5347
constructor(
5448
private cheatcodes: EthCheatCodes,
5549
rollupAddress: EthAddress,
@@ -92,18 +86,6 @@ export class AnvilTestWatcher {
9286
this.isSequencerBuilding = fn;
9387
}
9488

95-
/**
96-
* Records the target slot for which the proposer has built a block destined for L1. Used by
97-
* the local-network watcher to fast-forward L1 (and the injected date provider) ahead of the
98-
* pipelined publisher's `sendRequestsAt` sleep so it ends promptly instead of waiting a full
99-
* wall-clock slot. Only ratchets up — late warps for stale slots are no-ops.
100-
*/
101-
setProposedTargetSlot(slot: number) {
102-
if (this.proposedTargetSlot === undefined || slot > this.proposedTargetSlot) {
103-
this.proposedTargetSlot = slot;
104-
}
105-
}
106-
10789
async start() {
10890
if (this.filledRunningPromise) {
10991
throw new Error('Watcher already watching for filled slot');
@@ -195,20 +177,6 @@ export class AnvilTestWatcher {
195177
return;
196178
}
197179

198-
// Pipelined-publish shortcut: if the proposer has built a block destined for a slot
199-
// beyond the current L1 slot, fast-forward L1 to that slot's timestamp so the publisher's
200-
// `sendRequestsAt(targetSlot)` sleep ends and the multicall mines inside the target slot.
201-
// Without this, the publisher waits up to a full real-time slot for wall clock to catch up.
202-
if (this.proposedTargetSlot !== undefined && this.proposedTargetSlot > currentSlot) {
203-
const targetSlotTimestamp = Number(
204-
await this.rollup.read.getTimestampForSlot([BigInt(this.proposedTargetSlot)]),
205-
);
206-
if (await this.warpToTimestamp(targetSlotTimestamp)) {
207-
this.logger.info(`Warped L1 to target slot ${this.proposedTargetSlot} for pipelined publish`);
208-
}
209-
return;
210-
}
211-
212180
// If there are pending txs and the sequencer missed them, warp quickly (after a 2s real-time debounce) so the
213181
// sequencer can retry in the next slot. Without this, we'd have to wait a full real-time slot duration (~36s) for
214182
// the dateProvider to catch up to the next slot timestamp. We skip the warp if the sequencer is actively building

yarn-project/end-to-end/scripts/docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ services:
2828
WS_BLOCK_CHECK_INTERVAL_MS: 500
2929
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
3030
P2P_MIN_TX_POOL_AGE_MS: 0
31-
SEQ_ENABLE_PROPOSER_PIPELINING: 'true'
3231
HARDWARE_CONCURRENCY: ${HARDWARE_CONCURRENCY:-}
3332

3433
end-to-end:

0 commit comments

Comments
 (0)