go-ethereum/eth/tracers/native
Daniel Liu de4fa1d674
eth/tracers: use gencodec for native tracers #25637 (#1296)
The call tracer and prestate tracer store data JSON-encoded in memory. In order to support alternative encodings (specifically RLP), it's better to keep data a native format during tracing. This PR does marshalling at the end, using gencodec.

OBS!
This PR changes the call tracer result slightly:

-  Order of type and value fields are changed (should not matter).
-  Output fields are completely omitted when they're empty (no more output: "0x"). Previously, this was only _sometimes_ omitted (e.g. when call ended in a non-revert error) and otherwise 0x when the output was actually empty.

Co-authored-by: Sina Mahmoodi <1591639+s1na@users.noreply.github.com>
2025-09-09 06:40:01 +08:00
..
4byte.go eth/tracers: use gencodec for native tracers #25637 (#1296) 2025-09-09 06:40:01 +08:00
call.go eth/tracers: use gencodec for native tracers #25637 (#1296) 2025-09-09 06:40:01 +08:00
contract.go eth/tracers: use gencodec for native tracers #25637 (#1296) 2025-09-09 06:40:01 +08:00
gen_account_json.go eth/tracers: use gencodec for native tracers #25637 (#1296) 2025-09-09 06:40:01 +08:00
gen_callframe_json.go eth/tracers: use gencodec for native tracers #25637 (#1296) 2025-09-09 06:40:01 +08:00
noop.go core,eth: implement tx-level hooks for tracers #24510 (#1277) 2025-09-08 17:53:21 +08:00
prestate.go eth/tracers: use gencodec for native tracers #25637 (#1296) 2025-09-09 06:40:01 +08:00
revertreason.go eth/tracers: add initial revertReasonTracer tracer #25265 (#1289) 2025-09-08 23:36:28 +08:00
tracer.go eth/tracers: package restructuring #23857 (#1266) 2025-08-29 05:26:36 +08:00