Files
consensus/engine
zeekayandHanzo Dev f409e64fb3 chain: report the height the VM has actually applied
The consensus ledger and the VM persist separately, so a node that stops
uncleanly comes back with certified finality above the block its VM last
committed. Finality then cannot move at all: the fail-closed guard correctly
refuses to advance past applied state, and catch-up — steering by the ledger —
asks peers for the height above the gap, so the blocks the VM is missing are
never fetched.

Measured on mainnet luxd-3: ledger 1160628, EVM 1159050, every incoming cert
refused with "expected accepted block to have parent ...:1159050 but got
...:1161398", and no descent running because certs were being accepted.

AppliedHead exposes what the VM holds. A block can only be applied on top of the
one before it, so the lower of the two is what the node actually needs next.

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