mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 18:32:23 +00:00
Merge pull request #235 from ngtuna/dv-epoch-1
DV is enabled from epoch 2nd
This commit is contained in:
commit
a0889d555b
1 changed files with 15 additions and 12 deletions
|
|
@ -643,19 +643,22 @@ func (c *Posv) verifySeal(chain consensus.ChainReader, header *types.Header, par
|
||||||
}
|
}
|
||||||
|
|
||||||
// header must contain validator info following double validation design
|
// header must contain validator info following double validation design
|
||||||
validator, err := c.RecoverValidator(header)
|
// start checking from epoch 2nd.
|
||||||
if err != nil {
|
if header.Number.Uint64() > c.config.Epoch {
|
||||||
return err
|
validator, err := c.RecoverValidator(header)
|
||||||
}
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// verify validator
|
// verify validator
|
||||||
assignedValidator, err := c.GetValidator(creator, snap, chain, header)
|
assignedValidator, err := c.GetValidator(creator, snap, chain, header)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if validator != assignedValidator {
|
if validator != assignedValidator {
|
||||||
log.Debug("Bad block detected. Header contains wrong pair of creator-validator", "creator", creator, "assigned validator", assignedValidator, "wrong validator", validator)
|
log.Debug("Bad block detected. Header contains wrong pair of creator-validator", "creator", creator, "assigned validator", assignedValidator, "wrong validator", validator)
|
||||||
return errFailedDoubleValidation
|
return errFailedDoubleValidation
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue