go-ethereum/core/txpool/legacypool
Daniel Liu ec0f96d538
feat(core/txpool,eth): align local tx tracking with geth #31202 #31618 (#2181)
Implements ethereum/go-ethereum PR #31202 and #31618.

When local tracking is enabled:
- EthAPIBackend.SendTx tracks transactions after pool submission and keeps tracking temporary rejects so they can be retried by the local tracker.
- TxPool.AddLocal tracks accepted submissions and temporary rejects for local re-journal/re-submit flows, while preserving the original txpool error return to the caller.

This avoids persisting permanently invalid transactions while preserving retry signals for transient failures without masking submission outcomes in caller workflows.

Also included:
- classify temporary rejection reasons in core/txpool/locals
- expose SubPool.ValidateTxBasics and align LegacyPool implementation
- split low-tip rejection into ErrTxGasPriceTooLow
- simplify local tracker integration in txpool
- update txpool and eth tests for accepted vs retryable local tracking behavior

Refs: ethereum/go-ethereum#31202
Refs: ethereum/go-ethereum#31618
2026-03-18 09:54:40 +05:30
..
journal_shared.go refactor(core/txpool): remove locals-tracking from pools #30559 (#2176) 2026-03-17 12:24:20 +05:30
legacypool.go feat(core/txpool,eth): align local tx tracking with geth #31202 #31618 (#2181) 2026-03-18 09:54:40 +05:30
legacypool2_test.go feat(core/txpool,eth): align local tx tracking with geth #31202 #31618 (#2181) 2026-03-18 09:54:40 +05:30
legacypool_test.go feat(core/txpool,eth): align local tx tracking with geth #31202 #31618 (#2181) 2026-03-18 09:54:40 +05:30
lending_pool.go refactor(all): remove term whitelist and blacklist (#1994) 2026-02-10 17:09:21 +05:30
lending_pool_test.go refactor(crypto): vendor in golang.org/x/crypto/sha3 #33323 (#2046) 2026-02-28 17:23:57 +04:00
lending_tx_journal.go all: move main transaction pool into a subpool #27463 (#1890) 2026-01-05 15:43:50 +05:30
lending_tx_list.go docs(core/txpool/legacypool): fix typos #28258 (#2126) 2026-03-10 18:45:06 +05:30
list.go refactor(core/txpool): remove locals-tracking from pools #30559 (#2176) 2026-03-17 12:24:20 +05:30
list_test.go fix(core/txpool/legacypool): prevent uint256 overflow panic in executable tx filtering, fix #2134 (#2168) 2026-03-17 11:18:22 +05:30
noncer.go all: move main transaction pool into a subpool #27463 (#1890) 2026-01-05 15:43:50 +05:30
order_pool.go refactor(all): remove term whitelist and blacklist (#1994) 2026-02-10 17:09:21 +05:30
order_tx_journal.go all: move main transaction pool into a subpool #27463 (#1890) 2026-01-05 15:43:50 +05:30
order_tx_list.go docs(core/txpool/legacypool): fix typos #28258 (#2126) 2026-03-10 18:45:06 +05:30