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

Стандарт кошельков ledger2 (пересмотр 2026-05-05 — финальный реестр + WalletKind). Подробнее...

#include <wallets.hpp>

Статические открытые данные

static constexpr eosio::name SHARE_FUND_PAY = "w.wal.share"_n
 Паевой взнос пайщика (USER_SHARED) Подробнее...
 
static constexpr eosio::name CK_MEMBER = "w.wal.member"_n
 ЦК — членская часть пайщика (USER_SHARED) Подробнее...
 
static constexpr eosio::name WITHDRAWALS_SINK = "w.wal.wthdrw"_n
 DEPRECATED 2026-05-21: исторический sink возвратов. Оставлен в реестре для исторических L2-балансов (накопленные возвраты до перехода). Не использовать в новых операциях. Подробнее...
 
static constexpr eosio::name WITHDRAW_PENDING = "w.wal.wpend"_n
 Резерв паевого под заявку на возврат (COOPERATIVE-пул). o.wal.wthreq переводит сюда с w.wal.share, o.wal.wthdec возвращает обратно, o.wal.wthcpl сжигает отсюда. Заменил механику blocked/BLOCK/UNBLOCK 2026-05-24. Подробнее...
 
static constexpr eosio::name MIN_SHARE_FUND = "w.reg.minshr"_n
 Минимальный паевой взнос пайщика (USER_SHARED, без сверки соглашений) Подробнее...
 
static constexpr eosio::name ENTRANCE_FEES = "w.reg.entry"_n
 Вступительные взносы (Cr 86, COOPERATIVE) Подробнее...
 
static constexpr eosio::name REGISTRATION_PENDING = "w.reg.pend"_n
 Регистрационный взнос в ожидании решения совета (суспенс счёта 76, USER_SHARED, без сверки соглашений — кандидат ещё не член). o.reg.inpay → сюда (Dr 51/Cr 76); o.reg.setmin/setent уносят на 80/86; o.reg.refund сжигает (Dr 76/Cr 51). Подробнее...
 
static constexpr eosio::name INFRA_FEES = "w.sov.infra"_n
 Членские взносы за инфраструктуру кооп. платформы (COOPERATIVE) Подробнее...
 
static constexpr eosio::name DELEGATE_FEES = "w.sov.delgte"_n
 Делегатские членские взносы (цель CONVERT_TO_AXN, COOPERATIVE) Подробнее...
 
static constexpr eosio::name SOV_EXPENSES = "w.sov.expns"_n
 Хозяйственные расходы из числа целевого финансирования (COOPERATIVE) Подробнее...
 
static constexpr eosio::name MIN_SHARE_USED = "w.sov.mnused"_n
 Использованные минимальные паевые взносы (Cr 80 source, перешедшие в 08; COOPERATIVE) Подробнее...
 
static constexpr eosio::name NDFL_WITHHELD = "w.sov.ndfl"_n
 Удержанный НДФЛ к перечислению в бюджет (COOPERATIVE, счёт 68). Кошелёк общекооперативный: в него стекаются удержания ЛЮБОЙ программы, выплатившей доход физлицу (сегодня — материальная помощь доверенному, o.brn.aidtax), а гасит его бухгалтерия единым налоговым платежом (o.sov.taxpay, BURN, Дт 68 / Кт 51). Поэтому кошелёк не принадлежит программе-источнику и назван по кооперативу, а не по участку. Остаток = долг кооператива перед бюджетом; он же ограничивает сумму платежа — перечислить больше удержанного налоговый агент не вправе. Деньги при удержании с расчётного счёта НЕ уходят: кооператив просто выплатил получателю меньше. Подробнее...
 
static constexpr eosio::name LOAN_ISSUED = "w.cap.loan"_n
 Выданные пайщикам беспроцентные займы (COOPERATIVE; Dr 58 / Cr 51) Подробнее...
 
static constexpr eosio::name BLAGOROST_FUND = "w.cap.blago"_n
 Благорост — единый агрегированный кошелёк программы (USER_SHARED; ADR-009) Подробнее...
 
static constexpr eosio::name GENERATOR_FUND = "w.cap.gen"_n
 Генератор — единый агрегированный кошелёк программы (COOPERATIVE — кооперативный пул, без L3-разреза по пайщику; L3-разрез из ADR-009 отменён из-за несовместимости с CRPS-перераспределением, см. wallets.hpp:107) Подробнее...
 
static constexpr eosio::name PREIMP_FUND = "w.cap.preimp"_n
 Первичный учёт РИД-взносов до перехода на электронный учёт (USER_SHARED; o.cap.preimp / o.cap.drppre) Подробнее...
 
static constexpr eosio::name PROGRAM_EXPENSE_POOL = "w.cap.pgexp"_n
 Пул программных расходов ЦПП «Благорост» (COOPERATIVE) — кооперативный кошелёк, из которого шасси expense оплачивает СЗ; пополняется topupprogexp (o.cap.pgtop), паевые L3-кошельки пайщиков (w.cap.blago) при расходах не трогаются Подробнее...
 
static constexpr eosio::name MARKETPLACE_ORDER_LOCK = "w.mkt.order"_n
 ЦПП «Стол Заказов» — резерв средств пайщика под конкретный Order (USER_SHARED). TRANSFER w.wal.share → w.mkt.order на createorder (Дт 80 / Кт 86); обратный TRANSFER на w.mkt.member при cancel/decline/expire (без проводки); BURN с w.mkt.order на signiss2 (Дт 86 / Кт 10). Подробнее...
 
static constexpr eosio::name MARKETPLACE_MEMBER_FUND = "w.mkt.member"_n
 ЦПП «Стол Заказов» — членский кошелёк пайщика программы (USER_SHARED, счёт 86). Сюда возвращается остаток резерва при отмене/недовыдаче и гарантийном возврате; сюда же конвертируется паевой взнос (o.mkt.conv) при доплате по факту — списание под заказ идёт ИМЕННО с членского программы, не с паевого напрямую. Подробнее...
 
static constexpr eosio::name SUPPLIER_PAYMENTS = "w.mkt.payout"_n
 Выплаты поставщикам (sink PAYOUT, COOPERATIVE) Подробнее...
 
static constexpr eosio::name MARKETPLACE_FEE_POOL = "w.mkt.fee"_n
 Резерв членских взносов «Стола заказов» под заказы (COOPERATIVE-пул, по образцу w.wal.wpend — per-Order разрез держит поле Order.membership_fee). TRANSFER w.wal.share → w.mkt.fee на createorder/stockorder (Дт 80 / Кт 86, o.mkt.fee); возврат неиспользованной части на w.mkt.member (o.mkt.refund, без проводки); при финализации заказа 100% факта взноса зачисляется в общий кошелёк КУ (branch::accrue → o.brn.common). Подробнее...
 
static constexpr eosio::name BRANCH_PERSONAL = "w.brn.person"_n
 Персональный кошелёк доверенного/председателя КУ (USER_SHARED по доверенному, счёт 86). Пополняется ручным распределением председателя КУ из общего кошелька (o.brn.release + o.brn.person); расходуется на материальную помощь (o.brn.aid) или переводом в членский кошелёк «Стола заказов» (o.brn.conv). Подробнее...
 
static constexpr eosio::name BRANCH_COMMON = "w.brn.common"_n
 Общий кошелёк членских взносов кооперативного участка (USER_SHARED с разрезом по braname КУ, счёт 86). Принимает 100% членского взноса при финализации заказа (o.brn.common); далее — ручное распределение доверенным (o.brn.release), оплата расходов КУ (o.brn.spend), закупка впрок. Плановый резерв расходов (30 дней) контролирует бэкенд. Подробнее...
 
static constexpr eosio::name BRANCH_DISTRIBUTION_POOL = "w.brn.pool"_n
 Транзитный пул ручного распределения КУ (COOPERATIVE; баланс нулевой вне транзакции). Нужен из-за инварианта walletop «один username на обе стороны»: прямой TRANSFER w.brn.common (разрез по braname) → w.brn.person (разрез по доверенному) невозможен; двухходовка o.brn.release (username = braname) + o.brn.person (username = доверенный) внутри одной транзакции распределения. Подробнее...
 
static constexpr eosio::name BRANCH_EXPENSE_POOL = "w.brn.expns"_n
 Пул расходов кооперативного участка (COOPERATIVE) — источник средств шасси расходов для КУ. Наполняется под конкретный расход при создании служебной записки (o.brn.expfnd, username = braname), расходуется прямой оплатой по реквизитам (o.brn.spend) либо выдачей аванса под отчёт (o.brn.expadv); неизрасходованный остаток возвращается в общий кошелёк участка (o.brn.expunf). Транзит нужен и по существу (видно, сколько средств участка отдано под расходы), и технически: шасси расходов требует COOPERATIVE-пул, а w.brn.common ведёт L3-разрез по braname. Подробнее...
 
