fix: stale finalized block rewind

This commit is contained in:
jeevan-sid 2025-12-25 00:23:12 +05:30
parent 27b3a6087e
commit 7ba29c4178

View file

@ -1105,11 +1105,11 @@ func (bc *BlockChain) setHeadBeyondRoot(head uint64, time uint64, root common.Ha
bc.txLookupCache.Purge() bc.txLookupCache.Purge()
// Clear safe block, finalized block if needed // Clear safe block, finalized block if needed
if safe := bc.CurrentSafeBlock(); safe != nil && head < safe.Number.Uint64() { if safe := bc.CurrentSafeBlock(); safe != nil && rootNumber < safe.Number.Uint64() {
log.Warn("SetHead invalidated safe block") log.Warn("SetHead invalidated safe block")
bc.SetSafe(nil) bc.SetSafe(nil)
} }
if finalized := bc.CurrentFinalBlock(); finalized != nil && head < finalized.Number.Uint64() { if finalized := bc.CurrentFinalBlock(); finalized != nil && rootNumber < finalized.Number.Uint64() {
log.Error("SetHead invalidated finalized block") log.Error("SetHead invalidated finalized block")
bc.SetFinalized(nil) bc.SetFinalized(nil)
} }