Контракт 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
Символ используемого токена. 
 
 
Объявления и описания членов классов находятся в файлах: