QtIotaBlock 0.4.1
Library with block types on IOTA
qnative_tokens.hpp
1 #pragma once
2 
3 #include "block/carray.hpp"
4 #include <QByteArray>
5 #include <QDataStream>
6 #include <QJsonObject>
7 #include <QJsonValue>
8 namespace qiota
9 {
10 
11 namespace qblocks
12 {
13 
15 {
16  public:
17  Native_Token(const Token_ID &token_id_m, const quint256 &amount_m);
18  Native_Token(const QJsonValue &val);
20  template <class from_type> static std::shared_ptr<const Native_Token> from_(from_type &val);
21 
22  static std::shared_ptr<const Native_Token> Native(const Token_ID &token_id_m, const quint256 &amount_m);
23  void serialize(QDataStream &out) const;
24 
25  friend inline bool operator<(const Native_Token &a, const Native_Token &b)
26  {
27  return a.token_id_ < b.token_id_;
28  }
29  QJsonObject get_Json(void) const;
30  const Token_ID token_id(void) const
31  {
32  return token_id_;
33  }
34  quint256 amount(void) const
35  {
36  return amount_;
37  }
38 
39  private:
40  Token_ID token_id_; // ByteArray[38] Identifier of the native token.
41  quint256 amount_; // Amount of native tokens of the given Token ID. uint256->ByteArray[32]
42 };
43 
44 }; // namespace qblocks
45 
46 }; // namespace qiota
Definition: qnative_tokens.hpp:15
const Token_ID token_id(void) const
Definition: qnative_tokens.hpp:30
void serialize(QDataStream &out) const
Definition: qnative_tokens.cpp:33
static std::shared_ptr< const Native_Token > from_(from_type &val)
Definition: qnative_tokens.cpp:16
QJsonObject get_Json(void) const
Definition: qnative_tokens.cpp:38
quint256 amount(void) const
Definition: qnative_tokens.hpp:34
Native_Token(const Token_ID &token_id_m, const quint256 &amount_m)
Definition: qnative_tokens.cpp:11
friend bool operator<(const Native_Token &a, const Native_Token &b)
Definition: qnative_tokens.hpp:25
static std::shared_ptr< const Native_Token > Native(const Token_ID &token_id_m, const quint256 &amount_m)
Definition: qnative_tokens.cpp:6
Byte Array that takes care of storing the objects in serialized form.
Definition: carray.hpp:30
Definition: carray.hpp:22