Preview for ГЕНЕРАТОР/БЛАГОРОСТ params no longer requires a manual button click on first visit — onMounted now calls ensurePreview for the active wizard step. Also fixes wizardStepOrder typing (was narrower than the runtime string values it holds). Restores <h3> centered section-title markup in registry templates 994/995/996/998/999/1000 that was lost during the "parameterize CPP templates via private data" refactor, when translations+context i18n structure was flattened into raw HTML.
🧩 cooptypes
Общие TypeScript типы и интерфейсы для всей экосистемы «Цифровой Кооператив»
Описание
Модуль cooptypes — центральная библиотека типов, обеспечивающая единый типизированный контракт между всеми компонентами экосистемы COOPENOMICS. Содержит описания действий, таблиц и интерфейсов каждого смарт-контракта блокчейна, модели данных кооператива, реестр шаблонов документов и пользовательские интерфейсы.
Используется как зависимость в компонентах controller, parser, desktop, sdk, factory и boot.
Возможности
- Типы контрактов — полное описание действий (
Actions) и таблиц (Tables) для каждого смарт-контракта:SovietContract,RegistratorContract,DraftContract,TokenContract,CapitalContract,WalletContract,GatewayContract,FundContract,LedgerContract,MarketContract,MeetContract,BranchContractи др. - Модели кооператива — структуры данных для пользователей (
Cooperative.Users) и реестра документов (Cooperative.Registry) - Интерфейсы — типизированные интерфейсы для всех доменов:
Soviet,Capital,Registrator,Wallet,Gateway,Fund,Draft,Meet,Marketplace,Branch,Ledger,Loan,Token,System - Реестр шаблонов — шаблоны юридических документов с markdown-разметкой
Установка
pnpm install --filter cooptypes
Скрипты
| Скрипт | Описание |
|---|---|
pnpm run build |
Сборка библиотеки (unbuild) |
pnpm run dev |
Режим разработки с автоматической пересборкой (nodemon) |
pnpm run test |
Запуск тестов (vitest) |
pnpm run lint |
Проверка кода (ESLint) |
pnpm run typecheck |
Проверка типов TypeScript (tsc --noEmit) |
pnpm run docs |
Генерация документации (TypeDoc) |
Все скрипты запускаются из корня монорепозитория через фильтр:
pnpm --filter cooptypes run <скрипт>
Архитектура
src/
├── contracts/ # Типы смарт-контрактов блокчейна
│ ├── soviet/ # Совет кооператива
│ ├── registrator/ # Регистрация аккаунтов
│ ├── capital/ # Паевые взносы
│ ├── wallet/ # Финансовые операции
│ ├── gateway/ # Платёжный шлюз
│ ├── draft/ # Шаблоны документов
│ ├── fund/ # Фонды кооператива
│ ├── ledger/ # Бухгалтерский учёт
│ ├── marketplace/ # Маркетплейс
│ ├── meet/ # Собрания пайщиков
│ ├── branch/ # Кооперативные участки
│ ├── token/ # Системные токены
│ ├── system/ # Системный контракт
│ ├── msig/ # Мультиподписи
│ ├── wrap/ # Привилегированные действия
│ └── index.ts # Реэкспорт всех контрактов
├── cooperative/ # Модели данных кооператива
│ ├── users/ # Типы пользователей
│ ├── registry/ # Реестр шаблонов документов
│ └── index.ts
├── interfaces/ # Типизированные интерфейсы по доменам
│ ├── soviet.ts
│ ├── capital.ts
│ ├── registrator.ts
│ ├── wallet.ts
│ ├── gateway.ts
│ ├── fund.ts
│ ├── draft.ts
│ ├── meet.ts
│ ├── marketplace.ts
│ ├── branch.ts
│ ├── ledger.ts
│ ├── loan.ts
│ ├── token.ts
│ ├── system.ts
│ └── index.ts
└── index.ts # Главная точка входа
Каждый контракт экспортирует: contractName (имя аккаунта контракта), Actions (действия с интерфейсами и авторизацией), Tables (таблицы с интерфейсами и scope).
Конфигурация
Дополнительная конфигурация не требуется. Модуль является чистой библиотекой типов без внешних зависимостей на рантайм-сервисы.
Тестирование
pnpm --filter cooptypes run test