Merge pull request #1208 from rnicoll/1.10-simplified-rewards
Remove hard coded switch on whether simplified rewards are used.
This commit is contained in:
commit
433f0fd670
|
@ -45,6 +45,7 @@ public:
|
|||
consensus.nPowTargetSpacing = 60; // 1 minute
|
||||
consensus.fPowAllowMinDifficultyBlocks = false;
|
||||
consensus.fPowAllowDigishieldMinDifficultyBlocks = false;
|
||||
consensus.fSimplifiedRewards = false;
|
||||
consensus.nAuxpowChainId = 0x0062; // 98 - Josh Wise!
|
||||
consensus.fStrictChainId = true;
|
||||
consensus.fAllowLegacyBlocks = true;
|
||||
|
@ -54,6 +55,7 @@ public:
|
|||
// Blocks 145000 - 371336 are Digishield without AuxPoW
|
||||
digishieldConsensus = consensus;
|
||||
digishieldConsensus.nHeightEffective = 145000;
|
||||
digishieldConsensus.fSimplifiedRewards = true;
|
||||
digishieldConsensus.fDigishieldDifficultyCalculation = true;
|
||||
digishieldConsensus.nPowTargetTimespan = 60; // post-digishield: 1 minute
|
||||
|
||||
|
@ -199,6 +201,7 @@ public:
|
|||
digishieldConsensus.nHeightEffective = 145000;
|
||||
digishieldConsensus.nPowTargetTimespan = 60; // post-digishield: 1 minute
|
||||
digishieldConsensus.fDigishieldDifficultyCalculation = true;
|
||||
digishieldConsensus.fSimplifiedRewards = true;
|
||||
digishieldConsensus.fPowAllowMinDifficultyBlocks = false;
|
||||
|
||||
// Blocks 157500 - 158099 are Digishield with minimum difficulty on all blocks
|
||||
|
|
|
@ -29,6 +29,7 @@ struct Params {
|
|||
/** Dogecoin-specific parameters */
|
||||
bool fDigishieldDifficultyCalculation;
|
||||
bool fPowAllowDigishieldMinDifficultyBlocks; // Allow minimum difficulty blocks where a retarget would normally occur
|
||||
bool fSimplifiedRewards;
|
||||
|
||||
/** Auxpow parameters */
|
||||
int16_t nAuxpowChainId;
|
||||
|
|
|
@ -131,7 +131,7 @@ CAmount GetDogecoinBlockSubsidy(int nHeight, const Consensus::Params& consensusP
|
|||
{
|
||||
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
|
||||
|
||||
if (nHeight < 145000) // && !consensusParams.SimplifiedRewards())
|
||||
if (!consensusParams.fSimplifiedRewards)
|
||||
{
|
||||
// Old-style rewards derived from the previous block hash
|
||||
const std::string cseed_str = prevHash.ToString().substr(7, 7);
|
||||
|
|
|
@ -63,23 +63,26 @@ BOOST_AUTO_TEST_CASE(subsidy_limit_test)
|
|||
{
|
||||
int nHeight = 0;
|
||||
int nStepSize= 1;
|
||||
const Consensus::Params& params = Params(CBaseChainParams::MAIN).GetConsensus(0);
|
||||
CAmount nSum = 0;
|
||||
uint256 prevHash = uint256S("0");
|
||||
const CChainParams mainParams = Params(CBaseChainParams::MAIN);
|
||||
|
||||
for (nHeight = 0; nHeight <= 100000; nHeight++) {
|
||||
const Consensus::Params& params = mainParams.GetConsensus(nHeight);
|
||||
CAmount nSubsidy = GetDogecoinBlockSubsidy(nHeight, params, prevHash);
|
||||
BOOST_CHECK(MoneyRange(nSubsidy));
|
||||
BOOST_CHECK(nSubsidy <= 1000000 * COIN);
|
||||
nSum += nSubsidy * nStepSize;
|
||||
}
|
||||
for (; nHeight <= 145000; nHeight++) {
|
||||
const Consensus::Params& params = mainParams.GetConsensus(nHeight);
|
||||
CAmount nSubsidy = GetDogecoinBlockSubsidy(nHeight, params, prevHash);
|
||||
BOOST_CHECK(MoneyRange(nSubsidy));
|
||||
BOOST_CHECK(nSubsidy <= 500000 * COIN);
|
||||
nSum += nSubsidy * nStepSize;
|
||||
}
|
||||
for (; nHeight < 600000; nHeight++) {
|
||||
const Consensus::Params& params = mainParams.GetConsensus(nHeight);
|
||||
CAmount nSubsidy = GetDogecoinBlockSubsidy(nHeight, params, prevHash);
|
||||
CAmount nExpectedSubsidy = (500000 >> (nHeight / 100000)) * COIN;
|
||||
BOOST_CHECK(MoneyRange(nSubsidy));
|
||||
|
@ -95,6 +98,7 @@ BOOST_AUTO_TEST_CASE(subsidy_limit_test)
|
|||
BOOST_CHECK(nSum >= lowerlimit);
|
||||
|
||||
// Test reward at 600k+ is constant
|
||||
const Consensus::Params& params = mainParams.GetConsensus(600000);
|
||||
CAmount nConstantSubsidy = GetDogecoinBlockSubsidy(600000, params, prevHash);
|
||||
BOOST_CHECK_EQUAL(nConstantSubsidy, 10000 * COIN);
|
||||
|
||||
|
|
Loading…
Reference in a new issue