From 9eb0ca7040b913cdf55208935c1a00670e527c92 Mon Sep 17 00:00:00 2001 From: Alexander Block Date: Fri, 1 Mar 2019 16:30:11 +0100 Subject: [PATCH] Ignore sig share inv messages when we don't have the quorum vvec (#2733) * Ignore sig share inv messages when we don't have the quorum vvec * Update src/llmq/quorums_signing_shares.cpp Co-Authored-By: codablock --- src/llmq/quorums_signing_shares.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/llmq/quorums_signing_shares.cpp b/src/llmq/quorums_signing_shares.cpp index bb04aaa2b..b2478d5dd 100644 --- a/src/llmq/quorums_signing_shares.cpp +++ b/src/llmq/quorums_signing_shares.cpp @@ -354,6 +354,13 @@ bool CSigSharesManager::ProcessMessageSigSharesInv(CNode* pfrom, const CSigShare LogPrint("llmq", "CSigSharesManager::%s -- signHash=%s, inv={%s}, node=%d\n", __func__, sessionInfo.signHash.ToString(), inv.ToString(), pfrom->id); + if (sessionInfo.quorum->quorumVvec == nullptr) { + // TODO we should allow to ask other nodes for the quorum vvec if we missed it in the DKG + LogPrintf("CSigSharesManager::%s -- we don't have the quorum vvec for %s, not requesting sig shares. node=%d\n", __func__, + sessionInfo.quorumHash.ToString(), pfrom->id); + return true; + } + LOCK(cs); auto& nodeState = nodeStates[pfrom->id]; auto session = nodeState.GetSessionByRecvId(inv.sessionId);