diff options
author | Luke Dashjr <luke-jr+git@utopios.org> | 2016-02-03 05:41:13 +0000 |
---|---|---|
committer | Luke Dashjr <luke-jr+git@utopios.org> | 2016-02-03 05:41:13 +0000 |
commit | a68bb9f5e7ef1da5c044907dc3a1d3d4a4dbc2cc (patch) | |
tree | 7e3932c75353499d6659b4f5a94b40e07e64c364 /src/pow.cpp | |
parent | 027fdb83b41ae9e9125cf61f6460c03ab34e5961 (diff) | |
parent | fd13fe7ca01b6104ce591af2b90ee6951ccc5a16 (diff) | |
download | bitcoin-a68bb9f5e7ef1da5c044907dc3a1d3d4a4dbc2cc.tar.xz |
Merge branch 'master' into single_prodname
Diffstat (limited to 'src/pow.cpp')
-rw-r--r-- | src/pow.cpp | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/src/pow.cpp b/src/pow.cpp index 5ace3fbc9b..40c72f9d79 100644 --- a/src/pow.cpp +++ b/src/pow.cpp @@ -1,5 +1,5 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2014 The Bitcoin Core developers +// Copyright (c) 2009-2015 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -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(); -} |