Skip to content

feat(p2p): slot-based soft deletion for TxPoolV2#20388

Merged
PhilWindle merged 1 commit intomerge-train/spartanfrom
pw/recycle-bin
Feb 11, 2026
Merged

feat(p2p): slot-based soft deletion for TxPoolV2#20388
PhilWindle merged 1 commit intomerge-train/spartanfrom
pw/recycle-bin

Conversation

@PhilWindle
Copy link
Collaborator

Summary

  • Deleted transactions (eviction, validation failure, failed execution) are now slot-soft-deleted instead of immediately hard-deleted, remaining in the database for the rest of the current slot so other nodes can still fetch them via reqresp
  • prepareForSlot cleans up slot-soft-deleted txs from previous slots
  • Prune-based soft deletion (for txs from reorged blocks) is unaffected — those txs survive across slots until finalized
  • Re-added txs correctly clear their soft-deleted status, preserving prune tracking when applicable

Test plan

  • 32 deleted_pool unit tests pass (15 new for slot-based deletion)
  • 186 tx_pool_v2 integration tests pass (9 new slot-based tests including edge cases for re-addition after both slot and prune soft deletion)
  • 25 compat tests pass (2 updated assertions)

🤖 Generated with Claude Code

Deleted transactions (eviction, validation failure, failed execution) are now
slot-soft-deleted instead of immediately hard-deleted. They remain in the
database for the rest of the current slot so other nodes can still fetch them
via reqresp, then are cleaned up when prepareForSlot advances to a new slot.

This coexists with the existing prune-based soft deletion which keeps txs from
pruned blocks until their original mined block is finalized.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@PhilWindle PhilWindle merged commit c581266 into merge-train/spartan Feb 11, 2026
11 checks passed
@PhilWindle PhilWindle deleted the pw/recycle-bin branch February 11, 2026 14:56
github-merge-queue bot pushed a commit that referenced this pull request Feb 12, 2026
BEGIN_COMMIT_OVERRIDE
chore: Should fix proving benchmarks by reducing committee lag (#20381)
chore: standalone forge broadcast wrapper with retry, timeout, and anvil
detection (#19824)
chore: benchmark tx val (#20227)
fix: cloudflare terraform API (#20387)
fix: HA e2e test order & retries (#20383)
fix: incorporate forge broadcast review feedback (#20390)
refactor(p2p): rewrite FileStoreTxCollection with retry, backoff, and
shared worker pool (#20317)
chore(ci): run ci job on draft PRs (#20395)
feat(bot): allow anchoring txs to proposed chain (#20392)
feat(p2p): slot-based soft deletion for TxPoolV2 (#20388)
chore: add setup-container script (#20309)
feat: build aztec-prover-agent with baked-in CRS (#20391)
fix!: change protocol contracts deployer to be the contract address
(#20396)
feat(p2p): enforce minimum tx pool age for block building (#20384)
refactor(sentinel): update validator statuses to checkpoint-based naming
(#20372)
chore: log tx hash (#20413)
chore: update l1 fee analysis to measure blob count in L1 blocks
(#20414)
chore: set up tx file store in next-net (#20418)
chore(ci): gate draft PRs from CI, allow override with ci-draft label
(#20426)
fix: stabilize writing_an_account_contract.test.ts (#20420)
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