|
|
@ -2570,7 +2570,7 @@ static bool ActivateBestChainStep(CValidationState& state, const CChainParams& c |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (fBlocksDisconnected) { |
|
|
|
if (fBlocksDisconnected) { |
|
|
|
mempool.removeForReorg(pcoinsTip, chainActive.Tip()->nHeight + 1); |
|
|
|
mempool.removeForReorg(pcoinsTip, chainActive.Tip()->nHeight + 1, STANDARD_LOCKTIME_VERIFY_FLAGS); |
|
|
|
mempool.TrimToSize(GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000); |
|
|
|
mempool.TrimToSize(GetArg("-maxmempool", DEFAULT_MAX_MEMPOOL_SIZE) * 1000000); |
|
|
|
} |
|
|
|
} |
|
|
|
mempool.check(pcoinsTip); |
|
|
|
mempool.check(pcoinsTip); |
|
|
@ -2681,7 +2681,7 @@ bool InvalidateBlock(CValidationState& state, const Consensus::Params& consensus |
|
|
|
// ActivateBestChain considers blocks already in chainActive
|
|
|
|
// ActivateBestChain considers blocks already in chainActive
|
|
|
|
// unconditionally valid already, so force disconnect away from it.
|
|
|
|
// unconditionally valid already, so force disconnect away from it.
|
|
|
|
if (!DisconnectTip(state, consensusParams)) { |
|
|
|
if (!DisconnectTip(state, consensusParams)) { |
|
|
|
mempool.removeForReorg(pcoinsTip, chainActive.Tip()->nHeight + 1); |
|
|
|
mempool.removeForReorg(pcoinsTip, chainActive.Tip()->nHeight + 1, STANDARD_LOCKTIME_VERIFY_FLAGS); |
|
|
|
return false; |
|
|
|
return false; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -2699,7 +2699,7 @@ bool InvalidateBlock(CValidationState& state, const Consensus::Params& consensus |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
InvalidChainFound(pindex); |
|
|
|
InvalidChainFound(pindex); |
|
|
|
mempool.removeForReorg(pcoinsTip, chainActive.Tip()->nHeight + 1); |
|
|
|
mempool.removeForReorg(pcoinsTip, chainActive.Tip()->nHeight + 1, STANDARD_LOCKTIME_VERIFY_FLAGS); |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|