|
COOPENOMICS
v1
Кооперативная Экономика
|
Функции | |
| void | registrator::changekey (eosio::name coopname, eosio::name changer, eosio::name username, eosio::public_key public_key) |
| Изменение ключа активной учетной записи. Изменяет активный ключ указанной учетной записи Подробнее... | |
| void | registrator::createbranch (eosio::name coopname, eosio::name braname) |
| Создание филиала кооператива. Создает новый аккаунт для филиала кооператива Подробнее... | |
| void | registrator::newaccount (eosio::name coopname, eosio::name referer, eosio::name username, eosio::public_key public_key, std::string meta) |
| Регистрация нового аккаунта. Создает новый аккаунт в системе блокчейна Подробнее... | |
| void | registrator::updateaccnt (eosio::name username, eosio::name account_to_change, std::string meta) |
| Обновление метаданных аккаунта. Обновляет метаданные указанного аккаунта Подробнее... | |
| void | registrator::decparticpnt (eosio::name coopname, eosio::name username) |
| Уменьшение счетчика активных пайщиков. Уменьшает счетчик активных пайщиков кооператива при блокировке участника Подробнее... | |
| void | registrator::delcoop (eosio::name registrator, eosio::name coopname) |
| Удаление кооператива. Удаляет кооператив из системы Подробнее... | |
| void | registrator::deloperator (eosio::name coopname) |
| Снять оператора с кооператива: он снова держит установку сам. Подробнее... | |
| void | registrator::disbranches (eosio::name coopname) |
| Отключение режима филиалов. Отключает режим кооперативных участков для кооператива Подробнее... | |
| void | registrator::enabranches (eosio::name coopname) |
| Включение режима филиалов. Включает режим кооперативных участков для кооператива Подробнее... | |
| void | registrator::regcoop (eosio::name coopname, eosio::name username, org_data params, document2 document) |
| Регистрация кооператива-члена цифровой системы. Регистрирует новый кооператив в системе Подробнее... | |
| void | registrator::setoperator (eosio::name coopname, eosio::name operator_name) |
| Указать оператора, обслуживающего кооператив. Подробнее... | |
| void | registrator::stcoopstatus (eosio::name coopname, eosio::name username, eosio::name status) |
| Установка статуса кооператива. Изменяет статус кооператива (active, blocked, pending) Подробнее... | |
| void | registrator::updatecoop (eosio::name coopname, eosio::name username, eosio::asset initial, eosio::asset minimum, eosio::asset org_initial, eosio::asset org_minimum, std::string announce, std::string description) |
| Обновление параметров кооператива. Обновляет параметры кооператива (взносы, описание) Подробнее... | |
| void | registrator::completexit (eosio::name coopname, checksum256 exit_hash) |
| Завершение возврата паевого взноса при выходе из кооператива. Кассир подтвердил исходящий платёж — gateway вызывает этот коллбэк. Списываем зарезервированную сумму (o.wal.wthcpl: Дт80/Кт51, BURN с w.wal.wpend), удаляем пайщика из реестра совета и блокируем его аккаунт. Возврат назад невозможен — повторное участие только через новую регистрацию. Подробнее... | |
| void | registrator::confirmexit (eosio::name coopname, checksum256 exit_hash, document2 authorization) |
| Одобрение советом выхода пайщика из кооператива. Совет одобрил заявление о выходе. Контракт сам вычисляет сумму возврата: обходит сет паевых кошельков LEDGER2_EXIT_REFUND_WALLETS (w.reg.minshr + w.wal.share + w.cap.blago), собирает доступный L3-баланс каждого, консолидирует на главный паевой (w.wal.share), резервирует всю сумму (o.wal.wthreq) и создаёт исходящий платёж в gateway. Если возвращать нечего — выход завершается сразу без платежа. Подробнее... | |
| void | registrator::declinexit (eosio::name coopname, checksum256 exit_hash, std::string reason) |
| Отказ в выходе из кооператива. Вызывается либо советом при отклонении заявления (до резервирования средств), либо gateway при отклонении исходящего платежа (после резервирования). Если сумма возврата уже была зарезервирована — снимаем резерв (o.wal.wthdec: w.wal.wpend → w.wal.share). Пайщик остаётся действующим членом кооператива. Подробнее... | |
| void | registrator::exitcoop (eosio::name coopname, eosio::name username, checksum256 exit_hash, document2 statement) |
Подача заявления на выход из кооператива. Действующий пайщик подаёт подписанное заявление о выходе (registry 200). Создаётся объект выхода и повестка совета leavecoop на рассмотрение. Возврат паевого взноса произойдёт после одобрения советом (confirmexit). Подробнее... | |
| void | registrator::init () |
| Инициализация контракта регистратора. Создает начальные аккаунты и кооператив-провайдер системы Подробнее... | |
| void | registrator::migrate () |
| Миграция данных контракта. Разовая нормализация типа аккаунта в registrator::accounts. Подробнее... | |
| void | registrator::adduser (eosio::name coopname, eosio::name referer, eosio::name username, eosio::name type, eosio::time_point_sec created_at, eosio::asset initial, eosio::asset minimum, bool spread_initial, std::string meta, checksum256 registration_hash) |
| Добавление пайщика. Создает новый аккаунт и добавляет пайщика в кооператив Подробнее... | |
| void | registrator::confirmpay (name coopname, checksum256 registration_hash) |
| Подтверждение платежа регистрации. Подтверждает оплату регистрационного взноса от gateway. Подробнее... | |
| void | registrator::confirmreg (eosio::name coopname, checksum256 registration_hash, document2 authorization) |
| Подтверждение регистрации пользователя. Подтверждает регистрацию кандидата советом и добавляет его в кооператив Подробнее... | |
| void | registrator::declinepay (name coopname, checksum256 registration_hash, std::string reason) |
| Отклонение платежа регистрации. Отклоняет оплату регистрационного взноса от gateway. Подробнее... | |
| void | registrator::declinereg (name coopname, checksum256 registration_hash, std::string reason) |
| Отклонение регистрации пользователя. Отклоняет регистрацию кандидата советом Подробнее... | |
| void | registrator::declinerfnd (name coopname, checksum256 registration_hash, std::string reason) |
| Отклонение возврата регистрационного взноса — НЕДОПУСТИМО. Возврат полученного регистрационного взноса при отказе совета не может быть отменён: средства кандидата обязаны быть ему возвращены. Действие существует только как обязательный decline-коллбэк gateway (createoutpay требует имя decline-действия) и всегда завершается ошибкой. На фронте кнопки отклонения возврата нет; этот страж защищает от прямого вызова gateway::outdecline. Подробнее... | |
| void | registrator::refundpay (name coopname, checksum256 registration_hash) |
| Подтверждение возврата регистрационного взноса. Коллбэк gateway после фактического проведения кассой исходящего возврата (gateway::outcomplete). Проводит обратную проводку Дт 76 / Кт 51 (сжигание суспенса w.reg.pend) и закрывает запись кандидата. Деньги уходят со счёта 76 ровно в этот момент — не раньше, чем касса подтвердит исходящий перевод. Подробнее... | |
| void | registrator::reguser (eosio::name coopname, eosio::name braname, eosio::name username, eosio::name type, document2 statement, checksum256 registration_hash) |
| Регистрация пользователя. Регистрирует аккаунт в качестве физического лица для вступления в кооператив Подробнее... | |
| void | registrator::unverifyacc (eosio::name coopname, eosio::name chairman, eosio::name username, eosio::name procedure) |
| Отзыв верификации личности пайщика, проведённой кооперативным участком. Подробнее... | |
| void | registrator::verificate (eosio::name username, eosio::name procedure) |
| Верификация аккаунта. Верифицирует аккаунты как пользователей, так и организаций Подробнее... | |
| void | registrator::verifyacc (eosio::name coopname, eosio::name braname, eosio::name verificator, eosio::name username, eosio::name procedure) |
| Верификация личности пайщика на кооперативном участке. Подробнее... | |
| void registrator::adduser | ( | eosio::name | coopname, |
| eosio::name | referer, | ||
| eosio::name | username, | ||
| eosio::name | type, | ||
| eosio::time_point_sec | created_at, | ||
| eosio::asset | initial, | ||
| eosio::asset | minimum, | ||
| bool | spread_initial, | ||
| std::string | meta, | ||
| checksum256 | registration_hash | ||
| ) |
Добавление пайщика. Создает новый аккаунт и добавляет пайщика в кооператив
| coopname | Наименование кооператива |
| referer | Имя реферера |
| username | Имя пользователя для создания |
| type | Тип пользователя (individual, entrepreneur, organization) |
| created_at | Дата создания аккаунта |
| initial | Вступительный взнос |
| minimum | Минимальный взнос |
| spread_initial | Флаг распределения вступительного взноса |
| meta | Метаданные пользователя |
| registration_hash | Entity-hash доменной записи регистрации (из бэкенда) |
coopname | void registrator::changekey | ( | eosio::name | coopname, |
| eosio::name | changer, | ||
| eosio::name | username, | ||
| eosio::public_key | public_key | ||
| ) |
Изменение ключа активной учетной записи. Изменяет активный ключ указанной учетной записи
| coopname | Наименование кооператива |
| changer | Имя аккаунта, который изменяет ключ |
| username | Имя аккаунта, ключ которого требуется изменить |
| public_key | Новый публичный ключ для активной учетной записи |
changer | void registrator::completexit | ( | eosio::name | coopname, |
| checksum256 | exit_hash | ||
| ) |
Завершение возврата паевого взноса при выходе из кооператива. Кассир подтвердил исходящий платёж — gateway вызывает этот коллбэк. Списываем зарезервированную сумму (o.wal.wthcpl: Дт80/Кт51, BURN с w.wal.wpend), удаляем пайщика из реестра совета и блокируем его аккаунт. Возврат назад невозможен — повторное участие только через новую регистрацию.
| coopname | Наименование кооператива |
| exit_hash | Хэш процесса выхода |
gateway | void registrator::confirmexit | ( | eosio::name | coopname, |
| checksum256 | exit_hash, | ||
| document2 | authorization | ||
| ) |
Одобрение советом выхода пайщика из кооператива. Совет одобрил заявление о выходе. Контракт сам вычисляет сумму возврата: обходит сет паевых кошельков LEDGER2_EXIT_REFUND_WALLETS (w.reg.minshr + w.wal.share + w.cap.blago), собирает доступный L3-баланс каждого, консолидирует на главный паевой (w.wal.share), резервирует всю сумму (o.wal.wthreq) и создаёт исходящий платёж в gateway. Если возвращать нечего — выход завершается сразу без платежа.
| coopname | Наименование кооператива |
| exit_hash | Хэш процесса выхода |
| authorization | Документ-решение совета о выходе |
soviet | void registrator::confirmpay | ( | name | coopname, |
| checksum256 | registration_hash | ||
| ) |
Подтверждение платежа регистрации. Подтверждает оплату регистрационного взноса от gateway.
| coopname | Наименование кооператива |
| registration_hash | Хэш регистрации |
gateway | void registrator::confirmreg | ( | eosio::name | coopname, |
| checksum256 | registration_hash, | ||
| document2 | authorization | ||
| ) |
Подтверждение регистрации пользователя. Подтверждает регистрацию кандидата советом и добавляет его в кооператив
| coopname | Наименование кооператива |
| registration_hash | Хэш регистрации |
| authorization | Документ авторизации от совета |
soviet | void registrator::createbranch | ( | eosio::name | coopname, |
| eosio::name | braname | ||
| ) |
Создание филиала кооператива. Создает новый аккаунт для филиала кооператива
| coopname | Наименование кооператива |
| braname | Наименование филиала |
branch | void registrator::declinepay | ( | name | coopname, |
| checksum256 | registration_hash, | ||
| std::string | reason | ||
| ) |
Отклонение платежа регистрации. Отклоняет оплату регистрационного взноса от gateway.
| coopname | Наименование кооператива |
| registration_hash | Хэш регистрации |
| reason | Причина отклонения платежа |
gateway | void registrator::declinereg | ( | name | coopname, |
| checksum256 | registration_hash, | ||
| std::string | reason | ||
| ) |
Отклонение регистрации пользователя. Отклоняет регистрацию кандидата советом
| coopname | Наименование кооператива |
| registration_hash | Хэш регистрации |
| reason | Причина отклонения регистрации |
soviet | void registrator::declinerfnd | ( | name | coopname, |
| checksum256 | registration_hash, | ||
| std::string | reason | ||
| ) |
Отклонение возврата регистрационного взноса — НЕДОПУСТИМО. Возврат полученного регистрационного взноса при отказе совета не может быть отменён: средства кандидата обязаны быть ему возвращены. Действие существует только как обязательный decline-коллбэк gateway (createoutpay требует имя decline-действия) и всегда завершается ошибкой. На фронте кнопки отклонения возврата нет; этот страж защищает от прямого вызова gateway::outdecline.
| coopname | Наименование кооператива |
| registration_hash | Хэш регистрации (= outcome_hash исходящего платежа) |
| reason | Причина отклонения (игнорируется) |
gateway | void registrator::declinexit | ( | eosio::name | coopname, |
| checksum256 | exit_hash, | ||
| std::string | reason | ||
| ) |
Отказ в выходе из кооператива. Вызывается либо советом при отклонении заявления (до резервирования средств), либо gateway при отклонении исходящего платежа (после резервирования). Если сумма возврата уже была зарезервирована — снимаем резерв (o.wal.wthdec: w.wal.wpend → w.wal.share). Пайщик остаётся действующим членом кооператива.
| coopname | Наименование кооператива |
| exit_hash | Хэш процесса выхода |
| reason | Причина отказа |
soviet или gateway | void registrator::decparticpnt | ( | eosio::name | coopname, |
| eosio::name | username | ||
| ) |
Уменьшение счетчика активных пайщиков. Уменьшает счетчик активных пайщиков кооператива при блокировке участника
| coopname | Имя кооператива |
| username | Имя пайщика |
soviet | void registrator::delcoop | ( | eosio::name | administrator, |
| eosio::name | coopname | ||
| ) |
Удаление кооператива. Удаляет кооператив из системы
| administrator | Имя администратора |
| coopname | Наименование кооператива для удаления |
provider или administrator | void registrator::deloperator | ( | eosio::name | coopname | ) |
Снять оператора с кооператива: он снова держит установку сам.
Снятие оператора с кооператива.
Обслуживание прекращается: кооператив снова считается держащим установку сам. Пустой оператор и означает собственную установку — того же вида запись, что у кооператива, который никому её не поручал.
Выданное заверение это действие не отзывает и отозвать не может: подпись уже у того, кому её выдали. Но продлевать её будет некому, и она погаснет сама в пределах своего срока — месяца или меньше.
Снять оператора может любая из двух сторон: кооператив вправе уйти, оператор вправе перестать обслуживать. Держать кого-то в обслуживании против воли незачем — обязательство одностороннее, и принуждать к нему нечем.
| coopname | Кооператив, с которого снимается оператор |
coopname, его нынешний оператор либо провайдер. | void registrator::disbranches | ( | eosio::name | coopname | ) |
Отключение режима филиалов. Отключает режим кооперативных участков для кооператива
| coopname | Наименование кооператива |
branch | void registrator::enabranches | ( | eosio::name | coopname | ) |
Включение режима филиалов. Включает режим кооперативных участков для кооператива
| coopname | Наименование кооператива |
branch | void registrator::exitcoop | ( | eosio::name | coopname, |
| eosio::name | username, | ||
| checksum256 | exit_hash, | ||
| document2 | statement | ||
| ) |
Подача заявления на выход из кооператива. Действующий пайщик подаёт подписанное заявление о выходе (registry 200). Создаётся объект выхода и повестка совета leavecoop на рассмотрение. Возврат паевого взноса произойдёт после одобрения советом (confirmexit).
| coopname | Наименование кооператива |
| username | Имя пайщика, выходящего из кооператива |
| exit_hash | Хэш процесса выхода |
| statement | Подписанное заявление о выходе (registry 200) |
coopname | void registrator::init | ( | ) |
Инициализация контракта регистратора. Создает начальные аккаунты и кооператив-провайдер системы
system | void registrator::migrate | ( | ) |
Миграция данных контракта. Разовая нормализация типа аккаунта в registrator::accounts.
registrator | void registrator::newaccount | ( | eosio::name | coopname, |
| eosio::name | referer, | ||
| eosio::name | username, | ||
| eosio::public_key | public_key, | ||
| std::string | meta | ||
| ) |
Регистрация нового аккаунта. Создает новый аккаунт в системе блокчейна
| coopname | Наименование кооператива |
| referer | Реферер, который представил нового пользователя |
| username | Имя нового аккаунта (от 5 до 12 символов) |
| public_key | Открытый ключ нового аккаунта |
| meta | Дополнительная мета-информация |
coopname | void registrator::refundpay | ( | name | coopname, |
| checksum256 | registration_hash | ||
| ) |
Подтверждение возврата регистрационного взноса. Коллбэк gateway после фактического проведения кассой исходящего возврата (gateway::outcomplete). Проводит обратную проводку Дт 76 / Кт 51 (сжигание суспенса w.reg.pend) и закрывает запись кандидата. Деньги уходят со счёта 76 ровно в этот момент — не раньше, чем касса подтвердит исходящий перевод.
| coopname | Наименование кооператива |
| registration_hash | Хэш регистрации (= outcome_hash исходящего платежа) |
gateway | void registrator::regcoop | ( | eosio::name | coopname, |
| eosio::name | username, | ||
| org_data | params, | ||
| document2 | document | ||
| ) |
Регистрация кооператива-члена цифровой системы. Регистрирует новый кооператив в системе
| coopname | Наименование кооператива |
| username | Имя пользователя-регистратора |
| params | Параметры кооператива |
| document | Документ регистрации |
coopname или username | void registrator::reguser | ( | eosio::name | coopname, |
| eosio::name | braname, | ||
| eosio::name | username, | ||
| eosio::name | type, | ||
| document2 | statement, | ||
| checksum256 | registration_hash | ||
| ) |
Регистрация пользователя. Регистрирует аккаунт в качестве физического лица для вступления в кооператив
| coopname | Наименование кооператива |
| braname | Наименование филиала |
| username | Имя пользователя, который регистрируется |
| type | Тип пользователя (individual, entrepreneur, organization) |
| statement | Документ заявления на вступление |
| registration_hash | Хэш регистрации |
coopname | void registrator::setoperator | ( | eosio::name | coopname, |
| eosio::name | operator_name | ||
| ) |
Указать оператора, обслуживающего кооператив.
Указание оператора, который обслуживает кооператив.
Родитель в реестре кооперативов — это оператор, развернувший установку, а не учредитель: кооперативы друг друга не учреждают. Пустой родитель означает собственную установку.
operator_name; при смене оператора — дополнительно прежний оператор либо провайдер.Поле «родитель» в реестре кооперативов существовало с самого начала, но не заполнялось ничем и никогда: ни одно действие в него не писало. Задумано оно было не под организационную дочернюю структуру — кооперативы друг друга не учреждают, и такой связи в кооперации попросту нет, — а под ту единственную связь, которая между ними действительно есть: кто чью установку держит.
Это действие и придаёт полю смысл. Родитель — оператор, развернувший установку платформы для кооператива. Пустой родитель означает, что кооператив держит установку сам и, стало быть, сам себе оператор.
Зачем связь нужна. Оператор обязан продлевать заверения обслуживаемым кооперативам, иначе их удостоверения перестают проходить проверку. Обходить их по расписанию он может, только зная, кто это. Спрашивать об этом сам кооператив нельзя: тогда любой объявил бы себя обслуживаемым и получил заверение, ничего не подписывая.
Поэтому подписывают оба: кооператив соглашается на обслуживание, оператор берёт на себя обязательство. Одной подписи не хватает ни с одной стороны. Оператор в одиночку иначе объявил бы себя обслуживающим любой кооператив, у которого оператор ещё не указан, а кооператив в одиночку — навязал бы себя оператору, который о нём не знает, и тот принялся бы его заверять.
Провайдер платформы может назначить оператора один — он и так администрирует реестр, и через него проходит перевод уже подключённых кооперативов, у которых оператор не был указан никогда.
| coopname | Кооператив, которому назначается оператор |
| operator_name | Оператор, берущий кооператив на обслуживание |
coopname и operator_name вместе, либо провайдер один. При смене оператора — дополнительно прежний оператор. | void registrator::stcoopstatus | ( | eosio::name | coopname, |
| eosio::name | administrator, | ||
| eosio::name | status | ||
| ) |
Установка статуса кооператива. Изменяет статус кооператива (active, blocked, pending)
| coopname | Наименование кооператива |
| administrator | Имя администратора |
| status | Новый статус кооператива |
provider или administrator | void registrator::unverifyacc | ( | eosio::name | coopname, |
| eosio::name | chairman, | ||
| eosio::name | username, | ||
| eosio::name | procedure | ||
| ) |
Отзыв верификации личности пайщика, проведённой кооперативным участком.
Отзыв верификации личности пайщика. Председатель кооператива отзывает ранее проведённую верификацию (ошибка при проведении или компрометация).
chairman) либо сам кооператив.| coopname | Наименование кооператива |
| chairman | Председатель кооператива |
| username | Имя аккаунта пайщика |
| procedure | Процедура верификации, которая отзывается |
chairman или кооператива | void registrator::updateaccnt | ( | eosio::name | username, |
| eosio::name | account_to_change, | ||
| std::string | meta | ||
| ) |
Обновление метаданных аккаунта. Обновляет метаданные указанного аккаунта
| username | Имя аккаунта, который обновляет метаданные |
| account_to_change | Имя аккаунта, который требуется обновить |
| meta | Новые метаданные для аккаунта |
username | void registrator::updatecoop | ( | eosio::name | coopname, |
| eosio::name | username, | ||
| eosio::asset | initial, | ||
| eosio::asset | minimum, | ||
| eosio::asset | org_initial, | ||
| eosio::asset | org_minimum, | ||
| std::string | announce, | ||
| std::string | description | ||
| ) |
Обновление параметров кооператива. Обновляет параметры кооператива (взносы, описание)
| coopname | Наименование кооператива |
| username | Имя пользователя-обновителя |
| initial | Вступительный взнос для физических лиц |
| minimum | Минимальный взнос для физических лиц |
| org_initial | Вступительный взнос для организаций |
| org_minimum | Минимальный взнос для организаций |
| announce | Анонс кооператива |
| description | Описание кооператива |
provider, coopname или username | void registrator::verificate | ( | eosio::name | username, |
| eosio::name | procedure | ||
| ) |
Верификация аккаунта. Верифицирует аккаунты как пользователей, так и организаций
| username | Имя аккаунта, который подлежит верификации |
| procedure | Процедура верификации (online) |
provider | void registrator::verifyacc | ( | eosio::name | coopname, |
| eosio::name | braname, | ||
| eosio::name | verificator, | ||
| eosio::name | username, | ||
| eosio::name | procedure | ||
| ) |
Верификация личности пайщика на кооперативном участке.
Верификация личности пайщика при личной явке. Личность сверяется с паспортом уполномоченным лицом кооператива и фиксируется в аккаунте пайщика. Верификацию проводит либо кооперативный участок (председатель участка или его доверенное лицо) — тогда braname указан, либо совет кооператива (председатель совета или сотрудник с правом на действие) — тогда braname пуст. Верификация проводится один раз для каждой процедуры.
verificator).| coopname | Наименование кооператива |
| braname | Наименование кооперативного участка; пусто, если верифицирует совет кооператива |
| verificator | Кто проводит верификацию |
| username | Имя аккаунта пайщика, который подлежит верификации |
| procedure | Процедура верификации (passport) |
verificator либо от кооператива