effects, documents and processes
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
---
|
||||
trigger: manual
|
||||
---
|
||||
Мне нужно, чтобы ты организовал следующий принцип доступа к файлами документации:
|
||||
|
||||
1. У каждого эффекта должен быть файл процесса, на который он ссылается.
|
||||
2. У каждого эффекта должен быть свой файл, который лежит рядом с файлом процесса (в той же директории) и называется вот так <name>-effect.dox
|
||||
3. Каждый файл эффекта должен содержать информацию о движении средств по кошелькам пользователя или кооператива типа такого (БЕЗ СПЕЦИАЛЬНОЙ DOXYGEN РАЗМЕТКИ!!!):
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::SHARE_FUND на сумму паевого взноса за вычетом ссуды\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму паевого взноса за вычетом ссуды\n
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::LONG_TERM_LOANS на сумму погашаемой ссуды\n
|
||||
🫳 Loan::settle_debt на сумму погашаемой ссуды
|
||||
4. Все файлы эффектов должны собираться в единый файл для обзора, который находится в docs/effects-traces.dox вот так:
|
||||
/**
|
||||
* @defgroup deltas_overview Эффекты по процессам
|
||||
* @ingroup public_capital
|
||||
|
||||
@ref public_capital_result_process
|
||||
@include{doc} public_capital_result_process-effect.dox
|
||||
|
||||
4. Все файлы процессов должны включать в конце, но перед информацией о связанных процессах, файл с эффектом:
|
||||
# Эффекты процесса
|
||||
@include{doc} public_capital_result_process-effect.dox
|
||||
|
||||
5. Все пути могут быть без префиксов и директорий и определяться просто уникальным именем файла.
|
||||
|
||||
...
|
||||
*/
|
||||
@@ -10,3 +10,4 @@ trigger: manual
|
||||
- 📄 принятое председателем заявление
|
||||
- 💰➕🔒 добавление заблокированных средств в кошелек проекта
|
||||
- 🏛️➕✅ добавление доступных средств на счет паевого фонда
|
||||
|
||||
|
||||
@@ -953,21 +953,21 @@ EXCLUDE_SYMBOLS =
|
||||
# that contain example code fragments that are included (see the \include
|
||||
# command).
|
||||
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATH = .
|
||||
|
||||
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
|
||||
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
|
||||
# *.h) to filter out the source-files in the directories. If left blank all
|
||||
# files are included.
|
||||
|
||||
EXAMPLE_PATTERNS = *
|
||||
EXAMPLE_PATTERNS = *.dox
|
||||
|
||||
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
|
||||
# searched for input files to be used with the \include or \dontinclude commands
|
||||
# irrespective of the value of the RECURSIVE tag.
|
||||
# The default value is: NO.
|
||||
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
EXAMPLE_RECURSIVE = YES
|
||||
|
||||
# The IMAGE_PATH tag can be used to specify one or more files or directories
|
||||
# that contain images that are to be included in the documentation (see the
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
|
||||
* @defgroup public_capital_debt_process Выдача ссуд
|
||||
* @defgroup public_capital_debt_process Выдача ссуды
|
||||
* @ingroup public_capital_processes
|
||||
*
|
||||
* Процесс выдачи беспроцентных ссуд Вкладчикам проекта на основании их трудовых
|
||||
@@ -109,7 +109,7 @@
|
||||
* - statement - заявление на получение ссуды
|
||||
*
|
||||
* @post Результат выполнения:
|
||||
* - Создаётся заявление в таблице Capital::debts
|
||||
* - 📄 Создаётся заявление в таблице Capital::debts
|
||||
* - Резервируется сумма долга в сегменте Вкладчика, что не позволяет повторно отправлять заявления
|
||||
*
|
||||
* ### Шаг 2: Одобрение заявки председателем
|
||||
@@ -117,10 +117,10 @@
|
||||
* Председатель или доверенное им лицо принимает предварительное решение через действие @ref capital::approvedebt.
|
||||
*
|
||||
* @pre Предварительные условия:
|
||||
* - Заявление создано и ожидает рассмотрения
|
||||
* - 📄 Заявление создано и ожидает рассмотрения
|
||||
*
|
||||
* @post Результат выполнения:
|
||||
* - При одобрении заявление передаётся в совет для получения протокола решения
|
||||
* - 📄 При одобрении заявление передаётся в совет для получения протокола решения
|
||||
* - При отклонении заявка закрывается с указанием причин
|
||||
*
|
||||
* @note Председатель оценивает обоснованность запроса, проверяет финансовое состояние проекта
|
||||
@@ -131,7 +131,7 @@
|
||||
* Совет принимает решение о выдаче ссуды через действие @ref capital::debtauthcnfr.
|
||||
*
|
||||
* @pre Предварительные условия:
|
||||
* - Заявление одобрено председателем
|
||||
* - 📄 Заявление одобрено председателем
|
||||
*
|
||||
* @post Результат выполнения:
|
||||
* - При положительном решении инициируется исходящий платёж через контракт @ref public_gateway "Шлюза"
|
||||
@@ -145,16 +145,15 @@
|
||||
* Контракт @ref public_gateway "Шлюза" подтверждает успешное перечисление средств Вкладчику через действие @ref capital::debtpaycnfrm.
|
||||
*
|
||||
* @pre Предварительные условия:
|
||||
* - Совет авторизовал выдачу ссуды
|
||||
* - 📄 Совет авторизовал выдачу ссуды
|
||||
* - Gateway инициировал платёж
|
||||
|
||||
* @post Результат выполнения:
|
||||
* - Фиксируется факт получения средств Вкладчиком
|
||||
* - 📄 Фиксируется факт получения средств Вкладчиком
|
||||
* - Создаётся запись в контракте @ref public_loan "Ссуд"
|
||||
* - Увеличивается общий долг Вкладчика в системе
|
||||
* - Вкладчик получает средства на свой банковский счёт
|
||||
* - TODO: Проводка по какому счёту тут должна быть???
|
||||
|
||||
*
|
||||
* @note Создание записи о долге в контракте loan фиксирует обязательство Вкладчика
|
||||
* по возврату полученных средств, информация о котором доступна в том числе и в других контрактах.
|
||||
*
|
||||
@@ -225,9 +224,17 @@
|
||||
* @note Чем больше ссуда, тем меньше средств остаётся для конвертации в главный кошелёкёк, кошелёк проект или кошелёк программы.
|
||||
* Премиальная часть не затрагивается и полностью доступна для конвертации в программу капитализации или для конвертации в кошелёк проекта.
|
||||
*
|
||||
*
|
||||
## Эффекты процесса
|
||||
@include{doc} debtpaycnfrm-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} debt-process-docs.dox
|
||||
*
|
||||
* ## Связанные процессы
|
||||
*
|
||||
* - @ref public_capital_project_investment_process "Инвестиции в проект" - инвестиции обеспечивают ссуды
|
||||
* - @ref public_capital_result_process "Приём результата" - ссуды погашаются при внесении результата
|
||||
* - @ref public_capital_conversion_process "Конвертация взносов" - учитывает выданные и погашенные ссуды
|
||||
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
- 📄 Заявление на получение ссуды
|
||||
- 📄 Визирующая подпись председателя на заявл. на заявлении
|
||||
- 📄 Протокол решения совета о выдаче ссуды
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::LONG_TERM_LOANS на сумму выданной ссуды\n
|
||||
🫴 Loan::create_debt на сумму выданной ссуды
|
||||
@@ -1,13 +1,8 @@
|
||||
/**
|
||||
* @brief Подтверждает оплату долга
|
||||
* Подтверждает оплату долга и создает объект долга в контракте loan:
|
||||
* - Получает долг
|
||||
* - Обновляет статус долга на paid
|
||||
* - Создает объект долга в контракте loan
|
||||
* - Увеличивает долг contributor
|
||||
* - Удаляет долг после подтверждения оплаты
|
||||
* @brief Подтверждает оплату выданной ссуды.
|
||||
* Подтверждает оплату выданной ссуды и создает объект в контракте loan:
|
||||
* @param coopname Наименование кооператива
|
||||
* @param debt_hash Хеш долга для подтверждения оплаты
|
||||
* @param debt_hash Хеш-идентификатор ссуды для подтверждения оплаты
|
||||
* @ingroup public_actions
|
||||
* @ingroup public_capital_actions
|
||||
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::TARGET_RECEIPTS на сумму фондирования
|
||||
+5
-2
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
|
||||
* @defgroup public_capital_fundprog_process Регистрация членских взносов по программе
|
||||
* @defgroup public_capital_fundprog_process Фондирование членских взносов на программу
|
||||
* @ingroup public_capital_processes
|
||||
*
|
||||
* Кооператив может направлять накопленные членские взносы на распределение между всеми вкладчиками программы "Капитализация" в целях обеспечения возвратов их вкладов.
|
||||
@@ -45,7 +45,10 @@
|
||||
*
|
||||
* @post Обновление показателя CRPS для программы капитализации
|
||||
*
|
||||
* ## Связанные процессы
|
||||
* ## Эффекты процесса
|
||||
@include{doc} fundprog-effect.dox
|
||||
|
||||
## Связанные процессы
|
||||
* - @ref public_capital_refresh_program_process "Обновление кошелька программы"
|
||||
* - @ref public_capital_withdraw_from_program_process "Возврат паевого взноса из программы"
|
||||
*/
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _capital_program на сумму возврата\n
|
||||
➕🔓 Wallet::add_available_funds на кошельке @ref _wallet_program на сумму возврата
|
||||
+3
@@ -89,6 +89,9 @@ sequenceDiagram
|
||||
- Сумма возвращается в кошелек вкладчика в программе капитализации
|
||||
- Заявление удаляется из системы
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} createwthd3-effect.dox
|
||||
|
||||
## Связанные процессы
|
||||
|
||||
- @ref public_capital_fundprog_process "Регистрация членских взносов в программу"
|
||||
|
||||
+4
-1
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
|
||||
@defgroup public_capital_fundproj_process Регистрация членских взносов по проекту
|
||||
@defgroup public_capital_fundproj_process Фондирование членских взносов на проект
|
||||
@ingroup public_capital_processes
|
||||
|
||||
Кооператив может направлять накопленные членские взносы на распределение между всеми вкладчиками конкретного проекта.
|
||||
@@ -52,6 +52,9 @@ sequenceDiagram
|
||||
@post Средства становятся доступны для распределения между вкладчиками проекта
|
||||
@post Обеспечение формируется для последующего возврата паевых взносов вкладчиков
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} fundproj-effect.dox
|
||||
|
||||
## Связанные процессы
|
||||
- @ref public_capital_refresh_project_process "Обновление кошелька проекта"
|
||||
- @ref public_capital_withdraw_from_project_process "Возврат средств из кошелька проекта"
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::TARGET_RECEIPTS на сумму фондирования
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _capital_program на сумму возврата\n
|
||||
➕🔓 Wallet::add_available_funds на кошельке @ref _wallet_program на сумму возврата
|
||||
+3
@@ -89,6 +89,9 @@ sequenceDiagram
|
||||
- Сумма возвращается в кошелек вкладчика в проекте
|
||||
- Заявление удаляется из системы
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} createwthd2-effect.dox
|
||||
|
||||
## Связанные процессы
|
||||
|
||||
- @ref public_capital_fundproj_process "Регистрация членских взносов в проект"
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
- 📄 Служебная записка
|
||||
- 📄 Протокол решения совета по списанию расходов (?)
|
||||
+6
@@ -111,6 +111,12 @@ sequenceDiagram
|
||||
@post Сумма использованных средств проекта обновлена
|
||||
@post Запись расхода удалена из системы
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} exppaycnfrm-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} create-expense-docs.dox
|
||||
|
||||
## Связанные процессы
|
||||
|
||||
- @ref public_capital_fundproj_process "Регистрация членских взносов в проект"
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::ECONOMIC_ACTIVITY_FUND на сумму расхода\n
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
🔒 Wallet::block_funds на кошельке @ref _wallet_program на сумму инвестиций\n
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _capital_program на сумму инвестиций\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _capital_program на сумму инвестиций\n
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
- 📄 Заявление на конвертацию из главного кошелька в кошелек программы "Капитализация"
|
||||
- 📄 Визирующая подпись председателя на заявл. на конвертацию
|
||||
+8
@@ -78,8 +78,16 @@
|
||||
* @post разблокировка средств инвестора в главном кошельке
|
||||
*
|
||||
* <b>Результат:</b> Средства возвращаются инвестору
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} createpinv-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} program-investment-docs.dox
|
||||
|
||||
*
|
||||
* ## Связанные процессы
|
||||
*
|
||||
* - @ref public_capital_project_investment_process "Инвестиции в проект" - альтернативный способ финансирования
|
||||
|
||||
*/
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
🔒 Wallet::block_funds на кошельке @ref _wallet_program на сумму инвестиций\n
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _wallet_program на сумму инвестиций\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму инвестиций\n
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
- 📄 Заявление на конвертацию из главного кошелька в кошелек договора УХД
|
||||
- 📄 Визирующая подпись председателя на заявл. на конвертацию
|
||||
+8
@@ -116,10 +116,18 @@
|
||||
* @post увеличение суммы возвращенных инвестиций проекта
|
||||
* @post корректировка фактически использованной суммы инвестиций
|
||||
*
|
||||
## Эффекты процесса
|
||||
@include{doc} createinvest-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} project-investment-docs.dox
|
||||
*
|
||||
*
|
||||
* ## Связанные процессы
|
||||
*
|
||||
* - @ref public_capital_planning_process "Планирование проекта" - план определяет потребность в инвестициях
|
||||
* - @ref public_capital_debt_process "Управление ссудами" - инвестиции обеспечивают ссуды
|
||||
* - @ref public_capital_unused_return_process "Возврат неиспользованных средств" - возврат неиспользованной части
|
||||
* - @ref public_capital_result_process "Приём результата" - инвестиции участвуют в капитализации
|
||||
|
||||
*/
|
||||
+1
@@ -0,0 +1 @@
|
||||
- 📄 Заявление на конвертацию неиспользуемых инвестиций со счёта кошелька договора УХД в главный кошелёк
|
||||
+6
-1
@@ -2,7 +2,7 @@
|
||||
|
||||
* @defgroup public_capital_unused_return_process Возврат неиспользованных инвестиций
|
||||
* @ingroup public_capital_processes
|
||||
*
|
||||
|
||||
* Процесс возврата инвесторам неиспользованной части их инвестиций после
|
||||
* завершения проекта. Обеспечивает справедливое распределение средств
|
||||
* на основе фактического использования инвестиций.
|
||||
@@ -78,10 +78,15 @@
|
||||
* @post Пересчёт общей стоимости сегмента с учётом скорректированной инвестиции
|
||||
*
|
||||
* <b>Результат:</b> Неиспользованные средства возвращены инвестору
|
||||
|
||||
*
|
||||
## Документы процесса
|
||||
@include{doc} unused-return-docs.dox
|
||||
*
|
||||
* ## Связанные процессы
|
||||
*
|
||||
* - @ref public_capital_project_investment_process "Инвестиции в проект" - исходные инвестиции
|
||||
* - @ref public_capital_result_process "Приём результата" - завершение перед возвратом
|
||||
* - @ref public_capital_conversion_process "Конвертация взносов" - использует скорректированные суммы
|
||||
|
||||
*/
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
- 📄 Приложение к договору УХД по проекту
|
||||
- 📄 Визирующая подпись председателя на приложении к договору УХД
|
||||
+3
@@ -56,4 +56,7 @@
|
||||
|
||||
@post вкладчик не получает доступ к участию в проекте
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} joining-process-docs.dox
|
||||
|
||||
*/
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
- 📄 Договор УХД
|
||||
- 📄 Визирующая подпись председателя на договоре УХД
|
||||
+5
-1
@@ -2,7 +2,7 @@
|
||||
|
||||
@defgroup public_capital_registration_process Регистрация вкладчиков
|
||||
@ingroup public_capital_processes
|
||||
|
||||
|
||||
Процесс приёма договора УХД от пайщика, смены его статуса с кандидата в вкладчики на активного вкладчика
|
||||
и обеспечения технической возможности участвовать в проектах и программе капитализации.
|
||||
|
||||
@@ -81,8 +81,12 @@
|
||||
3. Создана правовая основа для участия в проектах через договор УХД
|
||||
4. Открыт программный кошелек для операций по проектам
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} registration-docs.dox
|
||||
|
||||
## Связанные процессы
|
||||
|
||||
- @ref public_capital_joining_process "Получение допуска к проекту"
|
||||
|
||||
|
||||
*/
|
||||
+1
@@ -0,0 +1 @@
|
||||
- 📄 Шаблонизированная часть приложения к договору УХД образуется предметом проекта, которая устанавливается при создании проекта
|
||||
+3
-1
@@ -2,7 +2,6 @@
|
||||
|
||||
@defgroup public_capital_project_creation_process Создать проект
|
||||
@ingroup public_capital_processes
|
||||
|
||||
@pre Идея проекта прошла отбор в банке идей и готова к планированию
|
||||
|
||||
Процесс создания нового проекта в системе кооператива для последующей
|
||||
@@ -43,4 +42,7 @@
|
||||
@post статус проекта устанавливается в CREATED
|
||||
@post проект готов к переходу в фазу планирования
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} project-creation-docs.dox
|
||||
|
||||
*/
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::SHARE_FUND на сумму паевого взноса\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _capital_program на сумму паевого взноса\n
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
- 📄 Заявление на паевой взнос имуществом по программе "Капитализация"
|
||||
- 📄 Визирующая подпись председателя на заявл. на паевой взнос имуществом
|
||||
- 📄 Протокол решения совета о приёме имущества по программе "Капитализация"
|
||||
- 📄 Подпись акта приёма-передачи имущества от собственника
|
||||
- 📄 Подпись акта приёма-передачи имущества от председателя
|
||||
+9
@@ -121,6 +121,14 @@
|
||||
* - Указывается причина отказа
|
||||
* - Заявка удаляется из системы
|
||||
* - Возможна повторная подача с учётом замечаний
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} act2pgprp-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} program-property-docs.dox
|
||||
|
||||
|
||||
*
|
||||
* ## Связанные процессы
|
||||
*
|
||||
@@ -128,4 +136,5 @@
|
||||
* - @ref public_capital_project_property_process "Имущественные взносы в проект" - альтернативное направление
|
||||
* - @ref public_capital_membership_process "Распределение членских взносов" - получение доходов
|
||||
* - @ref public_capital_conversion_process "Конвертация взносов" - имущественные взносы направляются в программу
|
||||
|
||||
*/
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
- 📄 Предложение имущества на внесение по приложению к договору УХД
|
||||
- 📄 Визирующая подпись председателя на предложении
|
||||
|
||||
@note В этом процессе используется "предложение имущества" вместо заявления т.к. фактически имущество по заявлению будет вноситься по завершению проекта вместе с результатом.
|
||||
В этом процессе мы только принимаем решение, а будем ли мы принимать имущество в будущем, когда проект будет завершен.
|
||||
В целом, вероятно, здесь можно обойтись вообще без документов. Но с точки зрения практики, наверняка собственникам захочется
|
||||
какого-либо подтверждения, что имуществом будет принято, если результат проекта будет выполнен.
|
||||
И второе, хорошо бы не ломать "одно окно" председателя по работе со взносами.
|
||||
А для этого нужен документ и подпись о приёме - как стандартный бизнес процесс. Если никакой документ тут нормально не подложить, то процесс "одного окна" придется, вероятно, поламать.
|
||||
+6
-1
@@ -91,6 +91,10 @@
|
||||
* ## Особенности имущественных взносов в проект
|
||||
*
|
||||
* @note Имущественные взносы в проект фактически передаются в кооператив на стадии приёма результата проекта. После одобрения предложения собственник должен передать имущество вместе с другими участниками проекта на стадии генерации, когда проект формирует готовый результат. В этот момент подписывается акт приёма-передачи, и имущество формально вносится в проект наравне с другими вкладами.
|
||||
*
|
||||
## Документы процесса
|
||||
@include{doc} project-property-docs.dox
|
||||
*
|
||||
*
|
||||
* ## Связанные процессы
|
||||
*
|
||||
@@ -99,4 +103,5 @@
|
||||
* - @ref public_capital_result_process "Приём результата" - имущественные взносы участвуют в капитализации
|
||||
* - @ref public_capital_conversion_process "Конвертация взносов" - особые правила для имущественных взносов
|
||||
* - @ref public_capital_program_property_process "Имущественные взносы в программу" - альтернативное направление
|
||||
*/
|
||||
|
||||
*/
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
- 📄 Заявление на конвертацию из кошелька приложения к договору УХД (договора УХД) в:
|
||||
- главный кошелёк (ЦПП "Цифровой Кошелёк")
|
||||
- кошелёк проекта (другое или то же приложение к договору УХД)
|
||||
- кошелёк программы (ЦПП "Капитализация")
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _source_program на сумму паевого взноса за вычетом суммы конвертации в кошелёк проекта\n
|
||||
➕🔓 Wallet::add_available_funds на кошельке @ref _wallet_program на сумму конвертации в главный кошелёк\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму конвертации в кошелёк программы\n
|
||||
+3
-10
@@ -95,21 +95,18 @@ void capital::convertsegm(eosio::name coopname, eosio::name username,
|
||||
eosio::check(total_convert == total_segment_available,
|
||||
"Общая сумма конвертации должна равняться общей стоимости сегмента (total_segment_cost)");
|
||||
|
||||
|
||||
Wallet::sub_blocked_funds(_capital, coopname, username, total_convert - project_amount, _source_program,
|
||||
Capital::Memo::get_convert_segment_to_wallet_memo(convert_hash));
|
||||
|
||||
// Выполняем операции с балансами
|
||||
if (wallet_amount.amount > 0) {
|
||||
// Конвертация в кошелек
|
||||
|
||||
Wallet::sub_blocked_funds(_capital, coopname, username, wallet_amount, _source_program,
|
||||
Capital::Memo::get_convert_segment_to_wallet_memo(convert_hash));
|
||||
Wallet::add_available_funds(_capital, coopname, username, wallet_amount, _wallet_program,
|
||||
Capital::Memo::get_convert_segment_to_wallet_memo(convert_hash));
|
||||
}
|
||||
|
||||
if (capital_amount.amount > 0) {
|
||||
// Конвертация в капитал
|
||||
Wallet::sub_blocked_funds(_capital, coopname, username, capital_amount, _source_program,
|
||||
Capital::Memo::get_convert_segment_to_capital_memo(convert_hash));
|
||||
Wallet::add_blocked_funds(_capital, coopname, username, capital_amount, _capital_program,
|
||||
Capital::Memo::get_convert_segment_to_capital_memo(convert_hash));
|
||||
}
|
||||
@@ -130,10 +127,6 @@ void capital::convertsegm(eosio::name coopname, eosio::name username,
|
||||
eosio::check(target_project.can_convert_to_project,
|
||||
"Конвертация в кошелек проекта запрещена для данного проекта");
|
||||
|
||||
// Конвертация в кошелек проекта - создаем или обновляем кошелек проекта
|
||||
Wallet::sub_blocked_funds(_capital, coopname, username, project_amount, _source_program,
|
||||
Capital::Memo::get_convert_segment_to_project_wallet_memo(convert_hash));
|
||||
|
||||
// Создаем или обновляем кошелек целевого проекта с долями участника
|
||||
Capital::upsert_project_wallet(coopname, target_project_hash, username, project_amount);
|
||||
|
||||
|
||||
+6
@@ -90,6 +90,12 @@
|
||||
Требует разрешения проекта на конвертацию.
|
||||
При наличии родительского проекта конвертация будет происходить в его кошелёк.
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} convertsegm-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} conversion-process-docs.dox
|
||||
|
||||
## Ограничения конвертации
|
||||
|
||||
- <b>В главный кошелёкёк:</b> только себестоимость создателей, авторов и координаторов минус погашенный долг, не больше обеспеченной суммы
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
- 📄 Заявление на внесение паевого взноса с опциональным погашением ссуды (если брал)
|
||||
- 📄 Заявление на взнос доли в результате интеллектуальной деятельности
|
||||
- 📄 Визирующая подпись председателя на заявл. на паевой взнос результатом
|
||||
- 📄 Решение совета о приёме паевого взноса результатом
|
||||
- 📄 Подписаный акт приёма-передачи от вкладчика
|
||||
- 📄 Подписаный акт приёма-передачи от председателя
|
||||
@note здесь при взносе результата собственники имущества должны одновременно внести своё имущество
|
||||
+7
@@ -176,4 +176,11 @@
|
||||
* 2. Погашена ссуда вкладчика
|
||||
* 3. Сегмент готов к конвертации в различные кошельки кооператива
|
||||
*
|
||||
|
||||
## Эффекты процесса
|
||||
@include{doc} signact2-effect.dox
|
||||
|
||||
## Документы процесса
|
||||
@include{doc} result-submission-docs.dox
|
||||
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::SHARE_FUND на сумму паевого взноса за вычетом ссуды\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму паевого взноса за вычетом ссуды\n
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::LONG_TERM_LOANS на сумму погашаемой ссуды\n
|
||||
🫳 Loan::settle_debt на сумму погашаемой ссуды
|
||||
@@ -33,10 +33,20 @@ void capital::signact2(eosio::name coopname, eosio::name username, checksum256 r
|
||||
// Проверяем документ
|
||||
verify_document_or_fail(act, { exist_result->username, username });
|
||||
|
||||
|
||||
// Устанавливаем второй акт
|
||||
Capital::Results::set_result_act2(coopname, result_hash, act);
|
||||
|
||||
// Начисляем заблокированные средства в кошелек программы генерации
|
||||
Wallet::add_blocked_funds(_capital, coopname, result.username, result.total_amount - result.debt_amount, _source_program, memo);
|
||||
|
||||
// Увеличиваем паевой фонд за вычетом ссуммы долга
|
||||
Ledger::add(_capital, coopname, Ledger::accounts::SHARE_FUND, result.total_amount - result.debt_amount, memo);
|
||||
|
||||
// Уменьшаем сумму выданных ссуд кооператива
|
||||
if (result.debt_amount.amount > 0){
|
||||
Ledger::sub(_capital, coopname, Ledger::accounts::LONG_TERM_LOANS, result.debt_amount, memo);
|
||||
}
|
||||
|
||||
//TODO: линковать документ акта
|
||||
|
||||
// Обновляем статус сегмента
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
* - **Главный Кошелёк** - персональный счёт для паевых взносов, доступных к возврату или конвертациям в любой другой кошелёк.
|
||||
* - **Кошелёк Программы** - персональный счёт для хранения паевого взноса, которое допускает участие в программе "Капитализация";
|
||||
* - **Кошелёк Проекта** - персональный счёт для хранения паевого взноса, которое допускает возврат паевого взноса из числа членских взносов по проекту;
|
||||
* - **Кошелёк Договора** - персональный счёт для хранения суммы паевых взносов по всем проектам;
|
||||
* - **Коммит** - фиксация трудозатрат создателя в проекте, формирующая себестоимость
|
||||
* и премии вкладчиков.
|
||||
* - **Голосование по методу Водянова** - Демократический процесс распределения части премий
|
||||
@@ -77,39 +78,17 @@
|
||||
* - **Голосующая сумма** - сумма, которую участник голосования распределяет между другими участниками по методу Водянова
|
||||
*
|
||||
* ## Язык иконок для обозначений
|
||||
* | Символ | Значение |
|
||||
* |:------:|:--------------------------|
|
||||
* | `📄` | **Документ** |
|
||||
* | `💰` | **Кошелек** |
|
||||
* | `🏛️` | **Фонд** |
|
||||
* | `➕` | **Добавление** средств |
|
||||
* | `➖` | **Списание** средств |
|
||||
* | `✅` | Статус: **Доступные** |
|
||||
* | `🔒` | Статус: **Заблокировано** |
|
||||
* | `🔓` | **Разблокирование** |
|
||||
* | `👤` | **Членский взнос** |
|
||||
* | `🤝` | **Взаимозачет** |
|
||||
* | `❌` | **Окончательное списание**|
|
||||
* | `🔀` | **Перевод** между счетами |
|
||||
*
|
||||
* ### Графический язык проводок по Кошельку (Wallet)
|
||||
*
|
||||
* | Метод | Иконки | Описание |
|
||||
* |:-----------------------|:---------------|:--------------------------------------|
|
||||
* | add_available_funds | `💰➕✅` | Добавление доступных средств |
|
||||
* | sub_available_funds | `💰➖✅` | Уменьшение доступных средств |
|
||||
* | add_blocked_funds | `💰➕🔒` | Добавление заблокированных средств |
|
||||
* | sub_blocked_funds | `💰➖🔒` | Уменьшение заблокированных средств |
|
||||
*
|
||||
* ### Графический язык проводок по фондам (Ledger)
|
||||
*
|
||||
* | Метод | Иконки | Описание |
|
||||
* |:-----------------------|:---------------|:--------------------------------------|
|
||||
* | add | `🏛️➕✅` | Добавление средств в фонд |
|
||||
* | sub | `🏛️➖✅` | Уменьшение средств из фонде |
|
||||
* | block | `🏛️🔒` | Блокировка средств в фонде |
|
||||
* | unblock | `🏛️🔓` | Разблокирование средств в фонде |
|
||||
*/
|
||||
* | Символ | Значение |
|
||||
* |:------:|:--------------------------|
|
||||
* | `📄` | **Документ** |
|
||||
* | `🏛️` | **Счёт кооператива** |
|
||||
* | `➕` | **Добавление** |
|
||||
* | `➖` | **Уменьшение** |
|
||||
* | `🔒` | **Заблокировано** |
|
||||
* | `🔓` | **Доступно** |
|
||||
* | `🫴` | **Взять ссуду** |
|
||||
* | `🫳` | **Погасить ссуду** |
|
||||
* |
|
||||
*
|
||||
* ## Обоснование
|
||||
*
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* @defgroup docs_overview Документы по процессам
|
||||
* @ingroup public_capital
|
||||
|
||||
@ref public_capital_registration_process
|
||||
@include{doc} registration-docs.dox
|
||||
|
||||
@ref public_capital_project_creation_process
|
||||
@include{doc} project-creation-docs.dox
|
||||
|
||||
@ref public_capital_joining_process
|
||||
@include{doc} joining-process-docs.dox
|
||||
|
||||
@ref public_capital_project_investment_process
|
||||
@include{doc} project-investment-docs.dox
|
||||
|
||||
@ref public_capital_program_investment_process
|
||||
@include{doc} program-investment-docs.dox
|
||||
|
||||
@ref public_capital_program_property_process
|
||||
@include{doc} program-property-docs.dox
|
||||
|
||||
@ref public_capital_unused_return_process
|
||||
@include{doc} unused-return-docs.dox
|
||||
|
||||
@ref public_capital_result_process
|
||||
@include{doc} result-submission-docs.dox
|
||||
|
||||
@ref public_capital_conversion_process
|
||||
@include{doc} conversion-process-docs.dox
|
||||
|
||||
@ref public_capital_project_property_process
|
||||
@include{doc} project-property-docs.dox
|
||||
|
||||
@ref public_capital_debt_process
|
||||
@include{doc} debt-process-docs.dox
|
||||
|
||||
@ref public_capital_create_expense_process
|
||||
@include{doc} create-expense-docs.dox
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,84 @@
|
||||
/**
|
||||
* @defgroup deltas_overview Эффекты по процессам
|
||||
* @ingroup public_capital
|
||||
|
||||
@ref public_capital_result_process
|
||||
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::SHARE_FUND на сумму паевого взноса за вычетом ссуды\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму паевого взноса за вычетом ссуды\n
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::LONG_TERM_LOANS на сумму погашаемой ссуды\n
|
||||
🫳 Loan::settle_debt на сумму погашаемой ссуды
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_debt_process
|
||||
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::LONG_TERM_LOANS на сумму выданной ссуды\n
|
||||
🫴 Loan::create_debt на сумму выданной ссуды
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_create_expense_process
|
||||
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::ECONOMIC_ACTIVITY_FUND на сумму расхода\n
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_program_property_process
|
||||
|
||||
➕🏛️ Ledger::add на счёт Ledger::accounts::SHARE_FUND на сумму паевого взноса\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _capital_program на сумму паевого взноса\n
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_conversion_process
|
||||
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _source_program на сумму паевого взноса за вычетом суммы конвертации в кошелёк проекта\n
|
||||
➕🔓 Wallet::add_available_funds на кошельке @ref _wallet_program на сумму конвертации в главный кошелёк\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму конвертации в кошелёк программы\n
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_project_investment_process
|
||||
|
||||
🔒 Wallet::block_funds на кошельке @ref _wallet_program на сумму инвестиций\n
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _wallet_program на сумму инвестиций\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _source_program на сумму инвестиций\n
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_program_investment_process
|
||||
|
||||
🔒 Wallet::block_funds на кошельке @ref _wallet_program на сумму инвестиций\n
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _capital_program на сумму инвестиций\n
|
||||
➕🔒 Wallet::add_blocked_funds на кошельке @ref _capital_program на сумму инвестиций\n
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_fundprog_process
|
||||
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::TARGET_RECEIPTS на сумму фондирования
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_fundproj_process
|
||||
|
||||
➖🏛️ Ledger::sub со счёта Ledger::accounts::TARGET_RECEIPTS на сумму фондирования
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_withdraw_from_project_process
|
||||
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _capital_program на сумму возврата\n
|
||||
➕🔓 Wallet::add_available_funds на кошельке @ref _wallet_program на сумму возврата
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_withdraw_from_program_process
|
||||
|
||||
➖🔒 Wallet::sub_blocked_funds на кошельке @ref _capital_program на сумму возврата\n
|
||||
➕🔓 Wallet::add_available_funds на кошельке @ref _wallet_program на сумму возврата
|
||||
|
||||
<hr>
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* @defgroup entries_overview Проводки по процессам
|
||||
* @ingroup public_capital
|
||||
|
||||
@ref public_capital_result_process
|
||||
|
||||
<b>Закрывающее действие</b>: @ref capital::signact2 "подпись председателем акта приёма-передачи результата в кооператив"
|
||||
|
||||
Без погашения ссуды:
|
||||
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
|
||||
При погашении ссуды:
|
||||
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_create_expense_process
|
||||
|
||||
<b>Закрывающее действие</b>: @ref capital::exppaycnfrm "подтверждение оплаты расхода"
|
||||
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_debt_process
|
||||
|
||||
<b>Закрывающее действие</b>: @ref capital::debtpaycnfrm "подтверждение оплаты выданной ссуды"
|
||||
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
|
||||
<hr>
|
||||
|
||||
@ref public_capital_program_property_process
|
||||
|
||||
<b>Закрывающее действие</b>: @ref capital::act2pgprp "подпись председателем акта приёма-передачи имущества в кооператив"
|
||||
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
- ⬇️ дебет ?
|
||||
- ⬆️ кредит ?
|
||||
|
||||
*/
|
||||
@@ -76,10 +76,11 @@ static constexpr eosio::name _product_return_action = "productrtrn"_n;
|
||||
static constexpr eosio::name _result_action = "result"_n;
|
||||
|
||||
//program_types
|
||||
static constexpr eosio::name _wallet_program = "wallet"_n;
|
||||
static constexpr eosio::name _marketplace_program = "marketplace"_n;
|
||||
static constexpr eosio::name _source_program = "source"_n;
|
||||
static constexpr eosio::name _capital_program = "capital"_n;
|
||||
static constexpr eosio::name _wallet_program = "wallet"_n; ///< Главный Кошелёк
|
||||
static constexpr eosio::name _marketplace_program = "marketplace"_n; ///< Кошелёк программы "Маркетплейс"
|
||||
|
||||
static constexpr eosio::name _source_program = "source"_n; ///< Кошелёк для генерации по договору УХД
|
||||
static constexpr eosio::name _capital_program = "capital"_n; ///< Кошелёк программы "Капитализация"
|
||||
|
||||
|
||||
static const std::set<eosio::name> soviet_actions = {
|
||||
|
||||
@@ -296,6 +296,14 @@ inline std::string Ledger::get_account_name_by_id(uint64_t account_id) {
|
||||
return "Неизвестный счет";
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Добавить средства на счёт кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param account_id Идентификатор счёта
|
||||
* @param quantity Сумма для добавления
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::add(eosio::name actor, eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment) {
|
||||
eosio::action(
|
||||
eosio::permission_level{actor, "active"_n},
|
||||
@@ -305,6 +313,14 @@ inline void Ledger::add(eosio::name actor, eosio::name coopname, uint64_t accoun
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Уменьшить средства на счёте кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param account_id Идентификатор счёта
|
||||
* @param quantity Сумма для вычитания
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::sub(eosio::name actor, eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment) {
|
||||
eosio::action(
|
||||
eosio::permission_level{actor, "active"_n},
|
||||
@@ -314,11 +330,28 @@ inline void Ledger::sub(eosio::name actor, eosio::name coopname, uint64_t accoun
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Перевести средства между счетами кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param from_account_id Идентификатор счёта отправителя
|
||||
* @param to_account_id Идентификатор счёта получателя
|
||||
* @param quantity Сумма перевода
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::transfer(eosio::name actor, eosio::name coopname, uint64_t from_account_id, uint64_t to_account_id, eosio::asset quantity, std::string comment) {
|
||||
add(actor, coopname, from_account_id, quantity, comment);
|
||||
sub(actor, coopname, to_account_id, quantity, comment);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Заблокировать средства на счёте кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param account_id Идентификатор счёта
|
||||
* @param quantity Сумма для блокировки
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::block(eosio::name actor, eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment) {
|
||||
eosio::action(
|
||||
eosio::permission_level{actor, "active"_n},
|
||||
@@ -328,6 +361,14 @@ inline void Ledger::block(eosio::name actor, eosio::name coopname, uint64_t acco
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Разблокировать средства на счёте кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param account_id Идентификатор счёта
|
||||
* @param quantity Сумма для разблокировки
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::unblock(eosio::name actor, eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment) {
|
||||
eosio::action(
|
||||
eosio::permission_level{actor, "active"_n},
|
||||
@@ -337,6 +378,14 @@ inline void Ledger::unblock(eosio::name actor, eosio::name coopname, uint64_t ac
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Списать средства со счёта кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param account_id Идентификатор счёта
|
||||
* @param quantity Сумма для списания
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::writeoff(eosio::name actor, eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment) {
|
||||
eosio::action(
|
||||
eosio::permission_level{actor, "active"_n},
|
||||
@@ -346,6 +395,14 @@ inline void Ledger::writeoff(eosio::name actor, eosio::name coopname, uint64_t a
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Списать средства со счёта кооператива
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param account_id Идентификатор счёта
|
||||
* @param quantity Сумма для списания
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::writeoffcnsl(eosio::name actor, eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment) {
|
||||
eosio::action(
|
||||
eosio::permission_level{actor, "active"_n},
|
||||
@@ -355,18 +412,46 @@ inline void Ledger::writeoffcnsl(eosio::name actor, eosio::name coopname, uint64
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Добавить членский взнос на счёт поступлений
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param quantity Сумма для добавления
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::add_membership_fee(eosio::name actor, eosio::name coopname, eosio::asset quantity, std::string comment) {
|
||||
add(actor, coopname, accounts::TARGET_RECEIPTS, quantity, comment);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Вычесть членский взнос со счёта поступлений
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param quantity Сумма для вычитания
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::sub_membership_fee(eosio::name actor, eosio::name coopname, eosio::asset quantity, std::string comment) {
|
||||
sub(actor, coopname, accounts::TARGET_RECEIPTS, quantity, comment);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Заблокировать членский взнос на счёте поступлений
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param quantity Сумма для блокировки
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::block_membership_fee(eosio::name actor, eosio::name coopname, eosio::asset quantity, std::string comment) {
|
||||
block(actor, coopname, accounts::TARGET_RECEIPTS, quantity, comment);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Разблокировать членский взнос на счёте поступлений
|
||||
* @param actor Аккаунт, выполняющий действие
|
||||
* @param coopname Название кооператива
|
||||
* @param quantity Сумма для разблокировки
|
||||
* @param comment Комментарий к операции
|
||||
*/
|
||||
inline void Ledger::unblock_membership_fee(eosio::name actor, eosio::name coopname, eosio::asset quantity, std::string comment) {
|
||||
unblock(actor, coopname, accounts::TARGET_RECEIPTS, quantity, comment);
|
||||
}
|
||||
|
||||
@@ -122,10 +122,10 @@ namespace Loan {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Создает долговое обязательство через интерфейс.
|
||||
* @brief Создает долговое обязательство пайщика.
|
||||
* @param calling_contract Контракт, вызывающий создание долга
|
||||
* @param coopname Имя кооператива
|
||||
* @param username Имя пользователя-должника
|
||||
* @param username Имя пользователя
|
||||
* @param debt_hash Хэш долгового обязательства
|
||||
* @param repaid_at Срок погашения долга
|
||||
* @param quantity Сумма долга
|
||||
@@ -148,10 +148,10 @@ namespace Loan {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Погашает долговое обязательство через интерфейс.
|
||||
* @brief Погашает долговое обязательство пайщика.
|
||||
* @param calling_contract Контракт, вызывающий погашение долга
|
||||
* @param coopname Имя кооператива
|
||||
* @param username Имя пользователя-должника
|
||||
* @param username Имя пользователя
|
||||
* @param debt_hash Хэш долгового обязательства
|
||||
* @param quantity Сумма погашения
|
||||
*/
|
||||
|
||||
@@ -91,6 +91,9 @@ public:
|
||||
check(amount.amount > 0, "Amount must be positive");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Добавляет доступные средства на кошелёк пользователя
|
||||
*/
|
||||
static void add_available_funds(eosio::name contract, eosio::name coopname, eosio::name username, eosio::asset amount, eosio::name program_type, std::string memo) {
|
||||
auto program = get_program_or_fail(coopname, get_program_id(program_type));
|
||||
|
||||
@@ -103,6 +106,9 @@ public:
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Уменьшает доступные средства на кошельке пользователя
|
||||
*/
|
||||
static void sub_available_funds(eosio::name contract, eosio::name coopname, eosio::name username, eosio::asset amount, eosio::name program_type, std::string memo) {
|
||||
auto program = get_program_or_fail(coopname, get_program_id(program_type));
|
||||
|
||||
@@ -114,6 +120,9 @@ public:
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Добавляет заблокированные средства в баланс кошелька пользователя
|
||||
*/
|
||||
static void add_blocked_funds(eosio::name contract, eosio::name coopname, eosio::name username, eosio::asset amount, eosio::name program_type, std::string memo) {
|
||||
auto program = get_program_or_fail(coopname, get_program_id(program_type));
|
||||
|
||||
@@ -132,6 +141,9 @@ public:
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Уменьшает заблокированные средства кошелька пользователя
|
||||
*/
|
||||
static void sub_blocked_funds(eosio::name contract, eosio::name coopname, eosio::name username, eosio::asset amount, eosio::name program_type, std::string memo) {
|
||||
auto program = get_program_or_fail(coopname, get_program_id(program_type));
|
||||
|
||||
@@ -149,7 +161,10 @@ public:
|
||||
std::make_tuple(coopname, username, program.id, amount, false, memo)
|
||||
).send();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Блокирует средства на кошельке пользователя
|
||||
*/
|
||||
static void block_funds(eosio::name contract, eosio::name coopname, eosio::name username, eosio::asset amount, eosio::name program_type, std::string memo){
|
||||
auto program = get_program_or_fail(coopname, get_program_id(program_type));
|
||||
|
||||
@@ -160,7 +175,10 @@ public:
|
||||
std::make_tuple(coopname, username, program.id, amount, memo)
|
||||
).send();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Разблокирует средства на кошельке пользователя
|
||||
*/
|
||||
static void unblock_funds(eosio::name contract, eosio::name coopname, eosio::name username, eosio::asset amount, eosio::name program_type, std::string memo){
|
||||
auto program = get_program_or_fail(coopname, get_program_id(program_type));
|
||||
|
||||
@@ -172,6 +190,9 @@ public:
|
||||
).send();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Оплачивает членский взнос с кошелька пользователя
|
||||
*/
|
||||
static void pay_membership_fee(name contract, name coopname, name username, eosio::asset amount, uint64_t program_id, std::string memo) {
|
||||
auto program = get_program_or_fail(coopname, program_id);
|
||||
|
||||
@@ -184,6 +205,9 @@ public:
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Отменяет оплату членского взноса с кошелька пользователя
|
||||
*/
|
||||
static void unpay_membership_fee(name contract, name coopname, name username, eosio::asset amount, uint64_t program_id, std::string memo) {
|
||||
auto program = get_program_or_fail(coopname, program_id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user