diff options
author | Jorge Timón <jtimon@jtimon.cc> | 2015-11-30 00:46:49 +0100 |
---|---|---|
committer | Jorge Timón <jtimon@jtimon.cc> | 2016-01-12 13:43:14 +0100 |
commit | e86756193ebdbf71504e2a1a8db43e38d57f9673 (patch) | |
tree | 1048571b27029b21d33d889c3f37fb48c1798ad5 /src/pow.cpp | |
parent | 3cd836c1d855b92e7c73ab31979f471c4f8dad68 (diff) |
MOVEONLY: non-consensus: from pow to chain:
- GetBlockProof
- GetBlockProofEquivalentTime
Diffstat (limited to 'src/pow.cpp')
-rw-r--r-- | src/pow.cpp | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/pow.cpp b/src/pow.cpp index 5ace3fbc9b..dc58e21e12 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -102,35 +102,3 @@ bool CheckProofOfWork(uint256 hash, unsigned int nBits, const Consensus::Params& return true; } - -arith_uint256 GetBlockProof(const CBlockIndex& block) -{ - arith_uint256 bnTarget; - bool fNegative; - bool fOverflow; - bnTarget.SetCompact(block.nBits, &fNegative, &fOverflow); - if (fNegative || fOverflow || bnTarget == 0) - return 0; - // We need to compute 2**256 / (bnTarget+1), but we can't represent 2**256 - // as it's too large for a arith_uint256. However, as 2**256 is at least as large - // as bnTarget+1, it is equal to ((2**256 - bnTarget - 1) / (bnTarget+1)) + 1, - // or ~bnTarget / (nTarget+1) + 1. - return (~bnTarget / (bnTarget + 1)) + 1; -} - -int64_t GetBlockProofEquivalentTime(const CBlockIndex& to, const CBlockIndex& from, const CBlockIndex& tip, const Consensus::Params& params) -{ - arith_uint256 r; - int sign = 1; - if (to.nChainWork > from.nChainWork) { - r = to.nChainWork - from.nChainWork; - } else { - r = from.nChainWork - to.nChainWork; - sign = -1; - } - r = r * arith_uint256(params.nPowTargetSpacing) / GetBlockProof(tip); - if (r.bits() > 63) { - return sign * std::numeric_limits<int64_t>::max(); - } - return sign * r.GetLow64(); -} |