Skip to content

Commit 8b5b959

Browse files
committed
fix: assert in signing_shares - amount of members can match with amount of attempts
1 parent d754799 commit 8b5b959

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/llmq/signing_shares.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ void CSigSharesManager::TryRecoverSig(const CQuorumCPtr& quorum, const uint256&
809809

810810
CDeterministicMNCPtr CSigSharesManager::SelectMemberForRecovery(const CQuorumCPtr& quorum, const uint256 &id, size_t attempt)
811811
{
812-
assert(size_t(attempt) < quorum->members.size());
812+
assert(size_t(attempt) <= quorum->members.size());
813813

814814
std::vector<std::pair<uint256, CDeterministicMNCPtr>> v;
815815
v.reserve(quorum->members.size());
@@ -819,7 +819,7 @@ CDeterministicMNCPtr CSigSharesManager::SelectMemberForRecovery(const CQuorumCPt
819819
}
820820
std::sort(v.begin(), v.end());
821821

822-
return v[attempt].second;
822+
return v[attempt % v.size()].second;
823823
}
824824

825825
void CSigSharesManager::CollectSigSharesToRequest(std::unordered_map<NodeId, std::unordered_map<uint256, CSigSharesInv, StaticSaltedHasher>>& sigSharesToRequest)

0 commit comments

Comments
 (0)