consensus/clique: only trust snapshot for genesis or les checkpoint

This commit is contained in:
Péter Szilágyi 2018-09-10 15:00:54 +03:00
parent ae992a5d73
commit bcfb7f58b9
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D

View File

@ -388,7 +388,7 @@ func (c *Clique) snapshot(chain consensus.ChainReader, number uint64, hash commo
}
}
// If we're at an checkpoint block, make a snapshot if it's known
if number%c.config.Epoch == 0 {
if number == 0 || (number%c.config.Epoch == 0 && chain.GetHeaderByNumber(number-1) == nil) {
checkpoint := chain.GetHeaderByNumber(number)
if checkpoint != nil {
hash := checkpoint.Hash()