@@ -33,7 +33,6 @@ namespace llmq {
3333class CInstantSendManager ;
3434class CQuorumManager ;
3535class CSigningManager ;
36- class CSigSharesManager ;
3736enum class VerifyRecSigStatus ;
3837
3938class CChainLocksHandler final : public chainlock::ChainLockSignerParent
@@ -47,7 +46,7 @@ class CChainLocksHandler final : public chainlock::ChainLockSignerParent
4746 std::unique_ptr<CScheduler> scheduler;
4847 std::unique_ptr<std::thread> scheduler_thread;
4948
50- std::unique_ptr< chainlock::ChainLockSigner> m_signer{nullptr };
49+ chainlock::ChainLockSigner* m_signer{nullptr };
5150
5251 mutable Mutex cs;
5352 std::atomic<bool > tryLockChainTipScheduled{false };
@@ -68,10 +67,17 @@ class CChainLocksHandler final : public chainlock::ChainLockSignerParent
6867
6968public:
7069 explicit CChainLocksHandler (CChainState& chainstate, CQuorumManager& _qman, CSigningManager& _sigman,
71- CSigSharesManager& _shareman, CSporkManager& sporkman, CTxMemPool& _mempool,
72- const CMasternodeSync& mn_sync, bool is_masternode);
70+ CSporkManager& sporkman, CTxMemPool& _mempool, const CMasternodeSync& mn_sync);
7371 ~CChainLocksHandler ();
7472
73+ void ConnectSigner (gsl::not_null<chainlock::ChainLockSigner*> signer)
74+ {
75+ // Prohibit double initialization
76+ assert (m_signer == nullptr );
77+ m_signer = signer;
78+ }
79+ void DisconnectSigner () { m_signer = nullptr ; }
80+
7581 void Start (const llmq::CInstantSendManager& isman);
7682 void Stop ();
7783
0 commit comments