QtIotaBlock
0.4.1
Library with block types on IOTA
include
block
qinputs.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
namespace
qblocks
11
{
12
class
Input
13
{
14
public
:
15
enum
types
: quint8
16
{
17
UTXO_typ
= 0
18
};
19
Input
(
types
typ);
20
template
<
class
from_type>
static
std::shared_ptr<const Input>
from_
(from_type &val);
21
22
static
std::shared_ptr<const Input>
UTXO
(
const
Transaction_ID
&transaction_id_m,
23
const
quint16 &transaction_output_index_m);
24
virtual
void
serialize
(
QDataStream
&out)
const
;
25
virtual
QJsonObject
get_Json
(
void
)
const
;
26
27
types
type
(
void
)
const
28
{
29
return
type_m;
30
}
31
32
private
:
33
const
types
type_m;
34
};
35
36
/*
37
* @brief Describes an input which references an unspent transaction output to consume.
38
*
39
*/
40
class
UTXO_Input
:
public
Input
41
{
42
public
:
43
UTXO_Input
(
const
Transaction_ID
&transaction_id_m,
const
quint16 &transaction_output_index_m);
44
UTXO_Input
(
const
QJsonValue
&val);
45
UTXO_Input
(
QDataStream
&in);
46
void
serialize
(
QDataStream
&out)
const
;
47
QJsonObject
get_Json
(
void
)
const
;
48
49
private
:
50
quint16 transaction_output_index_;
51
Transaction_ID
transaction_id_;
52
};
53
54
};
// namespace qblocks
55
56
};
// namespace qiota
qiota::qblocks::Input
Definition:
qinputs.hpp:13
qiota::qblocks::Input::from_
static std::shared_ptr< const Input > from_(from_type &val)
Definition:
qinputs.cpp:13
qiota::qblocks::Input::serialize
virtual void serialize(QDataStream &out) const
Definition:
qinputs.cpp:6
qiota::qblocks::Input::UTXO
static std::shared_ptr< const Input > UTXO(const Transaction_ID &transaction_id_m, const quint16 &transaction_output_index_m)
Definition:
qinputs.cpp:31
qiota::qblocks::Input::Input
Input(types typ)
Definition:
qinputs.cpp:11
qiota::qblocks::Input::types
types
Definition:
qinputs.hpp:16
qiota::qblocks::Input::UTXO_typ
@ UTXO_typ
Definition:
qinputs.hpp:17
qiota::qblocks::Input::type
types type(void) const
Definition:
qinputs.hpp:27
qiota::qblocks::Input::get_Json
virtual QJsonObject get_Json(void) const
Definition:
qinputs.cpp:7
qiota::qblocks::UTXO_Input
Definition:
qinputs.hpp:41
qiota::qblocks::UTXO_Input::UTXO_Input
UTXO_Input(const Transaction_ID &transaction_id_m, const quint16 &transaction_output_index_m)
Definition:
qinputs.cpp:37
qiota::qblocks::UTXO_Input::serialize
void serialize(QDataStream &out) const
Definition:
qinputs.cpp:47
qiota::qblocks::UTXO_Input::get_Json
QJsonObject get_Json(void) const
Definition:
qinputs.cpp:53
qiota::qblocks::c_array
Byte Array that takes care of storing the objects in serialized form.
Definition:
carray.hpp:30
qiota
Definition:
carray.hpp:22
QDataStream
QJsonObject
QJsonValue
std::shared_ptr