Raven Core  3.0.0
P2P Digital Currency
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CTransaction Class Reference

The basic transaction that is broadcasted on the network and contained in blocks. More...

#include <transaction.h>

Collaboration diagram for CTransaction:
[legend]

Public Member Functions

 CTransaction ()
 Construct a CTransaction that qualifies as IsNull() More...
 
 CTransaction (const CMutableTransaction &tx)
 Convert a CMutableTransaction into a CTransaction. More...
 
 CTransaction (CMutableTransaction &&tx)
 
template<typename Stream >
void Serialize (Stream &s) const
 
template<typename Stream >
 CTransaction (deserialize_type, Stream &s)
 This deserializing constructor is provided instead of an Unserialize method. More...
 
bool IsNull () const
 
const uint256GetHash () const
 
uint256 GetWitnessHash () const
 
CAmount GetValueOut () const
 
bool IsNewAsset () const
 RVN START. More...
 
bool VerifyNewAsset (std::string &strError) const
 To be called on CTransactions where IsNewAsset returns true. More...
 
bool IsNewUniqueAsset () const
 Make sure to call VerifyNewUniqueAsset if this call returns true. More...
 
bool VerifyNewUniqueAsset (std::string &strError) const
 Call this function after IsNewUniqueAsset. More...
 
bool IsReissueAsset () const
 
bool VerifyReissueAsset (std::string &strError) const
 To be called on CTransactions where IsReissueAsset returns true. More...
 
bool IsNewMsgChannelAsset () const
 Make sure to call VerifyNewUniqueAsset if this call returns true. More...
 
bool VerifyNewMsgChannelAsset (std::string &strError) const
 To be called on CTransactions where IsNewAsset returns true. More...
 
bool IsNewQualifierAsset () const
 Make sure to call VerifyNewQualifierAsset if this call returns true. More...
 
bool VerifyNewQualfierAsset (std::string &strError) const
 To be called on CTransactions where IsNewQualifierAsset returns true. More...
 
bool IsNewRestrictedAsset () const
 Make sure to call VerifyNewAsset if this call returns true. More...
 
bool VerifyNewRestrictedAsset (std::string &strError) const
 To be called on CTransactions where IsNewRestrictedAsset returns true. More...
 
bool CheckAddingTagBurnFee (const int &count) const
 
bool GetVerifierStringFromTx (CNullAssetTxVerifierString &verifier, std::string &strError) const
 
bool GetVerifierStringFromTx (CNullAssetTxVerifierString &verifier, std::string &strError, bool &fNotFound) const
 
unsigned int GetTotalSize () const
 RVN END. More...
 
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
 

Private Attributes

const uint256 hash
 Memory only. More...
 

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.

Definition at line 270 of file transaction.h.

Constructor & Destructor Documentation

◆ CTransaction() [1/4]

CTransaction::CTransaction ( )

Construct a CTransaction that qualifies as IsNull()

Definition at line 88 of file transaction.cpp.

◆ CTransaction() [2/4]

CTransaction::CTransaction ( const CMutableTransaction tx)

Convert a CMutableTransaction into a CTransaction.

Definition at line 89 of file transaction.cpp.

◆ CTransaction() [3/4]

CTransaction::CTransaction ( CMutableTransaction &&  tx)

Definition at line 90 of file transaction.cpp.

◆ 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.

Definition at line 314 of file transaction.h.

Member Function Documentation

◆ CheckAddingTagBurnFee()

bool CTransaction::CheckAddingTagBurnFee ( const int &  count) const

Definition at line 1474 of file assets.cpp.

◆ ComputeHash()

uint256 CTransaction::ComputeHash ( ) const
private

Definition at line 74 of file transaction.cpp.

Here is the call graph for this function:

◆ GetHash()

const uint256& CTransaction::GetHash ( ) const
inline

Definition at line 320 of file transaction.h.

Here is the caller graph for this function:

◆ GetTotalSize()

unsigned int CTransaction::GetTotalSize ( ) const

RVN END.

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

Returns
Total transaction size in bytes

Definition at line 103 of file transaction.cpp.

Here is the call graph for this function:

◆ GetValueOut()

CAmount CTransaction::GetValueOut ( ) const

Definition at line 92 of file transaction.cpp.

Here is the call graph for this function:

◆ GetVerifierStringFromTx() [1/2]

bool CTransaction::GetVerifierStringFromTx ( CNullAssetTxVerifierString verifier,
std::string &  strError 
) const

Definition at line 1378 of file assets.cpp.

◆ GetVerifierStringFromTx() [2/2]

