1818
1919#include < unordered_map>
2020
21- static bool PreVerifyRecoveredSig (Consensus::LLMQType& llmqType, const llmq::CQuorumManager& quorum_manager,
22- const llmq::CRecoveredSig& recoveredSig)
23- {
24- auto quorum = quorum_manager.GetQuorum (llmqType, recoveredSig.getQuorumHash ());
25-
26- if (!quorum) {
27- LogPrint (BCLog::LLMQ, " NetSigning::%s -- quorum %s not found\n " , __func__, recoveredSig.getQuorumHash ().ToString ());
28- return false ;
29- }
30- if (!llmq::IsQuorumActive (llmqType, quorum_manager, quorum->qc ->quorumHash )) {
31- return false ;
32- }
33-
34- return true ;
35- }
36-
3721void NetSigning::ProcessMessage (CNode& pfrom, const std::string& msg_type, CDataStream& vRecv)
3822{
3923 if (msg_type != NetMsgType::QSIGREC) return ;
@@ -44,15 +28,11 @@ void NetSigning::ProcessMessage(CNode& pfrom, const std::string& msg_type, CData
4428 WITH_LOCK (cs_main, m_peer_manager->PeerEraseObjectRequest (pfrom.GetId (),
4529 CInv{MSG_QUORUM_RECOVERED_SIG, recoveredSig->GetHash ()}));
4630
47- auto llmqType = recoveredSig->getLlmqType ();
48- if (!Params ().GetLLMQ (llmqType).has_value ()) {
31+ if (!Params ().GetLLMQ (recoveredSig->getLlmqType ()).has_value ()) {
4932 m_peer_manager->PeerMisbehaving (pfrom.GetId (), 100 );
5033 }
51- if (!PreVerifyRecoveredSig (llmqType, m_sig_manager.Qman (), *recoveredSig)) {
52- return ;
53- }
5434
55- m_sig_manager.ProcessRecoveredSig (pfrom.GetId (), std::move (recoveredSig));
35+ m_sig_manager.VerifyAndProcessRecoveredSig (pfrom.GetId (), std::move (recoveredSig));
5636}
5737
5838void NetSigning::Start ()
0 commit comments