Dash Core  0.12.2.1
P2P Digital Currency
CMasternodeMan Class Reference

#include <masternodeman.h>

Public Types

typedef std::pair< arith_uint256, CMasternode * > score_pair_t
 
typedef std::vector< score_pair_tscore_pair_vec_t
 
typedef std::pair< int, CMasternoderank_pair_t
 
typedef std::vector< rank_pair_trank_pair_vec_t
 

Public Member Functions

template<typename Stream , typename Operation >
void SerializationOp (Stream &s, Operation ser_action, int nType, int nVersion)
 
 CMasternodeMan ()
 
bool Add (CMasternode &mn)
 Add an entry. More...
 
void AskForMN (CNode *pnode, const COutPoint &outpoint, CConnman &connman)
 Ask (source) node for mnb. More...
 
void AskForMnb (CNode *pnode, const uint256 &hash)
 
bool PoSeBan (const COutPoint &outpoint)
 
bool AllowMixing (const COutPoint &outpoint)
 
bool DisallowMixing (const COutPoint &outpoint)
 
void Check ()
 Check all Masternodes. More...
 
void CheckAndRemove (CConnman &connman)
 Check all Masternodes and remove inactive. More...
 
void CheckAndRemove ()
 This is dummy overload to be used for dumping/loading mncache.dat. More...
 
void Clear ()
 Clear Masternode vector. More...
 
int CountMasternodes (int nProtocolVersion=-1)
 
int CountEnabled (int nProtocolVersion=-1)
 
void DsegUpdate (CNode *pnode, CConnman &connman)
 Count Masternodes by network type - NET_IPV4, NET_IPV6, NET_TOR. More...
 
bool Get (const COutPoint &outpoint, CMasternode &masternodeRet)
 Versions of Find that are safe to use from outside the class. More...
 
bool Has (const COutPoint &outpoint)
 
bool GetMasternodeInfo (const COutPoint &outpoint, masternode_info_t &mnInfoRet)
 
bool GetMasternodeInfo (const CPubKey &pubKeyMasternode, masternode_info_t &mnInfoRet)
 
bool GetMasternodeInfo (const CScript &payee, masternode_info_t &mnInfoRet)
 
bool GetNextMasternodeInQueueForPayment (int nBlockHeight, bool fFilterSigTime, int &nCountRet, masternode_info_t &mnInfoRet)
 Find an entry in the masternode list that is next to be paid. More...
 
bool GetNextMasternodeInQueueForPayment (bool fFilterSigTime, int &nCountRet, masternode_info_t &mnInfoRet)
 Same as above but use current block height. More...
 
masternode_info_t FindRandomNotInVec (const std::vector< COutPoint > &vecToExclude, int nProtocolVersion=-1)
 Find a random entry. More...
 
std::map< COutPoint, CMasternodeGetFullMasternodeMap ()
 
bool GetMasternodeRanks (rank_pair_vec_t &vecMasternodeRanksRet, int nBlockHeight=-1, int nMinProtocol=0)
 
bool GetMasternodeRank (const COutPoint &outpoint, int &nRankRet, int nBlockHeight=-1, int nMinProtocol=0)
 
bool GetMasternodeByRank (int nRank, masternode_info_t &mnInfoRet, int nBlockHeight=-1, int nMinProtocol=0)
 
void ProcessMasternodeConnections (CConnman &connman)
 
std::pair< CService, std::set< uint256 > > PopScheduledMnbRequestConnection ()
 
void ProcessMessage (CNode *pfrom, std::string &strCommand, CDataStream &vRecv, CConnman &connman)
 
void DoFullVerificationStep (CConnman &connman)
 
void CheckSameAddr ()
 
bool SendVerifyRequest (const CAddress &addr, const std::vector< CMasternode *> &vSortedByAddr, CConnman &connman)
 
void SendVerifyReply (CNode *pnode, CMasternodeVerification &mnv, CConnman &connman)
 
void ProcessVerifyReply (CNode *pnode, CMasternodeVerification &mnv)
 
void ProcessVerifyBroadcast (CNode *pnode, const CMasternodeVerification &mnv)
 
int size ()
 Return the number of (unique) Masternodes. More...
 
std::string ToString () const
 
