Bitcoin Core  23.99.0
P2P Digital Currency
Public Types | Static Public Member Functions | Public Attributes | Private Member Functions | List of all members
MempoolAcceptResult Struct Reference

Validation result for a single transaction mempool acceptance. More...

#include <validation.h>

Collaboration diagram for MempoolAcceptResult:
[legend]

Public Types

enum  ResultType { ResultType::VALID, ResultType::INVALID, ResultType::MEMPOOL_ENTRY, ResultType::DIFFERENT_WITNESS }
 Used to indicate the results of mempool validation. More...
 

Static Public Member Functions

static MempoolAcceptResult Failure (TxValidationState state)
 
static MempoolAcceptResult Success (std::list< CTransactionRef > &&replaced_txns, int64_t vsize, CAmount fees)
 
static MempoolAcceptResult MempoolTx (int64_t vsize, CAmount fees)
 
static MempoolAcceptResult MempoolTxDifferentWitness (const uint256 &other_wtxid)
 

Public Attributes

const ResultType m_result_type
 Result type. More...
 
const TxValidationState m_state
 Contains information about why the transaction failed. More...
 
const std::optional< std::list< CTransactionRef > > m_replaced_transactions
 Mempool transactions replaced by the tx per BIP 125 rules. More...
 
const std::optional< int64_t > m_vsize
 Virtual size as used by the mempool, calculated using serialized size and sigops. More...
 
const std::optional< CAmountm_base_fees
 Raw base fees in satoshis. More...
 
const std::optional< uint256m_other_wtxid
 The wtxid of the transaction in the mempool which has the same txid but different witness. More...
 

Private Member Functions

 MempoolAcceptResult (TxValidationState state)
 Constructor for failure case. More...
 
 MempoolAcceptResult (std::list< CTransactionRef > &&replaced_txns, int64_t vsize, CAmount fees)
 Constructor for success case. More...
 
 MempoolAcceptResult (int64_t vsize, CAmount fees)
 Constructor for already-in-mempool case. More...
 
 MempoolAcceptResult (const uint256 &other_wtxid)
 Constructor for witness-swapped case. More...
 

Detailed Description

Validation result for a single transaction mempool acceptance.

Definition at line 135 of file validation.h.

Member Enumeration Documentation

◆ ResultType

Used to indicate the results of mempool validation.

Enumerator
VALID 
INVALID 

Fully validated, valid.

MEMPOOL_ENTRY 

Invalid.

DIFFERENT_WITNESS 

Valid, transaction was already in the mempool.

Definition at line 137 of file validation.h.

Constructor & Destructor Documentation

◆ MempoolAcceptResult() [1/4]

MempoolAcceptResult::MempoolAcceptResult ( TxValidationState  state)
inlineexplicitprivate

Constructor for failure case.

Definition at line 180 of file validation.h.

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

◆ MempoolAcceptResult() [2/4]

MempoolAcceptResult::MempoolAcceptResult ( std::list< CTransactionRef > &&  replaced_txns,
int64_t  vsize,
CAmount  fees 
)
inlineexplicitprivate

Constructor for success case.

Definition at line 186 of file validation.h.

◆ MempoolAcceptResult() [3/4]

MempoolAcceptResult::MempoolAcceptResult ( int64_t  vsize,
CAmount  fees 
)
inlineexplicitprivate

Constructor for already-in-mempool case.

It wouldn't replace any transactions.

Definition at line 191 of file validation.h.

◆ MempoolAcceptResult() [4/4]

MempoolAcceptResult::MempoolAcceptResult ( const uint256 other_wtxid)
inlineexplicitprivate

Constructor for witness-swapped case.

Definition at line 195 of file validation.h.

Member Function Documentation

◆ Failure()

static MempoolAcceptResult MempoolAcceptResult::Failure ( TxValidationState  state)
inlinestatic

Definition at line 161 of file validation.h.

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

◆ MempoolTx()

static MempoolAcceptResult MempoolAcceptResult::MempoolTx ( int64_t  vsize,
CAmount  fees 
)
inlinestatic

Definition at line 169 of file validation.h.

Here is the call graph for this function:

◆ MempoolTxDifferentWitness()

static MempoolAcceptResult MempoolAcceptResult::MempoolTxDifferentWitness ( const uint256 other_wtxid)
inlinestatic

Definition at line 173 of file validation.h.

Here is the call graph for this function:

◆ Success()

static MempoolAcceptResult MempoolAcceptResult::Success ( std::list< CTransactionRef > &&  replaced_txns,
int64_t  vsize,
CAmount  fees 
)
inlinestatic

Definition at line 165 of file validation.h.

Here is the call graph for this function:

Member Data Documentation

◆ m_base_fees

const std::optional<CAmount> MempoolAcceptResult::m_base_fees

Raw base fees in satoshis.

Definition at line 155 of file validation.h.

◆ m_other_wtxid

const std::optional<uint256> MempoolAcceptResult::m_other_wtxid

The wtxid of the transaction in the mempool which has the same txid but different witness.

Definition at line 159 of file validation.h.

◆ m_replaced_transactions

const std::optional<std::list<CTransactionRef> > MempoolAcceptResult::m_replaced_transactions

Mempool transactions replaced by the tx per BIP 125 rules.

Definition at line 151 of file validation.h.

◆ m_result_type

const ResultType MempoolAcceptResult::m_result_type

Result type.

Present in all MempoolAcceptResults.

Definition at line 144 of file validation.h.

◆ m_state

const TxValidationState MempoolAcceptResult::m_state

Contains information about why the transaction failed.

Definition at line 147 of file validation.h.

◆ m_vsize

const std::optional<int64_t> MempoolAcceptResult::m_vsize

Virtual size as used by the mempool, calculated using serialized size and sigops.

Definition at line 153 of file validation.h.


The documentation for this struct was generated from the following file: