QtIotaBlock 0.4.1
Library with block types on IOTA
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
qiota::qblocks::Output Class Reference

#include <qoutputs.hpp>

Inheritance diagram for qiota::qblocks::Output:
qiota::qblocks::Alias_Output qiota::qblocks::Basic_Output qiota::qblocks::Foundry_Output qiota::qblocks::NFT_Output

Public Types

enum  types : quint8 {
  All_typ = 0 , Basic_typ = 3 , NFT_typ = 6 , Foundry_typ = 5 ,
  Alias_typ = 4
}
 

Public Member Functions

 Output (types typ, const quint64 &amount_m, const pset< const Unlock_Condition > &unlock_conditions_m, const pset< const Feature > &features_m={}, const pset< const Native_Token > &native_tokens_m={}, const pset< const Feature > &immutable_features_m={})
 
 Output (types typ, const QJsonValue &val)
 
 Output (types typ)
 
std::shared_ptr< Outputclone (void) const
 
virtual void serialize (QDataStream &out) const
 
virtual QJsonObject get_Json (void) const
 
virtual void set_id (const c_array &id)
 
virtual c_array get_id (void) const
 
virtual void consume (void)
 
quint64 min_deposit_of_output (const quint64 &wkey, const quint64 &wdata, const quint64 &v_byte_cost) const
 
std::shared_ptr< const Unlock_Conditionget_unlock_ (const Unlock_Condition::types &typ) const
 
std::shared_ptr< const Featureget_feature_ (const Feature::types &typ) const
 
std::shared_ptr< const Featureget_immutable_feature_ (const Feature::types &typ) const
 
types type (void) const
 

Static Public Member Functions

template<class from_type >
static std::shared_ptr< Outputfrom_ (from_type &val)
 
static std::shared_ptr< OutputBasic (const quint64 &amount_m, const pset< const Unlock_Condition > &unlock_conditions_m, const pset< const Native_Token > &native_tokens_m={}, const pset< const Feature > &features_m={})
 
static std::shared_ptr< OutputNFT (const quint64 &amount_m, const pset< const Unlock_Condition > &unlock_conditions_m, const pset< const Native_Token > &native_tokens_m={}, const pset< const Feature > &immutable_features_m={}, const pset< const Feature > &features_m={})
 
static std::shared_ptr< OutputFoundry (const quint64 &amount_m, const pset< const Unlock_Condition > &unlock_conditions_m, const std::shared_ptr< Token_Scheme > &token_scheme_m, const quint32 &serial_number_m, const pset< const Native_Token > &native_tokens_m={}, const pset< const Feature > &immutable_features_m={}, const pset< const Feature > &features_m={})
 
static std::shared_ptr< OutputAlias (const quint64 &amount_m, const pset< const Unlock_Condition > &unlock_conditions_m, const fl_array< quint16 > &state_metadata_m="", const quint32 &foundry_counter_m=0, const quint32 &state_index_m=0, const pset< const Native_Token > &native_tokens_m={}, const pset< const Feature > &immutable_features_m={}, const pset< const Feature > &features_m={})
 

Public Attributes

quint64 amount_
 
pset< const Unlock_Conditionunlock_conditions_
 
pset< const Featurefeatures_
 
pset< const Featureimmutable_features_
 
pset< const Native_Tokennative_tokens_
 

Static Public Attributes

QBLOCK_EXPORT static const QHash< types, QStringtypesstr
 

Member Enumeration Documentation

◆ types

Enumerator
All_typ 
Basic_typ 
NFT_typ 
Foundry_typ 
Alias_typ 

Constructor & Destructor Documentation

◆ Output() [1/3]

qiota::qblocks::Output::Output ( types  typ,
const quint64 &  amount_m,
const pset< const Unlock_Condition > &  unlock_conditions_m,
const pset< const Feature > &  features_m = {},
const pset< const Native_Token > &  native_tokens_m = {},
const pset< const Feature > &  immutable_features_m = {} 
)

◆ Output() [2/3]

qiota::qblocks::Output::Output ( types  typ,
const QJsonValue val 
)

◆ Output() [3/3]

qiota::qblocks::Output::Output ( types  typ)
inline

Member Function Documentation

◆ Alias()

