Skip to content

test(e2e): test missed l1 publishing under pipelining#22926

Merged
PhilWindle merged 1 commit into
merge-train/spartanfrom
spl/test_missed_l1_publish
May 5, 2026
Merged

test(e2e): test missed l1 publishing under pipelining#22926
PhilWindle merged 1 commit into
merge-train/spartanfrom
spl/test_missed_l1_publish

Conversation

@spalladino

@spalladino spalladino commented May 4, 2026

Copy link
Copy Markdown
Contributor

End-to-end test for the "missed L1 publish" scenario under proposer pipelining.

Each of 4 nodes holds exactly one validator key. We pick four consecutive slots
(slotZero, slotOne, slotTwo, slotThree) such that the proposers for slotOne, slotTwo, and
slotThree are three distinct validators, then warp to one L1 block before slotZero begins.

The proposer for slotOne is configured to skip its L1 publish.
With pipelining, the proposer for slot N+1 builds and gossips its checkpoint during slot N,
then publishes that checkpoint to L1 during slot N+1. So gossip-driven proposed chain
advances arrive one slot earlier than the L1-driven checkpointed advance.

Expected behavior:

  • During slotZero, the pipelined proposer for slotOne gossips its build → every node's
    proposed tip advances to a block at slotOne.
  • During slotOne, the pipelined proposer for slotTwo gossips on top of the slotOne proposal →
    proposed advances to a block at slotTwo. Meanwhile the proposer for slotOne attempts L1
    publish but is configured to skip it, so no checkpoint lands.
  • When slotOne ends with no checkpoint mined, every node's archiver prunes the
    uncheckpointed slotOne and slotTwo blocks; we verify rollback via the prune event.
    We then re-enable publishing on the formerly suppressed node so recovery can proceed.
  • During slotTwo, the pipelined proposer for slotThree builds on top of the (now genesis)
    checkpointed tip → proposed advances again.
  • During slotThree, that pipelined work is published → checkpointed finally advances.

@spalladino spalladino force-pushed the spl/test_missed_l1_publish branch from eb9448c to ce6b159 Compare May 4, 2026 22:01
@spalladino spalladino marked this pull request as ready for review May 4, 2026 22:01
@PhilWindle PhilWindle merged commit fa098ff into merge-train/spartan May 5, 2026
18 checks passed
@PhilWindle PhilWindle deleted the spl/test_missed_l1_publish branch May 5, 2026 09:54
danielntmd pushed a commit to danielntmd/aztec-packages that referenced this pull request May 6, 2026
BEGIN_COMMIT_OVERRIDE
refactor(archiver)!: simplify L2BlockSource block lookups (AztecProtocol#22809)
chore(lint): allow branded primitive types as keys in collections
(AztecProtocol#22935)
test(e2e): test missed l1 publishing under pipelining (AztecProtocol#22926)
fix: dedup attestation pool by payload hash (AztecProtocol#22871)
chore: notify slack users directly (AztecProtocol#22944)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants