Skip to content

Conversation

chainguru1014
Copy link

Motivation

L2s like RISE and OP do not need EIP-4844 blob transaction helpers. Currently, the core TransactionPool trait requires every consumer to implement these blob-related methods, even when they are unused. That forces downstream crates to depend on alloy-eips and blobstore, increasing compile time and dependency size.

This change splits those methods into a new trait BlobPoolExt behind the optional "blob" feature. This allows downstream projects to disable the feature cleanly via default-features = false.


What changed

  • Introduced new trait: BlobPoolExt, gated behind #[cfg(feature = "blob")]
  • Moved 9 blob-specific helpers (e.g. get_blob, delete_blobs, etc.) out of TransactionPool
  • Implemented BlobPoolExt for Pool<V, T, S> and NoopTransactionPool
  • Updated tests, examples, and integration points
  • CI passes with and without --no-default-features

Signed-off-by: Christopher <chrisgroenev@gmail.com>
@github-project-automation github-project-automation bot moved this to Backlog in Reth Tracker Jul 26, 2025
@github-project-automation github-project-automation bot moved this from Backlog to Done in Reth Tracker Jul 30, 2025
@chainguru1014 chainguru1014 reopened this Jul 31, 2025
@github-project-automation github-project-automation bot moved this from Done to In Progress in Reth Tracker Jul 31, 2025
@chainguru1014 chainguru1014 marked this pull request as draft July 31, 2025 06:30
@github-actions github-actions bot added the S-stale This issue/PR is stale and will close with no further activity label Aug 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-stale This issue/PR is stale and will close with no further activity
Projects
Status: In Progress
Development

Successfully merging this pull request may close these issues.

1 participant