![]() |
PIVX Core
5.6.99
P2P Digital Currency
|
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>
Public Member Functions | |
| CTxMemPoolEntry (const CTransactionRef &_tx, const CAmount &_nFee, int64_t _nTime, unsigned int _entryHeight, bool _spendsCoinbaseOrCoinstake, unsigned int nSigOps) | |
| const CTransaction & | GetTx () const |
| std::shared_ptr< const CTransaction > | GetSharedTx () const |
| const CAmount & | GetFee () const |
| size_t | GetTxSize () const |
| int64_t | GetTime () const |
| unsigned int | GetHeight () const |
| bool | HasZerocoins () const |
| bool | IsShielded () const |
| unsigned int | GetSigOpCount () const |
| int64_t | GetModifiedFee () const |
| size_t | DynamicMemoryUsage () 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) |
| uint64_t | GetCountWithDescendants () const |
| uint64_t | GetSizeWithDescendants () const |
| CAmount | GetModFeesWithDescendants () const |
| bool | GetSpendsCoinbaseOrCoinstake () const |
| uint64_t | GetCountWithAncestors () const |
| uint64_t | GetSizeWithAncestors () const |
| CAmount | GetModFeesWithAncestors () const |
| unsigned int | GetSigOpCountWithAncestors () const |
Private Attributes | |
| CTransactionRef | tx |
| CAmount | nFee |
| size_t | nTxSize |
| Cached to avoid expensive parent-transaction lookups. More... | |
| size_t | nUsageSize |
| ... and avoid recomputing tx size More... | |
| CFeeRate | feeRate |
| ... and total memory usage More... | |
| bool | hasZerocoins {false} |
| ... and fee per kB More... | |
| bool | m_isShielded {false} |
| ... and checking if it contains zPIV (mints/spends) More... | |
| int64_t | nTime |
| ... and checking if it contains shielded spends/outputs More... | |
| unsigned int | entryHeight |
| Local time when entering the mempool. More... | |
| bool | spendsCoinbaseOrCoinstake |
| Chain height when entering the mempool. More... | |
| unsigned int | sigOpCount |
| keep track of transactions that spend a coinbase or a coinstake More... | |
| int64_t | feeDelta |
| Legacy sig ops plus P2SH sig op count. More... | |
| uint64_t | nCountWithDescendants |
| Used for determining the priority of the transaction for mining in a block. More... | |
| uint64_t | nSizeWithDescendants |
| number of descendant transactions More... | |
| CAmount | nModFeesWithDescendants |
| ... and size More... | |
| uint64_t | nCountWithAncestors |
| ... and total fees (all including us) More... | |
| uint64_t | nSizeWithAncestors |
| CAmount | nModFeesWithAncestors |
| unsigned int | nSigOpCountWithAncestors |
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.
If updating the descendant state is skipped, we can mark the entry as "dirty", and set nSizeWithDescendants/nModFeesWithDescendants to equal nTxSize/ nFee+feeDelta. (This can potentially happen during a reorg, where we limit the amount of work we're willing to do to avoid consuming too much CPU.)
Definition at line 54 of file txmempool.h.
| CTxMemPoolEntry::CTxMemPoolEntry | ( | const CTransactionRef & | _tx, |
| const CAmount & | _nFee, | ||
| int64_t | _nTime, | ||
| unsigned int | _entryHeight, | ||
| bool | _spendsCoinbaseOrCoinstake, | ||
| unsigned int | nSigOps | ||
| ) |
Definition at line 26 of file txmempool.cpp.
|
inline |
|
inline |
Definition at line 116 of file txmempool.h.
|
inline |
Definition at line 110 of file txmempool.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 98 of file txmempool.h.
|
inline |
Definition at line 119 of file txmempool.h.
|
inline |
|
inline |
|
inline |
Definition at line 114 of file txmempool.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| void CTxMemPoolEntry::UpdateAncestorState | ( | int64_t | modifySize, |
| CAmount | modifyFee, | ||
| int64_t | modifyCount, | ||
| int | modifySigOps | ||
| ) |
| void CTxMemPoolEntry::UpdateDescendantState | ( | int64_t | modifySize, |
| CAmount | modifyFee, | ||
| int64_t | modifyCount | ||
| ) |
| void CTxMemPoolEntry::UpdateFeeDelta | ( | int64_t | feeDelta | ) |
|
private |
Local time when entering the mempool.
Definition at line 65 of file txmempool.h.
|
private |
Legacy sig ops plus P2SH sig op count.
Definition at line 68 of file txmempool.h.
|
private |
... and total memory usage
Definition at line 61 of file txmempool.h.
|
private |
... and fee per kB
Definition at line 62 of file txmempool.h.
|
private |
... and checking if it contains zPIV (mints/spends)
Definition at line 63 of file txmempool.h.
|
private |
... and total fees (all including us)
Definition at line 80 of file txmempool.h.
|
private |
Used for determining the priority of the transaction for mining in a block.
Definition at line 75 of file txmempool.h.
|
private |
Definition at line 58 of file txmempool.h.
|
private |
Definition at line 82 of file txmempool.h.
|
private |
... and size
Definition at line 77 of file txmempool.h.
|
private |
Definition at line 83 of file txmempool.h.
|
private |
Definition at line 81 of file txmempool.h.
|
private |
number of descendant transactions
Definition at line 76 of file txmempool.h.
|
private |
... and checking if it contains shielded spends/outputs
Definition at line 64 of file txmempool.h.
|
private |
Cached to avoid expensive parent-transaction lookups.
Definition at line 59 of file txmempool.h.
|
private |
... and avoid recomputing tx size
Definition at line 60 of file txmempool.h.
|
private |
keep track of transactions that spend a coinbase or a coinstake
Definition at line 67 of file txmempool.h.
|
private |
Chain height when entering the mempool.
Definition at line 66 of file txmempool.h.
|
private |
Definition at line 57 of file txmempool.h.