Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

CTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions). More...

#include <txmempool.h>

+ Collaboration diagram for CTxMemPoolEntry:

Public Member Functions

 CTxMemPoolEntry (const CTransactionRef &_tx, const CAmount &_nFee, int64_t _nTime, unsigned int _entryHeight, bool spendsCoinbase, unsigned int nSigOps, LockPoints lp)
 
const CTransactionGetTx () const
 
CTransactionRef GetSharedTx () const
 
const CAmountGetFee () const
 
size_t GetTxSize () const
 
int64_t GetTime () const
 
unsigned int GetHeight () const
 
unsigned int GetSigOpCount () const
 
int64_t GetModifiedFee () const
 
size_t DynamicMemoryUsage () const
 
const LockPointsGetLockPoints () const
 
void UpdateDescendantState (int64_t modifySize, CAmount modifyFee, int64_t modifyCount)
 
void UpdateAncestorState (int64_t modifySize, CAmount modifyFee, int64_t modifyCount, int64_t modifySigOps)
 
void UpdateFeeDelta (int64_t feeDelta)
 
void UpdateLockPoints (const LockPoints &lp)
 
uint64_t GetCountWithDescendants () const
 
uint64_t GetSizeWithDescendants () const
 
CAmount GetModFeesWithDescendants () const
 
bool GetSpendsCoinbase () const
 
uint64_t GetCountWithAncestors () const
 
uint64_t GetSizeWithAncestors () const
 
CAmount GetModFeesWithAncestors () const
 
unsigned int GetSigOpCountWithAncestors () const
 

Public Attributes

size_t vTxHashesIdx
 Index in mempool's vTxHashes. More...
 
uint256 validForProTxKey
 
bool isKeyChangeProTx {false}
 

Private Attributes

CTransactionRef tx
 
CAmount nFee
 Cached to avoid expensive parent-transaction lookups. More...
 
size_t nTxSize
 ... and avoid recomputing tx size More...
 
size_t nUsageSize
 ... and total memory usage More...
 
int64_t nTime
 Local time when entering the mempool. More...
 
unsigned int entryHeight
 Chain height when entering the mempool. More...
 
bool spendsCoinbase
 keep track of transactions that spend a coinbase More...
 
unsigned int sigOpCount
 Legacy sig ops plus P2SH sig op count. More...
 
int64_t feeDelta
 Used for determining the priority of the transaction for mining in a block. More...
 
LockPoints lockPoints
 Track the height and time at which tx was final. More...
 
uint64_t nCountWithDescendants
 number of descendant transactions More...
 
uint64_t nSizeWithDescendants
 ... and size More...
 
CAmount nModFeesWithDescendants
 ... and total fees (all including us) More...
 
uint64_t nCountWithAncestors
 
uint64_t nSizeWithAncestors
 
CAmount nModFeesWithAncestors
 
unsigned int nSigOpCountWithAncestors
 

Detailed Description

CTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions).

When a new entry is added to the mempool, we update the descendant state (nCountWithDescendants, nSizeWithDescendants, and nModFeesWithDescendants) for all ancestors of the newly added transaction.

Definition at line 69 of file txmempool.h.

Constructor & Destructor Documentation

◆ CTxMemPoolEntry()

CTxMemPoolEntry::CTxMemPoolEntry ( const CTransactionRef _tx,
const CAmount _nFee,
int64_t  _nTime,
unsigned int  _entryHeight,
bool  spendsCoinbase,
unsigned int  nSigOps,
LockPoints  lp 
)

Member Function Documentation

◆ DynamicMemoryUsage()

size_t CTxMemPoolEntry::DynamicMemoryUsage ( ) const
inline

Definition at line 110 of file txmempool.h.

References nUsageSize.

Referenced by CTxMemPool::addUnchecked().

◆ GetCountWithAncestors()

uint64_t CTxMemPoolEntry::GetCountWithAncestors ( ) const
inline

Definition at line 129 of file txmempool.h.

References nCountWithAncestors.

Referenced by entryToJSON().

◆ GetCountWithDescendants()

uint64_t CTxMemPoolEntry::GetCountWithDescendants ( ) const
inline

Definition at line 123 of file txmempool.h.

References nCountWithDescendants.

Referenced by entryToJSON().

◆ GetFee()

const CAmount& CTxMemPoolEntry::GetFee ( ) const
inline

◆ GetHeight()

unsigned int CTxMemPoolEntry::GetHeight ( ) const
inline

◆ GetLockPoints()

const LockPoints& CTxMemPoolEntry::GetLockPoints ( ) const
inline

Definition at line 111 of file txmempool.h.

References lockPoints.

◆ GetModFeesWithAncestors()

CAmount CTxMemPoolEntry::GetModFeesWithAncestors ( ) const
inline

Definition at line 131 of file txmempool.h.

References nModFeesWithAncestors.

Referenced by entryToJSON().

◆ GetModFeesWithDescendants()

CAmount CTxMemPoolEntry::GetModFeesWithDescendants ( ) const
inline

◆ GetModifiedFee()

int64_t CTxMemPoolEntry::GetModifiedFee ( ) const
inline

◆ GetSharedTx()

CTransactionRef CTxMemPoolEntry::GetSharedTx ( ) const
inline

Definition at line 103 of file txmempool.h.

References tx.

Referenced by CTxMemPool::addUnchecked().

◆ GetSigOpCount()

unsigned int CTxMemPoolEntry::GetSigOpCount ( ) const
inline

Definition at line 108 of file txmempool.h.

References sigOpCount.

◆ GetSigOpCountWithAncestors()

unsigned int CTxMemPoolEntry::GetSigOpCountWithAncestors ( ) const
inline

Definition at line 132 of file txmempool.h.

References nSigOpCountWithAncestors.

