Bitcoin Core 28.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.