void UpdateMasternodeList (CMasternodeBroadcast mnb, CConnman &connman)
 Update masternode list and maps using provided CMasternodeBroadcast. More...
 
bool CheckMnbAndUpdateMasternodeList (CNode *pfrom, CMasternodeBroadcast mnb, int &nDos, CConnman &connman)
 Perform complete check and only then update list and maps. More...
 
bool IsMnbRecoveryRequested (const uint256 &hash)
 
void UpdateLastPaid (const CBlockIndex *pindex)
 
void AddDirtyGovernanceObjectHash (const uint256 &nHash)
 
std::vector< uint256GetAndClearDirtyGovernanceObjectHashes ()
 
bool IsWatchdogActive ()
 
void UpdateWatchdogVoteTime (const COutPoint &outpoint, uint64_t nVoteTime=0)
 
bool AddGovernanceVote (const COutPoint &outpoint, uint256 nGovernanceObjectHash)
 
void RemoveGovernanceObject (uint256 nGovernanceObjectHash)
 
void CheckMasternode (const CPubKey &pubKeyMasternode, bool fForce)
 
bool IsMasternodePingedWithin (const COutPoint &outpoint, int nSeconds, int64_t nTimeToCheckAt=-1)
 
void SetMasternodeLastPing (const COutPoint &outpoint, const CMasternodePing &mnp)
 
void UpdatedBlockTip (const CBlockIndex *pindex)
 
void NotifyMasternodeUpdates (CConnman &connman)
 

Public Attributes

std::map< uint256, std::pair< int64_t, CMasternodeBroadcast > > mapSeenMasternodeBroadcast
 
std::map< uint256, CMasternodePingmapSeenMasternodePing
 
std::map< uint256, CMasternodeVerificationmapSeenMasternodeVerification
 
int64_t nDsqCount
 
 ADD_SERIALIZE_METHODS
 

Private Member Functions

CMasternodeFind (const COutPoint &outpoint)
 Find an entry. More...
 
bool GetMasternodeScores (const uint256 &nBlockHash, score_pair_vec_t &vecMasternodeScoresRet, int nMinProtocol=0)
 

Private Attributes

CCriticalSection cs
 
int nCachedBlockHeight
 
std::map< COutPoint, CMasternodemapMasternodes
 
std::map< CNetAddr, int64_t > mAskedUsForMasternodeList
 
std::map< CNetAddr, int64_t > mWeAskedForMasternodeList
 
std::map< COutPoint, std::map< CNetAddr, int64_t > > mWeAskedForMasternodeListEntry
 
std::map< CNetAddr, CMasternodeVerificationmWeAskedForVerification
 
std::map< uint256, std::pair< int64_t, std::set< CNetAddr > > > mMnbRecoveryRequests
 
std::map< uint256, std::vector< CMasternodeBroadcast > > mMnbRecoveryGoodReplies
 
std::list< std::pair< CService, uint256 > > listScheduledMnbRequestConnections
 
bool fMasternodesAdded
 Set when masternodes are added, cleared when CGovernanceManager is notified. More...
 
bool fMasternodesRemoved
 Set when masternodes are removed, cleared when CGovernanceManager is notified. More...
 
std::vector< uint256vecDirtyGovernanceObjectHashes
 
int64_t nLastWatchdogVoteTime
 

Static Private Attributes

static const std::string SERIALIZATION_VERSION_STRING = "CMasternodeMan-Version-7"
 
static const int DSEG_UPDATE_SECONDS = 3 * 60 * 60
 
static const int LAST_PAID_SCAN_BLOCKS = 100
 
static const int MIN_POSE_PROTO_VERSION = 70203
 
static const int MAX_POSE_CONNECTIONS = 10
 
static const int MAX_POSE_RANK = 10
 
static const int MAX_POSE_BLOCKS = 10
 
static const int MNB_RECOVERY_QUORUM_TOTAL = 10
 
static const int MNB_RECOVERY_QUORUM_REQUIRED = 6
 
static const int MNB_RECOVERY_MAX_ASK_ENTRIES = 10
 
static const int MNB_RECOVERY_WAIT_SECONDS = 60
 
static const int MNB_RECOVERY_RETRY_SECONDS = 3 * 60 * 60
 

Friends

class CMasternodeSync
 

Detailed Description

Definition at line 18 of file masternodeman.h.

