src/account/TransferTransaction.hpp¶
Transaction of currency transfer. More...
Namespaces¶
| Name |
|---|
| sgns |
Classes¶
| Name | |
|---|---|
| class | sgns::TransferTransaction Transaction for transferring funds between UTXO inputs and outputs. |
Detailed Description¶
Transaction of currency transfer.
Date: 2024-03-11 Henrique A. Klein ([email protected])
Source code¶
#ifndef _TRANSFER_TRANSACTION_HPP_
#define _TRANSFER_TRANSACTION_HPP_
#include "account/IGeniusTransactions.hpp"
#include "UTXOStructs.hpp"
#include "account/proto/SGTransaction.pb.h"
namespace sgns
{
class TransferTransaction final : public IGeniusTransactions
{
public:
static TransferTransaction New( std::vector<InputUTXOInfo> inputs,
std::vector<OutputDestInfo> destinations,
SGTransaction::DAGStruct dag );
~TransferTransaction() override = default;
std::vector<uint8_t> SerializeByteVector() override;
static std::shared_ptr<TransferTransaction> DeSerializeByteVector( const std::vector<uint8_t> &data );
std::vector<OutputDestInfo> GetDstInfos() const;
std::vector<InputUTXOInfo> GetInputInfos() const;
std::string GetTransactionSpecificPath() const override
{
return GetType();
}
std::unordered_set<std::string> GetTopics() const override;
private:
TransferTransaction( std::vector<OutputDestInfo> destinations,
std::vector<InputUTXOInfo> inputs,
SGTransaction::DAGStruct dag );
std::vector<InputUTXOInfo> input_tx_;
std::vector<OutputDestInfo> outputs_;
static bool Register()
{
RegisterDeserializer( "transfer", &TransferTransaction::DeSerializeByteVector );
return true;
}
static inline bool registered = Register();
};
}
#endif
Updated on 2026-03-04 at 13:10:44 -0800