COOPENOMICS  v1
Кооперативная Экономика
marketplace.hpp
См. документацию.
1#include <eosio/asset.hpp>
2#include <eosio/contract.hpp>
3#include <eosio/crypto.hpp>
4#include <eosio/eosio.hpp>
5#include <eosio/multi_index.hpp>
6#include <eosio/system.hpp>
7#include <eosio/time.hpp>
8
9#include "../lib/common.hpp"
10
11using namespace Marketplace;
12
44
45public:
46 marketplace(eosio::name receiver, eosio::name code,
47 eosio::datastream<const char *> ds)
48 : eosio::contract(receiver, code, ds) {}
49
50 void apply(uint64_t receiver, uint64_t code, uint64_t action);
51 [[eosio::action]] void migrate();
52
53 // Действия для создания заявок
54 [[eosio::action]] void orderoffer(eosio::name coopname, eosio::name receiver_braname, eosio::name username, checksum256 hash, uint64_t units, eosio::asset unit_cost, uint32_t product_lifecycle_secs, uint32_t warranty_period_secs, eosio::asset membership_fee_amount, eosio::asset cancellation_fee_amount, document2 product_return_statement, document2 convert_in, std::string meta);
55
56 static void cancel_request(eosio::name coopname, eosio::name username, checksum256 request_hash);
57
58 // Статические методы для отклонения заявок
59 static void decline_request(eosio::name coopname, const request& change);
60
61 // Методы для направления заявок
62 [[eosio::action]] void accept(eosio::name coopname, eosio::name supplier_braname, eosio::name username, checksum256 request_hash, document2 convert_out, document2 return_document);
63 [[eosio::action]] void authcontrib(eosio::name coopname, checksum256 request_hash, document2 authorization);
64 [[eosio::action]] void authreturn(eosio::name coopname, checksum256 request_hash, document2 authorization);
65 [[eosio::action]] void declineacc(eosio::name coopname, checksum256 hash, std::string reason);
66 [[eosio::action]] void supply(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 act);
67 [[eosio::action]] void supplcnf(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 act);
68
69 // Новая система перевозок
70 [[eosio::action]] void createship(eosio::name coopname, checksum256 hash, eosio::name driver_username, eosio::name source_braname, eosio::name destination_braname, std::vector<checksum256> request_hashes, document2 transport_act_sender);
71 [[eosio::action]] void signbydriver(eosio::name coopname, checksum256 hash, document2 transport_act_driver);
72 [[eosio::action]] void arrived(eosio::name coopname, checksum256 hash, document2 transport_act_delivery);
73 [[eosio::action]] void receiveshipm(eosio::name coopname, checksum256 hash, document2 warehouse_receipt_act);
74 [[eosio::action]] void retransport(eosio::name coopname, checksum256 completed_hash, eosio::name new_driver_username, eosio::name source_braname, eosio::name new_destination_braname, std::vector<checksum256> request_hashes, document2 transport_act_sender);
75
76 // Доставка заказчику
77 [[eosio::action]] void delivered(eosio::name coopname, eosio::name username, checksum256 request_hash);
78 [[eosio::action]] void receive(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 document);
79 [[eosio::action]] void receivecnf(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 document);
80 [[eosio::action]] void complete(eosio::name coopname, eosio::name username, checksum256 request_hash);
81 [[eosio::action]] void decline(eosio::name coopname, eosio::name username, checksum256 request_hash, std::string meta);
82 [[eosio::action]] void cancel(eosio::name coopname, eosio::name username, checksum256 request_hash);
83
84 // Методы для работы с диспутом (гарантийный возврат)
85 [[eosio::action]] void dispute(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 document);
86 [[eosio::action]] void wauthorize(eosio::name coopname, checksum256 request_hash, uint64_t wreturn_decision_id, document2 wreturn_authorization, uint64_t wsupply_decision_id, document2 wsupply_authorization);
87 [[eosio::action]] void wreturn(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 document);
88 [[eosio::action]] void woffer(eosio::name coopname, eosio::name username, checksum256 request_hash, document2 document);
89 [[eosio::action]] void waccept(eosio::name coopname, eosio::name username, checksum256 request_hash, bool accept, document2 document);
90
91 struct [[eosio::table, eosio::contract("marketplace")]] balances : balances_base {};
92 struct [[eosio::table, eosio::contract("marketplace")]] counts : counts_base {};
93};
Класс marketplace предоставляет функционал кооперативного маркетплейса, позволяя пользователям создав...
Definition: marketplace.hpp:43
void apply(uint64_t receiver, uint64_t code, uint64_t action)
static void cancel_request(eosio::name coopname, eosio::name username, checksum256 request_hash)
marketplace(eosio::name receiver, eosio::name code, eosio::datastream< const char * > ds)
Definition: marketplace.hpp:46
#define MARKETPLACE
Definition: consts.hpp:130
contract
Definition: eosio.msig_tests.cpp:977
action act
Definition: eosio.msig_tests.cpp:974
supply
Definition: eosio.token_tests.cpp:150
Definition: shared_marketplace.hpp:9
Definition: eosio.msig.hpp:34
action(permission_level{ _gateway, "active"_n}, _gateway, "adduser"_n, std::make_tuple(coopname, deposit->username, to_spread, to_circulation, eosio::current_time_point(), true)).send()
Таблица обменов для контракта "marketplace".
Definition: shared_marketplace.hpp:123
Структура таблицы баланса.
Definition: balances.hpp:10
Definition: counts.hpp:1
Definition: drafts.hpp:28
Definition: drafts.hpp:7
Definition: marketplace.hpp:91
Definition: marketplace.hpp:92