diff options
author | Felix Lange <fjl@twurst.com> | 2015-08-25 21:49:36 +0800 |
---|---|---|
committer | Felix Lange <fjl@twurst.com> | 2015-08-25 21:49:36 +0800 |
commit | abce09954b6901b446c004ee06b389c338922f28 (patch) | |
tree | 16ddada3b6ecbf26e53bb9eaf0c8b03812f7cab8 /miner | |
parent | a219159e7e18ccaa52c9c493a19a11e6b7bab3dd (diff) | |
parent | 7324176f702a77fc331bf16a968d2eb4bccce021 (diff) | |
download | dexon-abce09954b6901b446c004ee06b389c338922f28.tar.gz dexon-abce09954b6901b446c004ee06b389c338922f28.tar.zst dexon-abce09954b6901b446c004ee06b389c338922f28.zip |
Merge pull request #1711 from Gustav-Simonsson/timestamp_big_int
Add tests for uncle timestamps and refactor timestamp type
Diffstat (limited to 'miner')
-rw-r--r-- | miner/worker.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/miner/worker.go b/miner/worker.go index aa2132a51..86970ec07 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -278,7 +278,7 @@ func (self *worker) wait() { glog.V(logger.Error).Infoln("Invalid block found during mining") continue } - if err := core.ValidateHeader(self.eth.BlockProcessor().Pow, block.Header(), parent, true); err != nil && err != core.BlockFutureErr { + if err := core.ValidateHeader(self.eth.BlockProcessor().Pow, block.Header(), parent, true, false); err != nil && err != core.BlockFutureErr { glog.V(logger.Error).Infoln("Invalid header on mined block:", err) continue } @@ -434,8 +434,8 @@ func (self *worker) commitNewWork() { tstart := time.Now() parent := self.chain.CurrentBlock() tstamp := tstart.Unix() - if tstamp <= int64(parent.Time()) { - tstamp = int64(parent.Time()) + 1 + if parent.Time().Cmp(new(big.Int).SetInt64(tstamp)) != 1 { + tstamp = parent.Time().Int64() + 1 } // this will ensure we're not going off too far in the future if now := time.Now().Unix(); tstamp > now+4 { @@ -448,12 +448,12 @@ func (self *worker) commitNewWork() { header := &types.Header{ ParentHash: parent.Hash(), Number: num.Add(num, common.Big1), - Difficulty: core.CalcDifficulty(uint64(tstamp), parent.Time(), parent.Number(), parent.Difficulty()), + Difficulty: core.CalcDifficulty(uint64(tstamp), parent.Time().Uint64(), parent.Number(), parent.Difficulty()), GasLimit: core.CalcGasLimit(parent), GasUsed: new(big.Int), Coinbase: self.coinbase, Extra: self.extra, - Time: uint64(tstamp), + Time: big.NewInt(tstamp), } previous := self.current |