From b6d565cd5a77f910f7f9eb6bd33162527826bda9 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 21 Oct 2019 16:49:03 +0300 Subject: [PATCH] Actually update spent index on DisconnectBlock Fixes #3166 --- src/validation.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/validation.cpp b/src/validation.cpp index 298ebbc6e7fa..bdb9f40b61c1 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -1647,6 +1647,13 @@ static DisconnectResult DisconnectBlock(const CBlock& block, const CBlockIndex* // move best block pointer to prevout block view.SetBestBlock(pindex->pprev->GetBlockHash()); + if (fSpentIndex) { + if (!pblocktree->UpdateSpentIndex(spentIndex)) { + AbortNode("Failed to delete spent index"); + return DISCONNECT_FAILED; + } + } + if (fAddressIndex) { if (!pblocktree->EraseAddressIndex(addressIndex)) { AbortNode("Failed to delete address index");