<?php

namespace ccxt\async\abstract;

// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code


abstract class coinmetro extends \ccxt\async\Exchange {
    public function public_get_demo_temp($params = array()) {
        return $this->request('demo/temp', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_exchange_candles_pair_timeframe_from_to($params = array()) {
        return $this->request('exchange/candles/{pair}/{timeframe}/{from}/{to}', 'public', 'GET', $params, null, null, array("cost" => 3));
    }
    public function public_get_exchange_prices($params = array()) {
        return $this->request('exchange/prices', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_exchange_ticks_pair_from($params = array()) {
        return $this->request('exchange/ticks/{pair}/{from}', 'public', 'GET', $params, null, null, array("cost" => 3));
    }
    public function public_get_assets($params = array()) {
        return $this->request('assets', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_markets($params = array()) {
        return $this->request('markets', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_exchange_book_pair($params = array()) {
        return $this->request('exchange/book/{pair}', 'public', 'GET', $params, null, null, array("cost" => 3));
    }
    public function public_get_exchange_bookupdates_pair_from($params = array()) {
        return $this->request('exchange/bookUpdates/{pair}/{from}', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_users_balances($params = array()) {
        return $this->request('users/balances', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_users_wallets($params = array()) {
        return $this->request('users/wallets', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_users_wallets_history_since($params = array()) {
        return $this->request('users/wallets/history/{since}', 'private', 'GET', $params, null, null, array("cost" => 1.67));
    }
    public function private_get_exchange_orders_status_orderid($params = array()) {
        return $this->request('exchange/orders/status/{orderID}', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_exchange_orders_active($params = array()) {
        return $this->request('exchange/orders/active', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_exchange_orders_history_since($params = array()) {
        return $this->request('exchange/orders/history/{since}', 'private', 'GET', $params, null, null, array("cost" => 1.67));
    }
    public function private_get_exchange_fills_since($params = array()) {
        return $this->request('exchange/fills/{since}', 'private', 'GET', $params, null, null, array("cost" => 1.67));
    }
    public function private_get_exchange_margin($params = array()) {
        return $this->request('exchange/margin', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_post_jwt($params = array()) {
        return $this->request('jwt', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_jwtdevice($params = array()) {
        return $this->request('jwtDevice', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_devices($params = array()) {
        return $this->request('devices', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_jwt_read_only($params = array()) {
        return $this->request('jwt-read-only', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_exchange_orders_create($params = array()) {
        return $this->request('exchange/orders/create', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_exchange_orders_modify_orderid($params = array()) {
        return $this->request('exchange/orders/modify/{orderID}', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_exchange_swap($params = array()) {
        return $this->request('exchange/swap', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_exchange_swap_confirm_swapid($params = array()) {
        return $this->request('exchange/swap/confirm/{swapId}', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_exchange_orders_close_orderid($params = array()) {
        return $this->request('exchange/orders/close/{orderID}', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_exchange_orders_hedge($params = array()) {
        return $this->request('exchange/orders/hedge', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_put_jwt($params = array()) {
        return $this->request('jwt', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function private_put_exchange_orders_cancel_orderid($params = array()) {
        return $this->request('exchange/orders/cancel/{orderID}', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function private_put_users_margin_collateral($params = array()) {
        return $this->request('users/margin/collateral', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function private_put_users_margin_primary_currency($params = array()) {
        return $this->request('users/margin/primary/{currency}', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function publicGetDemoTemp($params = array()) {
        return $this->request('demo/temp', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetExchangeCandlesPairTimeframeFromTo($params = array()) {
        return $this->request('exchange/candles/{pair}/{timeframe}/{from}/{to}', 'public', 'GET', $params, null, null, array("cost" => 3));
    }
    public function publicGetExchangePrices($params = array()) {
        return $this->request('exchange/prices', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetExchangeTicksPairFrom($params = array()) {
        return $this->request('exchange/ticks/{pair}/{from}', 'public', 'GET', $params, null, null, array("cost" => 3));
    }
    public function publicGetAssets($params = array()) {
        return $this->request('assets', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetMarkets($params = array()) {
        return $this->request('markets', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetExchangeBookPair($params = array()) {
        return $this->request('exchange/book/{pair}', 'public', 'GET', $params, null, null, array("cost" => 3));
    }
    public function publicGetExchangeBookUpdatesPairFrom($params = array()) {
        return $this->request('exchange/bookUpdates/{pair}/{from}', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetUsersBalances($params = array()) {
        return $this->request('users/balances', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetUsersWallets($params = array()) {
        return $this->request('users/wallets', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetUsersWalletsHistorySince($params = array()) {
        return $this->request('users/wallets/history/{since}', 'private', 'GET', $params, null, null, array("cost" => 1.67));
    }
    public function privateGetExchangeOrdersStatusOrderID($params = array()) {
        return $this->request('exchange/orders/status/{orderID}', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetExchangeOrdersActive($params = array()) {
        return $this->request('exchange/orders/active', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetExchangeOrdersHistorySince($params = array()) {
        return $this->request('exchange/orders/history/{since}', 'private', 'GET', $params, null, null, array("cost" => 1.67));
    }
    public function privateGetExchangeFillsSince($params = array()) {
        return $this->request('exchange/fills/{since}', 'private', 'GET', $params, null, null, array("cost" => 1.67));
    }
    public function privateGetExchangeMargin($params = array()) {
        return $this->request('exchange/margin', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privatePostJwt($params = array()) {
        return $this->request('jwt', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostJwtDevice($params = array()) {
        return $this->request('jwtDevice', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostDevices($params = array()) {
        return $this->request('devices', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostJwtReadOnly($params = array()) {
        return $this->request('jwt-read-only', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostExchangeOrdersCreate($params = array()) {
        return $this->request('exchange/orders/create', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostExchangeOrdersModifyOrderID($params = array()) {
        return $this->request('exchange/orders/modify/{orderID}', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostExchangeSwap($params = array()) {
        return $this->request('exchange/swap', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostExchangeSwapConfirmSwapId($params = array()) {
        return $this->request('exchange/swap/confirm/{swapId}', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostExchangeOrdersCloseOrderID($params = array()) {
        return $this->request('exchange/orders/close/{orderID}', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostExchangeOrdersHedge($params = array()) {
        return $this->request('exchange/orders/hedge', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePutJwt($params = array()) {
        return $this->request('jwt', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function privatePutExchangeOrdersCancelOrderID($params = array()) {
        return $this->request('exchange/orders/cancel/{orderID}', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function privatePutUsersMarginCollateral($params = array()) {
        return $this->request('users/margin/collateral', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function privatePutUsersMarginPrimaryCurrency($params = array()) {
        return $this->request('users/margin/primary/{currency}', 'private', 'PUT', $params, null, null, array("cost" => 1));
    }
}
