COOPENOMICS  v1
Кооперативная Экономика
table_registrator_accounts.hpp
См. документацию.
1#pragma once
2
3#include <eosio/binary_extension.hpp>
4#include <eosio/eosio.hpp>
5#include <string>
6#include <vector>
7
8#include "../consts.hpp"
10
14struct [[eosio::table, eosio::contract(REGISTRATOR)]] account {
15 eosio::name username;
16 eosio::name referer;
17 eosio::name registrator;
18 eosio::name type;
19 eosio::name status;
20 std::string meta;
21
22 std::vector<eosio::name> storages;
23 std::vector<verification> verifications;
24
25 eosio::time_point_sec registered_at;
26
27 uint64_t primary_key() const { return username.value; }
28
29 uint64_t by_referer() const { return referer.value; }
30
31 uint64_t by_type() const { return type.value; }
32
33 uint64_t by_status() const { return status.value; }
34
35 uint64_t by_registr() const { return registrator.value; }
36
37 bool is_active() const { return status == "active"_n; }
38
39 uint64_t by_registered_at() const { return registered_at.sec_since_epoch(); }
40
41 bool is_verified() const {
42 for (const auto &v : verifications) {
43 if (v.is_verified) {
44 return true;
45 }
46 }
47 return false;
48 }
49
50 uint64_t is_verified_index() const {
51 for (const auto &v : verifications) {
52 if (v.is_verified) {
53 return 1;
54 }
55 }
56 return 0;
57 }
58};
59
60typedef eosio::multi_index<
61 "accounts"_n, account,
62 eosio::indexed_by<"byreferer"_n, eosio::const_mem_fun<account, uint64_t, &account::by_referer>>,
63 eosio::indexed_by<"bytype"_n, eosio::const_mem_fun<account, uint64_t, &account::by_type>>,
64 eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun<account, uint64_t, &account::by_status>>,
65 eosio::indexed_by<"byregistr"_n, eosio::const_mem_fun<account, uint64_t, &account::by_registr>>,
66 eosio::indexed_by<"byregistred"_n, eosio::const_mem_fun<account, uint64_t, &account::by_registered_at>>,
67 eosio::indexed_by<"byverif"_n, eosio::const_mem_fun<account, uint64_t, &account::is_verified_index>>>
Класс registrator служит воротами в блокчейн-систему для новых участников, позволяя регистрировать ак...
Definition: registrator.hpp:54
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_registrator_accounts.hpp:14
bool is_verified() const
Definition: table_registrator_accounts.hpp:41
eosio::name type
Definition: table_registrator_accounts.hpp:18
eosio::time_point_sec registered_at
Definition: table_registrator_accounts.hpp:25
bool is_active() const
Definition: table_registrator_accounts.hpp:37
uint64_t by_registered_at() const
Definition: table_registrator_accounts.hpp:39
uint64_t primary_key() const
Definition: table_registrator_accounts.hpp:27
eosio::name username
Definition: table_registrator_accounts.hpp:15
eosio::name registrator
Definition: table_registrator_accounts.hpp:17
uint64_t by_status() const
Definition: table_registrator_accounts.hpp:33
uint64_t is_verified_index() const
Definition: table_registrator_accounts.hpp:50
eosio::name status
Definition: table_registrator_accounts.hpp:19
std::vector< eosio::name > storages
Definition: table_registrator_accounts.hpp:22
uint64_t by_type() const
Definition: table_registrator_accounts.hpp:31
std::string meta
Definition: table_registrator_accounts.hpp:20
uint64_t by_registr() const
Definition: table_registrator_accounts.hpp:35
eosio::name referer
Definition: table_registrator_accounts.hpp:16
std::vector< verification > verifications
Definition: table_registrator_accounts.hpp:23
uint64_t by_referer() const
Definition: table_registrator_accounts.hpp:29
eosio::multi_index< "accounts"_n, account, eosio::indexed_by<"byreferer"_n, eosio::const_mem_fun< account, uint64_t, &account::by_referer > >, eosio::indexed_by<"bytype"_n, eosio::const_mem_fun< account, uint64_t, &account::by_type > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< account, uint64_t, &account::by_status > >, eosio::indexed_by<"byregistr"_n, eosio::const_mem_fun< account, uint64_t, &account::by_registr > >, eosio::indexed_by<"byregistred"_n, eosio::const_mem_fun< account, uint64_t, &account::by_registered_at > >, eosio::indexed_by<"byverif"_n, eosio::const_mem_fun< account, uint64_t, &account::is_verified_index > > > accounts_index
Definition: table_registrator_accounts.hpp:68