COOPENOMICS  v1
Кооперативная Экономика
Действия

Функции

void capital::setconfig (name coopname, Capital::config config)
 Устанавливает или обновляет конфигурацию контракта для кооператива. Подробнее...
 
void capital::approvedebt (eosio::name coopname, checksum256 debt_hash, document2 approved_statement)
 Одобряет долг в проекте Одобряет долг в проекте и создает повестку в совете: Подробнее...
 
void capital::createdebt (name coopname, name username, checksum256 project_hash, checksum256 debt_hash, asset amount, time_point_sec repaid_at, document2 statement)
 Создает долг в проекте Создает долг в проекте с проверкой доступности средств и отправляет на одобрение: Подробнее...
 
void capital::debtauthcnfr (eosio::name coopname, checksum256 debt_hash, document2 decision)
 Авторизует долг в проекте советом Авторизует долг в проекте советом и создает исходящий платеж: Подробнее...
 
void capital::debtpaycnfrm (name coopname, checksum256 debt_hash)
 Подтверждает оплату выданной ссуды. Подтверждает оплату выданной ссуды и переводит долг в статус PAID: Подробнее...
 
void capital::debtpaydcln (name coopname, checksum256 debt_hash, std::string reason)
 Отклоняет оплату долга Отклоняет оплату долга и удаляет его из базы данных: Подробнее...
 
void capital::declinedebt (name coopname, checksum256 debt_hash, std::string reason)
 Отклоняет долг в проекте Отклоняет долг в проекте и восстанавливает доступные средства: Подробнее...
 
void capital::settledebt (name coopname, name username, eosio::asset amount, document2 statement)
 Погашает долг участника Погашает долг участника в системе кооператива: Подробнее...
 
void capital::fundprog (eosio::name coopname, asset amount, std::string memo)
 Финансирует программу капитализации Финансирует программу капитализации из внешних источников: Подробнее...
 
void capital::refreshprog (name coopname, name username)
 Обновляет CRPS пайщика в программе капитализации Обновляет CRPS (систему вознаграждений программы) пайщика: Подробнее...
 
void capital::approvewthd3 (name coopname, name approver, checksum256 withdraw_hash, document2 approved_return_statement)
 Одобряет заявку на возврат из программы капитализации Одобряет заявку на возврат из программы капитализации и отправляет в совет: Подробнее...
 
void capital::capauthwthd3 (eosio::name coopname, checksum256 withdraw_hash, document2 authorization)
 Авторизует возврат из программы капитализации советом Авторизует возврат из программы капитализации советом и выполняет операции с балансами: Подробнее...
 
void capital::capdeclwthd3 (name coopname, checksum256 withdraw_hash, std::string reason)
 Отклоняет возврат из программы капитализации советом Отклоняет возврат из программы капитализации советом и возвращает средства: Подробнее...
 
void capital::createwthd3 (name coopname, name username, checksum256 withdraw_hash, asset amount, document2 return_statement)
 Создает заявку на возврат из программы капитализации Создает заявку на возврат средств из программы капитализации: Подробнее...
 
void capital::fundproj (eosio::name coopname, checksum256 project_hash, asset amount, std::string memo)
 Финансирует проект из внешних источников Финансирует проект из внешних источников и распределяет членские взносы: Подробнее...
 
void capital::refreshproj (name coopname, checksum256 project_hash, name username)
 Обновляет кошелек проекта участника Обновляет кошелек проекта участника через CRPS систему: Подробнее...
 
void capital::approvewthd2 (name coopname, name approver, checksum256 withdraw_hash, document2 approved_return_statement)
 Одобряет заявку на возврат из проекта Одобряет заявку на возврат из проекта и отправляет в совет: Подробнее...
 
void capital::capauthwthd2 (eosio::name coopname, checksum256 withdraw_hash, document2 authorization)
 Авторизует возврат из проекта советом Авторизует возврат из проекта советом и выполняет операции с балансами: Подробнее...
 
void capital::capdeclwthd2 (name coopname, checksum256 withdraw_hash, std::string reason)
 Отклоняет возврат из проекта советом Отклоняет возврат из проекта советом и возвращает средства в проект: Подробнее...
 
void capital::createwthd2 (name coopname, name username, checksum256 project_hash, checksum256 withdraw_hash, asset amount, document2 return_statement)
 Создает заявку на возврат из проекта Создает заявку на возврат средств из проекта с проверкой доступности: Подробнее...
 
void capital::approveexpns (name coopname, name approver, checksum256 expense_hash, document2 approved_statement)
 Одобряет расход в проекте Одобряет расход в проекте и отправляет в совет: Подробнее...
 
void capital::capauthexpns (eosio::name coopname, checksum256 expense_hash, document2 authorization)
 Авторизует расход в проекте советом Авторизует расход в проекте советом и создает исходящий платеж: Подробнее...
 
void capital::capdeclexpns (eosio::name coopname, checksum256 expense_hash)
 Отклоняет расход в проекте советом Отклоняет расход в проекте советом и возвращает средства в пул: Подробнее...
 
void capital::createexpnse (eosio::name coopname, checksum256 expense_hash, checksum256 project_hash, name creator, asset amount, std::string description, document2 statement)
 Создает расход в проекте Создает расход в проекте с резервированием средств: Подробнее...
 
void capital::exppaycnfrm (eosio::name coopname, checksum256 expense_hash)
 Подтверждает оплату расхода Подтверждает оплату расхода и завершает процесс: Подробнее...
 
void capital::expandexpnss (name coopname, checksum256 project_hash, asset additional_expenses)
 Расширяет пул расходов проекта Увеличивает целевой размер пула расходов для активного проекта: Подробнее...
 
void capital::approvecmmt (eosio::name coopname, eosio::name master, checksum256 commit_hash)
 Одобряет коммит в проект Одобряет коммит от мастера проекта и обрабатывает все связанные операции: Подробнее...
 
void capital::createcmmt (eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 commit_hash, uint64_t creator_hours)
 Создает коммит в проект Создает коммит с затраченным временем создателя и отправляет на одобрение: Подробнее...
 
void capital::declinecmmt (eosio::name coopname, eosio::name master, checksum256 commit_hash, std::string reason)
 Отклоняет коммит в проект Отклоняет коммит от мастера проекта и удаляет его из базы данных: Подробнее...
 
void capital::rfrshsegment (name coopname, checksum256 project_hash, name username)
 Обновляет сегмент участника через CRPS систему Обновляет сегмент участника проекта через систему CRPS: Подробнее...
 
void capital::regshare (name coopname, checksum256 project_hash, name username)
 Добавляет вкладчика в проект через CRPS систему Добавляет вкладчика в проект через систему CRPS с автоматическими проверками: Подробнее...
 
void capital::allocate (eosio::name coopname, checksum256 project_hash, eosio::asset amount)
 Аллоцирует программные инвестиции в проект Аллоцирует средства из глобального пула программных инвестиций в проект: Подробнее...
 
void capital::diallocate (eosio::name coopname, checksum256 project_hash)
 Деаллоцирует неиспользованные программные инвестиции из проекта Деаллоцирует неиспользованные программные инвестиции из закрытого проекта: Подробнее...
 
void capital::apprvpinv (eosio::name coopname, checksum256 invest_hash, document2 approved_statement)
 Одобряет программную инвестицию Одобряет программную инвестицию и обрабатывает все связанные операции: Подробнее...
 
void capital::createpinv (name coopname, name username, checksum256 invest_hash, asset amount, document2 statement)
 Создает программную инвестицию Создает программную инвестицию с блокировкой средств и отправкой на одобрение: Подробнее...
 
void capital::declpinv (eosio::name coopname, checksum256 invest_hash, document2 declined_statement)
 Отклоняет программную инвестицию Отклоняет программную инвестицию и разблокирует средства: Подробнее...
 
void capital::approveinvst (eosio::name coopname, checksum256 invest_hash, document2 approved_statement)
 Одобряет инвестицию в проект Одобряет инвестицию в проект и обрабатывает все связанные операции: Подробнее...
 
void capital::createinvest (name coopname, name username, checksum256 project_hash, checksum256 invest_hash, asset amount, document2 statement)
 Создает инвестицию в проект Создает инвестицию в проект с блокировкой средств и отправкой на одобрение: Подробнее...
 
void capital::declineinvst (eosio::name coopname, checksum256 invest_hash, document2 decline_statement)
 Отклоняет инвестицию в проект Отклоняет инвестицию в проект и разблокирует средства: Подробнее...
 
void capital::returnunused (name coopname, checksum256 project_hash, name username)
 Возвращает неиспользованные инвестиции Возвращает неиспользованные инвестиции инвестора из закрытого проекта: Подробнее...
 
void capital::apprvappndx (eosio::name coopname, checksum256 appendix_hash, document2 approved_document)
 Одобряет приложение к договору УХД Одобряет приложение к договору УХД и добавляет проект к пайщику: Подробнее...
 
void capital::dclineappndx (eosio::name coopname, checksum256 appendix_hash, std::string reason)
 Отклоняет приложение к договору УХД Отклоняет приложение к договору УХД и удаляет его из базы: Подробнее...
 
void capital::getclearance (eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 appendix_hash, document2 document)
 Подписывает приложение к договору УХД для участия в проекте Создает приложение к договору УХД для участия пайщика в проекте: Подробнее...
 
void capital::importcontrib (eosio::name coopname, eosio::name username, checksum256 contributor_hash, eosio::asset contribution_amount, std::string memo)
 Импорт внешнего вкладчика с автоматическим созданием записи и внесением взносов Создает запись вкладчика в системе капитализации для внешних участников кооператива: Подробнее...
 
void capital::approvereg (eosio::name coopname, checksum256 contributor_hash, document2 contract)
 Принимает принятый председателем договор УХД и активирует вкладчика по нему Активирует пайщика в системе кооператива после одобрения договора УХД: Подробнее...
 
void capital::declinereg (eosio::name coopname, checksum256 contributor_hash, std::string reason)
 Отклоняет председателем договор УХД и удаляет вкладчика из базы Отклоняет регистрацию вкладчика и удаляет его из системы кооператива: Подробнее...
 
void capital::regcontrib (eosio::name coopname, eosio::name username, checksum256 contributor_hash, eosio::asset rate_per_hour, bool is_external_contract, document2 contract)
 Регистрация пайщика в контракте и получение договора УХД от него Создает нового пайщика в системе кооператива с указанными параметрами: Подробнее...
 
void capital::addauthor (name coopname, checksum256 project_hash, name author)
 Добавляет автора проекта Добавляет нового автора к проекту с авторскими долями: Подробнее...
 
void capital::cmpltvoting (name coopname, checksum256 project_hash)
 Завершает голосование Завершает процесс голосования и переводит проект в завершенный статус: Подробнее...
 
void capital::createproj (eosio::name coopname, checksum256 project_hash, checksum256 parent_hash, std::string title, std::string description, std::string meta, bool can_convert_to_project)
 Создаёт проект Выполняет проверки и создает новый проект в системе кооператива: Подробнее...
 
void capital::delproject (name coopname, checksum256 project_hash)
 Удаляет проект Удаляет проект из системы кооператива: Подробнее...
 
void capital::openproject (name coopname, checksum256 project_hash)
 Открывает проект на приём инвестиций Переводит проект в статус открытого для приема инвестиций: Подробнее...
 
void capital::setmaster (name coopname, checksum256 project_hash, name master)
 Устанавливает мастера проекта Назначает мастера для управления проектом: Подробнее...
 
void capital::setplan (name coopname, name master, checksum256 project_hash, uint64_t plan_creators_hours, asset plan_expenses, asset plan_hour_cost)
 Устанавливает плановые показатели проекта Рассчитывает плановые пулы (себестоимости, премии, инвестиции, расходы) на основании входных параметров: Подробнее...
 
void capital::startproject (name coopname, checksum256 project_hash)
 Запускает проект на приём коммитов Переводит проект в активный статус для приема коммитов: Подробнее...
 
void capital::startvoting (name coopname, checksum256 project_hash)
 Завершает проект и начинает голосование Переводит проект в статус голосования и инициализирует процесс: Подробнее...
 
void capital::act1pgprp (eosio::name coopname, eosio::name username, checksum256 property_hash, document2 act)
 Подписывает акт 1 по программному имущественному взносу Подписывает первый акт по программному имущественному взносу участником: Подробнее...
 
void capital::act2pgprp (eosio::name coopname, eosio::name username, checksum256 property_hash, document2 act)
 Подписывает акт 2 по программному имущественному взносу и зачисляет в программу капитализации Подписывает второй акт председателем и зачисляет имущество в программу капитализации: Подробнее...
 
void capital::approvepgprp (eosio::name coopname, checksum256 property_hash, document2 approved_statement)
 Принимает предложение по программному имущественному взносу председателем Принимает предложение по программному имущественному взносу и отправляет на рассмотрение совета: Подробнее...
 
void capital::authpgprp (eosio::name coopname, checksum256 property_hash, document2 decision)
 Авторизует предложение по программному имущественному взносу советом Авторизует предложение по программному имущественному взносу советом: Подробнее...
 
void capital::createpgprp (eosio::name coopname, eosio::name username, checksum256 property_hash, eosio::asset property_amount, std::string property_description, document2 statement)
 Создает предложение по программному имущественному взносу Создает предложение по программному имущественному взносу и отправляет на одобрение: Подробнее...
 
void capital::declinepgprp (eosio::name coopname, checksum256 property_hash, std::string reason)
 Отклоняет предложение по программному имущественному взносу Отклоняет предложение по программному имущественному взносу и удаляет его из базы: Подробнее...
 
void capital::approvepjprp (eosio::name coopname, checksum256 property_hash, document2 empty_document)
 Принимает предложение по имущественному взносу в проект Принимает предложение по имущественному взносу и обрабатывает связанные операции: Подробнее...
 
void capital::createpjprp (eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 property_hash, eosio::asset property_amount, std::string property_description)
 Создает предложение по имущественному взносу в проект Создает предложение по имущественному взносу в проект и отправляет на одобрение: Подробнее...
 
void capital::declinepjprp (eosio::name coopname, checksum256 property_hash, std::string reason)
 Отклоняет предложение по имущественному взносу в проект Отклоняет предложение по имущественному взносу и удаляет его из базы: Подробнее...
 
void capital::convertsegm (eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 convert_hash, asset wallet_amount, asset capital_amount, asset project_amount, document2 convert_statement)
 Конвертирует сегмент участника в различные типы кошельков Конвертирует сегмент участника в кошелек, капитал и кошелек проекта: Подробнее...
 
void capital::approverslt (eosio::name coopname, checksum256 result_hash, document2 approved_statement)
 Одобряет результат участника Одобряет результат участника и отправляет в совет: Подробнее...
 
