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 <cstdint>
10 #include <memory>
11 #include <set>
12 #include <string>
13 #include <vector>
14 
15 namespace shared_model {
16 
17  namespace crypto {
18  class Blob;
19  class Hash;
20  class PublicKey;
21  class Signed;
22  } // namespace crypto
23 
24  namespace interface {
25 
26  class Signature;
27  class Transaction;
28  class AccountAsset;
29  class Peer;
30 
31  namespace types {
37  using AccountIdType = std::string;
39  using PrecisionType = uint8_t;
41  using HeightType = uint64_t;
43  using AddressType = std::string;
47  using PublicKeyCollectionType = std::vector<PubkeyType>;
49  using RoleIdType = std::string;
51  using DomainIdType = std::string;
53  using AssetIdType = std::string;
55  using PermissionNameType = std::string;
57  using PermissionSetType = std::set<PermissionNameType>;
59  using QuorumType = uint16_t;
61  using TimestampType = uint64_t;
63  using CounterType = uint64_t;
65  using AccountNameType = std::string;
67  using AssetNameType = std::string;
69  using DetailType = std::string;
71  using JsonType = std::string;
73  using AccountDetailKeyType = std::string;
75  using AccountDetailValueType = std::string;
77  using TransactionsNumberType = uint16_t;
79  using DescriptionType = std::string;
81  using PeerList =
82  std::vector<std::shared_ptr<shared_model::interface::Peer>>;
83 
84  enum class BatchType { ATOMIC = 0, ORDERED = 1 };
85 
86  } // namespace types
87  } // namespace interface
88 } // namespace shared_model
89 
90 #endif // IROHA_SHARED_MODEL_TYPES_HPP
std::string AddressType
Type of peer address.
Definition: types.hpp:43
uint64_t HeightType
Type of height (for Block, Proposal etc)
Definition: types.hpp:41
Definition: hash.hpp:18
Definition: blob.hpp:24
std::string PermissionNameType
Permission type used in permission commands.
Definition: types.hpp:55
std::string DomainIdType
Iroha domain id type.
Definition: types.hpp:51
std::string DescriptionType
Type of the transfer message.
Definition: types.hpp:79
std::string DetailType
Type of detail.
Definition: types.hpp:69
std::string AccountDetailKeyType
Type of account detail key.
Definition: types.hpp:73
std::string AccountIdType
Type of account id.
Definition: types.hpp:37
Definition: range_types.hpp:19
const char * PublicKey
Definition: iroha_conf_literals.cpp:33
uint8_t PrecisionType
Type of precision.
Definition: types.hpp:39
uint16_t TransactionsNumberType
Type of a number of transactions in block and query response page.
Definition: types.hpp:77
std::string AccountNameType
Type of account name.
Definition: types.hpp:65
std::set< PermissionNameType > PermissionSetType
Permission set.
Definition: types.hpp:57
uint64_t CounterType
Type of counter.
Definition: types.hpp:63
Definition: public_key.hpp:16
std::vector< PubkeyType > PublicKeyCollectionType
Type of public keys&#39; collection.
Definition: types.hpp:47
BatchType
Definition: types.hpp:84
std::string AccountDetailValueType
Type of account detail value.
Definition: types.hpp:75
Definition: command_executor.hpp:12
uint16_t QuorumType
Type of Quorum used in transaction and set quorum.
Definition: types.hpp:59
std::vector< std::shared_ptr< shared_model::interface::Peer >> PeerList
Type of peers collection.
Definition: types.hpp:82
std::string JsonType
Type of JSON data.
Definition: types.hpp:71
std::string AssetNameType
Type of asset name.
Definition: types.hpp:67
std::string RoleIdType
Type of role (i.e admin, user)
Definition: types.hpp:49
uint64_t TimestampType
Type of timestamp.
Definition: types.hpp:61
std::string AssetIdType
Type of asset id.
Definition: types.hpp:53