bool CTransaction::GetVerifierStringFromTx ( CNullAssetTxVerifierString verifier,
std::string &  strError,
bool &  fNotFound 
) const

Definition at line 1347 of file assets.cpp.

◆ GetWitnessHash()

uint256 CTransaction::GetWitnessHash ( ) const

Definition at line 79 of file transaction.cpp.

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

◆ HasWitness()

bool CTransaction::HasWitness ( ) const
inline

Definition at line 377 of file transaction.h.

Here is the caller graph for this function:

◆ IsCoinBase()

bool CTransaction::IsCoinBase ( ) const
inline

Definition at line 360 of file transaction.h.

Here is the caller graph for this function:

◆ IsNewAsset()

bool CTransaction::IsNewAsset ( ) const

RVN START.

Call VerifyNewAsset if this function returns true.

Definition at line 881 of file assets.cpp.

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

◆ IsNewMsgChannelAsset()

bool CTransaction::IsNewMsgChannelAsset ( ) const

Make sure to call VerifyNewUniqueAsset if this call returns true.

Definition at line 1077 of file assets.cpp.

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

◆ IsNewQualifierAsset()

bool CTransaction::IsNewQualifierAsset ( ) const

Make sure to call VerifyNewQualifierAsset if this call returns true.

Definition at line 1164 of file assets.cpp.

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

◆ IsNewRestrictedAsset()

bool CTransaction::IsNewRestrictedAsset ( ) const

Make sure to call VerifyNewAsset if this call returns true.

Definition at line 1253 of file assets.cpp.

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

◆ IsNewUniqueAsset()

bool CTransaction::IsNewUniqueAsset ( ) const

Make sure to call VerifyNewUniqueAsset if this call returns true.

Definition at line 900 of file assets.cpp.

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

◆ IsNull()

bool CTransaction::IsNull ( ) const
inline

Definition at line 316 of file transaction.h.

◆ IsReissueAsset()

bool CTransaction::IsReissueAsset ( ) const

Definition at line 1384 of file assets.cpp.

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

◆ Serialize()

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

Definition at line 307 of file transaction.h.

Here is the call graph for this function:

◆ ToString()

std::string CTransaction::ToString ( ) const

Definition at line 108 of file transaction.cpp.

Here is the call graph for this function:

◆ VerifyNewAsset()

bool CTransaction::VerifyNewAsset ( std::string &  strError) const

To be called on CTransactions where IsNewAsset returns true.

Definition at line 1006 of file assets.cpp.

Here is the call graph for this function:

◆ VerifyNewMsgChannelAsset()

bool CTransaction::VerifyNewMsgChannelAsset ( std::string &  strError) const

To be called on CTransactions where IsNewAsset returns true.

Definition at line 1090 of file assets.cpp.

Here is the call graph for this function:

◆ VerifyNewQualfierAsset()

bool CTransaction::VerifyNewQualfierAsset ( std::string &  strError) const

To be called on CTransactions where IsNewQualifierAsset returns true.

Definition at line 1177 of file assets.cpp.

Here is the call graph for this function:

◆ VerifyNewRestrictedAsset()

bool CTransaction::VerifyNewRestrictedAsset ( std::string &  strError) const

To be called on CTransactions where IsNewRestrictedAsset returns true.

Definition at line 1266 of file assets.cpp.

Here is the call graph for this function:

◆ VerifyNewUniqueAsset()

bool CTransaction::VerifyNewUniqueAsset ( std::string &  strError) const

Call this function after IsNewUniqueAsset.

Definition at line 913 of file assets.cpp.

Here is the call graph for this function:

◆ VerifyReissueAsset()

bool CTransaction::VerifyReissueAsset ( std::string &  strError) const

To be called on CTransactions where IsReissueAsset returns true.

Definition at line 1394 of file assets.cpp.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 370 of file transaction.h.

◆ operator==

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

Definition at line 365 of file transaction.h.

Member Data Documentation

◆ CURRENT_VERSION

const int32_t CTransaction::CURRENT_VERSION =2
static

Definition at line 274 of file transaction.h.

◆ hash

const uint256 CTransaction::hash
private

Memory only.

Definition at line 294 of file transaction.h.

◆ MAX_STANDARD_VERSION

const int32_t CTransaction::MAX_STANDARD_VERSION =2
static

Definition at line 280 of file transaction.h.

◆ nLockTime

const uint32_t CTransaction::nLockTime

Definition at line 290 of file transaction.h.

◆ nVersion

const int32_t CTransaction::nVersion

Definition at line 289 of file transaction.h.

◆ vin

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

Definition at line 287 of file transaction.h.

◆ vout

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

Definition at line 288 of file transaction.h.


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