Commit graph

81 commits

Author SHA1 Message Date
Daniel Liu
ba2d72e8d8
eth/tracers: migrate go-bindata to embed #24744 (#1279) 2025-09-08 20:57:23 +08:00
Daniel Liu
44bd05a732
eth/tracers: refactor traceTx to separate out struct logging #24326 (#1278)
* eth/tracers: refactor traceTx to separate out struct logging

review fix

Update eth/tracers/api.go

Co-authored-by: Martin Holst Swende <martin@swende.se>

Mv ExecutionResult type to logger package

review fix

impl GetResult for StructLogger

make formatLogs private

confused exit and end..

account for intrinsicGas in structlogger, fix TraceCall test

Add Stop method to logger

Simplify traceTx

Fix test

rm logger from blockchain test

account for refund in structLogger

* use tx hooks in struct logger

* minor

* avoid executionResult in struct logger

* revert blockchain test changes

Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
2025-09-08 20:55:06 +08:00
Daniel Liu
0bc25c35b4
core,eth: implement tx-level hooks for tracers #24510 (#1277)
* core,eth: add empty tx logger hooks

* core,eth: add initial and remaining gas to tx hooks

* store tx gasLimit in js tracer

* use gasLimit to compute intrinsic cost for js tracer

* re-use rules in transitiondb

* rm logs

* rm logs

* Mv some fields from Start to TxStart

* simplify sender lookup in prestate tracer

* mv env to TxStart

* Revert "mv env to TxStart"

This reverts commit 656939634b9aff19f55a1cd167345faf8b1ec310.

* Revert "simplify sender lookup in prestate tracer"

This reverts commit ab65bce48007cab99e68232e7aac2fe008338d50.

* Revert "Mv some fields from Start to TxStart"

This reverts commit aa50d3d9b2559addc80df966111ef5fb5d0c1b6b.

* fix intrinsic gas for prestate tracer

* add comments

* refactor

* fix test case

* simplify consumedGas calc in prestate tracer

Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
2025-09-08 17:53:21 +08:00
Daniel Liu
001bc5a4d8
eth/tracers/logger: use omitempty to reduce log bloat #24547 (#1276) 2025-09-08 17:50:58 +08:00
Daniel Liu
8712fec2b5
eth/tracers: use hex encoding for debug_traceBlock argument #24517 (#1275)
Co-authored-by: Guifel <toowik@gmail.com>
2025-09-08 17:49:26 +08:00
Daniel Liu
4f738d2191
eth/tracers: clean-up tracer collection #24320 (#1274) 2025-09-08 17:47:33 +08:00
Daniel Liu
0c293e5c34
eth/tracers: native prestate tracer #24268 (#1273) 2025-09-08 17:45:28 +08:00
Daniel Liu
060642e619
eth/tracers/js: add support for REVERT/SELFDESTRUCT in evmdis_tracer #24016 (#1271)
* eth/tracers: Add support for REVERT in evmdis_tracer

* evm/tracers: Fix evmdis_tracer to use SELFDESTRUCT instead of SUICIDE

* eth/tracers: Regenerate tracer library

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2025-09-08 17:28:59 +08:00
Daniel Liu
5d64f3b32f
eth/tracers: avoid using blockCtx concurrently #24286 (#1272) 2025-09-08 17:28:18 +08:00
Daniel Liu
95d06d0f15
eth/tracers: capture fault states in logger #23970 (#1270) 2025-09-08 17:27:13 +08:00
Daniel Liu
e2edc41b50
all: mv loggers to eth/tracers #23892 (#1269) 2025-09-03 15:35:28 +08:00
Daniel Liu
7d433a454a
eth/tracers: make native 4byte default, remove js version #23916 (#1268)
Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
2025-08-31 16:33:25 +08:00
Daniel Liu
1d1a88db5f
eth/tracers: add golang 4byte tracer #23882 (#1267)
* native 4byte tracer

* Update eth/tracers/native/4byte.go



* Update eth/tracers/native/4byte.go



* goimports

* eth/tracers: make 4byte tracer not care about create

