Skip to content

account/UTXOStructs.hpp

Shared UTXO transaction input and output data structures. More...

Namespaces

Name
sgns
sgns::utxo_address

Classes

Name
struct sgns::InputUTXOInfo
Raw UTXO input data included in a spend request.
struct sgns::OutputDestInfo
Single UTXO output destination entry.

Types

Name
using std::pair< std::vector< InputUTXOInfo >, std::vector< OutputDestInfo > > UTXOTxParameters
Pair of signed inputs and destination outputs that make up a UTXO transaction payload.

Functions

Name
bool IsEscrowLockAddress(std::string_view address)
Checks if the address is a valid escrow lock address (0x-prefixed 64 hex chars).
bool IsAccountPublicKeyAddress(std::string_view address)
Checks if the address is a public key.

Detailed Description

Shared UTXO transaction input and output data structures.

Date: 2026-01-20 Henrique A. Klein ([email protected])

Types Documentation

using UTXOTxParameters

using sgns::UTXOTxParameters = std::pair<std::vector<InputUTXOInfo>, std::vector<OutputDestInfo>>;

Pair of signed inputs and destination outputs that make up a UTXO transaction payload.

Functions Documentation

function IsEscrowLockAddress

bool IsEscrowLockAddress(
    std::string_view address
)

Checks if the address is a valid escrow lock address (0x-prefixed 64 hex chars).

Parameters:

  • address The address to check

Return: true if the address is a valid escrow lock address, false otherwise

function IsAccountPublicKeyAddress

bool IsAccountPublicKeyAddress(
    std::string_view address
)

Checks if the address is a public key.

Parameters:

  • address The address to check

Return: true if the address is a public key address, false otherwise

Source code

#pragma once

#include "base/blob.hpp"
#include "TokenID.hpp"

namespace sgns
{
    namespace utxo_address
    {
        bool IsEscrowLockAddress( std::string_view address );

        bool IsAccountPublicKeyAddress( std::string_view address );
    } // namespace utxo_address

    struct InputUTXOInfo
    {
        std::vector<uint8_t> SerializeForSigning() const;

        base::Hash256        txid_hash_;  
        uint32_t             output_idx_; 
        std::vector<uint8_t> signature_;  
    };

    struct OutputDestInfo
    {
        uint64_t    encrypted_amount; 
        std::string dest_address;     
        TokenID     token_id;         
    };

    using UTXOTxParameters = std::pair<std::vector<InputUTXOInfo>, std::vector<OutputDestInfo>>;
}

Updated on 2026-06-05 at 17:22:19 -0700