In checkHeight function in scanner.go
It compares current height with upgrade height
// scanner.go line 166
currentHeight, err := fw.checkHeight()
if (err != nil || currentHeight < info.Height) && !errors.Is(err, errUntestAble) {
return false
}
But when it reaches the upgrade height, currentHeight alwaysinfo.Heigh -1, leading to CheckUpdate function always return false. Because chain should be panicked in the process of block is finalized