Skip to content

sgns::IGeniusTransactions

#include <IGeniusTransactions.hpp>

Inherited by sgns::EscrowReleaseTransaction, sgns::EscrowTransaction, sgns::MintTransaction, sgns::ProcessingTransaction, sgns::TransferTransaction

Public Types

Name
using std::function< std::shared_ptr< IGeniusTransactions >(const std::vector< uint8_t > &)> TransactionDeserializeFn
Alias for the de-serializer method type to be implemented in derived classes.

Public Functions

Name
IGeniusTransactions(std::string type, SGTransaction::DAGStruct dag)
virtual ~IGeniusTransactions() =default
std::string GetType() const
virtual std::vector< uint8_t > SerializeByteVector() =0
virtual std::string GetTransactionSpecificPath() const =0
std::string GetTransactionFullPath() const
std::string GetProofFullPath() const
std::string GetSrcAddress() const
std::string GetHash() const
uint64_t GetTimestamp() const
virtual std::unordered_set< std::string > GetTopics() const
void FillHash()
bool CheckHash()
std::vector< uint8_t > MakeSignature(GeniusAccount & account)
bool CheckSignature()
bool CheckDAGSignatureLegacy()
outcome::result< SGTransaction::DAGStruct > DeSerializeDAGStruct(const std::vector< uint8_t > & data)
outcome::result< SGTransaction::DAGStruct > DeSerializeDAGStruct(const std::string & data)
SGTransaction::DAGStruct SetDAGWithType(SGTransaction::DAGStruct dag, const std::string & type)
std::string GetTransactionFullPath(const std::string & tx_hash)
void RegisterDeserializer(const std::string & transaction_type, TransactionDeserializeFn fn)
Registers a deserializer function for a specific transaction type.
std::unordered_map< std::string, TransactionDeserializeFn > & GetDeSerializers()

Public Attributes

Name
SGTransaction::DAGStruct dag_st

Public Types Documentation

using TransactionDeserializeFn

using sgns::IGeniusTransactions::TransactionDeserializeFn = 
std::function<std::shared_ptr<IGeniusTransactions>( const std::vector<uint8_t> & )>;

Alias for the de-serializer method type to be implemented in derived classes.

Public Functions Documentation

function IGeniusTransactions

inline IGeniusTransactions(
    std::string type,
    SGTransaction::DAGStruct dag
)

function ~IGeniusTransactions

virtual ~IGeniusTransactions() =default

function GetType

inline std::string GetType() const

function SerializeByteVector

virtual std::vector< uint8_t > SerializeByteVector() =0

Reimplemented by: sgns::EscrowReleaseTransaction::SerializeByteVector, sgns::EscrowTransaction::SerializeByteVector, sgns::MintTransaction::SerializeByteVector, sgns::ProcessingTransaction::SerializeByteVector, sgns::TransferTransaction::SerializeByteVector

function GetTransactionSpecificPath

virtual std::string GetTransactionSpecificPath() const =0

Reimplemented by: sgns::EscrowReleaseTransaction::GetTransactionSpecificPath, sgns::EscrowTransaction::GetTransactionSpecificPath, sgns::MintTransaction::GetTransactionSpecificPath, sgns::ProcessingTransaction::GetTransactionSpecificPath, sgns::TransferTransaction::GetTransactionSpecificPath

function GetTransactionFullPath

inline std::string GetTransactionFullPath() const

function GetProofFullPath

inline std::string GetProofFullPath() const

function GetSrcAddress

inline std::string GetSrcAddress() const

function GetHash

std::string GetHash() const

function GetTimestamp

inline uint64_t GetTimestamp() const

function GetTopics

virtual std::unordered_set< std::string > GetTopics() const

Reimplemented by: sgns::EscrowReleaseTransaction::GetTopics, sgns::TransferTransaction::GetTopics

function FillHash

void FillHash()

function CheckHash

bool CheckHash()

function MakeSignature

std::vector< uint8_t > MakeSignature(
    GeniusAccount & account
)

function CheckSignature

bool CheckSignature()

function CheckDAGSignatureLegacy

bool CheckDAGSignatureLegacy()

function DeSerializeDAGStruct

static outcome::result< SGTransaction::DAGStruct > DeSerializeDAGStruct(
    const std::vector< uint8_t > & data
)

function DeSerializeDAGStruct

static outcome::result< SGTransaction::DAGStruct > DeSerializeDAGStruct(
    const std::string & data
)

function SetDAGWithType

static inline SGTransaction::DAGStruct SetDAGWithType(
    SGTransaction::DAGStruct dag,
    const std::string & type
)

function GetTransactionFullPath

static inline std::string GetTransactionFullPath(
    const std::string & tx_hash
)

function RegisterDeserializer

static inline void RegisterDeserializer(
    const std::string & transaction_type,
    TransactionDeserializeFn fn
)

Registers a deserializer function for a specific transaction type.

Parameters:

  • transaction_type The transaction type for which the deserializer is registered.
  • fn The deserializer function to be registered.

function GetDeSerializers

static inline std::unordered_map< std::string, TransactionDeserializeFn > & GetDeSerializers()

Public Attributes Documentation

variable dag_st

SGTransaction::DAGStruct dag_st;

Updated on 2026-03-04 at 13:10:43 -0800