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  } // namespace crypto
22 
23  namespace interface {
24 
25  class AccountAsset;
26  class Block;
27  class Signature;
28  class Transaction;
29  class Peer;
30  class EngineReceipt;
31 
32  namespace types {
38  using AccountIdType = std::string;
40  using EvmAddressHexString = std::string;
42  using EvmDataHexString = std::string;
43  // Type of evm topics
44  using EvmTopicsHexString = std::string;
46  using PrecisionType = uint8_t;
48  using HeightType = uint64_t;
50  using AddressType = std::string;
52  using AddressTypeView = std::string_view;
54  using PublicKeyCollectionType = std::vector<std::string>;
56  using RoleIdType = std::string;
58  using DomainIdType = std::string;
60  using AssetIdType = std::string;
62  using PermissionNameType = std::string;
64  using PermissionSetType = std::set<PermissionNameType>;
65  // TODO igor-egorov 28.05.2019 IR-520 Inconsistent C++/Protobuf type sizes
67  using QuorumType = uint16_t;
69  using TimestampType = uint64_t;
71  using CounterType = uint64_t;
73  using AccountNameType = std::string;
75  using AssetNameType = std::string;
77  using DetailType = std::string;
79  using JsonType = std::string;
81  using AccountDetailKeyType = std::string;
83  using AccountDetailValueType = std::string;
84  // TODO igor-egorov 28.05.2019 IR-520 Inconsistent C++/Protobuf type sizes
86  using TransactionsNumberType = uint16_t;
88  using DescriptionType = std::string;
90  using SettingKeyType = std::string;
92  using SettingValueType = std::string;
94  using PeerList =
95  std::vector<std::shared_ptr<shared_model::interface::Peer>>;
97  using TLSCertificateType = std::string;
98  using TLSCertificateTypeView = std::string_view;
100  using CommandIndexType = int32_t;
102  using TxIndexType = int32_t;
103 
104  enum class BatchType { ATOMIC = 0, ORDERED = 1 };
105 
106  } // namespace types
107  } // namespace interface
108 } // namespace shared_model
109 
110 #endif // IROHA_SHARED_MODEL_TYPES_HPP
std::string TLSCertificateType
Type of a TLS certificate.
Definition: types.hpp:97
std::string AddressType
Type of peer address.
Definition: types.hpp:50
std::string EvmDataHexString
Types of evm data.
Definition: types.hpp:42
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:48
Definition: hash.hpp:18
Definition: blob.hpp:27
std::string PermissionNameType
Permission type used in permission commands.
Definition: types.hpp:62
std::string SettingKeyType
Type of setting key.
Definition: types.hpp:90
std::string DomainIdType
Iroha domain id type.
Definition: types.hpp:58
std::string_view TLSCertificateTypeView
Definition: types.hpp:98
std::string EvmTopicsHexString
Definition: types.hpp:44
std::vector< std::string > PublicKeyCollectionType
Type of public keys&#39; collection.
Definition: types.hpp:54
std::string DescriptionType
Type of the transfer message.
Definition: types.hpp:88
std::string DetailType
Type of detail.
Definition: types.hpp:77
std::string AccountDetailKeyType
Type of account detail key.
Definition: types.hpp:81
std::string AccountIdType
Type of account id.
Definition: types.hpp:38
Definition: byte_range.hpp:14
uint8_t PrecisionType
Type of precision.
Definition: types.hpp:46
std::string SettingValueType
Type of setting value.
Definition: types.hpp:92
uint16_t TransactionsNumberType
Type of a number of transactions in block and query response page.
Definition: types.hpp:86
std::string AccountNameType
Type of account name.
Definition: types.hpp:73
std::set< PermissionNameType > PermissionSetType
Permission set.
Definition: types.hpp:64
uint64_t CounterType
Type of counter.
Definition: types.hpp:71
int32_t CommandIndexType
Type of command index within a transaction.
Definition: types.hpp:100
BatchType
Definition: types.hpp:104
std::vector< std::shared_ptr< shared_model::interface::Peer > > PeerList
Type of peers collection.
Definition: types.hpp:95
std::string AccountDetailValueType
Type of account detail value.
Definition: types.hpp:83
Definition: command_executor.hpp:13
uint16_t QuorumType
Type of Quorum used in transaction and set quorum.
Definition: types.hpp:67
std::string JsonType
Type of JSON data.
Definition: types.hpp:79
std::string AssetNameType
Type of asset name.
Definition: types.hpp:75
std::string EvmAddressHexString
Type of evm address.
Definition: types.hpp:40
std::string RoleIdType
Type of role (i.e admin, user)
Definition: types.hpp:56
int32_t TxIndexType
Transaction index type.
Definition: types.hpp:102
uint64_t TimestampType
Type of timestamp.
Definition: types.hpp:69
std::string AssetIdType
Type of asset id.
Definition: types.hpp:60
std::string_view AddressTypeView
Type of peer address.
Definition: types.hpp:52