37 eosio::binary_extension<eosio::asset>
blocked;
49typedef eosio::multi_index<
52 eosio::indexed_by<
"programtype"_n, eosio::const_mem_fun<program, uint64_t, &program::by_program_type>>,
53 eosio::indexed_by<
"bydraft"_n, eosio::const_mem_fun<program, uint64_t, &program::by_draft>>
59 print(
"program_id: ", program_id);
60 auto program = programs.find(program_id);
61 eosio::check(
program != programs.end(),
"Программа не найдена");
70 auto wallets_by_username_and_program = progwallets.template get_index<
"byuserprog"_n>();
71 auto username_and_program_index =
combine_ids(username.value, program_id);
72 auto wallet = wallets_by_username_and_program.find(username_and_program_index);
74 if (
wallet == wallets_by_username_and_program.end())
96 auto coagreement = coagreements.find(program_type.value);
101 auto exist = programs.find(
coagreement -> program_id);
103 if (exist == programs.end())
106 auto wallets_by_username_and_program = progwallets.template get_index<
"byuserprog"_n>();
107 auto username_and_program_index =
combine_ids(username.value, exist ->
id);
108 auto wallet = wallets_by_username_and_program.find(username_and_program_index);
110 if (
wallet == wallets_by_username_and_program.end())
144 eosio::check(it !=
program_map.end(),
"Недопустимый тип программы");
145 return it->second.program_id;
151 eosio::check(it !=
program_map.end(),
"Недопустимый тип программы");
152 return it->second.draft_id;
156std::optional<progwallet>
get_program_wallet (eosio::name coopname, eosio::name username, name type) {
161 auto balances_by_username_and_program = progwallets.template get_index<
"byuserprog"_n>();
162 auto username_and_program_index =
combine_ids(username.value, program_id);
163 auto wallet = balances_by_username_and_program.find(username_and_program_index);
165 if (
wallet == balances_by_username_and_program.end()) {
eosio::multi_index<"coagreements"_n, coagreement > coagreements_index
Definition: agreements.hpp:22
eosio::multi_index<"agreements3"_n, agreement2, eosio::indexed_by<"byusername"_n, eosio::const_mem_fun< agreement2, uint64_t, &agreement2::by_username > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< agreement2, uint64_t, &agreement2::by_status > >, eosio::indexed_by<"bydraft"_n, eosio::const_mem_fun< agreement2, uint64_t, &agreement2::by_draft > >, eosio::indexed_by<"byuserdraft"_n, eosio::const_mem_fun< agreement2, uint128_t, &agreement2::by_user_and_draft > > > agreements2_index
Definition: agreements.hpp:121
Контракт Wallet управляет взносами и возвратами взносов по ЦПП "Цифровой Кошелёк".
Definition: wallet.hpp:16
static constexpr eosio::name _wallet_program
Главный Кошелёк
Definition: consts.hpp:79
static constexpr eosio::name _source_program
Кошелёк для генерации по договору УХД
Definition: consts.hpp:82
static constexpr eosio::name _capital_program
Кошелёк программы "Капитализация".
Definition: consts.hpp:83
static constexpr eosio::name _marketplace_program
Кошелёк программы "Маркетплейс".
Definition: consts.hpp:80
static constexpr eosio::name _soviet
Definition: consts.hpp:156
contract
Definition: eosio.msig_tests.cpp:977
eosio::multi_index< "progwallets"_n, progwallet, eosio::indexed_by<"byusername"_n, eosio::const_mem_fun< progwallet, uint64_t, &progwallet::by_username > >, eosio::indexed_by<"byprogram"_n, eosio::const_mem_fun< progwallet, uint64_t, &progwallet::by_program > >, eosio::indexed_by<"byuserprog"_n, eosio::const_mem_fun< progwallet, uint128_t, &progwallet::by_username_and_program > >, eosio::indexed_by<"byagreement"_n, eosio::const_mem_fun< progwallet, uint64_t, &progwallet::by_agreement > > > progwallets_index
Definition: balances.hpp:67
Definition: eosio.msig.hpp:34
bool is_valid_participant_of_program_by_type(eosio::name coopname, eosio::name username, eosio::name program_type)
Definition: programs.hpp:91
uint64_t get_draft_id(const eosio::name &type)
Definition: programs.hpp:149
program get_program_or_fail(eosio::name coopname, uint64_t program_id)
Definition: programs.hpp:57
eosio::multi_index< "programs"_n, program, eosio::indexed_by<"programtype"_n, eosio::const_mem_fun< program, uint64_t, &program::by_program_type > >, eosio::indexed_by<"bydraft"_n, eosio::const_mem_fun< program, uint64_t, &program::by_draft > > > programs_index
Definition: programs.hpp:54
bool is_participant_of_cpp_by_program_id(eosio::name coopname, eosio::name username, uint64_t program_id)
Definition: programs.hpp:67
std::optional< progwallet > get_program_wallet(eosio::name coopname, eosio::name username, name type)
Definition: programs.hpp:156
void check_valid_program(const eosio::name &type)
Definition: programs.hpp:137
uint64_t get_program_id(const eosio::name &type)
Definition: programs.hpp:142
static const std::map< eosio::name, ProgramInfo > program_map
Definition: programs.hpp:129
Definition: programs.hpp:124
uint64_t draft_id
Definition: programs.hpp:126
uint64_t program_id
Definition: programs.hpp:125
Таблица соглашений (устаревшая версия)
Definition: agreements.hpp:45
Таблица типовых соглашений кооператива
Definition: agreements.hpp:12
Таблица программ кооператива
Definition: programs.hpp:14
eosio::binary_extension< eosio::asset > spendeded
Расходы из числа паевых взносов ЦПП
Definition: programs.hpp:36
std::string preview
Предварительный просмотр
Definition: programs.hpp:24
eosio::binary_extension< eosio::asset > membership_contributions
собранные членские взносы
Definition: programs.hpp:42
eosio::asset fixed_membership_contribution
LEGACY Членский взнос
Definition: programs.hpp:30
eosio::name coopname
Имя аккаунта кооператива
Definition: programs.hpp:19
eosio::binary_extension< eosio::asset > share_contributions
Паевые взносы ///< собранные паевые взносы
Definition: programs.hpp:41
eosio::name program_type
Тип кооперативной программы (wallet | market | capital)
Definition: programs.hpp:17
eosio::time_point_sec start_at
Время открытия программы
Definition: programs.hpp:32
uint64_t by_program_type() const
Definition: programs.hpp:45
bool is_active
Флаг активности программы
Definition: programs.hpp:20
std::string title
Название программы
Definition: programs.hpp:21
std::string meta
Метаданные программы
Definition: programs.hpp:26
eosio::binary_extension< eosio::asset > available
Доступные паевые взносы для расходов по ЦПП
Definition: programs.hpp:35
std::string description
Описание программы
Definition: programs.hpp:23
uint64_t by_draft() const
Definition: programs.hpp:46
uint64_t draft_id
Ссылка на шаблон условий
Definition: programs.hpp:16
eosio::time_point_sec expired_at
Время истечения программы
Definition: programs.hpp:33
uint64_t id
Уникальный идентификатор программы
Definition: programs.hpp:15
std::string announce
Анонс программы
Definition: programs.hpp:22
uint64_t primary_key() const
Definition: programs.hpp:44
eosio::binary_extension< bool > is_can_coop_spend_share_contributions
Может ли кооператив использовать паевые взносы программы на расходы
Definition: programs.hpp:39
eosio::binary_extension< eosio::asset > blocked
Недоступные средства из числа паевых взносов для расходов по ЦПП
Definition: programs.hpp:37
uint64_t membership_percent_fee
LEGACY процент комиссии со взноса
Definition: programs.hpp:29
std::string images
Изображения программы
Definition: programs.hpp:25
eosio::name calculation_type
LEGACY тип настройки платежей по программе ( absolute | relative | free )
Definition: programs.hpp:28
static uint128_t combine_ids(const uint64_t &x, const uint64_t &y)
Definition: utils.hpp:5