From 00b357c215ed900145bd770525a341ba0ed9c027 Mon Sep 17 00:00:00 2001 From: James O'Beirne Date: Thu, 21 Jul 2022 12:56:47 -0400 Subject: [PATCH] validation: add ResetChainstates() Necessary for the following test commit. --- src/validation.cpp | 7 +++++++ src/validation.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/validation.cpp b/src/validation.cpp index b94950d1b4f..f46ee1145eb 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -5165,6 +5165,13 @@ void ChainstateManager::MaybeRebalanceCaches() } } +void ChainstateManager::ResetChainstates() +{ + m_ibd_chainstate.reset(); + m_snapshot_chainstate.reset(); + m_active_chainstate = nullptr; +} + ChainstateManager::~ChainstateManager() { LOCK(::cs_main); diff --git a/src/validation.h b/src/validation.h index 8a977f21c2e..d95841f3e1c 100644 --- a/src/validation.h +++ b/src/validation.h @@ -1051,6 +1051,8 @@ public: //! snapshot that is in the process of being validated. bool DetectSnapshotChainstate(CTxMemPool* mempool) EXCLUSIVE_LOCKS_REQUIRED(::cs_main); + void ResetChainstates() EXCLUSIVE_LOCKS_REQUIRED(::cs_main); + //! Switch the active chainstate to one based on a UTXO snapshot that was loaded //! previously. Chainstate& ActivateExistingSnapshot(CTxMemPool* mempool, uint256 base_blockhash)