go-ethereum/core/txpool/legacypool
Bosul Mun 56d201b0fe
eth/fetcher: add metadata validation in tx announcement (#33378)
This PR fixes the bug reported in #33365.

The impact of the bug is not catastrophic. After a transaction is
ultimately fetched, validation and propagation will be performed based
on the fetched body, and any response with a mismatched type is treated
as a protocol violation. An attacker could only waste the limited
portion of victim’s bandwidth at most.

However, the reasons for submitting this PR are as follows

1. Fetching a transaction announced with an arbitrary type is a weird
behavior.

2. It aligns with efforts such as EIP-8077 and #33119 to make the
fetcher smarter and reduce bandwidth waste.

Regarding the `FilterType` function, it could potentially be implemented
by modifying the Filter function's parameter itself, but I wasn’t sure
whether changing that function is acceptable, so I left it as is.
2025-12-11 12:11:52 +08:00
..
legacypool.go eth/fetcher: add metadata validation in tx announcement (#33378) 2025-12-11 12:11:52 +08:00
legacypool2_test.go eth: add tx to locals only if it has a chance of acceptance (#31618) 2025-04-17 21:27:48 +02:00
legacypool_test.go core/txpool/legacypool: move queue out of main txpool (#32270) 2025-10-13 19:07:36 +02:00
list.go core/txpool: add sanity overflow check (#32544) 2025-09-10 21:33:15 +08:00
list_test.go core/txpool/legacypool: remove a redundant heap.Init (#28910) 2024-02-15 19:50:17 +01:00
noncer.go all: move main transaction pool into a subpool (#27463) 2023-06-16 15:29:40 +03:00
queue.go core/txpool/legacypool: fix pricedList updates (#32906) 2025-10-14 08:40:04 +02:00