Skip to content

Commit ac934eb

Browse files
committed
refactor: pass CDeterministicMNList instead of CDeterministicMNManager to BuildNewQuorumQuarterMembers
1 parent ce682f2 commit ac934eb

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/llmq/utils.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ static std::vector<std::vector<CDeterministicMNCPtr>> ComputeQuorumMembersByQuar
6363
const CBlockIndex* pCycleQuorumBaseBlockIndex);
6464

6565
static 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

6969
static 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

417417
std::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

Comments
 (0)