Browse Source

Fix for GetBlockValue() after block 13,440,000

Forces the block reward to zero when right shift in GetBlockValue() is
undefined, after 64 reward halvings (block height 13,440,000).
0.10
ditto-b 11 years ago
parent
commit
c5a9d2ca9e
  1. 7
      src/main.cpp

7
src/main.cpp

@ -1176,9 +1176,14 @@ void static PruneOrphanBlocks()
int64_t GetBlockValue(int nHeight, int64_t nFees) int64_t GetBlockValue(int nHeight, int64_t nFees)
{ {
int64_t nSubsidy = 50 * COIN; int64_t nSubsidy = 50 * COIN;
int halvings = nHeight / Params().SubsidyHalvingInterval();
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return nFees;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years. // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= (nHeight / Params().SubsidyHalvingInterval()); nSubsidy >>= halvings;
return nSubsidy + nFees; return nSubsidy + nFees;
} }

Loading…
Cancel
Save