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