|
COOPENOMICS
v1
Кооперативная Экономика
|
Типы процессов ledger2 (process_type). Подробнее...
Пространства имен | |
| namespace | adjustment |
| namespace | branch |
| namespace | capital |
| namespace | expense |
| namespace | marketplace |
| namespace | migration |
| namespace | registrator |
| namespace | soviet |
| namespace | wallet |
Функции | |
| bool | is_known_process (eosio::name process_type) |
| Известно ли имя нитки процесса (см. PROCESS_REGISTRY). Подробнее... | |
| constexpr bool | process_registry_is_unique () |
| Уникальность имён в PROCESS_REGISTRY — проверяется на сборке. Подробнее... | |
Переменные | |
| static constexpr eosio::name | PROCESS_REGISTRY [] |
| Перечень известных имён процессов — для валидации в ledger2::apply. Подробнее... | |
Типы процессов ledger2 (process_type).
Процесс — юридически значимая цепочка (process_type, process_hash, coopname) ссылок, размазанная по ончейн-записям (сущностным таблицам).
process_type называет контракт-инициатор при вызове ledger2::apply — имя нитки эмитится в цепь вместе с операцией, а не выводится по operation_code. Так процесс называет тот, кто нитку открыл: branch::accrue зачисляет членский взнос КУ внутри нитки поставки (p.mkt.supply) и возврата (p.mkt.return), хотя сама операция относится к экономике КУ. Пока имя выводилось по операции, у такой нитки было два претендента на название, и поставка подписывалась «Членские взносы кооперативного участка».
Поле process_type в OPERATION_REGISTRY (operations.hpp) — типовая принадлежность операции: контрактом не читается, бэкенду нужна только для записей, сделанных до появления эмиссии имени.
Один process_type может соответствовать нескольким operation_code — это явно разрешённая модель мульти-операционных процессов:
Одноактовые процессы: capital::IMPORT, capital::PROPERTY, capital::INVEST, soviet::AXN_CONVERT (process_type совпадает с operation_code по сути).
Имена — eosio::name, ≤ 12 символов (13-й символ с ограничением алфавита — избегаем). Формат: p.<contract>.<noun>:
p. префикс процесса (отличается от o. у operation_code),<contract> — контракт-источник (reg, wal, cap, mkt, sov, mig).Нейминг-рефакторинг 2026-04-24: файл переименован из process_types.hpp в processes.hpp, namespace process_types → processes::<contract>.
|
inline |
Известно ли имя нитки процесса (см. PROCESS_REGISTRY).
|
constexpr |
Уникальность имён в PROCESS_REGISTRY — проверяется на сборке.
|
staticconstexpr |
Перечень известных имён процессов — для валидации в ledger2::apply.
Имя нитки называет контракт-инициатор при вызове apply, поэтому опечатка в имени иначе ушла бы в историю молча и процесс остался бы без названия на столе бухгалтера. Порядок записей не важен (линейный поиск).
Каждое добавленное сюда имя обязано иметь человеческое название в реестре процессов cooptypes/src/ledger2/processes.ts — иначе интерфейс покажет технический код вместо названия.