static constexpr eosio::name ADVANCE_HOLD = "w.exp.adv"_n
 Подотчётные средства пайщика (USER_SHARED; резерв при ADVANCE-механике шасси расходов) Подробнее...
 

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

Стандарт кошельков ledger2 (пересмотр 2026-05-05 — финальный реестр + WalletKind).

Кошельки ledger2 — это аналитические разрезы бухгалтерских счетов: «куда/откуда движутся средства» на уровне ЦПП и фондов. Учёт остатков денежных средств (счёт 51) живёт на accounts2 через двойную запись; отдельного «зеркального» wallet-а для 51 НЕТ — любая money-in операция сразу адресуется целевому кошельку-назначению.

Идентификатор кошелька — eosio::name с префиксом w.<contract>.<waltype> (по аналогии с операциями o.<contract>.<verb> и процессами p.<contract>.<noun>). Длина ≤ 13 base32-символов.

Группы: w.wal.* — Паевой фонд (журнал Cr 80) и возвраты пайщикам w.reg.* — Регистрация (минимальный паевой, вступительные) w.sov.* — Совет-level фонды (целевое финансирование, использованные паевые) w.cap.* — Программы паевого фонда (Благорост, Генератор) и займы w.mkt.* — Маркетплейс (резервы заказов и членских взносов, выплаты поставщикам) w.brn.* — Экономика кооперативного участка (персональные кошельки доверенных, общий кошелёк КУ)

Sentinel eosio::name{} (пустое имя, value=0) — «кошелёк вне системы» для ISSUE (нет wallet_from) и для BURN (нет wallet_to).

При первом ISSUE/TRANSFER кошелёк создаётся автоматически по записи из WALLET_REGISTRY. При обнулении available+blocked запись удаляется.

Классификация WalletKind (ADR-002): USER_SHARED — обязателен L3-разрез по пайщику (ledger2::userwallets). COOPERATIVE — единый кооперативный баланс, без L3.

Связь L2↔L3 (ADR-010): отдельный enum имён для L3 не вводится — таблица userwallets хранит wallet_name, ссылающийся на этот же реестр; запись L3 разрешена только для kind == USER_SHARED.

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

◆ ADVANCE_HOLD

constexpr eosio::name ledger2_wallets::ADVANCE_HOLD = "w.exp.adv"_n
staticconstexpr

Подотчётные средства пайщика (USER_SHARED; резерв при ADVANCE-механике шасси расходов)

◆ BLAGOROST_FUND

constexpr eosio::name ledger2_wallets::BLAGOROST_FUND = "w.cap.blago"_n
staticconstexpr

Благорост — единый агрегированный кошелёк программы (USER_SHARED; ADR-009)

◆ BRANCH_COMMON

constexpr eosio::name ledger2_wallets::BRANCH_COMMON = "w.brn.common"_n
staticconstexpr

Общий кошелёк членских взносов кооперативного участка (USER_SHARED с разрезом по braname КУ, счёт 86). Принимает 100% членского взноса при финализации заказа (o.brn.common); далее — ручное распределение доверенным (o.brn.release), оплата расходов КУ (o.brn.spend), закупка впрок. Плановый резерв расходов (30 дней) контролирует бэкенд.

◆ BRANCH_DISTRIBUTION_POOL

constexpr eosio::name ledger2_wallets::BRANCH_DISTRIBUTION_POOL = "w.brn.pool"_n
staticconstexpr

Транзитный пул ручного распределения КУ (COOPERATIVE; баланс нулевой вне транзакции). Нужен из-за инварианта walletop «один username на обе стороны»: прямой TRANSFER w.brn.common (разрез по braname) → w.brn.person (разрез по доверенному) невозможен; двухходовка o.brn.release (username = braname) + o.brn.person (username = доверенный) внутри одной транзакции распределения.

◆ BRANCH_EXPENSE_POOL

constexpr eosio::name ledger2_wallets::BRANCH_EXPENSE_POOL = "w.brn.expns"_n
staticconstexpr

