![]() |
Bitcoin Core
25.99.0
P2P Digital Currency
|
Validation result for a single transaction mempool acceptance. More...
#include <validation.h>
Public Types | |
enum class | ResultType { VALID , INVALID , MEMPOOL_ENTRY , 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, CFeeRate effective_feerate, const std::vector< uint256 > &wtxids_fee_calculations) |
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. 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< CAmount > | m_base_fees |
Raw base fees in satoshis. More... | |
const std::optional< CFeeRate > | m_effective_feerate |
The feerate at which this transaction was considered. More... | |
const std::optional< std::vector< uint256 > > | m_wtxids_fee_calculations |
Contains the wtxids of the transactions used for fee-related checks. More... | |
const std::optional< uint256 > | m_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, CFeeRate effective_feerate, const std::vector< uint256 > &wtxids_fee_calculations) | |
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... | |
Validation result for a single transaction mempool acceptance.
Definition at line 117 of file validation.h.
|
strong |
Used to indicate the results of mempool validation.
Enumerator | |
---|---|
VALID | |
INVALID |
|
MEMPOOL_ENTRY |
|
DIFFERENT_WITNESS |
|
Definition at line 119 of file validation.h.
|
inlineexplicitprivate |
Constructor for failure case.
Definition at line 180 of file validation.h.
|
inlineexplicitprivate |
Constructor for success case.
Definition at line 186 of file validation.h.
|
inlineexplicitprivate |
Constructor for already-in-mempool case.
It wouldn't replace any transactions.
Definition at line 199 of file validation.h.
|
inlineexplicitprivate |
Constructor for witness-swapped case.
Definition at line 203 of file validation.h.
|
inlinestatic |
Definition at line 156 of file validation.h.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
const std::optional<CAmount> MempoolAcceptResult::m_base_fees |
Raw base fees in satoshis.
Definition at line 137 of file validation.h.
const std::optional<CFeeRate> MempoolAcceptResult::m_effective_feerate |
The feerate at which this transaction was considered.
This includes any fee delta added using prioritisetransaction (i.e. modified fees). If this transaction was submitted as a package, this is the package feerate, which may also include its descendants and/or ancestors (see m_wtxids_fee_calculations below). Only present when m_result_type = ResultType::VALID.
Definition at line 144 of file validation.h.
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 154 of file validation.h.
const std::optional<std::list<CTransactionRef> > MempoolAcceptResult::m_replaced_transactions |
Mempool transactions replaced by the tx.
Definition at line 133 of file validation.h.
const ResultType MempoolAcceptResult::m_result_type |
const TxValidationState MempoolAcceptResult::m_state |
Contains information about why the transaction failed.
Definition at line 129 of file validation.h.
const std::optional<int64_t> MempoolAcceptResult::m_vsize |
Virtual size as used by the mempool, calculated using serialized size and sigops.
Definition at line 135 of file validation.h.
const std::optional<std::vector<uint256> > MempoolAcceptResult::m_wtxids_fee_calculations |
Contains the wtxids of the transactions used for fee-related checks.
Includes this transaction's wtxid and may include others if this transaction was validated as part of a package. This is not necessarily equivalent to the list of transactions passed to ProcessNewPackage(). Only present when m_result_type = ResultType::VALID.
Definition at line 150 of file validation.h.