Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
privatesend-client.h
Go to the documentation of this file.
39 // a final one and start creating an actual tx. Same limit applies for the "hard cap" part of the algo.
44 // Additionally to need all 500 outputs (assuming a max per denom of 50) you'd need to be trying to
117 bool CreateDenominated(CAmount nBalanceToDenominate, const CompactTallyItem& tallyItem, bool fCreateMixingCollaterals);
127 bool SelectDenominate(std::string& strErrorRet, std::vector<std::pair<CTxDSIn, CTxOut> >& vecPSInOutPairsRet);
129 bool PrepareDenominate(int nMinRounds, int nMaxRounds, std::string& strErrorRet, const std::vector<std::pair<CTxDSIn, CTxOut> >& vecPSInOutPairsIn, std::vector<std::pair<CTxDSIn, CTxOut> >& vecPSInOutPairsRet, bool fDryRun = false);
131 bool SendDenominate(const std::vector<std::pair<CTxDSIn, CTxOut> >& vecPSInOutPairsIn, CConnman& connman);
141 bool SignFinalTransaction(const CTransaction& finalTransactionNew, CNode* pnode, CConnman& connman);
159 void ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStream& vRecv, CConnman& connman);
195 int nMinBlocksToWait; // how many blocks to wait after one successful mixing tx in non-multisession mode
240 void ProcessMessage(CNode* pfrom, const std::string& strCommand, CDataStream& vRecv, CConnman& connman);
bool SubmitDenominate(CConnman &connman)
As a client, submit part of a future mixing transaction to a Masternode to start the process...
Definition: privatesend-client.cpp:1187
int nPrivateSendDenomsGoal
Definition: privatesend-client.h:211
std::string GetStatuses()
Definition: privatesend-client.cpp:317
CPendingDsaRequest(const CService &addr_, const CPrivateSendAccept &dsa_)
Definition: privatesend-client.h:76
static const bool DEFAULT_PRIVATESEND_AUTOSTART
Definition: privatesend-client.h:35
Used to keep track of current status of mixing pool.
Definition: privatesend-client.h:184
int nPrivateSendDenomsHardCap
Definition: privatesend-client.h:212
bool fCreateAutoBackups
Definition: privatesend-client.h:218
void SetState(PoolState nStateNew)
Definition: privatesend-client.cpp:1686
void UpdatedBlockTip(const CBlockIndex *pindex)
Definition: privatesend-client.cpp:1692
Definition: privatesend-client.h:59
static const int DEFAULT_PRIVATESEND_DENOMS_HARDCAP
Definition: privatesend-client.h:33
static const CAmount MAX_MONEY
No amount larger than this (in satoshi) is valid.
Definition: amount.h:26
bool PrepareDenominate(int nMinRounds, int nMaxRounds, std::string &strErrorRet, const std::vector< std::pair< CTxDSIn, CTxOut > > &vecPSInOutPairsIn, std::vector< std::pair< CTxDSIn, CTxOut > > &vecPSInOutPairsRet, bool fDryRun=false)
step 1: prepare denominated inputs and outputs
Definition: privatesend-client.cpp:1264
bool SendDenominate(const std::vector< std::pair< CTxDSIn, CTxOut > > &vecPSInOutPairsIn, CConnman &connman)
step 2: send denominated inputs and outputs prepared in step 1
Definition: privatesend-client.cpp:417
static const int DEFAULT_PRIVATESEND_AMOUNT
Definition: privatesend-client.h:31
std::string strLastMessage
Definition: privatesend-client.h:106
void ProcessPoolStateUpdate(CPrivateSendStatusUpdate psssup)
Process Masternode updates about the progress of mixing.
Definition: privatesend-client.cpp:473
bool CheckAutomaticBackup()
Definition: privatesend-client.cpp:674
static const int PRIVATESEND_KEYS_THRESHOLD_WARNING
Definition: privatesend-client.h:50
Definition: privatesend.h:81
Definition: univalue.h:20
std::string strAutoDenomResult
Definition: privatesend-client.h:107
void GetJsonInfo(UniValue &obj) const
Definition: privatesend-client.cpp:1732
Definition: box.hpp:161
Double ended buffer combining vector and stream-like interfaces.
Definition: streams.h:103
std::shared_ptr< const CDeterministicMN > CDeterministicMNCPtr
Definition: deterministicmns.h:249
friend bool operator==(const CPendingDsaRequest &a, const CPendingDsaRequest &b)
Definition: privatesend-client.h:87
bool GetMixingMasternodeInfo(CDeterministicMNCPtr &ret) const
Definition: privatesend-client.cpp:340
static const int MAX_PRIVATESEND_DENOMS_HARDCAP
Definition: privatesend-client.h:27
CDeterministicMNCPtr mixingMasternode
Definition: privatesend-client.h:109
Definition: privatesend.h:143
Definition: privatesend.h:397
static const int PRIVATESEND_RANDOM_ROUNDS
Definition: privatesend-client.h:54
Definition: privatesend.h:359
int nPrivateSendAmount
Definition: privatesend-client.h:210
std::string strAutoDenomResult
Definition: privatesend-client.h:196
static const int DEFAULT_PRIVATESEND_ROUNDS
Definition: privatesend-client.h:30
bool StartNewQueue(CAmount nBalanceNeedsAnonymized, CConnman &connman)
Definition: privatesend-client.cpp:1073
int nPrivateSendRandomRounds
Definition: privatesend-client.h:209
CCriticalSection cs_deqsessions
Definition: privatesend-client.h:192
int nCachedBlockHeight
Definition: privatesend-client.h:199
bool DoAutomaticDenominating(CConnman &connman, bool fDryRun=false)
Passively run mixing in the background according to the configuration in settings.
Definition: privatesend-client.cpp:744
A combination of a network address (CNetAddr) and a (TCP) port.
Definition: netaddress.h:143
Definition: privatesend.h:173
bool ProcessPendingDsaRequest(CConnman &connman)
Definition: privatesend-client.cpp:1153
static const int DEFAULT_PRIVATESEND_SESSIONS
Definition: privatesend-client.h:29
Definition: wallet.h:107
CPrivateSendClientManager()
Definition: privatesend-client.h:220
std::vector< COutPoint > vecMasternodesUsed
Definition: privatesend-client.h:188
bool SignFinalTransaction(const CTransaction &finalTransactionNew, CNode *pnode, CConnman &connman)
As a client, check and sign the final transaction.
Definition: privatesend-client.cpp:525
friend bool operator!=(const CPendingDsaRequest &a, const CPendingDsaRequest &b)
Definition: privatesend-client.h:91
Definition: privatesend-util.h:28
An outpoint - a combination of a transaction hash and an index n into its vout.
Definition: transaction.h:26
CDeterministicMNCPtr GetRandomNotUsedMasternode()
Definition: privatesend-client.cpp:975
void CompletedTransaction(PoolMessage nMessageID)
Definition: privatesend-client.cpp:642
bool SelectDenominate(std::string &strErrorRet, std::vector< std::pair< CTxDSIn, CTxOut > > &vecPSInOutPairsRet)
step 0: select denominated inputs and txouts
Definition: privatesend-client.cpp:1239
bool CreateDenominated(CAmount nBalanceToDenominate)
Create denominations.
Definition: privatesend-client.cpp:1452
bool fEnablePrivateSend
Definition: privatesend-client.h:213
CKeyHolderStorage keyHolderStorage
Definition: privatesend-client.h:113
void ProcessPendingDsaRequest(CConnman &connman)
Definition: privatesend-client.cpp:1177
static const int MAX_PRIVATESEND_SESSIONS
Definition: privatesend-client.h:24
static const int PRIVATESEND_DENOM_OUTPUTS_THRESHOLD
Definition: privatesend-client.h:46
void ProcessMessage(CNode *pfrom, const std::string &strCommand, CDataStream &vRecv, CConnman &connman)
Definition: privatesend-client.cpp:134
CPendingDsaRequest pendingDsaRequest
Definition: privatesend-client.h:111
int nCachedLastSuccessBlock
Definition: privatesend-client.h:194
static const int DEFAULT_PRIVATESEND_DENOMS_GOAL
Definition: privatesend-client.h:32
int nPrivateSendRounds
Definition: privatesend-client.h:208
The block chain is a tree shaped structure starting with the genesis block at the root...
Definition: chain.h:170
static const int MIN_PRIVATESEND_DENOMS_GOAL
Definition: privatesend-client.h:22
void DoMaintenance(CConnman &connman)
Definition: privatesend-client.cpp:1698
static const int MIN_PRIVATESEND_DENOMS_HARDCAP
Definition: privatesend-client.h:23
void GetJsonInfo(UniValue &obj) const
Definition: privatesend-client.cpp:1717
std::string GetSessionDenoms()
Definition: privatesend-client.cpp:329
void RelayIn(const CPrivateSendEntry &entry, CConnman &connman)
Definition: privatesend-client.cpp:1674
void UpdatedSuccessBlock()
Definition: privatesend-client.cpp:659
static const int PRIVATESEND_KEYS_THRESHOLD_STOP
Definition: privatesend-client.h:52
std::string GetStatus(bool fWaitForBlock)
Definition: privatesend-client.cpp:277
bool GetMixingMasternodesInfo(std::vector< CDeterministicMNCPtr > &vecDmnsRet) const
Definition: privatesend-client.cpp:346
static const int MAX_PRIVATESEND_DENOMS_GOAL
Definition: privatesend-client.h:26
static const int MIN_PRIVATESEND_SESSIONS
Definition: privatesend-client.h:19
std::vector< COutPoint > vecOutPointLocked
Definition: privatesend-client.h:104
bool DoAutomaticDenominating(CConnman &connman, bool fDryRun=false)
Passively run mixing in the background according to the configuration in settings.
Definition: privatesend-client.cpp:923
bool JoinExistingQueue(CAmount nBalanceNeedsAnonymized, CConnman &connman)
Definition: privatesend-client.cpp:1014
std::deque< CPrivateSendClientSession > deqSessions
Definition: privatesend-client.h:191
The basic transaction that is broadcasted on the network and contained in blocks. ...
Definition: transaction.h:198
bool MakeCollateralAmounts()
Split up large inputs or make fee sized inputs.
Definition: privatesend-client.cpp:1324
bool fPrivateSendMultiSession
Definition: privatesend-client.h:215
bool WaitForAnotherBlock()
Definition: privatesend-client.cpp:665
void AddUsedMasternode(const COutPoint &outpointMn)
Definition: privatesend-client.cpp:970
CMutableTransaction txMyCollateral
Definition: privatesend-client.h:110
void ProcessMessage(CNode *pfrom, const std::string &strCommand, CDataStream &vRecv, CConnman &connman)
Definition: privatesend-client.cpp:27
static const bool DEFAULT_PRIVATESEND_MULTISESSION
Definition: privatesend-client.h:36
CPrivateSendClientSession()
Definition: privatesend-client.h:148
Wrapped mutex: supports recursive locking, but no waiting TODO: We should move away from using the re...
Definition: sync.h:94
int nPrivateSendSessions
Definition: privatesend-client.h:207
bool fPrivateSendRunning
Definition: privatesend-client.h:214