void capital::authrslt (eosio::name coopname, checksum256 result_hash, document2 decision)
 Авторизует результат участника советом Авторизует результат участника советом: Подробнее...
 
void capital::declrslt (eosio::name coopname, checksum256 result_hash, std::string reason)
 Отклоняет результат участника советом Отклоняет результат участника советом и возвращает статус сегмента: Подробнее...
 
void capital::pushrslt (name coopname, name username, checksum256 project_hash, checksum256 result_hash, eosio::asset contribution_amount, eosio::asset debt_amount, document2 statement, std::vector< checksum256 > debt_hashes)
 Вносит результат участника в проект Вносит результат участника в завершенный проект с обработкой долгов и обновлением долей: Подробнее...
 
void capital::signact1 (eosio::name coopname, eosio::name username, checksum256 result_hash, document2 act)
 Подписывает акт 1 по результату участника Подписывает первый акт по результату участника: Подробнее...
 
void capital::signact2 (eosio::name coopname, eosio::name chairman, checksum256 result_hash, document2 act)
 Подписывает акт 2 по результату участника Подписывает второй акт председателем и завершает процесс принятия результата: Подробнее...
 
void capital::calcvotes (name coopname, name username, checksum256 project_hash)
 Завершение голосования для конкретного участника по методу Водянова Рассчитывает полные итоговые суммы участника включая: Подробнее...
 
void capital::submitvote (name coopname, name voter, checksum256 project_hash, std::vector< Capital::vote_input > votes)
 Подает голос по методу Водянова Участник распределяет общую голосующую сумму между остальными участниками: Подробнее...
 

Подробное описание

Функции

◆ act1pgprp()

void capital::act1pgprp ( eosio::name  coopname,
eosio::name  username,
checksum256  property_hash,
document2  act 
)

Подписывает акт 1 по программному имущественному взносу Подписывает первый акт по программному имущественному взносу участником:

  • Проверяет подлинность документа акта от участника
  • Получает предложение и валидирует его статус (должен быть authorized)
  • Проверяет права участника на подписание акта
  • Сохраняет первый акт
  • Обновляет статус на act1
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника
    property_hashХеш программного имущественного взноса
    actДокумент акта 1
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ act2pgprp()

void capital::act2pgprp ( eosio::name  coopname,
eosio::name  username,
checksum256  property_hash,
document2  act 
)

Подписывает акт 2 по программному имущественному взносу и зачисляет в программу капитализации Подписывает второй акт председателем и зачисляет имущество в программу капитализации:

  • Проверяет что подписывает председатель
  • Проверяет подлинность документа акта от председателя
  • Получает предложение и валидирует его статус (должен быть act1)
  • Сохраняет второй акт и обновляет статус на act2
  • Начисляет заблокированные средства в кошелек программы капитализации
  • Увеличивает паевой фонд через бухгалтерский учет
  • Удаляет предложение после успешной обработки
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-председателя
    property_hashХеш программного имущественного взноса
    actДокумент акта 2
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ addauthor()

void capital::addauthor ( name  coopname,
checksum256  project_hash,
name  author 
)

Добавляет автора проекта Добавляет нового автора к проекту с авторскими долями:

  • Проверяет существование проекта
  • Валидирует что пользователь является участником проекта
  • Проверяет что пользователь еще не является автором
  • Проверяет лимит количества авторов
  • Добавляет автора как генератора с авторскими долями
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    authorНаименование пользователя-автора
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ allocate()

void capital::allocate ( eosio::name  coopname,
checksum256  project_hash,
eosio::asset  amount 
)

Аллоцирует программные инвестиции в проект Аллоцирует средства из глобального пула программных инвестиций в проект:

  • Валидирует сумму для аллокации
  • Проверяет существование проекта
  • Аллоцирует средства из глобального пула в проект
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для аллокации
    amountСумма для аллокации
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ approvecmmt()

void capital::approvecmmt ( eosio::name  coopname,
eosio::name  master,
checksum256  commit_hash 
)

Одобряет коммит в проект Одобряет коммит от мастера проекта и обрабатывает все связанные операции:

  • Проверяет что одобрение идет от мастера проекта
  • Получает коммит
  • Добавляет коммит к проекту
  • Обновляет или создает сегмент создателя
  • Распределяет авторские средства между всеми авторами проекта
  • Удаляет коммит после обработки
    Аргументы
    coopnameНаименование кооператива
    masterМастер проекта, одобряющий коммит
    commit_hashХеш коммита для одобрения
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ approvedebt()

void capital::approvedebt ( eosio::name  coopname,
checksum256  debt_hash,
document2  approved_statement 
)

Одобряет долг в проекте Одобряет долг в проекте и создает повестку в совете:

  • Получает долг
  • Обновляет статус долга на approved
  • Создает повестку в совете для рассмотрения долга
    Аргументы
    coopnameНаименование кооператива
    debt_hashХеш долга для одобрения
    approved_statementОдобренное заявление о долге
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ approveexpns()

void capital::approveexpns ( name  coopname,
name  approver,
checksum256  expense_hash,
document2  approved_statement 
)

Одобряет расход в проекте Одобряет расход в проекте и отправляет в совет:

  • Проверяет подлинность одобренного заявления
  • Валидирует статус расхода (должен быть created)
  • Проверяет что создатель является участником проекта
  • Одобряет расход (обновляет статус)
  • Отправляет в совет для рассмотрения
    Аргументы
    coopnameНаименование кооператива
    approverНаименование пользователя-одобряющего
    expense_hashХеш расхода для одобрения
    approved_statementОдобренное заявление о расходе
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ approveinvst()

void capital::approveinvst ( eosio::name  coopname,
checksum256  invest_hash,
document2  approved_statement 
)

Одобряет инвестицию в проект Одобряет инвестицию в проект и обрабатывает все связанные операции:

  • Получает инвестицию и активного пайщика
  • Добавляет инвестора как генератора с investor_base
  • Обновляет проект - добавляет инвестиции
  • Обрабатывает координаторские взносы если есть координатор
  • Списывает заблокированные средства с кошелька
  • Пополняет кошелек договора УХД и блокирует средства
  • Удаляет инвестицию после обработки
    Аргументы
    coopnameНаименование кооператива
    invest_hashХеш инвестиции для одобрения
    approved_statementОдобренное заявление об инвестиции
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ approvepgprp()

void capital::approvepgprp ( eosio::name  coopname,
checksum256  property_hash,
document2  approved_statement 
)

Принимает предложение по программному имущественному взносу председателем Принимает предложение по программному имущественному взносу и отправляет на рассмотрение совета:

  • Проверяет подлинность документа председателя
  • Получает предложение и валидирует его статус
  • Сохраняет одобренное заявление
  • Обновляет статус на approved
  • Отправляет на рассмотрение совета
    Аргументы
    coopnameНаименование кооператива
    property_hashХеш программного имущественного взноса для принятия
    approved_statementОдобренное заявление председателя
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ approvepjprp()

void capital::approvepjprp ( eosio::name  coopname,
checksum256  property_hash,
document2  empty_document 
)

Принимает предложение по имущественному взносу в проект Принимает предложение по имущественному взносу и обрабатывает связанные операции:

  • Получает предложение по имущественному взносу
  • Добавляет имущественный взнос к проекту
  • Обновляет или создает сегмент пропертора с имущественным взносом
  • Удаляет предложение после обработки
    Аргументы
    coopnameНаименование кооператива
    property_hashХеш имущественного взноса для принятия
    empty_documentПустой документ (не используется)
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ approvereg()

