Bitcoin ABC  0.26.3
P2P Digital Currency
Classes | Enumerations | Functions | Variables
txmempool.h File Reference
#include <coins.h>
#include <consensus/amount.h>
#include <core_memusage.h>
#include <indirectmap.h>
#include <policy/packages.h>
#include <primitives/transaction.h>
#include <sync.h>
#include <util/epochguard.h>
#include <util/hasher.h>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/sequenced_index.hpp>
#include <boost/multi_index_container.hpp>
#include <atomic>
#include <map>
#include <optional>
#include <set>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for txmempool.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LockPoints
 
struct  CompareIteratorById
 
class  CTxMemPoolEntry
 CTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions). More...
 
struct  mempoolentry_txid
 
class  CompareTxMemPoolEntryByDescendantScore
 Sort an entry by max(score/size of entry's tx, score/size with all descendants). More...
 
class  CompareTxMemPoolEntryByScore
 Sort by feerate of entry (fee/size) in descending order This is only used for transaction relay, so we use GetFee() instead of GetModifiedFee() to avoid leaking prioritization information via the sort order. More...
 
class  CompareTxMemPoolEntryByEntryTime
 
class  CompareTxMemPoolEntryByAncestorFee
 
struct  descendant_score
 
struct  entry_time
 
struct  ancestor_score
 
struct  TxMempoolInfo
 Information about a mempool transaction. More...
 
class  CTxMemPool
 CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block. More...
 
class  CCoinsViewMemPool
 CCoinsView that brings transactions from a mempool into view. More...
 
struct  txid_index
 DisconnectedBlockTransactions. More...
 
struct  insertion_order
 
class  DisconnectedBlockTransactions
 

Enumerations

enum class  MemPoolRemovalReason {
  EXPIRY , SIZELIMIT , REORG , BLOCK ,
  CONFLICT , REPLACED
}
 Reason why a transaction was removed from the mempool, this is passed to the notification signal. More...
 

Functions

bool TestLockPointValidity (const CChain &active_chain, const LockPoints &lp) EXCLUSIVE_LOCKS_REQUIRED(cs_main)
 Test whether the LockPoints height and time are still valid on the current chain. More...
 

Variables

RecursiveMutex cs_main
 Global state. More...
 
static const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF
 Fake height value used in Coins to signify they are only in the memory pool(since 0.8) More...
 

Enumeration Type Documentation

◆ MemPoolRemovalReason

enum MemPoolRemovalReason
strong

Reason why a transaction was removed from the mempool, this is passed to the notification signal.

Enumerator
EXPIRY 

Expired from mempool.

SIZELIMIT 

Removed in size limiting.

REORG 

Removed for reorganization.

BLOCK 

Removed for block.

CONFLICT 

Removed for conflict with in-block transaction.

REPLACED 

Removed for replacement.

Definition at line 347 of file txmempool.h.

Function Documentation

◆ TestLockPointValidity()

bool TestLockPointValidity ( const CChain active_chain,
const LockPoints lp 
)

Test whether the LockPoints height and time are still valid on the current chain.

Definition at line 68 of file txmempool.cpp.

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

Variable Documentation

◆ cs_main

RecursiveMutex cs_main
extern

Global state.

Mutex to guard access to validation specific variables, such as reading or changing the chainstate.

This may also need to be locked when updating the transaction pool, e.g. on AcceptToMemoryPool. See CTxMemPool::cs comment for details.

The transaction pool has a separate lock to allow reading from it and the chainstate at the same time.

Definition at line 111 of file validation.cpp.

◆ MEMPOOL_HEIGHT

const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF
static

Fake height value used in Coins to signify they are only in the memory pool(since 0.8)

Definition at line 43 of file txmempool.h.