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
|
||||
validator, err := c.RecoverValidator(header)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// start checking from epoch 2nd.
|
||||
if header.Number.Uint64() > c.config.Epoch {
|
||||
validator, err := c.RecoverValidator(header)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// verify validator
|
||||
assignedValidator, err := c.GetValidator(creator, snap, chain, header)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if validator != assignedValidator {
|
||||
log.Debug("Bad block detected. Header contains wrong pair of creator-validator", "creator", creator, "assigned validator", assignedValidator, "wrong validator", validator)
|
||||
return errFailedDoubleValidation
|
||||
// verify validator
|
||||
assignedValidator, err := c.GetValidator(creator, snap, chain, header)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if validator != assignedValidator {
|
||||
log.Debug("Bad block detected. Header contains wrong pair of creator-validator", "creator", creator, "assigned validator", assignedValidator, "wrong validator", validator)
|
||||
return errFailedDoubleValidation
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue