Tables
TABLE global
{name} fee_contract: the name of the account that hold the fees, by default it sets to fee.metal{uint16_t} last_market_id: indicates last market id(id of the pair) that was created{uint64_t} last_order_id: indicates last order id that was created(used to keep track order count and assign unique ids){uint64_t} last_trade_id: indicates last trade id that was created(used to keep track trades and assign unique ids){uint8_t} contract_status: to keep track of the contract status
example
{
"fee_contract": "fee.metal",
"last_market_id": "1",
"last_order_id": "5",
"last_trade_id": "2",
"contract_status": "0"
}TABLE Markets
Markets{uint16_t} market_id: id of the market pair.{uint64_t} order_min: min quantity to be placed for trade{status_code} status_code: represents status of the market id(can be ACTIVE, INACTIVE, NOTINUSE, DISABLE_ORDERS_FILLS, DISABLE_ORDERS and DISABLE_FILLS){uint64_t} ask_oracle_index: index of the oracles to get current price of the token{extended_symbol} bid_token: represents the bid value{extended_asset} ask_token: represents ask token in the form of extended asset{extended_asset} total_reserves: total reserves
{
"bid_token": {
"sym": "4,XMT",
"contract": "eosio.token"
},
"ask_token": {
"quantity": "1.361708 XUSDC",
"contract": "eosio.token"
},
"order_min": 10,
"status_code": 1,
"ask_oracle_index": 1
}TABLE Balances
Balances{name} account: user account for the funds/tokens{vector<extended_asset>}balances: balance of each token that holds by user/trader
example
{
account: 'trader',
balances: [
{ quantity: '1000.000000 XUSDC', contract: eosioTokenContract.name.toString() }
]
}TABLE OrderQ
OrderQThis table stores all placed orders
{int64_t} order_id:id of the order that was placed.{uint16_t} market_id: id of the market pair.{uint64_t} quantity: represents how much quantity to buy/sell{uint64_t} price: price of the trade{name} account_name: represents account name of the trader{uint8_t} order_side: buy or sell{uint8_t} order_type: type of order, can be LIMIT, STOPLOSS and TAKEPROFIT{uint64_t} trigger_price: price at which order triggered to new state, applicable for both stop loss and take profit{uint8_t} fill_type: order fill types like GTC(Good Till expiry), IOC(Immediate or Cnacel) and Post_Only(used to provide liquidity)
{
"account_name": "collector",
"market_id": 1,
"order_id": 1,
"order_side": orderSide.SELL,
"order_type": orderType.LIMIT,
"price": 16374242,
"quantity": 200000000,
"fill_type": 0,
"trigger_price": 0
},
{
"account_name": "bob",
"market_id": 1,
"order_id": 2,
"order_side": orderSide.BUY,
"order_type": orderType.LIMIT,
"price": 16384000,
"quantity": 49152000,
"fill_type": 0,
"trigger_price": 0
}TABLE Order
OrderThis table represents current order book
{int64_t} order_id:id of the order that was placed.{uint16_t} market_id: id of the market pair.{uint64_t} quantity: represents how much quantity to buy/sell{uint64_t} price: price of the trade{name} account_name: represents account name of the trader{uint8_t} order_side: buy or sell
{
"account_name": "collector",
"market_id": 1,
"order_id": 5,
"order_side": 2,
"price": 16340000,
"quantity": 199877601
}TABLE Fees
Fees{name} account_name: user account to store fee related information{name} referrer_name: name of the account who referred{time_point} referrer_ends: referral's end time{double} volume_avg_30d: users's 30 day's average traded volume{time_point} volume_avg_last_update: time at which 30d avg volume updated{uint8_t} tier: tier of the user, can be set through Action also
example
{
"account_name": "fee.metal",
"referrer_name": "alice",
"referrer_ends": "1696022087",
"volume_avg_30d": "1'005'000.00",
"volume_avg_last_update": "1664986087",
"tier": "1"
}TABLE Currency_stats
Currency_stats{asset} supply: supply{asset} max_supply: max supply of the token{name} issuer: issuer account name
example
{
"supply": "500000",
"max_supply": "10000000",
"name": "alice"
}TABLE voters_xpr
{name} owner: user account holding xpr{uint64_t} staked: staked amount{bool} isqualified: qualified flag{uint64_t} claimamount: total amount claim{uint64_t} lastclaim: last claim amountoptional{uint64_t} startstake: the last stake amount
example
{
"owner": "alice",
"staked": "1000000",
"isqualified": "1",
"claimamount": "50000",
"lastclaim": "10000",
"strtstake": "5000"
}TABLE assets_s
{uint64_t} asset_id: unique id of the nft asset{name} collection_name: name of the collection{name} schema_name: name of the schema to store details{uint32_t} template_id: template used to mint this nft asset{name} ram_payer: account to pay for the transactionvector<{asset}> backed_tokens: list of tokens backed this assetvector<{uint8_t}> immutable_serilized_data: immutable data to be serializedvector<{uint8_t}> mutable_serilized_data: mutable data to be serialized
example
{
"asset_id": "1099511627776",
"collection_name": "bullscollect",
"schema_name": "bulls",
"template_id": "5",
"ram_payer": "alice",
"backed_tokens": {'5000, xpr', '400, XMT'},
"immutable_serilized_data":
"mutable_serilized_data":
}
Last updated