@ -2628,14 +2628,13 @@ void static UpdateTip(CBlockIndex *pindexNew, const CChainParams& chainParams) {
@@ -2628,14 +2628,13 @@ void static UpdateTip(CBlockIndex *pindexNew, const CChainParams& chainParams) {
}
/** Disconnect chainActive's tip. You probably want to call mempool.removeForReorg and manually re-limit mempool size after this, with cs_main held. */
bool static DisconnectTip ( CValidationState & state , const Consensus : : Params & consensusP arams )
bool static DisconnectTip ( CValidationState & state , const CChainParams & chainp arams )
{
const CChainParams & chainparams = Params ( ) ; // TODO replace consensusParams parameter
CBlockIndex * pindexDelete = chainActive . Tip ( ) ;
assert ( pindexDelete ) ;
// Read block from disk.
CBlock block ;
if ( ! ReadBlockFromDisk ( block , pindexDelete , consensusParams ) )
if ( ! ReadBlockFromDisk ( block , pindexDelete , chainparams . GetConsensus ( ) ) )
return AbortNode ( state , " Failed to read block " ) ;
// Apply the block atomically to the chain state.
int64_t nStart = GetTimeMicros ( ) ;
@ -2828,7 +2827,7 @@ static bool ActivateBestChainStep(CValidationState& state, const CChainParams& c
@@ -2828,7 +2827,7 @@ static bool ActivateBestChainStep(CValidationState& state, const CChainParams& c
// Disconnect active blocks which are no longer in the best chain.
bool fBlocksDisconnected = false ;
while ( chainActive . Tip ( ) & & chainActive . Tip ( ) ! = pindexFork ) {
if ( ! DisconnectTip ( state , chainparams . GetConsensus ( ) ) )
if ( ! DisconnectTip ( state , chainparams ) )
return false ;
fBlocksDisconnected = true ;
}
@ -2973,7 +2972,7 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
@@ -2973,7 +2972,7 @@ bool ActivateBestChain(CValidationState &state, const CChainParams& chainparams,
return true ;
}
bool InvalidateBlock ( CValidationState & state , const Consensus : : Params & consensusP arams , CBlockIndex * pindex )
bool InvalidateBlock ( CValidationState & state , const CChainParams & chainp arams , CBlockIndex * pindex )
{
AssertLockHeld ( cs_main ) ;
@ -2989,7 +2988,7 @@ bool InvalidateBlock(CValidationState& state, const Consensus::Params& consensus
@@ -2989,7 +2988,7 @@ bool InvalidateBlock(CValidationState& state, const Consensus::Params& consensus
setBlockIndexCandidates . erase ( pindexWalk ) ;
// ActivateBestChain considers blocks already in chainActive
// unconditionally valid already, so force disconnect away from it.
if ( ! DisconnectTip ( state , consensusP arams ) ) {
if ( ! DisconnectTip ( state , chainp arams ) ) {
mempool . removeForReorg ( pcoinsTip , chainActive . Tip ( ) - > nHeight + 1 , STANDARD_LOCKTIME_VERIFY_FLAGS ) ;
return false ;
}