BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
graphene::protocol::transaction Class Reference

groups operations that should be applied atomically More...

#include <transaction.hpp>

Inheritance diagram for graphene::protocol::transaction:
graphene::protocol::signed_transaction graphene::protocol::precomputable_transaction graphene::protocol::processed_transaction

Public Member Functions

virtual ~transaction ()=default
 
digest_type digest () const
 Calculate the digest for a transaction. More...
 
virtual const transaction_id_typeid () const
 
virtual void validate () const
 
void set_expiration (fc::time_point_sec expiration_time)
 
void set_reference_block (const block_id_type &reference_block)
 
template<typename Visitor >
vector< typename Visitor::result_type > visit (Visitor &&visitor)
 visit all operations More...
 
template<typename Visitor >
vector< typename Visitor::result_type > visit (Visitor &&visitor) const
 
void get_required_authorities (flat_set< account_id_type > &active, flat_set< account_id_type > &owner, vector< authority > &other, bool ignore_custom_operation_required_auths) const
 
virtual uint64_t get_packed_size () const
 

Public Attributes

uint16_t ref_block_num = 0
 
uint32_t ref_block_prefix = 0
 
fc::time_point_sec expiration
 
vector< operationoperations
 
extensions_type extensions
 

Protected Member Functions

digest_type sig_digest (const chain_id_type &chain_id) const
 

Protected Attributes

transaction_id_type _tx_id_buffer
 

Detailed Description

groups operations that should be applied atomically

Definition at line 69 of file transaction.hpp.

Constructor & Destructor Documentation

◆ ~transaction()

virtual graphene::protocol::transaction::~transaction ( )
virtualdefault

Member Function Documentation

◆ digest()

digest_type graphene::protocol::transaction::digest ( ) const

Calculate the digest for a transaction.

Definition at line 43 of file transaction.cpp.

◆ get_packed_size()

uint64_t graphene::protocol::transaction::get_packed_size ( ) const
virtual

Reimplemented in graphene::protocol::precomputable_transaction.

Definition at line 65 of file transaction.cpp.

◆ get_required_authorities()

void graphene::protocol::transaction::get_required_authorities ( flat_set< account_id_type > &  active,
flat_set< account_id_type > &  owner,
vector< authority > &  other,
bool  ignore_custom_operation_required_auths 
) const

Definition at line 103 of file transaction.cpp.

◆ id()

const transaction_id_type & graphene::protocol::transaction::id ( ) const
virtual

Reimplemented in graphene::protocol::precomputable_transaction.

Definition at line 70 of file transaction.cpp.

◆ set_expiration()

void graphene::protocol::transaction::set_expiration ( fc::time_point_sec  expiration_time)

Definition at line 92 of file transaction.cpp.

◆ set_reference_block()

void graphene::protocol::transaction::set_reference_block ( const block_id_type reference_block)

Definition at line 97 of file transaction.cpp.

◆ sig_digest()

digest_type graphene::protocol::transaction::sig_digest ( const chain_id_type chain_id) const
protected

Definition at line 50 of file transaction.cpp.

◆ validate()

void graphene::protocol::transaction::validate ( ) const
virtual

Reimplemented in graphene::protocol::precomputable_transaction.

Definition at line 58 of file transaction.cpp.

◆ visit() [1/2]

template<typename Visitor >
vector<typename Visitor::result_type> graphene::protocol::transaction::visit ( Visitor &&  visitor)
inline

visit all operations

Definition at line 102 of file transaction.hpp.

◆ visit() [2/2]

template<typename Visitor >
vector<typename Visitor::result_type> graphene::protocol::transaction::visit ( Visitor &&  visitor) const
inline

Definition at line 110 of file transaction.hpp.

Member Data Documentation

◆ _tx_id_buffer

transaction_id_type graphene::protocol::transaction::_tx_id_buffer
mutableprotected

Definition at line 128 of file transaction.hpp.

◆ expiration

fc::time_point_sec graphene::protocol::transaction::expiration

This field specifies the absolute expiration for this transaction.

Definition at line 87 of file transaction.hpp.

◆ extensions

extensions_type graphene::protocol::transaction::extensions

Definition at line 90 of file transaction.hpp.

◆ operations

vector<operation> graphene::protocol::transaction::operations

Definition at line 89 of file transaction.hpp.

◆ ref_block_num

uint16_t graphene::protocol::transaction::ref_block_num = 0

Least significant 16 bits from the reference block number.

Definition at line 76 of file transaction.hpp.

◆ ref_block_prefix

uint32_t graphene::protocol::transaction::ref_block_prefix = 0

The first non-block-number 32-bits of the reference block ID. Recall that block IDs have 32 bits of block number followed by the actual block hash, so this field should be set using the second 32 bits in the block_id_type

Definition at line 82 of file transaction.hpp.


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