go-ethereum/eth/tracers
Arran Schlosberg 464de82910
feat: state-key transformation w/ override (#205)
## Why this should be merged

`ava-labs/coreth` has a partitioned state-address space, achieved by
setting or clearing a specific bit in the hash used to key the space.
This change allows such behaviour to be achieved with pure `libevm`
instead of the `StateDB` wrapping that `coreth` currently uses.

## How this works

Introduction of `state.StateDBHooks` interface, including a
`TransformStateKey()` method that allows for arbitrary change of state
key. If registered, this hook will be honoured by
`StateDB.{Get,GetCommitted,State}Key()` methods unless they receive a
`stateconf.SkipStateKeyTransformation` option.

## How this was tested

Unit test of `SetState() -> GetState() + GetCommittedState()` round trip
with and without options to skip.
2025-07-22 13:08:53 -04:00
..
internal/tracetest [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
js [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
logger feat: state-key transformation w/ override (#205) 2025-07-22 13:08:53 -04:00
native fix: pre-state tracer logging storage after call from precompile (#64) 2024-10-29 17:26:29 +11:00
api.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
api_test.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
tracers.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00:00
tracers_test.go [AUTO] rename Go module + update internal import paths 2024-10-17 01:49:47 +00: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