3#include <eosio/asset.hpp>
4#include <eosio/binary_extension.hpp>
5#include <eosio/eosio.hpp>
8#include "../consts.hpp"
9#include "../core/utils.hpp"
21 bool is_cooperative =
false;
23 bool is_branched =
false;
24 bool is_enrolled =
false;
36 eosio::binary_extension<eosio::name>
status;
37 eosio::binary_extension<eosio::time_point_sec>
created_at;
44 eosio::check(initial.symbol == contribution.symbol && minimum.symbol == contribution.symbol,
45 "Неверный контракт токена");
48 uint64_t
by_status()
const {
return status.has_value() ? status.value().value : 0; }
51 return created_at.has_value() ? created_at.value().sec_since_epoch() : 0;
54 uint64_t
by_parent()
const {
return parent_username.value; }
58 uint64_t
is_coop_index()
const {
return is_cooperative ==
true ? 1 : 0; }
65typedef eosio::multi_index<
67 eosio::indexed_by<
"iscoop"_n, eosio::const_mem_fun<cooperative2, uint64_t, &cooperative2::is_coop_index>>,
68 eosio::indexed_by<
"byparent"_n, eosio::const_mem_fun<cooperative2, uint64_t, &cooperative2::by_parent>>,
69 eosio::indexed_by<
"bycoopchilds"_n,
70 eosio::const_mem_fun<cooperative2, uint128_t, &cooperative2::by_coop_childs>>,
71 eosio::indexed_by<
"bycooptype"_n, eosio::const_mem_fun<cooperative2, uint64_t, &cooperative2::bycooptype>>>
76 auto org = coops.find(coopname.value);
77 eosio::check(org != coops.end(),
"Организация не найдена");
78 eosio::check(org->is_coop(),
"Организация - не кооператив");
79 eosio::check(org->status.value() ==
"active"_n,
"Кооператив не активен");
static constexpr eosio::name _registrator
Definition: consts.hpp:157
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_registrator_coops.hpp:15
bool is_cooperative
Definition: table_registrator_coops.hpp:21
eosio::binary_extension< document2 > document
Definition: table_registrator_coops.hpp:38
eosio::binary_extension< eosio::asset > org_minimum
Definition: table_registrator_coops.hpp:34
eosio::binary_extension< eosio::time_point_sec > created_at
Definition: table_registrator_coops.hpp:37
eosio::name parent_username
Definition: table_registrator_coops.hpp:17
std::string description
Definition: table_registrator_coops.hpp:20
eosio::binary_extension< eosio::name > status
Definition: table_registrator_coops.hpp:36
eosio::asset minimum
Definition: table_registrator_coops.hpp:30
void check_symbol_or_fail(eosio::asset contribution)
Definition: table_registrator_coops.hpp:43
uint64_t by_created() const
Definition: table_registrator_coops.hpp:50
uint64_t by_parent() const
Definition: table_registrator_coops.hpp:54
eosio::binary_extension< eosio::asset > org_initial
Definition: table_registrator_coops.hpp:33
uint64_t bycooptype() const
Definition: table_registrator_coops.hpp:60
bool is_coop() const
Definition: table_registrator_coops.hpp:62
uint64_t primary_key() const
Definition: table_registrator_coops.hpp:41
std::string announce
Definition: table_registrator_coops.hpp:19
eosio::name username
Definition: table_registrator_coops.hpp:16
uint128_t by_coop_childs() const
Definition: table_registrator_coops.hpp:56
uint64_t is_coop_index() const
Definition: table_registrator_coops.hpp:58
uint64_t by_status() const
Definition: table_registrator_coops.hpp:48
eosio::binary_extension< uint64_t > active_participants_count
Definition: table_registrator_coops.hpp:39
eosio::asset registration
Definition: table_registrator_coops.hpp:28
eosio::binary_extension< eosio::asset > org_registration
Definition: table_registrator_coops.hpp:32
eosio::name coop_type
Definition: table_registrator_coops.hpp:26
eosio::asset initial
Definition: table_registrator_coops.hpp:29
eosio::multi_index< "coops"_n, cooperative2, eosio::indexed_by<"iscoop"_n, eosio::const_mem_fun< cooperative2, uint64_t, &cooperative2::is_coop_index > >, eosio::indexed_by<"byparent"_n, eosio::const_mem_fun< cooperative2, uint64_t, &cooperative2::by_parent > >, eosio::indexed_by<"bycoopchilds"_n, eosio::const_mem_fun< cooperative2, uint128_t, &cooperative2::by_coop_childs > >, eosio::indexed_by<"bycooptype"_n, eosio::const_mem_fun< cooperative2, uint64_t, &cooperative2::bycooptype > > > cooperatives2_index
Definition: table_registrator_coops.hpp:72
cooperative2 get_cooperative_or_fail(eosio::name coopname)
Definition: table_registrator_coops.hpp:74
static uint128_t combine_ids(const uint64_t &x, const uint64_t &y)
Definition: utils.hpp:7