Member Typedef Documentation

◆ rank_pair_t

typedef std::pair<int, CMasternode> CMasternodeMan::rank_pair_t

Definition at line 23 of file masternodeman.h.

◆ rank_pair_vec_t

Definition at line 24 of file masternodeman.h.

◆ score_pair_t

Definition at line 21 of file masternodeman.h.

◆ score_pair_vec_t

Definition at line 22 of file masternodeman.h.

Constructor & Destructor Documentation

◆ CMasternodeMan()

CMasternodeMan::CMasternodeMan ( )

Definition at line 49 of file masternodeman.cpp.

Member Function Documentation

◆ Add()

bool CMasternodeMan::Add ( CMasternode mn)

Add an entry.

Definition at line 68 of file masternodeman.cpp.

Referenced by CheckMnbAndUpdateMasternodeList(), and UpdateMasternodeList().

◆ AddDirtyGovernanceObjectHash()

void CMasternodeMan::AddDirtyGovernanceObjectHash ( const uint256 nHash)
inline

Definition at line 207 of file masternodeman.h.

Referenced by CMasternode::FlagGovernanceItemsAsDirty().

◆ AddGovernanceVote()

bool CMasternodeMan::AddGovernanceVote ( const COutPoint outpoint,
uint256  nGovernanceObjectHash 
)

Definition at line 1502 of file masternodeman.cpp.

Referenced by CGovernanceObject::ProcessVote().

◆ AllowMixing()

bool CMasternodeMan::AllowMixing ( const COutPoint outpoint)

◆ AskForMN()

void CMasternodeMan::AskForMN ( CNode pnode,
const COutPoint outpoint,
CConnman connman 
)

◆ AskForMnb()

void CMasternodeMan::AskForMnb ( CNode pnode,
const uint256 hash 
)

◆ Check()

void CMasternodeMan::Check ( )

Check all Masternodes.

Definition at line 147 of file masternodeman.cpp.

Referenced by CheckAndRemove(), and ThreadCheckPrivateSend().

◆ CheckAndRemove() [1/2]

void CMasternodeMan::CheckAndRemove ( CConnman connman)

Check all Masternodes and remove inactive.

Definition at line 158 of file masternodeman.cpp.

Referenced by ThreadCheckPrivateSend().

◆ CheckAndRemove() [2/2]

void CMasternodeMan::CheckAndRemove ( )
inline

This is dummy overload to be used for dumping/loading mncache.dat.

Definition at line 143 of file masternodeman.h.

◆ CheckMasternode()

void CMasternodeMan::CheckMasternode ( const CPubKey pubKeyMasternode,
bool  fForce 
)

Definition at line 1521 of file masternodeman.cpp.

Referenced by CActiveMasternode::ManageStateRemote().

◆ CheckMnbAndUpdateMasternodeList()

bool CMasternodeMan::CheckMnbAndUpdateMasternodeList ( CNode pfrom,
CMasternodeBroadcast  mnb,
int &  nDos,
CConnman connman 
)

Perform complete check and only then update list and maps.

Definition at line 1370 of file masternodeman.cpp.

Referenced by CheckAndRemove(), masternodebroadcast(), and ProcessMessage().

◆ CheckSameAddr()

void CMasternodeMan::CheckSameAddr ( )

Definition at line 1008 of file masternodeman.cpp.

Referenced by UpdatedBlockTip().

◆ Clear()

void CMasternodeMan::Clear ( )

Clear Masternode vector.

Definition at line 341 of file masternodeman.cpp.

◆ CountEnabled()

int CMasternodeMan::CountEnabled ( int  nProtocolVersion = -1)

Count enabled Masternodes filtered by nProtocolVersion. Masternode nProtocolVersion should match or be above the one specified in param here.

Definition at line 368 of file masternodeman.cpp.

Referenced by CPrivateSendClient::DoAutomaticDenominating(), FindRandomNotInVec(), ClientModel::getMasternodeCountString(), masternode(), CPrivateSendServer::ProcessMessage(), CPrivateSendClient::ProcessMessage(), CDarkSendRelay::Relay(), CPrivateSendClient::StartNewQueue(), and CGovernanceObject::UpdateSentinelVariables().

◆ CountMasternodes()

int CMasternodeMan::CountMasternodes ( int  nProtocolVersion = -1)

