<?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 exmo extends \ccxt\async\Exchange {
    public function web_get_ctrl_feesandlimits($params = array()) {
        return $this->request('ctrl/feesAndLimits', 'web', 'GET', $params, null, null, array());
    }
    public function web_get_en_docs_fees($params = array()) {
        return $this->request('en/docs/fees', 'web', 'GET', $params, null, null, array());
    }
    public function public_get_currency($params = array()) {
        return $this->request('currency', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_currency_list_extended($params = array()) {
        return $this->request('currency/list/extended', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_order_book($params = array()) {
        return $this->request('order_book', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_pair_settings($params = array()) {
        return $this->request('pair_settings', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_ticker($params = array()) {
        return $this->request('ticker', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_trades($params = array()) {
        return $this->request('trades', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_candles_history($params = array()) {
        return $this->request('candles_history', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_required_amount($params = array()) {
        return $this->request('required_amount', 'public', 'GET', $params, null, null, array());
    }
    public function public_get_payments_providers_crypto_list($params = array()) {
        return $this->request('payments/providers/crypto/list', 'public', 'GET', $params, null, null, array());
    }
    public function private_post_user_info($params = array()) {
        return $this->request('user_info', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_order_create($params = array()) {
        return $this->request('order_create', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_order_cancel($params = array()) {
        return $this->request('order_cancel', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_stop_market_order_create($params = array()) {
        return $this->request('stop_market_order_create', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_stop_market_order_cancel($params = array()) {
        return $this->request('stop_market_order_cancel', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_user_open_orders($params = array()) {
        return $this->request('user_open_orders', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_user_trades($params = array()) {
        return $this->request('user_trades', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_user_cancelled_orders($params = array()) {
        return $this->request('user_cancelled_orders', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_order_trades($params = array()) {
        return $this->request('order_trades', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_deposit_address($params = array()) {
        return $this->request('deposit_address', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_withdraw_crypt($params = array()) {
        return $this->request('withdraw_crypt', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_withdraw_get_txid($params = array()) {
        return $this->request('withdraw_get_txid', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_excode_create($params = array()) {
        return $this->request('excode_create', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_excode_load($params = array()) {
        return $this->request('excode_load', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_code_check($params = array()) {
        return $this->request('code_check', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_wallet_history($params = array()) {
        return $this->request('wallet_history', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_wallet_operations($params = array()) {
        return $this->request('wallet_operations', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_create($params = array()) {
        return $this->request('margin/user/order/create', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_update($params = array()) {
        return $this->request('margin/user/order/update', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_cancel($params = array()) {
        return $this->request('margin/user/order/cancel', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_position_close($params = array()) {
        return $this->request('margin/user/position/close', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_position_margin_add($params = array()) {
        return $this->request('margin/user/position/margin_add', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_position_margin_remove($params = array()) {
        return $this->request('margin/user/position/margin_remove', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_currency_list($params = array()) {
        return $this->request('margin/currency/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_pair_list($params = array()) {
        return $this->request('margin/pair/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_settings($params = array()) {
        return $this->request('margin/settings', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_funding_list($params = array()) {
        return $this->request('margin/funding/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_info($params = array()) {
        return $this->request('margin/user/info', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_list($params = array()) {
        return $this->request('margin/user/order/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_history($params = array()) {
        return $this->request('margin/user/order/history', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_trades($params = array()) {
        return $this->request('margin/user/order/trades', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_order_max_quantity($params = array()) {
        return $this->request('margin/user/order/max_quantity', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_position_list($params = array()) {
        return $this->request('margin/user/position/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_position_margin_remove_info($params = array()) {
        return $this->request('margin/user/position/margin_remove_info', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_position_margin_add_info($params = array()) {
        return $this->request('margin/user/position/margin_add_info', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_wallet_list($params = array()) {
        return $this->request('margin/user/wallet/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_wallet_history($params = array()) {
        return $this->request('margin/user/wallet/history', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_user_trade_list($params = array()) {
        return $this->request('margin/user/trade/list', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_trades($params = array()) {
        return $this->request('margin/trades', 'private', 'POST', $params, null, null, array());
    }
    public function private_post_margin_liquidation_feed($params = array()) {
        return $this->request('margin/liquidation/feed', 'private', 'POST', $params, null, null, array());
    }
    public function webGetCtrlFeesAndLimits($params = array()) {
        return $this->request('ctrl/feesAndLimits', 'web', 'GET', $params, null, null, array());
    }
    public function webGetEnDocsFees($params = array()) {
        return $this->request('en/docs/fees', 'web', 'GET', $params, null, null, array());
    }
    public function publicGetCurrency($params = array()) {
        return $this->request('currency', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetCurrencyListExtended($params = array()) {
        return $this->request('currency/list/extended', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetOrderBook($params = array()) {
        return $this->request('order_book', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetPairSettings($params = array()) {
        return $this->request('pair_settings', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetTicker($params = array()) {
        return $this->request('ticker', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetTrades($params = array()) {
        return $this->request('trades', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetCandlesHistory($params = array()) {
        return $this->request('candles_history', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetRequiredAmount($params = array()) {
        return $this->request('required_amount', 'public', 'GET', $params, null, null, array());
    }
    public function publicGetPaymentsProvidersCryptoList($params = array()) {
        return $this->request('payments/providers/crypto/list', 'public', 'GET', $params, null, null, array());
    }
    public function privatePostUserInfo($params = array()) {
        return $this->request('user_info', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostOrderCreate($params = array()) {
        return $this->request('order_create', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostOrderCancel($params = array()) {
        return $this->request('order_cancel', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostStopMarketOrderCreate($params = array()) {
        return $this->request('stop_market_order_create', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostStopMarketOrderCancel($params = array()) {
        return $this->request('stop_market_order_cancel', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostUserOpenOrders($params = array()) {
        return $this->request('user_open_orders', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostUserTrades($params = array()) {
        return $this->request('user_trades', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostUserCancelledOrders($params = array()) {
        return $this->request('user_cancelled_orders', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostOrderTrades($params = array()) {
        return $this->request('order_trades', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostDepositAddress($params = array()) {
        return $this->request('deposit_address', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostWithdrawCrypt($params = array()) {
        return $this->request('withdraw_crypt', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostWithdrawGetTxid($params = array()) {
        return $this->request('withdraw_get_txid', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostExcodeCreate($params = array()) {
        return $this->request('excode_create', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostExcodeLoad($params = array()) {
        return $this->request('excode_load', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostCodeCheck($params = array()) {
        return $this->request('code_check', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostWalletHistory($params = array()) {
        return $this->request('wallet_history', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostWalletOperations($params = array()) {
        return $this->request('wallet_operations', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderCreate($params = array()) {
        return $this->request('margin/user/order/create', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderUpdate($params = array()) {
        return $this->request('margin/user/order/update', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderCancel($params = array()) {
        return $this->request('margin/user/order/cancel', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserPositionClose($params = array()) {
        return $this->request('margin/user/position/close', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserPositionMarginAdd($params = array()) {
        return $this->request('margin/user/position/margin_add', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserPositionMarginRemove($params = array()) {
        return $this->request('margin/user/position/margin_remove', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginCurrencyList($params = array()) {
        return $this->request('margin/currency/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginPairList($params = array()) {
        return $this->request('margin/pair/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginSettings($params = array()) {
        return $this->request('margin/settings', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginFundingList($params = array()) {
        return $this->request('margin/funding/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserInfo($params = array()) {
        return $this->request('margin/user/info', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderList($params = array()) {
        return $this->request('margin/user/order/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderHistory($params = array()) {
        return $this->request('margin/user/order/history', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderTrades($params = array()) {
        return $this->request('margin/user/order/trades', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserOrderMaxQuantity($params = array()) {
        return $this->request('margin/user/order/max_quantity', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserPositionList($params = array()) {
        return $this->request('margin/user/position/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserPositionMarginRemoveInfo($params = array()) {
        return $this->request('margin/user/position/margin_remove_info', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserPositionMarginAddInfo($params = array()) {
        return $this->request('margin/user/position/margin_add_info', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserWalletList($params = array()) {
        return $this->request('margin/user/wallet/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserWalletHistory($params = array()) {
        return $this->request('margin/user/wallet/history', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginUserTradeList($params = array()) {
        return $this->request('margin/user/trade/list', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginTrades($params = array()) {
        return $this->request('margin/trades', 'private', 'POST', $params, null, null, array());
    }
    public function privatePostMarginLiquidationFeed($params = array()) {
        return $this->request('margin/liquidation/feed', 'private', 'POST', $params, null, null, array());
    }
}
