![]() |
Bitcoin Core 30.99.0
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 <mempool_entry.h>
Classes | |
| struct | ExplicitCopyTag |
Public Types | |
| typedef std::reference_wrapper< const CTxMemPoolEntry > | CTxMemPoolEntryRef |
| typedef std::set< CTxMemPoolEntryRef, CompareIteratorByHash > | Parents |
| typedef std::set< CTxMemPoolEntryRef, CompareIteratorByHash > | Children |
Public Member Functions | |
| CTxMemPoolEntry (const CTransactionRef &tx, CAmount fee, int64_t time, unsigned int entry_height, uint64_t entry_sequence, bool spends_coinbase, int64_t sigops_cost, LockPoints lp) | |
| CTxMemPoolEntry (ExplicitCopyTag, const CTxMemPoolEntry &entry) | |
| CTxMemPoolEntry & | operator= (const CTxMemPoolEntry &)=delete |
| CTxMemPoolEntry (CTxMemPoolEntry &&)=delete | |
| CTxMemPoolEntry & | operator= (CTxMemPoolEntry &&)=delete |
| const CTransaction & | GetTx () const |
| CTransactionRef | GetSharedTx () const |
| const CAmount & | GetFee () const |
| int32_t | GetTxSize () const |
| int32_t | GetTxWeight () const |
| std::chrono::seconds | GetTime () const |
| unsigned int | GetHeight () const |
| uint64_t | GetSequence () const |
| int64_t | GetSigOpCost () const |
| CAmount | GetModifiedFee () const |
| size_t | DynamicMemoryUsage () const |
| const LockPoints & | GetLockPoints () const |
| void | UpdateDescendantState (int32_t modifySize, CAmount modifyFee, int64_t modifyCount) |
| void | UpdateAncestorState (int32_t modifySize, CAmount modifyFee, int64_t modifyCount, int64_t modifySigOps) |
| void | UpdateModifiedFee (CAmount fee_diff) |
| void | UpdateLockPoints (const LockPoints &lp) const |
| uint64_t | GetCountWithDescendants () const |
| int64_t | GetSizeWithDescendants () const |
| CAmount | GetModFeesWithDescendants () const |
| bool | GetSpendsCoinbase () const |
| uint64_t | GetCountWithAncestors () const |
| int64_t | GetSizeWithAncestors () const |
| CAmount | GetModFeesWithAncestors () const |
| int64_t | GetSigOpCostWithAncestors () const |
| const Parents & | GetMemPoolParentsConst () const |
| const Children & | GetMemPoolChildrenConst () const |
| Parents & | GetMemPoolParents () const |
| Children & | GetMemPoolChildren () const |
Public Attributes | |
| size_t | idx_randomized |
| Index in mempool's txns_randomized. More... | |
| Epoch::Marker | m_epoch_marker |
| epoch when last touched, useful for graph algorithms More... | |
Static Public Attributes | |
| static constexpr ExplicitCopyTag | ExplicitCopy {} |
Private Member Functions | |
| CTxMemPoolEntry (const CTxMemPoolEntry &)=default | |
Private Attributes | |
| const CTransactionRef | tx |
| Parents | m_parents |
| Children | m_children |
| const CAmount | nFee |
| Cached to avoid expensive parent-transaction lookups. More... | |
| const int32_t | nTxWeight |
| ... and avoid recomputing tx weight (also used for GetTxSize()) More... | |
| const size_t | nUsageSize |
| ... and total memory usage More... | |
| const int64_t | nTime |
| Local time when entering the mempool. More... | |
| const uint64_t | entry_sequence |
| Sequence number used to determine whether this transaction is too recent for relay. More... | |
| const unsigned int | entryHeight |
| Chain height when entering the mempool. More... | |
| const bool | spendsCoinbase |
| keep track of transactions that spend a coinbase More... | |
| const int64_t | sigOpCost |
| Total sigop cost. More... | |
| CAmount | m_modified_fee |
| 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... | |
| int64_t | m_count_with_descendants {1} |
| number of descendant transactions More... | |
| int64_t | nSizeWithDescendants |
| ... and size More... | |
| CAmount | nModFeesWithDescendants |
| ... and total fees (all including us) More... | |
| int64_t | m_count_with_ancestors {1} |
| int64_t | nSizeWithAncestors |
| CAmount | nModFeesWithAncestors |
| int64_t | nSigOpCostWithAncestors |
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 (m_count_with_descendants, nSizeWithDescendants, and nModFeesWithDescendants) for all ancestors of the newly added transaction.
Definition at line 65 of file mempool_entry.h.
| typedef std::set<CTxMemPoolEntryRef, CompareIteratorByHash> CTxMemPoolEntry::Children |
Definition at line 71 of file mempool_entry.h.
| typedef std::reference_wrapper<const CTxMemPoolEntry> CTxMemPoolEntry::CTxMemPoolEntryRef |
Definition at line 68 of file mempool_entry.h.
| typedef std::set<CTxMemPoolEntryRef, CompareIteratorByHash> CTxMemPoolEntry::Parents |
Definition at line 70 of file mempool_entry.h.
|
privatedefault |
|
inline |
Definition at line 109 of file mempool_entry.h.
|
inline |
Definition at line 130 of file mempool_entry.h.
|
delete |
|
inline |
|
inline |
Definition at line 177 of file mempool_entry.h.
|
inline |
Definition at line 171 of file mempool_entry.h.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 185 of file mempool_entry.h.
|
inline |
|
inline |
Definition at line 184 of file mempool_entry.h.
|
inline |
|
inline |
Definition at line 179 of file mempool_entry.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 180 of file mempool_entry.h.
|
inline |
Definition at line 178 of file mempool_entry.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 140 of file mempool_entry.h.
|
inline |
Definition at line 144 of file mempool_entry.h.
|
delete |
|
delete |
| void CTxMemPoolEntry::UpdateAncestorState | ( | int32_t | modifySize, |
| CAmount | modifyFee, | ||
| int64_t | modifyCount, | ||
| int64_t | modifySigOps | ||
| ) |
Definition at line 392 of file txmempool.cpp.
| void CTxMemPoolEntry::UpdateDescendantState | ( | int32_t | modifySize, |
| CAmount | modifyFee, | ||
| int64_t | modifyCount | ||
| ) |
Definition at line 383 of file txmempool.cpp.
|
inline |
Definition at line 166 of file mempool_entry.h.
|
inline |
Definition at line 158 of file mempool_entry.h.
|
private |
Sequence number used to determine whether this transaction is too recent for relay.
Definition at line 86 of file mempool_entry.h.
|
private |
Chain height when entering the mempool.
Definition at line 87 of file mempool_entry.h.
|
staticconstexpr |
Definition at line 135 of file mempool_entry.h.
|
mutable |
Index in mempool's txns_randomized.
Definition at line 187 of file mempool_entry.h.
|
mutableprivate |
Track the height and time at which tx was final.
Definition at line 91 of file mempool_entry.h.
|
mutableprivate |
Definition at line 81 of file mempool_entry.h.
|
private |
Definition at line 102 of file mempool_entry.h.
|
private |
number of descendant transactions
Definition at line 96 of file mempool_entry.h.
|
mutable |
epoch when last touched, useful for graph algorithms
Definition at line 188 of file mempool_entry.h.
|
private |
Used for determining the priority of the transaction for mining in a block.
Definition at line 90 of file mempool_entry.h.
|
mutableprivate |
Definition at line 80 of file mempool_entry.h.
|
private |
Cached to avoid expensive parent-transaction lookups.
Definition at line 82 of file mempool_entry.h.
|
private |
Definition at line 105 of file mempool_entry.h.
|
private |
... and total fees (all including us)
Definition at line 99 of file mempool_entry.h.
|
private |
Definition at line 106 of file mempool_entry.h.
|
private |
Definition at line 104 of file mempool_entry.h.
|
private |
... and size
Definition at line 98 of file mempool_entry.h.
|
private |
Local time when entering the mempool.
Definition at line 85 of file mempool_entry.h.
|
private |
... and avoid recomputing tx weight (also used for GetTxSize())
Definition at line 83 of file mempool_entry.h.
|
private |
... and total memory usage
Definition at line 84 of file mempool_entry.h.
|
private |
Total sigop cost.
Definition at line 89 of file mempool_entry.h.
|
private |
keep track of transactions that spend a coinbase
Definition at line 88 of file mempool_entry.h.
|
private |
Definition at line 79 of file mempool_entry.h.