COOPENOMICS  v1
Кооперативная Экономика
program_withdraw.hpp
См. документацию.
1#pragma once
2
3using namespace eosio;
4using std::string;
5
13 namespace Status {
14 const eosio::name CREATED = "created"_n;
15 const eosio::name APPROVED = "approved"_n;
16 }
17}
18
19namespace Capital {
20
29 struct [[eosio::table, eosio::contract(CAPITAL)]] program_withdraw {
30 uint64_t id;
31 name coopname;
32 checksum256 withdraw_hash;
33 name username;
34 name status;
35 asset amount = asset(0, _root_govern_symbol);
37
38 time_point_sec created_at = current_time_point();
39
40 uint64_t primary_key() const { return id; }
41 uint64_t by_username() const { return username.value; }
42 checksum256 by_hash() const { return withdraw_hash; }
43 };
44
45typedef eosio::multi_index<"prgwithdraws"_n, program_withdraw,
46 indexed_by<"byhash"_n, const_mem_fun<program_withdraw, checksum256, &program_withdraw::by_hash>>,
47 indexed_by<"byusername"_n, const_mem_fun<program_withdraw, uint64_t, &program_withdraw::by_username>>
49
50
51inline std::optional<program_withdraw> get_program_withdraw(eosio::name coopname, const checksum256 &hash) {
52 program_withdraws_index program_withdraws(_capital, coopname.value);
53 auto index = program_withdraws.get_index<"byhash"_n>();
54
55 auto itr = index.find(hash);
56
57 if (itr == index.end()) {
58 return std::nullopt;
59 }
60
61 return *itr;
62}
63
64
65} // namespace Capital
static constexpr eosio::name _capital
Definition: consts.hpp:150
static constexpr eosio::symbol _root_govern_symbol
Definition: consts.hpp:210
contract
Definition: eosio.msig_tests.cpp:977
share_type amount
Definition: eosio.token_tests.cpp:174
const eosio::name APPROVED
Запрос на возврат одобрен
Definition: program_withdraw.hpp:15
const eosio::name CREATED
Запрос на возврат создан
Definition: program_withdraw.hpp:14
Definition: program_withdraw.hpp:6
Definition: balances.cpp:6
eosio::multi_index<"prgwithdraws"_n, program_withdraw, indexed_by<"byhash"_n, const_mem_fun< program_withdraw, checksum256, &program_withdraw::by_hash > >, indexed_by<"byusername"_n, const_mem_fun< program_withdraw, uint64_t, &program_withdraw::by_username > > > program_withdraws_index
Таблица для хранения запросов на возврат из проекта.
Definition: program_withdraw.hpp:48
std::optional< program_withdraw > get_program_withdraw(eosio::name coopname, const checksum256 &hash)
Definition: program_withdraw.hpp:51
Definition: eosio.msig.hpp:34
Таблица возвратов из программы хранит данные о запросах на возврат средств из программы капитализации...
Definition: program_withdraw.hpp:29
checksum256 withdraw_hash
Хэш запроса на возврат
Definition: program_withdraw.hpp:32
uint64_t by_username() const
Индекс по имени пользователя (2)
Definition: program_withdraw.hpp:41
uint64_t primary_key() const
Первичный ключ (1)
Definition: program_withdraw.hpp:40
name username
Имя участника, запрашивающего возврат
Definition: program_withdraw.hpp:33
uint64_t id
ID запроса на возврат (внутренний ключ)
Definition: program_withdraw.hpp:30
name status
Статус запроса (created | approved)
Definition: program_withdraw.hpp:34
document2 statement
Заявление на возврат паевого взноса деньгами
Definition: program_withdraw.hpp:36
name coopname
Имя кооператива
Definition: program_withdraw.hpp:31
checksum256 by_hash() const
Индекс по хэшу запроса (3)
Definition: program_withdraw.hpp:42
Definition: drafts.hpp:28