From 438708e9cf885b5ff20b8c5751c464ad305bb7ad Mon Sep 17 00:00:00 2001 From: pasta Date: Wed, 7 Oct 2026 02:06:01 -0500 Subject: [PATCH] fix: gate signing intake before quorum retrieval Co-Authored-By: Claude Opus 5.5 (1M context) --- src/llmq/signing_shares.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/llmq/signing_shares.cpp b/src/llmq/signing_shares.cpp index 2d6bf9dac87a..a26179e7d24c 100644 --- a/src/llmq/signing_shares.cpp +++ b/src/llmq/signing_shares.cpp @@ -255,6 +255,10 @@ bool CSigSharesManager::ProcessMessageSigSesAnn(const CNode& pfrom, const CSigSe LogPrint(BCLog::LLMQ_SIGS, "CSigSharesManager::%s -- ann={%s}, node=%d\n", __func__, ann.ToString(), pfrom.GetId()); + if (!IsQuorumActive(llmqType, qman, ann.getQuorumHash())) { + return true; + } + auto quorum = qman.GetQuorum(llmqType, ann.getQuorumHash()); if (!quorum) { // TODO should we ban here? @@ -434,6 +438,10 @@ bool CSigSharesManager::ProcessMessageBatchedSigShares(const CNode& pfrom, const bool CSigSharesManager::ProcessMessageSigShare(NodeId fromId, const CSigShare& sigShare) { + if (!IsQuorumActive(sigShare.getLlmqType(), qman, sigShare.getQuorumHash())) { + return true; + } + auto quorum = qman.GetQuorum(sigShare.getLlmqType(), sigShare.getQuorumHash()); if (!quorum) { return true;