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

Функции

void soviet::creaddress (eosio::name coopname, eosio::name chairman, eosio::name braname, address_data data)
 Создание нового адреса кооператива Создает новый адрес в системе кооператива с указанными данными. Адрес может быть привязан к конкретному филиалу или быть общим для кооператива. Подробнее...
 
void soviet::deladdress (eosio::name coopname, eosio::name chairman, uint64_t address_id)
 Удаление адреса кооператива Удаляет существующий адрес из системы кооператива по его идентификатору. Подробнее...
 
void soviet::editaddress (eosio::name coopname, eosio::name chairman, eosio::name braname, uint64_t address_id, address_data data)
 Редактирование адреса кооператива Изменяет данные существующего адреса в системе кооператива. Позволяет обновить привязку к филиалу и данные адреса. Подробнее...
 
void soviet::addstaff (eosio::name coopname, eosio::name chairman, eosio::name username, std::vector< right > rights, std::string position_title)
 Добавление персонала кооператива Добавляет нового члена персонала в кооператив с указанием определенных прав на выполнение методов действий вместо совета. Подробнее...
 
void soviet::rmstaff (eosio::name coopname, eosio::name chairman, eosio::name username)
 Удаление персонала из кооператива Удаляет члена персонала из кооператива, лишая его всех прав и доступа к системе. Подробнее...
 
void soviet::setrights (eosio::name coopname, eosio::name chairman, eosio::name username, std::vector< right > rights)
 Установка прав для персонала кооператива Устанавливает конкретные права для члена персонала в кооперативе. Позволяет изменить список разрешенных действий для указанного сотрудника. Подробнее...
 
void soviet::validate (eosio::name coopname, eosio::name username, uint64_t decision_id)
 Предварительная валидация решения совета персоналом Позволяет персоналу подтвердить поступление оплаты или провести другую форму валидации перед принятием советом какого-либо решения. Подробнее...
 
void soviet::createagenda (CREATEAGENDA_SIGNATURE)
 Создание повестки дня для голосования совета Создает новую повестку дня для голосования совета по различным вопросам кооператива. Инициирует процесс принятия решения с указанными параметрами и обратными вызовами. Подробнее...
 
void soviet::confirmagree (eosio::name coopname, eosio::name administrator, eosio::name username, uint64_t agreement_id)
 Подтверждение соглашения участником Подтверждает соглашение участником целевой программы кооператива. Изменяет статус соглашения на "подтверждено" после проверки соответствия пользователя. Подробнее...
 
void soviet::declineagree (eosio::name coopname, eosio::name administrator, eosio::name username, uint64_t agreement_id, std::string comment)
 Отклонение соглашения участником Отклоняет соглашение участником целевой программы кооператива. Изменяет статус соглашения на "отклонено" и отправляет уведомление об отклонении. Подробнее...
 
void soviet::migrateagree (eosio::name coopname, uint64_t agreement_id)
 Миграция соглашения из старой таблицы в новую Переносит запись соглашения из таблицы agreements в agreements2 с обновленной структурой документа. Используется для обновления формата хранения соглашений в системе. Подробнее...
 
void soviet::sndagreement (eosio::name coopname, eosio::name administrator, eosio::name username, eosio::name agreement_type, document2 document)
 Отправка соглашения участнику Отправляет соглашение участнику кооператива для подписания. Создает новое соглашение или обновляет существующее, привязывая его к целевой программе. Подробнее...
 
void soviet::confirmapprv (eosio::name coopname, checksum256 approval_hash, document2 approved_document)
 Подтверждение одобрения документа Подтверждает одобрение документа и выполняет соответствующий обратный вызов. Удаляет запись об одобрении после успешного выполнения. Подробнее...
 
void soviet::createapprv (CREATEAPPRV_SIGNATURE)
 Создание одобрения документа Создает новое одобрение документа с указанными параметрами и обратными вызовами. Используется для инициации процесса одобрения документов в системе. Подробнее...
 
void soviet::declineapprv (eosio::name coopname, checksum256 approval_hash, std::string reason)
 Отклонение одобрения документа Отклоняет одобрение документа с указанием причины и выполняет соответствующий обратный вызов. Удаляет запись об одобрении после отклонения. Подробнее...
 
void soviet::automate (eosio::name coopname, uint64_t board_id, eosio::name member, eosio::name action_type, eosio::name provider, std::string encrypted_private_key)
 Настройка автоматизации подписи на решениях Позволяет члену совета настроить автоматическую подпись на решениях по определенным типам вопросов. Создает запись об автоматизации с зашифрованным приватным ключом. Подробнее...
 
void soviet::disautomate (eosio::name coopname, uint64_t board_id, eosio::name member, uint64_t automation_id)
 Отключение автоматизации подписи на решениях Позволяет члену совета удалить настройку автоматической подписи на решениях по определенным типам вопросов. Подробнее...
 
void soviet::createboard (eosio::name coopname, eosio::name username, eosio::name type, std::vector< board_member > members, std::string name, std::string description)
 Создание нового совета кооператива Создает новый совет с указанными членами и параметрами. При создании совета кооператива автоматически создаются базовые соглашения и адрес. Подробнее...
 
