Skip to content

fix(txpool): reload queued senders on USDC storage changes - #485

Open
Kewe63 wants to merge 1 commit into
SeismicSystems:seismicfrom
Kewe63:fix/381-usdc-queued-sender-reload
Open

fix(txpool): reload queued senders on USDC storage changes#485
Kewe63 wants to merge 1 commit into
SeismicSystems:seismicfrom
Kewe63:fix/381-usdc-queued-sender-reload

Conversation

@Kewe63

@Kewe63 Kewe63 commented Aug 22, 2026

Copy link
Copy Markdown

Summary

Closes #381

Fixes queued transaction reloads when a block mutates a sender's USDC predeploy balance. Previously, txpool maintenance only marked senders dirty when their native account state changed, so USDC-only balance slot updates did not cause queued transactions to be re-evaluated.


Changes

  • crates/transaction-pool/src/maintain.rs — add a hook extension point for queued senders affected by off-account state updates and invoke it after commit/reorg updates.
  • crates/seismic/txpool/src/maintain.rs — detect changed USDC balance storage slots and mark matching queued senders dirty.
  • crates/seismic/txpool/src/maintain.rs — add regression tests for filtering affected queued senders and unioning old/new state changes across reorgs.

How to Test

cargo +nightly fmt --all --check
cargo +1.88.0 test -p reth-seismic-txpool
cargo +1.88.0 check -p reth-transaction-pool -p reth-seismic-txpool
cargo +1.88.0 clippy -p reth-seismic-txpool --lib --no-deps -- -D warnings -W clippy::unwrap_used -W clippy::expect_used -W clippy::indexing_slicing -W clippy::panic -W clippy::unreachable -W clippy::todo

Results:

  • Formatting passed
  • reth-seismic-txpool tests passed: 33 passed
  • Targeted check passed
  • Targeted Seismic txpool clippy passed

Compatibility

No consensus, state format, wire protocol, or API compatibility impact.


Checklist

  • Tests pass — 33/33
  • Formatting and clippy clean
  • Follows Conventional Commits
  • Changes scoped to this fix only

Risk & Impact

Low-to-medium. The change affects txpool maintenance only and limits reloads to queued senders whose USDC balance storage slot changed. No consensus, state format, wire protocol, or API compatibility impact.

Type: 🐛 Bug fix
Closes: #381

@Kewe63
Kewe63 requested a review from cdrappi as a code owner August 22, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reload queued txpool senders when USDC balance slots change

1 participant