Bitcoin
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CTransaction Class Reference

#include <transaction.h>

Public Member Functions

 CTransaction ()
 
 CTransaction (const CMutableTransaction &tx)
 
 CTransaction (CMutableTransaction &&tx)
 
template<typename Stream >
void Serialize (Stream &s) const
 
template<typename Stream >
 CTransaction (deserialize_type, Stream &s)
 
bool IsNull () const
 
const uint256GetHash () const
 
const uint256GetWitnessHash () const
 
CAmount GetValueOut () const
 
unsigned int GetTotalSize () const
 
bool IsCoinBase () const
 
std::string ToString () const
 
bool HasWitness () const
 

Public Attributes

const std::vector< CTxInvin
 
const std::vector< CTxOutvout
 
const int32_t nVersion
 
const uint32_t nLockTime
 

Static Public Attributes

static const int32_t CURRENT_VERSION =2
 
static const int32_t MAX_STANDARD_VERSION =2
 

Private Member Functions

uint256 ComputeHash () const
 
uint256 ComputeWitnessHash () const
 

Private Attributes

const uint256 hash
 
const uint256 m_witness_hash
 

Friends

bool operator== (const CTransaction &a, const CTransaction &b)
 
bool operator!= (const CTransaction &a, const CTransaction &b)
 

Detailed Description

The basic transaction that is broadcasted on the network and contained in blocks. A transaction can contain multiple inputs and outputs.

Constructor & Destructor Documentation

◆ CTransaction() [1/4]

CTransaction::CTransaction ( )

Construct a CTransaction that qualifies as IsNull()

◆ CTransaction() [2/4]

CTransaction::CTransaction ( const CMutableTransaction tx)
explicit

Convert a CMutableTransaction into a CTransaction.

◆ CTransaction() [3/4]

CTransaction::CTransaction ( CMutableTransaction &&  tx)

◆ CTransaction() [4/4]

template<typename Stream >
CTransaction::CTransaction ( deserialize_type  ,
Stream &  s 
)
inline

This deserializing constructor is provided instead of an Unserialize method. Unserialize is not possible, since it would require overwriting const fields.

Member Function Documentation

◆ ComputeHash()

uint256 CTransaction::ComputeHash ( ) const
private

◆ ComputeWitnessHash()

uint256 CTransaction::ComputeWitnessHash ( ) const
private

◆ GetHash()

const uint256& CTransaction::GetHash ( ) const
inline

◆ GetTotalSize()

unsigned int CTransaction::GetTotalSize ( ) const

Get the total transaction size in bytes, including witness data. "Total Size" defined in BIP141 and BIP144.

Returns
Total transaction size in bytes

◆ GetValueOut()

CAmount CTransaction::GetValueOut ( ) const

◆ GetWitnessHash()

const uint256& CTransaction::GetWitnessHash ( ) const
inline

◆ HasWitness()

bool CTransaction::HasWitness ( ) const
inline

◆ IsCoinBase()

bool CTransaction::IsCoinBase ( ) const
inline

◆ IsNull()

bool CTransaction::IsNull ( ) const
inline

◆ Serialize()

template<typename Stream >
void CTransaction::Serialize ( Stream &  s) const
inline

◆ ToString()

std::string CTransaction::ToString ( ) const

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const CTransaction a,
const CTransaction b 
)
friend

◆ operator==

bool operator== ( const CTransaction a,
const CTransaction b 
)
friend

Member Data Documentation

◆ CURRENT_VERSION

const int32_t CTransaction::CURRENT_VERSION =2
static

◆ hash

const uint256 CTransaction::hash
private

Memory only.

◆ m_witness_hash

const uint256 CTransaction::m_witness_hash
private

◆ MAX_STANDARD_VERSION

const int32_t CTransaction::MAX_STANDARD_VERSION =2
static

◆ nLockTime

const uint32_t CTransaction::nLockTime

◆ nVersion

const int32_t CTransaction::nVersion

◆ vin

const std::vector<CTxIn> CTransaction::vin

◆ vout

const std::vector<CTxOut> CTransaction::vout

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