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