diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index c162eecf3c..85b1e2fa69 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -37,7 +37,9 @@ namespace interfaces { class Handler; class Wallet; -//! Helper for findBlock to selectively return pieces of block data. +//! Helper for findBlock to selectively return pieces of block data. If block is +//! found, data will be returned by setting specified output variables. If block +//! is not found, output variables will keep their previous values. class FoundBlock { public: @@ -62,6 +64,7 @@ public: bool* m_in_active_chain = nullptr; const FoundBlock* m_next_block = nullptr; CBlock* m_data = nullptr; + mutable bool found = false; }; //! Interface giving clients (wallet processes, maybe other analysis tools in diff --git a/src/node/interfaces.cpp b/src/node/interfaces.cpp index 4748de7a44..a63a8992de 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -334,6 +334,7 @@ bool FillBlock(const CBlockIndex* index, const FoundBlock& block, UniqueLockSetNull(); } + block.found = true; return true; }