Пул расходов кооперативного участка (COOPERATIVE) — источник средств шасси расходов для КУ. Наполняется под конкретный расход при создании служебной записки (o.brn.expfnd, username = braname), расходуется прямой оплатой по реквизитам (o.brn.spend) либо выдачей аванса под отчёт (o.brn.expadv); неизрасходованный остаток возвращается в общий кошелёк участка (o.brn.expunf). Транзит нужен и по существу (видно, сколько средств участка отдано под расходы), и технически: шасси расходов требует COOPERATIVE-пул, а w.brn.common ведёт L3-разрез по braname.

◆ BRANCH_PERSONAL

constexpr eosio::name ledger2_wallets::BRANCH_PERSONAL = "w.brn.person"_n
staticconstexpr

Персональный кошелёк доверенного/председателя КУ (USER_SHARED по доверенному, счёт 86). Пополняется ручным распределением председателя КУ из общего кошелька (o.brn.release + o.brn.person); расходуется на материальную помощь (o.brn.aid) или переводом в членский кошелёк «Стола заказов» (o.brn.conv).

◆ CK_MEMBER

constexpr eosio::name ledger2_wallets::CK_MEMBER = "w.wal.member"_n
staticconstexpr

ЦК — членская часть пайщика (USER_SHARED)

◆ DELEGATE_FEES

constexpr eosio::name ledger2_wallets::DELEGATE_FEES = "w.sov.delgte"_n
staticconstexpr

Делегатские членские взносы (цель CONVERT_TO_AXN, COOPERATIVE)

◆ ENTRANCE_FEES

constexpr eosio::name ledger2_wallets::ENTRANCE_FEES = "w.reg.entry"_n
staticconstexpr

Вступительные взносы (Cr 86, COOPERATIVE)

◆ GENERATOR_FUND

constexpr eosio::name ledger2_wallets::GENERATOR_FUND = "w.cap.gen"_n
staticconstexpr

Генератор — единый агрегированный кошелёк программы (COOPERATIVE — кооперативный пул, без L3-разреза по пайщику; L3-разрез из ADR-009 отменён из-за несовместимости с CRPS-перераспределением, см. wallets.hpp:107)

◆ INFRA_FEES

constexpr eosio::name ledger2_wallets::INFRA_FEES = "w.sov.infra"_n
staticconstexpr

Членские взносы за инфраструктуру кооп. платформы (COOPERATIVE)

◆ LOAN_ISSUED

constexpr eosio::name ledger2_wallets::LOAN_ISSUED = "w.cap.loan"_n
staticconstexpr

Выданные пайщикам беспроцентные займы (COOPERATIVE; Dr 58 / Cr 51)

◆ MARKETPLACE_FEE_POOL

constexpr eosio::name ledger2_wallets::MARKETPLACE_FEE_POOL = "w.mkt.fee"_n
staticconstexpr

Резерв членских взносов «Стола заказов» под заказы (COOPERATIVE-пул, по образцу w.wal.wpend — per-Order разрез держит поле Order.membership_fee). TRANSFER w.wal.share → w.mkt.fee на createorder/stockorder (Дт 80 / Кт 86, o.mkt.fee); возврат неиспользованной части на w.mkt.member (o.mkt.refund, без проводки); при финализации заказа 100% факта взноса зачисляется в общий кошелёк КУ (branch::accrue → o.brn.common).

◆ MARKETPLACE_MEMBER_FUND

constexpr eosio::name ledger2_wallets::MARKETPLACE_MEMBER_FUND = "w.mkt.member"_n
staticconstexpr

ЦПП «Стол Заказов» — членский кошелёк пайщика программы (USER_SHARED, счёт 86). Сюда возвращается остаток резерва при отмене/недовыдаче и гарантийном возврате; сюда же конвертируется паевой взнос (o.mkt.conv) при доплате по факту — списание под заказ идёт ИМЕННО с членского программы, не с паевого напрямую.

◆ MARKETPLACE_ORDER_LOCK

constexpr eosio::name ledger2_wallets::MARKETPLACE_ORDER_LOCK = "w.mkt.order"_n
staticconstexpr

ЦПП «Стол Заказов» — резерв средств пайщика под конкретный Order (USER_SHARED). TRANSFER w.wal.share → w.mkt.order на createorder (Дт 80 / Кт 86); обратный TRANSFER на w.mkt.member при cancel/decline/expire (без проводки); BURN с w.mkt.order на signiss2 (Дт 86 / Кт 10).

