go-ethereum/core/state
rjl493456442 b2aa6987de
core/state: track the block-level accessList (#34803)
This PR extends the journal to track the pre-transaction values of
mutated balances, nonces, and code.

At the end of the transaction, these values are used to filter out no-op
changes, such as balance transitions from a-> b->a. These changes are
excluded from the block-level access list.

Additionally, there is a dedicated `bal.ConstructionBlockAccessList`
objects for gathering the state reads and writes within the current
transaction. These state writes will be keyed by the block accessList
index.

---------

Co-authored-by: jwasinger <j-wasinger@hotmail.com>
2026-05-13 20:38:47 +08:00
..
pruner all: improve ETA calculation across all progress indicators (#32521) 2025-09-01 13:47:02 +08:00
snapshot core/state/snapshot: fix condition in iterator traversal test (#34638) 2026-05-01 20:22:48 +02:00
access_events.go trie, go.mod: remove all references to go-verkle and go-ipa (#33461) 2025-12-30 20:44:04 +08:00
access_events_test.go trie, go.mod: remove all references to go-verkle and go-ipa (#33461) 2025-12-30 20:44:04 +08:00
access_list.go core/state: improve accessList copy (#33024) 2025-10-26 16:13:59 +08:00
database.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
database_code.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
database_history.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
database_iterator.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
database_iterator_test.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
database_mpt.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
database_ubt.go trie: group 2^N binary trie nodes in serialization (#34794) 2026-05-01 15:28:19 +02:00
dump.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
iterator.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
iterator_test.go
journal.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
journal_test.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
metrics.go core/rawdb,state: add preimage miss metric (#31295) 2025-03-07 11:23:19 +01:00
reader.go trie: group 2^N binary trie nodes in serialization (#34794) 2026-05-01 15:28:19 +02:00
reader_eip_7928.go core: implement BAL reader for prefetching (#33737) 2026-04-28 13:10:15 +02:00
reader_eip_7928_test.go core: implement BAL reader for prefetching (#33737) 2026-04-28 13:10:15 +02:00
reader_stater.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
state_object.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
state_object_test.go core/state: using testing.B.Loop (#32658) 2025-09-19 16:57:43 -06:00
state_sizer.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
state_sizer_test.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
state_test.go core, consensus/beacon: defer trie resolution (#31725) 2025-06-25 09:42:11 +08:00
statedb.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
statedb_fuzz_test.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
statedb_hooked.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
statedb_hooked_test.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
statedb_test.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
stateupdate.go core/state: export StateUpdate struct (#34724) 2026-04-20 17:12:10 +02:00
sync.go
sync_test.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
transient_storage.go core/state: optimize transient storage (#33695) 2026-04-14 15:39:42 +02:00
trie_prefetcher.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
trie_prefetcher_test.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00