3 #include "block/carray.hpp"
4 #include "block/qfeatures.hpp"
5 #include "block/qnative_tokens.hpp"
6 #include "block/qtoken_scheme.hpp"
7 #include "block/qunlock_conditions.hpp"
11 #include <QJsonObject>
30 const pset<const Feature> &features_m = {},
const pset<const Native_Token> &native_tokens_m = {},
31 const pset<const Feature> &immutable_features_m = {});
46 return from_<QDataStream>(rBuffer);
51 const pset<const Feature> &features_m = {});
53 const pset<const Native_Token> &native_tokens_m = {},
54 const pset<const Feature> &immutable_features_m = {},
55 const pset<const Feature> &features_m = {});
57 const pset<const Unlock_Condition> &unlock_conditions_m,
59 const quint32 &serial_number_m,
60 const pset<const Native_Token> &native_tokens_m = {},
61 const pset<const Feature> &immutable_features_m = {},
62 const pset<const Feature> &features_m = {});
64 const pset<const Unlock_Condition> &unlock_conditions_m,
65 const fl_array<quint16> &state_metadata_m =
"",
66 const quint32 &foundry_counter_m = 0,
const quint32 &state_index_m = 0,
67 const pset<const Native_Token> &native_tokens_m = {},
68 const pset<const Feature> &immutable_features_m = {},
69 const pset<const Feature> &features_m = {});
73 virtual void set_id(
const c_array &
id);
79 quint64
min_deposit_of_output(
const quint64 &wkey,
const quint64 &wdata,
const quint64 &v_byte_cost)
const;
84 [typ](
const auto &it) { return (it->type() == typ); });
92 return (found ==
features_.end()) ? nullptr : *found;
97 [typ](
const auto &it) { return (it->type() == typ); });
181 const fl_array<quint16> &state_metadata_m =
"",
const quint32 &foundry_counter_m = 0,
191 if (alias_id_ ==
c_array(32, 0))
Definition: qoutputs.hpp:178
Alias_Output(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={})
Definition: qoutputs.cpp:245
void serialize(QDataStream &out) const
Definition: qoutputs.cpp:283
c_array get_id(void) const
Definition: qoutputs.hpp:194
void set_id(const c_array &outputid)
Definition: qoutputs.hpp:189
fl_array< quint16 > state_metadata_
Definition: qoutputs.hpp:199
quint32 foundry_counter_
Definition: qoutputs.hpp:198
quint32 state_index_
Definition: qoutputs.hpp:198
QJsonObject get_Json(void) const
Definition: qoutputs.cpp:273
Definition: qoutputs.hpp:117
Basic_Output(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={})
Definition: qoutputs.cpp:107
QJsonObject get_Json(void) const
Definition: qoutputs.cpp:128
void serialize(QDataStream &out) const
Definition: qoutputs.cpp:120
types
Definition: qfeatures.hpp:16
Definition: qoutputs.hpp:152
c_array get_id(void) const
Definition: qoutputs.hpp:161
Foundry_Output(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={})
Definition: qoutputs.cpp:192
QJsonObject get_Json(void) const
Definition: qoutputs.cpp:216
std::shared_ptr< Token_Scheme > token_scheme_
Definition: qoutputs.hpp:171
quint32 serial_number_
Definition: qoutputs.hpp:172
void serialize(QDataStream &out) const
Definition: qoutputs.cpp:223
void consume(void)
Definition: qoutputs.cpp:18
Definition: qoutputs.hpp:127
void serialize(QDataStream &out) const
Definition: qoutputs.cpp:170
NFT_Output(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={})
Definition: qoutputs.cpp:142
void set_id(const c_array &outputid)
Definition: qoutputs.hpp:137
QJsonObject get_Json(void) const
Definition: qoutputs.cpp:163
c_array get_id(void) const
Definition: qoutputs.hpp:142
Definition: qoutputs.hpp:19
pset< const Unlock_Condition > unlock_conditions_
Definition: qoutputs.hpp:102
Output(types typ)
Definition: qoutputs.hpp:34
quint64 min_deposit_of_output(const quint64 &wkey, const quint64 &wdata, const quint64 &v_byte_cost) const
Definition: qoutputs.cpp:85
static std::shared_ptr< 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={})
Definition: qoutputs.cpp:235
pset< const Feature > features_
Definition: qoutputs.hpp:103
types
Definition: qoutputs.hpp:22
@ 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
virtual c_array get_id(void) const
Definition: qoutputs.hpp:74
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={})
Definition: qoutputs.cpp:56
static std::shared_ptr< 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={})
Definition: qoutputs.cpp:101
std::shared_ptr< const Feature > get_feature_(const Feature::types &typ) const
Definition: qoutputs.hpp:88
std::shared_ptr< const Unlock_Condition > get_unlock_(const Unlock_Condition::types &typ) const
Definition: qoutputs.hpp:81
types type(void) const
Definition: qoutputs.hpp:106
virtual QJsonObject get_Json(void) const
Definition: qoutputs.cpp:23
std::shared_ptr< const Feature > get_immutable_feature_(const Feature::types &typ) const
Definition: qoutputs.hpp:94
pset< const Feature > immutable_features_
Definition: qoutputs.hpp:104
virtual void set_id(const c_array &id)
Definition: qoutputs.cpp:11
quint64 amount_
Definition: qoutputs.hpp:101
virtual void serialize(QDataStream &out) const
Definition: qoutputs.cpp:10
QBLOCK_EXPORT static const QHash< types, QString > typesstr
Definition: qoutputs.hpp:110
static std::shared_ptr< Output > from_(from_type &val)
Definition: qoutputs.cpp:63
pset< const Native_Token > native_tokens_
Definition: qoutputs.hpp:105
std::shared_ptr< Output > clone(void) const
Definition: qoutputs.hpp:38
static std::shared_ptr< 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={})
Definition: qoutputs.cpp:133
static std::shared_ptr< 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={})
Definition: qoutputs.cpp:181
virtual void consume(void)
Definition: qoutputs.cpp:12
types
Definition: qunlock_conditions.hpp:16
Byte Array that takes care of storing the objects in serialized form.
Definition: carray.hpp:30
void append(const obj_type &obj)
Append obj data to the end. For objects that implement QDataStream & operator <<.
Definition: carray.hpp:64
c_array hash(void) const
Get the hash of the data.
Definition: carray.hpp:73
Definition: carray.hpp:22