COOPENOMICS  v1
Кооперативная Экономика
meet.hpp
См. документацию.
1// meet.hpp
2#pragma once
3#include <algorithm>
4#include <eosio/eosio.hpp>
5#include <eosio/asset.hpp>
6#include "../lib/index.hpp"
9
10using namespace eosio;
11using std::string;
12
43class [[eosio::contract]] meet : public contract {
44public:
46
53 static constexpr uint32_t MIN_OPEN_AGM_DELAY_SEC = 60 * 60 * 24 * 15; // 15 дней
54
61 static constexpr double MIN_QUORUM_PERCENT = 25.0; // ниже этой планки требование не опускается
62
69 static constexpr bool TEST_MODE = true; // Флаг тестового режима
70
72 void createmeet(name coopname, checksum256 hash, eosio::name initiator, name presider, name secretary, std::vector<meet_point> agenda, document2 proposal, time_point_sec open_at, time_point_sec close_at);
74 void authmeet(eosio::name coopname, checksum256 hash, document2 authorization);
76 void declmeet(name coopname, checksum256 hash, std::string reason);
77
79 void gmnotify(name coopname, checksum256 hash, name username, document2 notification);
80
82 void vote(name coopname, checksum256 hash, name username, document2 ballot, std::vector<vote_point> votes);
83
85 void restartmeet(name coopname, checksum256 hash, checksum256 new_hash, document2 newproposal, time_point_sec new_open_at, time_point_sec new_close_at);
86
88 void signbysecr(name coopname, name username, checksum256 hash, document2 secretary_decision);
89
91 void signbypresid(name coopname, name username, checksum256 hash, document2 presider_decision);
92
93 [[eosio::action]] void migrate();
94
95 [[eosio::action]] void delmeet(eosio::name coopname, uint64_t meet_id);
96
97 // Сервисное действие:
98 [[eosio::action]] void newgdecision(NEWGDECISION_SIGNATURE);
99private:
100 std::optional<Meet::meet> get_meet(eosio::name coopname, const checksum256 &hash);
101};
Контракт Meet управляет собраниями пайщиков.
Definition: meet.hpp:43
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
#define NEWGDECISION_SIGNATURE
Definition: newgdecision_interface.hpp:1
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: document_core.hpp:27