1
0
Fork 0
forked from forks/go-ethereum
go-ethereum-modded-tocallarg/core
Sina M 615d29f7c2
core: reduce load on txindexer from API (#31752)
Fixes https://github.com/ethereum/go-ethereum/issues/31732.

This logic was removed in the recent refactoring in the txindexer to
handle history cutoff (#31393). It was first introduced in this PR:
https://github.com/ethereum/go-ethereum/pull/28908.

I have tested it and it works as an alternative to #31745.

This PR packs 3 changes to the flow of fetching txs from the API:

- It caches the indexer tail after each run is over to avoid hitting the
db all the time as was done originally in #28908.

- Changes `backend.GetTransaction`. It doesn't return an error anymore
when tx indexer is in progress. It shifts the responsibility to the
caller to check the progress. The reason is that in most cases we anyway
check the txpool for the tx. If it was indeed a pending tx we can avoid
the indexer progress check.

---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2025-05-05 10:07:55 +08:00
..
filtermaps core/filtermaps: fix log index initialization (#31750) 2025-05-03 18:40:24 +02:00
forkid params: add prague timestamp for mainnet (#31535) 2025-04-17 10:46:00 +02:00
history core: initialize history pruning in BlockChain (#31636) 2025-04-15 14:32:46 +02:00
rawdb core/filtermaps: fix map renderer reorg issue (#31642) 2025-04-16 23:30:13 +02:00
state core/state: fix log format (#31610) 2025-04-16 23:46:38 +02:00
stateless beacon, core, eth, miner: integrate witnesses into production Geth (#30069) 2024-09-20 16:43:42 +03:00
tracing core/tracing: stringer for gas and nonce change reasons (#31234) 2025-02-28 12:53:56 +01:00
txpool core/txpool/legacypool: fix data race of pricedList access (#31758) 2025-05-04 10:16:33 +08:00
types core/types: cleanup tx signer logic (#31434) 2025-03-19 16:05:44 +01:00
vm core/vm: optimize push2 opcode (#31267) 2025-04-08 19:57:45 +02:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core, eth, node: use sync write option in pebble (#31519) 2025-04-03 16:03:03 +02:00
block_validator.go core/types: create block's bloom by merging receipts' bloom (#31129) 2025-02-13 18:05:58 +01:00
block_validator_test.go core: initialize history pruning in BlockChain (#31636) 2025-04-15 14:32:46 +02:00
blockchain.go core,params: add fork readiness indicator in logs (#31340) 2025-04-17 10:46:47 +02:00
blockchain_insert.go all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
blockchain_reader.go core: reduce load on txindexer from API (#31752) 2025-05-05 10:07:55 +08:00
blockchain_repair_test.go core, eth, node: use sync write option in pebble (#31519) 2025-04-03 16:03:03 +02:00
blockchain_sethead_test.go core, eth, node: use sync write option in pebble (#31519) 2025-04-03 16:03:03 +02:00
blockchain_snapshot_test.go core, eth, node: use sync write option in pebble (#31519) 2025-04-03 16:03:03 +02:00
blockchain_test.go ethclient: allow passing AuthorizationList to calls (#31198) 2025-04-23 21:01:03 +02:00
chain_makers.go core: fail execution if system call fails to execute (#31639) 2025-04-19 13:42:54 +02:00
chain_makers_test.go params,core: add max and target value to chain config (#31002) 2025-02-04 15:43:18 +01:00
dao_test.go all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
error.go core, eth/downloader: implement pruning mode sync (#31414) 2025-04-03 15:16:35 +02:00
events.go core, eth, ethstats: simplify chain head events (#30601) 2024-10-16 10:32:58 +03:00
evm.go params,core: add max and target value to chain config (#31002) 2025-02-04 15:43:18 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05:00
gen_genesis.go core: go fmt (#29544) 2024-04-16 15:42:16 +03:00
genesis.go core: apply overrides to mainnet chainconfig (#31733) 2025-04-29 08:29:56 +02:00
genesis_alloc.go params: add hoodi testnet definition (#31406) 2025-03-18 12:07:49 +01:00
genesis_test.go params: add hoodi testnet definition (#31406) 2025-03-18 12:07:49 +01:00
headerchain.go core, eth/downloader: implement pruning mode sync (#31414) 2025-04-03 15:16:35 +02:00
headerchain_test.go all: nuke total difficulty (#30744) 2025-01-28 18:55:41 +01:00
mkalloc.go accounts, cmd/geth, core: close opened files (#29598) 2024-04-30 15:47:21 +02:00
rlp_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
sender_cacher.go core: use sync.Once for SenderCacher initialization (#31029) 2025-01-16 14:36:45 +01:00
state_prefetcher.go core: switch EVM tx context in ApplyMessage (#30809) 2024-11-29 15:39:42 +01:00
state_processor.go core: fail execution if system call fails to execute (#31639) 2025-04-19 13:42:54 +02:00
state_processor_test.go ethclient: allow passing AuthorizationList to calls (#31198) 2025-04-23 21:01:03 +02:00
state_transition.go core, eth/gasestimator: introduce MaxGasUsed for estimation (#31735) 2025-05-02 17:43:06 +02:00
stateless.go cmd/evm: improve block/state test runner (#30633) 2024-12-02 15:18:02 +01:00
txindexer.go core: reduce load on txindexer from API (#31752) 2025-05-05 10:07:55 +08:00
txindexer_test.go core: reduce load on txindexer from API (#31752) 2025-05-05 10:07:55 +08:00
types.go all: implement flat deposit requests encoding (#30425) 2024-10-09 12:24:58 +02:00
verkle_witness_test.go core/tracing: state journal wrapper (#30441) 2025-02-05 13:58:25 +01:00