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
80class [[eosio::contract(MARKETPLACE)]] marketplace : public coop_contract {
81
82public:
83 marketplace(eosio::name receiver, eosio::name code,
84 eosio::datastream<const char *> ds)
85 : coop_contract(receiver, code, ds) {}
86
87 // ── p.mkt.supply ─────────────────────────────────────────────────────
88
99 [[eosio::action]] void createorder(eosio::name coopname,
100 eosio::name orderer,
101 checksum256 order_hash,
102 checksum256 offer_hash,
103 eosio::name offerer,
104 eosio::name delivery_braname,
105 eosio::asset quantity,
106 eosio::asset unit_price,
107 eosio::asset package_size,
108 uint32_t warranty_period_secs,
109 checksum256 batch_hash);
110
125 [[eosio::action]] void convert(eosio::name coopname,
126 eosio::name orderer,
127 std::vector<convert_target> targets,
128 document2 convert_statement);
129
143 [[eosio::action]] void stockorder(eosio::name coopname,
144 eosio::name orderer,
145 checksum256 order_hash,
146 checksum256 offer_hash,
147 eosio::name delivery_braname,
148 eosio::asset quantity,
149 eosio::asset unit_price,
150 eosio::asset package_size,
151 uint32_t warranty_period_secs,
152 checksum256 batch_hash);
153
160 [[eosio::action]] void cancelorder(eosio::name coopname,
161 eosio::name orderer,
162 checksum256 order_hash);
163
172 [[eosio::action]] void expireorder(eosio::name coopname,
173 checksum256 order_hash);
174
183 [[eosio::action]] void closeorder(eosio::name coopname,
184 checksum256 order_hash);
185
192 [[eosio::action]] void acceptorder(eosio::name coopname,
193 eosio::name offerer,
194 checksum256 order_hash);
195
202 [[eosio::action]] void declineorder(eosio::name coopname,
203 eosio::name offerer,
204 checksum256 order_hash);
205
214 [[eosio::action]] void signsupp(eosio::name coopname,
215 eosio::name offerer,
216 checksum256 order_hash,
217 eosio::name accept_braname,
218 document2 act);
219
230 [[eosio::action]] void signchair(eosio::name coopname,
231 eosio::name signer,
232 checksum256 order_hash,
233 eosio::asset actual_quantity,
234 eosio::asset actual_unit_price,
235 document2 act);
236
250 [[eosio::action]] void payout(eosio::name coopname,
251 checksum256 order_hash);
252
263 [[eosio::action]] void payconfirm(eosio::name coopname,
264 checksum256 outcome_hash);
265
274 [[eosio::action]] void paydecline(eosio::name coopname,
275 checksum256 outcome_hash,
276 std::string reason);
277
278 // ── p.mkt.claim ── гарантийная претензия поставщику (задача 99D-13) ───────
279
289 [[eosio::action]] void admitclaim(eosio::name coopname,
290 eosio::name supplier,
291 checksum256 claim_hash);
292
303 [[eosio::action]] void markdown(eosio::name coopname,
304 checksum256 order_hash,
305 eosio::asset amount);
306
314 [[eosio::action]] void setfee(eosio::name coopname,
315 uint64_t membership_fee_percent);
316
317 // ── p.mkt.supply: выдача по заявлению, протоколу совета и акту (паевая модель) ──
325 [[eosio::action]] void readyissue(eosio::name coopname,
326 eosio::name signer,
327 checksum256 order_hash);
340 [[eosio::action]] void issuestmt(eosio::name coopname,
341 eosio::name orderer,
342 checksum256 order_hash,
343 eosio::asset actual_quantity,
344 eosio::asset actual_unit_price,
345 document2 statement,
346 std::string meta);
353 [[eosio::action]] void onmktisauth(eosio::name coopname,
354 checksum256 hash,
355 document2 authorization);
362 [[eosio::action]] void onmktisdecl(eosio::name coopname,
363 checksum256 hash,
364 std::string reason);
370 [[eosio::action]] void issueact1(eosio::name coopname,
371 eosio::name orderer,
372 checksum256 order_hash,
373 document2 act);
385 [[eosio::action]] void issueact2(eosio::name coopname,
386 eosio::name delivery_signer,
387 checksum256 order_hash,
388 document2 act);
395 [[eosio::action]] void cancelissue(eosio::name coopname,
396 eosio::name signer,
397 checksum256 order_hash);
398
399 // ── p.mkt.return ─────────────────────────────────────────────────────
400
405 [[eosio::action]] void submretrn(eosio::name coopname,
406 eosio::name orderer,
407 checksum256 request_hash,
408 checksum256 original_order_hash,
409 eosio::asset actual_quantity,
410 std::string reason_text,
411 std::vector<checksum256> photos,
412 document2 statement);
413
420 [[eosio::action]] void aprretrem(eosio::name coopname,
421 eosio::name signer,
422 eosio::name braname,
423 checksum256 request_hash);
424
430 [[eosio::action]] void rejretrem(eosio::name coopname,
431 eosio::name signer,
432 eosio::name braname,
433 checksum256 request_hash,
434 std::string reason);
435
447 [[eosio::action]] void accretrn(eosio::name coopname,
448 eosio::name signer,
449 eosio::name braname,
450 checksum256 request_hash,
451 document2 statement,
452 std::string meta,
453 document2 reclamation);
454
460 [[eosio::action]] void rejretrn(eosio::name coopname,
461 eosio::name signer,
462 eosio::name braname,
463 checksum256 request_hash,
464 std::string reason);
465
475 [[eosio::action]] void onmktrtauth(eosio::name coopname,
476 checksum256 hash,
477 document2 authorization);
483 [[eosio::action]] void onmktrtdecl(eosio::name coopname,
484 checksum256 hash,
485 std::string reason);
494 [[eosio::action]] void handback(eosio::name coopname,
495 eosio::name signer,
496 eosio::name braname,
497 checksum256 request_hash);
498
507 [[eosio::action]] void payretfee(eosio::name coopname,
508 checksum256 request_hash);
509
510 // ── p.mkt.wroff ──────────────────────────────────────────────────────
511
523 [[eosio::action]] void propwroff(eosio::name coopname,
524 eosio::name proposed_by,
525 checksum256 proposal_hash,
526 std::vector<wroff_item> items,
527 document2 statement,
528 std::string meta);
529
541 [[eosio::action]] void onmktwoauth(eosio::name coopname,
542 checksum256 hash,
543 document2 authorization);
544
556 [[eosio::action]] void onmktwodecl(eosio::name coopname,
557 checksum256 hash,
558 std::string reason);
559
574 [[eosio::action]] void execwroff(eosio::name coopname,
575 eosio::name signer,
576 checksum256 proposal_hash,
577 uint64_t item_index);
578
608 [[eosio::action]] void confirmwroff(eosio::name coopname,
609 eosio::name signer,
610 checksum256 proposal_hash,
611 eosio::name braname,
612 document2 memo);
613
614 // ── service ──────────────────────────────────────────────────────────
615
626 [[eosio::action]] void migrate();
628 [[eosio::action]] void cleanup();
629};
Базовый класс контрактов платформы.
Definition: coop_contract.hpp:33
Контракт marketplace — кооперативный «Стол заказов» в паевой модели (компонент 68,...
Definition: marketplace.hpp:80
marketplace(eosio::name receiver, eosio::name code, eosio::datastream< const char * > ds)
Definition: marketplace.hpp:83
#define MARKETPLACE
Definition: consts.hpp:149
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