22typedef eosio::multi_index<
"balances"_n,
balances_base, eosio::indexed_by<
"byconsym"_n, eosio::const_mem_fun<balances_base, uint128_t, &balances_base::byconsym>>>
balances_index;
46 eosio::binary_extension<eosio::asset>
blocked;
60typedef eosio::multi_index<
63 eosio::indexed_by<
"byusername"_n, eosio::const_mem_fun<progwallet, uint64_t, &progwallet::by_username>>,
64 eosio::indexed_by<
"byprogram"_n, eosio::const_mem_fun<progwallet, uint64_t, &progwallet::by_program>>,
65 eosio::indexed_by<
"byuserprog"_n, eosio::const_mem_fun<progwallet, uint128_t, &progwallet::by_username_and_program>>,
66 eosio::indexed_by<
"byagreement"_n, eosio::const_mem_fun<progwallet, uint64_t, &progwallet::by_agreement>>
72 auto wallets_by_username_and_program = progwallets.template get_index<
"byuserprog"_n>();
73 auto username_and_program_index =
combine_ids(username.value, program_id);
74 auto wallet = wallets_by_username_and_program.find(username_and_program_index);
76 eosio::check(
wallet != wallets_by_username_and_program.end(),
"Кошелёк не найден");
Контракт Wallet управляет взносами и возвратами взносов по ЦПП "Цифровой Кошелёк".
Definition: wallet.hpp:16
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
progwallet get_user_program_wallet_or_fail(eosio::name coopname, eosio::name username, uint64_t program_id)
Definition: balances.hpp:69
eosio::multi_index<"balances"_n, balances_base, eosio::indexed_by<"byconsym"_n, eosio::const_mem_fun< balances_base, uint128_t, &balances_base::byconsym > > > balances_index
Definition: balances.hpp:22
Definition: eosio.msig.hpp:34
Структура таблицы баланса.
Definition: balances.hpp:10
eosio::asset quantity
Definition: balances.hpp:13
uint64_t id
Definition: balances.hpp:11
uint64_t primary_key() const
Definition: balances.hpp:15
eosio::name contract
Definition: balances.hpp:12
uint128_t byconsym() const
Definition: balances.hpp:17
Таблица кошельков программ кооператива
Definition: balances.hpp:39
uint64_t agreement_id
Идентификатор соглашения
Definition: balances.hpp:43
eosio::asset available
Доступные средства паевого взноса
Definition: balances.hpp:45
uint64_t id
Уникальный идентификатор кошелька
Definition: balances.hpp:40
eosio::binary_extension< eosio::asset > membership_contribution
Внесенный членский взнос
Definition: balances.hpp:47
uint64_t by_username() const
Индекс по имени пользователя
Definition: balances.hpp:51
eosio::name username
Имя пользователя
Definition: balances.hpp:44
eosio::binary_extension< eosio::asset > blocked
Недоступные средства паевого взноса
Definition: balances.hpp:46
uint64_t program_id
Идентификатор программы
Definition: balances.hpp:42
uint128_t by_username_and_program() const
Комбинированный индекс по имени пользователя и идентификатору программы
Definition: balances.hpp:55
uint64_t by_agreement() const
Индекс по идентификатору соглашения
Definition: balances.hpp:53
eosio::name coopname
Имя кооператива
Definition: balances.hpp:41
uint64_t primary_key() const
Definition: balances.hpp:50
uint64_t by_program() const
Индекс по идентификатору программы
Definition: balances.hpp:52
static uint128_t combine_ids(const uint64_t &x, const uint64_t &y)
Definition: utils.hpp:5