mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-20 21:54:30 +00:00
## Why this should be merged
Fixes tracing when a stateful precompile calls another contract that
itself accesses storage.
## How this works
The pre-state tracer from `eth/tracers/native` doesn't implement
`CaptureEnter()` (entry of a new context), instead relying on
`CaptureState()` (per-opcode tracing) to detect that a new contract has
been entered. In doing so, it [maintains an
invariant](
|
||
|---|---|---|
| .. | ||
| 4byte.go | ||
| call.go | ||
| call_flat.go | ||
| gen_account_json.go | ||
| gen_callframe_json.go | ||
| gen_flatcallaction_json.go | ||
| gen_flatcallresult_json.go | ||
| mux.go | ||
| noop.go | ||
| prestate.go | ||
| prestate_libevm.go | ||