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

Константы контракта кооперативных участков Подробнее...

#include <branch.hpp>

Граф наследования:branch:

Открытые члены

 branch (eosio::name receiver, eosio::name code, eosio::datastream< const char * > ds)
 
void init ()
 Инициализация контракта кооперативных участков. Выполняет начальную настройку контракта. Подробнее...
 
void migrate ()
 Инициализация контракта кооперативных участков. Выполняет начальную настройку контракта. Подробнее...
 
void createbranch (eosio::name coopname, eosio::name braname, eosio::name trustee)
 Создание нового кооперативного участка. Создает новый кооперативный участок с указанным председателем. При создании третьего участка автоматически активирует систему кооперативных участков. Подробнее...
 
void editbranch (eosio::name coopname, eosio::name braname, eosio::name trustee)
 Редактирование кооперативного участка. Изменяет председателя существующего кооперативного участка. Подробнее...
 
void deletebranch (eosio::name coopname, eosio::name braname)
 Удаление кооперативного участка. Удаляет существующий кооперативный участок и отключает его участников. При удалении участка, когда остается менее 3 участков, автоматически отключает систему кооперативных участков. Подробнее...
 
void addtrusted (eosio::name coopname, eosio::name braname, eosio::name trusted)
 Добавление доверенного лица в кооперативный участок. Добавляет нового доверенного лица в существующий кооперативный участок. Максимальное количество доверенных лиц на один участок - 3. Подробнее...
 
void deltrusted (eosio::name coopname, eosio::name braname, eosio::name trusted)
 Удаление доверенного лица из кооперативного участка. Удаляет доверенное лицо из существующего кооперативного участка. Подробнее...
 
void setprivate (eosio::name coopname, eosio::name braname, bool is_private)
 Установка признака приватности кооперативного участка. Приватный кооперативный участок нельзя выбрать при вступлении или смене участка, если аккаунт пайщика не добавлен в белый список этого участка. Подробнее...
 
void addwhite (eosio::name coopname, eosio::name braname, eosio::name account)
 Добавление пайщика в белый список кооперативного участка. Пайщики из белого списка могут выбрать приватный кооперативный участок при вступлении или смене участка. В белый список можно добавить любого пайщика кооператива. Подробнее...
 
void delwhite (eosio::name coopname, eosio::name braname, eosio::name account)
 Удаление аккаунта из белого списка кооперативного участка. Удаляет аккаунт пайщика из белого списка приватного кооперативного участка. Подробнее...
 
void createdec (eosio::name coopname, eosio::checksum256 hash, eosio::name type, eosio::name initiator, document2 proposal, eosio::name braname, std::vector< decision_point > agenda)
 Объявление собрания пайщиков с повесткой (создание решения). Универсальный механизм: тип "free" — свободное решение (фиксируется протоколом), тип "createbranch" — автоматизируемое (после утверждения уходит в совет и создаёт КУ). Подробнее...
 
void joindec (eosio::name coopname, eosio::checksum256 hash, eosio::name username)
 Присоединение пайщика к собранию. Пайщик фиксируется в списке участников собрания. Подробнее...
 
void startdec (eosio::name coopname, eosio::checksum256 hash, eosio::name chairman, std::string address, std::vector< decision_point > agenda)
 Открытие голосования по решению. Организатор собрания (он же председатель собрания) открывает голосование, указывая избираемого председателя кооперативного участка (из числа присоединившихся участников) и — для решения "createbranch" — адрес привязки кооперативного участка, определённый собранием. Окно голосования отмеряется автоматически (DECISION_VOTING_WINDOW_SECONDS). Подробнее...
 
void votedec (eosio::name coopname, eosio::checksum256 hash, eosio::name username, document2 ballot, std::vector< decision_vote_point > votes)
 Голосование по вопросам повестки бюллетенем. Участник подаёт бюллетень-заявление с волеизъявлением (за/против/воздержался) по каждому вопросу повестки. Подсчёт ведёт контракт. Адаптация meet::vote. Подробнее...
 
void closedec (eosio::name coopname, eosio::checksum256 hash, document2 protocol)
 Закрытие собрания и утверждение протокола председателем. Председатель закрывает голосование и утверждает протокол одной своей подписью (секретарь не нужен — подсчёт ведёт контракт). Проверяется кворум и итог голосования. Для типа "free" — терминал: запись стирается (история — в журнале). Для "createbranch" — решение переходит в статус "approved" в ожидании исполнения действием exec (вывод вопроса на совет). Подробнее...
 
void exec (eosio::name coopname, eosio::checksum256 hash, document2 petition, document2 liability, document2 authority)
 Исполнение утверждённого решения о создании кооперативного участка. Председатель собрания формирует заявление в совет и выводит вопрос об учреждении кооперативного участка на рассмотрение совета. К повестке совета прилагаются протокол собрания и бюллетени (по тому же якорю процесса). Подробнее...
 
void confirmdec (eosio::name coopname, eosio::checksum256 hash, document2 authorization)
 Подтверждение решения советом — создание кооперативного участка. Callback совета: по утверждению учреждается кооперативный участок с реквизитами из решения (аккаунт участка, избранный председатель), после чего запись решения стирается (история — в журнале действий). Подробнее...
 
void declinedec (eosio::name coopname, eosio::checksum256 hash, std::string reason)
 Отклонение решения советом. Callback совета: при отказе совета запись решения и вопросы повестки стираются, причина передаётся аргументом (история — в журнале действий). Подробнее...
 
void canceldec (eosio::name coopname, eosio::checksum256 hash, std::string reason)
 Отмена собрания инициатором до вывода на совет. Инициатор сворачивает собрание, пока решение не ушло в совет; запись и вопросы повестки стираются, причина передаётся аргументом (история — в журнале действий). Подробнее...
 
void apprliab (eosio::name coopname, eosio::name username, eosio::checksum256 approval_hash, document2 approved_document)
 Встречная подпись председателя совета на договоре о полной материальной ответственности председателя кооперативного участка. Callback одобрения совета: председатель совета подписал договор второй подписью (механизм soviet::confirmapprv проверил его подпись). Фиксируем полностью подписанный договор в реестре документов по якорю процесса. Подробнее...
 
void declliab (eosio::name coopname, eosio::name username, eosio::checksum256 approval_hash, std::string reason)
 Запрет отклонения договора о материальной ответственности председателя участка. Callback отклонения совета: к этому моменту решение об учреждении кооперативного участка уже принято советом и участок создан, поэтому договор о материальной ответственности отклонить нельзя — председателю совета остаётся только подписать его встречной подписью (см. branch::apprliab). Действие всегда завершается ошибкой, тем самым гарантируя, что процесс не уйдёт в неопределённое состояние. Подробнее...
 
void apprauth (eosio::name coopname, eosio::name username, eosio::checksum256 approval_hash, document2 approved_document)
 Встречная подпись председателя совета на доверенности председателя кооперативного участка. Callback одобрения совета: председатель совета подписал доверенность второй подписью (механизм soviet::confirmapprv проверил его подпись). Фиксируем полностью подписанную доверенность в реестре документов по якорю одобрения. Подробнее...
 
void declauth (eosio::name coopname, eosio::name username, eosio::checksum256 approval_hash, std::string reason)
 Запрет отклонения доверенности председателя кооперативного участка. Callback отклонения совета: к этому моменту решение об учреждении кооперативного участка уже принято советом и участок создан, поэтому доверенность председателю участка отклонить нельзя — председателю совета остаётся только подписать её встречной подписью (см. branch::apprauth). Действие всегда завершается ошибкой. Подробнее...
 
void reqtrusted (eosio::name coopname, eosio::name braname, eosio::name username, eosio::checksum256 hash, document2 application, document2 authority)
 Подача заявки на приём доверенным лицом кооперативного участка. Пайщик прикладывает подписанные заявление и договор о полной материальной ответственности. Заявка ожидает одобрения председателя участка. Подробнее...
 
void apprtrusted (eosio::name coopname, eosio::checksum256 hash, document2 countersigned, document2 countersigned_authority)
 Одобрение заявки доверенного лица председателем участка. Председатель кооперативного участка накладывает встречную подпись на договор материальной ответственности и доверенность заявителя; оба полностью подписанных документа фиксируются в реестре документов, пайщик добавляется в список доверенных лиц участка, заявка стирается. Подробнее...
 
void decltrusted (eosio::name coopname, eosio::checksum256 hash, std::string reason)
 Отклонение заявки доверенного лица председателем участка. Заявка стирается, причина передаётся аргументом (история — в журнале действий). Подробнее...
 
void setweight (eosio::name coopname, eosio::name braname, eosio::name contract, eosio::name username, uint64_t weight)
 Председатель КУ задаёт/меняет вес участника в распределении членских взносов от контракта-источника. Доля = вес / Σ весов. Подробнее...
 
