foundry-rs / foundry-rs/foundry

feat(`anvil`): same behavior as major client's tx pool (e.g., geth, nethermind) for stricter tests

Open
#7,897 1 comment 0 reactions 0 assignees View on GitHub
A-reth-anvil C-anvil T-feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.