void soviet::updateboard (eosio::name coopname, eosio::name username, uint64_t board_id, std::vector< board_member > members, std::string name, std::string description)
 Обновление совета или комиссии Обновляет состав и параметры существующего совета кооператива. Позволяет изменить список членов, название и описание совета. Подробнее...
 
void soviet::deletebranch (eosio::name coopname, eosio::name braname)
 Удаление кооперативного участка Отключает всех участников от удаляемого кооперативного участка. Сбрасывает привязку участников к филиалу при его удалении. Подробнее...
 
void soviet::authorize (eosio::name coopname, eosio::name chairman, uint64_t decision_id, document2 document)
 Авторизация принятого решения советом Позволяет председателю совета утвердить принятое решение совета. Изменяет статус решения на авторизованное и добавляет документ авторизации. Подробнее...
 
void soviet::cancelexprd (eosio::name coopname, uint64_t decision_id)
 Отмена истекшего решения Отменяет решение совета по истечении срока его действия. Отправляет обратный вызов об отклонении и удаляет решение из системы. Подробнее...
 
void soviet::exec (eosio::name executer, eosio::name coopname, uint64_t decision_id)
 Исполнение решения совета Подробнее...
 
void soviet::freedecision (eosio::name coopname, eosio::name username, document2 document, std::string meta)
 Создание свободного решения совета Создает свободное решение совета без привязки к конкретному типу действия. Позволяет инициировать голосование по произвольному вопросу. Подробнее...
 
void soviet::declinedoc (eosio::name coopname, eosio::name username, checksum256 hash, document2 document)
 Отклонение документа Отклоняет документ и отправляет уведомление об отклонении. Используется для информирования о непринятии документа в системе. Подробнее...
 
void soviet::newact (NEWACT_SIGNATURE)
 Создание нового акта Создает новый акт в системе кооператива. Используется для документирования действий и событий. Подробнее...
 
void soviet::newagreement (NEWAGREEMENT_SIGNATURE)
 Уведомление о новом соглашении Отправляет уведомление о новом соглашении, созданном в системе. Используется для информирования о новых соглашениях. Подробнее...
 
void soviet::newdecision (NEWDECISION_SIGNATURE)
 Уведомление о новом решении Отправляет уведомление о новом решении, принятом в системе. Используется для информирования о принятых решениях совета. Подробнее...
 
void soviet::newdeclined (NEWDECLINED_SIGNATURE)
 Уведомление об отклоненном документе Отправляет уведомление о документе, который был отклонен в системе. Используется для информирования об отклонении документов. Подробнее...
 
void soviet::newlink (NEWLINK_SIGNATURE)
 Создание новой ссылки Создает новую ссылку в системе кооператива. Используется для связывания документов и объектов. Подробнее...
 
void soviet::newpackage (NEWPACKAGE_SIGNATURE)
 Уведомление о новом пакете документов Отправляет уведомление о новом пакете документов, созданном в системе. Используется для информирования о пакетах документов. Подробнее...
 
void soviet::newresolved (NEWRESOLVED_SIGNATURE)
 Уведомление о решенном документе Отправляет уведомление о документе, который был решен в системе. Используется для информирования о завершении обработки документов. Подробнее...
 
void soviet::newsubmitted (NEWSUBMITTED_SIGNATURE)
 Уведомление о новом представленном документе Отправляет уведомление о новом документе, представленном в систему. Используется для информирования о поступлении документов. Подробнее...
 
void soviet::fundwithdraw (eosio::name coopname, eosio::name username, eosio::name type, uint64_t withdraw_id, document2 document)
 Создание решения о выводе средств из фонда Создает решение совета о выводе средств из фонда кооператива. Инициирует процесс голосования по выводу средств. Подробнее...
 
void soviet::addpartcpnt (eosio::name coopname, eosio::name username, eosio::name braname, eosio::name type, eosio::time_point_sec created_at, eosio::asset initial, eosio::asset minimum, bool spread_initial)
 Добавление пайщика в кооператив Добавляет действующего пайщика в систему, пропуская этап подписания заявления на вступление. Позволяет установить дату регистрации и распределить взносы по фондам. Подробнее...
 
void soviet::block (eosio::name coopname, eosio::name admin, eosio::name username, std::string message)
 Блокировка участника кооператива Блокирует участника кооператива, лишая его права голоса и активного статуса. Уменьшает счетчик активных пайщиков при блокировке активного участника. Подробнее...
 
void soviet::cancelreg (eosio::name coopname, eosio::name username, std::string message)
 Отмена регистрации участника Отменяет регистрацию участника в кооперативе, обнуляя его взносы и блокируя аккаунт. Используется при отмене регистрации до принятия решения советом. Подробнее...
 
void soviet::selectbranch (eosio::name coopname, eosio::name username, eosio::name braname, document2 document)
 Выбор филиала участником Позволяет участнику выбрать филиал кооператива для привязки. Отправляет уведомления о выборе филиала в систему документооборота. Подробнее...
 
