go-ethereum/docs/partial-state
CPerezz c3c4dfd838
core, eth: fix post-sync block processing and BAL type compatibility
Fix the post-sync deadlock where blocks validated via BAL in newPayload
were never written to the database, causing ForkchoiceUpdated to fail
finding them and triggering infinite sync cycles.

Changes:
- Export WriteBlockWithoutState and call it after ProcessBlockWithBAL
  in newPayload, so FCU can find blocks via GetBlockByHash
- Guard SetCanonical against recoverAncestors for partial state nodes
  (they can't re-execute blocks, only apply BAL diffs)
- Auto-disable log indexing when partial state is enabled (no receipts)
- Fix BAL type field accesses to match upstream bal-devnet-2 types
  (StorageChanges, CodeChanges, BalanceChanges, Validate signature)
- Update newPayload signature (BAL now comes from ExecutableData params)
- Add partial sync scripts and documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-17 12:04:09 +02:00
..
DEVNET_TESTING.md core, eth: fix post-sync block processing and BAL type compatibility 2026-04-17 12:04:09 +02:00
PARTIAL_STATEFULNESS_PLAN.md core, eth: fix post-sync block processing and BAL type compatibility 2026-04-17 12:04:09 +02:00
PHASE2_PLAN.md core, eth: fix post-sync block processing and BAL type compatibility 2026-04-17 12:04:09 +02:00
PHASE3_PLAN.md core, eth: fix post-sync block processing and BAL type compatibility 2026-04-17 12:04:09 +02:00