foundry-rs / foundry-rs/foundry
feat(`anvil`): same behavior as major client's tx pool (e.g., geth, nethermind) for stricter tests
- Dominant language
- Rust
- Stars
- 10.6k
- Forks
- 2.6k
- Avg merge
- 16h 38m
- Merged PRs (30d)
- 511
Description
### Component
Anvil
### Describe the feature you would like
It's nice to have the same behavior (e.g., constraints when replacing a transaction) as major clients' tx pool (e.g., geth, nethermind) so that dev components that pass tests based on Anvil's can be smoothly deployed in production.
### Additional context
some constraints like (at least 100% when replacing a blob transaction):
geth: https://github.com/ethereum/go-ethereum/blob/93c541ad563124e81d125c7ebe78938175229b2e/core/txpool/blobpool/blobpool.go#L1145-L1150
nethermind: https://github.com/NethermindEth/nethermind/blob/bf658d8525d8b1b3007c49ddc38b12a061e033a2/src/Nethermind/Nethermind.TxPool/Comparison/CompareReplacedBlobTx.cs#L30-L32
Contributor guide
Research direction
Start with the Anvil transaction-pool entry point and compare its replacement behavior with the cited geth blobpool/blobpool.go lines 1145-1150 and Nethermind CompareReplacedBlobTx.cs lines 30-32. Identify the relevant replacement constraints, then verify that Anvil matches the major clients, including the stated blob-transaction requirement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100