void soviet::unblock (eosio::name coopname, eosio::name admin, eosio::name username, bool is_registration, std::string message)
 Разблокировка участника кооператива Разблокирует участника кооператива, восстанавливая его права и статус. Устанавливает участника как активного с правом голоса и взносами. Подробнее...
 
void soviet::createprog (eosio::name coopname, eosio::name username, eosio::name type, std::string title, std::string announce, std::string description, std::string preview, std::string images, eosio::name calculation_type, eosio::asset fixed_membership_contribution, uint64_t membership_percent_fee, bool is_can_coop_spend_share_contributions, std::string meta)
 Создание целевой программы Создает новую целевую программу в кооперативе с указанными параметрами. Автоматически создает соответствующее соглашение для программы. Подробнее...
 
void soviet::disableprog (eosio::name coopname, uint64_t program_id)
 Отключение целевой программы Отключает существующую целевую программу, устанавливая поле is_active в false. Программа остается в системе, но становится неактивной. Подробнее...
 
void soviet::editprog (eosio::name coopname, eosio::name username, uint64_t program_id, uint64_t draft_id, std::string title, std::string announce, std::string description, std::string preview, std::string images, std::string meta)
 Редактирование целевой программы Модифицирует существующую целевую программу в кооперативе. Позволяет изменить основные параметры программы. Подробнее...
 
void soviet::init ()
 Инициализация контракта совета Подробнее...
 
void soviet::migrate ()
 Миграция данных системы Выполняет миграцию данных системы при обновлении контракта. Вызывается автоматически в CI/CD при каждом деплое. Подробнее...
 
void soviet::cancelvote (eosio::name coopname, eosio::name member, uint64_t decision_id)
 Отмена голосования членом совета Позволяет члену совета отменить свой голос, поданный ранее, по конкретному решению. В настоящее время отмена голоса запрещена (функция возвращает ошибку). Подробнее...
 
void soviet::voteagainst (std::string version, eosio::name coopname, eosio::name username, uint64_t decision_id, eosio::time_point_sec signed_at, checksum256 signed_hash, eosio::signature signature, eosio::public_key public_key)
 Голосование против решения совета Позволяет члену совета голосовать против конкретного решения. Проверяет права голоса и предотвращает повторное голосование. Подробнее...
 
void soviet::votefor (std::string version, eosio::name coopname, eosio::name username, uint64_t decision_id, eosio::time_point_sec signed_at, checksum256 signed_hash, eosio::signature signature, eosio::public_key public_key)
 Голосование за решение совета Позволяет члену совета голосовать за конкретное решение. После голосования рассчитывается, превысило ли количество голосов "за" заданный процент консенсуса. Подробнее...
 
void soviet::addbal (eosio::name coopname, eosio::name username, uint64_t program_id, eosio::asset quantity, std::string memo)
 Добавление баланса в кошелек программы Добавляет средства в кошелек участника по конкретной программе. Обновляет доступный баланс участника и агрегированные показатели программы. Подробнее...
 
void soviet::addmemberfee (eosio::name coopname, eosio::name username, uint64_t program_id, eosio::asset quantity, std::string memo)
 Добавление членского взноса в кошелек программы Добавляет членский взнос в кошелек участника по конкретной программе. Обновляет членские взносы участника и агрегированные показатели программы. Подробнее...
 
void soviet::blockbal (eosio::name coopname, eosio::name username, uint64_t program_id, eosio::asset quantity, std::string memo)
 Блокировка баланса в кошельке программы Блокирует средства в кошельке участника по конкретной программе. Переводит средства из доступных в заблокированные. Подробнее...
 
void soviet::openprogwall (name coopname, name username, name program_type, uint64_t agreement_id)
 Открытие кошелька программы для участника Создает кошелек программы для участника, если он еще не существует. Инициализирует кошелек с нулевыми балансами. Подробнее...
 
void soviet::subbal (eosio::name coopname, eosio::name username, uint64_t program_id, eosio::asset quantity, bool skip_available_check, std::string memo)
 Списание баланса из кошелька программы Списывает средства из кошелька участника по конкретной программе. Обновляет доступный баланс участника и агрегированные показатели программы. Подробнее...
 
void soviet::submemberfee (eosio::name coopname, eosio::name username, uint64_t program_id, eosio::asset quantity, std::string memo)
 Списание членского взноса из кошелька программы Списывает членский взнос из кошелька участника по конкретной программе. Обновляет членские взносы участника и агрегированные показатели программы. Подробнее...
 
void soviet::unblockbal (eosio::name coopname, eosio::name username, uint64_t program_id, eosio::asset quantity, std::string memo)
 Разблокировка баланса в кошельке программы Разблокирует средства в кошельке участника по конкретной программе. Переводит средства из заблокированных в доступные. Подробнее...
 
void soviet::withdraw (eosio::name coopname, eosio::name username, uint64_t withdraw_id, document2 statement)
 Создание решения о выводе средств Создает решение совета о выводе средств участника из кооператива. Инициирует процесс голосования по выводу средств. Подробнее...
 

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

Функции

◆ addbal()

void soviet::addbal ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
eosio::asset  quantity,
std::string  memo 
)

Добавление баланса в кошелек программы Добавляет средства в кошелек участника по конкретной программе. Обновляет доступный баланс участника и агрегированные показатели программы.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_idИдентификатор программы
quantityКоличество средств для добавления
memoПримечание к операции
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ addmemberfee()

void soviet::addmemberfee ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
eosio::asset  quantity,
std::string  memo 
)

Добавление членского взноса в кошелек программы Добавляет членский взнос в кошелек участника по конкретной программе. Обновляет членские взносы участника и агрегированные показатели программы.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_idИдентификатор программы
quantityКоличество средств для добавления
memoПримечание к операции
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ addpartcpnt()

void soviet::addpartcpnt ( eosio::name  coopname,
eosio::name  username,
eosio::name  braname,
eosio::name  type,
eosio::time_point_sec  created_at,
eosio::asset  initial,
eosio::asset  minimum,
bool  spread_initial 
)

Добавление пайщика в кооператив Добавляет действующего пайщика в систему, пропуская этап подписания заявления на вступление. Позволяет установить дату регистрации и распределить взносы по фондам.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
branameНаименование филиала
typeТип участника
created_atДата создания
initialСумма вступительного взноса
minimumСумма минимального взноса
spread_initialФлаг распределения вступительного взноса
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ addstaff()

void soviet::addstaff ( eosio::name  coopname,
eosio::name  chairman,
eosio::name  username,
std::vector< right rights,
std::string  position_title 
)

Добавление персонала кооператива Добавляет нового члена персонала в кооператив с указанием определенных прав на выполнение методов действий вместо совета.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета
usernameНаименование нового члена персонала
rightsСписок прав, разрешенных для выполнения указанным членом персонала
position_titleНазвание должности нового члена персонала
Заметки
Авторизация требуется от аккаунта: chairman

◆ authorize()

void soviet::authorize ( eosio::name  coopname,
eosio::name  chairman,
uint64_t  decision_id,
document2  document 
)

Авторизация принятого решения советом Позволяет председателю совета утвердить принятое решение совета. Изменяет статус решения на авторизованное и добавляет документ авторизации.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета кооператива
decision_idИдентификатор решения для авторизации
documentДокумент авторизации решения
Заметки
Авторизация требуется от аккаунта: chairman

◆ automate()

void soviet::automate ( eosio::name  coopname,
uint64_t  board_id,
eosio::name  member,
eosio::name  action_type,
eosio::name  permission_name,
std::string  encrypted_private_key 
)

Настройка автоматизации подписи на решениях Позволяет члену совета настроить автоматическую подпись на решениях по определенным типам вопросов. Создает запись об автоматизации с зашифрованным приватным ключом.

Аргументы
coopnameНаименование кооператива
board_idИдентификатор совета кооператива
memberНаименование члена совета, который настраивает автоматизацию
action_typeТип действия для автоматизации
permission_nameНаименование разрешения для использования в автоматизированном действии
encrypted_private_keyЗашифрованный приватный ключ для автоматизации
Заметки
Авторизация требуется от аккаунта: member

◆ block()

void soviet::block ( eosio::name  coopname,
eosio::name  admin,
eosio::name  username,
std::string  message 
)

Блокировка участника кооператива Блокирует участника кооператива, лишая его права голоса и активного статуса. Уменьшает счетчик активных пайщиков при блокировке активного участника.

Аргументы
coopnameНаименование кооператива
adminНаименование администратора
usernameНаименование блокируемого участника
messageСообщение о причине блокировки
Заметки
Авторизация требуется от аккаунта: _soviet или admin

◆ blockbal()

void soviet::blockbal ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
eosio::asset  quantity,
std::string  memo 
)

Блокировка баланса в кошельке программы Блокирует средства в кошельке участника по конкретной программе. Переводит средства из доступных в заблокированные.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_idИдентификатор программы
quantityКоличество средств для блокировки
memoПримечание к операции
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ cancelexprd()

void soviet::cancelexprd ( eosio::name  coopname,
uint64_t  decision_id 
)

Отмена истекшего решения Отменяет решение совета по истечении срока его действия. Отправляет обратный вызов об отклонении и удаляет решение из системы.

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

◆ cancelreg()

void soviet::cancelreg ( eosio::name  coopname,
eosio::name  username,
std::string  message 
)

Отмена регистрации участника Отменяет регистрацию участника в кооперативе, обнуляя его взносы и блокируя аккаунт. Используется при отмене регистрации до принятия решения советом.

Аргументы
coopnameНаименование кооператива
usernameНаименование участника для отмены регистрации
messageСообщение о причине отмены регистрации
Заметки
Авторизация требуется от аккаунта: _gateway

Если отмена регистрации происходит до принятия решения советом - том отменять нам здесь нечего, и мы просто игнорируем код ниже.

◆ cancelvote()

void soviet::cancelvote ( eosio::name  coopname,
eosio::name  member,
uint64_t  decision_id 
)

Отмена голосования членом совета Позволяет члену совета отменить свой голос, поданный ранее, по конкретному решению. В настоящее время отмена голоса запрещена (функция возвращает ошибку).

Аргументы
coopnameНаименование кооператива
memberНаименование члена совета, отменяющего свое голосование
decision_idИдентификатор решения, по которому голосование было проведено
Заметки
Авторизация требуется от аккаунта: member или permission_level{member, "provide"_n}

◆ confirmagree()

void soviet::confirmagree ( eosio::name  coopname,
eosio::name  administrator,
eosio::name  username,
uint64_t  agreement_id 
)

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

Аргументы
coopnameНаименование кооператива
administratorНаименование администратора
usernameНаименование пользователя, подтверждающего соглашение
agreement_idИдентификатор соглашения для подтверждения
Заметки
Авторизация требуется от аккаунта: administrator

◆ confirmapprv()

void soviet::confirmapprv ( eosio::name  coopname,
checksum256  approval_hash,
document2  approved_document 
)

Подтверждение одобрения документа Подтверждает одобрение документа и выполняет соответствующий обратный вызов. Удаляет запись об одобрении после успешного выполнения.

Аргументы
coopnameНаименование кооператива
approval_hashХеш одобрения для подтверждения
approved_documentПодтвержденный документ
Заметки
Авторизация требуется от аккаунта: coopname

◆ creaddress()

void soviet::creaddress ( eosio::name  coopname,
eosio::name  chairman,
eosio::name  braname,
address_data  data 
)

Создание нового адреса кооператива Создает новый адрес в системе кооператива с указанными данными. Адрес может быть привязан к конкретному филиалу или быть общим для кооператива.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета
branameНаименование филиала (может быть пустым для общего адреса)
dataДанные адреса (структура address_data)
Заметки
Авторизация требуется от аккаунта: chairman

◆ createagenda()

void soviet::createagenda ( CREATEAGENDA_SIGNATURE  )

Создание повестки дня для голосования совета Создает новую повестку дня для голосования совета по различным вопросам кооператива. Инициирует процесс принятия решения с указанными параметрами и обратными вызовами.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя, создающего повестку
typeТип повестки/решения
hashХеш документа или объекта для решения
callback_contractКонтракт для обратного вызова
confirm_callbackДействие подтверждения
decline_callbackДействие отклонения
statementДокумент с описанием повестки
metaДополнительные метаданные
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ createapprv()

void soviet::createapprv ( CREATEAPPRV_SIGNATURE  )

Создание одобрения документа Создает новое одобрение документа с указанными параметрами и обратными вызовами. Используется для инициации процесса одобрения документов в системе.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя, создающего одобрение
documentДокумент для одобрения
typeТип одобрения
approval_hashХеш одобрения
callback_contractКонтракт для обратного вызова
callback_action_approveДействие подтверждения
callback_action_declineДействие отклонения
metaДополнительные метаданные
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ createboard()

void soviet::createboard ( eosio::name  coopname,
eosio::name  username,
eosio::name  type,
std::vector< board_member members,
std::string  name,
std::string  description 
)

Создание нового совета кооператива Создает новый совет с указанными членами и параметрами. При создании совета кооператива автоматически создаются базовые соглашения и адрес.

Аргументы
coopnameНаименование кооператива
usernameНаименование председателя кооператива
typeТип совета (soviet, executive, audit, other)
membersСписок членов совета
nameНазвание совета
descriptionОписание совета
Заметки
Авторизация требуется от аккаунта: username

◆ createprog()

void soviet::createprog ( eosio::name  coopname,
eosio::name  username,
eosio::name  type,
std::string  title,
std::string  announce,
std::string  description,
std::string  preview,
std::string  images,
eosio::name  calculation_type,
eosio::asset  fixed_membership_contribution,
uint64_t  membership_percent_fee,
bool  is_can_coop_spend_share_contributions,
std::string  meta 
)

Создание целевой программы Создает новую целевую программу в кооперативе с указанными параметрами. Автоматически создает соответствующее соглашение для программы.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя, создающего программу
typeТип программы
titleНазвание программы
announceОбъявление о программе
descriptionОписание программы
previewПредварительный просмотр
imagesИзображения для программы
calculation_typeТип расчета взносов (free, absolute, relative)
fixed_membership_contributionФиксированный членский взнос
membership_percent_feeПроцент членского взноса
is_can_coop_spend_share_contributionsФлаг возможности трат кооперативом
metaДополнительные метаданные
Заметки
Авторизация требуется от аккаунта: username

◆ declineagree()

void soviet::declineagree ( eosio::name  coopname,
eosio::name  administrator,
eosio::name  username,
uint64_t  agreement_id,
std::string  comment 
)

Отклонение соглашения участником Отклоняет соглашение участником целевой программы кооператива. Изменяет статус соглашения на "отклонено" и отправляет уведомление об отклонении.

Аргументы
coopnameНаименование кооператива
administratorНаименование администратора
usernameНаименование пользователя, отклоняющего соглашение
agreement_idИдентификатор соглашения для отклонения
commentКомментарий к отклонению
Заметки
Авторизация требуется от аккаунта: administrator

◆ declineapprv()

void soviet::declineapprv ( eosio::name  coopname,
checksum256  approval_hash,
std::string  reason 
)

Отклонение одобрения документа Отклоняет одобрение документа с указанием причины и выполняет соответствующий обратный вызов. Удаляет запись об одобрении после отклонения.

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

◆ declinedoc()

void soviet::declinedoc ( eosio::name  coopname,
eosio::name  username,
checksum256  hash,
document2  document 
)

Отклонение документа Отклоняет документ и отправляет уведомление об отклонении. Используется для информирования о непринятии документа в системе.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя, отклоняющего документ
hashХеш документа для отклонения
documentДокумент для отклонения
Заметки
Авторизация требуется от аккаунта: username

◆ deladdress()

void soviet::deladdress ( eosio::name  coopname,
eosio::name  chairman,
uint64_t  address_id 
)

Удаление адреса кооператива Удаляет существующий адрес из системы кооператива по его идентификатору.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета
address_idИдентификатор адреса для удаления
Заметки
Авторизация требуется от аккаунта: chairman

◆ deletebranch()

void soviet::deletebranch ( eosio::name  coopname,
eosio::name  braname 
)

Удаление кооперативного участка Отключает всех участников от удаляемого кооперативного участка. Сбрасывает привязку участников к филиалу при его удалении.

Аргументы
coopnameНаименование кооператива
branameНаименование кооперативного участка
Заметки
Авторизация требуется от аккаунта: _branch

◆ disableprog()

void soviet::disableprog ( eosio::name  coopname,
uint64_t  program_id 
)

Отключение целевой программы Отключает существующую целевую программу, устанавливая поле is_active в false. Программа остается в системе, но становится неактивной.

Аргументы
coopnameНаименование кооператива
program_idИдентификатор программы для отключения
Заметки
Авторизация требуется от аккаунта: coopname

◆ disautomate()

void soviet::disautomate ( eosio::name  coopname,
uint64_t  board_id,
eosio::name  member,
uint64_t  automation_id 
)

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

Аргументы
coopnameНаименование кооператива
board_idИдентификатор совета кооператива
memberНаименование члена совета, который удаляет автоматизацию
automation_idИдентификатор автоматизации для удаления
Заметки
Авторизация требуется от аккаунта: member

◆ editaddress()

void soviet::editaddress ( eosio::name  coopname,
eosio::name  chairman,
eosio::name  braname,
uint64_t  address_id,
address_data  data 
)

Редактирование адреса кооператива Изменяет данные существующего адреса в системе кооператива. Позволяет обновить привязку к филиалу и данные адреса.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета
branameНаименование филиала (может быть пустым для общего адреса)
address_idИдентификатор адреса для редактирования
dataНовые данные адреса (структура address_data)
Заметки
Авторизация требуется от аккаунта: chairman

◆ editprog()

void soviet::editprog ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
uint64_t  draft_id,
std::string  title,
std::string  announce,
std::string  description,
std::string  preview,
std::string  images,
std::string  meta 
)

Редактирование целевой программы Модифицирует существующую целевую программу в кооперативе. Позволяет изменить основные параметры программы.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя, редактирующего программу
program_idИдентификатор программы для редактирования
draft_idИдентификатор шаблона
titleНазвание программы
announceОбъявление о программе
descriptionОписание программы
previewПредварительный просмотр
imagesИзображения для программы
metaДополнительные метаданные
Заметки
Авторизация требуется от аккаунта: username

◆ exec()

void soviet::exec ( eosio::name  executer,
eosio::name  coopname,
uint64_t  decision_id 
)

Исполнение решения совета

Этот метод позволяет исполнить решение совета. Исполнение решения включает в себя проверку, что решение существует, что оно было авторизовано, и что оно еще не было выполнено. В зависимости от типа решения, вызывается соответствующая функция для его реализации.

Аргументы
executerИмя аккаунта, который исполняет решение
coopnameИмя кооператива
decision_idИдентификатор решения для исполнения
Заметки
Авторизация требуется от аккаунта: executer

◆ freedecision()

void soviet::freedecision ( eosio::name  coopname,
eosio::name  username,
document2  document,
std::string  meta 
)

Создание свободного решения совета Создает свободное решение совета без привязки к конкретному типу действия. Позволяет инициировать голосование по произвольному вопросу.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя, создающего решение
documentДокумент с описанием решения
metaДополнительные метаданные
Заметки
Авторизация требуется от аккаунта: username

◆ fundwithdraw()

void soviet::fundwithdraw ( eosio::name  coopname,
eosio::name  username,
eosio::name  type,
uint64_t  withdraw_id,
document2  document 
)

Создание решения о выводе средств из фонда Создает решение совета о выводе средств из фонда кооператива. Инициирует процесс голосования по выводу средств.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
typeТип вывода средств
withdraw_idИдентификатор вывода средств
documentДокумент с описанием вывода средств
Заметки
Авторизация требуется от аккаунта: _fund

◆ init()

void soviet::init ( )

Инициализация контракта совета

Заметки
Авторизация требуется от аккаунта: _system

◆ migrate()

void soviet::migrate ( )

