COOPENOMICS  v1
Кооперативная Экономика
wallets.hpp
См. документацию.
1#pragma once
2
3#include <array>
4#include <cstdint>
5#include <string_view>
6
7#include <eosio/eosio.hpp>
8
47 // wallet — паевой фонд + возвраты + ЦК
48 static constexpr eosio::name SHARE_FUND_PAY = "w.wal.share"_n;
49 static constexpr eosio::name CK_MEMBER = "w.wal.member"_n;
50 static constexpr eosio::name WITHDRAWALS_SINK = "w.wal.wthdrw"_n;
51 static constexpr eosio::name WITHDRAW_PENDING = "w.wal.wpend"_n;
52
53 // registrator — минимальный паевой + вступительные + суспенс
54 static constexpr eosio::name MIN_SHARE_FUND = "w.reg.minshr"_n;
55 static constexpr eosio::name ENTRANCE_FEES = "w.reg.entry"_n;
56 static constexpr eosio::name REGISTRATION_PENDING = "w.reg.pend"_n;
57
58 // soviet — членские (инфраструктура) + делегатские + хоз.расходы + использованные паевые
59 static constexpr eosio::name INFRA_FEES = "w.sov.infra"_n;
60 static constexpr eosio::name DELEGATE_FEES = "w.sov.delgte"_n;
61 static constexpr eosio::name SOV_EXPENSES = "w.sov.expns"_n;
62 static constexpr eosio::name MIN_SHARE_USED = "w.sov.mnused"_n;
63 static constexpr eosio::name NDFL_WITHHELD = "w.sov.ndfl"_n;
64
65 // capital — единые программные кошельки + займы + пред-импорт
66 static constexpr eosio::name LOAN_ISSUED = "w.cap.loan"_n;
67 static constexpr eosio::name BLAGOROST_FUND = "w.cap.blago"_n;
68 static constexpr eosio::name GENERATOR_FUND = "w.cap.gen"_n;
69 static constexpr eosio::name PREIMP_FUND = "w.cap.preimp"_n;
70 static constexpr eosio::name PROGRAM_EXPENSE_POOL = "w.cap.pgexp"_n;
71
72 // marketplace — паевая модель «Стола заказов»: резерв под Order + свободный паевой программы + выплаты
73 static constexpr eosio::name MARKETPLACE_ORDER_LOCK = "w.mkt.order"_n;
74 static constexpr eosio::name MARKETPLACE_SHARE_FUND = "w.mkt.share"_n;
75 static constexpr eosio::name MARKETPLACE_MEMBER_FUND = "w.mkt.member"_n;
76 static constexpr eosio::name SUPPLIER_PAYMENTS = "w.mkt.payout"_n;
77 static constexpr eosio::name MARKETPLACE_SUPPLIER_PAYABLE = "w.mkt.topay"_n;
78 static constexpr eosio::name MARKETPLACE_CLAIM_PENDING = "w.mkt.claim"_n;
79 static constexpr eosio::name MARKETPLACE_SUPPLIER_DEBT = "w.mkt.debt"_n;
80 static constexpr eosio::name MARKETPLACE_FEE_POOL = "w.mkt.fee"_n;
81
82 // branch — экономика кооперативного участка (requirement b6 «Экономика КУ», раунд 5: приоритет общего кошелька)
83 static constexpr eosio::name BRANCH_PERSONAL = "w.brn.person"_n;
84 static constexpr eosio::name BRANCH_COMMON = "w.brn.common"_n;
85 static constexpr eosio::name BRANCH_DISTRIBUTION_POOL = "w.brn.pool"_n;
86 static constexpr eosio::name BRANCH_EXPENSE_POOL = "w.brn.expns"_n;
87
88
89 // expense — шасси расходов (подотчёт пайщика, USER_SHARED)
90 // Зеркало паттерна w.wal.wpend: кошелёк-резерв на пайщике-получателе ADVANCE-механики.
91 // На момент выдачи аванса фиксирует ответственность пайщика; на отчёте — BURN без новой бухпроводки
92 // (canal Дт 08 / Кт 51 уже сделан на o.exp.blgadv).
93 static constexpr eosio::name ADVANCE_HOLD = "w.exp.adv"_n;
94};
95
106enum class WalletKind : uint8_t {
107 USER_SHARED = 0,
108 COOPERATIVE = 1,
109};
110
117 eosio::name name;
118 std::string_view human_name;
120};
121
122inline constexpr std::array<Ledger2WalletMeta, 30> LEDGER2_WALLET_REGISTRY = {{
123 // USER_SHARED (15) — L3-разрез по пайщику (у w.brn.common — по braname КУ)
124 { ledger2_wallets::MIN_SHARE_FUND, "Минимальный паевой взнос", WalletKind::USER_SHARED },
125 { ledger2_wallets::SHARE_FUND_PAY, "Паевой взнос пайщика", WalletKind::USER_SHARED },
126 { ledger2_wallets::CK_MEMBER, "ЦК — членская часть пайщика", WalletKind::USER_SHARED },
127 { ledger2_wallets::BLAGOROST_FUND, "ЦПП «Благорост» — единый кошелёк программы у пайщика", WalletKind::USER_SHARED },
128 { ledger2_wallets::PREIMP_FUND, "Первичный учёт РИД-взносов до перехода на электронный учёт", WalletKind::USER_SHARED },
129 { ledger2_wallets::MARKETPLACE_ORDER_LOCK,"ЦПП «Стол Заказов» — паевой резерв под заказ у пайщика", WalletKind::USER_SHARED },
130 { ledger2_wallets::MARKETPLACE_SHARE_FUND,"ЦПП «Стол Заказов» — свободный паевой пайщика в программе", WalletKind::USER_SHARED },
131 { ledger2_wallets::MARKETPLACE_MEMBER_FUND,"ЦПП «Стол Заказов» — членский взнос пайщика в программе", WalletKind::USER_SHARED },
132 { ledger2_wallets::MARKETPLACE_CLAIM_PENDING,"ЦПП «Стол Заказов» — непризнанные гарантийные претензии поставщику", WalletKind::USER_SHARED },
133 { ledger2_wallets::MARKETPLACE_SUPPLIER_DEBT,"ЦПП «Стол Заказов» — признанный гарантийный долг поставщика к удержанию", WalletKind::USER_SHARED },
134 { ledger2_wallets::MARKETPLACE_SUPPLIER_PAYABLE,"ЦПП «Стол Заказов» — к оплате поставщику за принятое имущество", WalletKind::USER_SHARED },
135 { ledger2_wallets::BRANCH_PERSONAL, "Персональный кошелёк доверенного кооперативного участка", WalletKind::USER_SHARED },
136 { ledger2_wallets::BRANCH_COMMON, "Общий кошелёк членских взносов кооперативного участка", WalletKind::USER_SHARED },
137 { ledger2_wallets::ADVANCE_HOLD, "Подотчётные средства пайщика", WalletKind::USER_SHARED },
138 { ledger2_wallets::REGISTRATION_PENDING, "Регистрационный взнос в ожидании решения совета", WalletKind::USER_SHARED },
139
140 // COOPERATIVE (14) — единый кооперативный баланс, без L3
141 // GENERATOR_FUND переведён сюда из USER_SHARED (см. wallets.hpp:64) —
142 // CRPS-распределение между сегментами проекта не поддерживает per-user
143 // компенсирующие TRANSFER на approvecmmt, поэтому L3-проверка walletop
144 // ломала convertsegm у пайщиков, чья доля выросла через CRPS.
145 { ledger2_wallets::GENERATOR_FUND, "ЦПП «Генератор» — единый кошелёк программы", WalletKind::COOPERATIVE },
146 { ledger2_wallets::ENTRANCE_FEES, "Вступительные взносы", WalletKind::COOPERATIVE },
147 { ledger2_wallets::WITHDRAWALS_SINK, "Возвраты паевых взносов пайщикам (deprecated, не используется в новых операциях)", WalletKind::COOPERATIVE },
148 { ledger2_wallets::WITHDRAW_PENDING, "Резерв паевого под заявку на возврат", WalletKind::COOPERATIVE },
149 { ledger2_wallets::INFRA_FEES, "Членские взносы за инфраструктуру кооп. платформы", WalletKind::COOPERATIVE },
150 { ledger2_wallets::DELEGATE_FEES, "Делегатские членские взносы", WalletKind::COOPERATIVE },
151 { ledger2_wallets::SOV_EXPENSES, "Хозяйственные расходы из числа целевого финансирования", WalletKind::COOPERATIVE },
152 { ledger2_wallets::MIN_SHARE_USED, "Использованные минимальные паевые взносы", WalletKind::COOPERATIVE },
153 { ledger2_wallets::LOAN_ISSUED, "Выданные пайщикам беспроцентные займы", WalletKind::COOPERATIVE },
154 { ledger2_wallets::SUPPLIER_PAYMENTS, "Выплаты поставщикам", WalletKind::COOPERATIVE },
155 { ledger2_wallets::MARKETPLACE_FEE_POOL, "Резерв членских взносов «Стола заказов» под заказы", WalletKind::COOPERATIVE },
156 { ledger2_wallets::BRANCH_DISTRIBUTION_POOL, "Транзитный пул ручного распределения кооперативного участка", WalletKind::COOPERATIVE },
157 { ledger2_wallets::BRANCH_EXPENSE_POOL, "Пул расходов кооперативного участка", WalletKind::COOPERATIVE },
158 { ledger2_wallets::PROGRAM_EXPENSE_POOL, "Пул программных расходов ЦПП «Благорост»", WalletKind::COOPERATIVE },
159 { ledger2_wallets::NDFL_WITHHELD, "Удержанный НДФЛ к перечислению", WalletKind::COOPERATIVE },
160}};
161
163
164// =====================================================================
165// Compile-time валидация реестра.
166// =====================================================================
167//
168// Правила (ADR-002):
169// 1. Имена уникальны.
170// 2. Имена непустые (sentinel `eosio::name{}` запрещён).
171// 3. USER_SHARED-имена соответствуют конвенции `w.<3-char-contract>.<verb>`
172// (символ 0 = 'w', символы 1 и 5 = '.').
173//
174// Полнота поля `kind` обеспечена структурно: в `Ledger2WalletMeta` поле без
175// значения по умолчанию — попытка добавить элемент реестра без явного
176// `WalletKind` ломает сборку.
178 // base32 кодирование eosio::name (`.12345abcdefghijklmnopqrstuvwxyz`):
179 // '.' = 0
180 // '1'..'5' = 1..5
181 // 'a'..'z' = 6..31
182 // 64-битное value делится на 12 5-битных позиций (старшие биты — первый символ);
183 // 13-й символ (4 младших бита) для финального реестра не используется (имена ≤ 13 символов).
184 static constexpr uint8_t CHAR_DOT = 0; // '.'
185 static constexpr uint8_t CHAR_W = 28; // 'w' = 6 + ('w' - 'a') = 6 + 22
186
187 constexpr uint8_t decode_char_at(uint64_t value, size_t pos /* 0..11 */) {
188 // pos = 0 — старшие 5 бит (биты 59..63)
189 return static_cast<uint8_t>((value >> (59 - 5 * pos)) & 0x1F);
190 }
191
192 constexpr bool wallet_names_unique() {
193 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
194 for (size_t j = i + 1; j < LEDGER2_WALLET_REGISTRY_SIZE; ++j) {
195 if (LEDGER2_WALLET_REGISTRY[i].name == LEDGER2_WALLET_REGISTRY[j].name) return false;
196 }
197 }
198 return true;
199 }
200
201 constexpr bool wallet_names_nonempty() {
202 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
203 if (LEDGER2_WALLET_REGISTRY[i].name.value == 0) return false;
204 }
205 return true;
206 }
207
208 // ADR-002: USER_SHARED-имена обязаны соответствовать конвенции `w.<contract>.<verb>`.
209 // Конкретно: символ 0 = 'w', символ 1 = '.', символ 5 = '.' (после 3-символьного contract).
211 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
212 const auto& e = LEDGER2_WALLET_REGISTRY[i];
213 if (e.kind != WalletKind::USER_SHARED) continue;
214 const uint64_t v = e.name.value;
215 if (decode_char_at(v, 0) != CHAR_W) return false; // 'w'
216 if (decode_char_at(v, 1) != CHAR_DOT) return false; // '.'
217 if (decode_char_at(v, 5) != CHAR_DOT) return false; // '.' после 3-char contract
218 }
219 return true;
220 }
221}
222
224 "LEDGER2_WALLET_REGISTRY: duplicate wallet name detected");
226 "LEDGER2_WALLET_REGISTRY: empty eosio::name (sentinel) не должно быть в реестре");
228 "LEDGER2_WALLET_REGISTRY: USER_SHARED-имя не соответствует конвенции `w.<3-char-contract>.<verb>`");
229
236inline constexpr std::string_view ledger2_get_wallet_human_name(eosio::name wallet_name) {
237 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
238 if (LEDGER2_WALLET_REGISTRY[i].name == wallet_name) return LEDGER2_WALLET_REGISTRY[i].human_name;
239 }
240 return std::string_view{};
241}
242
246inline constexpr bool ledger2_is_known_wallet(eosio::name wallet_name) {
247 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
248 if (LEDGER2_WALLET_REGISTRY[i].name == wallet_name) return true;
249 }
250 return false;
251}
252
268 eosio::name wallet_name;
269 uint64_t required_program_id; // 0 = исключение (без проверки)
270};
271
272inline constexpr std::array<Ledger2WalletProgramMapping, 16> LEDGER2_USER_SHARED_PROGRAM_MAPPING = {{
273 { ledger2_wallets::MIN_SHARE_FUND, 0 /* w.reg.minshr — без проверки */ },
274 { ledger2_wallets::SHARE_FUND_PAY, 1 /* ЦК */ },
275 { ledger2_wallets::CK_MEMBER, 1 /* ЦК */ },
276 { ledger2_wallets::BLAGOROST_FUND, 4 /* Благорост */ },
277 { ledger2_wallets::GENERATOR_FUND, 3 /* Генератор */ },
278 { ledger2_wallets::PREIMP_FUND, 0 /* w.cap.preimp — РИД-учёт до перехода на электронный учёт, без проверки */ },
279 { ledger2_wallets::MARKETPLACE_ORDER_LOCK, 2 /* Marketplace */ },
280 { ledger2_wallets::MARKETPLACE_SHARE_FUND, 2 /* Marketplace */ },
281 { ledger2_wallets::MARKETPLACE_MEMBER_FUND, 2 /* Marketplace */ },
282 { ledger2_wallets::MARKETPLACE_CLAIM_PENDING, 0 /* w.mkt.claim — контрагент по договору поставки, не участник программы; без проверки */ },
283 { ledger2_wallets::MARKETPLACE_SUPPLIER_DEBT, 0 /* w.mkt.debt — то же */ },
284 { ledger2_wallets::MARKETPLACE_SUPPLIER_PAYABLE, 0 /* w.mkt.topay — то же: обязательство перед контрагентом */ },
285 { ledger2_wallets::BRANCH_PERSONAL, 0 /* w.brn.person — распределение назначает председатель КУ, программное соглашение не требуется */ },
286 { ledger2_wallets::BRANCH_COMMON, 0 /* w.brn.common — L3-разрез по braname КУ (не по пайщику), без проверки */ },
287 { ledger2_wallets::ADVANCE_HOLD, 0 /* w.exp.adv — подотчёт пайщика по СЗ; программа-источник проверена контрактом expense, повторная gate не нужна */ },
288 { ledger2_wallets::REGISTRATION_PENDING, 0 /* w.reg.pend — кандидат ещё не член, соглашения нет, без проверки */ },
289}};
290
317inline constexpr std::array<eosio::name, 4> LEDGER2_EXIT_REFUND_WALLETS = {{
322}};
323
335inline uint64_t ledger2_required_program_id(eosio::name wallet_name) {
336 for (const auto& m : LEDGER2_USER_SHARED_PROGRAM_MAPPING) {
337 if (m.wallet_name == wallet_name) return m.required_program_id;
338 }
339 // Кошелёк не в маппинге.
340 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
341 if (LEDGER2_WALLET_REGISTRY[i].name == wallet_name &&
343 eosio::check(false,
344 std::string{"ledger2_required_program_id: USER_SHARED-кошелёк "} +
345 wallet_name.to_string() +
346 " не имеет записи в LEDGER2_USER_SHARED_PROGRAM_MAPPING");
347 }
348 }
349 return 0; // не USER_SHARED → без проверки
350}
351
359inline WalletKind ledger2_get_wallet_kind(eosio::name wallet_name) {
360 for (size_t i = 0; i < LEDGER2_WALLET_REGISTRY_SIZE; ++i) {
361 if (LEDGER2_WALLET_REGISTRY[i].name == wallet_name) return LEDGER2_WALLET_REGISTRY[i].kind;
362 }
363 eosio::check(false, "ledger2_get_wallet_kind: wallet_name отсутствует в LEDGER2_WALLET_REGISTRY");
364 return WalletKind::COOPERATIVE; // unreachable
365}
uint64_t ledger2_required_program_id(eosio::name wallet_name)
Возвращает required program_id для USER_SHARED-кошелька.
Definition: wallets.hpp:335
constexpr bool ledger2_is_known_wallet(eosio::name wallet_name)
Проверяет, что wallet_name присутствует в LEDGER2_WALLET_REGISTRY.
Definition: wallets.hpp:246
constexpr std::array< eosio::name, 4 > LEDGER2_EXIT_REFUND_WALLETS
Сет «боевых» (паевых) кошельков пайщика, возвращаемых при выходе из кооператива (заявление registry 2...
Definition: wallets.hpp:317
static constexpr size_t LEDGER2_WALLET_REGISTRY_SIZE
Definition: wallets.hpp:162
constexpr std::array< Ledger2WalletMeta, 30 > LEDGER2_WALLET_REGISTRY
Definition: wallets.hpp:122
constexpr std::array< Ledger2WalletProgramMapping, 16 > LEDGER2_USER_SHARED_PROGRAM_MAPPING
Definition: wallets.hpp:272
constexpr std::string_view ledger2_get_wallet_human_name(eosio::name wallet_name)
Возвращает human-readable имя кошелька по его eosio::name.
Definition: wallets.hpp:236
WalletKind
Тип кошелька второго уровня (ADR-002).
Definition: wallets.hpp:106
WalletKind ledger2_get_wallet_kind(eosio::name wallet_name)
Возвращает WalletKind кошелька по его eosio::name (ADR-002, ADR-010).
Definition: wallets.hpp:359
Definition: wallets.hpp:177
constexpr bool wallet_names_unique()
Definition: wallets.hpp:192
constexpr bool user_shared_naming_convention()
Definition: wallets.hpp:210
static constexpr uint8_t CHAR_DOT
Definition: wallets.hpp:184
static constexpr uint8_t CHAR_W
Definition: wallets.hpp:185
constexpr bool wallet_names_nonempty()
Definition: wallets.hpp:201
constexpr uint8_t decode_char_at(uint64_t value, size_t pos)
Definition: wallets.hpp:187
Справочник кошелька: machine name → human-readable name + kind.
Definition: wallets.hpp:116
WalletKind kind
Definition: wallets.hpp:119
eosio::name name
Definition: wallets.hpp:117
std::string_view human_name
Definition: wallets.hpp:118
Маппинг USER_SHARED-кошелька → требуемый program_id для cross-contract проверки wallet::users....
Definition: wallets.hpp:267
eosio::name wallet_name
Definition: wallets.hpp:268
uint64_t required_program_id
Definition: wallets.hpp:269
Стандарт кошельков ledger2 (пересмотр 2026-05-05 — финальный реестр + WalletKind).
Definition: wallets.hpp:46
static constexpr eosio::name CK_MEMBER
ЦК — членская часть пайщика (USER_SHARED)
Definition: wallets.hpp:49
static constexpr eosio::name PROGRAM_EXPENSE_POOL
Пул программных расходов ЦПП «Благорост» (COOPERATIVE) — кооперативный кошелёк, из которого шасси exp...
Definition: wallets.hpp:70
static constexpr eosio::name ADVANCE_HOLD
Подотчётные средства пайщика (USER_SHARED; резерв при ADVANCE-механике шасси расходов)
Definition: wallets.hpp:93
static constexpr eosio::name INFRA_FEES
Членские взносы за инфраструктуру кооп. платформы (COOPERATIVE)
Definition: wallets.hpp:59
static constexpr eosio::name SOV_EXPENSES
Хозяйственные расходы из числа целевого финансирования (COOPERATIVE)
Definition: wallets.hpp:61
static constexpr eosio::name BRANCH_DISTRIBUTION_POOL
Транзитный пул ручного распределения КУ (COOPERATIVE; баланс нулевой вне транзакции)....
Definition: wallets.hpp:85
static constexpr eosio::name MARKETPLACE_CLAIM_PENDING
Непризнанные гарантийные претензии поставщику (USER_SHARED по поставщику, без проводки — до признания...
Definition: wallets.hpp:78
static constexpr eosio::name DELEGATE_FEES
Делегатские членские взносы (цель CONVERT_TO_AXN, COOPERATIVE)
Definition: wallets.hpp:60
static constexpr eosio::name BRANCH_COMMON
Общий кошелёк членских взносов кооперативного участка (USER_SHARED с разрезом по braname КУ,...
Definition: wallets.hpp:84
static constexpr eosio::name MIN_SHARE_FUND
Минимальный паевой взнос пайщика (USER_SHARED, без сверки соглашений)
Definition: wallets.hpp:54
static constexpr eosio::name BRANCH_PERSONAL
Персональный кошелёк доверенного/председателя КУ (USER_SHARED по доверенному, счёт 86)....
Definition: wallets.hpp:83
static constexpr eosio::name MARKETPLACE_SUPPLIER_DEBT
Признанный гарантийный долг поставщика (USER_SHARED по поставщику, счёт 76 — дебиторка поставщика)....
Definition: wallets.hpp:79
static constexpr eosio::name MARKETPLACE_MEMBER_FUND
ЦПП «Стол Заказов» — внутренний членский кошелёк пайщика в программе (USER_SHARED,...
Definition: wallets.hpp:75
static constexpr eosio::name MARKETPLACE_ORDER_LOCK
ЦПП «Стол Заказов» — паевой резерв пайщика под конкретный Order (USER_SHARED, счёт 80)....
Definition: wallets.hpp:73
static constexpr eosio::name MARKETPLACE_SHARE_FUND
ЦПП «Стол Заказов» — свободный паевой пайщика в программе (USER_SHARED, счёт 80). Сюда возвращается о...
Definition: wallets.hpp:74
static constexpr eosio::name WITHDRAW_PENDING
Резерв паевого под заявку на возврат (COOPERATIVE-пул). o.wal.wthreq переводит сюда с w....
Definition: wallets.hpp:51
static constexpr eosio::name SUPPLIER_PAYMENTS
DEPRECATED 2026-09-10 (задача 99D-16): исторический накопитель выплат поставщикам....
Definition: wallets.hpp:76
static constexpr eosio::name PREIMP_FUND
Первичный учёт РИД-взносов до перехода на электронный учёт (USER_SHARED; o.cap.preimp / o....
Definition: wallets.hpp:69
static constexpr eosio::name GENERATOR_FUND
Генератор — единый агрегированный кошелёк программы (COOPERATIVE — кооперативный пул,...
Definition: wallets.hpp:68
static constexpr eosio::name MARKETPLACE_SUPPLIER_PAYABLE
Сумма к оплате поставщику за принятое имущество (USER_SHARED по поставщику, счёт 76 — обязательство к...
Definition: wallets.hpp:77
static constexpr eosio::name BLAGOROST_FUND
Благорост — единый агрегированный кошелёк программы (USER_SHARED; ADR-009)
Definition: wallets.hpp:67
static constexpr eosio::name WITHDRAWALS_SINK
DEPRECATED 2026-05-21: исторический sink возвратов. Оставлен в реестре для исторических L2-балансов (...
Definition: wallets.hpp:50
static constexpr eosio::name BRANCH_EXPENSE_POOL
Пул расходов кооперативного участка (COOPERATIVE) — источник средств шасси расходов для КУ....
Definition: wallets.hpp:86
static constexpr eosio::name SHARE_FUND_PAY
Паевой взнос пайщика (USER_SHARED)
Definition: wallets.hpp:48
static constexpr eosio::name MIN_SHARE_USED
Использованные минимальные паевые взносы (Cr 80 source, перешедшие в 08; COOPERATIVE)
Definition: wallets.hpp:62
static constexpr eosio::name ENTRANCE_FEES
Вступительные взносы (Cr 86, COOPERATIVE)
Definition: wallets.hpp:55
static constexpr eosio::name NDFL_WITHHELD
Удержанный НДФЛ к перечислению в бюджет (COOPERATIVE, счёт 68). Кошелёк общекооперативный: в него сте...
Definition: wallets.hpp:63
static constexpr eosio::name MARKETPLACE_FEE_POOL
Резерв членских взносов «Стола заказов» под заказы (COOPERATIVE-пул, по образцу w....
Definition: wallets.hpp:80
static constexpr eosio::name REGISTRATION_PENDING
Регистрационный взнос в ожидании решения совета (суспенс счёта 76, USER_SHARED, без сверки соглашений...
Definition: wallets.hpp:56
static constexpr eosio::name LOAN_ISSUED
Выданные пайщикам беспроцентные займы (COOPERATIVE; Dr 58 / Cr 51)
Definition: wallets.hpp:66