coopops 07f35ea084 feat(loan): централизация учёта займов — capital вызывает loan через inline action
Ревью PR#402 (debtpaycnfrm:23): учёт займов должен быть централизован в одном контракте,
как Gateway для платежей. Существующий контракт loan/ уже задеплоен и в whitelist,
но capital его не вызывал — теперь вызывает.

loan-контракт:
— table_loan_debts: добавлено поле project_hash (binary_extension<checksum256> —
  таблица уже в продакшене, расширение схемы только хвостом) + индекс byuserproj
— Loan::create_debt: новая сигнатура с project_hash; createdebt сохраняет привязку к проекту
— Loan::count_user_project_debts: хелпер для лимита займов на проект в паевом взносе

capital:
— debtpaycnfrm: после confirm_paid дублирует запись в loan.debts через inline
  Loan::create_debt (с due_at из обновлённой capital-записи и project_hash)
— settledebt: дополнительно зовёт inline Loan::settle_debt; принимает также OVERDUE
  (не только PAID) — погашение просроченного через председателя
— signact2 (паевой взнос): собирает все PAID/OVERDUE займы пайщика на проекте
  из capital.debts, проверяет лимит 10 (transaction limit EOSIO), на каждый —
  inline Loan::settle_debt + capital.Debts::mark_settled. Никакого «боевого взноса» —
  только паевой по интеллектуальному результату

Boot/deploy не требует правок: loan/ уже в configs/contracts.ts и configs/index.ts,
аккаунт loan создаётся, контракт деплоится. capital уже в contracts_whitelist в lib/consts.

Тесты: добавлен describe «A2 — Централизованный учёт займов» с 6 it.todo
по новым сценариям (createdebt в loan, settle через capital, лимит 10, whitelist).

Полный перенос таблицы debts из capital в loan (с удалением capital.debts) —
отдельная Story 1.12, оставлена на следующую итерацию: текущий PR сохраняет
параллельный учёт в обеих таблицах для безопасной миграции прода.
2026-05-19 08:16:15 +00:00
2026-04-11 00:44:16 +05:00
2026-01-20 21:23:02 +05:00
2026-04-04 00:13:22 +05:00
2024-07-11 15:33:17 +05:00
2026-05-04 11:23:58 +00:00
2026-01-21 21:49:35 +05:00
2026-03-29 17:50:44 +05:00
2026-04-04 00:13:22 +05:00
2025-10-14 22:06:23 +05:00
2025-07-03 18:03:31 +05:00
2026-02-28 12:57:15 +05:00

Цифровой Кооператив

License Node pnpm

Платформа «Цифровой Кооператив» — комплексное программное обеспечение для управления кооперативными организациями на основе блокчейна EOSIO. Система обеспечивает полный цикл управления кооперативом: от регистрации пайщиков и электронного документооборота до проведения собраний и финансового учёта. Построена на принципах прозрачности, децентрализации и простой электронной подписи.

Проект является частью экосистемы Кооперативная Экономика.

Архитектура

Компонент Пакет Описание
boot @coopenomics/boot CLI для инициализации и управления блокчейн-инфраструктурой
cleos @coopenomics/cleos Утилита командной строки для работы с блокчейн-кошельком
contracts @coopenomics/contracts Смарт-контракты EOSIO на C++
controller @coopenomics/controller GraphQL API сервер (NestJS)
cooptypes cooptypes Общие типы и интерфейсы блокчейн-контрактов
desktop @coopenomics/desktop Рабочий стол кооператива (Vue 3 + Quasar)
factory @coopenomics/factory Генератор юридических документов
migrator migrator Утилита миграции данных
notifications @coopenomics/notifications Библиотека уведомлений на основе Novu
parser @coopenomics/parser Индексатор блокчейна через State History Plugin
sdk @coopenomics/sdk TypeScript SDK для GraphQL API
setup @coopenomics/setup Мастер первоначальной настройки

Быстрый старт

Предварительные требования

  • Node.js >= 20
  • pnpm 9
  • Docker и Docker Compose
  • WeasyPrint (для генерации PDF)

Установка

pnpm install

Конфигурация

pnpm run setup

Интерактивный мастер создаст необходимые .env файлы для всех компонентов.

Запуск инфраструктуры

docker compose up -d
pnpm run reboot

Разработка

Бэкенд (controller + parser)

pnpm run dev:backend

Фронтенд (desktop)

pnpm run dev:desktop

Библиотеки (factory + cooptypes)

pnpm run dev:lib

Все сервисы одновременно

pnpm run dev:all

Примечание: установка пакетов производится только через фильтр: pnpm add <пакет> --filter <компонент>

Тестирование

# Все тесты
pnpm run test

# Юнит-тесты (cooptypes, parser, notifications)
pnpm run test:unit

# Компонентные тесты (factory)
pnpm run test:component

# Интеграционные тесты (boot + blockchain)
pnpm run test:integration

Сборка

# Библиотеки (cooptypes, factory)
pnpm run build:lib

# Смарт-контракты
pnpm run build:contracts:all

# Desktop (SSR)
pnpm --filter @coopenomics/desktop run build

Лицензия

Продукт Потребительского Кооператива «ВОСХОД» распространяется по лицензии BY-NC-SA 4.0.

Разрешено делиться, копировать и распространять материал, адаптировать и создавать производные произведения при условии указания авторства и сохранения той же лицензии. Коммерческое использование запрещено.

S
Description
No description provided
Readme 1 GiB
Languages
TypeScript 62.6%
Vue 15.1%
C++ 13.4%
Python 4.9%
JavaScript 2.2%
Other 1.6%