COOPENOMICS  v1
Кооперативная Экономика
Фондирование членских взносов на программу

Кооператив может направлять накопленные членские взносы на распределение между всеми вкладчиками программы "Капитализация" в целях обеспечения возвратов их вкладов. Источником для регистрации входящих членских взносов является кошелек накопленных членских взносов кооператива.

Процесс использует механизм CRPS - обновляет кумулятивный показатель на уровне программы без одновременного пересчета персональных кошельков вкладчиков. Расчёты долей по каждому вкладчику запрашиваются отдельно по процессу обновления кошелька программы.

Заметки
CRPS помогает обойти ограничения блокчейна на количество одновременных математических вычислений, которые должны быть выполнены при приёме блока в цепочку каждым делегатом. Алгоритм позволяет динамично распределять общий пул среди вкладчиков независимо друг от друга и производя вычисления только для одного вкладчика за раз. Подробнее о алгоритме здесь: Алгоритм CRPS.

Формула обновления кумулятивного показателя:

reward_per_share_delta = новый_взнос / общее_количество_долей
cumulative_reward_per_share += reward_per_share_delta

Диаграмма процесса

sequenceDiagram participant K as Кооператив participant C as Capital Contract K->>C: fundprog(coopname, amount, memo) Note over C: Валидация суммы Note over C: Обновление показателя CRPS Note over C: Средства готовы к распределению

Пошаговое описание

Шаг 1: Регистрация членских взносов программы

Регистрация входящих членских взносов по программе

Кооператив направляет накопленные членские взносы на распределение между вкладчиками программы капитализации. Для этого требуется вызов от авторизованного контракта (soviet/gateway) с указанием кооператива, суммы взноса и мемо. Метод валидирует сумму и обновляет кумулятивный показатель CRPS. После регистрации взноса вкладчики могут самостоятельно обновить свои начисления через процесс обновления кошелька программы. Или, кооператив может обновить эту информацию за них, но по одному.

Постусловие
Обновление показателя CRPS для программы капитализации

Эффекты процесса

➖🏛️ Ledger::sub со счёта Ledger::accounts::TARGET_RECEIPTS на сумму фондирования

Связанные процессы