Skip to content

sgns

Namespaces

Name
sgns::api
sgns::base
sgns::version
sgns::blockchain
sgns::crdt
sgns::crypto
sgns::primitives
sgns::processing
sgns::sgprocessing
sgns::scale
sgns::storage
sgns::face
sgns::subscription
sgns::evmwatcher
sgns::watcher
sgns::sgprocmanager
sgns::sgprocmanagersha
sgns::ipfs_lite

Classes

Name
class sgns::AccountMessenger
class sgns::EscrowReleaseTransaction
Represents a transaction used to release funds from an escrow.
class sgns::EscrowTransaction
class sgns::GeniusAccount
class sgns::GeniusNode
class sgns::GeniusUTXO
class sgns::IGeniusTransactions
class sgns::IMigrationStep
Interface for a migration step between two schema versions.
class sgns::Migration0_2_0To1_0_0
Migration step for version 0.2.0 to 1.0.0.
class sgns::Migration1_0_0To3_4_0
Migration step for version 1.0.0 to 3.4.0. Changes the full node topic from CRDT heads.
class sgns::Migration3_4_0To3_5_0
Migration step for version 1.0.0 to 3.4.0. Changes the full node topic from CRDT heads.
class sgns::Migration3_5_0To3_6_0
class sgns::MigrationManager
Executes a sequence of migration steps to update a CRDT store.
class sgns::MintTransaction
class sgns::MintTransactionV2
Implements a Mint Version 2 transaction.
class sgns::ProcessingTransaction
class sgns::TokenAmount
Utility for GNUS token fixed-point parsing, formatting and cost calculation.
class sgns::TokenID
class sgns::TransactionManager
class sgns::TransferTransaction
Transaction for transferring funds between UTXO inputs and outputs.
class sgns::UTXOManager
struct sgns::InputUTXOInfo
Raw UTXO input data for a transaction.
struct sgns::OutputDestInfo
Single output entry.
class sgns::ScaledInteger
Represents a decimal value using an integer scaled by 10^precision.
struct sgns::Unused
struct sgns::lambda_visitor
struct sgns::lambda_visitor< Lambda, Lambdas... >
struct sgns::lambda_visitor< Lambda >
class sgns::Blockchain
class sgns::CoinGeckoPriceRetriever
class sgns::AndroidSecureStorage
class sgns::AppleSecureStorage
class sgns::JSONSecureStorage
class sgns::JSONBackend
class sgns::LinuxSecureStorage
class sgns::WindowsSecureStorage
class sgns::ISecureStorage
class sgns::GeniusAssigner
class sgns::GeniusProver
Prover class of SuperGenius.
class sgns::IBasicProof
Base proof class header file.
class sgns::NilFileHelper
class sgns::ProcessingProof
A class for generating and verifying processing proofs.
class sgns::RecursiveTransferProof
A class for generating a recursive Transfer Proof.
class sgns::TransferProof
A class for generating and verifying transfer proofs.
class sgns::AccountHelper
class sgns::IpfsDHT

Types

Name
using std::pair< std::string, base::Buffer > EscrowDataPair
using std::pair< std::vector< InputUTXOInfo >, std::vector< OutputDestInfo > > UTXOTxParameters

Functions

Name
base::Logger GeniusNodeLogger()
std::string generate_uuid_with_ipfs_id(const std::string & ipfs_id)
template <size_t N,class Stream >
Stream &
operator<<(Stream & s, const Unused< N > & )
template <size_t N,class Stream >
Stream &
operator>>(Stream & s, Unused< N > & )
std::string to_string(const std::vector< unsigned char > & bytes)
Convert a byte array to a hexadecimal string.
bool isLittleEndian()
Checks if the architecture is little endian.
template <typename T >
T
Vector2Num(const std::vector< uint8_t > & bytes)
Converts a little-endian byte vector into a number.
uint128_t Vector2Num(const std::vector< uint8_t > & bytes)
uint256_t Vector2Num(const std::vector< uint8_t > & bytes)
template <typename T >
std::vector< uint8_t >
Num2Vector(const T & num, std::size_t num_bytes_resolution =sizeof(T))
Converts a number into a byte vector (little-endian).
template <typename T >
T
HexASCII2Num(const char * p_char, std::size_t num_nibbles_resolution =sizeof(T) *2)
Converts a hexadecimal ASCII char array into a number.
template <typename T >
std::vector< T >
HexASCII2NumStr(const char * p_char, std::size_t char_ptr_size)
Converts a hexadecimal ASCII char array into a vector of numbers.
template <typename T >
std::enable_if_t< std::is_same_v< typename T::value_type, uint8_t > >
AdjustEndianess(T & data, std::optional< typename T::iterator > start =std::nullopt, std::optional< typename T::iterator > finish =std::nullopt)
Adjust endianess if needed.
std::string Uint256ToString(const uint256_t & value)
template <class... Fs>
auto
make_visitor(Fs &&... fs)
Creates a compile-time visitor from a set of lambdas.
template <typename TVariant ,typename... TVisitors>
decltype(auto)
visit_in_place(TVariant && variant, TVisitors &&... visitors)
Applies an in-place visitor to a boost::variant.
template <typename T ,typename Matcher >
decltype(auto)
match(T && t, Matcher && m)
apply Matcher to optional T
template <typename T ,typename... Fs>
decltype(auto)
match_in_place(T && t, Fs &&... fs)
construct visitor from Fs and apply it to optional T
std::string decodeChunkedTransfer(const std::string & chunkedData)
GeniusProver::ProofType GetSnarkFromProto(const SGProof::BaseProofData & proof_proto_data)

