Skip to content

Commit d7e1026

Browse files
committed
fix: CSigningSharesManager supposed to use _active_ chain but not the chain that has been active during it's creation
1 parent f6e8bcf commit d7e1026

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

src/active/context.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ ActiveContext::ActiveContext(CBLSWorker& bls_worker, ChainstateManager& chainman
3838
nodeman{std::make_unique<CActiveMasternodeManager>(connman, dmnman, operator_sk)},
3939
dkgdbgman{std::make_unique<llmq::CDKGDebugManager>()},
4040
qdkgsman{std::make_unique<llmq::CDKGSessionManager>(dmnman, qsnapman, chainman, sporkman, db_params, quorums_watch)},
41-
shareman{std::make_unique<llmq::CSigSharesManager>(connman, chainman.ActiveChainstate(), sigman, peerman, *nodeman,
42-
qman, sporkman)},
41+
shareman{std::make_unique<llmq::CSigSharesManager>(connman, chainman, sigman, peerman, *nodeman, qman, sporkman)},
4342
gov_signer{std::make_unique<GovernanceSigner>(connman, dmnman, govman, *nodeman, chainman, mn_sync)},
4443
ehf_sighandler{std::make_unique<llmq::CEHFSignalsHandler>(chainman, mnhfman, sigman, *shareman, qman)},
4544
qman_handler{std::make_unique<llmq::QuorumParticipant>(bls_worker, connman, dmnman, qman, qsnapman, *nodeman, chainman,

src/llmq/signing_shares.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,11 @@ void CSigSharesNodeState::RemoveSession(const uint256& signHash)
180180

181181
//////////////////////
182182

183-
CSigSharesManager::CSigSharesManager(CConnman& connman, CChainState& chainstate, CSigningManager& _sigman,
183+
CSigSharesManager::CSigSharesManager(CConnman& connman, const ChainstateManager& chainman, CSigningManager& _sigman,
184184
PeerManager& peerman, const CActiveMasternodeManager& mn_activeman,
185185
const CQuorumManager& _qman, const CSporkManager& sporkman) :
186186
m_connman{connman},
187-
m_chainstate{chainstate},
187+
m_chainman{chainman},
188188
sigman{_sigman},
189189
m_peerman{peerman},
190190
m_mn_activeman{mn_activeman},
@@ -719,7 +719,7 @@ bool CSigSharesManager::AsyncSignIfMember(Consensus::LLMQType llmqType, CSigning
719719
// the quorum list and no recovered signature has been created in the mean time
720720
const auto& llmq_params_opt = Params().GetLLMQ(llmqType);
721721
assert(llmq_params_opt.has_value());
722-
return SelectQuorumForSigning(llmq_params_opt.value(), m_chainstate.m_chain, qman, id);
722+
return SelectQuorumForSigning(llmq_params_opt.value(), m_chainman.ActiveChain(), qman, id);
723723
} else {
724724
return qman.GetQuorum(llmqType, quorumHash);
725725
}

src/llmq/signing_shares.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include <vector>
2929

3030
class CActiveMasternodeManager;
31+
class ChainstateManager;
3132
class CNode;
3233
class CConnman;
3334
class CDeterministicMN;
@@ -408,7 +409,7 @@ class CSigSharesManager : public llmq::CRecoveredSigsListener
408409
FastRandomContext rnd GUARDED_BY(cs);
409410

410411
CConnman& m_connman;
411-
CChainState& m_chainstate;
412+
const ChainstateManager& m_chainman;
412413
CSigningManager& sigman;
413414
PeerManager& m_peerman;
414415
const CActiveMasternodeManager& m_mn_activeman;
@@ -422,7 +423,7 @@ class CSigSharesManager : public llmq::CRecoveredSigsListener
422423
CSigSharesManager() = delete;
423424
CSigSharesManager(const CSigSharesManager&) = delete;
424425
CSigSharesManager& operator=(const CSigSharesManager&) = delete;
425-
explicit CSigSharesManager(CConnman& connman, CChainState& chainstate, CSigningManager& _sigman,
426+
explicit CSigSharesManager(CConnman& connman, const ChainstateManager& chainman, CSigningManager& _sigman,
426427
PeerManager& peerman, const CActiveMasternodeManager& mn_activeman,
427428
const CQuorumManager& _qman, const CSporkManager& sporkman);
428429
~CSigSharesManager() override;

0 commit comments

Comments
 (0)