go-ethereum/core/txpool
Bosul Mun 726d657a4a
core/txpool/blobpool: add blobTxForPool type (#34882)
This PR introduces a separate transaction pool type for sparse blobpool.

In sparse blobpool, PooledTransactions message delivers transactions without
blobs, partial or full cells are downloaded by Cells message. Blobpool no longer
stores transactions with complete sidecars, and it stores transactions without
blobs, along with the corresponding cells. Because of this, a dedicated type
distinct from types.Transaction is required.

This PR introduces a type called `BlobTxForPool` and stores each sidecar field
independently, in order to bypass the assumption that a sidecar always exists as
a complete unit.

Reintroducing the conversion queue was considered, but was ultimately omitted
because type conversion should be sufficiently fast. With sparse blobpool, blob
-> cell computation would take about ~13ms per blob. Not sure whether this is
fast enough, but otherwise we can add the conversion queue later on the sparse
blobpool branch.
2026-05-12 13:59:33 +02:00
..
blobpool core/txpool/blobpool: add blobTxForPool type (#34882) 2026-05-12 13:59:33 +02:00
legacypool core/txpool: change lock in Pending method of legacy pool to read lock (#32924) 2026-05-07 10:44:26 +02:00
locals core/txpool: use cmp.Compare instead of subtraction (#34918) 2026-05-10 13:03:57 +02:00
errors.go core/txpool: drop peers on invalid KZG proofs 2026-01-13 17:12:08 +01:00
reserver.go core/txpool: allow tx and authority regardless of admission order (#31373) 2025-04-09 19:11:24 -06:00
subpool.go miner: add OpenTelemetry spans for block building path (#33773) 2026-03-16 19:24:41 +01:00
txpool.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
validation.go core: implement eip-7981: Increase Access List Cost (#34755) 2026-05-06 12:03:11 +02:00
validation_test.go core/txpool: add eip2681 check for incoming transactions (#32726) 2025-09-25 13:15:12 +02:00