Count Masternodes filtered by nProtocolVersion. Masternode nProtocolVersion should match or be above the one specified in param here.

Definition at line 354 of file masternodeman.cpp.

Referenced by GetNextMasternodeInQueueForPayment(), and CMasternodeSync::ProcessTick().

◆ DisallowMixing()

bool CMasternodeMan::DisallowMixing ( const COutPoint outpoint)

Definition at line 123 of file masternodeman.cpp.

Referenced by ProcessMessage().

◆ DoFullVerificationStep()

void CMasternodeMan::DoFullVerificationStep ( CConnman connman)

Definition at line 927 of file masternodeman.cpp.

Referenced by ThreadCheckPrivateSend().

◆ DsegUpdate()

void CMasternodeMan::DsegUpdate ( CNode pnode,
CConnman connman 
)

Count Masternodes by network type - NET_IPV4, NET_IPV6, NET_TOR.

Definition at line 399 of file masternodeman.cpp.

Referenced by CMasternodeSync::ProcessTick().

◆ Find()

◆ FindRandomNotInVec()

masternode_info_t CMasternodeMan::FindRandomNotInVec ( const std::vector< COutPoint > &  vecToExclude,
int  nProtocolVersion = -1 
)

Find a random entry.

Definition at line 566 of file masternodeman.cpp.

Referenced by CPrivateSendClient::StartNewQueue().

◆ Get()

bool CMasternodeMan::Get ( const COutPoint outpoint,
CMasternode masternodeRet 
)

Versions of Find that are safe to use from outside the class.

Definition at line 427 of file masternodeman.cpp.

Referenced by CGovernanceManager::GetCurrentVotes(), gobject(), masternode(), ProcessMessage(), and voteraw().

◆ GetAndClearDirtyGovernanceObjectHashes()

std::vector<uint256> CMasternodeMan::GetAndClearDirtyGovernanceObjectHashes ( )
inline

Definition at line 213 of file masternodeman.h.

Referenced by CGovernanceManager::UpdateCachesAndClean().

◆ GetFullMasternodeMap()

std::map<COutPoint, CMasternode> CMasternodeMan::GetFullMasternodeMap ( )
inline

◆ GetMasternodeByRank()

bool CMasternodeMan::GetMasternodeByRank ( int  nRank,
masternode_info_t mnInfoRet,
int  nBlockHeight = -1,
int  nMinProtocol = 0 
)

Definition at line 693 of file masternodeman.cpp.

Referenced by CDarkSendRelay::RelayThroughNode().

◆ GetMasternodeInfo() [1/3]

◆ GetMasternodeInfo() [2/3]

bool CMasternodeMan::GetMasternodeInfo ( const CPubKey pubKeyMasternode,
masternode_info_t mnInfoRet 
)

Definition at line 451 of file masternodeman.cpp.

◆ GetMasternodeInfo() [3/3]

bool CMasternodeMan::GetMasternodeInfo ( const CScript payee,
masternode_info_t mnInfoRet 
)

Definition at line 463 of file masternodeman.cpp.

◆ GetMasternodeRank()

bool CMasternodeMan::GetMasternodeRank ( const COutPoint outpoint,
int &  nRankRet,
int  nBlockHeight = -1,
int  nMinProtocol = 0 
)

◆ GetMasternodeRanks()

bool CMasternodeMan::GetMasternodeRanks ( CMasternodeMan::rank_pair_vec_t vecMasternodeRanksRet,
int  nBlockHeight = -1,
int  nMinProtocol = 0 
)

◆ GetMasternodeScores()

bool CMasternodeMan::GetMasternodeScores ( const uint256 nBlockHash,
CMasternodeMan::score_pair_vec_t vecMasternodeScoresRet,
int  nMinProtocol = 0 
)
private

Definition at line 609 of file masternodeman.cpp.

Referenced by GetMasternodeByRank(), GetMasternodeRank(), and GetMasternodeRanks().

◆ GetNextMasternodeInQueueForPayment() [1/2]

bool CMasternodeMan::GetNextMasternodeInQueueForPayment ( int  nBlockHeight,
bool  fFilterSigTime,
int &  nCountRet,
masternode_info_t mnInfoRet 
)

Find an entry in the masternode list that is next to be paid.

