51#include <eosio/eosio.hpp> 
   52#include <eosio/asset.hpp> 
   53#include "../lib/common.hpp" 
   80      checksum256 project_hash,
 
   81      checksum256 parent_hash,
 
   83      std::string description,
 
   87      bool can_convert_to_project
 
   94      checksum256 project_hash,
 
   96      std::string description,
 
  100      bool can_convert_to_project
 
  106    void openproject(name coopname, checksum256 project_hash);
 
  110    void closeproject(name coopname, checksum256 project_hash);
 
  114    void startproject(name coopname, checksum256 project_hash);
 
  118    void stopproject(name coopname, checksum256 project_hash);
 
  122    void startvoting(name coopname, checksum256 project_hash);
 
  126    void cmpltvoting(name coopname, checksum256 project_hash);
 
  130    void calcvotes(name coopname, name username, checksum256 project_hash);
 
  134    void submitvote(name coopname, name 
voter, checksum256 project_hash, std::vector<Capital::vote_input> votes);
 
  138    void delproject(name coopname, checksum256 project_hash);
 
  142    void convertsegm(eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 convert_hash, asset wallet_amount, asset capital_amount, asset project_amount, 
document2 convert_statement);
 
  146    void createwthd2(name coopname, name username, checksum256 project_hash, checksum256 withdraw_hash, asset 
amount, 
document2 return_statement);
 
  149    void capauthwthd2(eosio::name coopname, checksum256 withdraw_hash, 
document2 authorization);
 
  152    void capdeclwthd2(name coopname, checksum256 withdraw_hash, std::string reason);
 
  155    void approvewthd2(name coopname, name approver, checksum256 withdraw_hash, 
document2 approved_return_statement);
 
  159    void createwthd3(name coopname, name username, checksum256 withdraw_hash, asset 
amount, 
document2 return_statement);
 
  162    void capauthwthd3(eosio::name coopname, checksum256 withdraw_hash, 
document2 authorization);
 
  165    void approvewthd3(name coopname, name approver, checksum256 withdraw_hash, 
document2 approved_return_statement);
 
  168    void capdeclwthd3(name coopname, checksum256 withdraw_hash, std::string reason);
 
  172    void pushrslt(name coopname, name username, checksum256 project_hash, checksum256 result_hash, 
 
  173                  eosio::asset contribution_amount, eosio::asset debt_amount, 
document2 statement, std::vector<checksum256> debt_hashes);
 
  176    void authrslt(eosio::name coopname, checksum256 result_hash, 
document2 decision);
 
  179    void approverslt(eosio::name coopname, eosio::name username, checksum256 result_hash, 
document2 approved_statement);
 
  182    void declrslt(eosio::name coopname, checksum256 result_hash, std::string reason);
 
  185    void signact1(eosio::name coopname, eosio::name username, checksum256 result_hash, 
document2 act);
 
  188    void signact2(eosio::name coopname, eosio::name chairman, checksum256 result_hash, 
document2 act);
 
  193    void addauthor(name coopname, checksum256 project_hash, name author);
 
  197    void createcmmt(eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 commit_hash, uint64_t creator_hours, std::string description, std::string meta);
 
  199    void approvecmmt(eosio::name coopname, eosio::name username, checksum256 approval_hash, 
document2 approved_document);
 
  201    void declinecmmt(eosio::name coopname, eosio::name username, checksum256 approval_hash, std::string reason);
 
  205    void createpjprp(eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 property_hash, eosio::asset property_amount, std::string property_description);
 
  207    void approvepjprp(eosio::name coopname, eosio::name username, checksum256 property_hash, 
document2 empty_document);
 
  209    void declinepjprp(eosio::name coopname, eosio::name username, checksum256 property_hash, std::string reason);
 
  213    void createpgprp(eosio::name coopname, eosio::name username, checksum256 property_hash, eosio::asset property_amount, std::string property_description, 
document2 statement);
 
  215    void approvepgprp(eosio::name coopname, eosio::name username, checksum256 property_hash, 
document2 approved_statement);
 
  217    void declinepgprp(eosio::name coopname, eosio::name username, checksum256 property_hash, std::string reason);
 
  219    void authpgprp(eosio::name coopname, checksum256 property_hash, 
document2 decision);
 
  221    void act1pgprp(eosio::name coopname, eosio::name username, checksum256 property_hash, 
document2 act);
 
  223    void act2pgprp(eosio::name coopname, eosio::name username, checksum256 property_hash, 
document2 act);
 
  227    void createdebt(name coopname, name username, checksum256 project_hash, checksum256 debt_hash, asset 
amount, time_point_sec repaid_at, 
document2 statement);
 
  230    void approvedebt(eosio::name coopname, eosio::name username, checksum256 debt_hash, 
document2 approved_statement);
 
  233    void debtauthcnfr(eosio::name coopname, checksum256 debt_hash, 
document2 decision);
 
  236    void debtpaycnfrm(name coopname, checksum256 debt_hash);
 
  239    void debtpaydcln(name coopname, checksum256 debt_hash, std::string reason);
 
  242    void declinedebt(name coopname, eosio::name username, checksum256 debt_hash, std::string reason);
 
  245    void settledebt(name coopname, name username, eosio::asset 
amount, 
document2 statement);
 
  249    void regcontrib(eosio::name coopname, eosio::name username, checksum256 contributor_hash, eosio::asset rate_per_hour, uint64_t hours_per_day, 
bool is_external_contract, 
document2 contract);
 
  251    void approvereg(eosio::name coopname, eosio::name username, checksum256 contributor_hash, 
document2 contract);
 
  253    void declinereg(eosio::name coopname, eosio::name username, checksum256 contributor_hash, std::string reason);
 
  257    void editcontrib(eosio::name coopname, eosio::name username, eosio::asset rate_per_hour, uint64_t hours_per_day);
 
  261    void importcontrib(eosio::name coopname, eosio::name username, checksum256 contributor_hash, eosio::asset contribution_amount, std::string memo);
 
  265    void getclearance(eosio::name coopname, eosio::name username, checksum256 project_hash, checksum256 appendix_hash, 
document2 document);
 
  267    void apprvappndx(eosio::name coopname, eosio::name username, checksum256 appendix_hash, 
document2 approved_document);
 
  269    void dclineappndx(eosio::name coopname, eosio::name username, checksum256 appendix_hash, std::string reason);
 
  273    void createinvest(name coopname, name username, checksum256 project_hash, checksum256 invest_hash, asset 
amount, 
document2 statement);    
 
  276    void approveinvst(eosio::name coopname, eosio::name username, checksum256 invest_hash, 
document2 approved_statement);
 
  279    void declineinvst(eosio::name coopname, eosio::name username, checksum256 invest_hash, 
document2 decline_statement);
 
  282    void returnunused(name coopname, checksum256 project_hash, name username);
 
  286    void createpinv(name coopname, name username, checksum256 invest_hash, asset 
amount, 
document2 statement);
 
  289    void apprvpinv(eosio::name coopname, eosio::name username, checksum256 invest_hash, 
document2 approved_statement);
 
  292    void declpinv(eosio::name coopname, eosio::name username, checksum256 invest_hash, 
document2 declined_statement);
 
  296    void allocate(eosio::name coopname, checksum256 project_hash, eosio::asset 
amount);
 
  299    void diallocate(eosio::name coopname, checksum256 project_hash);
 
  304    void createexpnse(eosio::name coopname, checksum256 expense_hash, checksum256 project_hash, name creator, asset 
amount, std::string description, 
document2 statement);
 
  307    void approveexpns(name coopname, name approver, checksum256 expense_hash, 
document2 approved_statement);
 
  310    void capauthexpns(eosio::name coopname, checksum256 expense_hash, 
document2 authorization);
 
  313    void capdeclexpns(eosio::name coopname, checksum256 expense_hash);
 
  316    void exppaycnfrm(eosio::name coopname, checksum256 expense_hash);
 
  319    [[
eosio::action]] 
void fundproj(eosio::name coopname, checksum256 project_hash, asset 
amount, std::string memo);
 
  320    [[
eosio::action]] 
void refreshproj(name coopname, checksum256 project_hash, name username);
 
  322    [[
eosio::action]] 
void refreshprog(name coopname, name username);
 
  325    [[
eosio::action]] 
void setmaster(name coopname, checksum256 project_hash, name master);
 
  326    [[
eosio::action]] 
void setplan(name coopname, name master, checksum256 project_hash, uint64_t plan_creators_hours, asset plan_expenses, asset plan_hour_cost);
 
  327    [[
eosio::action]] 
void expandexpnss(name coopname, checksum256 project_hash, asset additional_expenses);
 
  330    [[
eosio::action]] 
void rfrshsegment(name coopname, checksum256 project_hash, name username);
 
  333    [[
eosio::action]] 
void regshare(name coopname, checksum256 project_hash, name username);
 
