feat(l1): implement muxTracer for debug_traceTransaction#6706
feat(l1): implement muxTracer for debug_traceTransaction#6706azteca1998 wants to merge 4 commits into
Conversation
Add support for the `muxTracer` tracer type which runs multiple
sub-tracers on the same transaction and returns a combined result
map of `tracerName -> result`.
Supported sub-tracers: callTracer, prestateTracer, opcodeTracer,
4byteTracer, noopTracer.
Example config:
{"tracer": "muxTracer", "tracerConfig": {
"callTracer": {"onlyTopCall": true},
"prestateTracer": {"diffMode": false}
}}
Note: block-level muxTracer is not yet supported and returns an error.
|
Lines of code reportTotal lines added: Detailed view |
Tests for parse, config validation, tracer type deserialization, and collect_four_byte_selectors helper function.
Trace a real transfer with muxTracer running callTracer and prestateTracer simultaneously. Assert both sub-results are present.
Summary
muxTracertracer type fordebug_traceTransactiontracerName -> resultcallTracer,prestateTracer,opcodeTracer,4byteTracer,noopTracerExample
{ "tracer": "muxTracer", "tracerConfig": { "callTracer": {"onlyTopCall": true}, "prestateTracer": {"diffMode": false} } }Closes part of #6572