diff options
| author | Max K. <[email protected]> | 2015-07-29 19:29:24 +0200 |
|---|---|---|
| committer | Max K. <[email protected]> | 2015-07-29 19:29:24 +0200 |
| commit | 433f0fd670471aa1b7e5b4f6ff36215af174ef28 (patch) | |
| tree | cc615af7dc61a701b74a92a18e3999bb83ecf157 /src | |
| parent | Merge pull request #1212 from langerhans/1.10-dev-travis-caching (diff) | |
| parent | Remove hard coded switch on whether simplified rewards are used. (diff) | |
| download | discoin-433f0fd670471aa1b7e5b4f6ff36215af174ef28.tar.xz discoin-433f0fd670471aa1b7e5b4f6ff36215af174ef28.zip | |
Merge pull request #1208 from rnicoll/1.10-simplified-rewards
Remove hard coded switch on whether simplified rewards are used.
Diffstat (limited to 'src')
| -rw-r--r-- | src/chainparams.cpp | 3 | ||||
| -rw-r--r-- | src/consensus/params.h | 1 | ||||
| -rw-r--r-- | src/dogecoin.cpp | 2 | ||||
| -rw-r--r-- | src/test/dogecoin_tests.cpp | 6 |
4 files changed, 10 insertions, 2 deletions
diff --git a/src/chainparams.cpp b/src/chainparams.cpp index a26655585..94bf5b33f 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -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 diff --git a/src/consensus/params.h b/src/consensus/params.h index f0fdae660..906599ff4 100644 --- a/src/consensus/params.h +++ b/src/consensus/params.h @@ -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; diff --git a/src/dogecoin.cpp b/src/dogecoin.cpp index 6916982e0..53873cc92 100644 --- a/src/dogecoin.cpp +++ b/src/dogecoin.cpp @@ -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); diff --git a/src/test/dogecoin_tests.cpp b/src/test/dogecoin_tests.cpp index 7185b377a..efa4e9207 100644 --- a/src/test/dogecoin_tests.cpp +++ b/src/test/dogecoin_tests.cpp @@ -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); |