@ -3777,7 +3777,7 @@ arith_uint256 CalculateHeadersWork(const std::vector<CBlockHeader>& headers)
* in ConnectBlock ( ) .
* Note that - reindex - chainstate skips the validation that happens here !
*/
static bool ContextualCheckBlockHeader ( const CBlockHeader & block , BlockValidationState & state , BlockManager & blockman , const ChainstateManager & chainman , const CBlockIndex * pindexPrev , NodeClock : : time_point now ) EXCLUSIVE_LOCKS_REQUIRED ( : : cs_main )
static bool ContextualCheckBlockHeader ( const CBlockHeader & block , BlockValidationState & state , BlockManager & blockman , const ChainstateManager & chainman , const CBlockIndex * pindexPrev ) EXCLUSIVE_LOCKS_REQUIRED ( : : cs_main )
{
AssertLockHeld ( : : cs_main ) ;
assert ( pindexPrev ! = nullptr ) ;
@ -3805,7 +3805,7 @@ static bool ContextualCheckBlockHeader(const CBlockHeader& block, BlockValidatio
return state . Invalid ( BlockValidationResult : : BLOCK_INVALID_HEADER , " time-too-old " , " block's timestamp is too early " ) ;
// Check timestamp
if ( block . Time ( ) > now + std : : chrono : : seconds { MAX_FUTURE_BLOCK_TIME } ) {
if ( block . Time ( ) > NodeClock: : now( ) + std : : chrono : : seconds { MAX_FUTURE_BLOCK_TIME } ) {
return state . Invalid ( BlockValidationResult : : BLOCK_TIME_FUTURE , " time-too-new " , " block timestamp too far in the future " ) ;
}
@ -3945,7 +3945,7 @@ bool ChainstateManager::AcceptBlockHeader(const CBlockHeader& block, BlockValida
LogPrint ( BCLog : : VALIDATION , " header %s has prev block invalid: %s \n " , hash . ToString ( ) , block . hashPrevBlock . ToString ( ) ) ;
return state . Invalid ( BlockValidationResult : : BLOCK_INVALID_PREV , " bad-prevblk " ) ;
}
if ( ! ContextualCheckBlockHeader ( block , state , m_blockman , * this , pindexPrev , m_options . adjusted_time_callback ( ) )) {
if ( ! ContextualCheckBlockHeader ( block , state , m_blockman , * this , pindexPrev )) {
LogPrint ( BCLog : : VALIDATION , " %s: Consensus::ContextualCheckBlockHeader: %s, %s \n " , __func__ , hash . ToString ( ) , state . ToString ( ) ) ;
return false ;
}
@ -4230,7 +4230,6 @@ bool TestBlockValidity(BlockValidationState& state,
Chainstate & chainstate ,
const CBlock & block ,
CBlockIndex * pindexPrev ,
const std : : function < NodeClock : : time_point ( ) > & adjusted_time_callback ,
bool fCheckPOW ,
bool fCheckMerkleRoot )
{
@ -4244,7 +4243,7 @@ bool TestBlockValidity(BlockValidationState& state,
indexDummy . phashBlock = & block_hash ;
// NOTE: CheckBlockHeader is called by CheckBlock
if ( ! ContextualCheckBlockHeader ( block , state , chainstate . m_blockman , chainstate . m_chainman , pindexPrev , adjusted_time_callback ( ) ))
if ( ! ContextualCheckBlockHeader ( block , state , chainstate . m_blockman , chainstate . m_chainman , pindexPrev ))
return error ( " %s: Consensus::ContextualCheckBlockHeader: %s " , __func__ , state . ToString ( ) ) ;
if ( ! CheckBlock ( block , state , chainparams . GetConsensus ( ) , fCheckPOW , fCheckMerkleRoot ) )
return error ( " %s: Consensus::CheckBlock: %s " , __func__ , state . ToString ( ) ) ;
@ -5779,7 +5778,6 @@ static ChainstateManager::Options&& Flatten(ChainstateManager::Options&& opts)
if ( ! opts . check_block_index . has_value ( ) ) opts . check_block_index = opts . chainparams . DefaultConsistencyChecks ( ) ;
if ( ! opts . minimum_chain_work . has_value ( ) ) opts . minimum_chain_work = UintToArith256 ( opts . chainparams . GetConsensus ( ) . nMinimumChainWork ) ;
if ( ! opts . assumed_valid_block . has_value ( ) ) opts . assumed_valid_block = opts . chainparams . GetConsensus ( ) . defaultAssumeValid ;
Assert ( opts . adjusted_time_callback ) ;
return std : : move ( opts ) ;
}