Definition at line 490 of file masternodeman.cpp.

Referenced by CMasternodePayments::FillBlockPayee(), GetNextMasternodeInQueueForPayment(), masternode(), and CMasternodePayments::ProcessBlock().

◆ GetNextMasternodeInQueueForPayment() [2/2]

bool CMasternodeMan::GetNextMasternodeInQueueForPayment ( bool  fFilterSigTime,
int &  nCountRet,
masternode_info_t mnInfoRet 
)

Same as above but use current block height.

Definition at line 485 of file masternodeman.cpp.

◆ Has()

◆ IsMasternodePingedWithin()

bool CMasternodeMan::IsMasternodePingedWithin ( const COutPoint outpoint,
int  nSeconds,
int64_t  nTimeToCheckAt = -1 
)

Definition at line 1532 of file masternodeman.cpp.

Referenced by CActiveMasternode::SendMasternodePing().

◆ IsMnbRecoveryRequested()

bool CMasternodeMan::IsMnbRecoveryRequested ( const uint256 hash)
inline

Definition at line 203 of file masternodeman.h.

Referenced by AlreadyHave(), CheckAndRemove(), and CheckMnbAndUpdateMasternodeList().

◆ IsWatchdogActive()

bool CMasternodeMan::IsWatchdogActive ( )

Definition at line 1495 of file masternodeman.cpp.

Referenced by Check(), and CMasternode::Check().

◆ NotifyMasternodeUpdates()

void CMasternodeMan::NotifyMasternodeUpdates ( CConnman connman)

Called to notify CGovernanceManager that the masternode index has been updated. Must be called while not holding the CMasternodeMan::cs mutex

Definition at line 1575 of file masternodeman.cpp.

Referenced by CheckAndRemove(), CActiveMasternode::ManageStateLocal(), masternode(), masternodebroadcast(), ProcessMessage(), MasternodeList::StartAlias(), and MasternodeList::StartAll().

◆ PopScheduledMnbRequestConnection()

std::pair< CService, std::set< uint256 > > CMasternodeMan::PopScheduledMnbRequestConnection ( )

Definition at line 743 of file masternodeman.cpp.

Referenced by CConnman::ThreadMnbRequestConnections().

◆ PoSeBan()

bool CMasternodeMan::PoSeBan ( const COutPoint outpoint)

Definition at line 135 of file masternodeman.cpp.

Referenced by CInstantSend::ProcessTxLockVote().

◆ ProcessMasternodeConnections()

void CMasternodeMan::ProcessMasternodeConnections ( CConnman connman)

Definition at line 728 of file masternodeman.cpp.

Referenced by ThreadCheckPrivateSend().

◆ ProcessMessage()

void CMasternodeMan::ProcessMessage ( CNode pfrom,
std::string &  strCommand,
CDataStream vRecv,
CConnman connman 
)

Definition at line 771 of file masternodeman.cpp.

Referenced by ProcessMessage().

◆ ProcessVerifyBroadcast()

void CMasternodeMan::ProcessVerifyBroadcast ( CNode pnode,
const CMasternodeVerification mnv 
)

Definition at line 1232 of file masternodeman.cpp.

Referenced by ProcessMessage().

◆ ProcessVerifyReply()

void CMasternodeMan::ProcessVerifyReply ( CNode pnode,
CMasternodeVerification mnv 
)

Definition at line 1125 of file masternodeman.cpp.

Referenced by ProcessMessage().

◆ RemoveGovernanceObject()

void CMasternodeMan::RemoveGovernanceObject ( uint256  nGovernanceObjectHash)

Definition at line 1513 of file masternodeman.cpp.

Referenced by CGovernanceManager::UpdateCachesAndClean().

◆ SendVerifyReply()

void CMasternodeMan::SendVerifyReply ( CNode pnode,
CMasternodeVerification mnv,
CConnman connman 
)

Definition at line 1085 of file masternodeman.cpp.

Referenced by ProcessMessage().

◆ SendVerifyRequest()

bool CMasternodeMan::SendVerifyRequest ( const CAddress addr,
const std::vector< CMasternode *> &  vSortedByAddr,
CConnman connman 
)

Definition at line 1061 of file masternodeman.cpp.

Referenced by DoFullVerificationStep().

◆ SerializationOp()

