-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathicury.cpp
87 lines (81 loc) · 2.6 KB
/
icury.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <eosiolib/eosio.hpp>
#include "icury.hpp"
using namespace eosio;
void icury::writetx(uint64_t transaction_id, std::string icecat_userid_from, std::string icecat_userid_to, std::string currency)
{
require_auth("eosio"_n);
transaction_index transactions(_code, _code.value);
auto iterator = transactions.find(transaction_id);
if (iterator == transactions.end())
{
transactions.emplace(_self, [&](auto &row) {
row.transaction_id = transaction_id;
row.icecat_userid_from = icecat_userid_from;
row.icecat_userid_to = icecat_userid_to;
row.currency = currency;
});
}
else
{
transactions.modify(iterator, _self, [&](auto &row) {
row.transaction_id = transaction_id;
row.icecat_userid_from = icecat_userid_from;
row.icecat_userid_to = icecat_userid_to;
row.currency = currency;
});
}
}
void icury::removetx(uint64_t transaction_id)
{
transaction_index transactions(_self, _code.value);
auto iterator = transactions.find(transaction_id);
eosio_assert(iterator != transactions.end(), "Record does not exist");
transactions.erase(iterator);
}
void icury::writetxln(uint64_t transactionln_id,
uint64_t transaction_id,
uint64_t tstmp,
std::string icecat_id,
std::string value,
uint16_t item_quantity,
std::string item_description,
uint16_t vat)
{
require_auth("eosio"_n);
transactionln_index trxlns(_code, _code.value);
auto iterator = trxlns.find(transactionln_id);
if (iterator == trxlns.end())
{
trxlns.emplace(_self, [&](auto &row) {
row.transactionln_id = transactionln_id;
row.transaction_id = transaction_id;
row.tstmp = tstmp;
row.icecat_id = icecat_id;
row.value = value;
row.item_quantity = item_quantity;
row.item_description = item_description;
row.vat = vat;
});
}
else
{
trxlns.modify(iterator, _self, [&](auto &row) {
row.transactionln_id = transactionln_id;
row.transaction_id = transaction_id;
row.tstmp = tstmp;
row.icecat_id = icecat_id;
row.value = value;
row.item_quantity = item_quantity;
row.item_description = item_description;
row.vat = vat;
});
}
}
void icury::removetxln(uint64_t transactionln_id)
{
transactionln_index trxlns(_self, _code.value);
auto iterator = trxlns.find(transactionln_id);
eosio_assert(iterator != trxlns.end(), "Record does not exist");
trxlns.erase(iterator);
}
EOSIO_DISPATCH(icury, (writetx)(removetx)(writetxln)(removetxln))