Bitcoin Core  0.18.99
P2P Digital Currency
Classes | Typedefs | Functions | Variables
transaction.h File Reference
#include <stdint.h>
#include <amount.h>
#include <script/script.h>
#include <serialize.h>
#include <uint256.h>
Include dependency graph for transaction.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  COutPoint
 An outpoint - a combination of a transaction hash and an index n into its vout. More...
 
class  CTxIn
 An input of a transaction. More...
 
class  CTxOut
 An output of a transaction. More...
 
class  CTransaction
 The basic transaction that is broadcasted on the network and contained in blocks. More...
 
struct  CMutableTransaction
 A mutable version of CTransaction. More...
 

Typedefs

typedef std::shared_ptr< const CTransactionCTransactionRef
 

Functions

template<typename Stream , typename TxType >
void UnserializeTransaction (TxType &tx, Stream &s)
 Basic transaction serialization format: More...
 
template<typename Stream , typename TxType >
void SerializeTransaction (const TxType &tx, Stream &s)
 
static CTransactionRef MakeTransactionRef ()
 
template<typename Tx >
static CTransactionRef MakeTransactionRef (Tx &&txIn)
 

Variables

static const int SERIALIZE_TRANSACTION_NO_WITNESS = 0x40000000
 

Typedef Documentation

◆ CTransactionRef

typedef std::shared_ptr<const CTransaction> CTransactionRef

Definition at line 408 of file transaction.h.

Function Documentation

◆ MakeTransactionRef() [1/2]

static CTransactionRef MakeTransactionRef ( )
inlinestatic

Definition at line 409 of file transaction.h.

Here is the caller graph for this function:

◆ MakeTransactionRef() [2/2]

template<typename Tx >
static CTransactionRef MakeTransactionRef ( Tx &&  txIn)
inlinestatic

Definition at line 410 of file transaction.h.

◆ SerializeTransaction()

template<typename Stream , typename TxType >
void SerializeTransaction ( const TxType &  tx,
Stream &  s 
)
inline

Definition at line 238 of file transaction.h.

Here is the caller graph for this function:

◆ UnserializeTransaction()

template<typename Stream , typename TxType >
void UnserializeTransaction ( TxType &  tx,
Stream &  s 
)
inline

Basic transaction serialization format:

  • int32_t nVersion
  • std::vector<CTxIn> vin
  • std::vector<CTxOut> vout
  • uint32_t nLockTime

Extended transaction serialization format:

  • int32_t nVersion
  • unsigned char dummy = 0x00
  • unsigned char flags (!= 0)
  • std::vector<CTxIn> vin
  • std::vector<CTxOut> vout
  • if (flags & 1):
    • CTxWitness wit;
  • uint32_t nLockTime

Definition at line 199 of file transaction.h.

Here is the caller graph for this function:

Variable Documentation

◆ SERIALIZE_TRANSACTION_NO_WITNESS

const int SERIALIZE_TRANSACTION_NO_WITNESS = 0x40000000
static

Definition at line 15 of file transaction.h.