5#include <eosio/eosio.hpp> 
    6#include <eosio/asset.hpp> 
    7#include "../lib/common.hpp" 
   27    void init(name coopname);
 
   37    void contribute(name coopname, name username, asset 
amount, name type);
 
   45    void refresh(name coopname, name username);
 
   56    void withdraw1(name coopname, name username, asset 
amount); 
 
   67    void withdraw2(name coopname, name username, asset 
amount); 
 
   77    void addfee(name coopname, asset 
amount); 
 
   95        int64_t reward_per_share_last = 0;          
 
  103    typedef eosio::multi_index<
"participants"_n, 
participant,
 
  104        indexed_by<
"byaccount"_n, const_mem_fun<participant, uint64_t, &participant::by_account>>
 
  121        asset accumulated_fees = asset(0, TOKEN_SYMBOL); 
 
  122        int64_t cumulative_reward_per_share = 0;        
 
  145    typedef eosio::multi_index<
"withdrawals"_n, withdrawal_request,
 
  146        indexed_by<
"byaccount"_n, const_mem_fun<withdrawal_request, uint64_t, &withdrawal_request::by_account>>,
 
  147        indexed_by<
"bytimestamp"_n, const_mem_fun<withdrawal_request, uint64_t, &withdrawal_request::by_timestamp>>
 
  156    void process_property(
const name& coopname, 
const name& username, 
const asset& 
amount);
 
  164    void process_intellectual(
const name& coopname, 
const name& username, 
const asset& 
amount);
 
  180        auto itr = global_state_inst.find(coopname.value);
 
  181        eosio::check(itr != global_state_inst.end(), 
"Контракт не инициализирован");
 
  188    void process_withdrawals(
const name& coopname); 
 
Контракт Contributor управляет вкладами, распределением вознаграждений и выводом средств для участник...
Definition: contributor.hpp:17
 
global_state get_global_state(name coopname)
Получает текущее глобальное состояние.
Definition: contributor.hpp:178
 
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
Таблица для хранения запросов на вывод.
Definition: contributor.hpp:148
 
eosio::multi_index<"globalstate"_n, global_state > global_state_table
Таблица для хранения глобального состояния.
Definition: contributor.hpp:127
 
eosio::multi_index<"participants"_n, participant, indexed_by<"byaccount"_n, const_mem_fun< participant, uint64_t, &participant::by_account > > > participants_table
Таблица для хранения участников.
Definition: contributor.hpp:105
 
static constexpr eosio::symbol _root_govern_symbol
Definition: consts.hpp:210
 
static constexpr eosio::symbol _root_symbol
Definition: consts.hpp:209
 
contract
Definition: eosio.msig_tests.cpp:977
 
share_type amount
Definition: eosio.token_tests.cpp:174
 
void update_global_state(const global_state &gs)
Обновляет глобальное состояние новыми значениями.
Definition: global_state.hpp:52
 
Definition: eosio.msig.hpp:34
 
action(permission_level{ _gateway, "active"_n}, _gateway, "adduser"_n, std::make_tuple(coopname, deposit->username, to_spread, to_circulation, eosio::current_time_point(), true)).send()
 
Структура, представляющая учетные записи аккаунтов.
Definition: accounts.hpp:60
 
Структура глобального состояния, хранящая общие данные контракта.
Definition: contributor.hpp:113
 
eosio::name coopname
Имя кооператива глобального состояния.
Definition: contributor.hpp:114
 
uint64_t primary_key() const
Основной ключ.
Definition: contributor.hpp:124
 
Структура участника, хранящая данные индивидуального участника.
Definition: contributor.hpp:87
 
name account
Имя аккаунта участника.
Definition: contributor.hpp:89
 
uint64_t id
Уникальный ID участника.
Definition: contributor.hpp:88
 
uint64_t primary_key() const
Основной ключ.
Definition: contributor.hpp:99
 
uint64_t by_account() const
Вторичный индекс по аккаунту.
Definition: contributor.hpp:100
 
Структура запроса на вывод для обработки очереди на вывод.
Definition: contributor.hpp:134
 
name account
Имя аккаунта участника, запрашивающего вывод.
Definition: contributor.hpp:136
 
uint64_t id
Уникальный ID запроса на вывод.
Definition: contributor.hpp:135
 
uint64_t by_account() const
Вторичный индекс по аккаунту.
Definition: contributor.hpp:141
 
uint64_t primary_key() const
Основной ключ.
Definition: contributor.hpp:140
 
uint64_t timestamp
Время создания запроса.
Definition: contributor.hpp:138
 
uint64_t by_timestamp() const
Вторичный индекс по времени.
Definition: contributor.hpp:142
 
Таблица участников кооператива
Definition: coops.hpp:181