QtIotaBlock 0.4.1
Library with block types on IOTA
qblock.hpp
1 #pragma once
8 #include "block/carray.hpp"
9 #include "block/qaddresses.hpp"
10 #include "block/qessences.hpp"
11 #include "block/qfeatures.hpp"
12 #include "block/qinputs.hpp"
13 #include "block/qnative_tokens.hpp"
14 #include "block/qoutput_metadata_response.hpp"
15 #include "block/qoutputs.hpp"
16 #include "block/qpayloads.hpp"
17 #include "block/qsignatures.hpp"
18 #include "block/qunlock_conditions.hpp"
19 #include "block/qunlocks.hpp"
20 #include <QByteArray>
21 #include <QDataStream>
22 #include <QJsonArray>
23 #include <QJsonObject>
24 #include <QJsonValue>
25 
26 namespace qiota
27 {
28 
29 namespace qblocks
30 {
31 class Block
32 {
33  public:
34  Block(){};
35  Block(QDataStream &serialized_block);
37  Block(const QJsonValue &val);
38 
39  friend QDataStream &operator<(QDataStream &out, const Block &obj);
40  static QByteArray get_inputs_Commitment(QByteArray Inputs_hash);
41 
42  void serialize(QDataStream &out) const;
43 
44  QJsonObject get_Json(void) const;
45 
46  void set_parents(const std::vector<Block_ID> &parents_m);
47 
48  void set_nonce(const quint64 &nonce_m);
49  void set_pv(const quint8 &pv);
51  {
52  return payload_;
53  }
54 
55  private:
56  quint8 protocol_version;
57  quint64 nonce_;
59  std::vector<Block_ID> parents_;
60 };
61 
62 }; // namespace qblocks
63 }; // namespace qiota
Definition: qblock.hpp:32
static QByteArray get_inputs_Commitment(QByteArray Inputs_hash)
Definition: qblock.cpp:9
Block()
Definition: qblock.hpp:34
QJsonObject get_Json(void) const
Definition: qblock.cpp:55
friend QDataStream & operator<(QDataStream &out, const Block &obj)
Definition: qblock.cpp:75
void set_pv(const quint8 &pv)
Definition: qblock.cpp:43
std::shared_ptr< const Payload > payload() const
Definition: qblock.hpp:50
void serialize(QDataStream &out) const
Definition: qblock.cpp:98
void set_nonce(const quint64 &nonce_m)
Definition: qblock.cpp:51
void set_parents(const std::vector< Block_ID > &parents_m)
Definition: qblock.cpp:47
Definition: carray.hpp:22