COOPENOMICS  v1
Кооперативная Экономика

#include <table_ledger2_userwallets.hpp>

Открытые члены

uint64_t primary_key () const
 
uint128_t by_userwallet () const
 
uint64_t by_user () const
 
uint64_t by_wallet () const
 
bool is_empty () const
 

Открытые атрибуты

uint64_t id
 
eosio::name wallet_name
 
eosio::name username
 
eosio::asset available
 
eosio::asset blocked
 

Подробное описание

table: userwallets

Третий уровень учёта (L3): пользовательские балансы на USER_SHARED-кошельках (ADR-002, ADR-010). Scope = coopname, payer = coopname (NFR11).

Запись существует только пока available + blocked > 0 (auto-create при первом ISSUE/TRANSFER/UNBLOCK на пару (wallet_name, username), auto-delete при обнулении). L3 разрешён только для kind == USER_SHARED — гарантируется walletop-логикой и реестром LEDGER2_WALLET_REGISTRY.

Инвариант (Story 3.2 / Эпик 3): Σ L3.available по wallet_name == L2.available для этого wallet_name; то же для blocked. Контрактный assert в walletop post-mutation; нарушение откатывает всю tx.

Методы

◆ by_user()

uint64_t userwallet::by_user ( ) const
inline

◆ by_userwallet()

uint128_t userwallet::by_userwallet ( ) const
inline

◆ by_wallet()

uint64_t userwallet::by_wallet ( ) const
inline

◆ is_empty()

bool userwallet::is_empty ( ) const
inline

◆ primary_key()

uint64_t userwallet::primary_key ( ) const
inline

Данные класса

◆ available

eosio::asset userwallet::available

◆ blocked

eosio::asset userwallet::blocked

◆ id

uint64_t userwallet::id

◆ username

eosio::name userwallet::username

◆ wallet_name

eosio::name userwallet::wallet_name

Объявления и описания членов структуры находятся в файле: