Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
privatesend.h
Go to the documentation of this file.
97 CPrivateSendStatusUpdate(int nSessionID, PoolState nState, int nEntriesCount, PoolStatusUpdate nStatusUpdate, PoolMessage nMessageID) :
190 CPrivateSendEntry(const std::vector<CTxDSIn>& vecTxDSIn, const std::vector<CTxOut>& vecTxOut, const CTransaction& txCollateral) :
280 nDenom, nTime, fReady ? "true" : "false", fTried ? "true" : "false", masternodeOutpoint.ToStringShort());
285 return a.nDenom == b.nDenom && a.masternodeOutpoint == b.masternodeOutpoint && a.nTime == b.nTime && a.fReady == b.fReady;
375 bool IsValidInOuts(const std::vector<CTxIn>& vin, const std::vector<CTxOut>& vout, PoolMessage& nMessageIDRet, bool* fConsumeCollateralRet) const;
449 static int GetMinPoolParticipants() { return sporkManager.IsSporkActive(SPORK_22_PS_MORE_PARTICIPANTS) ?
452 static int GetMaxPoolParticipants() { return sporkManager.IsSporkActive(SPORK_22_PS_MORE_PARTICIPANTS) ?
456 static CAmount GetMaxPoolAmount() { return vecStandardDenominations.empty() ? 0 : PRIVATESEND_ENTRY_MAX_SIZE * vecStandardDenominations.front(); }
473 static void BlockConnected(const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindex, const std::vector<CTransactionRef>& vtxConflicted);
474 static void BlockDisconnected(const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindexDisconnected);
static void UpdatedBlockTip(const CBlockIndex *pindex)
Definition: privatesend.cpp:558
Definition: privatesend.h:34
Definition: privatesend.h:64
Definition: privatesend.h:56
static CAmount GetSmallestDenomination()
Definition: privatesend.h:437
Definition: privatesend.h:49
Definition: privatesend.h:58
Definition: privatesend.h:41
static void CheckDSTXes(const CBlockIndex *pindex)
Definition: privatesend.cpp:544
static bool IsDenominatedAmount(CAmount nInputAmount)
Definition: privatesend.cpp:469
uint256 GetSignatureHash() const
Definition: privatesend.cpp:90
Definition: privatesend.h:69
Definition: privatesend.h:50
bool CheckSignature(const CBLSPublicKey &blsPubKey) const
Check if we have a valid Masternode address.
Definition: privatesend.cpp:60
If none of the specialized versions above matched and T is an enum, default to calling Serialize/Unse...
Definition: params.h:197
std::vector< CPrivateSendEntry > vecEntries
Definition: privatesend.h:364
static void BlockConnected(const std::shared_ptr< const CBlock > &pblock, const CBlockIndex *pindex, const std::vector< CTransactionRef > &vtxConflicted)
Definition: privatesend.cpp:591
friend bool operator!=(const CPrivateSendBroadcastTx &a, const CPrivateSendBroadcastTx &b)
Definition: privatesend.h:339
CPrivateSendBroadcastTx()
Definition: privatesend.h:304
CPrivateSendAccept(int nDenom, const CMutableTransaction &txCollateral)
Definition: privatesend.h:153
A currently in progress mixing merge and denomination information.
Definition: privatesend.h:215
static int GetMaxPoolParticipants()
Definition: privatesend.h:452
CPrivateSendEntry(const std::vector< CTxDSIn > &vecTxDSIn, const std::vector< CTxOut > &vecTxOut, const CTransaction &txCollateral)
Definition: privatesend.h:190
Definition: privatesend.h:51
Definition: privatesend.h:81
Definition: privatesend.h:39
Definition: privatesend.h:77
Definition: privatesend.h:36
Definition: box.hpp:161
Definition: privatesend.h:52
static int AmountToDenomination(CAmount nInputAmount)
Definition: privatesend.cpp:403
CMutableTransaction finalMutableTransaction
Definition: privatesend.h:371
static void NotifyChainLock(const CBlockIndex *pindex)
Definition: privatesend.cpp:565
static std::vector< CAmount > GetStandardDenominations()
Definition: privatesend.h:436
Definition: privatesend.h:143
Definition: privatesend.h:42
friend bool operator==(const CPrivateSendAccept &a, const CPrivateSendAccept &b)
Definition: privatesend.h:166
Definition: privatesend.h:397
Definition: privatesend.h:53
Definition: privatesend.h:359
static void BlockDisconnected(const std::shared_ptr< const CBlock > &pblock, const CBlockIndex *pindexDisconnected)
Definition: privatesend.cpp:603
static std::vector< CAmount > vecStandardDenominations
Definition: privatesend.h:427
COutPoint masternodeOutpoint
Definition: privatesend.h:300
static void UpdateDSTXConfirmedHeight(const CTransactionRef &tx, int nHeight)
Definition: privatesend.cpp:572
static int GetMinPoolParticipants()
Get the minimum/maximum number of participants for the pool.
Definition: privatesend.h:449
Definition: privatesend.h:68
static void InitStandardDenominations()
Definition: privatesend.cpp:316
static bool IsCollateralValid(const CTransaction &txCollateral)
If the collateral is valid given by a client.
Definition: privatesend.cpp:339
Definition: privatesend.h:45
Definition: privatesend.h:38
bool GetQueueItemAndTry(CPrivateSendQueue &dsqRet)
Definition: privatesend.cpp:191
Definition: privatesend.h:67
Definition: privatesend.h:44
static CPrivateSendBroadcastTx GetDSTX(const uint256 &hash)
Definition: privatesend.cpp:537
Definition: bls.h:263
Definition: privatesend.h:55
A combination of a network address (CNetAddr) and a (TCP) port.
Definition: netaddress.h:143
Definition: privatesend.h:173
Definition: privatesend.h:417
std::vector< CPrivateSendQueue > vecPrivateSendQueue
Definition: privatesend.h:403
CPrivateSendBroadcastTx(const CTransactionRef &_tx, COutPoint _outpoint, int64_t _sigTime)
Definition: privatesend.h:313
int64_t nTimeLastSuccessfulStep
Definition: privatesend.h:367
Definition: privatesend.h:70
static void TransactionAddedToMempool(const CTransactionRef &tx)
Definition: privatesend.cpp:585
static void AddDSTX(const CPrivateSendBroadcastTx &dstx)
Definition: privatesend.cpp:531
An outpoint - a combination of a transaction hash and an index n into its vout.
Definition: transaction.h:26
bool IsExpired(const CBlockIndex *pindex)
Definition: privatesend.cpp:124
void SerializationOp(Stream &s, Operation ser_action)
Definition: privatesend.h:249
CPrivateSend & operator=(CPrivateSend const &)=delete
CPrivateSendBaseManager()
Definition: privatesend.h:409
bool IsTimeOutOfBounds() const
Check if a queue is too old or too far into the future.
Definition: privatesend.cpp:85
Definition: privatesend.h:37
void SerializationOp(Stream &s, Operation ser_action)
Definition: privatesend.h:201
void SerializationOp(Stream &s, Operation ser_action)
Definition: privatesend.h:325
std::string GetStateString() const
Definition: privatesend.cpp:207
Definition: privatesend.h:57
static bool IsValidDenomination(int nDenom)
Definition: privatesend.cpp:474
Helper class to store mixing transaction (tx) information.
Definition: privatesend.h:291
CPrivateSendBaseSession()
Definition: privatesend.h:380
Definition: privatesend.h:47
The block chain is a tree shaped structure starting with the genesis block at the root...
Definition: chain.h:170
const CChainParams & Params()
Return the currently selected parameters.
Definition: chainparams.cpp:947
CPrivateSendQueue(int nDenom, COutPoint outpoint, int64_t nTime, bool fReady)
Definition: privatesend.h:236
static const int PRIVATESEND_AUTO_TIMEOUT_MAX
Definition: privatesend.h:23
static const int MIN_PRIVATESEND_PEER_PROTO_VERSION
minimum peer version accepted by mixing pool
Definition: privatesend.h:28
CPrivateSendStatusUpdate(int nSessionID, PoolState nState, int nEntriesCount, PoolStatusUpdate nStatusUpdate, PoolMessage nMessageID)
Definition: privatesend.h:97
CPrivateSendStatusUpdate()
Definition: privatesend.h:90
static std::string GetMessageByID(PoolMessage nMessageID)
Definition: privatesend.cpp:479
static std::map< uint256, CPrivateSendBroadcastTx > mapDSTX
Definition: privatesend.h:428
static CAmount GetMaxCollateralAmount()
Definition: privatesend.h:461
bool IsValidInOuts(const std::vector< CTxIn > &vin, const std::vector< CTxOut > &vout, PoolMessage &nMessageIDRet, bool *fConsumeCollateralRet) const
Definition: privatesend.cpp:225
void SerializationOp(Stream &s, Operation ser_action)
Definition: privatesend.h:107
static const int PRIVATESEND_AUTO_TIMEOUT_MIN
Definition: privatesend.h:22
bool CheckSignature(const CBLSPublicKey &blsPubKey) const
Definition: privatesend.cpp:110
static bool IsCollateralAmount(CAmount nInputAmount)
Definition: privatesend.cpp:393
Definition: privatesend.h:46
void SerializationOp(Stream &s, Operation ser_action)
Definition: privatesend.h:160
friend bool operator==(const CPrivateSendBroadcastTx &a, const CPrivateSendBroadcastTx &b)
Definition: privatesend.h:335
Definition: privatesend.h:40
The basic transaction that is broadcasted on the network and contained in blocks. ...
Definition: transaction.h:198
bool IsSporkActive(SporkId nSporkID)
IsSporkActive returns a bool for time-based sporks, and should be used to determine whether the spork...
Definition: spork.cpp:211
Definition: spork.h:30
Definition: privatesend.h:76
static CAmount DenominationToAmount(int nDenom)
Definition: privatesend.cpp:419
Definition: privatesend.h:43
Definition: privatesend.h:66
static std::string DenominationToString(int nDenom)
Definition: privatesend.cpp:453
Definition: privatesend.h:65
Definition: privatesend.h:54
Definition: serialize.h:162
Wrapped mutex: supports recursive locking, but no waiting TODO: We should move away from using the re...
Definition: sync.h:94
friend bool operator==(const CPrivateSendQueue &a, const CPrivateSendQueue &b)
Definition: privatesend.h:283
void SetConfirmedHeight(int nConfirmedHeightIn)
Definition: privatesend.h:353
Definition: privatesend.h:48
static const size_t PRIVATESEND_ENTRY_MAX_SIZE
Definition: privatesend.h:30
Definition: privatesend.h:35