1212#include < threadsafety.h>
1313#include < util/threadinterrupt.h>
1414
15+ #include < instantsend/signing.h>
1516#include < instantsend/db.h>
1617#include < instantsend/lock.h>
1718#include < unordered_lru_cache.h>
@@ -43,7 +44,7 @@ class CQuorumManager;
4344class CSigningManager ;
4445class CSigSharesManager ;
4546
46- class CInstantSendManager
47+ class CInstantSendManager final : public instantsend::InstantSendStorage
4748{
4849private:
4950 instantsend::CInstantSendDb db;
@@ -128,9 +129,9 @@ class CInstantSendManager
128129 EXCLUSIVE_LOCKS_REQUIRED(!cs_nonLocked, !cs_pendingRetry);
129130
130131public:
131- bool IsLocked (const uint256& txHash) const ;
132+ bool IsLocked (const uint256& txHash) const override ;
132133 bool IsWaitingForTx (const uint256& txHash) const EXCLUSIVE_LOCKS_REQUIRED(!cs_pendingLocks);
133- instantsend::InstantSendLockPtr GetConflictingLock (const CTransaction& tx) const ;
134+ instantsend::InstantSendLockPtr GetConflictingLock (const CTransaction& tx) const override ;
134135
135136 PeerMsgRet ProcessMessage (const CNode& pfrom, PeerManager& peerman, std::string_view msg_type, CDataStream& vRecv);
136137
@@ -152,12 +153,12 @@ class CInstantSendManager
152153 EXCLUSIVE_LOCKS_REQUIRED(!cs_nonLocked, !cs_pendingRetry);
153154
154155 void RemoveConflictingLock (const uint256& islockHash, const instantsend::InstantSendLock& islock);
155- void TryEmplacePendingLock (const uint256& hash, const NodeId id, const instantsend::InstantSendLockPtr& islock)
156+ void TryEmplacePendingLock (const uint256& hash, const NodeId id, const instantsend::InstantSendLockPtr& islock) override
156157 EXCLUSIVE_LOCKS_REQUIRED(!cs_pendingLocks);
157158
158159 size_t GetInstantSendLockCount () const ;
159160
160- bool IsInstantSendEnabled () const ;
161+ bool IsInstantSendEnabled () const override ;
161162 /* *
162163 * If true, MN should sign all transactions, if false, MN should not sign
163164 * transactions in mempool, but should sign txes included in a block. This
0 commit comments