From b5bc7c9dace308f168151dacb7b9cfea076c2d82 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Mon, 8 Apr 2019 07:07:47 +0200 Subject: [PATCH] Call HandleFullyConfirmedBlock when ChainLocks are enabled but not enforced (#2844) Otherwise IS locks never get removed before DIP8 activates via BIP9. --- src/llmq/quorums_instantsend.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/llmq/quorums_instantsend.cpp b/src/llmq/quorums_instantsend.cpp index 44524f1ad6a98..fee9f57ff2898 100644 --- a/src/llmq/quorums_instantsend.cpp +++ b/src/llmq/quorums_instantsend.cpp @@ -818,7 +818,10 @@ void CInstantSendManager::NotifyChainLock(const CBlockIndex* pindexChainLock) void CInstantSendManager::UpdatedBlockTip(const CBlockIndex* pindexNew) { - if (sporkManager.IsSporkActive(SPORK_19_CHAINLOCKS_ENABLED)) { + // TODO remove this after DIP8 has activated + bool fDIP0008Active = VersionBitsState(pindexNew->pprev, Params().GetConsensus(), Consensus::DEPLOYMENT_DIP0008, versionbitscache) == THRESHOLD_ACTIVE; + + if (sporkManager.IsSporkActive(SPORK_19_CHAINLOCKS_ENABLED) && fDIP0008Active) { // Nothing to do here. We should keep all islocks and let chainlocks handle them. return; }