COOPENOMICS  v1
Кооперативная Экономика
processes.hpp
См. документацию.
1#pragma once
2
3#include <eosio/name.hpp>
4
46namespace processes {
47
48 // registrator
49 namespace registrator {
50 inline constexpr eosio::name ACCEPT = "p.reg.accept"_n;
51 inline constexpr eosio::name REFUND = "p.reg.refund"_n;
52 }
53
54 // wallet
55 namespace wallet {
56 inline constexpr eosio::name DEPOSIT = "p.wal.depo"_n;
57 inline constexpr eosio::name WITHDRAW = "p.wal.wthdrw"_n;
58 }
59
60 // capital
61 namespace capital {
62 inline constexpr eosio::name IMPORT = "p.cap.import"_n;
63 inline constexpr eosio::name INVEST = "p.cap.invest"_n;
64 inline constexpr eosio::name DEBT = "p.cap.debt"_n;
65 inline constexpr eosio::name RID = "p.cap.rid"_n;
66 inline constexpr eosio::name PROPERTY = "p.cap.prop"_n;
67 inline constexpr eosio::name PREIMP = "p.cap.preimp"_n;
68 inline constexpr eosio::name WTHCAP = "p.cap.wthcap"_n;
69 inline constexpr eosio::name PGEXP = "p.cap.pgexp"_n;
70 }
71
72 // marketplace
73 namespace marketplace {
74 inline constexpr eosio::name SUPPLY = "p.mkt.supply"_n;
75 inline constexpr eosio::name RETURN = "p.mkt.return"_n;
76 inline constexpr eosio::name WRITEOFF = "p.mkt.wroff"_n;
77 }
78
79 // branch — экономика кооперативного участка (requirement b6)
80 namespace branch {
81 inline constexpr eosio::name FEES = "p.brn.fees"_n;
82 inline constexpr eosio::name AID = "p.brn.aid"_n;
83 inline constexpr eosio::name SPEND = "p.brn.spend"_n;
84 }
85
86 // expense — шасси расходов (СЗ → авторизация → платёж → отчёт → закрытие)
87 namespace expense {
88 inline constexpr eosio::name PROPOSAL = "p.exp.expns"_n;
89 }
90
91 // soviet
92 namespace soviet {
93 inline constexpr eosio::name AXN_CONVERT = "p.sov.axncnv"_n;
94 inline constexpr eosio::name TAX = "p.sov.tax"_n;
95 }
96
97 // migration
98 namespace migration {
99 inline constexpr eosio::name TRANSIT = "p.mig.trans"_n;
100 }
101
102 // adjustment (ручные корректировки председателя — walmove + revert)
103 //
104 // Не идёт через ledger2::apply: операции o.adj.* выполняются отдельными
105 // top-level actions ledger2::walmove и ledger2::revert (см. operations.hpp,
106 // OPERATION_ADJUSTMENT_REGISTRY). Один общий process_type p.adj.fix —
107 // потому что аудит-цепочка корректировки одноактовая (нет «pending» фазы).
108 namespace adjustment {
109 inline constexpr eosio::name CORRECTION = "p.adj.fix"_n;
110 }
111
123static constexpr eosio::name PROCESS_REGISTRY[] = {
135};
136
138inline bool is_known_process(eosio::name process_type) {
139 for (const auto& known : PROCESS_REGISTRY) {
140 if (known == process_type) return true;
141 }
142 return false;
143}
144
147 constexpr auto count = sizeof(PROCESS_REGISTRY) / sizeof(PROCESS_REGISTRY[0]);
148 for (unsigned i = 0; i < count; ++i) {
149 for (unsigned j = i + 1; j < count; ++j) {
150 if (PROCESS_REGISTRY[i].value == PROCESS_REGISTRY[j].value) return false;
151 }
152 }
153 return true;
154}
155
156// Дубль в перечне означает, что имя завели дважды — линейный поиск это
157// проглотит, а рассинхронизацию с cooptypes/локатором заметить будет негде.
158static_assert(process_registry_is_unique(),
159 "PROCESS_REGISTRY содержит дубликаты имён процессов");
160
161} // namespace processes
Константы контракта кооперативных участков
Definition: branch.hpp:55
Контракт Capital управляет вкладами, распределением вознаграждений и выводом средств для участников....
Definition: capital.hpp:62
Шасси расходов — 8 actions, MVP только Благорост.
Definition: expense.hpp:141
Контракт marketplace — кооперативный «Стол заказов» в режиме членских взносов.
Definition: marketplace.hpp:74
Класс registrator служит воротами в блокчейн-систему для новых участников, позволяя регистрировать ак...
Definition: registrator.hpp:54
Definition: soviet.hpp:40
Контракт Wallet управляет взносами и возвратами взносов по ЦПП "Цифровой Кошелёк".
Definition: wallet.hpp:16
constexpr eosio::name CORRECTION
Ручная корректировка председателя (перевод между кошельками или откат операции).
Definition: processes.hpp:109
constexpr eosio::name FEES
Членские взносы КУ: зачисление в общий кошелёк при финализации заказа (o.brn.common),...
Definition: processes.hpp:81
constexpr eosio::name SPEND
Оплата расхода КУ из общего кошелька (o.brn.spend; команда председателя → выплата кассиром по реквизи...
Definition: processes.hpp:83
constexpr eosio::name AID
Материальная помощь доверенному КУ из его персонального кошелька (o.brn.aid; заявление → выплата касс...
Definition: processes.hpp:82
constexpr eosio::name WTHCAP
Возврат паевого из ЦПП «Благорост» в кошелёк пайщика (одноактовый).
Definition: processes.hpp:68
constexpr eosio::name IMPORT
Оффлайн-импорт пайщика Благорост (o.cap.drppre (опц.) + o.cap.import).
Definition: processes.hpp:62
constexpr eosio::name INVEST
Инвестиция в ЦПП Благорост (wallet-only 2001→9001).
Definition: processes.hpp:63
constexpr eosio::name DEBT
Займ пайщику (o.cap.lend; возврат o.cap.repay — в p.cap.rid на акте-2).
Definition: processes.hpp:64
constexpr eosio::name PREIMP
Первичный учёт РИД-взноса до перехода на электронный учёт (одноактовый, anchor = preimp register hash...
Definition: processes.hpp:67
constexpr eosio::name PROPERTY
Приём имущественного паевого взноса (одноактовый).
Definition: processes.hpp:66
constexpr eosio::name RID
Приём РИД в паевой фонд: o.cap.commit (коммиты) + o.cap.accept (акт-2) + опц. o.cap....
Definition: processes.hpp:65
constexpr eosio::name PGEXP
Пул программных расходов: пополнение из инвестиций программы (o.cap.pgtop, одноактовый).
Definition: processes.hpp:69
constexpr eosio::name PROPOSAL
Цикл расхода по СЗ: o.exp.blgadv|blgdir (платёж) + опц. o.exp.over (перерасход) + o....
Definition: processes.hpp:88
constexpr eosio::name RETURN
Гарантийный возврат имущества пайщиком — compensating forward к o.mkt.consum (o.mkt....
Definition: processes.hpp:75
constexpr eosio::name SUPPLY
Прямая поставка-приобретение имущества (5 операций: o.mkt.lock + o.mkt.unlock + o....
Definition: processes.hpp:74
constexpr eosio::name WRITEOFF
Утилизация скоропорта со склада КУ (o.mkt.wroff, по протоколу совета).
Definition: processes.hpp:76
constexpr eosio::name TRANSIT
Транзитный перенос остатков legacy (серия apply на кооп).
Definition: processes.hpp:99
constexpr eosio::name ACCEPT
Приём пайщика в кооператив (o.reg.payent + o.reg.putmin; для потока через совет — o....
Definition: processes.hpp:50
constexpr eosio::name REFUND
Возврат регистрационного взноса при отказе совета (o.reg.refund). Отдельный процесс: приём взноса пре...
Definition: processes.hpp:51
constexpr eosio::name AXN_CONVERT
Конвертация паевого RUB → делегатский ЧВ (одноактовый).
Definition: processes.hpp:93
constexpr eosio::name TAX
Перечисление удержанного налога в бюджет (заявка бухгалтера → платёж кассира → закрытие обязательства...
Definition: processes.hpp:94
constexpr eosio::name DEPOSIT
Внесение паевого взноса деньгами.
Definition: processes.hpp:56
constexpr eosio::name WITHDRAW
Возврат паевого взноса пайщику.
Definition: processes.hpp:57
Типы процессов ledger2 (process_type).
Definition: processes.hpp:46
static constexpr eosio::name PROCESS_REGISTRY[]
Перечень известных имён процессов — для валидации в ledger2::apply.
Definition: processes.hpp:123
constexpr bool process_registry_is_unique()
Уникальность имён в PROCESS_REGISTRY — проверяется на сборке.
Definition: processes.hpp:146
bool is_known_process(eosio::name process_type)
Известно ли имя нитки процесса (см. PROCESS_REGISTRY).
Definition: processes.hpp:138