fix nil exception

This commit is contained in:
Tuna 2019-01-09 15:43:12 +07:00
parent 9a9796a1a2
commit 804debede4
2 changed files with 6 additions and 2 deletions

View file

@ -774,7 +774,7 @@ func (c *Posv) Prepare(chain consensus.ChainReader, state *state.StateDB, header
} }
header.Extra = header.Extra[:extraVanity] header.Extra = header.Extra[:extraVanity]
masternodes := snap.GetSigners() masternodes := snap.GetSigners()
if number > 0 && number%c.config.Epoch == 0 { if number >= c.config.Epoch && number%c.config.Epoch == 0 {
if c.HookPenalty != nil { if c.HookPenalty != nil {
penMasternodes, err := c.HookPenalty(state, chain, number) penMasternodes, err := c.HookPenalty(state, chain, number)
if err != nil { if err != nil {

View file

@ -552,7 +552,11 @@ func (self *worker) commitNewWork() {
if atomic.LoadInt32(&self.mining) == 1 { if atomic.LoadInt32(&self.mining) == 1 {
header.Coinbase = self.coinbase header.Coinbase = self.coinbase
} }
if err := self.engine.Prepare(self.chain, self.current.state, header); err != nil { state := &state.StateDB{}
if self.current != nil {
state = self.current.state
}
if err := self.engine.Prepare(self.chain, state, header); err != nil {
log.Error("Failed to prepare header for new block", "err", err) log.Error("Failed to prepare header for new block", "err", err)
return return
} }