Files
mono/components/cooptypes
coopops 90f3a892a6
Typecheck / desktop (pull_request) Has been cancelled
Typecheck / controller (pull_request) Has been cancelled
feat(controller): backend выхода пайщика из кооператива (генерация 200/201 + подача + предрасчёт)
- PaymentTypeEnum.MEMBERSHIP_EXIT (исходящий) + лейблы;
- document-DTO заявления (200) и решения совета (201) — зеркало join-документов;
- ParticipantInteractor.generateMembershipExit{Application,Decision} (registry 200/201);
- AccountBlockchainPort/adapter.exitCoop — push registrator::exitcoop с подписанным
  заявлением (прямой transact кооперативным ключом, как reguser);
- модуль membership-exit: resolver+service с мутациями
  generateMembershipExitApplication / generateMembershipExitDecision /
  createMembershipExit и query membershipExitReturnPreview (сумма возврата по
  L3-балансам w.wal.share + w.reg.minshr; итог фиксирует контракт на confirmexit);
  self-service для пайщика + операторские роли (chairman/member);
- cooptypes Ledger2.SHARE_WALLET_NAME / MIN_SHARE_WALLET_NAME — именованные
  константы кошельков вместо магических строк.

tsc --noEmit контроллера — чисто. Codegen Zeus-клиента — отдельным коммитом.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:30:01 +00:00
..
2024-07-10 10:12:56 +05:00
2024-07-10 10:12:56 +05:00
2024-07-10 10:12:56 +05:00
2024-07-10 10:12:56 +05:00
2026-04-10 21:35:09 +05:00
2024-07-12 16:48:50 +05:00
2025-03-27 18:13:33 +05:00
2024-07-10 10:12:56 +05:00
2026-04-10 21:35:09 +05:00
2024-07-10 10:12:56 +05:00
2026-06-09 18:41:34 +00:00
2024-07-10 10:12:56 +05:00

🧩 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

Лицензия

BY-NC-SA 4.0