@@ -757,14 +757,14 @@ void CSigSharesManager::ProcessSigShare(PeerManager& peerman, const CSigShare& s
757757    }
758758
759759    if  (canTryRecovery) {
760-         TryRecoverSig (peerman, quorum, sigShare.getId (), sigShare.getMsgHash ());
760+         TryRecoverSig (peerman, * quorum, sigShare.getId (), sigShare.getMsgHash ());
761761    }
762762}
763763
764- void  CSigSharesManager::TryRecoverSig (PeerManager& peerman, const  CQuorumCPtr & quorum, const  uint256& id,
764+ void  CSigSharesManager::TryRecoverSig (PeerManager& peerman, const  CQuorum & quorum, const  uint256& id,
765765                                      const  uint256& msgHash)
766766{
767-     if  (sigman.HasRecoveredSigForId (quorum-> params .type , id)) {
767+     if  (sigman.HasRecoveredSigForId (quorum. params .type , id)) {
768768        return ;
769769    }
770770
@@ -773,13 +773,13 @@ void CSigSharesManager::TryRecoverSig(PeerManager& peerman, const CQuorumCPtr& q
773773    {
774774        LOCK (cs);
775775
776-         auto  signHash = SignHash (quorum-> params .type , quorum-> qc ->quorumHash , id, msgHash).Get ();
776+         auto  signHash = SignHash (quorum. params .type , quorum. qc ->quorumHash , id, msgHash).Get ();
777777        const  auto * sigSharesForSignHash = sigShares.GetAllForSignHash (signHash);
778778        if  (sigSharesForSignHash == nullptr ) {
779779            return ;
780780        }
781781
782-         if  (quorum-> params .size  == 1 ) {
782+         if  (quorum. params .size  == 1 ) {
783783            if  (sigSharesForSignHash->empty ()) {
784784                LogPrint (BCLog::LLMQ_SIGS, /*  Continued */ 
785785                         " CSigSharesManager::%s -- impossible to recover single-node signature - no shares yet. id=%s, " 
@@ -792,22 +792,22 @@ void CSigSharesManager::TryRecoverSig(PeerManager& peerman, const CQuorumCPtr& q
792792            LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- recover single-node signature. id=%s, msgHash=%s\n " 
793793                     __func__, id.ToString (), msgHash.ToString ());
794794
795-             auto  rs = std::make_shared<CRecoveredSig>(quorum-> params .type , quorum-> qc ->quorumHash , id, msgHash,
795+             auto  rs = std::make_shared<CRecoveredSig>(quorum. params .type , quorum. qc ->quorumHash , id, msgHash,
796796                                                      recoveredSig);
797797            sigman.ProcessRecoveredSig (rs, peerman);
798798            return ; //  end of single-quorum processing
799799        }
800800
801-         sigSharesForRecovery.reserve ((size_t ) quorum-> params .threshold );
802-         idsForRecovery.reserve ((size_t ) quorum-> params .threshold );
803-         for  (auto  it = sigSharesForSignHash->begin (); it != sigSharesForSignHash->end () && sigSharesForRecovery.size () < size_t (quorum-> params .threshold ); ++it) {
801+         sigSharesForRecovery.reserve ((size_t ) quorum. params .threshold );
802+         idsForRecovery.reserve ((size_t ) quorum. params .threshold );
803+         for  (auto  it = sigSharesForSignHash->begin (); it != sigSharesForSignHash->end () && sigSharesForRecovery.size () < size_t (quorum. params .threshold ); ++it) {
804804            const  auto & sigShare = it->second ;
805805            sigSharesForRecovery.emplace_back (sigShare.sigShare .Get ());
806-             idsForRecovery.emplace_back (quorum-> members [sigShare.getQuorumMember ()]->proTxHash );
806+             idsForRecovery.emplace_back (quorum. members [sigShare.getQuorumMember ()]->proTxHash );
807807        }
808808
809809        //  check if we can recover the final signature
810-         if  (sigSharesForRecovery.size () < size_t (quorum-> params .threshold )) {
810+         if  (sigSharesForRecovery.size () < size_t (quorum. params .threshold )) {
811811            return ;
812812        }
813813    }
@@ -824,14 +824,14 @@ void CSigSharesManager::TryRecoverSig(PeerManager& peerman, const CQuorumCPtr& q
824824    LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- recovered signature. id=%s, msgHash=%s, time=%d\n " 
825825              id.ToString (), msgHash.ToString (), t.count ());
826826
827-     auto  rs = std::make_shared<CRecoveredSig>(quorum-> params .type , quorum-> qc ->quorumHash , id, msgHash, recoveredSig);
827+     auto  rs = std::make_shared<CRecoveredSig>(quorum. params .type , quorum. qc ->quorumHash , id, msgHash, recoveredSig);
828828
829829    //  There should actually be no need to verify the self-recovered signatures as it should always succeed. Let's
830830    //  however still verify it from time to time, so that we have a chance to catch bugs. We do only this sporadic
831831    //  verification because this is unbatched and thus slow verification that happens here.
832832    if  (((recoveredSigsCounter++) % 100 ) == 0 ) {
833833        auto  signHash = rs->buildSignHash ();
834-         bool  valid = recoveredSig.VerifyInsecure (quorum-> qc ->quorumPublicKey , signHash.Get ());
834+         bool  valid = recoveredSig.VerifyInsecure (quorum. qc ->quorumPublicKey , signHash.Get ());
835835        if  (!valid) {
836836            //  this should really not happen as we have verified all signature shares before
837837            LogPrintf (" CSigSharesManager::%s -- own recovered signature is invalid. id=%s, msgHash=%s\n " 
@@ -843,13 +843,13 @@ void CSigSharesManager::TryRecoverSig(PeerManager& peerman, const CQuorumCPtr& q
843843    sigman.ProcessRecoveredSig (rs, peerman);
844844}
845845
846- CDeterministicMNCPtr CSigSharesManager::SelectMemberForRecovery (const  CQuorumCPtr & quorum, const  uint256 &id, int  attempt)
846+ CDeterministicMNCPtr CSigSharesManager::SelectMemberForRecovery (const  CQuorum & quorum, const  uint256 &id, int  attempt)
847847{
848-     assert (attempt < quorum-> params .recoveryMembers );
848+     assert (attempt < quorum. params .recoveryMembers );
849849
850850    std::vector<std::pair<uint256, CDeterministicMNCPtr>> v;
851-     v.reserve (quorum-> members .size ());
852-     for  (const  auto & dmn : quorum-> members ) {
851+     v.reserve (quorum. members .size ());
852+     for  (const  auto & dmn : quorum. members ) {
853853        auto  h = ::SerializeHash (std::make_pair (dmn->proTxHash , id));
854854        v.emplace_back (h, dmn);
855855    }
@@ -1033,7 +1033,7 @@ void CSigSharesManager::CollectSigSharesToSendConcentrated(std::unordered_map<No
10331033            int64_t  waitTime = exp2 (signedSession.attempt ) * EXP_SEND_FOR_RECOVERY_TIMEOUT;
10341034            waitTime = std::min (MAX_SEND_FOR_RECOVERY_TIMEOUT, waitTime);
10351035            signedSession.nextAttemptTime  = curTime + waitTime;
1036-             auto  dmn = SelectMemberForRecovery (signedSession.quorum , signedSession.sigShare .getId (), signedSession.attempt );
1036+             auto  dmn = SelectMemberForRecovery (* signedSession.quorum , signedSession.sigShare .getId (), signedSession.attempt );
10371037            signedSession.attempt ++;
10381038
10391039            LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- signHash=%s, sending to %s, attempt=%d\n " 
@@ -1519,7 +1519,7 @@ void CSigSharesManager::SignPendingSigShares(const CConnman& connman, PeerManage
15191519    WITH_LOCK (cs_pendingSigns, v.swap (pendingSigns));
15201520
15211521    for  (const  auto & [pQuorum, id, msgHash] : v) {
1522-         auto  opt_sigShare = CreateSigShare (pQuorum, id, msgHash);
1522+         auto  opt_sigShare = CreateSigShare (* pQuorum, id, msgHash);
15231523
15241524        if  (opt_sigShare.has_value () && opt_sigShare->sigShare .Get ().IsValid ()) {
15251525            auto  sigShare = *opt_sigShare;
@@ -1537,25 +1537,25 @@ void CSigSharesManager::SignPendingSigShares(const CConnman& connman, PeerManage
15371537    }
15381538}
15391539
1540- std::optional<CSigShare> CSigSharesManager::CreateSigShare (const  CQuorumCPtr & quorum, const  uint256& id, const  uint256& msgHash) const 
1540+ std::optional<CSigShare> CSigSharesManager::CreateSigShare (const  CQuorum & quorum, const  uint256& id, const  uint256& msgHash) const 
15411541{
15421542    assert (m_mn_activeman);
15431543
15441544    cxxtimer::Timer t (true );
15451545    auto  activeMasterNodeProTxHash = m_mn_activeman->GetProTxHash ();
15461546
1547-     if  (!quorum-> IsValidMember (activeMasterNodeProTxHash)) {
1547+     if  (!quorum. IsValidMember (activeMasterNodeProTxHash)) {
15481548        return  std::nullopt ;
15491549    }
15501550
1551-     if  (quorum-> params .size  == 1 ) {
1552-         int  memberIdx = quorum-> GetMemberIndex (activeMasterNodeProTxHash);
1551+     if  (quorum. params .size  == 1 ) {
1552+         int  memberIdx = quorum. GetMemberIndex (activeMasterNodeProTxHash);
15531553        if  (memberIdx == -1 ) {
15541554            //  this should really not happen (IsValidMember gave true)
15551555            return  std::nullopt ;
15561556        }
15571557
1558-         CSigShare sigShare (quorum-> params .type , quorum-> qc ->quorumHash , id, msgHash, uint16_t (memberIdx), {});
1558+         CSigShare sigShare (quorum. params .type , quorum. qc ->quorumHash , id, msgHash, uint16_t (memberIdx), {});
15591559        uint256 signHash = sigShare.buildSignHash ().Get ();
15601560
15611561        //  TODO: This one should be SIGN by QUORUM key, not by OPERATOR key
@@ -1575,23 +1575,23 @@ std::optional<CSigShare> CSigSharesManager::CreateSigShare(const CQuorumCPtr& qu
15751575                 " CSigSharesManager::%s -- created sigShare. signHash=%s, id=%s, msgHash=%s, llmqType=%d, quorum=%s, " 
15761576                 " time=%s\n " 
15771577                 __func__, signHash.ToString (), sigShare.getId ().ToString (), sigShare.getMsgHash ().ToString (),
1578-                  ToUnderlying (quorum-> params .type ), quorum-> qc ->quorumHash .ToString (), t.count ());
1578+                  ToUnderlying (quorum. params .type ), quorum. qc ->quorumHash .ToString (), t.count ());
15791579
15801580        return  sigShare;
15811581    }
1582-     const  CBLSSecretKey& skShare = quorum-> GetSkShare ();
1582+     const  CBLSSecretKey& skShare = quorum. GetSkShare ();
15831583    if  (!skShare.IsValid ()) {
1584-         LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- we don't have our skShare for quorum %s\n " -> qc ->quorumHash .ToString ());
1584+         LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- we don't have our skShare for quorum %s\n " . qc ->quorumHash .ToString ());
15851585        return  std::nullopt ;
15861586    }
15871587
1588-     int  memberIdx = quorum-> GetMemberIndex (activeMasterNodeProTxHash);
1588+     int  memberIdx = quorum. GetMemberIndex (activeMasterNodeProTxHash);
15891589    if  (memberIdx == -1 ) {
15901590        //  this should really not happen (IsValidMember gave true)
15911591        return  std::nullopt ;
15921592    }
15931593
1594-     CSigShare sigShare (quorum-> params .type , quorum-> qc ->quorumHash , id, msgHash, uint16_t (memberIdx), {});
1594+     CSigShare sigShare (quorum. params .type , quorum. qc ->quorumHash , id, msgHash, uint16_t (memberIdx), {});
15951595    uint256 signHash = sigShare.buildSignHash ().Get ();
15961596
15971597    sigShare.sigShare .Set (skShare.Sign (signHash, bls::bls_legacy_scheme.load ()), bls::bls_legacy_scheme.load ());
@@ -1604,20 +1604,20 @@ std::optional<CSigShare> CSigSharesManager::CreateSigShare(const CQuorumCPtr& qu
16041604    sigShare.UpdateKey ();
16051605
16061606    LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- created sigShare. signHash=%s, id=%s, msgHash=%s, llmqType=%d, quorum=%s, time=%s\n " 
1607-               signHash.ToString (), sigShare.getId ().ToString (), sigShare.getMsgHash ().ToString (), ToUnderlying (quorum-> params .type ), quorum-> qc ->quorumHash .ToString (), t.count ());
1607+               signHash.ToString (), sigShare.getId ().ToString (), sigShare.getMsgHash ().ToString (), ToUnderlying (quorum. params .type ), quorum. qc ->quorumHash .ToString (), t.count ());
16081608
16091609    return  sigShare;
16101610}
16111611
16121612//  causes all known sigShares to be re-announced
1613- void  CSigSharesManager::ForceReAnnouncement (const  CQuorumCPtr & quorum, Consensus::LLMQType llmqType, const  uint256& id, const  uint256& msgHash)
1613+ void  CSigSharesManager::ForceReAnnouncement (const  CQuorum & quorum, Consensus::LLMQType llmqType, const  uint256& id, const  uint256& msgHash)
16141614{
16151615    if  (IsAllMembersConnectedEnabled (llmqType, m_sporkman)) {
16161616        return ;
16171617    }
16181618
16191619    LOCK (cs);
1620-     auto  signHash = SignHash (llmqType, quorum-> qc ->quorumHash , id, msgHash).Get ();
1620+     auto  signHash = SignHash (llmqType, quorum. qc ->quorumHash , id, msgHash).Get ();
16211621    if  (const  auto  *const  sigs = sigShares.GetAllForSignHash (signHash)) {
16221622        for  (const  auto & [quorumMemberIndex, _] : *sigs) {
16231623            //  re-announce every sigshare to every node
0 commit comments