std::shared_ptr< Output > qiota::qblocks::Output::Alias ( const quint64 &  amount_m,
const pset< const Unlock_Condition > &  unlock_conditions_m,
const fl_array< quint16 > &  state_metadata_m = "",
const quint32 &  foundry_counter_m = 0,
const quint32 &  state_index_m = 0,
const pset< const Native_Token > &  native_tokens_m = {},
const pset< const Feature > &  immutable_features_m = {},
const pset< const Feature > &  features_m = {} 
)
static

◆ Basic()

std::shared_ptr< Output > qiota::qblocks::Output::Basic ( const quint64 &  amount_m,
const pset< const Unlock_Condition > &  unlock_conditions_m,
const pset< const Native_Token > &  native_tokens_m = {},
const pset< const Feature > &  features_m = {} 
)
static

◆ clone()

std::shared_ptr<Output> qiota::qblocks::Output::clone ( void  ) const
inline

◆ consume()

void qiota::qblocks::Output::consume ( void  )
virtual

Reimplemented in qiota::qblocks::Foundry_Output.

◆ Foundry()

std::shared_ptr< Output > qiota::qblocks::Output::Foundry ( const quint64 &  amount_m,
const pset< const Unlock_Condition > &  unlock_conditions_m,
const std::shared_ptr< Token_Scheme > &  token_scheme_m,
const quint32 &  serial_number_m,
const pset< const Native_Token > &  native_tokens_m = {},
const pset< const Feature > &  immutable_features_m = {},
const pset< const Feature > &  features_m = {} 
)
static

◆ from_()

template<class from_type >
template std::shared_ptr< Output > qiota::qblocks::Output::from_< QJsonValueConstRef const > ( from_type &  val)
static

◆ get_feature_()

std::shared_ptr<const Feature> qiota::qblocks::Output::get_feature_ ( const Feature::types typ) const
inline

◆ get_id()

virtual c_array qiota::qblocks::Output::get_id ( void  ) const
inlinevirtual

◆ get_immutable_feature_()

std::shared_ptr<const Feature> qiota::qblocks::Output::get_immutable_feature_ ( const Feature::types typ) const
inline

◆ get_Json()

QJsonObject qiota::qblocks::Output::get_Json ( void  ) const
virtual

◆ get_unlock_()

std::shared_ptr<const Unlock_Condition> qiota::qblocks::Output::get_unlock_ ( const Unlock_Condition::types typ) const
inline

◆ min_deposit_of_output()

quint64 qiota::qblocks::Output::min_deposit_of_output ( const quint64 &  wkey,
const quint64 &  wdata,
const quint64 &  v_byte_cost 
) const

◆ NFT()

std::shared_ptr< Output > qiota::qblocks::Output::NFT ( const quint64 &  amount_m,
const pset< const Unlock_Condition > &  unlock_conditions_m,
const pset< const Native_Token > &  native_tokens_m = {},
const pset< const Feature > &  immutable_features_m = {},
const pset< const Feature > &  features_m = {} 
)
static

◆ serialize()

void qiota::qblocks::Output::serialize ( QDataStream out) const
virtual

◆ set_id()

void qiota::qblocks::Output::set_id ( const c_array id)
virtual

◆ type()

types qiota::qblocks::Output::type ( void  ) const
inline

Member Data Documentation

◆ amount_

quint64 qiota::qblocks::Output::amount_

◆ features_

pset<const Feature> qiota::qblocks::Output::features_

◆ immutable_features_

pset<const Feature> qiota::qblocks::Output::immutable_features_

◆ native_tokens_

pset<const Native_Token> qiota::qblocks::Output::native_tokens_

◆ typesstr

const QHash< Output::types, QString > qiota::qblocks::Output::typesstr
static
Initial value:
= {
{All_typ, ""}, {Basic_typ, "/basic"}, {NFT_typ, "/nft"}, {Foundry_typ, "/foundry"}, {Alias_typ, "/alias"}}
@ Foundry_typ
Definition: qoutputs.hpp:26
@ NFT_typ
Definition: qoutputs.hpp:25
@ Basic_typ
Definition: qoutputs.hpp:24
@ Alias_typ
Definition: qoutputs.hpp:27
@ All_typ
Definition: qoutputs.hpp:23

◆ unlock_conditions_

pset<const Unlock_Condition> qiota::qblocks::Output::unlock_conditions_

The documentation for this class was generated from the following files: