Browse Source
Explicitly check the min-difficulty flag against boost::none
It isn't clear how a boost::optional that holds 0 (which is the case for
regtest) is coerced to a boolean, unless you pore over the Boost
documentation. An explicit check is clearer.
pull/4/head
Jack Grigg
6 years ago
No known key found for this signature in database
GPG Key ID: 1B8D649257DB0829
2 changed files with
3 additions and
3 deletions
src/miner.cpp
src/pow.cpp
@ -103,7 +103,7 @@ void UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams,
pblock - > nTime = std : : max ( pindexPrev - > GetMedianTimePast ( ) + 1 , GetAdjustedTime ( ) ) ;
// Updating time can change work required on testnet:
if ( consensusParams . nPowAllowMinDifficultyBlocksAfterHeight ) {
if ( consensusParams . nPowAllowMinDifficultyBlocksAfterHeight ! = boost : : none ) {
pblock - > nBits = GetNextWorkRequired ( pindexPrev , pblock , consensusParams ) ;
}
}
@ -727,7 +727,7 @@ void static BitcoinMiner()
// Update nNonce and nTime
pblock - > nNonce = ArithToUint256 ( UintToArith256 ( pblock - > nNonce ) + 1 ) ;
UpdateTime ( pblock , chainparams . GetConsensus ( ) , pindexPrev ) ;
if ( chainparams . GetConsensus ( ) . nPowAllowMinDifficultyBlocksAfterHeight )
if ( chainparams . GetConsensus ( ) . nPowAllowMinDifficultyBlocksAfterHeight ! = boost : : none )
{
// Changing pblock->nTime can change work required on testnet:
hashTarget . SetCompact ( pblock - > nBits ) ;
@ -27,7 +27,7 @@ unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHead
{
// Comparing to pindexLast->nHeight with >= because this function
// returns the work required for the block after pindexLast.
if ( params . nPowAllowMinDifficultyBlocksAfterHeight & &
if ( params . nPowAllowMinDifficultyBlocksAfterHeight ! = boost : : none & &
pindexLast - > nHeight > = params . nPowAllowMinDifficultyBlocksAfterHeight . get ( ) )
{
// Special difficulty rule for testnet: