go-ethereum/core
Matthieu Vachon a09a610384
core/tracing: add system call callback when performing ProcessBeaconBlockRoot (#29355)
Added a start/end system where tracer can be notified that processing of some Ethereum system calls is starting processing and also notifies it when the processing has completed.

Doing a start/end for system call will enable tracers to "route" incoming next tracing events to go to a separate bucket than other EVM calls. Those not interested by this fact can simply avoid registering the hooks.

The EVM call is going to be traced normally afterward between the signals provided by those 2 new hooks but outside of a transaction context OnTxStart/End. That something implementors of live tracers will need to be aware of (since only "trx tracers" are not concerned by ProcessBeaconRoot).

---------

Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
2024-05-06 13:21:55 +02:00
..
asm all: fix mismatched names in comments (#29348) 2024-03-26 21:01:28 +01:00
bloombits all: use timer instead of time.After in loops, to avoid memleaks (#29241) 2024-04-09 08:51:54 +02:00
forkid all: remove dependency on golang.org/exp (#29314) 2024-03-25 07:50:18 +01:00
rawdb core/rawdb: fix ancient root folder (#29697) 2024-05-02 13:26:07 +03:00
state core/state: parallelise parts of state commit (#29681) 2024-05-02 11:18:27 +03:00
tracing core/tracing: add system call callback when performing ProcessBeaconBlockRoot (#29355) 2024-05-06 13:21:55 +02:00
txpool all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
types all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
vm core/vm: remove redundant error checks (#29692) 2024-05-02 11:18:59 +03:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
block_validator.go core: fix typo (#29438) 2024-04-08 13:02:56 +02:00
block_validator_test.go consensus, cmd, core, eth: remove support for non-merge mode of operation (#29169) 2024-03-05 16:13:28 +02:00
blockchain.go core/state: parallelise parts of state commit (#29681) 2024-05-02 11:18:27 +03:00
blockchain_insert.go all: fix various typos (#29600) 2024-04-23 13:09:42 +03:00
blockchain_reader.go core: add txlookup lock (#29343) 2024-04-09 08:37:18 +02:00
blockchain_repair_test.go cmd: use package filepath over path for file system operations (#29227) 2024-03-12 10:00:34 +01:00
blockchain_sethead_test.go all: replace path.Join with filepath.Join (#29479) 2024-04-08 12:29:49 +03:00
blockchain_snapshot_test.go cmd: use package filepath over path for file system operations (#29227) 2024-03-12 10:00:34 +01:00
blockchain_test.go core: remove bad block checks (#29609) 2024-04-22 20:00:42 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer.go core,console: replace noarg fmt.Errorf with errors.New (#27332) 2023-05-25 08:24:09 -04:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_makers.go core: add an end-to-end verkle test (#29262) 2024-03-26 21:25:41 +01:00
chain_makers_test.go params: use the same variable name as EIP-4788 (#29195) 2024-03-15 09:14:31 +01:00
dao_test.go all: activate pbss as experimental feature (#26274) 2023-08-10 22:21:36 +03:00
error.go core: remove bad block checks (#29609) 2024-04-22 20:00:42 +03:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go all: use big.Sign to compare with zero (#29490) 2024-04-09 12:14:30 +02:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +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 all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
genesis_alloc.go cmd, core, params: add support for the Holesky testnet (#28007) 2023-08-25 18:11:40 +03:00
genesis_test.go core/rawdb, trie: improve db APIs for accessing trie nodes (#29362) 2024-04-30 16:25:35 +02:00
headerchain.go core: remove bad block checks (#29609) 2024-04-22 20:00:42 +03:00
headerchain_test.go all: remove the dependency from trie to triedb (#28824) 2024-02-13 14:49:53 +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 all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
state_processor.go core/tracing: add system call callback when performing ProcessBeaconBlockRoot (#29355) 2024-05-06 13:21:55 +02:00
state_processor_test.go all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
state_transition.go eth/tracers: live chain tracing with hooks (#29189) 2024-03-22 18:53:53 +01:00
txindexer.go core: cache transaction indexing tail in memory (#28908) 2024-02-06 10:44:42 +08:00
txindexer_test.go core: move genesis alloc types to core/types (#29003) 2024-02-16 19:05:33 +01:00
types.go core: use atomic type (#27011) 2023-03-30 06:53:32 -04:00