COOPENOMICS  v1
Кооперативная Экономика
marketplace.hpp
См. документацию.
1#pragma once
2
3#include <eosio/asset.hpp>
4#include <eosio/contract.hpp>
5#include <eosio/crypto.hpp>
6#include <eosio/eosio.hpp>
7#include <eosio/multi_index.hpp>
8#include <eosio/system.hpp>
9#include <eosio/time.hpp>
10
11#include <string>
12#include <vector>
13
14#include "../lib/index.hpp"
15#include "../lib/core/marketplace/marketplace.hpp"
16#include "../lib/core/marketplace/memo.hpp"
17#include "../lib/core/branch/branch.hpp"
18#include "../lib/core/ledger2/ledger2.hpp"
19
20using namespace eosio;
21using namespace Marketplace;
22
75
76public:
77 marketplace(eosio::name receiver, eosio::name code,
78 eosio::datastream<const char *> ds)
79 : eosio::contract(receiver, code, ds) {}
80
81 // ── p.mkt.supply ─────────────────────────────────────────────────────
82
91 [[eosio::action]] void createorder(eosio::name coopname,
92 eosio::name orderer,
93 checksum256 order_hash,
94 checksum256 offer_hash,
95 eosio::name offerer,
96 eosio::name delivery_braname,
97 eosio::asset quantity,
98 eosio::asset unit_price,
99 eosio::asset package_size,
100 uint32_t warranty_period_secs,
101 checksum256 batch_hash,
102 document2 convert_statement);
103
119 [[eosio::action]] void stockorder(eosio::name coopname,
120 eosio::name orderer,
121 checksum256 order_hash,
122 checksum256 offer_hash,
123 eosio::name delivery_braname,
124 eosio::asset quantity,
125 eosio::asset unit_price,
126 eosio::asset package_size,
127 uint32_t warranty_period_secs,
128 checksum256 batch_hash);
129
141 [[eosio::action]] void convert(eosio::name coopname,
142 eosio::name orderer,
143 eosio::asset amount,
144 document2 convert_statement);
145
153 [[eosio::action]] void cancelorder(eosio::name coopname,
154 eosio::name orderer,
155 checksum256 order_hash);
156
164 [[eosio::action]] void expireorder(eosio::name coopname,
165 checksum256 order_hash);
166
175 [[eosio::action]] void closeorder(eosio::name coopname,
176 checksum256 order_hash);
177
184 [[eosio::action]] void acceptorder(eosio::name coopname,
185 eosio::name offerer,
186 checksum256 order_hash);
187
194 [[eosio::action]] void declineorder(eosio::name coopname,
195 eosio::name offerer,
196 checksum256 order_hash);
197
206 [[eosio::action]] void signsupp(eosio::name coopname,
207 eosio::name offerer,
208 checksum256 order_hash,
209 eosio::name accept_braname,
210 document2 act);
211
222 [[eosio::action]] void signchair(eosio::name coopname,
223 eosio::name signer,
224 checksum256 order_hash,
225 eosio::asset actual_quantity,
226 eosio::asset actual_unit_price,
227 document2 act);
228
239 [[eosio::action]] void payout(eosio::name coopname,
240 checksum256 order_hash);
241
250 [[eosio::action]] void payconfirm(eosio::name coopname,
251 checksum256 outcome_hash);
252
261 [[eosio::action]] void paydecline(eosio::name coopname,
262 checksum256 outcome_hash,
263 std::string reason);
264
275 [[eosio::action]] void markdown(eosio::name coopname,
276 checksum256 order_hash,
277 eosio::asset amount);
278
285 [[eosio::action]] void signiss1(eosio::name coopname,
286 eosio::name signer,
287 checksum256 order_hash,
288 document2 act);
289
299 [[eosio::action]] void signiss2(eosio::name coopname,
300 eosio::name orderer,
301 checksum256 order_hash,
302 eosio::asset actual_quantity,
303 eosio::asset actual_unit_price,
304 eosio::name delivery_signer,
305 document2 act);
306
314 [[eosio::action]] void setfee(eosio::name coopname,
315 uint64_t membership_fee_percent);
316
317 // ── p.mkt.return ─────────────────────────────────────────────────────
318
323 [[eosio::action]] void submretrn(eosio::name coopname,
324 eosio::name orderer,
325 checksum256 request_hash,
326 checksum256 original_order_hash,
327 eosio::asset actual_quantity,
328 std::string reason_text,
329 std::vector<checksum256> photos,
330 document2 statement);
331
338 [[eosio::action]] void aprretrem(eosio::name coopname,
339 eosio::name signer,
340 eosio::name braname,
341 checksum256 request_hash);
342
348 [[eosio::action]] void rejretrem(eosio::name coopname,
349 eosio::name signer,
350 eosio::name braname,
351 checksum256 request_hash,
352 std::string reason);
353
362 [[eosio::action]] void accretrn(eosio::name coopname,
363 eosio::name signer,
364 eosio::name braname,
365 checksum256 request_hash,
366 document2 statement);
367
373 [[eosio::action]] void rejretrn(eosio::name coopname,
374 eosio::name signer,
375 eosio::name braname,
376 checksum256 request_hash,
377 std::string reason);
378
379 // ── p.mkt.wroff ──────────────────────────────────────────────────────
380
392 [[eosio::action]] void propwroff(eosio::name coopname,
393 eosio::name proposed_by,
394 checksum256 proposal_hash,
395 std::vector<wroff_item> items,
396 document2 statement,
397 std::string meta);
398
410 [[eosio::action]] void onmktwoauth(eosio::name coopname,
411 checksum256 hash,
412 document2 authorization);
413
425 [[eosio::action]] void onmktwodecl(eosio::name coopname,
426 checksum256 hash,
427 std::string reason);
428
443 [[eosio::action]] void execwroff(eosio::name coopname,
444 eosio::name signer,
445 checksum256 proposal_hash,
446 uint64_t item_index);
447
477 [[eosio::action]] void confirmwroff(eosio::name coopname,
478 eosio::name signer,
479 checksum256 proposal_hash,
480 eosio::name braname,
481 document2 memo);
482
483 // ── service ──────────────────────────────────────────────────────────
484
490 [[eosio::action]] void migrate();
491};
Контракт marketplace — кооперативный «Стол заказов» в режиме членских взносов.
Definition: marketplace.hpp:74
marketplace(eosio::name receiver, eosio::name code, eosio::datastream< const char * > ds)
Definition: marketplace.hpp:77
#define MARKETPLACE
Definition: consts.hpp:144
contract
Definition: eosio.msig_tests.cpp:977
action act
Definition: eosio.msig_tests.cpp:974
share_type amount
Definition: eosio.token_tests.cpp:174
Canonical helpers контракта marketplace (Story 11.1).
Definition: marketplace.hpp:32
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()
Definition: document_core.hpp:27