Files
consensus/engine
zeekayandHanzo Dev 01d481330e chain: carry finalized heights through the plan, so recovery names them right
The recovery index records height→id for every finalized block, so a behind node can
name a gap the ledger's own window has pruned. But the engine's accept loop derived each
block's height from pendingBlocks — and a gap block is by definition no longer tracked
there, so its height read as 0. The index then filed every gap block under height 0 and
answered for none of them: the fix populated nothing it could read.

The fold already knows each step's height. Plan now carries AcceptHeights alongside
Accept, and the accept loop reads the height from there — authoritative for a tracked or
an untracked block alike. The recovery index records the true height.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-14 22:29:09 -07:00
..
2025-12-19 08:49:11 -08:00