Bitcoin Core  22.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 160 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 162 of file validation.h.

Constructor & Destructor Documentation

◆ MempoolAcceptResult() [1/4]

MempoolAcceptResult::MempoolAcceptResult ( TxValidationState  state)
inlineexplicitprivate

Constructor for failure case.

Definition at line 205 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 211 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 216 of file validation.h.

◆ MempoolAcceptResult() [4/4]

MempoolAcceptResult::MempoolAcceptResult ( const uint256 other_wtxid)
inlineexplicitprivate

Constructor for witness-swapped case.

Definition at line 220 of file validation.h.

Member Function Documentation

◆ Failure()

static MempoolAcceptResult MempoolAcceptResult::Failure ( TxValidationState  state)
inlinestatic

Definition at line 186 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 194 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 198 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 190 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 180 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 184 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 176 of file validation.h.

◆ m_result_type

const ResultType MempoolAcceptResult::m_result_type

Result type.

Present in all MempoolAcceptResults.

Definition at line 169 of file validation.h.

◆ m_state

const TxValidationState MempoolAcceptResult::m_state

Contains information about why the transaction failed.

Definition at line 172 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 178 of file validation.h.


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