go-ethereum/core/txpool
Csaba Kiraly b993cb6f38
core/txpool/blobpool: allow gaps in blobpool (#32717)
Allow the blobpool to accept blobs out of nonce order

Previously, we were dropping blobs that arrived out-of-order. However,
since fetch decisions are done on receiver side,
out-of-order delivery can happen, leading to inefficiencies.

This PR:
- adds an in-memory blob tx storage, similar to the queue in the
legacypool
- a limited number of received txs can be added to this per account
- txs waiting in the gapped queue are not processed further and not
propagated further until they are unblocked by adding the previos nonce
to the blobpool

The size of the in-memory storage is currently limited per account,
following a slow-start logic.
An overall size limit, and a TTL is also enforced for DoS protection.

---------

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de>
2026-01-09 10:43:15 +01:00
..
blobpool core/txpool/blobpool: allow gaps in blobpool (#32717) 2026-01-09 10:43:15 +01:00
legacypool eth/fetcher: add metadata validation in tx announcement (#33378) 2025-12-11 12:11:52 +08:00
locals core/txpool: Initialize journal writer for tx tracker (#32921) 2025-10-21 15:41:38 +08:00
errors.go core/txpool: add explicit max blob count limit (#31837) 2025-05-22 11:30:20 +02:00
reserver.go core/txpool: allow tx and authority regardless of admission order (#31373) 2025-04-09 19:11:24 -06:00
subpool.go eth/fetcher: add metadata validation in tx announcement (#33378) 2025-12-11 12:11:52 +08:00
txpool.go eth/fetcher: add metadata validation in tx announcement (#33378) 2025-12-11 12:11:52 +08:00
validation.go core/txpool/blobpool: remove legacy sidecar conversion (#33352) 2025-12-18 12:33:07 -07:00
validation_test.go core/txpool: add eip2681 check for incoming transactions (#32726) 2025-09-25 13:15:12 +02:00