Skip to content

sgns::MintTransactionV2

Implements a Mint Version 2 transaction.

#include <MintTransactionV2.hpp>

Inherits from sgns::IGeniusTransactions

Public Functions

Name
~MintTransactionV2() override =default
Destroy the Mint Transaction V 2 object.
virtual std::vector< uint8_t > SerializeByteVector() override
Serializes the transaction.
uint64_t GetAmount() const
Get the amount of the mint.
TokenID GetTokenID() const
Get the Token ID.
UTXOTxParameters GetUTXOParameters() const
Returns the UTXOs.
virtual bool HasUTXOParameters() const override
Returns if transaction supports UTXOs.
virtual std::optional< UTXOTxParameters > GetUTXOParametersOpt() const override
Returns the UTXOs.
virtual std::string GetTransactionSpecificPath() const override
Gets the transaction specific path.
virtual std::unordered_set< std::string > GetTopics() const override
Returns the topics of interest of this transaction.
std::shared_ptr< MintTransactionV2 > DeSerializeByteVector(const std::vector< uint8_t > & data)
Deserializes a MintV2 serialized byte vector into an object.
MintTransactionV2 New(uint64_t new_amount, std::string chain_id, TokenID token_id, SGTransaction::DAGStruct dag, std::string mint_destination)
Creates a new MintV2 transaction.

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 ~MintTransactionV2

~MintTransactionV2() override =default

Destroy the Mint Transaction V 2 object.

function SerializeByteVector

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

Serializes the transaction.

Return: The serialized byte vector

Reimplements: sgns::IGeniusTransactions::SerializeByteVector

function GetAmount

uint64_t GetAmount() const

Get the amount of the mint.

Return: The amount of tokens minted

function GetTokenID

TokenID GetTokenID() const

Get the Token ID.

Return: The ID which identifies what token was minted

function GetUTXOParameters

UTXOTxParameters GetUTXOParameters() const

Returns the UTXOs.

Return: The UTXOs of the MintV2 transaction

function HasUTXOParameters

virtual bool HasUTXOParameters() const override

Returns if transaction supports UTXOs.

Return: True if supported, false otherwise

Reimplements: sgns::IGeniusTransactions::HasUTXOParameters

function GetUTXOParametersOpt

virtual std::optional< UTXOTxParameters > GetUTXOParametersOpt() const override

Returns the UTXOs.

Return: If exists, returns the UTXOs of the transaction

Reimplements: sgns::IGeniusTransactions::GetUTXOParametersOpt

function GetTransactionSpecificPath

inline virtual std::string GetTransactionSpecificPath() const override

Gets the transaction specific path.

Return: Returns the transaction specific path

Reimplements: sgns::IGeniusTransactions::GetTransactionSpecificPath

function GetTopics

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

Returns the topics of interest of this transaction.

Return: A set of topics

Reimplements: sgns::IGeniusTransactions::GetTopics

function DeSerializeByteVector

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

Deserializes a MintV2 serialized byte vector into an object.

Parameters:

  • data The serialized MintV2 data

Return: A shared pointer to a MintV2 object

function New

static MintTransactionV2 New(
    uint64_t new_amount,
    std::string chain_id,
    TokenID token_id,
    SGTransaction::DAGStruct dag,
    std::string mint_destination
)

Creates a new MintV2 transaction.

Parameters:

  • new_amount The amount to be minted
  • chain_id The chain ID from where the mint came from
  • token_id The token ID
  • dag The DAG structure with the common transaction data
  • mint_destination The destination of the Mint

Return: A MintTransactionV2


Updated on 2026-04-13 at 23:22:46 -0700