COOPENOMICS  v1
Кооперативная Экономика
exchange_state.hpp
См. документацию.
1#pragma once
2
3#include <eosio/asset.hpp>
4#include <eosio/multi_index.hpp>
5
6namespace eosiosystem {
7
8 using eosio::asset;
9 using eosio::symbol;
10
17 struct [[eosio::table, eosio::contract("eosio.system")]] exchange_state {
18 asset supply;
19
20 struct connector {
21 asset balance;
22 double weight = 1;
23
24 EOSLIB_SERIALIZE( connector, (balance)(weight) )
25 };
26
27 connector base;
28 connector quote;
29
30 uint64_t primary_key()const { return supply.symbol.raw(); }
31
32 asset convert_to_exchange( connector& reserve, const asset& payment );
33 asset convert_from_exchange( connector& reserve, const asset& tokens );
34 asset convert( const asset& from, const symbol& to );
35 asset direct_convert( const asset& from, const symbol& to );
36
37 static int64_t get_bancor_output( int64_t inp_reserve,
38 int64_t out_reserve,
39 int64_t inp );
40 static int64_t get_bancor_input( int64_t out_reserve,
41 int64_t inp_reserve,
42 int64_t out );
43
44 EOSLIB_SERIALIZE( exchange_state, (supply)(base)(quote) )
45 };
46
47 typedef eosio::multi_index< "rammarket"_n, exchange_state > rammarket;
48}
contract
Definition: eosio.msig_tests.cpp:977
balance
Definition: eosio.token_tests.cpp:226
supply
Definition: eosio.token_tests.cpp:150
Definition: eosio.msig.hpp:34
Definition: rammarket.hpp:7
eosio::multi_index<"rammarket"_n, exchange_state > rammarket
Definition: rammarket.hpp:111
Definition: eosio.system_tests.cpp:19
Definition: rammarket.hpp:18
uint64_t primary_key() const
Definition: exchange_state.hpp:30