@@ -193,6 +193,7 @@ class CMainParams : public CChainParams {
193193 consensus.DIP0024QuorumsHeight = 1738698 ; // 000000000000001aa25181e4c466e593992c98f9eb21c69ee757b8bb0af50244
194194 consensus.V19Height = 1899072 ; // 0000000000000015e32e73052d663626327004c81c5c22cb8b42c361015c0eae
195195 consensus.V20Height = 1987776 ; // 000000000000001bf41cff06b76780050682ca29e61a91c391893d4745579777
196+ consensus.MN_RRHeight = 2119135 ; // 000000000000000c307b4ad7999e379ff10556c8f51437d55692c3ad25aad061
196197 consensus.MinBIP9WarningHeight = 1987776 + 2016 ; // V20 activation height + miner confirmation window
197198 consensus.powLimit = uint256S (" 00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ); // ~uint256(0) >> 20
198199 consensus.nPowTargetTimespan = 24 * 60 * 60 ; // Dash: 1 day
@@ -208,16 +209,6 @@ class CMainParams : public CChainParams {
208209 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
209210 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0 ; // No activation delay
210211
211- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].bit = 10 ;
212- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nStartTime = 1704067200 ; // January 1, 2024
213- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nTimeout = 1767225600 ; // January 1, 2026
214- // NOTE: nWindowSize for MN_RR __MUST__ be greater than or equal to nSuperblockMaturityWindow for CSuperblock::GetPaymentsLimit() to work correctly
215- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nWindowSize = 4032 ;
216- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdStart = 3226 ; // 80% of 4032
217- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdMin = 2420 ; // 60% of 4032
218- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nFalloffCoeff = 5 ; // this corresponds to 10 periods
219- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].useEHF = true ;
220-
221212 // The best chain should have at least this much work.
222213 consensus.nMinimumChainWork = uint256S (" 0x00000000000000000000000000000000000000000000988117deadb0db9cd5b8" ); // 2109672
223214
@@ -388,6 +379,7 @@ class CTestNetParams : public CChainParams {
388379 consensus.DIP0024QuorumsHeight = 770730 ; // 0000003c43b3ae7fffe61278ca5537a0e256ebf4d709d45f0ab040271074d51e
389380 consensus.V19Height = 850100 ; // 000004728b8ff2a16b9d4eebb0fd61eeffadc9c7fe4b0ec0b5a739869401ab5b
390381 consensus.V20Height = 905100 ; // 0000020c5e0f86f385cbf8e90210de9a9fd63633f01433bf47a6b3227a2851fd
382+ consensus.MN_RRHeight = 1066900 ; // 000000d05d445958a9a4ad6bdc0f4bfb25af124b2326060703373ff2d3b397e9
391383 consensus.MinBIP9WarningHeight = 905100 + 2016 ; // v19 activation height + miner confirmation window
392384 consensus.powLimit = uint256S (" 00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ); // ~uint256(0) >> 20
393385 consensus.nPowTargetTimespan = 24 * 60 * 60 ; // Dash: 1 day
@@ -403,15 +395,6 @@ class CTestNetParams : public CChainParams {
403395 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
404396 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0 ; // No activation delay
405397
406- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].bit = 10 ;
407- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nStartTime = 1693526400 ; // Friday, September 1, 2023 0:00:00
408- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
409- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nWindowSize = 100 ;
410- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdStart = 80 ; // 80% of 100
411- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdMin = 60 ; // 60% of 100
412- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nFalloffCoeff = 5 ; // this corresponds to 10 periods
413- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].useEHF = true ;
414-
415398 // The best chain should have at least this much work.
416399 consensus.nMinimumChainWork = uint256S (" 0x000000000000000000000000000000000000000000000000031779704a0f54b4" ); // 1069875
417400
@@ -557,6 +540,7 @@ class CDevNetParams : public CChainParams {
557540 consensus.DIP0024QuorumsHeight = 300 ;
558541 consensus.V19Height = 300 ;
559542 consensus.V20Height = 300 ;
543+ consensus.MN_RRHeight = 300 ;
560544 consensus.MinBIP9WarningHeight = 300 + 2016 ; // v20 activation height + miner confirmation window
561545 consensus.powLimit = uint256S (" 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ); // ~uint256(0) >> 1
562546 consensus.nPowTargetTimespan = 24 * 60 * 60 ; // Dash: 1 day
@@ -572,15 +556,6 @@ class CDevNetParams : public CChainParams {
572556 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
573557 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0 ; // No activation delay
574558
575- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].bit = 10 ;
576- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nStartTime = 1661990400 ; // Sep 1st, 2022
577- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
578- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nWindowSize = 120 ;
579- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdStart = 80 ; // 80% of 100
580- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdMin = 60 ; // 60% of 100
581- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nFalloffCoeff = 5 ; // this corresponds to 10 periods
582- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].useEHF = true ;
583-
584559 // The best chain should have at least this much work.
585560 consensus.nMinimumChainWork = uint256S (" 0x000000000000000000000000000000000000000000000000000000000000000" );
586561
@@ -790,6 +765,7 @@ class CRegTestParams : public CChainParams {
790765 consensus.DIP0024QuorumsHeight = 900 ;
791766 consensus.V19Height = 900 ;
792767 consensus.V20Height = 900 ;
768+ consensus.MN_RRHeight = 900 ;
793769 consensus.MinBIP9WarningHeight = 0 ;
794770 consensus.powLimit = uint256S (" 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ); // ~uint256(0) >> 1
795771 consensus.nPowTargetTimespan = 24 * 60 * 60 ; // Dash: 1 day
@@ -806,15 +782,6 @@ class CRegTestParams : public CChainParams {
806782 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
807783 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY].min_activation_height = 0 ; // No activation delay
808784
809- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].bit = 10 ;
810- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nStartTime = 0 ;
811- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT;
812- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nWindowSize = 12 ;
813- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdStart = 9 ; // 80% of 12
814- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nThresholdMin = 7 ; // 60% of 7
815- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].nFalloffCoeff = 5 ; // this corresponds to 10 periods
816- consensus.vDeployments [Consensus::DEPLOYMENT_MN_RR].useEHF = true ;
817-
818785 // The best chain should have at least this much work.
819786 consensus.nMinimumChainWork = uint256S (" 0x00" );
820787
@@ -1036,6 +1003,8 @@ static void MaybeUpdateHeights(const ArgsManager& args, Consensus::Params& conse
10361003 consensus.DIP0020Height = int {height};
10371004 } else if (name == " v20" ) {
10381005 consensus.V20Height = int {height};
1006+ } else if (name == " mn_rr" ) {
1007+ consensus.MN_RRHeight = int {height};
10391008 } else {
10401009 throw std::runtime_error (strprintf (" Invalid name (%s) for -testactivationheight=name@height." , arg));
10411010 }
0 commit comments