mirror of
https://github.com/kvazar-network/kevacoin.git
synced 2025-01-24 05:44:30 +00:00
Merge pull request #3842 from ditto-b/master
Fix for GetBlockValue() after block 13,440,000
This commit is contained in:
commit
8556b0298d
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ BOOST_AUTO_TEST_SUITE(main_tests)
|
|||||||
BOOST_AUTO_TEST_CASE(subsidy_limit_test)
|
BOOST_AUTO_TEST_CASE(subsidy_limit_test)
|
||||||
{
|
{
|
||||||
uint64_t nSum = 0;
|
uint64_t nSum = 0;
|
||||||
for (int nHeight = 0; nHeight < 7000000; nHeight += 1000) {
|
for (int nHeight = 0; nHeight < 14000000; nHeight += 1000) {
|
||||||
uint64_t nSubsidy = GetBlockValue(nHeight, 0);
|
uint64_t nSubsidy = GetBlockValue(nHeight, 0);
|
||||||
BOOST_CHECK(nSubsidy <= 50 * COIN);
|
BOOST_CHECK(nSubsidy <= 50 * COIN);
|
||||||
nSum += nSubsidy * 1000;
|
nSum += nSubsidy * 1000;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user