44
55#include < llmq/net_signing.h>
66
7- #include < llmq/commitment.h>
8- #include < llmq/quorums.h>
97#include < llmq/signhash.h>
108#include < llmq/signing.h>
119
@@ -78,10 +76,10 @@ bool NetSigning::ProcessPendingRecoveredSigs()
7876 }
7977
8078 std::unordered_map<NodeId, std::list<std::shared_ptr<const llmq::CRecoveredSig>>> recSigsByNode;
81- std::unordered_map<std::pair<Consensus::LLMQType, uint256>, llmq::CQuorumCPtr , StaticSaltedHasher> quorums ;
79+ std::unordered_map<std::pair<Consensus::LLMQType, uint256>, CBLSPublicKey , StaticSaltedHasher> pubkeys ;
8280
8381 const size_t nMaxBatchSize{32 };
84- bool more_work = m_sig_manager.CollectPendingRecoveredSigsToVerify (nMaxBatchSize, recSigsByNode, quorums );
82+ bool more_work = m_sig_manager.CollectPendingRecoveredSigsToVerify (nMaxBatchSize, recSigsByNode, pubkeys );
8583 if (recSigsByNode.empty ()) {
8684 return false ;
8785 }
@@ -91,20 +89,16 @@ bool NetSigning::ProcessPendingRecoveredSigs()
9189 CBLSBatchVerifier<NodeId, uint256> batchVerifier (false , false );
9290
9391 size_t verifyCount = 0 ;
94- for (const auto & p : recSigsByNode) {
95- NodeId nodeId = p.first ;
96- const auto & v = p.second ;
97-
92+ for (const auto & [nodeId, v] : recSigsByNode) {
9893 for (const auto & recSig : v) {
9994 // we didn't verify the lazy signature until now
10095 if (!recSig->sig .Get ().IsValid ()) {
10196 batchVerifier.badSources .emplace (nodeId);
10297 break ;
10398 }
10499
105- const auto & quorum = quorums.at (std::make_pair (recSig->getLlmqType (), recSig->getQuorumHash ()));
106- batchVerifier.PushMessage (nodeId, recSig->GetHash (), recSig->buildSignHash ().Get (), recSig->sig .Get (),
107- quorum->qc ->quorumPublicKey );
100+ const auto & pubkey = pubkeys.at (std::make_pair (recSig->getLlmqType (), recSig->getQuorumHash ()));
101+ batchVerifier.PushMessage (nodeId, recSig->GetHash (), recSig->buildSignHash ().Get (), recSig->sig .Get (), pubkey);
108102 verifyCount++;
109103 }
110104 }
@@ -117,10 +111,7 @@ bool NetSigning::ProcessPendingRecoveredSigs()
117111 verifyCount, verifyTimer.count (), recSigsByNode.size ());
118112
119113 Uint256HashSet processed;
120- for (const auto & p : recSigsByNode) {
121- NodeId nodeId = p.first ;
122- const auto & v = p.second ;
123-
114+ for (const auto & [nodeId, v] : recSigsByNode) {
124115 if (batchVerifier.badSources .count (nodeId)) {
125116 LogPrint (BCLog::LLMQ, " NetSigning::%s -- invalid recSig from other node, banning peer=%d\n " , __func__, nodeId);
126117 m_peer_manager->PeerMisbehaving (nodeId, 100 );
0 commit comments