Skip to content

Commit

Permalink
refactor: move call GetQuorumMembers inside Init()
Browse files Browse the repository at this point in the history
  • Loading branch information
knst committed Sep 20, 2024
1 parent d4fa64d commit af64e15
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
13 changes: 12 additions & 1 deletion src/llmq/dkgsession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,19 @@ CDKGMember::CDKGMember(const CDeterministicMNCPtr& _dmn, size_t _idx) :

}

bool CDKGSession::Init(Span<CDeterministicMNCPtr> mns, const uint256& _myProTxHash, int _quorumIndex)
CDKGSession::CDKGSession(const CBlockIndex* pQuorumBaseBlockIndex, const Consensus::LLMQParams& _params, CBLSWorker& _blsWorker, CConnman& _connman,
CDeterministicMNManager& dmnman, CDKGSessionManager& _dkgManager, CDKGDebugManager& _dkgDebugManager,
CMasternodeMetaMan& mn_metaman, const CActiveMasternodeManager* const mn_activeman,
const CSporkManager& sporkman) :
params(_params), blsWorker(_blsWorker), cache(_blsWorker), connman(_connman), m_dmnman(dmnman), dkgManager(_dkgManager),
dkgDebugManager(_dkgDebugManager), m_mn_metaman(mn_metaman), m_mn_activeman(mn_activeman), m_sporkman(sporkman),
m_quorum_base_block_index{pQuorumBaseBlockIndex}
{
}

bool CDKGSession::Init(const uint256& _myProTxHash, int _quorumIndex)
{
const auto mns = utils::GetAllQuorumMembers(params.type, m_dmnman, m_quorum_base_block_index);
quorumIndex = _quorumIndex;
members.resize(mns.size());
memberIds.resize(members.size());
Expand Down
8 changes: 2 additions & 6 deletions src/llmq/dkgsession.h
Original file line number Diff line number Diff line change
Expand Up @@ -329,14 +329,10 @@ class CDKGSession
CDKGSession(const CBlockIndex* pQuorumBaseBlockIndex, const Consensus::LLMQParams& _params, CBLSWorker& _blsWorker, CConnman& _connman,
CDeterministicMNManager& dmnman, CDKGSessionManager& _dkgManager, CDKGDebugManager& _dkgDebugManager,
CMasternodeMetaMan& mn_metaman, const CActiveMasternodeManager* const mn_activeman,
const CSporkManager& sporkman) :
params(_params), blsWorker(_blsWorker), cache(_blsWorker), connman(_connman), m_dmnman(dmnman), dkgManager(_dkgManager),
dkgDebugManager(_dkgDebugManager), m_mn_metaman(mn_metaman), m_mn_activeman(mn_activeman), m_sporkman(sporkman),
m_quorum_base_block_index{pQuorumBaseBlockIndex}
{}
const CSporkManager& sporkman);

// TODO: remove Init completely
bool Init(Span<CDeterministicMNCPtr> mns, const uint256& _myProTxHash, int _quorumIndex);
bool Init(const uint256& _myProTxHash, int _quorumIndex);

[[nodiscard]] std::optional<size_t> GetMyMemberIndex() const { return myIdx; }

Expand Down
5 changes: 2 additions & 3 deletions src/llmq/dkgsessionhandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -194,11 +194,10 @@ bool CDKGSessionHandler::InitNewQuorum(const CBlockIndex* pQuorumBaseBlockIndex)
return false;
}

auto mns = utils::GetAllQuorumMembers(params.type, m_dmnman, pQuorumBaseBlockIndex);
curSession = std::make_unique<CDKGSession>(pQuorumBaseBlockIndex, params, blsWorker, connman, m_dmnman, dkgManager, dkgDebugManager, m_mn_metaman, m_mn_activeman, m_sporkman);

if (!curSession->Init(mns, m_mn_activeman->GetProTxHash(), quorumIndex)) {
LogPrintf("CDKGSessionManager::%s -- height[%d] quorum initialization failed for %s qi[%d] mns[%d]\n", __func__, pQuorumBaseBlockIndex->nHeight, curSession->params.name, quorumIndex, mns.size());
if (!curSession->Init(m_mn_activeman->GetProTxHash(), quorumIndex)) {
LogPrintf("CDKGSessionManager::%s -- height[%d] quorum initialization failed for %s qi[%d]\n", __func__, pQuorumBaseBlockIndex->nHeight, curSession->params.name, quorumIndex);
return false;
}

Expand Down

0 comments on commit af64e15

Please sign in to comment.