Raven Core  3.0.0
P2P Digital Currency
Public Member Functions | Public Attributes | Private Attributes | List of all members
CTxMemPoolEntry Class Reference

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:
[legend]

Public Member Functions

 CTxMemPoolEntry (const CTransactionRef &_tx, const CAmount &_nFee, int64_t _nTime, unsigned int _entryHeight, bool spendsCoinbase, int64_t nSigOpsCost, LockPoints lp)
 
const CTransactionGetTx () const
 
CTransactionRef GetSharedTx () const
 
const CAmountGetFee () const
 
size_t GetTxSize () const
 
size_t GetTxWeight () const
 
int64_t GetTime () const
 
unsigned int GetHeight () const
 
int64_t GetSigOpCost () 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, int 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
 
int64_t GetSigOpCostWithAncestors () const
 

Public Attributes

size_t vTxHashesIdx
 Index in mempool's vTxHashes. More...
 

Private Attributes

CTransactionRef tx
 
CAmount nFee
 Cached to avoid expensive parent-transaction lookups. More...
 
size_t nTxWeight
 ... and avoid recomputing tx weight (also used for GetTxSize()) 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...
 
int64_t sigOpCost
 Total sigop cost. 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
 
int64_t nSigOpCostWithAncestors
 

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 68 of file txmempool.h.

Constructor & Destructor Documentation

◆ CTxMemPoolEntry()

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

Definition at line 23 of file txmempool.cpp.

Member Function Documentation

◆ DynamicMemoryUsage()

size_t CTxMemPoolEntry::DynamicMemoryUsage ( ) const
inline

Definition at line 110 of file txmempool.h.

Here is the caller graph for this function:

◆ GetCountWithAncestors()

uint64_t CTxMemPoolEntry::GetCountWithAncestors ( ) const
inline

Definition at line 129 of file txmempool.h.

◆ GetCountWithDescendants()

uint64_t CTxMemPoolEntry::GetCountWithDescendants ( ) const
inline

Definition at line 123 of file txmempool.h.

◆ GetFee()

const CAmount& CTxMemPoolEntry::GetFee ( ) const
inline

Definition at line 103 of file txmempool.h.

Here is the caller graph for this function:

◆ GetHeight()

unsigned int CTxMemPoolEntry::GetHeight ( ) const
inline

Definition at line 107 of file txmempool.h.

Here is the caller graph for this function:

◆ GetLockPoints()

const LockPoints& CTxMemPoolEntry::GetLockPoints ( ) const
inline

Definition at line 111 of file txmempool.h.

◆ GetModFeesWithAncestors()

CAmount CTxMemPoolEntry::GetModFeesWithAncestors ( ) const
inline

Definition at line 131 of file txmempool.h.

Here is the caller graph for this function:

◆ GetModFeesWithDescendants()

CAmount CTxMemPoolEntry::GetModFeesWithDescendants ( ) const
inline

Definition at line 125 of file txmempool.h.

Here is the caller graph for this function:

◆ GetModifiedFee()

int64_t CTxMemPoolEntry::GetModifiedFee ( ) const
inline

Definition at line 109 of file txmempool.h.

Here is the caller graph for this function:

◆ GetSharedTx()

CTransactionRef CTxMemPoolEntry::GetSharedTx ( ) const
inline

Definition at line 102 of file txmempool.h.

Here is the caller graph for this function:

◆ GetSigOpCost()

int64_t CTxMemPoolEntry::GetSigOpCost ( ) const
inline

Definition at line 108 of file txmempool.h.

◆ GetSigOpCostWithAncestors()

int64_t CTxMemPoolEntry::GetSigOpCostWithAncestors ( ) const
inline

Definition at line 132 of file txmempool.h.

◆ GetSizeWithAncestors()

uint64_t CTxMemPoolEntry::GetSizeWithAncestors ( ) const
inline

Definition at line 130 of file txmempool.h.

Here is the caller graph for this function:

◆ GetSizeWithDescendants()

uint64_t CTxMemPoolEntry::GetSizeWithDescendants ( ) const
inline

Definition at line 124 of file txmempool.h.

Here is the caller graph for this function:

