Forces the block reward to zero when right shift in GetBlockValue() is undefined, after 64 reward halvings (block height 13,440,000).tags/v0.15.1
@@ -1176,9 +1176,14 @@ void static PruneOrphanBlocks() | |||
int64_t GetBlockValue(int nHeight, int64_t nFees) | |||
{ | |||
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. | |||
nSubsidy >>= (nHeight / Params().SubsidyHalvingInterval()); | |||
nSubsidy >>= halvings; | |||
return nSubsidy + nFees; | |||
} |