account/MintTransactionV2.hpp¶
Header file of the Version 2 of the Mint transaction class. More...
Namespaces¶
| Name |
|---|
| sgns |
Classes¶
| Name | |
|---|---|
| class | sgns::MintTransactionV2 Implements a Mint Version 2 transaction. |
Detailed Description¶
Header file of the Version 2 of the Mint transaction class.
Date: 2026-03-19 Henrique A. Klein ([email protected])
Source code¶
#pragma once
#include <vector>
#include <cstdint>
#include "account/IGeniusTransactions.hpp"
#include "account/TokenID.hpp"
#include "account/UTXOStructs.hpp"
namespace sgns
{
class MintTransactionV2 final : public IGeniusTransactions
{
public:
~MintTransactionV2() override = default;
static std::shared_ptr<MintTransactionV2> DeSerializeByteVector( const std::vector<uint8_t> &data );
static MintTransactionV2 New( uint64_t new_amount,
std::string chain_id,
TokenID token_id,
SGTransaction::DAGStruct dag,
std::string mint_destination );
std::vector<uint8_t> SerializeByteVector() override;
uint64_t GetAmount() const;
TokenID GetTokenID() const;
UTXOTxParameters GetUTXOParameters() const;
bool HasUTXOParameters() const override;
std::optional<UTXOTxParameters> GetUTXOParametersOpt() const override;
std::string GetTransactionSpecificPath() const override
{
return GetType();
}
std::unordered_set<std::string> GetTopics() const override;
private:
MintTransactionV2( UTXOTxParameters utxo_params,
std::string chain_id,
TokenID token_id,
SGTransaction::DAGStruct dag );
UTXOTxParameters utxo_params_;
std::string chain_id_;
TokenID token_id_;
static bool Register()
{
RegisterDeserializer( "mint-v2", &MintTransactionV2::DeSerializeByteVector );
return true;
}
static inline bool registered = Register();
};
}
Updated on 2026-04-13 at 23:22:46 -0700