COOPENOMICS  v1
Кооперативная Экономика
table_ledger2_userwallets.hpp
См. документацию.
1#pragma once
2
3
4#include "../core/ram_payer.hpp"
5#include <eosio/asset.hpp>
6#include <eosio/eosio.hpp>
7
8#include "../consts.hpp"
9#include "../core/utils.hpp"
10
28struct [[eosio::table, eosio::contract(LEDGER2)]] userwallet {
29 uint64_t id;
30 eosio::name wallet_name;
31 eosio::name username;
32 eosio::asset available;
33 eosio::asset blocked;
34
35 uint64_t primary_key() const { return id; }
36 uint128_t by_userwallet() const { return combine_ids(wallet_name.value, username.value); }
37 uint64_t by_user() const { return username.value; }
38 uint64_t by_wallet() const { return wallet_name.value; }
39
40 bool is_empty() const { return available.amount == 0 && blocked.amount == 0; }
41};
42
43typedef eosio::multi_index<
44 "userwallets"_n, userwallet,
45 eosio::indexed_by<"byuserwallet"_n, eosio::const_mem_fun<userwallet, uint128_t, &userwallet::by_userwallet>>,
46 eosio::indexed_by<"byuser"_n, eosio::const_mem_fun<userwallet, uint64_t, &userwallet::by_user>>,
47 eosio::indexed_by<"bywallet"_n, eosio::const_mem_fun<userwallet, uint64_t, &userwallet::by_wallet>>>
49
50// Плательщик за оперативную память строк таблицы — правило в lib/core/ram_payer.hpp.
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_ledger2_userwallets.hpp:28
uint64_t by_wallet() const
Definition: table_ledger2_userwallets.hpp:38
eosio::asset blocked
Definition: table_ledger2_userwallets.hpp:33
uint128_t by_userwallet() const
Definition: table_ledger2_userwallets.hpp:36
bool is_empty() const
Definition: table_ledger2_userwallets.hpp:40
eosio::name username
Definition: table_ledger2_userwallets.hpp:31
eosio::asset available
Definition: table_ledger2_userwallets.hpp:32
uint64_t by_user() const
Definition: table_ledger2_userwallets.hpp:37
uint64_t id
Definition: table_ledger2_userwallets.hpp:29
uint64_t primary_key() const
Definition: table_ledger2_userwallets.hpp:35
eosio::name wallet_name
Definition: table_ledger2_userwallets.hpp:30
RAM_PAYER_CLASS(userwallet, contract)
eosio::multi_index< "userwallets"_n, userwallet, eosio::indexed_by<"byuserwallet"_n, eosio::const_mem_fun< userwallet, uint128_t, &userwallet::by_userwallet > >, eosio::indexed_by<"byuser"_n, eosio::const_mem_fun< userwallet, uint64_t, &userwallet::by_user > >, eosio::indexed_by<"bywallet"_n, eosio::const_mem_fun< userwallet, uint64_t, &userwallet::by_wallet > > > userwallets_index
Definition: table_ledger2_userwallets.hpp:48
static uint128_t combine_ids(const uint64_t &x, const uint64_t &y)
Definition: utils.hpp:7