From 5d6d40f329410f20d9ceb92d31985a883d94cb24 Mon Sep 17 00:00:00 2001 From: Gustav Simonsson Date: Wed, 8 Jul 2015 13:21:06 +0200 Subject: Use uint64 on ts in chain_manager, block_processor --- core/chain_util.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'core/chain_util.go') diff --git a/core/chain_util.go b/core/chain_util.go index 96c9a03d8..7e3d8eba8 100644 --- a/core/chain_util.go +++ b/core/chain_util.go @@ -31,10 +31,16 @@ import ( // CalcDifficulty is the difficulty adjustment algorithm. It returns // the difficulty that a new block b should have when created at time // given the parent block's time and difficulty. -func CalcDifficulty(time int64, parentTime int64, parentDiff *big.Int) *big.Int { +func CalcDifficulty(time, parentTime uint64, parentDiff *big.Int) *big.Int { diff := new(big.Int) adjust := new(big.Int).Div(parentDiff, params.DifficultyBoundDivisor) - if big.NewInt(time-parentTime).Cmp(params.DurationLimit) < 0 { + bigTime := new(big.Int) + bigParentTime := new(big.Int) + + bigTime.SetUint64(time) + bigParentTime.SetUint64(parentTime) + + if bigTime.Sub(bigTime, bigParentTime).Cmp(params.DurationLimit) < 0 { diff.Add(parentDiff, adjust) } else { diff.Sub(parentDiff, adjust) -- cgit v1.2.3