void capital::approvereg ( eosio::name  coopname,
checksum256  contributor_hash,
document2  contract 
)

Принимает принятый председателем договор УХД и активирует вкладчика по нему Активирует пайщика в системе кооператива после одобрения договора УХД:

  • Проверяет подлинность договора УХД
  • Валидирует статус пайщика (должен быть PENDING)
  • Активирует пайщика и устанавливает принятый договор
  • Создает программный кошелек для пайщика если необходимо
    Аргументы
    coopnameИмя кооператива
    contributor_hashХэш контрибьютора
    contractДоговор УХД
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ approverslt()

void capital::approverslt ( eosio::name  coopname,
checksum256  result_hash,
document2  approved_statement 
)

Одобряет результат участника Одобряет результат участника и отправляет в совет:

  • Проверяет подлинность одобренного заявления
  • Валидирует статус результата (должен быть created)
  • Устанавливает одобренное заявление
  • Обновляет статус на approved
  • Отправляет результат в совет
    Аргументы
    coopnameНаименование кооператива
    result_hashХеш результата для одобрения
    approved_statementОдобренное заявление о результате
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ approvewthd2()

void capital::approvewthd2 ( name  coopname,
name  approver,
checksum256  withdraw_hash,
document2  approved_return_statement 
)

Одобряет заявку на возврат из проекта Одобряет заявку на возврат из проекта и отправляет в совет:

  • Проверяет подлинность одобренного заявления о возврате
  • Получает объект возврата и обновляет его статус на approved
  • Отправляет заявку в совет для рассмотрения
    Аргументы
    coopnameНаименование кооператива
    approverНаименование пользователя-одобряющего
    withdraw_hashХеш заявки на возврат для одобрения
    approved_return_statementОдобренное заявление о возврате
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ approvewthd3()

void capital::approvewthd3 ( name  coopname,
name  approver,
checksum256  withdraw_hash,
document2  approved_return_statement 
)

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

  • Проверяет подлинность одобренного заявления о возврате
  • Получает объект возврата и обновляет его статус на approved
  • Отправляет заявку в совет для рассмотрения
    Аргументы
    coopnameНаименование кооператива
    approverНаименование пользователя-одобряющего
    withdraw_hashХеш заявки на возврат для одобрения
    approved_return_statementОдобренное заявление о возврате
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ apprvappndx()

void capital::apprvappndx ( eosio::name  coopname,
checksum256  appendix_hash,
document2  approved_document 
)

Одобряет приложение к договору УХД Одобряет приложение к договору УХД и добавляет проект к пайщику:

  • Проверяет существование приложения
  • Валидирует статус приложения (должен быть CREATED)
  • Проверяет существование пайщика с основным договором УХД
  • Добавляет проект в вектор приложений пайщика
  • Удаляет приложение из базы
    Аргументы
    coopnameНаименование кооператива
    appendix_hashХеш приложения к договору
    approved_documentОдобренный документ приложения
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ apprvpinv()

void capital::apprvpinv ( eosio::name  coopname,
checksum256  invest_hash,
document2  approved_statement 
)

Одобряет программную инвестицию Одобряет программную инвестицию и обрабатывает все связанные операции:

  • Получает программную инвестицию и активного пайщика
  • Списывает заблокированные средства с кошелька
  • Пополняет кошелек программы капитализации и блокирует средства
  • Добавляет средства в глобальный пул доступных инвестиций
  • Удаляет инвестицию после обработки
    Аргументы
    coopnameНаименование кооператива
    invest_hashХеш программной инвестиции для одобрения
    approved_statementОдобренное заявление об инвестиции
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ authpgprp()

void capital::authpgprp ( eosio::name  coopname,
checksum256  property_hash,
document2  decision 
)

Авторизует предложение по программному имущественному взносу советом Авторизует предложение по программному имущественному взносу советом:

  • Проверяет подлинность документа решения совета
  • Получает предложение и валидирует его статус (должен быть approved)
  • Сохраняет решение совета
  • Обновляет статус на authorized
    Аргументы
    coopnameНаименование кооператива
    property_hashХеш программного имущественного взноса для авторизации
    decisionДокумент решения совета
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ authrslt()

void capital::authrslt ( eosio::name  coopname,
checksum256  result_hash,
document2  decision 
)

Авторизует результат участника советом Авторизует результат участника советом:

  • Проверяет подлинность документа решения совета
  • Валидирует статус результата (должен быть approved)
  • Устанавливает документ авторизации
  • Обновляет статус на authorized
    Аргументы
    coopnameНаименование кооператива
    result_hashХеш результата для авторизации
    decisionДокумент решения совета
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ calcvotes()

void capital::calcvotes ( name  coopname,
name  username,
checksum256  project_hash 
)

Завершение голосования для конкретного участника по методу Водянова Рассчитывает полные итоговые суммы участника включая:

  • Результаты голосования по Водянову: (сумма голосов + средняя сумма распределения) / количество голосующих
  • Фиксированные распределения: 61.8% авторских премий равно между авторами, 61.8% создательских премий прямо создателям Обновляет сегмент участника с итоговыми суммами раздельно по пулам
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника голосования
    project_hashХеш проекта для которого завершается голосование
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ capauthexpns()

void capital::capauthexpns ( eosio::name  coopname,
checksum256  expense_hash,
document2  authorization 
)

Авторизует расход в проекте советом Авторизует расход в проекте советом и создает исходящий платеж:

  • Получает расход и валидирует его статус (должен быть approved)
  • Проверяет регистрацию пользователя
  • Авторизует расход (обновляет статус)
  • Создает объект исходящего платежа в gateway с коллбэком
    Аргументы
    coopnameНаименование кооператива
    expense_hashХеш расхода для авторизации
    authorizationДокумент авторизации совета
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ capauthwthd2()

void capital::capauthwthd2 ( eosio::name  coopname,
checksum256  withdraw_hash,
document2  authorization 
)

Авторизует возврат из проекта советом Авторизует возврат из проекта советом и выполняет операции с балансами:

  • Получает объект возврата
  • Списывает заблокированные средства из программы капитализации
  • Добавляет доступные средства в кошелек программы
  • Распределяет членские средства в проекте
  • Удаляет объект возврата
    Аргументы
    coopnameНаименование кооператива
    withdraw_hashХеш заявки на возврат для авторизации
    authorizationДокумент авторизации совета
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ capauthwthd3()

void capital::capauthwthd3 ( eosio::name  coopname,
checksum256  withdraw_hash,
document2  authorization 
)

Авторизует возврат из программы капитализации советом Авторизует возврат из программы капитализации советом и выполняет операции с балансами:

  • Получает объект возврата
  • Списывает заблокированные средства из программы капитализации
  • Добавляет доступные средства в кошелек программы
  • Удаляет объект возврата
    Аргументы
    coopnameНаименование кооператива
    withdraw_hashХеш заявки на возврат для авторизации
    authorizationДокумент авторизации совета
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ capdeclexpns()

void capital::capdeclexpns ( eosio::name  coopname,
checksum256  expense_hash 
)

Отклоняет расход в проекте советом Отклоняет расход в проекте советом и возвращает средства в пул:

  • Получает расход
  • Возвращает средства в пул расходов проекта
  • Удаляет запись расхода
    Аргументы
    coopnameНаименование кооператива
    expense_hashХеш расхода для отклонения
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ capdeclwthd2()

