Skip to content

sgns::TransferTransaction

Transaction for transferring funds between UTXO inputs and outputs.

#include <TransferTransaction.hpp>

Inherits from sgns::IGeniusTransactions

Public Functions

Name
TransferTransaction New(std::vector< InputUTXOInfo > inputs, std::vector< OutputDestInfo > destinations, SGTransaction::DAGStruct dag)
std::shared_ptr< TransferTransaction > DeSerializeByteVector(const std::vector< uint8_t > & data)
Deserializes a TransferTransaction from bytes.
~TransferTransaction() override =default
Default Transfer Transaction destructor.
virtual std::vector< uint8_t > SerializeByteVector() override
Serializes the transaction into a byte vector.
std::vector< OutputDestInfo > GetDstInfos() const
std::vector< InputUTXOInfo > GetInputInfos() const
virtual std::string GetTransactionSpecificPath() const override
virtual std::unordered_set< std::string > GetTopics() const override

Additional inherited members

Public Types inherited from sgns::IGeniusTransactions

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 inherited from sgns::IGeniusTransactions

Name
IGeniusTransactions(std::string type, SGTransaction::DAGStruct dag)
virtual ~IGeniusTransactions() =default
std::string GetType() const
std::string GetTransactionFullPath() const
std::string GetProofFullPath() const
std::string GetSrcAddress() const
std::string GetHash() const
uint64_t GetTimestamp() 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 inherited from sgns::IGeniusTransactions

Name
SGTransaction::DAGStruct dag_st

Public Functions Documentation

function New

static TransferTransaction New(
    std::vector< InputUTXOInfo > inputs,
    std::vector< OutputDestInfo > destinations,
    SGTransaction::DAGStruct dag
)

function DeSerializeByteVector

static std::shared_ptr< TransferTransaction > DeSerializeByteVector(
    const std::vector< uint8_t > & data
)

Deserializes a TransferTransaction from bytes.

Parameters:

  • data Serialized bytes.

Return: Shared pointer to the deserialized transaction.

function ~TransferTransaction

~TransferTransaction() override =default

Default Transfer Transaction destructor.

function SerializeByteVector

virtual std::vector< uint8_t > SerializeByteVector() override

Serializes the transaction into a byte vector.

Return: Serialized bytes.

Reimplements: sgns::IGeniusTransactions::SerializeByteVector

function GetDstInfos

std::vector< OutputDestInfo > GetDstInfos() const

function GetInputInfos

std::vector< InputUTXOInfo > GetInputInfos() const

function GetTransactionSpecificPath

inline virtual std::string GetTransactionSpecificPath() const override

Reimplements: sgns::IGeniusTransactions::GetTransactionSpecificPath

function GetTopics

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

Reimplements: sgns::IGeniusTransactions::GetTopics


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