Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
Used to keep track of current status of mixing pool. More...
#include <privatesend-client.h>
Public Member Functions | |
CPrivateSendClientManager () | |
void | ProcessMessage (CNode *pfrom, const std::string &strCommand, CDataStream &vRecv, CConnman &connman) |
void | ResetPool () |
std::string | GetStatuses () |
std::string | GetSessionDenoms () |
bool | GetMixingMasternodesInfo (std::vector< CDeterministicMNCPtr > &vecDmnsRet) const |
bool | DoAutomaticDenominating (CConnman &connman, bool fDryRun=false) |
Passively run mixing in the background according to the configuration in settings. More... | |
void | CheckTimeout () |
void | ProcessPendingDsaRequest (CConnman &connman) |
void | AddUsedMasternode (const COutPoint &outpointMn) |
CDeterministicMNCPtr | GetRandomNotUsedMasternode () |
void | UpdatedSuccessBlock () |
void | UpdatedBlockTip (const CBlockIndex *pindex) |
void | DoMaintenance (CConnman &connman) |
void | GetJsonInfo (UniValue &obj) const |
Public Member Functions inherited from CPrivateSendBaseManager | |
CPrivateSendBaseManager () | |
int | GetQueueSize () const |
bool | GetQueueItemAndTry (CPrivateSendQueue &dsqRet) |
Public Attributes | |
int | nPrivateSendSessions |
int | nPrivateSendRounds |
int | nPrivateSendRandomRounds |
int | nPrivateSendAmount |
int | nPrivateSendDenomsGoal |
int | nPrivateSendDenomsHardCap |
bool | fEnablePrivateSend |
bool | fPrivateSendRunning |
bool | fPrivateSendMultiSession |
int | nCachedNumBlocks |
bool | fCreateAutoBackups |
Private Member Functions | |
bool | WaitForAnotherBlock () |
bool | CheckAutomaticBackup () |
Private Attributes | |
std::vector< COutPoint > | vecMasternodesUsed |
std::deque< CPrivateSendClientSession > | deqSessions |
CCriticalSection | cs_deqsessions |
int | nCachedLastSuccessBlock |
int | nMinBlocksToWait |
std::string | strAutoDenomResult |
int | nCachedBlockHeight |
Additional Inherited Members | |
Protected Member Functions inherited from CPrivateSendBaseManager | |
void | SetNull () |
void | CheckQueue () |
Protected Attributes inherited from CPrivateSendBaseManager | |
CCriticalSection | cs_vecqueue |
std::vector< CPrivateSendQueue > | vecPrivateSendQueue |
Detailed Description
Used to keep track of current status of mixing pool.
Definition at line 184 of file privatesend-client.h.
Constructor & Destructor Documentation
◆ CPrivateSendClientManager()
|
inline |
Definition at line 220 of file privatesend-client.h.
Member Function Documentation
◆ AddUsedMasternode()
void CPrivateSendClientManager::AddUsedMasternode | ( | const COutPoint & | outpointMn | ) |
Definition at line 970 of file privatesend-client.cpp.
References vecMasternodesUsed.
Referenced by CPrivateSendClientSession::JoinExistingQueue(), and CPrivateSendClientSession::StartNewQueue().
◆ CheckAutomaticBackup()
|
private |
Definition at line 674 of file privatesend-client.cpp.
References _(), fCreateAutoBackups, fEnablePrivateSend, fPrivateSendRunning, GetWallets(), LogPrint, nWalletBackups, BCLog::PRIVATESEND, PRIVATESEND_KEYS_THRESHOLD_STOP, PRIVATESEND_KEYS_THRESHOLD_WARNING, strAutoDenomResult, and strprintf.
Referenced by DoAutomaticDenominating().
◆ CheckTimeout()
void CPrivateSendClientManager::CheckTimeout | ( | ) |
Definition at line 397 of file privatesend-client.cpp.
References _(), CPrivateSendBaseManager::CheckQueue(), cs_deqsessions, deqSessions, fEnablePrivateSend, fMasternodeMode, fPrivateSendRunning, LOCK, and strAutoDenomResult.
Referenced by DoMaintenance().
◆ DoAutomaticDenominating()
bool CPrivateSendClientManager::DoAutomaticDenominating | ( | CConnman & | connman, |
bool | fDryRun = false |
||
) |
Passively run mixing in the background according to the configuration in settings.
Definition at line 923 of file privatesend-client.cpp.
References _(), CheckAutomaticBackup(), cs_deqsessions, deqSessions, deterministicMNManager, fEnablePrivateSend, fMasternodeMode, fPrivateSendRunning, GetWallets(), CMasternodeSync::IsBlockchainSynced(), LOCK, LogPrint, masternodeSync, nPrivateSendSessions, BCLog::PRIVATESEND, strAutoDenomResult, vecMasternodesUsed, and WaitForAnotherBlock().
Referenced by DoMaintenance().
◆ DoMaintenance()
void CPrivateSendClientManager::DoMaintenance | ( | CConnman & | connman | ) |
Definition at line 1698 of file privatesend-client.cpp.
References CheckTimeout(), DoAutomaticDenominating(), fEnablePrivateSend, fMasternodeMode, GetRandInt(), CMasternodeSync::IsBlockchainSynced(), masternodeSync, PRIVATESEND_AUTO_TIMEOUT_MAX, PRIVATESEND_AUTO_TIMEOUT_MIN, ProcessPendingDsaRequest(), and ShutdownRequested().
Referenced by WalletInit::Start().
◆ GetJsonInfo()
void CPrivateSendClientManager::GetJsonInfo | ( | UniValue & | obj | ) | const |
Definition at line 1732 of file privatesend-client.cpp.
References UniValue::clear(), cs_deqsessions, deqSessions, fEnablePrivateSend, fPrivateSendMultiSession, fPrivateSendRunning, CPrivateSendBaseManager::GetQueueSize(), LOCK, nPrivateSendAmount, nPrivateSendDenomsGoal, nPrivateSendDenomsHardCap, nPrivateSendRounds, nPrivateSendSessions, Pair(), POOL_STATE_IDLE, UniValue::push_back(), UniValue::setObject(), UniValue::VARR, and UniValue::VOBJ.
Referenced by getprivatesendinfo().
◆ GetMixingMasternodesInfo()
bool CPrivateSendClientManager::GetMixingMasternodesInfo | ( | std::vector< CDeterministicMNCPtr > & | vecDmnsRet | ) | const |
Definition at line 346 of file privatesend-client.cpp.
References cs_deqsessions, deqSessions, and LOCK.
Referenced by CMasternodeUtils::ProcessMasternodeConnections().
◆ GetRandomNotUsedMasternode()
CDeterministicMNCPtr CPrivateSendClientManager::GetRandomNotUsedMasternode | ( | ) |
Definition at line 975 of file privatesend-client.cpp.
References deterministicMNManager, LogPrint, BCLog::PRIVATESEND, and vecMasternodesUsed.
Referenced by CPrivateSendClientSession::StartNewQueue().
◆ GetSessionDenoms()
std::string CPrivateSendClientManager::GetSessionDenoms | ( | ) |
Definition at line 329 of file privatesend-client.cpp.
References cs_deqsessions, CPrivateSend::DenominationToString(), deqSessions, and LOCK.
Referenced by OverviewPage::privateSendStatus().
◆ GetStatuses()
std::string CPrivateSendClientManager::GetStatuses | ( | ) |
Definition at line 317 of file privatesend-client.cpp.
References cs_deqsessions, deqSessions, LOCK, and WaitForAnotherBlock().
◆ ProcessMessage()
void CPrivateSendClientManager::ProcessMessage | ( | CNode * | pfrom, |
const std::string & | strCommand, | ||
CDataStream & | vRecv, | ||
CConnman & | connman | ||
) |
Definition at line 27 of file privatesend-client.cpp.
References CMasternodeMetaMan::AllowMixing(), CheckDiskSpace(), cs_deqsessions, cs_main, CPrivateSendBaseManager::cs_vecqueue, deqSessions, deterministicMNManager, NetMsgType::DSCOMPLETE, NetMsgType::DSFINALTX, NetMsgType::DSQUEUE, NetMsgType::DSSTATUSUPDATE, fEnablePrivateSend, fMasternodeMode, fPrivateSendRunning, g_enable_bip61, CMasternodeMetaMan::GetDsqCount(), CMasternodeMetaMan::GetDsqThreshold(), CNode::GetId(), CNode::GetLogString(), CMasternodeMetaMan::GetMetaInfo(), CNode::GetSendVersion(), CMasternodeSync::IsBlockchainSynced(), LOCK, LogPrint, masternodeSync, MIN_PRIVATESEND_PEER_PROTO_VERSION, Misbehaving(), mmetaman, CNode::nVersion, POOL_STATE_QUEUE, BCLog::PRIVATESEND, CConnman::PushMessage(), NetMsgType::REJECT, REJECT_OBSOLETE, ResetPool(), strprintf, TRY_LOCK, and CPrivateSendBaseManager::vecPrivateSendQueue.
Referenced by ProcessMessage().
◆ ProcessPendingDsaRequest()
void CPrivateSendClientManager::ProcessPendingDsaRequest | ( | CConnman & | connman | ) |
Definition at line 1177 of file privatesend-client.cpp.
References _(), cs_deqsessions, deqSessions, LOCK, and strAutoDenomResult.
Referenced by DoMaintenance().
◆ ResetPool()
void CPrivateSendClientManager::ResetPool | ( | ) |
Definition at line 236 of file privatesend-client.cpp.
References cs_deqsessions, deqSessions, LOCK, nCachedLastSuccessBlock, and vecMasternodesUsed.
Referenced by WalletInit::Flush(), ProcessMessage(), and OverviewPage::togglePrivateSend().
◆ UpdatedBlockTip()
void CPrivateSendClientManager::UpdatedBlockTip | ( | const CBlockIndex * | pindex | ) |
Definition at line 1692 of file privatesend-client.cpp.
References LogPrint, nCachedBlockHeight, CBlockIndex::nHeight, and BCLog::PRIVATESEND.
Referenced by CDSNotificationInterface::UpdatedBlockTip().
◆ UpdatedSuccessBlock()
void CPrivateSendClientManager::UpdatedSuccessBlock | ( | ) |
Definition at line 659 of file privatesend-client.cpp.
References fMasternodeMode, nCachedBlockHeight, and nCachedLastSuccessBlock.
Referenced by CPrivateSendClientSession::CompletedTransaction(), CPrivateSendClientSession::CreateDenominated(), and CPrivateSendClientSession::MakeCollateralAmounts().
◆ WaitForAnotherBlock()
|
private |
Definition at line 665 of file privatesend-client.cpp.
References fPrivateSendMultiSession, CMasternodeSync::IsBlockchainSynced(), masternodeSync, nCachedBlockHeight, nCachedLastSuccessBlock, and nMinBlocksToWait.
Referenced by DoAutomaticDenominating(), and GetStatuses().
Member Data Documentation
◆ cs_deqsessions
|
mutableprivate |
Definition at line 192 of file privatesend-client.h.
Referenced by CheckTimeout(), DoAutomaticDenominating(), GetJsonInfo(), GetMixingMasternodesInfo(), GetSessionDenoms(), GetStatuses(), ProcessMessage(), ProcessPendingDsaRequest(), and ResetPool().
◆ deqSessions
|
private |
Definition at line 191 of file privatesend-client.h.
Referenced by CheckTimeout(), DoAutomaticDenominating(), GetJsonInfo(), GetMixingMasternodesInfo(), GetSessionDenoms(), GetStatuses(), ProcessMessage(), ProcessPendingDsaRequest(), and ResetPool().
◆ fCreateAutoBackups
bool CPrivateSendClientManager::fCreateAutoBackups |
Definition at line 218 of file privatesend-client.h.
Referenced by CheckAutomaticBackup(), and OverviewPage::OverviewPage().
◆ fEnablePrivateSend
bool CPrivateSendClientManager::fEnablePrivateSend |
Definition at line 213 of file privatesend-client.h.
Referenced by CheckAutomaticBackup(), CheckTimeout(), CPrivateSendClientSession::CreateDenominated(), CPrivateSendClientSession::DoAutomaticDenominating(), DoAutomaticDenominating(), DoMaintenance(), WalletInit::Flush(), CWallet::GetAnonymizableBalance(), CWallet::GetAnonymizedBalance(), CWallet::GetAverageAnonymizedRounds(), CWallet::GetDenominatedBalance(), GetJsonInfo(), CWallet::GetNormalizedAnonymizedBalance(), WalletInit::InitPrivateSendSettings(), CPrivateSendClientSession::JoinExistingQueue(), CPrivateSendClientSession::MakeCollateralAmounts(), OptionsDialog::OptionsDialog(), OverviewPage::privateSendStatus(), CPrivateSendClientSession::ProcessMessage(), ProcessMessage(), CPrivateSendClientSession::SelectDenominate(), OptionsDialog::setModel(), BitcoinGUI::setWalletActionsEnabled(), CPrivateSendClientSession::SignFinalTransaction(), WalletInit::Start(), CPrivateSendClientSession::StartNewQueue(), CPrivateSendClientSession::UnlockCoins(), OptionsDialog::updatePrivateSendVisibility(), TransactionView::updatePrivateSendVisibility(), BitcoinGUI::updatePrivateSendVisibility(), and CoinControlDialog::updateView().
◆ fPrivateSendMultiSession
bool CPrivateSendClientManager::fPrivateSendMultiSession |
Definition at line 215 of file privatesend-client.h.
Referenced by CPrivateSendClientSession::DoAutomaticDenominating(), GetJsonInfo(), OptionsModel::Init(), WalletInit::InitPrivateSendSettings(), OptionsModel::setData(), and WaitForAnotherBlock().
◆ fPrivateSendRunning
bool CPrivateSendClientManager::fPrivateSendRunning |
Definition at line 214 of file privatesend-client.h.
Referenced by CheckAutomaticBackup(), CheckTimeout(), CPrivateSendClientSession::CreateDenominated(), OverviewPage::DisablePrivateSendCompletely(), CPrivateSendClientSession::DoAutomaticDenominating(), DoAutomaticDenominating(), WalletInit::Flush(), GetJsonInfo(), WalletInit::InitPrivateSendSettings(), CPrivateSendClientSession::JoinExistingQueue(), CPrivateSendClientSession::MakeCollateralAmounts(), CWallet::NewKeyPool(), OverviewPage::privateSendStatus(), ProcessMessage(), CPrivateSendClientSession::SelectDenominate(), BitcoinGUI::setNumBlocks(), CPrivateSendClientSession::SignFinalTransaction(), CPrivateSendClientSession::StartNewQueue(), and OverviewPage::togglePrivateSend().
◆ nCachedBlockHeight
|
private |
Definition at line 199 of file privatesend-client.h.
Referenced by UpdatedBlockTip(), UpdatedSuccessBlock(), and WaitForAnotherBlock().
◆ nCachedLastSuccessBlock
|
private |
Definition at line 194 of file privatesend-client.h.
Referenced by ResetPool(), UpdatedSuccessBlock(), and WaitForAnotherBlock().
◆ nCachedNumBlocks
int CPrivateSendClientManager::nCachedNumBlocks |
Definition at line 217 of file privatesend-client.h.
Referenced by OptionsDialog::on_okButton_clicked(), OverviewPage::privateSendStatus(), and OverviewPage::togglePrivateSend().
◆ nMinBlocksToWait
|
private |
Definition at line 195 of file privatesend-client.h.
Referenced by WaitForAnotherBlock().
◆ nPrivateSendAmount
int CPrivateSendClientManager::nPrivateSendAmount |
Definition at line 210 of file privatesend-client.h.
Referenced by CPrivateSendClientSession::DoAutomaticDenominating(), GetJsonInfo(), OptionsModel::Init(), WalletInit::InitPrivateSendSettings(), OptionsModel::setData(), setprivatesendamount(), and OverviewPage::updatePrivateSendProgress().
◆ nPrivateSendDenomsGoal
int CPrivateSendClientManager::nPrivateSendDenomsGoal |
Definition at line 211 of file privatesend-client.h.
Referenced by CPrivateSendClientSession::CreateDenominated(), GetJsonInfo(), and WalletInit::InitPrivateSendSettings().
◆ nPrivateSendDenomsHardCap
int CPrivateSendClientManager::nPrivateSendDenomsHardCap |
Definition at line 212 of file privatesend-client.h.
Referenced by CPrivateSendClientSession::CreateDenominated(), GetJsonInfo(), and WalletInit::InitPrivateSendSettings().
◆ nPrivateSendRandomRounds
int CPrivateSendClientManager::nPrivateSendRandomRounds |
Definition at line 209 of file privatesend-client.h.
Referenced by CWallet::GetRealOutpointPrivateSendRounds(), CWallet::IsFullyMixed(), and CPrivateSendClientSession::SubmitDenominate().
◆ nPrivateSendRounds
int CPrivateSendClientManager::nPrivateSendRounds |
Definition at line 208 of file privatesend-client.h.
Referenced by CWallet::GetCappedOutpointPrivateSendRounds(), GetJsonInfo(), CWallet::GetNormalizedAnonymizedBalance(), OptionsModel::Init(), WalletInit::InitPrivateSendSettings(), CWallet::IsFullyMixed(), WalletModel::pollBalanceChanged(), OptionsModel::setData(), setprivatesendrounds(), CPrivateSendClientSession::SubmitDenominate(), and OverviewPage::updatePrivateSendProgress().
◆ nPrivateSendSessions
int CPrivateSendClientManager::nPrivateSendSessions |
Definition at line 207 of file privatesend-client.h.
Referenced by DoAutomaticDenominating(), GetJsonInfo(), and WalletInit::InitPrivateSendSettings().
◆ strAutoDenomResult
|
private |
Definition at line 196 of file privatesend-client.h.
Referenced by CheckAutomaticBackup(), CheckTimeout(), DoAutomaticDenominating(), and ProcessPendingDsaRequest().
◆ vecMasternodesUsed
|
private |
Definition at line 188 of file privatesend-client.h.
Referenced by AddUsedMasternode(), DoAutomaticDenominating(), GetRandomNotUsedMasternode(), and ResetPool().
The documentation for this class was generated from the following files:
- src/privatesend/privatesend-client.h
- src/privatesend/privatesend-client.cpp