hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
types.hpp
Go to the documentation of this file.
1 
6 #ifndef IROHA_SHARED_MODEL_TYPES_HPP
7 #define IROHA_SHARED_MODEL_TYPES_HPP
8 
9 #include <ciso646>
10 #include <cstdint>
11 #include <memory>
12 #include <set>
13 #include <string>
14 #include <vector>
15 
16 namespace shared_model {
17 
18  namespace crypto {
19  class Blob;
20  class Hash;
21  class PublicKey;
22  class Signed;
23  } // namespace crypto
24 
25  namespace interface {
26 
27  class AccountAsset;
28  class Block;
29  class Signature;
30  class Transaction;
31  class Peer;
32 
33  namespace types {
39  using AccountIdType = std::string;
41  using PrecisionType = uint8_t;
43  using HeightType = uint64_t;
45  using AddressType = std::string;
49  using PublicKeyCollectionType = std::vector<PubkeyType>;
51  using RoleIdType = std::string;
53  using DomainIdType = std::string;
55  using AssetIdType = std::string;
57  using PermissionNameType = std::string;
59  using PermissionSetType = std::set<PermissionNameType>;
60  // TODO igor-egorov 28.05.2019 IR-520 Inconsistent C++/Protobuf type sizes
62  using QuorumType = uint16_t;
64  using TimestampType = uint64_t;
66  using CounterType = uint64_t;
68  using AccountNameType = std::string;
70  using AssetNameType = std::string;
72  using DetailType = std::string;
74  using JsonType = std::string;
76  using AccountDetailKeyType = std::string;
78  using AccountDetailValueType = std::string;
79  // TODO igor-egorov 28.05.2019 IR-520 Inconsistent C++/Protobuf type sizes
81  using TransactionsNumberType = uint16_t;
83  using DescriptionType = std::string;
85  using SettingKeyType = std::string;
87  using SettingValueType = std::string;
89  using PeerList =
90  std::vector<std::shared_ptr<shared_model::interface::Peer>>;
92  using TLSCertificateType = std::string;
93 
94  enum class BatchType { ATOMIC = 0, ORDERED = 1 };
95 
96  } // namespace types
97  } // namespace interface
98 } // namespace shared_model
99 
100 #endif // IROHA_SHARED_MODEL_TYPES_HPP
std::string TLSCertificateType
Type of a TLS certificate.
Definition: types.hpp:92
std::string AddressType
Type of peer address.
Definition: types.hpp:45
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:43
Definition: hash.hpp:18
Definition: blob.hpp:25
std::string PermissionNameType
Permission type used in permission commands.
Definition: types.hpp:57
std::string SettingKeyType
Type of setting key.
Definition: types.hpp:85
std::string DomainIdType
Iroha domain id type.
Definition: types.hpp:53
std::string DescriptionType
Type of the transfer message.
Definition: types.hpp:83
std::string DetailType
Type of detail.
Definition: types.hpp:72
std::string AccountDetailKeyType
Type of account detail key.
Definition: types.hpp:76
std::string AccountIdType
Type of account id.
Definition: types.hpp:39
Definition: range_types.hpp:19
const char * PublicKey
Definition: iroha_conf_literals.cpp:42
uint8_t PrecisionType
Type of precision.
Definition: types.hpp:41
std::string SettingValueType
Type of setting value.
Definition: types.hpp:87
uint16_t TransactionsNumberType
Type of a number of transactions in block and query response page.
Definition: types.hpp:81
std::string AccountNameType
Type of account name.
Definition: types.hpp:68
std::set< PermissionNameType > PermissionSetType
Permission set.
Definition: types.hpp:59
uint64_t CounterType
Type of counter.
Definition: types.hpp:66
Definition: public_key.hpp:16
std::vector< PubkeyType > PublicKeyCollectionType
Type of public keys&#39; collection.
Definition: types.hpp:49
BatchType
Definition: types.hpp:94
std::string AccountDetailValueType
Type of account detail value.
Definition: types.hpp:78
Definition: command_executor.hpp:12
uint16_t QuorumType
Type of Quorum used in transaction and set quorum.
Definition: types.hpp:62
std::vector< std::shared_ptr< shared_model::interface::Peer >> PeerList
Type of peers collection.
Definition: types.hpp:90
std::string JsonType
Type of JSON data.
Definition: types.hpp:74
std::string AssetNameType
Type of asset name.
Definition: types.hpp:70
std::string RoleIdType
Type of role (i.e admin, user)
Definition: types.hpp:51
uint64_t TimestampType
Type of timestamp.
Definition: types.hpp:64
std::string AssetIdType
Type of asset id.
Definition: types.hpp:55