Matthieu Vachon
262c3117f6
Merge remote-tracking branch 'origin/master' into firehose-fh3.0
...
# Conflicts:
# cmd/evm/internal/t8ntool/execution.go
# cmd/evm/internal/t8ntool/transition.go
# cmd/utils/flags.go
# consensus/beacon/consensus.go
# core/blockchain.go
# core/state_processor.go
# core/tracing/hooks.go
# core/vm/runtime/runtime.go
# eth/backend.go
# eth/tracers/api.go
# eth/tracers/dir.go
# eth/tracers/directory/tracers.go
# eth/tracers/internal/tracetest/calltrace_test.go
# eth/tracers/internal/tracetest/flat_calltrace_test.go
# eth/tracers/js/goja.go
# eth/tracers/js/tracer_test.go
# eth/tracers/live/noop.go
# eth/tracers/logger/logger.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/noop.go
# eth/tracers/native/prestate.go
# eth/tracers/tracers.go
# go.mod
2024-03-25 14:45:08 -04:00
Roberto Bayardo
5cea7a6230
ethclient/simulated: clean up Node resources when simulated backend is closed ( #29316 )
2024-03-25 18:03:44 +01:00
Martin HS
14cc967d19
all: remove dependency on golang.org/exp ( #29314 )
...
This change includes a leftovers from https://github.com/ethereum/go-ethereum/pull/29307
- using the [new `slices` package](https://go.dev/doc/go1.21#slices ) and
- using the [new `cmp.Ordered`](https://go.dev/doc/go1.21#cmp ) instead of exp `constraints.Ordered`
2024-03-25 07:50:18 +01:00
deterclosed
ae47004487
eth: fix typo ( #29320 )
2024-03-25 10:16:44 +08:00
Sina M
064f37d6f6
eth/tracers: live chain tracing with hooks ( #29189 )
...
Here we add a Go API for running tracing plugins within the main block import process.
As an advanced user of geth, you can now create a Go file in eth/tracers/live/, and within
that file register your custom tracer implementation. Then recompile geth and select your tracer
on the command line. Hooks defined in the tracer will run whenever a block is processed.
The hook system is defined in package core/tracing. It uses a struct with callbacks, instead of
requiring an interface, for several reasons:
- We plan to keep this API stable long-term. The core/tracing hook API does not depend on
on deep geth internals.
- There are a lot of hooks, and tracers will only need some of them. Using a struct allows you
to implement only the hooks you want to actually use.
All existing tracers in eth/tracers/native have been rewritten to use the new hook system.
This change breaks compatibility with the vm.EVMLogger interface that we used to have.
If you are a user of vm.EVMLogger, please migrate to core/tracing, and sorry for breaking
your stuff. But we just couldn't have both the old and new tracing APIs coexist in the EVM.
---------
Co-authored-by: Matthieu Vachon <matthieu.o.vachon@gmail.com>
Co-authored-by: Delweng <delweng@gmail.com>
Co-authored-by: Martin HS <martin@swende.se>
2024-03-22 18:53:53 +01:00
Martin HS
d9bde37ac3
log: use native log/slog instead of golang/exp ( #29302 )
2024-03-22 13:17:59 +01:00
Martin HS
14eb8967be
all: use min/max/clear from go1.21 ( #29307 )
2024-03-21 13:50:13 +01:00
Felix Lange
bca6c40709
beacon/blsync: support for deneb fork ( #29180 )
...
This adds support for the Deneb beacon chain fork, and fork handling
in general, to the beacon chain light client implementation.
Co-authored-by: Zsolt Felfoldi <zsfelfoldi@gmail.com>
2024-03-20 19:22:44 +01:00
Martin HS
04bf1c802f
eth/protocols/snap, internal/testlog: fix dataraces ( #29301 )
2024-03-20 15:22:52 +01:00
rjl493456442
15eb9773f9
triedb/pathdb: improve tests ( #29278 )
2024-03-19 10:50:08 +08:00
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
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
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
Martin HS
40cac1d0e2
eth/catalyst: prettier output on bad new payloads ( #29259 )
...
When we receive a bad NewPayload, we currently emit a lot of data to the logging facilities. This PR makes it so we print less data.
2024-03-15 10:44:41 +01:00
shivhg
95715fdb03
eth/downloader, graphql: fix typos ( #29243 )
2024-03-15 10:07:47 +01:00
Haotian
cffb7c8604
params: use the same variable name as EIP-4788 ( #29195 )
...
In https://eips.ethereum.org/EIPS/eip-4788 the name `BEACON_ROOTS_ADDRESS` is used. This change makes geth use the same variable name to avoid confusion.
2024-03-15 09:14:31 +01: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
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
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
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
Haotian
3c26ffeb29
eth/catalyst: remove error return in delayPayloadImport ( #29043 )
...
Co-authored-by: tmelhao <tmelhao@gmail.com>
2024-03-14 00:26:46 +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
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
0b5975fee3
fix merge conflict
2024-03-13 12:48:34 +01:00