go-ethereum
go-ethereum copied to clipboard
eth/fetcher: fix blob transaction propagation
This PR fixes an issue with blob transaction propagation due to the blob transation txpool rejecting transactions with gapped nonces. The specific changes are:
-
fetch transactions from a peer in the order they were announced to minimize nonce-gaps (which cause blob txs to be rejected
-
don't wait on fetching blob transactions after announcement is received, since they are not broadcast
Testing:
- unit tests updated to reflect that fetch order should always match tx announcement order
- unit test added to confirm blob transactions are scheduled immediately for fetching
- running the PR on an eth mainnet full node without incident so far