◆ GetSizeWithAncestors()

uint64_t CTxMemPoolEntry::GetSizeWithAncestors ( ) const
inline

Definition at line 130 of file txmempool.h.

References nSizeWithAncestors.

Referenced by entryToJSON().

◆ GetSizeWithDescendants()

uint64_t CTxMemPoolEntry::GetSizeWithDescendants ( ) const
inline

◆ GetSpendsCoinbase()

bool CTxMemPoolEntry::GetSpendsCoinbase ( ) const
inline

Definition at line 127 of file txmempool.h.

References spendsCoinbase.

◆ GetTime()

int64_t CTxMemPoolEntry::GetTime ( ) const
inline

◆ GetTx()

◆ GetTxSize()

◆ UpdateAncestorState()

void CTxMemPoolEntry::UpdateAncestorState ( int64_t  modifySize,
CAmount  modifyFee,
int64_t  modifyCount,
int64_t  modifySigOps 
)

◆ UpdateDescendantState()

void CTxMemPoolEntry::UpdateDescendantState ( int64_t  modifySize,
CAmount  modifyFee,
int64_t  modifyCount 
)

◆ UpdateFeeDelta()

void CTxMemPoolEntry::UpdateFeeDelta ( int64_t  feeDelta)

Definition at line 49 of file txmempool.cpp.

References feeDelta, nModFeesWithAncestors, and nModFeesWithDescendants.

Referenced by update_fee_delta::operator()().

◆ UpdateLockPoints()

void CTxMemPoolEntry::UpdateLockPoints ( const LockPoints lp)

Definition at line 56 of file txmempool.cpp.

References lockPoints.

Referenced by update_lock_points::operator()().

Member Data Documentation

◆ entryHeight

unsigned int CTxMemPoolEntry::entryHeight
private

Chain height when entering the mempool.

Definition at line 77 of file txmempool.h.

Referenced by GetHeight().

◆ feeDelta

int64_t CTxMemPoolEntry::feeDelta
private

Used for determining the priority of the transaction for mining in a block.

Definition at line 80 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetModifiedFee(), and UpdateFeeDelta().

◆ isKeyChangeProTx

bool CTxMemPoolEntry::isKeyChangeProTx {false}
mutable

Definition at line 138 of file txmempool.h.

◆ lockPoints

LockPoints CTxMemPoolEntry::lockPoints
private

Track the height and time at which tx was final.

Definition at line 81 of file txmempool.h.

Referenced by GetLockPoints(), and UpdateLockPoints().

◆ nCountWithAncestors

uint64_t CTxMemPoolEntry::nCountWithAncestors
private

Definition at line 91 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetCountWithAncestors(), and UpdateAncestorState().

◆ nCountWithDescendants

uint64_t CTxMemPoolEntry::nCountWithDescendants
private

number of descendant transactions

Definition at line 86 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetCountWithDescendants(), and UpdateDescendantState().

◆ nFee

CAmount CTxMemPoolEntry::nFee
private

Cached to avoid expensive parent-transaction lookups.

Definition at line 73 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetFee(), and GetModifiedFee().

◆ nModFeesWithAncestors

CAmount CTxMemPoolEntry::nModFeesWithAncestors
private

◆ nModFeesWithDescendants

CAmount CTxMemPoolEntry::nModFeesWithDescendants
private

... and total fees (all including us)

Definition at line 88 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetModFeesWithDescendants(), UpdateDescendantState(), and UpdateFeeDelta().

◆ nSigOpCountWithAncestors

unsigned int CTxMemPoolEntry::nSigOpCountWithAncestors
private

Definition at line 94 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetSigOpCountWithAncestors(), and UpdateAncestorState().

◆ nSizeWithAncestors

uint64_t CTxMemPoolEntry::nSizeWithAncestors
private

Definition at line 92 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetSizeWithAncestors(), and UpdateAncestorState().

◆ nSizeWithDescendants

uint64_t CTxMemPoolEntry::nSizeWithDescendants
private

... and size

Definition at line 87 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetSizeWithDescendants(), and UpdateDescendantState().

◆ nTime

int64_t CTxMemPoolEntry::nTime
private

Local time when entering the mempool.

Definition at line 76 of file txmempool.h.

Referenced by GetTime().

◆ nTxSize

size_t CTxMemPoolEntry::nTxSize
private

... and avoid recomputing tx size

Definition at line 74 of file txmempool.h.

Referenced by CTxMemPoolEntry(), and GetTxSize().

◆ nUsageSize

size_t CTxMemPoolEntry::nUsageSize
private

... and total memory usage

Definition at line 75 of file txmempool.h.

Referenced by CTxMemPoolEntry(), and DynamicMemoryUsage().

◆ sigOpCount

unsigned int CTxMemPoolEntry::sigOpCount
private

Legacy sig ops plus P2SH sig op count.

Definition at line 79 of file txmempool.h.

Referenced by CTxMemPoolEntry(), and GetSigOpCount().

◆ spendsCoinbase

bool CTxMemPoolEntry::spendsCoinbase
private

keep track of transactions that spend a coinbase

Definition at line 78 of file txmempool.h.

Referenced by GetSpendsCoinbase().

◆ tx

CTransactionRef CTxMemPoolEntry::tx
private

Definition at line 72 of file txmempool.h.

Referenced by CTxMemPoolEntry(), GetSharedTx(), and GetTx().

◆ validForProTxKey

uint256 CTxMemPoolEntry::validForProTxKey
mutable

Definition at line 137 of file txmempool.h.

◆ vTxHashesIdx

size_t CTxMemPoolEntry::vTxHashesIdx
mutable

Index in mempool's vTxHashes.

Definition at line 134 of file txmempool.h.


The documentation for this class was generated from the following files:
Released under the MIT license