Миграция данных системы Выполняет миграцию данных системы при обновлении контракта. Вызывается автоматически в CI/CD при каждом деплое.

Заметки
Авторизация требуется от аккаунта: _soviet

◆ migrateagree()

void soviet::migrateagree ( eosio::name  coopname,
uint64_t  agreement_id 
)

Миграция соглашения из старой таблицы в новую Переносит запись соглашения из таблицы agreements в agreements2 с обновленной структурой документа. Используется для обновления формата хранения соглашений в системе.

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

◆ newact()

void soviet::newact ( NEWACT_SIGNATURE  )

Создание нового акта Создает новый акт в системе кооператива. Используется для документирования действий и событий.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
hashХеш акта
documentДокумент акта
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ newagreement()

void soviet::newagreement ( NEWAGREEMENT_SIGNATURE  )

Уведомление о новом соглашении Отправляет уведомление о новом соглашении, созданном в системе. Используется для информирования о новых соглашениях.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
typeТип соглашения
documentДокумент соглашения
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ newdecision()

void soviet::newdecision ( NEWDECISION_SIGNATURE  )

Уведомление о новом решении Отправляет уведомление о новом решении, принятом в системе. Используется для информирования о принятых решениях совета.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
typeТип решения
hashХеш решения
authorizationДокумент авторизации
Заметки
Авторизация требуется от аккаунта: _soviet

◆ newdeclined()

void soviet::newdeclined ( NEWDECLINED_SIGNATURE  )

Уведомление об отклоненном документе Отправляет уведомление о документе, который был отклонен в системе. Используется для информирования об отклонении документов.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
hashХеш документа
documentДокумент
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ newlink()

void soviet::newlink ( NEWLINK_SIGNATURE  )

Создание новой ссылки Создает новую ссылку в системе кооператива. Используется для связывания документов и объектов.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
hashХеш ссылки
documentДокумент ссылки
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ newpackage()

void soviet::newpackage ( NEWPACKAGE_SIGNATURE  )

Уведомление о новом пакете документов Отправляет уведомление о новом пакете документов, созданном в системе. Используется для информирования о пакетах документов.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
typeТип пакета
hashХеш пакета
documentДокумент пакета
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ newresolved()

void soviet::newresolved ( NEWRESOLVED_SIGNATURE  )

Уведомление о решенном документе Отправляет уведомление о документе, который был решен в системе. Используется для информирования о завершении обработки документов.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
typeТип документа
hashХеш документа
documentДокумент
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ newsubmitted()

void soviet::newsubmitted ( NEWSUBMITTED_SIGNATURE  )

Уведомление о новом представленном документе Отправляет уведомление о новом документе, представленном в систему. Используется для информирования о поступлении документов.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
typeТип документа
hashХеш документа
documentДокумент
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ openprogwall()

void soviet::openprogwall ( name  coopname,
name  username,
name  program_type,
uint64_t  agreement_id 
)

Открытие кошелька программы для участника Создает кошелек программы для участника, если он еще не существует. Инициализирует кошелек с нулевыми балансами.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_typeТип программы
agreement_idИдентификатор соглашения (может быть 0)
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ rmstaff()

void soviet::rmstaff ( eosio::name  coopname,
eosio::name  chairman,
eosio::name  username 
)

Удаление персонала из кооператива Удаляет члена персонала из кооператива, лишая его всех прав и доступа к системе.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета
usernameНаименование удаляемого члена персонала
Заметки
Авторизация требуется от аккаунта: chairman

◆ selectbranch()

void soviet::selectbranch ( eosio::name  coopname,
eosio::name  username,
eosio::name  braname,
document2  document 
)

Выбор филиала участником Позволяет участнику выбрать филиал кооператива для привязки. Отправляет уведомления о выборе филиала в систему документооборота.

Аргументы
coopnameНаименование кооператива
usernameНаименование участника
branameНаименование выбранного филиала
documentДокумент с подтверждением выбора филиала
Заметки
Авторизация требуется от аккаунта: coopname

◆ setrights()

void soviet::setrights ( eosio::name  coopname,
eosio::name  chairman,
eosio::name  username,
std::vector< right rights 
)

Установка прав для персонала кооператива Устанавливает конкретные права для члена персонала в кооперативе. Позволяет изменить список разрешенных действий для указанного сотрудника.

Аргументы
coopnameНаименование кооператива
chairmanНаименование председателя совета
usernameНаименование члена персонала, для которого устанавливаются права
rightsВектор прав, которые будут установлены для указанного члена персонала
Заметки
Авторизация требуется от аккаунта: chairman

◆ sndagreement()

void soviet::sndagreement ( eosio::name  coopname,
eosio::name  administrator,
eosio::name  username,
eosio::name  agreement_type,
document2  document 
)

Отправка соглашения участнику Отправляет соглашение участнику кооператива для подписания. Создает новое соглашение или обновляет существующее, привязывая его к целевой программе.

Аргументы
coopnameНаименование кооператива
administratorНаименование администратора
usernameНаименование пользователя, которому отправляется соглашение
agreement_typeТип соглашения
documentДокумент соглашения для подписания
Заметки
Авторизация требуется от аккаунта: username или administrator

