paradigmxyz / reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
https://reth.rs/
Apache License 2.0
3.96k stars 1.19k forks source link

Add dedicated subpool for tracking all blob transactions #4445

Closed mattsse closed 1 year ago

mattsse commented 1 year ago

Describe the feature

blob transactions should never have a nonce gap: #4405 and also only be allowed if the sender overdrafts at the time of insert, so they should never initially enter the parked subpool.

A blob tx is pending if it satisfies the base fee and the pending blob fee. the max_fee_per_blob however does not affect the final tx fee since the blob fee comes from the header (Header::blob_fee).

the max_fee_per_blob is however relevant when evicting transactions, because txs with max_fee_per_blob < pending_blob_fee are not considered pending.

To make it easier to keep track of blob transactions, they should be grouped in a separate subpool, so they can be updated more easily without scanning all transactions

Additional context

No response

chirag-bgh commented 1 year ago

Hey @mattsse , just checking in here if you're going to take this or this is open for contributions. I would like to work on this if so.

mattsse commented 1 year ago

hey, @chirag-bgh

ty, however, I'm already wrapping up this feature, there will be a few followups, so I'll tag you there