core, miner: fixed miner time issue and removed future blocks

* Miner should no longer generate blocks with a time stamp less or equal
than it's parent.
* Future blocks are no longer processed and queued directly.
  Closes #1118
This commit is contained in:
obscuren
2015-05-27 13:08:06 +02:00
parent 34729c365b
commit 12650e16d3
2 changed files with 5 additions and 5 deletions

View File

@ -287,8 +287,10 @@ func (self *worker) push() {
func (self *worker) makeCurrent() {
block := self.chain.NewBlock(self.coinbase)
if block.Time() == self.chain.CurrentBlock().Time() {
block.Header().Time++
parent := self.chain.GetBlock(block.ParentHash())
if block.Time() <= parent.Time() {
block.Header().Time = parent.Header().Time + 1
}
block.Header().Extra = self.extra
@ -312,7 +314,6 @@ func (self *worker) makeCurrent() {
current.localMinedBlocks = self.current.localMinedBlocks
}
parent := self.chain.GetBlock(current.block.ParentHash())
current.coinbase.SetGasPool(core.CalcGasLimit(parent))
self.current = current