From 42d5d5336319aaf0f07345037db78239d9e012fc Mon Sep 17 00:00:00 2001 From: Fabian Jahr Date: Mon, 30 Sep 2024 01:42:47 +0200 Subject: [PATCH] interfaces: Add helper function for wallet on pruning --- src/interfaces/chain.h | 3 +++ src/node/interfaces.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index 4e858d1f898..c9ef46243c4 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -289,6 +289,9 @@ public: //! Check if any block has been pruned. virtual bool havePruned() = 0; + //! Get the current prune height. + virtual std::optional getPruneHeight() = 0; + //! Check if the node is ready to broadcast transactions. virtual bool isReadyToBroadcast() = 0; diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp index f3b8c6a072f..15140b942f6 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -770,6 +771,11 @@ public: LOCK(::cs_main); return chainman().m_blockman.m_have_pruned; } + std::optional getPruneHeight() override + { + LOCK(chainman().GetMutex()); + return GetPruneHeight(chainman().m_blockman, chainman().ActiveChain()); + } bool isReadyToBroadcast() override { return !chainman().m_blockman.LoadingBlocks() && !isInitialBlockDownload(); } bool isInitialBlockDownload() override {