Skip to content

sgns::EscrowReleaseTransaction

Represents a transaction used to release funds from an escrow. More...

#include <EscrowReleaseTransaction.hpp>

Inherits from sgns::IGeniusTransactions

Public Functions

Name
EscrowReleaseTransaction New(UTXOTxParameters params, uint64_t release_amount, std::string release_address, std::string escrow_source, std::string original_escrow_hash, SGTransaction::DAGStruct dag)
Creates a new EscrowReleaseTransaction.
std::shared_ptr< EscrowReleaseTransaction > DeSerializeByteVector(const std::vector< uint8_t > & data)
Deserializes a byte vector into an EscrowReleaseTransaction.
~EscrowReleaseTransaction() override =default
Destructor.
virtual std::vector< uint8_t > SerializeByteVector() override
Serializes the transaction to a byte vector.
UTXOTxParameters GetUTXOParameters() const
Gets the UTXO parameters.
uint64_t GetReleaseAmount() const
Gets the release amount.
std::string GetReleaseAddress() const
Gets the release address.
std::string GetEscrowSource() const
Gets the escrow source.
std::string GetOriginalEscrowHash() const
Gets the original escrow hash.
virtual std::string GetTransactionSpecificPath() const override
Gets the transaction-specific path.
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

Detailed Description

class sgns::EscrowReleaseTransaction;

Represents a transaction used to release funds from an escrow.

This transaction holds the UTXO parameters, the amount to be released, the release address, the escrow source, and the original escrow hash.

Public Functions Documentation

function New

static EscrowReleaseTransaction New(
    UTXOTxParameters params,
    uint64_t release_amount,
    std::string release_address,
    std::string escrow_source,
    std::string original_escrow_hash,
    SGTransaction::DAGStruct dag
)

Creates a new EscrowReleaseTransaction.

Parameters:

  • params UTXO transaction parameters.
  • release_amount Amount to be released.
  • release_address Address where funds will be sent.
  • escrow_source Source of the escrow.
  • original_escrow_hash Original hash of the escrow transaction.
  • dag DAG structure containing transaction metadata.

Return: An instance of EscrowReleaseTransaction.

function DeSerializeByteVector

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

Deserializes a byte vector into an EscrowReleaseTransaction.

Parameters:

  • data Serialized transaction data.

Return: A shared pointer to an EscrowReleaseTransaction instance.

function ~EscrowReleaseTransaction

~EscrowReleaseTransaction() override =default

Destructor.

function SerializeByteVector

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

Serializes the transaction to a byte vector.

Return: A vector of bytes representing the serialized transaction.

Reimplements: sgns::IGeniusTransactions::SerializeByteVector

function GetUTXOParameters

UTXOTxParameters GetUTXOParameters() const

Gets the UTXO parameters.

Return: The UTXO parameters of the transaction.

function GetReleaseAmount

uint64_t GetReleaseAmount() const

Gets the release amount.

Return: The amount to be released.

function GetReleaseAddress

std::string GetReleaseAddress() const

Gets the release address.

Return: The address where funds will be released.

function GetEscrowSource

std::string GetEscrowSource() const

Gets the escrow source.

Return: The source address of the escrow.

function GetOriginalEscrowHash

std::string GetOriginalEscrowHash() const

Gets the original escrow hash.

Return: The original hash of the escrow transaction.

function GetTransactionSpecificPath

virtual std::string GetTransactionSpecificPath() const override

Gets the transaction-specific path.

Return: A string representing the transaction path.

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