COOPENOMICS  v1
Кооперативная Экономика
table_soviet_agreements.hpp
См. документацию.
1#pragma once
2
3
4#include "../core/ram_payer.hpp"
5#include <eosio/eosio.hpp>
6#include <vector>
7
8#include "../consts.hpp"
9#include "../core/utils.hpp"
10#include "document_core.hpp"
11
17struct [[eosio::table, eosio::contract(SOVIET)]] agreement {
18 uint64_t id;
19 eosio::name coopname;
20 eosio::name username;
21 eosio::name type;
22 uint64_t program_id;
23 uint64_t draft_id;
24 uint64_t version;
26 eosio::name status;
27 eosio::time_point_sec updated_at;
28 uint64_t primary_key() const { return id; }
29 uint64_t by_username() const { return username.value; }
30 uint64_t by_status() const { return coopname.value; }
31 uint64_t by_draft() const { return draft_id; }
32
33 uint128_t by_user_and_draft() const { return combine_ids(username.value, draft_id); }
34};
35
36typedef eosio::multi_index<
37 "agreements"_n, agreement,
38 eosio::indexed_by<"byusername"_n, eosio::const_mem_fun<agreement, uint64_t, &agreement::by_username>>,
39 eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun<agreement, uint64_t, &agreement::by_status>>,
40 eosio::indexed_by<"bydraft"_n, eosio::const_mem_fun<agreement, uint64_t, &agreement::by_draft>>,
41 eosio::indexed_by<"byuserdraft"_n, eosio::const_mem_fun<agreement, uint128_t, &agreement::by_user_and_draft>>>
43
44// Плательщик за оперативную память строк таблицы — правило в lib/core/ram_payer.hpp.
contract
Definition: eosio.msig_tests.cpp:977
Definition: eosio.msig.hpp:34
Definition: table_soviet_agreements.hpp:17
document document
Definition: table_soviet_agreements.hpp:25
uint64_t by_draft() const
Definition: table_soviet_agreements.hpp:31
uint64_t draft_id
Definition: table_soviet_agreements.hpp:23
uint64_t by_status() const
Definition: table_soviet_agreements.hpp:30
uint64_t by_username() const
Definition: table_soviet_agreements.hpp:29
eosio::name coopname
Definition: table_soviet_agreements.hpp:19
eosio::name username
Definition: table_soviet_agreements.hpp:20
uint64_t version
Definition: table_soviet_agreements.hpp:24
eosio::name status
Definition: table_soviet_agreements.hpp:26
uint64_t program_id
Definition: table_soviet_agreements.hpp:22
uint128_t by_user_and_draft() const
Definition: table_soviet_agreements.hpp:33
uint64_t primary_key() const
Definition: table_soviet_agreements.hpp:28
eosio::time_point_sec updated_at
Definition: table_soviet_agreements.hpp:27
eosio::name type
Definition: table_soviet_agreements.hpp:21
uint64_t id
Definition: table_soviet_agreements.hpp:18
Definition: document_core.hpp:10
RAM_PAYER_CLASS(agreement, contract)
eosio::multi_index< "agreements"_n, agreement, eosio::indexed_by<"byusername"_n, eosio::const_mem_fun< agreement, uint64_t, &agreement::by_username > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< agreement, uint64_t, &agreement::by_status > >, eosio::indexed_by<"bydraft"_n, eosio::const_mem_fun< agreement, uint64_t, &agreement::by_draft > >, eosio::indexed_by<"byuserdraft"_n, eosio::const_mem_fun< agreement, uint128_t, &agreement::by_user_and_draft > > > agreements_index
Definition: table_soviet_agreements.hpp:42
static uint128_t combine_ids(const uint64_t &x, const uint64_t &y)
Definition: utils.hpp:7