Co-authored-by: Ward Bradt <wardbradt5@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-08-31 16:05:54 +08:00
Daniel Liu
031ea75eca
eth/tracers: package restructuring #23857 (#1266) 2025-08-29 05:26:36 +08:00
Daniel Liu
d138eb22a3
eth/tracers: support for golang tracers + add golang callTracer #23708 (#1264) 2025-08-28 18:53:13 +08:00
Daniel Liu
9425af8b7c
eth: make traceChain avoid OOM on long-running tracing #23736 (#1263) 2025-08-28 18:52:32 +08:00
Daniel Liu
32ed739110
eth/tracers: avoid unsyncronized mutations on trie database #23632 (#1261) 2025-08-26 15:26:19 +08:00
Daniel Liu
98f6825514
eth/tracers: implement debug.intermediateRoots #23594 (#1260) 2025-08-26 15:25:30 +08:00
Daniel Liu
28550526ba
eth/tracers: improve test #23303 (#1258) 2025-08-26 15:24:49 +08:00
Daniel Liu
ad45cb55fe
eth/tracers: expose contextual infos (block hash, tx hash, tx index) #23104 (#1256) 2025-08-22 16:40:18 +08:00
Daniel Liu
aaa42a9a42
eth/tracers: backend for 1559 #23038 (#1255) 2025-08-21 13:39:44 +08:00
Daniel Liu
9c6816eab6
core/vm: make time field use uint64 #26474 (#1319) 2025-08-20 15:22:06 +08:00
Daniel Liu
0ceeb24fb3
eth/tracer: extend call tracer #22245 (#1254) 2025-08-20 15:12:18 +08:00
Daniel Liu
36374be05f
eth/tracers: move tracing APIs into eth/tracers #22161 #22473 (#1252) 2025-08-08 10:25:43 +08:00
Daniel Liu
db48539c17
eth/tracers: expose gas used in tx to js tracer #22038 (#1249) 2025-07-26 18:16:06 +08:00
Daniel Liu
f87caf0b58
eth/tracers: fix benchmarks #23806 (#1262) 2025-07-26 17:48:42 +08:00
Daniel Liu
23a83dce3e
consensus, eth/tracers: remove redundant import names #21903 (#1248) 2025-07-26 17:47:14 +08:00
Daniel Liu
c41a96d179
eth/tracers: fix comments (#1247) 2025-07-26 17:46:15 +08:00
JukLee0ira
c0315121b4
all: replace fmt.Errorf() with errors.New() if no param required #29126 (#1175) 2025-07-01 17:46:50 +08:00
Daniel Liu
d25c6f02a7
all: not copy loop var for golang v1.22 (#1020) 2025-04-29 17:27:36 +08:00
Daniel Liu
4bbcd988b2 params: remove EIP150Hash from chainconfig (#27087) 2025-02-05 18:16:17 +08:00
Daniel Liu
3f58066879 all: remove debug field from vm config (#27048) 2025-02-05 18:16:17 +08:00
Daniel Liu
b6f3007af1 core: move genesis alloc types to core/types (#29003) 2025-01-24 16:54:12 +08:00
JukLee0ira
412133b977 eth/tracers: add test for contractTracer 2025-01-22 12:37:48 +08:00
JukLee0ira
f7b591ffe3 eth/tracers: add a golang tracer to locate contracts (#23708) 2025-01-22 12:37:37 +08:00
JukLee0ira
7ca83ab0ec eth/tracers: add TracerConfig option to Tracer (#25430) 2025-01-22 11:08:15 +08:00
Daniel Liu
588f61661c build: add imports for go generate tools (#24682) 2025-01-20 11:52:59 +08:00
JukLee0ira
48d1f22fde all: simplify function TransitionDb (#20830) 2024-12-28 09:02:48 +08:00
JukLee0ira
7491a7ba74 all: improve EstimateGas API (#20830) 2024-12-21 14:35:44 +08:00
Daniel Liu
02a59e8d84 all: replace strings.Replace with string.ReplaceAll (#24835) 2024-12-08 11:51:14 +08:00
Daniel Liu
f64aea4ba0 core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2024-11-01 11:36:53 +08:00
Daniel Liu
e18553b855 all: implement eip-1559 (#22837) 2024-11-01 11:36:52 +08:00
Daniel Liu
a79411fa06 all: fix staticcheck warning ST1005: incorrectly formatted error string 2024-10-24 09:48:20 +08:00
JukLee0ira
47d27fed3b all: replace uses of ioutil with io and os (#24869) 2024-09-27 15:14:17 +08:00
Daniel Liu
5470485450 all: split vm.Context into BlockContext and TxContext (#21672) 2024-09-21 22:18:10 +08:00
wgr523
52077f18f3
support for golang tracers + add golang callTracer (#558)
* feat: rename Tracer interface to EVMLogger;
minor changes in API
refine api_tracer.go
refine Tracer interface

* fix: broken tracer tests

* feat: add BenchmarkTransactionTrace

* feat: tracer CaptureEnter CaptureExit in evm

* feat: upgrade js tracers with geth upstream

* chore: clean test

* feat: eth/tracers: support for golang tracers + add golang callTracer
cf. https://github.com/ethereum/go-ethereum/pull/23708

* chore: clean testdata json

* fix: change test due to IntrinsicGas is not upgraded

* feat: make native Tracer the default Tracer

* fix: update tracers.New in api

* fix: addr prefix in callTracer

* fix: remove `native` in BenchmarkTracers

* fix: return consensus error of InsufficientBalance for tx, instead of vmerr

* chore: drop js tracers: call and noop
2024-08-06 00:14:04 -07:00
JukLee0ira
2d89951e5b all: use errrors.New instead of empty fmt.Errorf 2024-06-14 19:19:21 +08:00
Daniel Liu
5cb014b60f core, eth/tracer: initialize tracer statedb in CaptureStart (#22333) 2024-05-14 23:27:23 +08:00
Andrei Maiboroda
b022ba2c5d core/vm: make INVALID a defined opcode (#24017)
* core/vm: Define 0xfe opcode as INVALID

* core/vm: Remove opInvalid as opUndefined handles it

Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2024-03-01 14:13:24 +08:00
Daniel Liu
7a55b9f788 core/state: remove unused methods ReturnGas (#23092) 2024-03-01 14:13:23 +08:00