◆ subbal()

void soviet::subbal ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
eosio::asset  quantity,
bool  skip_available_check,
std::string  memo 
)

Списание баланса из кошелька программы Списывает средства из кошелька участника по конкретной программе. Обновляет доступный баланс участника и агрегированные показатели программы.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_idИдентификатор программы
quantityКоличество средств для списания
skip_available_checkФлаг пропуска проверки достаточности средств
memoПримечание к операции
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ submemberfee()

void soviet::submemberfee ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
eosio::asset  quantity,
std::string  memo 
)

Списание членского взноса из кошелька программы Списывает членский взнос из кошелька участника по конкретной программе. Обновляет членские взносы участника и агрегированные показатели программы.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_idИдентификатор программы
quantityКоличество средств для списания
memoПримечание к операции
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ unblock()

void soviet::unblock ( eosio::name  coopname,
eosio::name  admin,
eosio::name  username,
bool  is_registration,
std::string  message 
)

Разблокировка участника кооператива Разблокирует участника кооператива, восстанавливая его права и статус. Устанавливает участника как активного с правом голоса и взносами.

Аргументы
coopnameНаименование кооператива
adminНаименование администратора
usernameНаименование разблокируемого участника
is_registrationФлаг регистрации (не используется)
messageСообщение о причине разблокировки
Заметки
Авторизация требуется от аккаунта: _soviet или admin

◆ unblockbal()

void soviet::unblockbal ( eosio::name  coopname,
eosio::name  username,
uint64_t  program_id,
eosio::asset  quantity,
std::string  memo 
)

Разблокировка баланса в кошельке программы Разблокирует средства в кошельке участника по конкретной программе. Переводит средства из заблокированных в доступные.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
program_idИдентификатор программы
quantityКоличество средств для разблокировки
memoПримечание к операции
Заметки
Авторизация требуется от аккаунта в белом списке контрактов

◆ updateboard()

void soviet::updateboard ( eosio::name  coopname,
eosio::name  username,
uint64_t  board_id,
std::vector< board_member members,
std::string  name,
std::string  description 
)

Обновление совета или комиссии Обновляет состав и параметры существующего совета кооператива. Позволяет изменить список членов, название и описание совета.

Аргументы
coopnameНаименование кооператива
usernameНаименование председателя кооператива
board_idИдентификатор совета для обновления
membersСписок членов совета
nameНазвание совета
descriptionОписание совета
Заметки
Авторизация требуется от аккаунта: username

◆ validate()

void soviet::validate ( eosio::name  coopname,
eosio::name  username,
uint64_t  decision_id 
)

Предварительная валидация решения совета персоналом Позволяет персоналу подтвердить поступление оплаты или провести другую форму валидации перед принятием советом какого-либо решения.

Аргументы
coopnameНаименование кооператива
usernameНаименование члена персонала, проводящего валидацию
decision_idИдентификатор решения, которое подлежит валидации
Заметки
Авторизация требуется от аккаунта: username

◆ voteagainst()

void soviet::voteagainst ( std::string  version,
eosio::name  coopname,
eosio::name  username,
uint64_t  decision_id,
eosio::time_point_sec  signed_at,
checksum256  signed_hash,
eosio::signature  signature,
eosio::public_key  public_key 
)

Голосование против решения совета Позволяет члену совета голосовать против конкретного решения. Проверяет права голоса и предотвращает повторное голосование.

Аргументы
versionВерсия протокола
coopnameНаименование кооператива
usernameНаименование члена совета, голосующего против решения
decision_idИдентификатор решения для голосования
signed_atВремя подписи
signed_hashПодписанный хеш
signatureПодпись
public_keyПубличный ключ
Заметки
Авторизация требуется от аккаунта: username или coopname

◆ votefor()

void soviet::votefor ( std::string  version,
eosio::name  coopname,
eosio::name  username,
uint64_t  decision_id,
eosio::time_point_sec  signed_at,
checksum256  signed_hash,
eosio::signature  signature,
eosio::public_key  public_key 
)

Голосование за решение совета Позволяет члену совета голосовать за конкретное решение. После голосования рассчитывается, превысило ли количество голосов "за" заданный процент консенсуса.

Аргументы
versionВерсия протокола
coopnameНаименование кооператива
usernameНаименование члена совета, голосующего за решение
decision_idИдентификатор решения для голосования
signed_atВремя подписи
signed_hashПодписанный хеш
signatureПодпись
public_keyПубличный ключ
Заметки
Авторизация требуется от аккаунта: username или coopname

◆ withdraw()

void soviet::withdraw ( eosio::name  coopname,
eosio::name  username,
uint64_t  withdraw_id,
document2  statement 
)

Создание решения о выводе средств Создает решение совета о выводе средств участника из кооператива. Инициирует процесс голосования по выводу средств.

Аргументы
coopnameНаименование кооператива
usernameНаименование пользователя
withdraw_idИдентификатор вывода средств
statementДокумент с описанием вывода средств
Заметки
Авторизация требуется от аккаунта: _gateway