@@ -63,7 +63,7 @@ static std::vector<std::vector<CDeterministicMNCPtr>> ComputeQuorumMembersByQuar
6363 const CBlockIndex* pCycleQuorumBaseBlockIndex);
6464
6565static std::vector<std::vector<CDeterministicMNCPtr>> BuildNewQuorumQuarterMembers (
66- const Consensus::LLMQParams& llmqParams, CDeterministicMNManager & dmnman, CQuorumSnapshotManager& qsnapman,
66+ const Consensus::LLMQParams& llmqParams, const CDeterministicMNList & dmnman, CQuorumSnapshotManager& qsnapman,
6767 const CBlockIndex* pCycleQuorumBaseBlockIndex, const PreviousQuorumQuarters& previousQuarters);
6868
6969static PreviousQuorumQuarters GetPreviousQuorumQuarterMembers (const Consensus::LLMQParams& llmqParams,
@@ -314,7 +314,7 @@ std::vector<std::vector<CDeterministicMNCPtr>> ComputeQuorumMembersByQuarterRota
314314 const CBlockIndex* pBlockHMinus2CIndex = pCycleQuorumBaseBlockIndex->GetAncestor (pCycleQuorumBaseBlockIndex->nHeight - 2 * cycleLength);
315315 const CBlockIndex* pBlockHMinus3CIndex = pCycleQuorumBaseBlockIndex->GetAncestor (pCycleQuorumBaseBlockIndex->nHeight - 3 * cycleLength);
316316 const CBlockIndex* pWorkBlockIndex = pCycleQuorumBaseBlockIndex->GetAncestor (pCycleQuorumBaseBlockIndex->nHeight - 8 );
317- auto allMns = dmnman.GetListForBlock (pWorkBlockIndex);
317+ CDeterministicMNList allMns = dmnman.GetListForBlock (pWorkBlockIndex);
318318 LogPrint (BCLog::LLMQ, " ComputeQuorumMembersByQuarterRotation llmqType[%d] nHeight[%d] allMns[%d]\n " , ToUnderlying (llmqType), pCycleQuorumBaseBlockIndex->nHeight , allMns.GetValidMNsCount ());
319319
320320 PreviousQuorumQuarters previousQuarters = GetPreviousQuorumQuarterMembers (llmqParams, dmnman, qsnapman,
@@ -325,7 +325,7 @@ std::vector<std::vector<CDeterministicMNCPtr>> ComputeQuorumMembersByQuarterRota
325325 size_t nQuorums = static_cast <size_t >(llmqParams.signingActiveQuorumCount );
326326 std::vector<std::vector<CDeterministicMNCPtr>> quorumMembers{nQuorums};
327327
328- auto newQuarterMembers = BuildNewQuorumQuarterMembers (llmqParams, dmnman , qsnapman, pCycleQuorumBaseBlockIndex,
328+ auto newQuarterMembers = BuildNewQuorumQuarterMembers (llmqParams, allMns , qsnapman, pCycleQuorumBaseBlockIndex,
329329 previousQuarters);
330330 // TODO Check if it is triggered from outside (P2P, block validation). Throwing an exception is probably a wiser choice
331331 // assert (!newQuarterMembers.empty());
@@ -415,7 +415,7 @@ PreviousQuorumQuarters GetPreviousQuorumQuarterMembers(const Consensus::LLMQPara
415415}
416416
417417std::vector<std::vector<CDeterministicMNCPtr>> BuildNewQuorumQuarterMembers (
418- const Consensus::LLMQParams& llmqParams, CDeterministicMNManager& dmnman , CQuorumSnapshotManager& qsnapman,
418+ const Consensus::LLMQParams& llmqParams, const CDeterministicMNList& allMns , CQuorumSnapshotManager& qsnapman,
419419 const CBlockIndex* pCycleQuorumBaseBlockIndex, const PreviousQuorumQuarters& previousQuarters)
420420{
421421 if (!llmqParams.useRotation || pCycleQuorumBaseBlockIndex->nHeight % llmqParams.dkgInterval != 0 ) {
@@ -428,10 +428,8 @@ std::vector<std::vector<CDeterministicMNCPtr>> BuildNewQuorumQuarterMembers(
428428
429429 size_t quorumSize = static_cast <size_t >(llmqParams.size );
430430 auto quarterSize{quorumSize / 4 };
431- const CBlockIndex* pWorkBlockIndex = pCycleQuorumBaseBlockIndex->GetAncestor (pCycleQuorumBaseBlockIndex->nHeight - 8 );
432431 const auto modifier = GetHashModifier (llmqParams, pCycleQuorumBaseBlockIndex);
433432
434- auto allMns = dmnman.GetListForBlock (pWorkBlockIndex);
435433
436434 if (allMns.GetValidMNsCount () < quarterSize) {
437435 return quarterQuorumMembers;
0 commit comments