Bitcoin Core  22.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | List of all members
PrecomputedTransactionData Struct Reference

#include <interpreter.h>

Collaboration diagram for PrecomputedTransactionData:
[legend]

Public Member Functions

 PrecomputedTransactionData ()=default
 
template<class T >
void Init (const T &tx, std::vector< CTxOut > &&spent_outputs, bool force=false)
 Initialize this PrecomputedTransactionData with transaction data. More...
 
template<class T >
 PrecomputedTransactionData (const T &tx)
 

Public Attributes

uint256 m_prevouts_single_hash
 
uint256 m_sequences_single_hash
 
uint256 m_outputs_single_hash
 
uint256 m_spent_amounts_single_hash
 
uint256 m_spent_scripts_single_hash
 
bool m_bip341_taproot_ready = false
 Whether the 5 fields above are initialized. More...
 
uint256 hashPrevouts
 
uint256 hashSequence
 
uint256 hashOutputs
 
bool m_bip143_segwit_ready = false
 Whether the 3 fields above are initialized. More...
 
std::vector< CTxOutm_spent_outputs
 
bool m_spent_outputs_ready = false
 Whether m_spent_outputs is initialized. More...
 

Detailed Description

Definition at line 150 of file interpreter.h.

Constructor & Destructor Documentation

◆ PrecomputedTransactionData() [1/2]

PrecomputedTransactionData::PrecomputedTransactionData ( )
default

◆ PrecomputedTransactionData() [2/2]

template<class T >
PrecomputedTransactionData::PrecomputedTransactionData ( const T tx)
explicit

Definition at line 1475 of file interpreter.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ Init()

template<class T >
template void PrecomputedTransactionData::Init ( const T tx,
std::vector< CTxOut > &&  spent_outputs,
bool  force = false 
)

Initialize this PrecomputedTransactionData with transaction data.

Parameters
[in]txThe transaction for which data is being precomputed.
[in]spent_outputsThe CTxOuts being spent, one for each tx.vin, in order.
[in]forceWhether to precompute data for all optional features, regardless of what is in the inputs (used at signing time, when the inputs aren't filled in yet).

Definition at line 1423 of file interpreter.cpp.

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

Member Data Documentation

◆ hashOutputs

uint256 PrecomputedTransactionData::hashOutputs

Definition at line 163 of file interpreter.h.

◆ hashPrevouts

uint256 PrecomputedTransactionData::hashPrevouts

Definition at line 163 of file interpreter.h.

◆ hashSequence

uint256 PrecomputedTransactionData::hashSequence

Definition at line 163 of file interpreter.h.

◆ m_bip143_segwit_ready

bool PrecomputedTransactionData::m_bip143_segwit_ready = false

Whether the 3 fields above are initialized.

Definition at line 165 of file interpreter.h.

◆ m_bip341_taproot_ready

bool PrecomputedTransactionData::m_bip341_taproot_ready = false

Whether the 5 fields above are initialized.

Definition at line 160 of file interpreter.h.

◆ m_outputs_single_hash

uint256 PrecomputedTransactionData::m_outputs_single_hash

Definition at line 156 of file interpreter.h.

◆ m_prevouts_single_hash

uint256 PrecomputedTransactionData::m_prevouts_single_hash

Definition at line 154 of file interpreter.h.

◆ m_sequences_single_hash

uint256 PrecomputedTransactionData::m_sequences_single_hash

Definition at line 155 of file interpreter.h.

◆ m_spent_amounts_single_hash

uint256 PrecomputedTransactionData::m_spent_amounts_single_hash

Definition at line 157 of file interpreter.h.

◆ m_spent_outputs

std::vector<CTxOut> PrecomputedTransactionData::m_spent_outputs

Definition at line 167 of file interpreter.h.

◆ m_spent_outputs_ready

bool PrecomputedTransactionData::m_spent_outputs_ready = false

Whether m_spent_outputs is initialized.

Definition at line 169 of file interpreter.h.

◆ m_spent_scripts_single_hash

uint256 PrecomputedTransactionData::m_spent_scripts_single_hash

Definition at line 158 of file interpreter.h.


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