5 #ifndef PRIVATESENDCLIENT_H 6 #define PRIVATESENDCLIENT_H 87 bool PrepareDenominate(
int nMinRounds,
int nMaxRounds, std::string& strErrorRet, std::vector<CTxIn>& vecTxInRet, std::vector<CTxOut>& vecTxOutRet);
89 bool SendDenominate(
const std::vector<CTxIn>& vecTxIn,
const std::vector<CTxOut>& vecTxOut,
CConnman& connman);
void ClearSkippedDenominations()
std::string strAutoDenomResult
bool PrepareDenominate(int nMinRounds, int nMaxRounds, std::string &strErrorRet, std::vector< CTxIn > &vecTxInRet, std::vector< CTxOut > &vecTxOutRet)
step 1: prepare denominated inputs and outputs
static const int DENOMS_COUNT_MAX
CMutableTransaction txMyCollateral
bool JoinExistingQueue(CAmount nBalanceNeedsAnonymized, CConnman &connman)
void RelayIn(const CDarkSendEntry &entry, CConnman &connman)
CKeyHolderStorage keyHolderStorage
void ThreadCheckPrivateSendClient(CConnman &connman)
CPrivateSendClient privateSendClient
static const int DEFAULT_PRIVATESEND_AMOUNT
std::vector< CAmount > vecDenominationsSkipped
void SetState(PoolState nStateNew)
static const int PRIVATESEND_KEYS_THRESHOLD_WARNING
bool SubmitDenominate(CConnman &connman)
As a client, submit part of a future mixing transaction to a Masternode to start the process...
bool CheckAutomaticBackup()
void CompletedTransaction(PoolMessage nMessageID)
static const int DEFAULT_PRIVATESEND_LIQUIDITY
masternode_info_t infoMixingMasternode
static const int DEFAULT_PRIVATESEND_ROUNDS
bool CreateDenominated(CConnman &connman)
Create denominations.
std::string strLastMessage
std::vector< COutPoint > vecOutPointLocked
void CheckPool()
Check for process.
bool SendDenominate(const std::vector< CTxIn > &vecTxIn, const std::vector< CTxOut > &vecTxOut, CConnman &connman)
step 2: send denominated inputs and outputs prepared in step 1
void SetMinBlocksToWait(int nMinBlocksToWaitIn)
void ProcessMessage(CNode *pfrom, std::string &strCommand, CDataStream &vRecv, CConnman &connman)
std::vector< COutPoint > vecMasternodesUsed
bool CheckPoolStateUpdate(PoolState nStateNew, int nEntriesCountNew, PoolStatusUpdate nStatusUpdate, PoolMessage nMessageID, int nSessionIDNew=0)
Get Masternode updates about the progress of mixing.
bool IsDenomSkipped(CAmount nDenomValue)
int nCachedLastSuccessBlock
static const int PRIVATESEND_KEYS_THRESHOLD_STOP
CCriticalSection cs_darksend
bool SignFinalTransaction(const CTransaction &finalTransactionNew, CNode *pnode, CConnman &connman)
As a client, check and sign the final transaction.
bool MakeCollateralAmounts(CConnman &connman)
Split up large inputs or make fee sized inputs.
bool DoAutomaticDenominating(CConnman &connman, bool fDryRun=false)
Passively run mixing in the background according to the configuration in settings.
void UpdatedBlockTip(const CBlockIndex *pindex)
static const bool DEFAULT_PRIVATESEND_MULTISESSION
bool WaitForAnotherBlock()
bool fPrivateSendMultiSession
bool StartNewQueue(CAmount nValueMin, CAmount nBalanceNeedsAnonymized, CConnman &connman)
void NewBlock()
Process a new block.