Контракт Contributor управляет вкладами, распределением вознаграждений и выводом средств для участников. Contributor — это контракт, управляющий вкладами участников, распределением вознаграждений и механизмами вывода средств в системе. Он поддерживает два типа вкладов — интеллектуальные и имущественные, и предоставляет два метода для участников, чтобы вывести свои средства при различных условиях.
Подробнее...
#include <contributor.hpp>
|
void | init (name coopname) |
| Инициализирует контракт, устанавливая глобальное состояние.Это действие должно быть вызвано один раз после развертывания контракта. Подробнее...
|
|
void | contribute (name coopname, name username, asset amount, name type) |
| Позволяет участнику совершить вклад. Подробнее...
|
|
void | refresh (name coopname, name username) |
| Обновляет состояние участника, применяя накопленные вознаграждения. Подробнее...
|
|
void | withdraw1 (name coopname, name username, asset amount) |
| Выводит средства из интеллектуальных вкладов участника. Подробнее...
|
|
void | withdraw2 (name coopname, name username, asset amount) |
| Ставит запрос на вывод средств в очередь для обработки из накопленных членских взносов. Подробнее...
|
|
void | addfee (name coopname, asset amount) |
| Добавляет входящие членские взносы в глобальное состояние. Подробнее...
|
|
|
typedef eosio::multi_index<"participants"_n, participant, indexed_by<"byaccount"_n, const_mem_fun< participant, uint64_t, &participant::by_account > > > | participants_table |
| Таблица для хранения участников. Подробнее...
|
|
typedef eosio::multi_index<"globalstate"_n, global_state > | global_state_table |
| Таблица для хранения глобального состояния. Подробнее...
|
|
typedef eosio::multi_index<"withdrawals"_n, withdrawal_request, indexed_by<"byaccount"_n, const_mem_fun< withdrawal_request, uint64_t, &withdrawal_request::by_account > >, indexed_by<"bytimestamp"_n, const_mem_fun< withdrawal_request, uint64_t, &withdrawal_request::by_timestamp > > > | withdrawals_table |
| Таблица для хранения запросов на вывод. Подробнее...
|
|
Контракт Contributor управляет вкладами, распределением вознаграждений и выводом средств для участников. Contributor — это контракт, управляющий вкладами участников, распределением вознаграждений и механизмами вывода средств в системе. Он поддерживает два типа вкладов — интеллектуальные и имущественные, и предоставляет два метода для участников, чтобы вывести свои средства при различных условиях.
◆ global_state_table
Таблица для хранения глобального состояния.
◆ participants_table
Таблица для хранения участников.
◆ withdrawals_table
Таблица для хранения запросов на вывод.
◆ addfee()
void contributor::addfee |
( |
name |
coopname, |
|
|
asset |
amount |
|
) |
| |
Добавляет входящие членские взносы в глобальное состояние.
Это действие вызывается системой для добавления средств.
- Аргументы
-
amount | Сумма добавленных членских взносов. |
◆ contribute()
void contributor::contribute |
( |
name |
coopname, |
|
|
name |
username, |
|
|
asset |
amount, |
|
|
name |
type |
|
) |
| |
Позволяет участнику совершить вклад.
- Аргументы
-
username | Имя аккаунта участника. |
amount | Сумма вклада. |
type | Тип вклада ("intellect"_n или "property"_n). |
◆ get_global_state()
Получает текущее глобальное состояние.
- Возвращает
- Текущее глобальное состояние.
◆ init()
void contributor::init |
( |
name |
coopname | ) |
|
Инициализирует контракт, устанавливая глобальное состояние.Это действие должно быть вызвано один раз после развертывания контракта.
◆ process_intellectual()
void contributor::process_intellectual |
( |
const name & |
coopname, |
|
|
const name & |
username, |
|
|
const asset & |
amount |
|
) |
| |
|
private |
Обрабатывает интеллектуальный вклад.
- Аргументы
-
username | Имя аккаунта участника. |
amount | Сумма вклада. |
◆ process_property()
void contributor::process_property |
( |
const name & |
coopname, |
|
|
const name & |
username, |
|
|
const asset & |
amount |
|
) |
| |
|
private |
Обрабатывает имущественный вклад.
- Аргументы
-
username | Имя аккаунта участника. |
amount | Сумма вклада. |
◆ process_withdrawals()
void contributor::process_withdrawals |
( |
const name & |
coopname | ) |
|
|
private |
Обрабатывает очередь на вывод, выплачивая запросы, если это возможно.
◆ refresh()
void contributor::refresh |
( |
name |
coopname, |
|
|
name |
username |
|
) |
| |
Обновляет состояние участника, применяя накопленные вознаграждения.
- Аргументы
-
username | Имя аккаунта участника. |
◆ update_global_state()
void contributor::update_global_state |
( |
const global_state & |
gs | ) |
|
|
private |
Обновляет глобальное состояние новыми значениями.
- Аргументы
-
gs | Новое глобальное состояние. |
◆ withdraw1()
void contributor::withdraw1 |
( |
name |
coopname, |
|
|
name |
username, |
|
|
asset |
amount |
|
) |
| |
Выводит средства из интеллектуальных вкладов участника.
Только участники, совершившие интеллектуальные вклады, могут использовать этот метод.
- Аргументы
-
username | Имя аккаунта участника. |
amount | Сумма для вывода. |
◆ withdraw2()
void contributor::withdraw2 |
( |
name |
coopname, |
|
|
name |
username, |
|
|
asset |
amount |
|
) |
| |
Ставит запрос на вывод средств в очередь для обработки из накопленных членских взносов.
Средства, запрошенные к выводу, перестают приносить вознаграждения и обрабатываются по порядку.
- Аргументы
-
username | Имя аккаунта участника. |
amount | Сумма для вывода. |
◆ TOKEN_SYMBOL
Символ используемого токена.
Объявления и описания членов классов находятся в файлах: