unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params) { unsigned int retarget = DIFF_DGW; // mainnet/regtest share a configuration if (Params().NetworkIDString() == CBaseChainParams::MAIN || Params().NetworkIDString() == CBaseChainParams::REGTEST) { retarget = DIFF_DGW; } else { retarget = DIFF_DGW; } // Bitcoin style retargeting if (retarget == DIFF_BTC) { return GetNextWorkRequiredBTC(pindexLast, pblock, params); } // Retarget using Kimoto Gravity Wave else if (retarget == DIFF_KGW) { return KimotoGravityWell(pindexLast, params); } // Retarget using Dark Gravity Wave 3 by default return DarkGravityWave(pindexLast, params); }
unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params) { // Most recent algo first if (pindexLast->nHeight + 1 >= params.nPowDGWHeight) { return DarkGravityWave(pindexLast, pblock, params); } else if (pindexLast->nHeight + 1 >= params.nPowKGWHeight) { return KimotoGravityWell(pindexLast, params); } else { return GetNextWorkRequiredBTC(pindexLast, pblock, params); } }