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 PublicKeyCollectionType = std::vector<std::string>;
54  using RoleIdType = std::string;
56  using DomainIdType = std::string;
58  using AssetIdType = std::string;
60  using PermissionNameType = std::string;
62  using PermissionSetType = std::set<PermissionNameType>;
63  // TODO igor-egorov 28.05.2019 IR-520 Inconsistent C++/Protobuf type sizes
65  using QuorumType = uint16_t;
67  using TimestampType = uint64_t;
69  using CounterType = uint64_t;
71  using AccountNameType = std::string;
73  using AssetNameType = std::string;
75  using DetailType = std::string;
77  using JsonType = std::string;
79  using AccountDetailKeyType = std::string;
81  using AccountDetailValueType = std::string;
82  // TODO igor-egorov 28.05.2019 IR-520 Inconsistent C++/Protobuf type sizes
84  using TransactionsNumberType = uint16_t;
86  using DescriptionType = std::string;
88  using SettingKeyType = std::string;
90  using SettingValueType = std::string;
92  using PeerList =
93  std::vector<std::shared_ptr<shared_model::interface::Peer>>;
95  using TLSCertificateType = std::string;
97  using CommandIndexType = int32_t;
99  using TxIndexType = int32_t;
100 
101  enum class BatchType { ATOMIC = 0, ORDERED = 1 };
102 
103  } // namespace types
104  } // namespace interface
105 } // namespace shared_model
106 
107 #endif // IROHA_SHARED_MODEL_TYPES_HPP
std::string TLSCertificateType
Type of a TLS certificate.
Definition: types.hpp:95
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:60
std::string SettingKeyType
Type of setting key.
Definition: types.hpp:88
std::string DomainIdType
Iroha domain id type.
Definition: types.hpp:56
std::string EvmTopicsHexString
Definition: types.hpp:44
std::vector< std::string > PublicKeyCollectionType
Type of public keys&#39; collection.
Definition: types.hpp:52
std::string DescriptionType
Type of the transfer message.
Definition: types.hpp:86
std::string DetailType
Type of detail.
Definition: types.hpp:75
std::string AccountDetailKeyType
Type of account detail key.
Definition: types.hpp:79
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:90
uint16_t TransactionsNumberType
Type of a number of transactions in block and query response page.
Definition: types.hpp:84
std::string AccountNameType
Type of account name.
Definition: types.hpp:71
std::set< PermissionNameType > PermissionSetType
Permission set.
Definition: types.hpp:62
uint64_t CounterType
Type of counter.
Definition: types.hpp:69
int32_t CommandIndexType
Type of command index within a transaction.
Definition: types.hpp:97
BatchType
Definition: types.hpp:101
std::vector< std::shared_ptr< shared_model::interface::Peer > > PeerList
Type of peers collection.
Definition: types.hpp:93
std::string AccountDetailValueType
Type of account detail value.
Definition: types.hpp:81
Definition: command_executor.hpp:12
uint16_t QuorumType
Type of Quorum used in transaction and set quorum.
Definition: types.hpp:65
std::string JsonType
Type of JSON data.
Definition: types.hpp:77
std::string AssetNameType
Type of asset name.
Definition: types.hpp:73
std::string EvmAddressHexString
Type of evm address.
Definition: types.hpp:40
std::string RoleIdType
Type of role (i.e admin, user)
Definition: types.hpp:54
int32_t TxIndexType
Transaction index type.
Definition: types.hpp:99
uint64_t TimestampType
Type of timestamp.
Definition: types.hpp:67
std::string AssetIdType
Type of asset id.
Definition: types.hpp:58