@@ -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 " , __func__,
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 " , __func__,
@@ -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 " , __func__,
@@ -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 " , __func__, quorum-> qc ->quorumHash .ToString ());
1584+ LogPrint (BCLog::LLMQ_SIGS, " CSigSharesManager::%s -- we don't have our skShare for quorum %s\n " , __func__, quorum. 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 " , __func__,
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