gpo non-existent block checks

This commit is contained in:
zsfelfoldi 2015-06-29 13:48:10 +02:00 committed by Jeffrey Wilcke
parent ac80ec59dc
commit 5d9df7348d

View File

@ -47,14 +47,21 @@ func NewGasPriceOracle(eth *Ethereum) (self *GasPriceOracle) {
}
func (self *GasPriceOracle) processPastBlocks() {
last := self.chain.CurrentBlock().NumberU64()
first := uint64(0)
last := int64(-1)
cblock := self.chain.CurrentBlock()
if cblock != nil {
last = int64(cblock.NumberU64())
}
first := int64(0)
if last > gpoProcessPastBlocks {
first = last - gpoProcessPastBlocks
}
self.firstProcessed = first
self.firstProcessed = uint64(first)
for i := first; i <= last; i++ {
self.processBlock(self.chain.GetBlockByNumber(i))
block := self.chain.GetBlockByNumber(uint64(i))
if block != nil {
self.processBlock(block)
}
}
}