Skip to content

Commit

Permalink
Re-verify invalid IS sigs when the active quorum set rotated (dashpay…
Browse files Browse the repository at this point in the history
…#3052)

* Split ProcessPendingInstantSendLocks into two methods

* Split SelectQuorumForSigning into SelectQuorumForSigning and GetActiveQuorumSet

* Implement retrying of IS lock verification when the LLMQ active set rotates
  • Loading branch information
codablock authored and barrystyle committed Jan 22, 2020
1 parent 62fdfba commit 435f87e
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/llmq/quorums_instantsend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -744,7 +744,7 @@ bool CInstantSendManager::ProcessPendingInstantSendLocks()
tipHeight = chainActive.Height();
}

auto llmqType = Params().GetConsensus().llmqForInstaPAC;
auto llmqType = Params().GetConsensus().llmqForInstantSend;

// Every time a new quorum enters the active set, an older one is removed. This means that between two blocks, the
// active set can be different, leading to different selection of the signing quorum. When we detect such rotation
Expand Down Expand Up @@ -780,7 +780,7 @@ bool CInstantSendManager::ProcessPendingInstantSendLocks()

std::unordered_set<uint256> CInstantSendManager::ProcessPendingInstantSendLocks(int signHeight, const std::unordered_map<uint256, std::pair<NodeId, CInstantSendLock>>& pend, bool ban)
{
auto llmqType = Params().GetConsensus().llmqForInstaPAC;
auto llmqType = Params().GetConsensus().llmqForInstantSend;

CBLSBatchVerifier<NodeId, uint256> batchVerifier(false, true, 8);
std::unordered_map<uint256, std::pair<CQuorumCPtr, CRecoveredSig>> recSigs;
Expand Down

0 comments on commit 435f87e

Please sign in to comment.