void capital::capdeclwthd2 ( name  coopname,
checksum256  withdraw_hash,
std::string  reason 
)

Отклоняет возврат из проекта советом Отклоняет возврат из проекта советом и возвращает средства в проект:

  • Получает объект возврата
  • Возвращает available средства в проект
  • Удаляет объект возврата
    Аргументы
    coopnameНаименование кооператива
    withdraw_hashХеш заявки на возврат для отклонения
    reasonПричина отклонения возврата
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ capdeclwthd3()

void capital::capdeclwthd3 ( name  coopname,
checksum256  withdraw_hash,
std::string  reason 
)

Отклоняет возврат из программы капитализации советом Отклоняет возврат из программы капитализации советом и возвращает средства:

  • Получает объект возврата
  • Возвращает средства обратно в capital_available через capital_wallet
  • Обновляет глобальное состояние (возвращает средства в доступные)
  • Удаляет заявку
    Аргументы
    coopnameНаименование кооператива
    withdraw_hashХеш заявки на возврат для отклонения
    reasonПричина отклонения возврата
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ cmpltvoting()

void capital::cmpltvoting ( name  coopname,
checksum256  project_hash 
)

Завершает голосование Завершает процесс голосования и переводит проект в завершенный статус:

  • Проверяет существование проекта
  • Валидирует что проект в статусе voting
  • Проверяет что голосование завершено
  • Обновляет статус проекта на completed
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для завершения голосования
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ convertsegm()

void capital::convertsegm ( eosio::name  coopname,
eosio::name  username,
checksum256  project_hash,
checksum256  convert_hash,
asset  wallet_amount,
asset  capital_amount,
asset  project_amount,
document2  convert_statement 
)

Конвертирует сегмент участника в различные типы кошельков Конвертирует сегмент участника в кошелек, капитал и кошелек проекта:

  • Проверяет статус сегмента (должен быть contributed)
  • Валидирует актуальность сегмента
  • Проверяет что долг уже погашен после pushrslt
  • Проверяет наличие средств для конвертации (с учетом погашенного долга)
  • Валидирует корректность сумм конвертации
  • Выполняет операции с балансами (кошелек, капитал, проект)
  • Обновляет сегмент и доли проекта
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника
    project_hashХеш проекта
    convert_hashХеш конвертации
    wallet_amountСумма для конвертации в кошелек
    capital_amountСумма для конвертации в капитал
    project_amountСумма для конвертации в кошелек проекта
    convert_statementЗаявление о конвертации
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createcmmt()

void capital::createcmmt ( eosio::name  coopname,
eosio::name  username,
checksum256  project_hash,
checksum256  commit_hash,
uint64_t  creator_hours 
)

Создает коммит в проект Создает коммит с затраченным временем создателя и отправляет на одобрение:

  • Проверяет существование проекта и его активный статус
  • Валидирует активность основного договора УХД
  • Проверяет наличие приложения к проекту
  • Валидирует уникальность коммита по хешу
  • Проверяет положительность часов создателя
  • Рассчитывает сумму фактических затрат создателя
  • Вычисляет фактическое изменение сумм генерации
  • Создает коммит и отправляет на одобрение
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-создателя
    project_hashХеш проекта
    commit_hashХеш коммита
    creator_hoursКоличество часов создателя
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createdebt()

void capital::createdebt ( name  coopname,
name  username,
checksum256  project_hash,
checksum256  debt_hash,
asset  amount,
time_point_sec  repaid_at,
document2  statement 
)

Создает долг в проекте Создает долг в проекте с проверкой доступности средств и отправляет на одобрение:

  • Проверяет подлинность заявления о долге
  • Валидирует сумму долга
  • Проверяет существование участника в проекте
  • Валидирует актуальность сегмента (CRPS обновлен)
  • Проверяет доступность средств для ссуды
  • Обновляет debt_amount в сегменте
  • Создает долг во внутренней таблице
  • Создает аппрув для долга
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-заемщика
    project_hashХеш проекта
    debt_hashХеш долга
    amountСумма долга
    repaid_atДата погашения долга
    statementЗаявление о долге
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createexpnse()

void capital::createexpnse ( eosio::name  coopname,
checksum256  expense_hash,
checksum256  project_hash,
name  creator,
asset  amount,
std::string  description,
document2  statement 
)

Создает расход в проекте Создает расход в проекте с резервированием средств:

  • Проверяет подлинность заявления о расходе
  • Валидирует сумму расхода (положительная)
  • Проверяет что создатель является участником проекта
  • Валидирует уникальность расхода по хешу
  • Проверяет доступность средств в пуле расходов проекта
  • Резервирует средства в проекте
  • Создает запись расхода
    Аргументы
    coopnameНаименование кооператива
    expense_hashХеш расхода
    project_hashХеш проекта
    creatorНаименование пользователя-создателя расхода
    amountСумма расхода
    descriptionОписание расхода
    statementЗаявление о расходе
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createinvest()

void capital::createinvest ( name  coopname,
name  username,
checksum256  project_hash,
checksum256  invest_hash,
asset  amount,
document2  statement 
)

Создает инвестицию в проект Создает инвестицию в проект с блокировкой средств и отправкой на одобрение:

  • Проверяет подлинность заявления об инвестиции
  • Валидирует сумму инвестиции
  • Проверяет активность договора УХД и приложения к проекту
  • Валидирует статус проекта (открыт для инвестиций)
  • Блокирует средства в программе кошелька
  • Создает инвестицию и отправляет на одобрение
  • Обновляет информацию о координаторе если необходимо
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-инвестора
    project_hashХеш проекта для инвестиции
    invest_hashХеш инвестиции
    amountСумма инвестиции
    statementЗаявление об инвестиции
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createpgprp()

void capital::createpgprp ( eosio::name  coopname,
eosio::name  username,
checksum256  property_hash,
eosio::asset  property_amount,
std::string  property_description,
document2  statement 
)

Создает предложение по программному имущественному взносу Создает предложение по программному имущественному взносу и отправляет на одобрение:

  • Проверяет подлинность документа-заявления
  • Валидирует активность основного договора УХД
  • Валидирует уникальность предложения по хешу
  • Валидирует сумму и описание имущества
  • Создает предложение и отправляет на одобрение
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-вкладчика
    property_hashХеш программного имущественного взноса
    property_amountСтоимость имущества
    property_descriptionОписание имущества
    statementЗаявление об имущественном взносе
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createpinv()

void capital::createpinv ( name  coopname,
name  username,
checksum256  invest_hash,
asset  amount,
document2  statement 
)

Создает программную инвестицию Создает программную инвестицию с блокировкой средств и отправкой на одобрение:

  • Проверяет подлинность заявления об инвестиции
  • Валидирует сумму инвестиции
  • Проверяет активность основного договора УХД
  • Проверяет наличие кошелька в программе капитализации
  • Блокирует средства в кошельке пайщика
  • Создает программную инвестицию и отправляет на одобрение
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-инвестора
    invest_hashХеш программной инвестиции
    amountСумма инвестиции
    statementЗаявление об инвестиции
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createpjprp()

void capital::createpjprp ( eosio::name  coopname,
eosio::name  username,
checksum256  project_hash,
checksum256  property_hash,
eosio::asset  property_amount,
std::string  property_description 
)

