go-ethereum/core
CPerezz 962e2de6e1
core, eth: restore stateRoot field using atomic.Pointer
Live testing on bal-devnet-2 confirmed that computed roots DO diverge from
header roots. Block 75315 computed root 0xe909c7.. vs header root
0x9acbbe.. — untracked contracts' storage roots in the local trie are from
snap sync time and differ from the actual current roots, even when the
storage root resolver successfully queries peers.

This means subsequent blocks must chain off the computed root (via
partialState.Root()), not the header root (via parent.Root()). Restore
the stateRoot field using atomic.Pointer[common.Hash] instead of the
previous sync.RWMutex for lock-free concurrent access.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-17 12:13:05 +02:00
..
filtermaps core/filtermaps: fix operator precedence in delete logging condition (#33280) 2025-12-06 04:21:38 +01:00
forkid params: set osaka and BPO1 & BPO2 mainnet dates (#33063) 2025-11-03 17:41:22 +01:00
history core/history: refactor pruning configuration (#34036) 2026-03-18 13:54:29 +01:00
overlay core/overlay: fix incorrect debug log key/value in LoadTransitionState (#32637) 2025-12-14 21:51:13 +01:00
rawdb core, eth: PR review fixes and remove stateRoot field from PartialState 2026-04-17 12:12:46 +02:00
state core, eth: restore stateRoot field using atomic.Pointer 2026-04-17 12:13:05 +02:00
stateless core, miner, trie: relocate witness stats (#34106) 2026-03-27 17:06:46 +01:00
tracing all: implement eip 7928 block access lists 2026-03-31 17:49:49 -04:00
txpool core: implement EIP-8037: state creation gas cost increase 2026-03-31 16:59:35 -04:00
types core/types: fix merging state mutations (EIP-7928) (#34640) 2026-04-07 08:57:43 -04:00
vm core/vm: fix two bugs 2026-04-09 15:05:13 +02:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: implement EIP-8037: state creation gas cost increase 2026-03-31 16:59:35 -04:00
bintrie_witness_test.go core: implement EIP-8037: state creation gas cost increase 2026-03-31 16:59:35 -04:00
block_validator.go core: perform BAL validation against gas limit for blocks which come with access lists 2026-04-05 15:33:42 -04:00
block_validator_test.go eth/catalyst: add initial OpenTelemetry tracing for newPayload (#33521) 2026-02-17 17:08:57 +01:00
blockchain.go core, eth: restore stateRoot field using atomic.Pointer 2026-04-17 12:13:05 +02:00
blockchain_insert.go core: remove unused peek function in insertIterator (#33155) 2025-11-12 15:30:16 +08:00
blockchain_partial.go core, eth: restore stateRoot field using atomic.Pointer 2026-04-17 12:13:05 +02:00
blockchain_partial_test.go core, eth: restore stateRoot field using atomic.Pointer 2026-04-17 12:13:05 +02:00
blockchain_reader.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
blockchain_repair_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_sethead_test.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
blockchain_snapshot_test.go triedb/pathdb, eth: use double-buffer mechanism in pathdb (#30464) 2025-06-22 20:40:54 +08:00
blockchain_stats.go all: fix rebasing issues 2026-03-31 17:56:41 -04:00
blockchain_test.go fix some lint errors (TODO: merge this commit into the 7928 changes 2026-03-31 17:49:53 -04:00
chain_makers.go all: implement eip 7928 block access lists 2026-03-31 17:49:49 -04:00
chain_makers_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
dao_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
error.go core, internal/ethapi: fix incorrect max-initcode RPC error mapping (#34067) 2026-03-23 22:10:32 +08:00
eth_transfer_logs_test.go core, core/vm: implement EIP-7708 (#33645) 2026-03-23 22:29:53 +08:00
events.go ethstats: report newPayload processing time to stats server (#33395) 2026-01-05 17:49:30 +01:00
evm.go core: implement EIP-8037: state creation gas cost increase 2026-03-31 16:59:35 -04:00
gaspool.go core: fix tx-inclusion tests 2026-04-08 12:44:39 +02:00
gen_genesis.go all: implement eip 7928 block access lists 2026-03-31 17:49:49 -04:00
genesis.go all: implement eip 7928 block access lists 2026-03-31 17:49:49 -04:00
genesis_alloc.go params: add hoodi testnet definition (#31406) 2025-03-18 12:07:49 +01:00
genesis_test.go trie/bintrie: fix overflow management in slot key computation (#33951) 2026-03-05 14:43:31 +01:00
headerchain.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
headerchain_test.go core/state, core/tracing: new state update hook (#33490) 2026-01-08 11:07:19 +08:00
mkalloc.go accounts, cmd/geth, core: close opened files (#29598) 2024-04-30 15:47:21 +02:00
parallel_state_processor.go core: preface invalid bal errors so they are caught by the exception mapper 2026-04-05 18:14:18 -04:00
rlp_test.go crypto/keccak: vendor in golang.org/x/crypto/sha3 (#33323) 2026-02-03 14:55:27 -07:00
sender_cacher.go core: use sync.Once for SenderCacher initialization (#31029) 2025-01-16 14:36:45 +01:00
state_prefetcher.go core: implement eip-7778: block gas accounting without refunds (#33593) 2026-03-04 18:18:18 +08:00
state_processor.go core: fix rebasing issue 2026-04-08 16:19:24 +02:00
state_processor_test.go core: implement EIP-8037: state creation gas cost increase 2026-03-31 16:59:35 -04:00
state_transition.go core: fix 8037 transaction inclusion 2026-04-09 15:19:26 +02:00
stateless.go all: implement eip 7928 block access lists 2026-03-31 17:49:49 -04:00
txindexer.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
txindexer_test.go core/rawdb: integrate eradb backend for RPC (#31604) 2025-06-03 10:47:38 +02:00
types.go all: fix rebasing issues 2026-03-31 17:56:41 -04:00