Контракт Capital управляет вкладами, распределением вознаграждений и выводом средств для участников....
Definition: capital.hpp:65
 
contract
Definition: eosio.msig_tests.cpp:977
 
action act
Definition: eosio.msig_tests.cpp:974
 
share_type amount
Definition: eosio.token_tests.cpp:174
 
const uint64_t MAX_HOURS_PER_DAY
Максимальное количество часов в день
Definition: capital.hpp:48
 
const uint32_t MAX_PROJECT_AUTHORS
Максимальное количество авторов в проекте
Definition: capital.hpp:46
 
const double CREATORS_BONUS_COEFFICIENT
Коэффициент премий создателей от своей себестоимости (100%)
Definition: capital.hpp:42
 
const double CONTRIBUTORS_BONUS_COEFFICIENT
Коэффициент премий вкладчиков от себестоимостей создателей, авторов и координаторов (161....
Definition: capital.hpp:45
 
const double AUTHOR_BONUS_COEFFICIENT
Коэффициент премий авторов от своей себестоимости (100%)
Definition: capital.hpp:44
 
const uint64_t MAX_RATE_PER_HOUR
Максимальная ставка за час
Definition: capital.hpp:47
 
const double AUTHOR_BASE_COEFFICIENT
Коэффициент авторской себестоимости от себестоимости создателя (61.8%)
Definition: capital.hpp:43
 
fc::mutable_variant_object voter(account_name acct)
Definition: eosio.system_tester.hpp:1183
 
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: global_state.hpp:11
 
Таблица решений кооператива
Definition: coops.hpp:251
 
Definition: drafts.hpp:28