COOPENOMICS  v1
Кооперативная Экономика
table_ledger2_account.hpp
См. документацию.
1#pragma once
2
3#include <eosio/asset.hpp>
4#include <eosio/eosio.hpp>
5#include <string>
6
7#include "../consts.hpp"
8
43struct [[eosio::table, eosio::contract(LEDGER2)]] account2 {
44 uint64_t id;
45 std::string name;
46 uint8_t account_type;
47 eosio::asset debit_balance;
48 eosio::asset credit_balance;
49 eosio::asset balance;
50
51 uint64_t primary_key() const { return id; }
52
53 bool is_empty() const {
54 return debit_balance.amount == 0 && credit_balance.amount == 0 && balance.amount == 0;
55 }
56
62 static eosio::asset compute_balance(uint8_t type,
63 const eosio::asset& dr,
64 const eosio::asset& cr) {
65 // 1 == PASSIVE — кредитовый остаток; для ACTIVE и ACTIVE_PASSIVE возвращаем Dr − Cr
66 if (type == 1) return cr - dr;
67 return dr - cr;
68 }
69};
70
71typedef eosio::multi_index<"accounts"_n, account2> accounts2_index;
contract
Definition: eosio.msig_tests.cpp:977
balance
Definition: eosio.token_tests.cpp:226
Definition: eosio.msig.hpp:34
Бухгалтерский счёт ledger2 (двойная запись).
Definition: table_ledger2_account.hpp:43
eosio::asset credit_balance
Definition: table_ledger2_account.hpp:48
uint8_t account_type
AccountType: 0=ACTIVE, 1=PASSIVE, 2=ACTIVE_PASSIVE.
Definition: table_ledger2_account.hpp:46
eosio::asset debit_balance
Definition: table_ledger2_account.hpp:47
static eosio::asset compute_balance(uint8_t type, const eosio::asset &dr, const eosio::asset &cr)
Пересчёт сальдо по обороту с учётом активности/пассивности счёта.
Definition: table_ledger2_account.hpp:62
std::string name
Definition: table_ledger2_account.hpp:45
eosio::asset balance
Текущее сальдо счёта (с учётом типа)
Definition: table_ledger2_account.hpp:49
bool is_empty() const
Definition: table_ledger2_account.hpp:53
uint64_t id
Definition: table_ledger2_account.hpp:44
uint64_t primary_key() const
Definition: table_ledger2_account.hpp:51
eosio::multi_index<"accounts"_n, account2 > accounts2_index
Definition: table_ledger2_account.hpp:71