void delweight (eosio::name coopname, eosio::name braname, eosio::name contract, eosio::name username)
 Исключение участника из распределения (вес удаляется, доли остальных перебалансируются автоматически). Подробнее...
 
void accrue (eosio::name coopname, eosio::name braname, eosio::name source_contract, eosio::asset amount, eosio::name process_type, eosio::checksum256 process_hash, std::string memo)
 Зачисление поступивших членских взносов КУ в общий кошелёк участка (o.brn.common, 100% суммы). Вызывается inline контрактом-источником (marketplace) при финализации заказа. Подробнее...
 
void retfee (eosio::name coopname, eosio::name braname, eosio::name source_contract, eosio::asset amount, eosio::name process_type, eosio::checksum256 process_hash, std::string memo)
 Возврат членских взносов КУ из общего кошелька участка обратно в пул взносов программы-источника (o.brn.retfee) — инверсия accrue. Вызывается inline контрактом-источником (marketplace) при гарантийном возврате имущества, чтобы пайщику вернулась полная уплаченная сумма. Подробнее...
 
void distribute (eosio::name coopname, eosio::name braname, eosio::name source_contract, eosio::checksum256 round_hash, eosio::asset amount, std::string memo)
 Ручное распределение средств общего кошелька КУ между председателем и доверенными по весам реестра: команда председателя, сумма раскладывается по весам (o.brn.release + o.brn.person), остаток округления остаётся в общем кошельке. Можно частично и многократно. Плановый резерв расходов (30 дней) контролирует бэкенд до вызова. Подробнее...
 
void convert (eosio::name coopname, eosio::name username, eosio::checksum256 convert_hash, eosio::asset amount)
 Перевод персональных средств доверенного в членский кошелёк «Стола заказов» (o.brn.conv) — для заказов как обычный пайщик. Подробнее...
 
void createaid (eosio::name coopname, eosio::name username, eosio::name braname, eosio::checksum256 aid_hash, eosio::asset amount, document2 statement, std::string meta)
 Заявление на материальную помощь доверенного из его персонального кошелька: подписанное заявление вносится на повестку совета (type=brnaid). Исходящий платёж кассиру создаётся только после решения совета — в callback'е onaidauth. Подробнее...
 
void onaidauth (eosio::name coopname, eosio::checksum256 hash, document2 authorization)
 Callback от soviet — совет одобрил выплату материальной помощи. Заявление переходит в authorized, протокол сохраняется, и регистрируется исходящий платёж в gateway — заявка попадает к кассиру. Подробнее...
 
void onaiddecl (eosio::name coopname, eosio::checksum256 hash, std::string reason)
 Callback от soviet — совет отказал в выплате либо срок рассмотрения истёк. Заявление закрывается, не доходя до кассира; средства остаются на персональном кошельке. Подробнее...
 
void aidconfirm (eosio::name coopname, eosio::checksum256 outcome_hash)
 Callback от gateway::outcomplete — кассир подтвердил банковский перевод материальной помощи. Здесь применяются o.brn.aidtax (удержание налога, Дт 86 / Кт 68) и o.brn.aid (выплата, Дт 86 / Кт 51). Подробнее...
 
void aiddecline (eosio::name coopname, eosio::checksum256 outcome_hash, std::string reason)
 Callback от gateway::outdecline — перевод не состоялся; средства остаются на персональном кошельке, заявление закрывается. Подробнее...
 
void createexp (eosio::name coopname, eosio::name braname, eosio::name creator, eosio::checksum256 expense_hash, std::vector< ExpenseDomain::item > items, document2 statement)
 Подать расход участка в шасси расходов: средства уходят из общего кошелька КУ в пул расходов (o.brn.expfnd), записка передаётся шасси — решение совета, оплата по реквизитам либо аванс под отчёт, отчёт, закрытие. Подробнее...
 
void onexpdone (eosio::name coopname, eosio::checksum256 expense_hash, uint8_t status, eosio::asset total_actual, std::vector< char > data)
 Callback шасси расходов — расход завершён (отклонён советом либо закрыт). Неизрасходованный остаток возвращается в общий кошелёк участка (o.brn.expunf), запись расхода стирается. Подробнее...
 

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

Константы контракта кооперативных участков

Класс branch управляет кооперативными участками.

Конструктор(ы)

◆ branch()

branch::branch ( eosio::name  receiver,
eosio::name  code,
eosio::datastream< const char * >  ds 
)
inline

Объявления и описания членов классов находятся в файлах: