COOPENOMICS  v1
Кооперативная Экономика
table_apps_subs.hpp
См. документацию.
1#pragma once
2
3#include <eosio/eosio.hpp>
4#include <eosio/crypto.hpp>
5
6#include "../consts.hpp"
7#include "../core/utils.hpp"
8
9namespace Apps {
10
11using namespace eosio;
12
67struct [[eosio::table, eosio::contract(APPS)]] sub {
68 uint64_t id;
71 checksum256 chain_id;
72 name plan;
73 bool active;
74 time_point_sec start_at;
75 time_point_sec end_at;
76 time_point_sec created_at;
77 time_point_sec updated_at;
78 uint8_t attempt = 0;
79 checksum256 last_charge_intent_id = {};
80
81 uint64_t primary_key() const { return id; }
82 uint128_t by_cooppkg() const { return ((uint128_t)coopname.value << 64) | package_id.value; }
83 uint64_t by_coop() const { return coopname.value; }
84 uint64_t by_expires() const { return end_at.sec_since_epoch(); }
85};
86
87typedef eosio::multi_index<
88 "subs"_n, sub,
89 eosio::indexed_by<"bycooppkg"_n, eosio::const_mem_fun<sub, uint128_t, &sub::by_cooppkg>>,
90 eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun<sub, uint64_t, &sub::by_coop>>,
91 eosio::indexed_by<"byexpires"_n, eosio::const_mem_fun<sub, uint64_t, &sub::by_expires>>>
93
94} // namespace Apps
contract
Definition: eosio.msig_tests.cpp:977
Definition: apps.hpp:73
eosio::multi_index< "subs"_n, sub, eosio::indexed_by<"bycooppkg"_n, eosio::const_mem_fun< sub, uint128_t, &sub::by_cooppkg > >, eosio::indexed_by<"bycoop"_n, eosio::const_mem_fun< sub, uint64_t, &sub::by_coop > >, eosio::indexed_by<"byexpires"_n, eosio::const_mem_fun< sub, uint64_t, &sub::by_expires > > > subs_index
Definition: table_apps_subs.hpp:92
Definition: eosio.msig.hpp:34
Запись каталога: подписка кооператива на пакет.
Definition: table_apps_subs.hpp:67
bool active
Definition: table_apps_subs.hpp:73
uint64_t primary_key() const
Definition: table_apps_subs.hpp:81
uint64_t id
Definition: table_apps_subs.hpp:68
time_point_sec start_at
Definition: table_apps_subs.hpp:74
uint64_t by_expires() const
Definition: table_apps_subs.hpp:84
time_point_sec end_at
Definition: table_apps_subs.hpp:75
uint128_t by_cooppkg() const
Definition: table_apps_subs.hpp:82
name package_id
Definition: table_apps_subs.hpp:70
uint64_t by_coop() const
Definition: table_apps_subs.hpp:83
time_point_sec created_at
Definition: table_apps_subs.hpp:76
name plan
Definition: table_apps_subs.hpp:72
time_point_sec updated_at
Definition: table_apps_subs.hpp:77
checksum256 chain_id
Definition: table_apps_subs.hpp:71
name coopname
Definition: table_apps_subs.hpp:69