15 double last_program_crps = 0.0;
22 typedef eosio::multi_index<
23 "capwallets"_n, capital_wallet,
24 indexed_by<
"byusername"_n, const_mem_fun<capital_wallet, uint64_t, &capital_wallet::by_username>>
46 auto idx = capital_wallets.get_index<
"byusername"_n>();
48 auto itr = idx.find(username.value);
49 if (itr == idx.end()) {
61 eosio::check(wallet_opt.has_value(), msg);
62 return wallet_opt.value();
70 int64_t last_program_crps,
71 eosio::asset capital_available) {
73 auto idx = capital_wallets.get_index<
"byusername"_n>();
75 auto itr = idx.find(username.value);
76 if (itr == idx.end()) {
78 capital_wallets.emplace(coopname, [&](
auto &w) {
80 w.coopname = coopname;
81 w.username = username;
82 w.last_program_crps = last_program_crps;
83 w.capital_available = capital_available;
87 idx.modify(itr, coopname, [&](
auto &w) {
88 if (last_program_crps != 0) w.last_program_crps = last_program_crps;
89 if (capital_available.amount != 0) w.capital_available += capital_available;
static constexpr eosio::name _capital
Definition: consts.hpp:166
static constexpr eosio::symbol _root_govern_symbol
Definition: consts.hpp:231
static constexpr eosio::name _capital_program
Кошелёк программы "Благорост".
Definition: consts.hpp:87
contract
Definition: eosio.msig_tests.cpp:977
void upsert_capital_wallet(eosio::name coopname, eosio::name username, int64_t last_program_crps, eosio::asset capital_available)
Создает или обновляет кошелек благороста
Definition: wallets.hpp:68
bool has_program_capital_wallet(eosio::name coopname, eosio::name username)
Definition: wallets.hpp:34
capital_wallet get_capital_wallet_or_fail(eosio::name coopname, eosio::name username, const char *msg="Кошелек благороста не найден")
Получает кошелек благороста или падает с ошибкой
Definition: wallets.hpp:59
std::optional< capital_wallet > get_capital_wallet_by_username(eosio::name coopname, eosio::name username)
Получает кошелек благороста по имени пользователя
Definition: wallets.hpp:44
Definition: balances.cpp:6
eosio::multi_index< "capwallets"_n, capital_wallet, indexed_by<"byusername"_n, const_mem_fun< capital_wallet, uint64_t, &capital_wallet::by_username > > > capital_wallets_index
Definition: wallets.hpp:25
Definition: eosio.msig.hpp:34
bool has_program_wallet(eosio::name coopname, eosio::name username, eosio::name type)
Definition: programs.hpp:119
program get_program_or_fail(eosio::name coopname, uint64_t program_id)
Definition: programs.hpp:24
uint64_t get_program_id(const eosio::name &type)
Definition: programs.hpp:99
Кошелек программы благороста для учёта CRPS и доступных средств от членских взносов
Definition: wallets.hpp:11
uint64_t primary_key() const
Первичный ключ (1)
Definition: wallets.hpp:18
uint64_t id
ID кошелька (внутренний ключ)
Definition: wallets.hpp:12
eosio::name username
Имя пользователя
Definition: wallets.hpp:14
eosio::name coopname
Имя кооператива
Definition: wallets.hpp:13
uint64_t by_username() const
Индекс по имени пользователя (2)
Definition: wallets.hpp:19
uint64_t get_global_id_in_scope(eosio::name _me, eosio::name scope, eosio::name key)
Definition: table_counts.hpp:58