@@ -119,7 +119,7 @@ bool CGovernanceManager::SerializeVoteForHash(const uint256& nHash, CDataStream&
119
119
return cmapVoteToObject.Get (nHash, pGovobj) && pGovobj->GetVoteFile ().SerializeVoteToStream (nHash, ss);
120
120
}
121
121
122
- PeerMsgRet CGovernanceManager::ProcessMessage (CNode& peer, CConnman& connman, std::string_view msg_type, CDataStream& vRecv)
122
+ PeerMsgRet CGovernanceManager::ProcessMessage (CNode& peer, CConnman& connman, PeerManager& peerman, std::string_view msg_type, CDataStream& vRecv)
123
123
{
124
124
if (fDisableGovernance ) return {};
125
125
if (m_mn_sync == nullptr || !m_mn_sync->IsBlockchainSynced ()) return {};
@@ -213,7 +213,7 @@ PeerMsgRet CGovernanceManager::ProcessMessage(CNode& peer, CConnman& connman, st
213
213
return {};
214
214
}
215
215
216
- AddGovernanceObject (govobj, connman , &peer);
216
+ AddGovernanceObject (govobj, peerman , &peer);
217
217
}
218
218
219
219
// A NEW GOVERNANCE OBJECT VOTE HAS ARRIVED
@@ -248,7 +248,7 @@ PeerMsgRet CGovernanceManager::ProcessMessage(CNode& peer, CConnman& connman, st
248
248
if (ProcessVote (&peer, vote, exception, connman)) {
249
249
LogPrint (BCLog::GOBJECT, " MNGOVERNANCEOBJECTVOTE -- %s new\n " , strHash);
250
250
m_mn_sync->BumpAssetLastTime (" MNGOVERNANCEOBJECTVOTE" );
251
- vote.Relay (connman , *m_mn_sync, tip_mn_list);
251
+ vote.Relay (peerman , *m_mn_sync, tip_mn_list);
252
252
} else {
253
253
LogPrint (BCLog::GOBJECT, " MNGOVERNANCEOBJECTVOTE -- Rejected vote, error = %s\n " , exception.what ());
254
254
if ((exception.GetNodePenalty () != 0 ) && m_mn_sync->IsSynced ()) {
@@ -260,7 +260,7 @@ PeerMsgRet CGovernanceManager::ProcessMessage(CNode& peer, CConnman& connman, st
260
260
return {};
261
261
}
262
262
263
- void CGovernanceManager::CheckOrphanVotes (CGovernanceObject& govobj, CConnman& connman )
263
+ void CGovernanceManager::CheckOrphanVotes (CGovernanceObject& govobj, PeerManager& peerman )
264
264
{
265
265
uint256 nHash = govobj.GetHash ();
266
266
std::vector<vote_time_pair_t > vecVotePairs;
@@ -277,7 +277,7 @@ void CGovernanceManager::CheckOrphanVotes(CGovernanceObject& govobj, CConnman& c
277
277
if (pairVote.second < nNow) {
278
278
fRemove = true ;
279
279
} else if (govobj.ProcessVote (m_mn_metaman, *this , tip_mn_list, vote, e)) {
280
- vote.Relay (connman , *Assert (m_mn_sync), tip_mn_list);
280
+ vote.Relay (peerman , *Assert (m_mn_sync), tip_mn_list);
281
281
fRemove = true ;
282
282
}
283
283
if (fRemove ) {
@@ -286,7 +286,7 @@ void CGovernanceManager::CheckOrphanVotes(CGovernanceObject& govobj, CConnman& c
286
286
}
287
287
}
288
288
289
- void CGovernanceManager::AddGovernanceObject (CGovernanceObject& govobj, CConnman& connman , const CNode* pfrom)
289
+ void CGovernanceManager::AddGovernanceObject (CGovernanceObject& govobj, PeerManager& peerman , const CNode* pfrom)
290
290
{
291
291
uint256 nHash = govobj.GetHash ();
292
292
std::string strHash = nHash.ToString ();
@@ -331,7 +331,7 @@ void CGovernanceManager::AddGovernanceObject(CGovernanceObject& govobj, CConnman
331
331
}
332
332
333
333
LogPrint (BCLog::GOBJECT, " CGovernanceManager::AddGovernanceObject -- %s new, received from peer %s\n " , strHash, pfrom ? pfrom->GetLogString () : " nullptr" );
334
- govobj.Relay (connman , *Assert (m_mn_sync));
334
+ govobj.Relay (peerman , *Assert (m_mn_sync));
335
335
336
336
// Update the rate buffer
337
337
MasternodeRateUpdate (govobj);
@@ -340,7 +340,7 @@ void CGovernanceManager::AddGovernanceObject(CGovernanceObject& govobj, CConnman
340
340
341
341
// WE MIGHT HAVE PENDING/ORPHAN VOTES FOR THIS OBJECT
342
342
343
- CheckOrphanVotes (govobj, connman );
343
+ CheckOrphanVotes (govobj, peerman );
344
344
345
345
// SEND NOTIFICATION TO SCRIPT/ZMQ
346
346
GetMainSignals ().NotifyGovernanceObject (std::make_shared<const Governance::Object>(govobj.Object ()));
@@ -672,7 +672,7 @@ std::optional<const CSuperblock> CGovernanceManager::CreateSuperblockCandidate(i
672
672
return CSuperblock (nNextSuperblock, std::move (payments));
673
673
}
674
674
675
- std::optional<const CGovernanceObject> CGovernanceManager::CreateGovernanceTrigger (const std::optional<const CSuperblock>& sb_opt, CConnman& connman ,
675
+ std::optional<const CGovernanceObject> CGovernanceManager::CreateGovernanceTrigger (const std::optional<const CSuperblock>& sb_opt, PeerManager& peerman ,
676
676
const CActiveMasternodeManager* const mn_activeman)
677
677
{
678
678
if (!fMasternodeMode ) return std::nullopt ;
@@ -718,11 +718,11 @@ std::optional<const CGovernanceObject> CGovernanceManager::CreateGovernanceTrigg
718
718
}
719
719
720
720
// The trigger we just created looks good, submit it
721
- AddGovernanceObject (gov_sb, connman );
721
+ AddGovernanceObject (gov_sb, peerman );
722
722
return std::make_optional<CGovernanceObject>(gov_sb);
723
723
}
724
724
725
- void CGovernanceManager::VoteGovernanceTriggers (const std::optional<const CGovernanceObject>& trigger_opt, CConnman& connman,
725
+ void CGovernanceManager::VoteGovernanceTriggers (const std::optional<const CGovernanceObject>& trigger_opt, CConnman& connman, PeerManager& peerman,
726
726
const CActiveMasternodeManager* const mn_activeman)
727
727
{
728
728
// only active masternodes can vote on triggers
@@ -736,7 +736,7 @@ void CGovernanceManager::VoteGovernanceTriggers(const std::optional<const CGover
736
736
assert (!votedFundingYesTriggerHash.has_value ());
737
737
// Vote YES-FUNDING for the trigger we like
738
738
const uint256 gov_sb_hash = trigger_opt.value ().GetHash ();
739
- if (!VoteFundingTrigger (gov_sb_hash, VOTE_OUTCOME_YES, connman, mn_activeman)) {
739
+ if (!VoteFundingTrigger (gov_sb_hash, VOTE_OUTCOME_YES, connman, peerman, mn_activeman)) {
740
740
LogPrint (BCLog::GOBJECT, " CGovernanceManager::%s Voting YES-FUNDING for new trigger:%s failed\n " , __func__, gov_sb_hash.ToString ());
741
741
// this should never happen, bail out
742
742
return ;
@@ -759,7 +759,7 @@ void CGovernanceManager::VoteGovernanceTriggers(const std::optional<const CGover
759
759
LogPrint (BCLog::GOBJECT, " CGovernanceManager::%s Not voting NO-FUNDING for trigger:%s, we voted yes for it already\n " , __func__, trigger_hash.ToString ());
760
760
continue ;
761
761
}
762
- if (!VoteFundingTrigger (trigger_hash, VOTE_OUTCOME_NO, connman, mn_activeman)) {
762
+ if (!VoteFundingTrigger (trigger_hash, VOTE_OUTCOME_NO, connman, peerman, mn_activeman)) {
763
763
LogPrint (BCLog::GOBJECT, " CGovernanceManager::%s Voting NO-FUNDING for trigger:%s failed\n " , __func__, trigger_hash.ToString ());
764
764
// failing here is ok-ish
765
765
continue ;
@@ -768,7 +768,7 @@ void CGovernanceManager::VoteGovernanceTriggers(const std::optional<const CGover
768
768
}
769
769
}
770
770
771
- bool CGovernanceManager::VoteFundingTrigger (const uint256& nHash, const vote_outcome_enum_t outcome, CConnman& connman,
771
+ bool CGovernanceManager::VoteFundingTrigger (const uint256& nHash, const vote_outcome_enum_t outcome, CConnman& connman, PeerManager& peerman,
772
772
const CActiveMasternodeManager* const mn_activeman)
773
773
{
774
774
if (!fMasternodeMode ) return false ;
@@ -778,7 +778,7 @@ bool CGovernanceManager::VoteFundingTrigger(const uint256& nHash, const vote_out
778
778
vote.Sign (*mn_activeman);
779
779
780
780
CGovernanceException exception;
781
- if (!ProcessVoteAndRelay (vote, exception, connman)) {
781
+ if (!ProcessVoteAndRelay (vote, exception, connman, peerman )) {
782
782
LogPrint (BCLog::GOBJECT, " CGovernanceManager::%s Vote FUNDING %d for trigger:%s failed:%s\n " , __func__, outcome, nHash.ToString (), exception.what ());
783
783
return false ;
784
784
}
@@ -1066,11 +1066,11 @@ bool CGovernanceManager::MasternodeRateCheck(const CGovernanceObject& govobj, bo
1066
1066
return false ;
1067
1067
}
1068
1068
1069
- bool CGovernanceManager::ProcessVoteAndRelay (const CGovernanceVote& vote, CGovernanceException& exception, CConnman& connman)
1069
+ bool CGovernanceManager::ProcessVoteAndRelay (const CGovernanceVote& vote, CGovernanceException& exception, CConnman& connman, PeerManager& peerman )
1070
1070
{
1071
1071
bool fOK = ProcessVote (/* pfrom = */ nullptr , vote, exception, connman);
1072
1072
if (fOK ) {
1073
- vote.Relay (connman , *Assert (m_mn_sync), Assert (m_dmnman)->GetListAtChainTip ());
1073
+ vote.Relay (peerman , *Assert (m_mn_sync), Assert (m_dmnman)->GetListAtChainTip ());
1074
1074
}
1075
1075
return fOK ;
1076
1076
}
@@ -1129,7 +1129,7 @@ bool CGovernanceManager::ProcessVote(CNode* pfrom, const CGovernanceVote& vote,
1129
1129
return fOk ;
1130
1130
}
1131
1131
1132
- void CGovernanceManager::CheckPostponedObjects (CConnman& connman )
1132
+ void CGovernanceManager::CheckPostponedObjects (PeerManager& peerman )
1133
1133
{
1134
1134
if (!Assert (m_mn_sync)->IsSynced ()) return ;
1135
1135
@@ -1146,7 +1146,7 @@ void CGovernanceManager::CheckPostponedObjects(CConnman& connman)
1146
1146
bool fMissingConfirmations ;
1147
1147
if (govobj.IsCollateralValid (strError, fMissingConfirmations )) {
1148
1148
if (govobj.IsValidLocally (Assert (m_dmnman)->GetListAtChainTip (), strError, false )) {
1149
- AddGovernanceObject (govobj, connman );
1149
+ AddGovernanceObject (govobj, peerman );
1150
1150
} else {
1151
1151
LogPrint (BCLog::GOBJECT, " CGovernanceManager::CheckPostponedObjects -- %s invalid\n " , nHash.ToString ());
1152
1152
}
@@ -1179,7 +1179,7 @@ void CGovernanceManager::CheckPostponedObjects(CConnman& connman)
1179
1179
if (fValid ) {
1180
1180
if (fReady ) {
1181
1181
LogPrint (BCLog::GOBJECT, " CGovernanceManager::CheckPostponedObjects -- additional relay: hash = %s\n " , govobj.GetHash ().ToString ());
1182
- govobj.Relay (connman , *m_mn_sync);
1182
+ govobj.Relay (peerman , *m_mn_sync);
1183
1183
} else {
1184
1184
it++;
1185
1185
continue ;
@@ -1474,7 +1474,7 @@ UniValue CGovernanceManager::ToJson() const
1474
1474
return jsonObj;
1475
1475
}
1476
1476
1477
- void CGovernanceManager::UpdatedBlockTip (const CBlockIndex* pindex, CConnman& connman, const CActiveMasternodeManager* const mn_activeman)
1477
+ void CGovernanceManager::UpdatedBlockTip (const CBlockIndex* pindex, CConnman& connman, PeerManager& peerman, const CActiveMasternodeManager* const mn_activeman)
1478
1478
{
1479
1479
// Note this gets called from ActivateBestChain without cs_main being held
1480
1480
// so it should be safe to lock our mutex here without risking a deadlock
@@ -1486,8 +1486,8 @@ void CGovernanceManager::UpdatedBlockTip(const CBlockIndex* pindex, CConnman& co
1486
1486
}
1487
1487
1488
1488
const auto sb_opt = CreateSuperblockCandidate (pindex->nHeight );
1489
- const auto trigger_opt = CreateGovernanceTrigger (sb_opt, connman , mn_activeman);
1490
- VoteGovernanceTriggers (trigger_opt, connman, mn_activeman);
1489
+ const auto trigger_opt = CreateGovernanceTrigger (sb_opt, peerman , mn_activeman);
1490
+ VoteGovernanceTriggers (trigger_opt, connman, peerman, mn_activeman);
1491
1491
1492
1492
nCachedBlockHeight = pindex->nHeight ;
1493
1493
LogPrint (BCLog::GOBJECT, " CGovernanceManager::UpdatedBlockTip -- nCachedBlockHeight: %d\n " , nCachedBlockHeight);
@@ -1496,7 +1496,7 @@ void CGovernanceManager::UpdatedBlockTip(const CBlockIndex* pindex, CConnman& co
1496
1496
RemoveInvalidVotes ();
1497
1497
}
1498
1498
1499
- CheckPostponedObjects (connman );
1499
+ CheckPostponedObjects (peerman );
1500
1500
1501
1501
CSuperblockManager::ExecuteBestSuperblock (*this , Assert (m_dmnman)->GetListAtChainTip (), pindex->nHeight );
1502
1502
}
0 commit comments