template<typename Stream , typename Operation >
void CMasternodeMan::SerializationOp ( Stream &  s,
Operation  ser_action,
int  nType,
int  nVersion 
)
inline

Definition at line 97 of file masternodeman.h.

◆ SetMasternodeLastPing()

void CMasternodeMan::SetMasternodeLastPing ( const COutPoint outpoint,
const CMasternodePing mnp 
)

Definition at line 1539 of file masternodeman.cpp.

Referenced by CActiveMasternode::SendMasternodePing().

◆ size()

◆ ToString()

std::string CMasternodeMan::ToString ( ) const

Definition at line 1335 of file masternodeman.cpp.

Referenced by CheckAndRemove().

◆ UpdatedBlockTip()

void CMasternodeMan::UpdatedBlockTip ( const CBlockIndex pindex)

Definition at line 1562 of file masternodeman.cpp.

Referenced by CDSNotificationInterface::UpdatedBlockTip().

◆ UpdateLastPaid()

void CMasternodeMan::UpdateLastPaid ( const CBlockIndex pindex)

Definition at line 1463 of file masternodeman.cpp.

Referenced by masternode(), masternodelist(), and UpdatedBlockTip().

◆ UpdateMasternodeList()

void CMasternodeMan::UpdateMasternodeList ( CMasternodeBroadcast  mnb,
CConnman connman 
)

◆ UpdateWatchdogVoteTime()

void CMasternodeMan::UpdateWatchdogVoteTime ( const COutPoint outpoint,
uint64_t  nVoteTime = 0 
)

Friends And Related Function Documentation

◆ CMasternodeSync

friend class CMasternodeSync
friend

Definition at line 77 of file masternodeman.h.

Member Data Documentation

◆ ADD_SERIALIZE_METHODS

CMasternodeMan::ADD_SERIALIZE_METHODS

Definition at line 94 of file masternodeman.h.

◆ cs

◆ DSEG_UPDATE_SECONDS

const int CMasternodeMan::DSEG_UPDATE_SECONDS = 3 * 60 * 60
staticprivate

Definition at line 29 of file masternodeman.h.

Referenced by AskForMN(), DsegUpdate(), and ProcessMessage().

◆ fMasternodesAdded

bool CMasternodeMan::fMasternodesAdded
private

Set when masternodes are added, cleared when CGovernanceManager is notified.

Definition at line 68 of file masternodeman.h.

Referenced by Add(), NotifyMasternodeUpdates(), and ProcessMessage().

◆ fMasternodesRemoved

bool CMasternodeMan::fMasternodesRemoved
private

Set when masternodes are removed, cleared when CGovernanceManager is notified.

Definition at line 71 of file masternodeman.h.

Referenced by CheckAndRemove(), and NotifyMasternodeUpdates().

◆ LAST_PAID_SCAN_BLOCKS

const int CMasternodeMan::LAST_PAID_SCAN_BLOCKS = 100
staticprivate

Definition at line 31 of file masternodeman.h.

Referenced by UpdateLastPaid().

◆ listScheduledMnbRequestConnections

std::list< std::pair<CService, uint256> > CMasternodeMan::listScheduledMnbRequestConnections
private

Definition at line 65 of file masternodeman.h.

Referenced by CheckAndRemove(), and PopScheduledMnbRequestConnection().

◆ mapMasternodes

◆ mapSeenMasternodeBroadcast

◆ mapSeenMasternodePing

◆ mapSeenMasternodeVerification

std::map<uint256, CMasternodeVerification> CMasternodeMan::mapSeenMasternodeVerification

◆ mAskedUsForMasternodeList

std::map<CNetAddr, int64_t> CMasternodeMan::mAskedUsForMasternodeList
private

Definition at line 54 of file masternodeman.h.

Referenced by CheckAndRemove(), Clear(), ProcessMessage(), and ToString().

◆ MAX_POSE_BLOCKS

const int CMasternodeMan::MAX_POSE_BLOCKS = 10
staticprivate

Definition at line 36 of file masternodeman.h.

Referenced by CheckAndRemove(), and ProcessVerifyBroadcast().

◆ MAX_POSE_CONNECTIONS

const int CMasternodeMan::MAX_POSE_CONNECTIONS = 10
staticprivate

Definition at line 34 of file masternodeman.h.

