Bitcoin Core 28.99.0
P2P Digital Currency
Classes | Namespaces | Functions
txmempool.h File Reference
#include <policy/packages.h>
#include <txmempool.h>
#include <util/time.h>
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  TestMemPoolEntryHelper
 

Namespaces

namespace  node
 

Functions

CTxMemPool::Options MemPoolOptionsForTest (const node::NodeContext &node)
 
std::optional< std::string > CheckPackageMempoolAcceptResult (const Package &txns, const PackageMempoolAcceptResult &result, bool expect_valid, const CTxMemPool *mempool)
 Check expected properties for every PackageMempoolAcceptResult, regardless of value. More...
 
void CheckMempoolEphemeralInvariants (const CTxMemPool &tx_pool)
 Check that we never get into a state where an ephemeral dust transaction would be mined without the spend of the dust also being mined. More...
 
void CheckMempoolTRUCInvariants (const CTxMemPool &tx_pool)
 For every transaction in tx_pool, check TRUC invariants: More...
 
void AddToMempool (CTxMemPool &tx_pool, const CTxMemPoolEntry &entry)
 One-line wrapper for creating a mempool changeset with a single transaction and applying it. More...
 

Function Documentation

◆ AddToMempool()

void AddToMempool ( CTxMemPool tx_pool,
const CTxMemPoolEntry entry 
)

One-line wrapper for creating a mempool changeset with a single transaction and applying it.

Definition at line 212 of file txmempool.cpp.

Here is the call graph for this function:

◆ CheckMempoolEphemeralInvariants()

void CheckMempoolEphemeralInvariants ( const CTxMemPool tx_pool)

Check that we never get into a state where an ephemeral dust transaction would be mined without the spend of the dust also being mined.

This assumes standardness checks are being enforced.

Definition at line 144 of file txmempool.cpp.

Here is the call graph for this function:

◆ CheckMempoolTRUCInvariants()

void CheckMempoolTRUCInvariants ( const CTxMemPool tx_pool)

For every transaction in tx_pool, check TRUC invariants:

  • a TRUC tx's ancestor count must be within TRUC_ANCESTOR_LIMIT
  • a TRUC tx's descendant count must be within TRUC_DESCENDANT_LIMIT
  • if a TRUC tx has ancestors, its sigop-adjusted vsize must be within TRUC_CHILD_MAX_VSIZE
  • any non-TRUC tx must only have non-TRUC parents
  • any TRUC tx must only have TRUC parents

Definition at line 181 of file txmempool.cpp.

Here is the call graph for this function:

◆ CheckPackageMempoolAcceptResult()

std::optional< std::string > CheckPackageMempoolAcceptResult ( const Package txns,
const PackageMempoolAcceptResult result,
bool  expect_valid,
const CTxMemPool mempool 
)

Check expected properties for every PackageMempoolAcceptResult, regardless of value.

Returns a string if an error occurs with error populated, nullopt otherwise. If mempool is provided, checks that the expected transactions are in mempool (this should be set to nullptr for a test_accept).

Definition at line 43 of file txmempool.cpp.

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

◆ MemPoolOptionsForTest()

CTxMemPool::Options MemPoolOptionsForTest ( const node::NodeContext node)

Definition at line 20 of file txmempool.cpp.

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