Commit graph

15223 commits

Author SHA1 Message Date
Matthieu Vachon
ecc78f5dd0 Merge branch 'extended-tracer-struct' into firehose-fh3.0 2024-03-18 15:46:07 -04:00
Martin Holst Swende
4f87f174b3 eth/tracers, cmd/evm: unexport JSONlogger 2024-03-18 17:33:55 +01:00
Martin Holst Swende
e320d1e1e1
core/vm: documentation + minor refactoring 2024-03-18 13:11:21 +01:00
Martin Holst Swende
25051c9ae1
cmd/evm: add testcase for js-tracer 2024-03-18 11:58:51 +01:00
Martin Holst Swende
4636dd369e
cmd/evm: fix tracing
This commit fixes several missing interface-checks, where the code did not properly
verify a Hook before calling it.
It also fixes an error where the tracer was not set in the vmconfig during t8n initialization.

It also adds a testcase which verifies the tracing-output during t8n executio. The
testcase currently only checks the jsonlogger, but can be extended.

This change also removes a spurious 'null' output in the tracing, when
tracing result is null.
2024-03-18 10:36:12 +01:00
Matthieu Vachon
b1d1d36dc4 Merge branch 'firehose-fh3.0-backport-1.13.5' into firehose-fh3.0
# Conflicts:
#	accounts/abi/bind/backends/simulated.go
#	cmd/evm/internal/t8ntool/execution.go
#	cmd/evm/internal/t8ntool/flags.go
#	cmd/evm/internal/t8ntool/transition.go
#	cmd/geth/snapshot.go
#	consensus/beacon/consensus.go
#	consensus/ethash/consensus.go
#	consensus/misc/dao.go
#	core/blockchain.go
#	core/chain_makers.go
#	core/evm.go
#	core/genesis.go
#	core/genesis_test.go
#	core/state/dump.go
#	core/state/state_object.go
#	core/state/state_test.go
#	core/state/statedb.go
#	core/state/statedb_fuzz_test.go
#	core/state/statedb_test.go
#	core/state/sync_test.go
#	core/state/trie_prefetcher_test.go
#	core/state_transition.go
#	core/tracing/hooks.go
#	core/txpool/blobpool/blobpool_test.go
#	core/txpool/legacypool/legacypool2_test.go
#	core/txpool/legacypool/legacypool_test.go
#	core/types/account.go
#	core/vm/errors.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	core/vm/interface.go
#	core/vm/interpreter.go
#	eth/api_debug_test.go
#	eth/tracers/api.go
#	eth/tracers/directory/util_test.go
#	eth/tracers/firehose.go
#	eth/tracers/internal/tracetest/calltrace_test.go
#	eth/tracers/internal/tracetest/flat_calltrace_test.go
#	eth/tracers/internal/tracetest/prestate_test.go
#	eth/tracers/js/goja.go
#	eth/tracers/js/tracer_test.go
#	eth/tracers/logger/logger.go
#	eth/tracers/logger/logger_test.go
#	eth/tracers/native/call_flat.go
#	eth/tracers/native/prestate.go
#	eth/tracers/tracers_test.go
#	go.mod
#	internal/ethapi/api.go
#	light/odr_test.go
#	miner/worker.go
#	params/version.go
#	tests/block_test_util.go
#	tests/state_test_util.go
2024-03-15 12:48:29 -04:00
Matthieu Vachon
89c5b57484 Merge branch 'extended-tracer-backport-1.13.5' into firehose-fh3.0-backport-1.13.5 2024-03-15 11:01:01 -04:00
Matthieu Vachon
17fcdfaadf Fixed incorrect captureBeging/captureEnd in EVM 2024-03-15 10:58:50 -04:00
Matthieu Vachon
5cf6340406 Fixed new keccak256 implementation that wasn't working properly 2024-03-15 10:57:39 -04:00
Matthieu Vachon
d673f1927c Added Firehose 3.0 backport tracer 2024-03-15 10:56:57 -04:00
Matthieu Vachon
3834f135a9 Series of changes to get backport to 1.13.5 working 2024-03-14 16:53:22 -04:00
Sina Mahmoodi
28a80d617f fix empty tracer config 2024-03-14 16:25:47 -04:00
Matthieu Vachon
177074432d Call OnBlockchainInit before OnGenesisBlock (#22)
# Conflicts:
#	core/blockchain.go
2024-03-14 16:25:45 -04:00
Sina Mahmoodi
77a701cca4 rm extra param
# Conflicts:
#	core/vm/evm.go
2024-03-14 16:24:51 -04:00
Sina Mahmoodi
77486e91fb fix lint issue 2024-03-14 16:23:56 -04:00
Sina Mahmoodi
d0a86c45b5 rm canceler 2024-03-14 16:23:56 -04:00
Sina Mahmoodi
a476051c48 add fn refundGas 2024-03-14 16:23:56 -04:00
Sina Mahmoodi
94fc0b4a9e replace opcode with byte
# Conflicts:
#	core/tracing/hooks.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	eth/tracers/js/tracer_test.go
2024-03-14 16:23:54 -04:00
Sina Mahmoodi
ea02c9ebc2 fix eth config 2024-03-14 16:16:44 -04:00
Sina Mahmoodi
5c6fb316b7 rm OnKeccakPreimage
# Conflicts:
#	core/tracing/hooks.go
2024-03-14 16:16:43 -04:00
Sina Mahmoodi
7190602bd2 rm embedding of noop tracer 2024-03-14 16:16:20 -04:00
Sina Mahmoodi
03e48ee451 rename tracer methods to On pattern
# Conflicts
#	core/vm/interpreter.go
#	eth/tracers/directory/noop.go
#	eth/tracers/js/goja.go
#	eth/tracers/live/noop.go
#	eth/tracers/logger/logger.go
#	eth/tracers/logger/logger_json.go
#	eth/tracers/native/4byte.go
#	eth/tracers/native/call.go
#	eth/tracers/native/call_flat.go
#	eth/tracers/native/mux.go
2024-03-14 16:16:18 -04:00
Sina Mahmoodi
25a3a744c3 rename Capture hooks to On
# Conflicts:
#	cmd/evm/internal/t8ntool/execution.go
#	core/vm/instructions.go
#	eth/tracers/directory/noop.go
#	eth/tracers/internal/tracetest/calltrace_test.go
#	eth/tracers/internal/tracetest/flat_calltrace_test.go
#	eth/tracers/internal/tracetest/prestate_test.go
#	eth/tracers/js/goja.go
#	eth/tracers/js/tracer_test.go
#	eth/tracers/live/noop.go
#	eth/tracers/native/4byte.go
#	eth/tracers/native/call.go
#	eth/tracers/native/call_flat.go
#	eth/tracers/native/mux.go
#	eth/tracers/native/prestate.go
2024-03-14 16:07:18 -04:00
Sina Mahmoodi
a2ad953d21 rm old logger file 2024-03-14 16:03:37 -04:00
Sina Mahmoodi
e7fe236988 a type for each hook
# Conflicts:
#	core/tracing/hooks.go
2024-03-14 16:03:34 -04:00
Sina Mahmoodi
3253b8bab5 assign const values for gas change reasons 2024-03-14 16:03:07 -04:00
Sina Mahmoodi
688f0b9654 rename scopeContext to opContext 2024-03-14 16:03:07 -04:00
Sina Mahmoodi
d4ec634c05 rename GetLogger to Hooks
# Conflicts:
#	eth/tracers/logger/access_list_tracer.go
#	eth/tracers/logger/logger.go
#	eth/tracers/logger/logger_json.go
#	eth/tracers/logger/logger_test.go
#	eth/tracers/tracers_test.go
#	internal/ethapi/api.go
2024-03-14 16:03:05 -04:00
Sina Mahmoodi
39fc9dcafb move logger interface to core/tracing
# Conflicts:
#	cmd/evm/internal/t8ntool/execution.go
#	consensus/beacon/consensus.go
#	consensus/ethash/consensus.go
#	consensus/misc/dao.go
#	core/evm.go
#	core/genesis.go
#	core/state/state_object.go
#	core/state/state_test.go
#	core/state/statedb.go
#	core/state/statedb_fuzz_test.go
#	core/state/statedb_test.go
#	core/state/sync_test.go
#	core/state/trie_prefetcher_test.go
#	core/state_transition.go
#	core/txpool/blobpool/blobpool_test.go
#	core/txpool/legacypool/legacypool2_test.go
#	core/txpool/legacypool/legacypool_test.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	core/vm/interface.go
#	eth/api_debug_test.go
#	internal/ethapi/api.go
#	tests/block_test_util.go
#	tests/state_test_util.go
2024-03-14 15:59:21 -04:00
Sina Mahmoodi
b202e8ab74 renaming GetLogger
# Conflicts:
#	cmd/evm/internal/t8ntool/transition.go
#	eth/tracers/logger/logger_test.go
#	eth/tracers/tracers_test.go
2024-03-14 13:58:26 -04:00
Sina Mahmoodi
e1c669b3aa moaar fixes
# Conflicts:
#	core/state/state_test.go
#	core/state/statedb_fuzz_test.go
#	core/state/statedb_test.go
#	core/state/sync_test.go
#	core/state/trie_prefetcher_test.go
#	core/txpool/blobpool/blobpool_test.go
#	core/txpool/legacypool/legacypool2_test.go
#	core/txpool/legacypool/legacypool_test.go
#	eth/api_debug_test.go
2024-03-14 13:56:15 -04:00
Sina Mahmoodi
29ebfb30c3 fixes, rm t8ntool tracewriter
# Conflicts:
#	cmd/evm/internal/t8ntool/execution.go
#	cmd/evm/internal/t8ntool/transition.go
#	core/vm/instructions.go
#	eth/tracers/internal/tracetest/calltrace_test.go
#	eth/tracers/internal/tracetest/flat_calltrace_test.go
#	eth/tracers/internal/tracetest/prestate_test.go
#	eth/tracers/js/tracer_test.go
#	eth/tracers/logger/logger_test.go
#	eth/tracers/tracers_test.go
#	tests/block_test_util.go
#	tests/state_test_util.go
2024-03-14 13:51:16 -04:00
Sina Mahmoodi
f1027b7c0a fix goja scope object wrappers 2024-03-14 13:42:40 -04:00
Sina Mahmoodi
6013241175 fix memory copy util func 2024-03-14 13:42:40 -04:00
Sina Mahmoodi
e0b96540b7 Add canceler interface 2024-03-14 13:42:40 -04:00
Sina Mahmoodi
4e43718bd0 full struct-based tracing infra
# Conflicts:
#	consensus/beacon/consensus.go
#	consensus/ethash/consensus.go
#	consensus/misc/dao.go
#	core/blockchain.go
#	core/evm.go
#	core/genesis.go
#	core/state/dump.go
#	core/state/state_object.go
#	core/state/statedb.go
#	core/state_transition.go
#	core/vm/evm.go
#	core/vm/instructions.go
#	core/vm/interface.go
#	internal/ethapi/api.go
2024-03-14 12:09:18 -04:00
Sina Mahmoodi
4df6904051 use struct for tracing events
# Conflicts:
#	core/blockchain.go
#	core/state/state_object.go
#	core/state/statedb.go
2024-03-14 11:57:58 -04:00
Sina Mahmoodi
8ec4560e17 refactor onBlockStart params, new skip method 2024-03-14 11:54:59 -04:00
Sina Mahmoodi
b210cc761d remove onBeaconBlockRoot events 2024-03-14 11:54:59 -04:00
Sina Mahmoodi
d17940d2e7 minor fix 2024-03-14 11:54:59 -04:00
Sina Mahmoodi
318dc84314 add config for tracers 2024-03-14 11:54:59 -04:00
Matthieu Vachon
ccb7065fc8 Merge branch 'extended-tracer-struct' into firehose-fh3.0 2024-03-14 11:17:34 -04:00
Sina Mahmoodi
17f95b94a1 fix empty tracer config 2024-03-14 14:07:19 +01:00
Matthieu Vachon
817e261fab
Call OnBlockchainInit before OnGenesisBlock (#22) 2024-03-14 13:58:51 +01:00
Matthieu Vachon
2cc4ef938a Ensure that clique still works in Geth
This is going to be opened as an issue as I think it should still work.
2024-03-13 16:25:03 -04:00
Matthieu Vachon
665329d32b Call OnBlockchainInit before OnGenesisBlock 2024-03-13 16:24:36 -04:00
Matthieu Vachon
7b77261b7c Added back OnNewAccount which is Firehose concept so I left it out of the merge commit just before this one 2024-03-13 16:24:14 -04:00
Matthieu Vachon
f47d2fc315 Merge branch 'extended-tracer-struct' into firehose-fh3.0
# Conflicts:
#	core/blockchain.go
#	core/state/statedb.go
#	eth/backend.go
#	eth/tracers/live/printer.go
#	go.mod
#	go.sum
2024-03-13 16:23:13 -04:00
Sina Mahmoodi
cff9fba98f rm extra param 2024-03-13 18:01:08 +01:00
Sina Mahmoodi
0b5975fee3 fix merge conflict 2024-03-13 12:48:34 +01:00