COOPENOMICS  v1
Кооперативная Экономика
Файл marketplace.hpp
#include <functional>
#include <optional>
#include <string>
#include <eosio/crypto.hpp>
#include <eosio/eosio.hpp>
#include "../../consts.hpp"
#include "../../domain/document_core.hpp"
#include "../../domain/table_ledger2_userwallets.hpp"
#include "../../domain/table_marketplace_fee_config.hpp"
#include "../ledger2/ledger2.hpp"
#include "../branch/branch.hpp"
#include "memo.hpp"
#include "../../domain/table_marketplace_orders.hpp"
#include "../../domain/table_marketplace_return_requests.hpp"
#include "../../domain/table_marketplace_writeoff_proposals.hpp"

См. исходные тексты.

Классы

struct  Marketplace::UserWalletAvailable
 

Пространства имен

namespace  Marketplace
 Canonical helpers контракта marketplace (Story 11.1).
 

Функции

bool Marketplace::is_valid_unit_symbol (const eosio::symbol &sym)
 
void Marketplace::check_quantity (const eosio::asset &quantity)
 Валидация количества: корректный asset, известная единица, положительное. Подробнее...
 
void Marketplace::check_packaging (const eosio::asset &quantity, const eosio::asset &package_size)
 
eosio::asset Marketplace::calc_cost (const eosio::asset &quantity, const eosio::asset &unit_price, const eosio::asset &package_size=eosio::asset(0, _unit_piece))
 
eosio::asset Marketplace::pro_rata (const eosio::asset &total, int64_t part, int64_t whole)
 
std::optional< order > Marketplace::get_order_by_hash (eosio::name coopname, const checksum256 &order_hash)
 
order Marketplace::get_order_by_hash_or_fail (eosio::name coopname, const checksum256 &order_hash, const std::string &msg="Заказ не найден по хэшу")
 
void Marketplace::update_order (eosio::name coopname, uint64_t order_id, const std::function< void(order &)> &fn)
 
void Marketplace::erase_order (eosio::name coopname, uint64_t order_id)
 
std::optional< return_request > Marketplace::get_return_request_by_hash (eosio::name coopname, const checksum256 &request_hash)
 
return_request Marketplace::get_return_request_by_hash_or_fail (eosio::name coopname, const checksum256 &request_hash, const std::string &msg="Заявление на возврат не найдено по хэшу")
 
void Marketplace::update_return_request (eosio::name coopname, uint64_t request_id, const std::function< void(return_request &)> &fn)
 
void Marketplace::erase_return_request (eosio::name coopname, uint64_t request_id)
 
void Marketplace::check_return_request_branch (eosio::name coopname, const return_request &r, eosio::name braname)
 
std::optional< writeoff_proposal > Marketplace::get_writeoff_proposal_by_hash (eosio::name coopname, const checksum256 &proposal_hash)
 
writeoff_proposal Marketplace::get_writeoff_proposal_by_hash_or_fail (eosio::name coopname, const checksum256 &proposal_hash, const std::string &msg="Проект списания не найден по хэшу")
 
void Marketplace::update_writeoff_proposal (eosio::name coopname, uint64_t proposal_id, const std::function< void(writeoff_proposal &)> &fn)
 
void Marketplace::erase_writeoff_proposal (eosio::name coopname, uint64_t proposal_id)
 
UserWalletAvailable Marketplace::get_user_wallet_balance (eosio::name coopname, eosio::name wallet_id, eosio::name username)
 
uint64_t Marketplace::get_membership_fee_percent (eosio::name coopname)
 
eosio::asset Marketplace::calc_membership_fee (const eosio::asset &base, uint64_t fee_percent)
 Сумма членского взноса от базы по ставке (целочисленно, вниз). Подробнее...
 
eosio::asset Marketplace::get_order_membership_fee (const order &o)
 Членский взнос заказа (ноль — взнос не начислялся). Подробнее...
 
void Marketplace::refund_membership_fee_if_any (eosio::name coopname, const order &o)
 
void Marketplace::refund_order_full (eosio::name coopname, const order &o)
 
eosio::asset Marketplace::refusal_penalty_share (const eosio::asset &base)
 Удерживаемая часть суммы (округление вниз — остаток в пользу пайщика). Подробнее...
 
void Marketplace::retain_refusal_penalty (eosio::name coopname, const order &o)
 

Переменные

constexpr uint64_t Marketplace::DEFAULT_MEMBERSHIP_FEE_PERCENT = 300000
 
constexpr uint64_t Marketplace::REFUSAL_PENALTY_PERCENT = 50