go-ethereum/eth/tracers
Martin HS f0e7382f38
cmd/evm, eth/tracers: refactor structlogger and make it streaming (#30806)
This PR refactors the structlog a bit, making it so that it can be used
in a streaming mode.

-------------

OBS: this PR makes a change in the input `config` config, the third
input-parem field to `debug.traceCall`. Previously, seteting it to e.g.
` {"enableMemory": true, "limit": 1024}` would mean that the response
was limited to `1024` items. Since an 'item' may include both memory and
storage, the actual size of the response was undertermined.
After this change, the response will be limited to `1024` __`bytes`__
(or thereabouts).



-----------


The commandline usage of structlog now uses the streaming mode, leaving
the non-streaming mode of operation for the eth_Call.

There are two benefits of streaming mode 
1. Not have to maintain a long list of operations, 
2. Not have to duplicate / n-plicate data, e.g. memory / stack /
returndata so that each entry has their own private slice.


---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2024-12-04 08:52:59 +01:00
..
internal core: switch EVM tx context in ApplyMessage (#30809) 2024-11-29 15:39:42 +01:00
js core: switch EVM tx context in ApplyMessage (#30809) 2024-11-29 15:39:42 +01:00
live eth/tracers: various fixes (#30540) 2024-10-17 06:51:47 +02:00
logger cmd/evm, eth/tracers: refactor structlogger and make it streaming (#30806) 2024-12-04 08:52:59 +01:00
native eth/tracers: fill the creationMethod in flatCall (#30539) 2024-11-05 08:42:22 +01:00
api.go eth/tracers: fix state hooks in API (#30830) 2024-11-29 18:42:28 +01:00
api_test.go cmd/evm, eth/tracers: refactor structlogger and make it streaming (#30806) 2024-12-04 08:52:59 +01:00
dir.go eth/tracers: various fixes (#30540) 2024-10-17 06:51:47 +02:00
live.go eth/tracers: various fixes (#30540) 2024-10-17 06:51:47 +02:00
tracers_test.go cmd/evm, eth/tracers: refactor structlogger and make it streaming (#30806) 2024-12-04 08:52:59 +01:00
tracker.go eth/traces: add state limit (#25812) 2022-10-06 10:48:04 +02:00
tracker_test.go eth/traces: add state limit (#25812) 2022-10-06 10:48:04 +02:00