Создает предложение по имущественному взносу в проект Создает предложение по имущественному взносу в проект и отправляет на одобрение:

  • Проверяет существование проекта и его активный статус
  • Валидирует активность основного договора УХД
  • Проверяет наличие приложения к проекту
  • Валидирует уникальность предложения по хешу
  • Валидирует сумму и описание имущества
  • Создает предложение и отправляет на одобрение
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-вкладчика
    project_hashХеш проекта
    property_hashХеш имущественного взноса
    property_amountСтоимость имущества
    property_descriptionОписание имущества
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createproj()

void capital::createproj ( eosio::name  coopname,
checksum256  project_hash,
checksum256  parent_hash,
std::string  title,
std::string  description,
std::string  meta,
bool  can_convert_to_project 
)

Создаёт проект Выполняет проверки и создает новый проект в системе кооператива:

  • Проверяет отсутствие проекта с указанным хешем
  • Валидирует родительский хеш согласно правилам проектов
  • Создает запись в таблице projects со статусом created
    Аргументы
    coopnameИмя кооператива (scope таблицы)
    project_hashУникальный хэш проекта
    parent_hashХэш родителя или пустой хэш, если проект корневой
    titleНазвание проекта
    descriptionОписание проекта
    metaДополнительные метаданные проекта
    can_convert_to_projectРазрешена ли конвертация в кошелек данного проекта
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createwthd2()

void capital::createwthd2 ( name  coopname,
name  username,
checksum256  project_hash,
checksum256  withdraw_hash,
asset  amount,
document2  return_statement 
)

Создает заявку на возврат из проекта Создает заявку на возврат средств из проекта с проверкой доступности:

  • Проверяет подлинность заявления о возврате
  • Валидирует существование проекта и активность договора УХД
  • Проверяет наличие приложения к проекту
  • Валидирует существование и актуальность кошелька проекта
  • Проверяет достаточность накопленных средств от членских взносов
  • Создает заявку на возврат без изменения долей участника
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника
    project_hashХеш проекта
    withdraw_hashХеш заявки на возврат
    amountСумма возврата
    return_statementЗаявление о возврате
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ createwthd3()

void capital::createwthd3 ( name  coopname,
name  username,
checksum256  withdraw_hash,
asset  amount,
document2  return_statement 
)

Создает заявку на возврат из программы капитализации Создает заявку на возврат средств из программы капитализации:

  • Проверяет подлинность заявления о возврате
  • Проверяет наличие баланса в программе капитализации
  • Обновляет CRPS через capital_wallet
  • Проверяет уникальность заявки по хешу
  • Обрабатывает вывод средств через core функцию
  • Создает заявку на возврат
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника
    withdraw_hashХеш заявки на возврат
    amountСумма возврата
    return_statementЗаявление о возврате
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ dclineappndx()

void capital::dclineappndx ( eosio::name  coopname,
checksum256  appendix_hash,
std::string  reason 
)

Отклоняет приложение к договору УХД Отклоняет приложение к договору УХД и удаляет его из базы:

  • Проверяет существование приложения
  • Удаляет приложение из базы данных с указанием причины
    Аргументы
    coopnameНаименование кооператива
    appendix_hashХеш приложения к договору
    reasonПричина отклонения приложения
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ debtauthcnfr()

void capital::debtauthcnfr ( eosio::name  coopname,
checksum256  debt_hash,
document2  decision 
)

Авторизует долг в проекте советом Авторизует долг в проекте советом и создает исходящий платеж:

  • Получает долг
  • Обновляет статус долга на authorized
  • Создает объект исходящего платежа в gateway с коллбэком
    Аргументы
    coopnameНаименование кооператива
    debt_hashХеш долга для авторизации
    decisionДокумент решения совета
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ debtpaycnfrm()

void capital::debtpaycnfrm ( name  coopname,
checksum256  debt_hash 
)

Подтверждает оплату выданной ссуды. Подтверждает оплату выданной ссуды и переводит долг в статус PAID:

Аргументы
coopnameНаименование кооператива
debt_hashХеш-идентификатор ссуды для подтверждения оплаты
Заметки
Авторизация требуется от аккаунта: _gateway

◆ debtpaydcln()

void capital::debtpaydcln ( name  coopname,
checksum256  debt_hash,
std::string  reason 
)

Отклоняет оплату долга Отклоняет оплату долга и удаляет его из базы данных:

  • Получает долг
  • Удаляет долг из базы данных с указанием причины
    Аргументы
    coopnameНаименование кооператива
    debt_hashХеш долга для отклонения оплаты
    reasonПричина отклонения оплаты долга
    Заметки
    Авторизация требуется от аккаунта: _gateway

◆ declinecmmt()

void capital::declinecmmt ( eosio::name  coopname,
eosio::name  master,
checksum256  commit_hash,
std::string  reason 
)

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

  • Проверяет что отклонение идет от мастера проекта
  • Получает коммит
  • Удаляет коммит из базы данных с указанием причины
    Аргументы
    coopnameНаименование кооператива
    masterМастер проекта, отклоняющий коммит
    commit_hashХеш коммита для отклонения
    reasonПричина отклонения коммита
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ declinedebt()

void capital::declinedebt ( name  coopname,
checksum256  debt_hash,
std::string  reason 
)

Отклоняет долг в проекте Отклоняет долг в проекте и восстанавливает доступные средства:

  • Получает долг и участника
  • Проверяет существование сегмента
  • Уменьшает debt_amount в сегменте
  • Удаляет долг из базы данных
    Аргументы
    coopnameНаименование кооператива
    debt_hashХеш долга для отклонения
    reasonПричина отклонения долга
    Заметки
    Авторизация требуется от аккаунта: _gateway

◆ declineinvst()

void capital::declineinvst ( eosio::name  coopname,
checksum256  invest_hash,
document2  decline_statement 
)

Отклоняет инвестицию в проект Отклоняет инвестицию в проект и разблокирует средства:

  • Получает инвестицию
  • Разблокирует средства в программе кошелька
  • Удаляет инвестицию из базы данных
    Аргументы
    coopnameНаименование кооператива
    invest_hashХеш инвестиции для отклонения
    decline_statementОтклоненное заявление об инвестиции
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ declinepgprp()

void capital::declinepgprp ( eosio::name  coopname,
checksum256  property_hash,
std::string  reason 
)

Отклоняет предложение по программному имущественному взносу Отклоняет предложение по программному имущественному взносу и удаляет его из базы:

  • Получает предложение по программному имущественному взносу
  • Удаляет предложение из базы данных с указанием причины
    Аргументы
    coopnameНаименование кооператива
    property_hashХеш программного имущественного взноса для отклонения
    reasonПричина отклонения предложения
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ declinepjprp()

void capital::declinepjprp ( eosio::name  coopname,
checksum256  property_hash,
std::string  reason 
)

Отклоняет предложение по имущественному взносу в проект Отклоняет предложение по имущественному взносу и удаляет его из базы:

  • Получает предложение по имущественному взносу
  • Удаляет предложение из базы данных с указанием причины
    Аргументы
    coopnameНаименование кооператива
    property_hashХеш имущественного взноса для отклонения
    reasonПричина отклонения предложения
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ declinereg()

void capital::declinereg ( eosio::name  coopname,
checksum256  contributor_hash,
std::string  reason 
)

Отклоняет председателем договор УХД и удаляет вкладчика из базы Отклоняет регистрацию вкладчика и удаляет его из системы кооператива:

  • Проверяет существование вкладчика по хешу
  • Валидирует статус вкладчика (должен быть PENDING)
  • Удаляет вкладчика из базы данных с указанием причины
    Аргументы
    coopnameИмя кооператива
    contributor_hashХэш контрибьютора
    reasonПричина отклонения
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ declpinv()

