diff --git a/src/validation.cpp b/src/validation.cpp index cd53727d250..fedfafdd065 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -5657,6 +5657,18 @@ std::vector ChainstateManager::GetAll() return out; } +std::vector ChainstateManager::GetAll() const +{ + LOCK(::cs_main); + std::vector out; + + for (const Chainstate* cs : {m_ibd_chainstate.get(), m_snapshot_chainstate.get()}) { + if (this->IsUsable(cs)) out.push_back(cs); + } + + return out; +} + Chainstate& ChainstateManager::InitializeChainstate(CTxMemPool* mempool) { AssertLockHeld(::cs_main); diff --git a/src/validation.h b/src/validation.h index 1951120d15c..b3eb20b4870 100644 --- a/src/validation.h +++ b/src/validation.h @@ -1078,6 +1078,7 @@ public: //! Get all chainstates currently being used. std::vector GetAll(); + std::vector GetAll() const; //! Construct and activate a Chainstate on the basis of UTXO snapshot data. //!