mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-05-23 16:29:26 +00:00
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. |
||
|---|---|---|
| .. | ||
| blobpool.go | ||
| blobpool_test.go | ||
| config.go | ||
| evictheap.go | ||
| evictheap_test.go | ||
| interface.go | ||
| limbo.go | ||
| lookup.go | ||
| metrics.go | ||
| priority.go | ||
| priority_test.go | ||
| slotter.go | ||
| slotter_test.go | ||