void capital::declpinv ( eosio::name  coopname,
checksum256  invest_hash,
document2  declined_statement 
)

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

  • Получает программную инвестицию и активного пайщика
  • Разблокирует средства в кошельке
  • Удаляет инвестицию после отклонения
    Аргументы
    coopnameНаименование кооператива
    invest_hashХеш программной инвестиции для отклонения
    declined_statementОтклоненное заявление об инвестиции
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ declrslt()

void capital::declrslt ( eosio::name  coopname,
checksum256  result_hash,
std::string  reason 
)

Отклоняет результат участника советом Отклоняет результат участника советом и возвращает статус сегмента:

  • Проверяет подлинность документа решения совета
  • Валидирует статус результата (должен быть approved)
  • Удаляет объект результата и возвращает статус сегмента в ready
    Аргументы
    coopnameНаименование кооператива
    result_hashХеш результата для отклонения
    reasonПричина отклонения
    Заметки
    Авторизация требуется от аккаунта: _soviet

◆ delproject()

void capital::delproject ( name  coopname,
checksum256  project_hash 
)

Удаляет проект Удаляет проект из системы кооператива:

  • Проверяет существование проекта
  • Валидирует что проект в статусе completed
  • Проверяет что все сегменты сконвертированы (удалены)
  • Проверяет что в проектном кошельке 0 total_shares
  • Удаляет проект
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для удаления
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ diallocate()

void capital::diallocate ( eosio::name  coopname,
checksum256  project_hash 
)

Деаллоцирует неиспользованные программные инвестиции из проекта Деаллоцирует неиспользованные программные инвестиции из закрытого проекта:

  • Проверяет что проект закрыт
  • Проверяет наличие неиспользованных программных средств
  • Рассчитывает неиспользованную сумму программных средств при коэффициенте > 100%
  • Возвращает неиспользованные программные средства в глобальный пул
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для деаллокации
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ expandexpnss()

void capital::expandexpnss ( name  coopname,
checksum256  project_hash,
asset  additional_expenses 
)

Расширяет пул расходов проекта Увеличивает целевой размер пула расходов для активного проекта:

  • Проверяет существование проекта
  • Валидирует что проект в активном состоянии
  • Валидирует дополнительные расходы (положительные)
  • Увеличивает целевой размер пула расходов через доменную логику
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    additional_expensesДополнительные расходы для добавления
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ exppaycnfrm()

void capital::exppaycnfrm ( eosio::name  coopname,
checksum256  expense_hash 
)

Подтверждает оплату расхода Подтверждает оплату расхода и завершает процесс:

  • Получает расход и валидирует его статус (должен быть authorized)
  • Проверяет регистрацию пользователя
  • Обновляет used_expense_pool в проекте
  • Удаляет запись расхода
    Аргументы
    coopnameНаименование кооператива
    expense_hashХеш расхода для подтверждения оплаты
    Заметки
    Авторизация требуется от аккаунта: _gateway

◆ fundprog()

void capital::fundprog ( eosio::name  coopname,
asset  amount,
std::string  memo 
)

Финансирует программу капитализации Финансирует программу капитализации из внешних источников:

  • Валидирует сумму финансирования
  • Распределяет средства программы капитализации
    Аргументы
    coopnameНаименование кооператива
    amountСумма финансирования
    memoМемо для транзакции
    Заметки
    Авторизация требуется от аккаунта: _soviet или _gateway

◆ fundproj()

void capital::fundproj ( eosio::name  coopname,
checksum256  project_hash,
asset  amount,
std::string  memo 
)

Финансирует проект из внешних источников Финансирует проект из внешних источников и распределяет членские взносы:

  • Валидирует сумму финансирования
  • Проверяет существование проекта
  • Проверяет наличие долей для распределения членских взносов
  • Распределяет членские взносы в проекте
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для финансирования
    amountСумма финансирования
    memoМемо для транзакции
    Заметки
    Авторизация требуется от аккаунта: _soviet или _gateway

◆ getclearance()

void capital::getclearance ( eosio::name  coopname,
eosio::name  username,
checksum256  project_hash,
checksum256  appendix_hash,
document2  document 
)

Подписывает приложение к договору УХД для участия в проекте Создает приложение к договору УХД для участия пайщика в проекте:

  • Проверяет что пользователь подписал основной договор УХД
  • Валидирует уникальность приложения по хешу
  • Проверяет отсутствие существующего приложения для проекта
  • Создает приложение к договору УХД
  • Отправляет на одобрение председателю
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-пайщика
    project_hashХеш проекта для участия
    appendix_hashХеш приложения к договору
    documentДокумент приложения к договору
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ importcontrib()

void capital::importcontrib ( eosio::name  coopname,
eosio::name  username,
checksum256  contributor_hash,
eosio::asset  contribution_amount,
std::string  memo 
)

Импорт внешнего вкладчика с автоматическим созданием записи и внесением взносов Создает запись вкладчика в системе капитализации для внешних участников кооператива:

  • Проверяет отсутствие конфигурации кооператива для возможности импорта
  • Валидирует сумму первоначальных взносов
  • Создает запись вкладчика со статусом ACTIVE и внешним договором УХД
  • Открывает программный кошелек в программе капитализации
  • Зачисляет первоначальные взносы с блокировкой средств
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование импортируемого вкладчика
    contributor_hashУникальный хеш для идентификации вкладчика
    contribution_amountСумма первоначальных взносов в программу капитализации
    memoМемо для импортированных вкладчиков
    Заметки
    Авторизация требуется от аккаунта: coopname
    Импорт возможен только до установки конфигурации кооператива
    Постусловие
    Создается запись вкладчика со статусом ACTIVE
    Открывается программный кошелек в программе капитализации
    Зачисляются первоначальные взносы с блокировкой средств

◆ openproject()

void capital::openproject ( name  coopname,
checksum256  project_hash 
)

Открывает проект на приём инвестиций Переводит проект в статус открытого для приема инвестиций:

  • Проверяет существование проекта
  • Валидирует что проект еще не открыт
  • Открывает проект через доменную логику
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для открытия
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ pushrslt()

void capital::pushrslt ( name  coopname,
name  username,
checksum256  project_hash,
checksum256  result_hash,
eosio::asset  contribution_amount,
eosio::asset  debt_amount,
document2  statement,
std::vector< checksum256 >  debt_hashes = {} 
)

Вносит результат участника в проект Вносит результат участника в завершенный проект с обработкой долгов и обновлением долей:

  • Проверяет подлинность заявления о результате
  • Валидирует входные параметры (суммы взноса и долга)
  • Проверяет завершенность проекта и актуальность сегмента
  • Валидирует сегмент участника и его статус
  • Проверяет соответствие сумм взноса и долга
  • Создает объект результата
  • Обновляет сегмент после принятия результата и пересчитывает доли
  • Обновляет накопительные показатели контрибьютора
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника
    project_hashХеш проекта
    result_hashХеш результата
    contribution_amountСумма взноса в результат
    debt_amountСумма долга для погашения
    statementЗаявление о результате
    debt_hashesВектор хэшей долгов для погашения (опционально)
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ refreshprog()

void capital::refreshprog ( name  coopname,
name  username 
)

Обновляет CRPS пайщика в программе капитализации Обновляет CRPS (систему вознаграждений программы) пайщика:

  • Обновляет CRPS в capital_wallet через core функцию
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-пайщика
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ refreshproj()