Referenced by DoFullVerificationStep().

◆ MAX_POSE_RANK

const int CMasternodeMan::MAX_POSE_RANK = 10
staticprivate

Definition at line 35 of file masternodeman.h.

Referenced by DoFullVerificationStep(), and ProcessVerifyBroadcast().

◆ MIN_POSE_PROTO_VERSION

const int CMasternodeMan::MIN_POSE_PROTO_VERSION = 70203
staticprivate

Definition at line 33 of file masternodeman.h.

Referenced by DoFullVerificationStep(), and ProcessVerifyBroadcast().

◆ mMnbRecoveryGoodReplies

std::map<uint256, std::vector<CMasternodeBroadcast> > CMasternodeMan::mMnbRecoveryGoodReplies
private

Definition at line 64 of file masternodeman.h.

Referenced by CheckAndRemove(), and CheckMnbAndUpdateMasternodeList().

◆ mMnbRecoveryRequests

std::map<uint256, std::pair< int64_t, std::set<CNetAddr> > > CMasternodeMan::mMnbRecoveryRequests
private

Definition at line 63 of file masternodeman.h.

Referenced by CheckAndRemove(), and CheckMnbAndUpdateMasternodeList().

◆ MNB_RECOVERY_MAX_ASK_ENTRIES

const int CMasternodeMan::MNB_RECOVERY_MAX_ASK_ENTRIES = 10
staticprivate

Definition at line 40 of file masternodeman.h.

Referenced by CheckAndRemove().

◆ MNB_RECOVERY_QUORUM_REQUIRED

const int CMasternodeMan::MNB_RECOVERY_QUORUM_REQUIRED = 6
staticprivate

Definition at line 39 of file masternodeman.h.

Referenced by CheckAndRemove().

◆ MNB_RECOVERY_QUORUM_TOTAL

const int CMasternodeMan::MNB_RECOVERY_QUORUM_TOTAL = 10
staticprivate

Definition at line 38 of file masternodeman.h.

Referenced by CheckAndRemove().

◆ MNB_RECOVERY_RETRY_SECONDS

const int CMasternodeMan::MNB_RECOVERY_RETRY_SECONDS = 3 * 60 * 60
staticprivate

Definition at line 42 of file masternodeman.h.

Referenced by CheckAndRemove().

◆ MNB_RECOVERY_WAIT_SECONDS

const int CMasternodeMan::MNB_RECOVERY_WAIT_SECONDS = 60
staticprivate

Definition at line 41 of file masternodeman.h.

Referenced by CheckAndRemove().

◆ mWeAskedForMasternodeList

std::map<CNetAddr, int64_t> CMasternodeMan::mWeAskedForMasternodeList
private

Definition at line 56 of file masternodeman.h.

Referenced by CheckAndRemove(), Clear(), DsegUpdate(), and ToString().

◆ mWeAskedForMasternodeListEntry

std::map<COutPoint, std::map<CNetAddr, int64_t> > CMasternodeMan::mWeAskedForMasternodeListEntry
private

Definition at line 58 of file masternodeman.h.

Referenced by AskForMN(), CheckAndRemove(), Clear(), and ToString().

◆ mWeAskedForVerification

std::map<CNetAddr, CMasternodeVerification> CMasternodeMan::mWeAskedForVerification
private

Definition at line 60 of file masternodeman.h.

Referenced by CheckAndRemove(), ProcessVerifyReply(), and SendVerifyRequest().

◆ nCachedBlockHeight

int CMasternodeMan::nCachedBlockHeight
private

◆ nDsqCount

◆ nLastWatchdogVoteTime

int64_t CMasternodeMan::nLastWatchdogVoteTime
private

Definition at line 75 of file masternodeman.h.

Referenced by Check(), Clear(), IsWatchdogActive(), and UpdateWatchdogVoteTime().

◆ SERIALIZATION_VERSION_STRING

const std::string CMasternodeMan::SERIALIZATION_VERSION_STRING = "CMasternodeMan-Version-7"
staticprivate

Definition at line 27 of file masternodeman.h.

◆ vecDirtyGovernanceObjectHashes

std::vector<uint256> CMasternodeMan::vecDirtyGovernanceObjectHashes
private

Definition at line 73 of file masternodeman.h.


The documentation for this class was generated from the following files: