@@ -100,7 +100,7 @@ class CMainParams : public CChainParams {
100100 consensus.nPowTargetSpacing = 30 * 60 ; // 30 Minutes * 60 Seconds |-> Seconds in 30 minutes
101101 consensus.fPowAllowMinDifficultyBlocks = false ;
102102 consensus.fPowNoRetargeting = false ;
103- consensus.nRuleChangeActivationThreshold = 100 ;
103+ consensus.nRuleChangeActivationThreshold = 639 ; // 95% of 672 (rounded up from 638.4)
104104 consensus.nMinerConfirmationWindow = 672 ; // nPowTargetTimespan / nPowTargetSpacing
105105
106106 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY ].bit = 28 ;
@@ -118,6 +118,17 @@ class CMainParams : public CChainParams {
118118 // Number of rounds for gHash to generate random Ws around which to search for semiprimes.
119119 consensus.hashRounds = 1 ;
120120
121+ // Deadpool softfork
122+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].bit = 27 ;
123+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nStartTime = 1735689600LL ; // 2025-01-01
124+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nTimeout = 1748736000LL ; // 2025-06-01
125+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].min_activation_height = 155000 ; // no delay
126+
127+ // Deadpool parametrization
128+ consensus.nDeadpoolAnnounceMaturity = 100 ;
129+ consensus.nDeadpoolAnnounceValidity = 672 ;
130+ consensus.nDeadpoolAnnounceMinBurn = 1000000 ; // 0.01 COIN
131+
121132 /* *
122133 * The message start string is designed to be unlikely to occur in normal data.
123134 * The characters are rarely used upper ASCII, not valid as UTF-8, and produce
@@ -210,6 +221,17 @@ class CTestNetParams : public CChainParams {
210221 // Number of Miller-Rabin rounds, determines primality with false positive rate of 4^(-rounds).
211222 consensus.MillerRabinRounds = 50 ;
212223
224+ // Deadpool softfork
225+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].bit = 27 ;
226+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nStartTime = 1735689600LL ; // Jan 1st, 2025
227+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT ;
228+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].min_activation_height = 0 ; // No activation delay
229+
230+ // Deadpool parametrization
231+ consensus.nDeadpoolAnnounceMaturity = 5 ;
232+ consensus.nDeadpoolAnnounceValidity = 100 ;
233+ consensus.nDeadpoolAnnounceMinBurn = 1000000 ; // 0.01 COIN
234+
213235 // Number of rounds for gHash to generate random Ws around which to search for semiprimes.
214236 consensus.hashRounds = 1 ;
215237
@@ -356,6 +378,17 @@ class SigNetParams : public CChainParams {
356378 // Number of rounds for gHash to generate random Ws around which to search for semiprimes.
357379 consensus.hashRounds = 1 ;
358380
381+ // Deadpool softfork
382+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].bit = 27 ;
383+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nStartTime = 0 ;
384+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT ;
385+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].min_activation_height = (4 * consensus.nMinerConfirmationWindow ); // Add one more epoch than required
386+
387+ // Deadpool parametrization
388+ consensus.nDeadpoolAnnounceMaturity = 5 ;
389+ consensus.nDeadpoolAnnounceValidity = 100 ;
390+ consensus.nDeadpoolAnnounceMinBurn = 1000000 ; // 0.01 COIN
391+
359392 vFixedSeeds.clear ();
360393 base58Prefixes[PUBKEY_ADDRESS ] = std::vector<unsigned char >(1 ,111 );
361394 base58Prefixes[SCRIPT_ADDRESS ] = std::vector<unsigned char >(1 ,196 );
@@ -397,8 +430,8 @@ class CRegTestParams : public CChainParams {
397430 consensus.nPowTargetSpacing = 30 * 60 ;
398431 consensus.fPowAllowMinDifficultyBlocks = true ;
399432 consensus.fPowNoRetargeting = true ;
400- consensus.nRuleChangeActivationThreshold = 108 ; // 75% for testchains
401- consensus.nMinerConfirmationWindow = 144 ; // Faster than normal for regtest (144 instead of 2016)
433+ consensus.nRuleChangeActivationThreshold = 24 ; // 75% for testchains
434+ consensus.nMinerConfirmationWindow = 32 ; // Faster than normal for regtest (32 instead of 2016)
402435
403436 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY ].bit = 28 ;
404437 consensus.vDeployments [Consensus::DEPLOYMENT_TESTDUMMY ].nStartTime = 0 ;
@@ -423,6 +456,17 @@ class CRegTestParams : public CChainParams {
423456 // Number of rounds for gHash to generate random Ws around which to search for semiprimes.
424457 consensus.hashRounds = 1 ;
425458
459+ // Deadpool softfork
460+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].bit = 27 ;
461+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nStartTime = 0 ;
462+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].nTimeout = Consensus::BIP9Deployment::NO_TIMEOUT ;
463+ consensus.vDeployments [Consensus::DEPLOYMENT_DEADPOOL ].min_activation_height = (4 * consensus.nMinerConfirmationWindow ); // Add one more epoch than required
464+
465+ // Deadpool parametrization
466+ consensus.nDeadpoolAnnounceMaturity = 5 ;
467+ consensus.nDeadpoolAnnounceValidity = 100 ;
468+ consensus.nDeadpoolAnnounceMinBurn = 1000000 ; // 0.01 COIN
469+
426470 UpdateActivationParametersFromArgs (args);
427471
428472 vFixedSeeds.clear (); // !< Regtest mode doesn't have any fixed seeds.
0 commit comments