go-ethereum/core/state/partial
CPerezz d50dee20ab
core, eth: PR review fixes and remove stateRoot field from PartialState
Apply review fixes: BAL iterator start (Fix 2), fatal root mismatch when
all storage resolved (Fix 3), WriteBlockWithoutState error handling (Fix 4),
contract filter construction order (Fix 5), canonical hash backfill (Fix 6),
underflow guard in gap processing (Fix 8), O(n²) prepend fix (Fix 9),
ReadBALHistory corruption detection (Fix 11), incomplete resolution error
(Fix 13), RLP encode panic (Fix 14), gap processing log level (Fix 16),
TriggerPartialResync message (Fix 18), and comment accuracy fixes.

Remove the stateRoot field and sync.RWMutex from PartialState entirely.
Since partial state maintains the full account trie, the computed root
always matches the header root (assuming storage root resolution succeeds).
ProcessBlockWithBAL now derives parent root from parent.Root() directly,
matching how full nodes derive state root from currentBlock headers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-17 12:12:46 +02:00
..
filter.go core/state: add hash-based filter methods and NewPartialStateSync 2026-04-17 11:09:19 +02:00
filter_test.go core/state: add hash-based filter methods and NewPartialStateSync 2026-04-17 11:09:19 +02:00
history.go core, eth: PR review fixes and remove stateRoot field from PartialState 2026-04-17 12:12:46 +02:00
state.go core, eth: PR review fixes and remove stateRoot field from PartialState 2026-04-17 12:12:46 +02:00
state_test.go core, eth: PR review fixes and remove stateRoot field from PartialState 2026-04-17 12:12:46 +02:00