◆ GetSpendsCoinbase()

bool CTxMemPoolEntry::GetSpendsCoinbase ( ) const
inline

Definition at line 127 of file txmempool.h.

◆ GetTime()

int64_t CTxMemPoolEntry::GetTime ( ) const
inline

Definition at line 106 of file txmempool.h.

Here is the caller graph for this function:

◆ GetTx()

const CTransaction& CTxMemPoolEntry::GetTx ( ) const
inline

Definition at line 101 of file txmempool.h.

Here is the caller graph for this function:

◆ GetTxSize()

size_t CTxMemPoolEntry::GetTxSize ( ) const

Definition at line 56 of file txmempool.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTxWeight()

size_t CTxMemPoolEntry::GetTxWeight ( ) const
inline

Definition at line 105 of file txmempool.h.

◆ UpdateAncestorState()

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

Definition at line 322 of file txmempool.cpp.

Here is the caller graph for this function:

◆ UpdateDescendantState()

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

Definition at line 313 of file txmempool.cpp.

Here is the caller graph for this function:

◆ UpdateFeeDelta()

void CTxMemPoolEntry::UpdateFeeDelta ( int64_t  feeDelta)

Definition at line 44 of file txmempool.cpp.

Here is the caller graph for this function:

◆ UpdateLockPoints()

void CTxMemPoolEntry::UpdateLockPoints ( const LockPoints lp)

Definition at line 51 of file txmempool.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ entryHeight

unsigned int CTxMemPoolEntry::entryHeight
private

Chain height when entering the mempool.

Definition at line 76 of file txmempool.h.

◆ feeDelta

int64_t CTxMemPoolEntry::feeDelta
private

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

Definition at line 79 of file txmempool.h.

◆ lockPoints

LockPoints CTxMemPoolEntry::lockPoints
private

Track the height and time at which tx was final.

Definition at line 80 of file txmempool.h.

◆ nCountWithAncestors

uint64_t CTxMemPoolEntry::nCountWithAncestors
private

Definition at line 90 of file txmempool.h.

◆ nCountWithDescendants

uint64_t CTxMemPoolEntry::nCountWithDescendants
private

number of descendant transactions

Definition at line 85 of file txmempool.h.

◆ nFee

CAmount CTxMemPoolEntry::nFee
private

Cached to avoid expensive parent-transaction lookups.

Definition at line 72 of file txmempool.h.

◆ nModFeesWithAncestors

CAmount CTxMemPoolEntry::nModFeesWithAncestors
private

Definition at line 92 of file txmempool.h.

◆ nModFeesWithDescendants

CAmount CTxMemPoolEntry::nModFeesWithDescendants
private

... and total fees (all including us)

Definition at line 87 of file txmempool.h.

◆ nSigOpCostWithAncestors

int64_t CTxMemPoolEntry::nSigOpCostWithAncestors
private

Definition at line 93 of file txmempool.h.

◆ nSizeWithAncestors

uint64_t CTxMemPoolEntry::nSizeWithAncestors
private

Definition at line 91 of file txmempool.h.

◆ nSizeWithDescendants

uint64_t CTxMemPoolEntry::nSizeWithDescendants
private

... and size

Definition at line 86 of file txmempool.h.

◆ nTime

int64_t CTxMemPoolEntry::nTime
private

Local time when entering the mempool.

Definition at line 75 of file txmempool.h.

◆ nTxWeight

size_t CTxMemPoolEntry::nTxWeight
private

... and avoid recomputing tx weight (also used for GetTxSize())

Definition at line 73 of file txmempool.h.

◆ nUsageSize

size_t CTxMemPoolEntry::nUsageSize
private

... and total memory usage

Definition at line 74 of file txmempool.h.

◆ sigOpCost

int64_t CTxMemPoolEntry::sigOpCost
private

Total sigop cost.

Definition at line 78 of file txmempool.h.

◆ spendsCoinbase

bool CTxMemPoolEntry::spendsCoinbase
private

keep track of transactions that spend a coinbase

Definition at line 77 of file txmempool.h.

◆ tx

CTransactionRef CTxMemPoolEntry::tx
private

Definition at line 71 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: