diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index 3395741b1be..d40bd09e2d6 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -35,7 +35,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: @@ -60,6 +62,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 171f15d4fb9..552a1b8dc70 100644 --- a/src/node/interfaces.cpp +++ b/src/node/interfaces.cpp @@ -345,6 +345,7 @@ bool FillBlock(const CBlockIndex* index, const FoundBlock& block, UniqueLockSetNull(); } + block.found = true; return true; }