Skip to content

Commit 790ae0f

Browse files
committed
refactor: use CDeterministicMNList instead of CDeterministicMNManager in ComputeQuorumMembers
1 parent ac934eb commit 790ae0f

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/llmq/utils.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ struct PreviousQuorumQuarters {
5656
};
5757

5858
// Forward declarations
59-
static std::vector<CDeterministicMNCPtr> ComputeQuorumMembers(Consensus::LLMQType llmqType, CDeterministicMNManager& dmnman,
59+
static std::vector<CDeterministicMNCPtr> ComputeQuorumMembers(Consensus::LLMQType llmqType,
60+
const CDeterministicMNList& mn_list,
6061
const CBlockIndex* pQuorumBaseBlockIndex);
6162
static std::vector<std::vector<CDeterministicMNCPtr>> ComputeQuorumMembersByQuarterRotation(
6263
const Consensus::LLMQParams& llmqParams, CDeterministicMNManager& dmnman, CQuorumSnapshotManager& qsnapman,
@@ -271,15 +272,19 @@ std::vector<CDeterministicMNCPtr> GetAllQuorumMembers(Consensus::LLMQType llmqTy
271272
std::move(q[i]));
272273
}
273274
} else {
274-
quorumMembers = ComputeQuorumMembers(llmqType, dmnman, pQuorumBaseBlockIndex);
275+
const CBlockIndex* pWorkBlockIndex = IsV20Active(pQuorumBaseBlockIndex)
276+
? pQuorumBaseBlockIndex->GetAncestor(pQuorumBaseBlockIndex->nHeight - 8)
277+
: pQuorumBaseBlockIndex.get();
278+
CDeterministicMNList mn_list = dmnman.GetListForBlock(pWorkBlockIndex);
279+
quorumMembers = ComputeQuorumMembers(llmqType, mn_list, pQuorumBaseBlockIndex);
275280
}
276281

277282
LOCK(cs_members);
278283
mapQuorumMembers[llmqType].insert(pQuorumBaseBlockIndex->GetBlockHash(), quorumMembers);
279284
return quorumMembers;
280285
}
281286

282-
std::vector<CDeterministicMNCPtr> ComputeQuorumMembers(Consensus::LLMQType llmqType, CDeterministicMNManager& dmnman,
287+
std::vector<CDeterministicMNCPtr> ComputeQuorumMembers(Consensus::LLMQType llmqType, const CDeterministicMNList& mn_list,
283288
const CBlockIndex* pQuorumBaseBlockIndex)
284289
{
285290
bool EvoOnly = (Params().GetConsensus().llmqTypePlatform == llmqType) && IsV19Active(pQuorumBaseBlockIndex);
@@ -290,12 +295,8 @@ std::vector<CDeterministicMNCPtr> ComputeQuorumMembers(Consensus::LLMQType llmqT
290295
return {};
291296
}
292297

293-
const CBlockIndex* pWorkBlockIndex = IsV20Active(pQuorumBaseBlockIndex) ?
294-
pQuorumBaseBlockIndex->GetAncestor(pQuorumBaseBlockIndex->nHeight - 8) :
295-
pQuorumBaseBlockIndex;
296298
const auto modifier = GetHashModifier(llmq_params_opt.value(), pQuorumBaseBlockIndex);
297-
auto allMns = dmnman.GetListForBlock(pWorkBlockIndex);
298-
return CalculateQuorum(allMns, modifier, llmq_params_opt->size, EvoOnly);
299+
return CalculateQuorum(mn_list, modifier, llmq_params_opt->size, EvoOnly);
299300
}
300301

301302
std::vector<std::vector<CDeterministicMNCPtr>> ComputeQuorumMembersByQuarterRotation(

0 commit comments

Comments
 (0)