void capital::refreshproj ( name  coopname,
checksum256  project_hash,
name  username 
)

Обновляет кошелек проекта участника Обновляет кошелек проекта участника через CRPS систему:

  • Проверяет существование проекта
  • Обновляет кошелек проекта участника через CRPS систему
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    usernameНаименование пользователя-участника
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ regcontrib()

void capital::regcontrib ( eosio::name  coopname,
eosio::name  username,
checksum256  contributor_hash,
eosio::asset  rate_per_hour,
bool  is_external_contract,
document2  contract 
)

Регистрация пайщика в контракте и получение договора УХД от него Создает нового пайщика в системе кооператива с указанными параметрами:

  • Проверяет уникальность пайщика по имени и хешу
  • Валидирует договор УХД (если не внешний)
  • Создает запись пайщика с указанной почасовой ставкой
  • Отправляет договор на одобрение председателю
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-пайщика
    contributor_hashХеш пайщика для идентификации
    rate_per_hourПочасовая ставка пайщика
    is_external_contractФлаг внешнего договора
    contractДоговор УХД пайщика
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ regshare()

void capital::regshare ( name  coopname,
checksum256  project_hash,
name  username 
)

Добавляет вкладчика в проект через CRPS систему Добавляет вкладчика в проект через систему CRPS с автоматическими проверками:

  • Проверяет существование проекта
  • Выполняет проверки через CRPS систему (активный договор УХД, приложение к проекту, положительный баланс)
  • Добавляет вкладчика через CRPS систему
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    usernameНаименование пользователя-вкладчика
    Заметки
    Авторизация требуется от аккаунта: username

◆ returnunused()

void capital::returnunused ( name  coopname,
checksum256  project_hash,
name  username 
)

Возвращает неиспользованные инвестиции Возвращает неиспользованные инвестиции инвестора из закрытого проекта:

  • Проверяет что проект закрыт
  • Валидирует что пользователь является инвестором проекта
  • Рассчитывает неиспользованную сумму инвестиций
  • Разблокирует неиспользованные средства и возвращает в кошелек программы
  • Обновляет проект - увеличивает сумму возвращенных инвестиций
  • Обновляет сегмент - устанавливает фактически используемую сумму
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    usernameНаименование пользователя-инвестора
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ rfrshsegment()

void capital::rfrshsegment ( name  coopname,
checksum256  project_hash,
name  username 
)

Обновляет сегмент участника через CRPS систему Обновляет сегмент участника проекта через систему CRPS:

  • Проверяет существование проекта
  • Обновляет сегмент участника через CRPS систему
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    usernameНаименование пользователя-участника
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ setconfig()

void capital::setconfig ( name  coopname,
Capital::config  config 
)

Устанавливает или обновляет конфигурацию контракта для кооператива.

Устанавливает конфигурацию кооператива Обновляет глобальное состояние контракта для указанного кооператива:

  • Валидирует параметры конфигурации (проценты, периоды, лимиты)
  • Создает новую запись конфигурации если отсутствует
  • Модифицирует существующую конфигурацию
    Аргументы
    coopnameИмя кооператива
    configНовая конфигурация кооператива
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ setmaster()

void capital::setmaster ( name  coopname,
checksum256  project_hash,
name  master 
)

Устанавливает мастера проекта Назначает мастера для управления проектом:

  • Проверяет существование проекта
  • Валидирует что пользователь подписал договор УХД
  • Проверяет что пользователь является участником проекта
  • Назначает мастера проекта
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта
    masterНаименование пользователя-мастера
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ setplan()

void capital::setplan ( name  coopname,
name  master,
checksum256  project_hash,
uint64_t  plan_creators_hours,
asset  plan_expenses,
asset  plan_hour_cost 
)

Устанавливает плановые показатели проекта Рассчитывает плановые пулы (себестоимости, премии, инвестиции, расходы) на основании входных параметров:

  • Проверяет что мастер проекта совпадает с устанавливающим план
  • Валидирует что проект в статусе pending
  • Валидирует входные параметры (время, расходы, стоимость часа)
  • Вычисляет плановые показатели через ядро
  • Устанавливает плановые показатели проекта
    Аргументы
    coopnameИмя кооператива (scope таблицы)
    masterНаименование мастера проекта
    project_hashХэш проекта, для которого устанавливается план
    plan_creators_hoursПланируемое время создателей в часах (> 0)
    plan_expensesПланируемый целевой размер пула расходов (asset)
    plan_hour_costПланируемая стоимость часа создателя (asset)
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ settledebt()

void capital::settledebt ( name  coopname,
name  username,
eosio::asset  amount,
document2  statement 
)

Погашает долг участника Погашает долг участника в системе кооператива:

  • Проверяет подлинность заявления о погашении
  • Обрабатывает погашение долга (TODO: реализация)
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-должника
    amountСумма погашения долга
    statementЗаявление о погашении долга
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ signact1()

void capital::signact1 ( eosio::name  coopname,
eosio::name  username,
checksum256  result_hash,
document2  act 
)

Подписывает акт 1 по результату участника Подписывает первый акт по результату участника:

  • Проверяет подлинность документа акта от участника
  • Валидирует статус результата (должен быть authorized)
  • Проверяет права участника на подписание акта
  • Устанавливает первый акт
  • Обновляет статус на act1
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-участника
    result_hashХеш результата
    actДокумент акта 1
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ signact2()

void capital::signact2 ( eosio::name  coopname,
eosio::name  chairman,
checksum256  result_hash,
document2  act 
)

Подписывает акт 2 по результату участника Подписывает второй акт председателем и завершает процесс принятия результата:

  • Проверяет что подписывает председатель
  • Валидирует статус результата (должен быть act1)
  • Проверяет подлинность документа акта от председателя и участника
  • Устанавливает второй акт
  • Обновляет статус сегмента на accepted
  • Удаляет объект результата после успешного принятия
    Аргументы
    coopnameНаименование кооператива
    usernameНаименование пользователя-председателя
    result_hashХеш результата
    actДокумент акта 2
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ startproject()

void capital::startproject ( name  coopname,
checksum256  project_hash 
)

Запускает проект на приём коммитов Переводит проект в активный статус для приема коммитов:

  • Проверяет существование проекта
  • Валидирует что проект в статусе pending
  • Обновляет статус проекта на active
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для запуска
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ startvoting()

void capital::startvoting ( name  coopname,
checksum256  project_hash 
)

Завершает проект и начинает голосование Переводит проект в статус голосования и инициализирует процесс:

  • Проверяет существование проекта
  • Валидирует что проект в статусе active
  • Обновляет статус проекта на voting
  • Инициализирует голосование по методу Водянова
    Аргументы
    coopnameНаименование кооператива
    project_hashХеш проекта для начала голосования
    Заметки
    Авторизация требуется от аккаунта: coopname

◆ submitvote()

void capital::submitvote ( name  coopname,
name  voter,
checksum256  project_hash,
std::vector< Capital::vote_input votes 
)

Подает голос по методу Водянова Участник распределяет общую голосующую сумму между остальными участниками:

  • Проверяет статус проекта и срок голосования
  • Валидирует участника голосования
  • Проверяет корректность голосов (суммы, получатели, уникальность)
  • Сохраняет голоса в системе
  • Обновляет счетчик полученных голосов
    Аргументы
    coopnameНаименование кооператива
    voterНаименование пользователя-голосующего
    project_hashХеш проекта для голосования
    votesВектор голосов для распределения
    Заметки
    Авторизация требуется от аккаунта: coopname