Attributes

Name
std::string_view FILE_NAME

Types Documentation

using EscrowDataPair

using sgns::EscrowDataPair = std::pair<std::string, base::Buffer>;

using UTXOTxParameters

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

Functions Documentation

function GeniusNodeLogger

base::Logger GeniusNodeLogger()

function generate_uuid_with_ipfs_id

std::string generate_uuid_with_ipfs_id(
    const std::string & ipfs_id
)

function operator<<

template <size_t N,
class Stream >
Stream & operator<<(
    Stream & s,
    const Unused< N > & 
)

function operator>>

template <size_t N,
class Stream >
Stream & operator>>(
    Stream & s,
    Unused< N > & 
)

function to_string

static std::string to_string(
    const std::vector< unsigned char > & bytes
)

Convert a byte array to a hexadecimal string.

Parameters:

  • bytes A vector of bytes to be converted.

Return: A hexadecimal string representation of the bytes.

function isLittleEndian

static bool isLittleEndian()

Checks if the architecture is little endian.

Return: true if little endian, false otherwise

function Vector2Num

template <typename T >
static T Vector2Num(
    const std::vector< uint8_t > & bytes
)

Converts a little-endian byte vector into a number.

Parameters:

  • bytes Byte vector to convert.

Template Parameters:

  • T uint8_t, uint16_t, uint32_t, uint64_t, or supported multiprecision integer types.

Return: The converted number.

function Vector2Num

uint128_t Vector2Num(
    const std::vector< uint8_t > & bytes
)

function Vector2Num

uint256_t Vector2Num(
    const std::vector< uint8_t > & bytes
)

function Num2Vector

template <typename T >
static std::vector< uint8_t > Num2Vector(
    const T & num,
    std::size_t num_bytes_resolution =sizeof(T)
)

Converts a number into a byte vector (little-endian).

Parameters:

  • num Number to convert.
  • num_bytes_resolution Optional byte resolution (defaults to sizeof(T)).

Template Parameters:

  • T uint8_t, uint16_t, uint32_t or uint64_t

Return: The converted byte vector.

function HexASCII2Num

template <typename T >
static T HexASCII2Num(
    const char * p_char,
    std::size_t num_nibbles_resolution =sizeof(T) *2
)

Converts a hexadecimal ASCII char array into a number.

Parameters:

  • p_char Hexadecimal ASCII char array
  • num_nibbles_resolution How many nibbles will constitute a number

Template Parameters:

  • T uint8_t, uint16_t, uint32_t or uint64_t

Return: The converted number (8-64 bit variable)

function HexASCII2NumStr

template <typename T >
static std::vector< T > HexASCII2NumStr(
    const char * p_char,
    std::size_t char_ptr_size
)

Converts a hexadecimal ASCII char array into a vector of numbers.

Parameters:

  • p_char Hexadecimal ASCII char array
  • char_ptr_size Size of the char array

Template Parameters:

  • T uint8_t, uint16_t, uint32_t or uint64_t

Return: The vector of converted numbers

function AdjustEndianess

template <typename T >
static std::enable_if_t< std::is_same_v< typename T::value_type, uint8_t > > AdjustEndianess(
    T & data,
    std::optional< typename T::iterator > start =std::nullopt,
    std::optional< typename T::iterator > finish =std::nullopt
)

Adjust endianess if needed.

Parameters:

  • data The container of data (vector/array)
  • start Optional beginning of the valid data
  • finish Optional ending of the valid data

Template Parameters:

  • T std::vector or std::array

function Uint256ToString

static std::string Uint256ToString(
    const uint256_t & value
)

function make_visitor

template <class... Fs>
auto make_visitor(
    Fs &&... fs
)

Creates a compile-time visitor from a set of lambdas.

Return: Visitor instance that dispatches to the provided lambdas.

Example: ```cpp

make_visitor(, { return 2; });

This is essentially the same as: ```cpp

struct visitor : public boost::static_visitor<int> {
  int operator()(int a) { return 1; }
  int operator()(std::string b) { return 2; }
};

function visit_in_place

template <typename TVariant ,
typename... TVisitors>
decltype(auto) visit_in_place(
    TVariant && variant,
    TVisitors &&... visitors
)

Applies an in-place visitor to a boost::variant.

Example: ```cpp

boost::variant value = "1234";

visit_in_place(value, { std::cout << "(int)" << v; }, { std::cout << "(string)" << v; });

### function match

```cpp
template <typename T ,
typename Matcher >
decltype(auto) match(
    T && t,
    Matcher && m
)

apply Matcher to optional T

function match_in_place

template <typename T ,
typename... Fs>
decltype(auto) match_in_place(
    T && t,
    Fs &&... fs
)

construct visitor from Fs and apply it to optional T

function decodeChunkedTransfer

std::string decodeChunkedTransfer(
    const std::string & chunkedData
)

function GetSnarkFromProto

static GeniusProver::ProofType GetSnarkFromProto(
    const SGProof::BaseProofData & proof_proto_data
)

Attributes Documentation

variable FILE_NAME

std::string_view FILE_NAME = "secure_storage.json";

Updated on 2026-04-15 at 11:00:39 -0700