COOPENOMICS  v1
Кооперативная Экономика
table_registrator_exits.hpp
См. документацию.
1#pragma once
2
3#include <optional>
4
5#include <eosio/asset.hpp>
6#include <eosio/crypto.hpp>
7#include <eosio/eosio.hpp>
8
9#include "../consts.hpp"
10#include "document_core.hpp"
11
12namespace Registrator {
13
14using namespace eosio;
15
40struct [[eosio::table, eosio::contract(REGISTRATOR)]] exit {
43 name status;
44 time_point_sec created_at;
47 checksum256 exit_hash;
48 asset quantity;
49
50 uint64_t primary_key() const { return username.value; }
51 checksum256 by_hash() const { return exit_hash; }
52};
53
54typedef multi_index<
55 "exits"_n, exit,
56 indexed_by<"byhash"_n, const_mem_fun<exit, checksum256, &exit::by_hash>>>
58
59inline std::optional<exit> get_exit_by_hash(name coopname, const checksum256 &hash) {
60 exits_index primary_index(_registrator, coopname.value);
61 auto secondary_index = primary_index.get_index<"byhash"_n>();
62
63 auto itr = secondary_index.find(hash);
64 if (itr == secondary_index.end()) {
65 return std::nullopt;
66 }
67
68 return *itr;
69}
70
71} // namespace Registrator
static constexpr eosio::name _registrator
Definition: consts.hpp:173
contract
Definition: eosio.msig_tests.cpp:977
Вспомогательные функции процедуры выхода пайщика из кооператива.
Definition: table_registrator_candidates.hpp:13
multi_index< "exits"_n, exit, indexed_by<"byhash"_n, const_mem_fun< exit, checksum256, &exit::by_hash > > > exits_index
Definition: table_registrator_exits.hpp:57
std::optional< exit > get_exit_by_hash(name coopname, const checksum256 &hash)
Definition: table_registrator_exits.hpp:59
Definition: eosio.msig.hpp:34
Заявление пайщика на выход из кооператива и сопровождающий его процесс возврата паевого взноса.
Definition: table_registrator_exits.hpp:40
uint64_t primary_key() const
Definition: table_registrator_exits.hpp:50
checksum256 by_hash() const
Definition: table_registrator_exits.hpp:51
name coopname
Definition: table_registrator_exits.hpp:42
time_point_sec created_at
Definition: table_registrator_exits.hpp:44
name status
pending | authorized
Definition: table_registrator_exits.hpp:43
document2 approved_statement
решение совета о выходе (авторизация)
Definition: table_registrator_exits.hpp:46
name username
Definition: table_registrator_exits.hpp:41
asset quantity
итоговая сумма возврата (заполняется на confirmexit)
Definition: table_registrator_exits.hpp:48
document2 statement
заявление о выходе (registry 200)
Definition: table_registrator_exits.hpp:45
checksum256 exit_hash
Definition: table_registrator_exits.hpp:47
Definition: document_core.hpp:27