COOPENOMICS  v1
Кооперативная Экономика
ledger.hpp
См. документацию.
1#include <eosio/asset.hpp>
2#include <eosio/contract.hpp>
3#include <eosio/crypto.hpp>
4#include <eosio/eosio.hpp>
5#include <eosio/multi_index.hpp>
6#include <eosio/system.hpp>
7#include <eosio/time.hpp>
8
9#include "../lib/common.hpp"
10
11using namespace eosio;
12
46
47public:
48 ledger(eosio::name receiver, eosio::name code,
49 eosio::datastream<const char *> ds)
50 : eosio::contract(receiver, code, ds) {}
51
52 void apply(uint64_t receiver, uint64_t code, uint64_t action);
53 [[eosio::action]] void migrate();
54
55 // Операции со счетами (common процесс)
56 [[eosio::action]] void add(eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment);
57 [[eosio::action]] void sub(eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment);
58
59 // Операции блокировки/разблокировки средств
60 [[eosio::action]] void block(eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment);
61 [[eosio::action]] void unblock(eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment);
62
63 // Атомарная операция списания
64 [[eosio::action]] void writeoff(eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment);
65 // Атомарная операция отмены списания
66 [[eosio::action]] void writeoffcnsl(eosio::name coopname, uint64_t account_id, eosio::asset quantity, std::string comment);
67
68 // Операции процесса списания через совет (writeoff процесс)
69 [[eosio::action]] void create(eosio::name coopname, eosio::name username, uint64_t account_id, eosio::asset quantity, std::string reason, document2 document, checksum256 writeoff_hash);
70 [[eosio::action]] void auth(eosio::name coopname, checksum256 writeoff_hash);
71
72 // Коллбэки от gateway
73 [[eosio::action]] void complete(eosio::name coopname, checksum256 writeoff_hash);
74 [[eosio::action]] void decline(eosio::name coopname, checksum256 writeoff_hash, std::string reason);
75
76};
Контракт ledger для управления бухгалтерской книгой кооператива
Definition: ledger.hpp:45
void apply(uint64_t receiver, uint64_t code, uint64_t action)
ledger(eosio::name receiver, eosio::name code, eosio::datastream< const char * > ds)
Definition: ledger.hpp:48
#define LEDGER
Definition: consts.hpp:141
contract
Definition: eosio.msig_tests.cpp:977
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: drafts.hpp:28
Definition: drafts.hpp:7