Bitcoin Core  0.18.99
P2P Digital Currency
Classes | Enumerations | Variables
txmempool.h File Reference
#include <atomic>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <utility>
#include <vector>
#include <amount.h>
#include <coins.h>
#include <crypto/siphash.h>
#include <indirectmap.h>
#include <policy/feerate.h>
#include <primitives/transaction.h>
#include <sync.h>
#include <random.h>
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/sequenced_index.hpp>
#include <boost/signals2/signal.hpp>
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
 
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  update_descendant_state
 
struct  update_ancestor_state
 
struct  update_fee_delta
 
struct  update_lock_points
 
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  SaltedTxidHasher
 
class  CTxMemPool
 CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block. More...
 
struct  CTxMemPool::CompareIteratorByHash
 
struct  CTxMemPool::TxLinks
 
class  CCoinsViewMemPool
 CCoinsView that brings transactions from a mempool into view. More...
 
struct  txid_index
 DisconnectedBlockTransactions. More...
 
struct  insertion_order
 
struct  DisconnectedBlockTransactions
 

Enumerations

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

Variables

CCriticalSection cs_main
 Mutex to guard access to validation specific variables, such as reading or changing the chainstate. More...
 
static const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF
 Fake height value used in Coin 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
UNKNOWN 

Manually removed or unknown reason.

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.

Variable Documentation

◆ cs_main

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 100 of file validation.cpp.

◆ MEMPOOL_HEIGHT

const uint32_t MEMPOOL_HEIGHT = 0x7FFFFFFF
static

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

Definition at line 36 of file txmempool.h.