◆ MIN_SHARE_FUND

constexpr eosio::name ledger2_wallets::MIN_SHARE_FUND = "w.reg.minshr"_n
staticconstexpr

Минимальный паевой взнос пайщика (USER_SHARED, без сверки соглашений)

◆ MIN_SHARE_USED

constexpr eosio::name ledger2_wallets::MIN_SHARE_USED = "w.sov.mnused"_n
staticconstexpr

Использованные минимальные паевые взносы (Cr 80 source, перешедшие в 08; COOPERATIVE)

◆ NDFL_WITHHELD

constexpr eosio::name ledger2_wallets::NDFL_WITHHELD = "w.sov.ndfl"_n
staticconstexpr

Удержанный НДФЛ к перечислению в бюджет (COOPERATIVE, счёт 68). Кошелёк общекооперативный: в него стекаются удержания ЛЮБОЙ программы, выплатившей доход физлицу (сегодня — материальная помощь доверенному, o.brn.aidtax), а гасит его бухгалтерия единым налоговым платежом (o.sov.taxpay, BURN, Дт 68 / Кт 51). Поэтому кошелёк не принадлежит программе-источнику и назван по кооперативу, а не по участку. Остаток = долг кооператива перед бюджетом; он же ограничивает сумму платежа — перечислить больше удержанного налоговый агент не вправе. Деньги при удержании с расчётного счёта НЕ уходят: кооператив просто выплатил получателю меньше.

◆ PREIMP_FUND

constexpr eosio::name ledger2_wallets::PREIMP_FUND = "w.cap.preimp"_n
staticconstexpr

Первичный учёт РИД-взносов до перехода на электронный учёт (USER_SHARED; o.cap.preimp / o.cap.drppre)

◆ PROGRAM_EXPENSE_POOL

constexpr eosio::name ledger2_wallets::PROGRAM_EXPENSE_POOL = "w.cap.pgexp"_n
staticconstexpr

Пул программных расходов ЦПП «Благорост» (COOPERATIVE) — кооперативный кошелёк, из которого шасси expense оплачивает СЗ; пополняется topupprogexp (o.cap.pgtop), паевые L3-кошельки пайщиков (w.cap.blago) при расходах не трогаются

◆ REGISTRATION_PENDING

constexpr eosio::name ledger2_wallets::REGISTRATION_PENDING = "w.reg.pend"_n
staticconstexpr

Регистрационный взнос в ожидании решения совета (суспенс счёта 76, USER_SHARED, без сверки соглашений — кандидат ещё не член). o.reg.inpay → сюда (Dr 51/Cr 76); o.reg.setmin/setent уносят на 80/86; o.reg.refund сжигает (Dr 76/Cr 51).

◆ SHARE_FUND_PAY

constexpr eosio::name ledger2_wallets::SHARE_FUND_PAY = "w.wal.share"_n
staticconstexpr

Паевой взнос пайщика (USER_SHARED)

◆ SOV_EXPENSES

constexpr eosio::name ledger2_wallets::SOV_EXPENSES = "w.sov.expns"_n
staticconstexpr

Хозяйственные расходы из числа целевого финансирования (COOPERATIVE)

◆ SUPPLIER_PAYMENTS

constexpr eosio::name ledger2_wallets::SUPPLIER_PAYMENTS = "w.mkt.payout"_n
staticconstexpr

Выплаты поставщикам (sink PAYOUT, COOPERATIVE)

◆ WITHDRAW_PENDING

constexpr eosio::name ledger2_wallets::WITHDRAW_PENDING = "w.wal.wpend"_n
staticconstexpr

Резерв паевого под заявку на возврат (COOPERATIVE-пул). o.wal.wthreq переводит сюда с w.wal.share, o.wal.wthdec возвращает обратно, o.wal.wthcpl сжигает отсюда. Заменил механику blocked/BLOCK/UNBLOCK 2026-05-24.

◆ WITHDRAWALS_SINK

constexpr eosio::name ledger2_wallets::WITHDRAWALS_SINK = "w.wal.wthdrw"_n
staticconstexpr

DEPRECATED 2026-05-21: исторический sink возвратов. Оставлен в реестре для исторических L2-балансов (накопленные возвраты до перехода). Не использовать в новых операциях.


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