136 explicit operator bool()
const 174 template <
typename Stream,
typename Operation>
175 inline void SerializationOp(Stream& s, Operation ser_action,
int nType,
int nVersion) {
219 std::vector<CTxLockVote>
GetVotes()
const;
static const int INSTANTSEND_CONFIRMATIONS_REQUIRED
void UpdateLockedTransaction(const CTxLockCandidate &txLockCandidate)
static const CAmount MIN_FEE
COutPoint outpointMasternode
int64_t GetAverageMasternodeOrphanVoteTime()
void TryToFinalizeLockCandidate(const CTxLockCandidate &txLockCandidate)
bool IsTxLockCandidateTimedOut(const uint256 &txHash)
bool GetLockedOutPointTxHash(const COutPoint &outpoint, uint256 &hashRet)
bool GetTxLockVote(const uint256 &hash, CTxLockVote &txLockVoteRet)
std::map< uint256, CTxLockVote > mapTxLockVotesOrphan
bool IsExpired(int nHeight) const
void AcceptLockRequest(const CTxLockRequest &txLockRequest)
bool IsAllOutPointsReady() const
bool IsEnoughOrphanVotesForTxAndOutPoint(const uint256 &txHash, const COutPoint &outpoint)
void UpdatedBlockTip(const CBlockIndex *pindex)
static const int SIGNATURES_REQUIRED
static const int DEFAULT_INSTANTSEND_DEPTH
std::map< COutPoint, COutPointLock > mapOutPointLocks
COutPointLock(const COutPoint &outpointIn)
static const CAmount COIN
void Relay(const uint256 &txHash, CConnman &connman)
bool CreateTxLockCandidate(const CTxLockRequest &txLockRequest)
std::map< uint256, CTxLockVote > mapTxLockVotes
static const int SIGNATURES_TOTAL
bool HasMasternodeVoted(const COutPoint &outpointMasternodeIn) const
bool AlreadyHave(const uint256 &hash)
void Relay(CConnman &connman) const
std::map< uint256, CTxLockRequest > mapLockRequestRejected
bool AddVote(const CTxLockVote &vote)
void ProcessOrphanTxLockVotes(CConnman &connman)
uint256 GetTxHash() const
COutPoint GetOutpoint() const
CTxLockRequest(const CTransaction &tx)
void Relay(CConnman &connman) const
void SetConfirmedHeight(int nConfirmedHeightIn)
std::map< COutPoint, uint256 > mapLockedOutpoints
void RejectLockRequest(const CTxLockRequest &txLockRequest)
std::map< COutPoint, CTxLockVote > mapMasternodeVotes
bool IsInstantSendReadyToLock(const uint256 &txHash)
int GetTransactionLockSignatures(const uint256 &txHash)
void Vote(CTxLockCandidate &txLockCandidate, CConnman &connman)
CCriticalSection cs_instantsend
CTxLockRequest txLockRequest
int GetConfirmations(const uint256 &nTXHash)
static const int INSTANTSEND_FAILED_TIMEOUT_SECONDS
COutPoint GetOutpoint() const
COutPoint GetMasternodeOutpoint() const
void ProcessMessage(CNode *pfrom, std::string &strCommand, CDataStream &vRecv, CConnman &connman)
std::map< COutPoint, int64_t > mapMasternodeOrphanVotes
bool IsLockedInstantSendTransaction(const uint256 &txHash)
bool IsValid(CNode *pnode, CConnman &connman) const
std::map< uint256, CTxLockCandidate > mapTxLockCandidates
bool CheckSignature() const
bool IsExpired(int nHeight) const
void Relay(CConnman &connman) const
const uint256 & GetHash() const
CAmount GetMinFee() const
std::map< COutPoint, std::set< uint256 > > mapVotedOutpoints
bool ProcessTxLockRequest(const CTxLockRequest &txLockRequest, CConnman &connman)
bool ProcessTxLockVote(CNode *pfrom, CTxLockVote &vote, CConnman &connman)
bool AddVote(const CTxLockVote &vote)
std::vector< unsigned char > vchMasternodeSignature
CTxLockCandidate(const CTxLockRequest &txLockRequestIn)
bool HasTxLockRequest(const uint256 &txHash)
static const int INSTANTSEND_LOCK_TIMEOUT_SECONDS
bool GetTxLockRequest(const uint256 &txHash, CTxLockRequest &txLockRequestRet)
static const int WARN_MANY_INPUTS
void AddOutPointLock(const COutPoint &outpoint)
void MarkOutpointAsAttacked(const COutPoint &outpoint)
void SetConfirmedHeight(int nConfirmedHeightIn)
int64_t GetTime()
For unit testing.
static const int MIN_INSTANTSEND_PROTO_VERSION
bool IsEnoughOrphanVotesForTx(const CTxLockRequest &txLockRequest)
std::vector< CTxLockVote > GetVotes() const
int GetMaxSignatures() const
void SyncTransaction(const CTransaction &tx, const CBlock *pblock)
std::map< uint256, CTxLockRequest > mapLockRequestAccepted
void LockTransactionInputs(const CTxLockCandidate &txLockCandidate)
void SerializationOp(Stream &s, Operation ser_action, int nType, int nVersion)
bool ResolveConflicts(const CTxLockCandidate &txLockCandidate)
void CreateEmptyTxLockCandidate(const uint256 &txHash)
CTxLockVote(const uint256 &txHashIn, const COutPoint &outpointIn, const COutPoint &outpointMasternodeIn)
bool HasMasternodeVoted(const COutPoint &outpointIn, const COutPoint &outpointMasternodeIn)