<?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 mexc extends \ccxt\async\Exchange {
    public function spot_public_get_ping($params = array()) {
        return $this->request('ping', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_time($params = array()) {
        return $this->request('time', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_exchangeinfo($params = array()) {
        return $this->request('exchangeInfo', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_public_get_depth($params = array()) {
        return $this->request('depth', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_trades($params = array()) {
        return $this->request('trades', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 5));
    }
    public function spot_public_get_historicaltrades($params = array()) {
        return $this->request('historicalTrades', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_aggtrades($params = array()) {
        return $this->request('aggTrades', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_klines($params = array()) {
        return $this->request('klines', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_avgprice($params = array()) {
        return $this->request('avgPrice', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_ticker_24hr($params = array()) {
        return $this->request('ticker/24hr', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_ticker_price($params = array()) {
        return $this->request('ticker/price', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_ticker_bookticker($params = array()) {
        return $this->request('ticker/bookTicker', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_public_get_etf_info($params = array()) {
        return $this->request('etf/info', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_order($params = array()) {
        return $this->request('order', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot_private_get_openorders($params = array()) {
        return $this->request('openOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 3));
    }
    public function spot_private_get_allorders($params = array()) {
        return $this->request('allOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_account($params = array()) {
        return $this->request('account', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_mytrades($params = array()) {
        return $this->request('myTrades', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_tradefee($params = array()) {
        return $this->request('tradeFee', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_sub_account_list($params = array()) {
        return $this->request('sub-account/list', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_sub_account_apikey($params = array()) {
        return $this->request('sub-account/apiKey', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_config_getall($params = array()) {
        return $this->request('capital/config/getall', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_capital_deposit_hisrec($params = array()) {
        return $this->request('capital/deposit/hisrec', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_withdraw_history($params = array()) {
        return $this->request('capital/withdraw/history', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_withdraw_address($params = array()) {
        return $this->request('capital/withdraw/address', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_capital_deposit_address($params = array()) {
        return $this->request('capital/deposit/address', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_get_capital_transfer($params = array()) {
        return $this->request('capital/transfer', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_transfer_tranid($params = array()) {
        return $this->request('capital/transfer/tranId', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_transfer_internal($params = array()) {
        return $this->request('capital/transfer/internal', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_sub_account_universaltransfer($params = array()) {
        return $this->request('capital/sub-account/universalTransfer', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_convert($params = array()) {
        return $this->request('capital/convert', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_capital_convert_list($params = array()) {
        return $this->request('capital/convert/list', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_loan($params = array()) {
        return $this->request('margin/loan', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_allorders($params = array()) {
        return $this->request('margin/allOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_mytrades($params = array()) {
        return $this->request('margin/myTrades', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_openorders($params = array()) {
        return $this->request('margin/openOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_maxtransferable($params = array()) {
        return $this->request('margin/maxTransferable', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_priceindex($params = array()) {
        return $this->request('margin/priceIndex', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_order($params = array()) {
        return $this->request('margin/order', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_isolated_account($params = array()) {
        return $this->request('margin/isolated/account', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_maxborrowable($params = array()) {
        return $this->request('margin/maxBorrowable', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_repay($params = array()) {
        return $this->request('margin/repay', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_isolated_pair($params = array()) {
        return $this->request('margin/isolated/pair', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_forceliquidationrec($params = array()) {
        return $this->request('margin/forceLiquidationRec', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_isolatedmargindata($params = array()) {
        return $this->request('margin/isolatedMarginData', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_margin_isolatedmargintier($params = array()) {
        return $this->request('margin/isolatedMarginTier', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_taxquery($params = array()) {
        return $this->request('rebate/taxQuery', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_detail($params = array()) {
        return $this->request('rebate/detail', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_detail_kickback($params = array()) {
        return $this->request('rebate/detail/kickback', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_refercode($params = array()) {
        return $this->request('rebate/referCode', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_affiliate_commission($params = array()) {
        return $this->request('rebate/affiliate/commission', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_affiliate_withdraw($params = array()) {
        return $this->request('rebate/affiliate/withdraw', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_rebate_affiliate_commission_detail($params = array()) {
        return $this->request('rebate/affiliate/commission/detail', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_mxdeduct_enable($params = array()) {
        return $this->request('mxDeduct/enable', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_userdatastream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_selfsymbols($params = array()) {
        return $this->request('selfSymbols', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot_private_get_asset_internal_transfer_record($params = array()) {
        return $this->request('asset/internal/transfer/record', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot_private_post_order($params = array()) {
        return $this->request('order', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_order_test($params = array()) {
        return $this->request('order/test', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_sub_account_virtualsubaccount($params = array()) {
        return $this->request('sub-account/virtualSubAccount', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_sub_account_apikey($params = array()) {
        return $this->request('sub-account/apiKey', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_sub_account_futures($params = array()) {
        return $this->request('sub-account/futures', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_sub_account_margin($params = array()) {
        return $this->request('sub-account/margin', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_batchorders($params = array()) {
        return $this->request('batchOrders', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 10));
    }
    public function spot_private_post_capital_withdraw_apply($params = array()) {
        return $this->request('capital/withdraw/apply', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_capital_withdraw($params = array()) {
        return $this->request('capital/withdraw', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_capital_transfer($params = array()) {
        return $this->request('capital/transfer', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_capital_transfer_internal($params = array()) {
        return $this->request('capital/transfer/internal', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_capital_deposit_address($params = array()) {
        return $this->request('capital/deposit/address', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_capital_sub_account_universaltransfer($params = array()) {
        return $this->request('capital/sub-account/universalTransfer', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_capital_convert($params = array()) {
        return $this->request('capital/convert', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 10));
    }
    public function spot_private_post_mxdeduct_enable($params = array()) {
        return $this->request('mxDeduct/enable', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_post_userdatastream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot_private_put_userdatastream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'PUT', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_order($params = array()) {
        return $this->request('order', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_openorders($params = array()) {
        return $this->request('openOrders', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_sub_account_apikey($params = array()) {
        return $this->request('sub-account/apiKey', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_margin_order($params = array()) {
        return $this->request('margin/order', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_margin_openorders($params = array()) {
        return $this->request('margin/openOrders', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_userdatastream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot_private_delete_capital_withdraw($params = array()) {
        return $this->request('capital/withdraw', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function contract_public_get_ping($params = array()) {
        return $this->request('ping', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_detail($params = array()) {
        return $this->request('detail', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 100));
    }
    public function contract_public_get_support_currencies($params = array()) {
        return $this->request('support_currencies', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_depth_symbol($params = array()) {
        return $this->request('depth/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_depth_commits_symbol_limit($params = array()) {
        return $this->request('depth_commits/{symbol}/{limit}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_index_price_symbol($params = array()) {
        return $this->request('index_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_fair_price_symbol($params = array()) {
        return $this->request('fair_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_funding_rate_symbol($params = array()) {
        return $this->request('funding_rate/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_kline_symbol($params = array()) {
        return $this->request('kline/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_kline_index_price_symbol($params = array()) {
        return $this->request('kline/index_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_kline_fair_price_symbol($params = array()) {
        return $this->request('kline/fair_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_deals_symbol($params = array()) {
        return $this->request('deals/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_ticker($params = array()) {
        return $this->request('ticker', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_risk_reverse($params = array()) {
        return $this->request('risk_reverse', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_risk_reverse_history($params = array()) {
        return $this->request('risk_reverse/history', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_public_get_funding_rate_history($params = array()) {
        return $this->request('funding_rate/history', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_account_assets($params = array()) {
        return $this->request('account/assets', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_account_asset_currency($params = array()) {
        return $this->request('account/asset/{currency}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_account_transfer_record($params = array()) {
        return $this->request('account/transfer_record', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_position_list_history_positions($params = array()) {
        return $this->request('position/list/history_positions', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_position_open_positions($params = array()) {
        return $this->request('position/open_positions', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_position_funding_records($params = array()) {
        return $this->request('position/funding_records', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_position_position_mode($params = array()) {
        return $this->request('position/position_mode', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_order_list_open_orders_symbol($params = array()) {
        return $this->request('order/list/open_orders/{symbol}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_order_list_history_orders($params = array()) {
        return $this->request('order/list/history_orders', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_order_external_symbol_external_oid($params = array()) {
        return $this->request('order/external/{symbol}/{external_oid}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_order_get_order_id($params = array()) {
        return $this->request('order/get/{order_id}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_order_batch_query($params = array()) {
        return $this->request('order/batch_query', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 8));
    }
    public function contract_private_get_order_deal_details_order_id($params = array()) {
        return $this->request('order/deal_details/{order_id}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_order_list_order_deals($params = array()) {
        return $this->request('order/list/order_deals', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_planorder_list_orders($params = array()) {
        return $this->request('planorder/list/orders', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_stoporder_list_orders($params = array()) {
        return $this->request('stoporder/list/orders', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_stoporder_order_details_stop_order_id($params = array()) {
        return $this->request('stoporder/order_details/{stop_order_id}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_account_risk_limit($params = array()) {
        return $this->request('account/risk_limit', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_account_tiered_fee_rate($params = array()) {
        return $this->request('account/tiered_fee_rate', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_get_position_leverage($params = array()) {
        return $this->request('position/leverage', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_position_change_margin($params = array()) {
        return $this->request('position/change_margin', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_position_change_leverage($params = array()) {
        return $this->request('position/change_leverage', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_position_change_position_mode($params = array()) {
        return $this->request('position/change_position_mode', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_order_submit($params = array()) {
        return $this->request('order/submit', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_order_submit_batch($params = array()) {
        return $this->request('order/submit_batch', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 40));
    }
    public function contract_private_post_order_cancel($params = array()) {
        return $this->request('order/cancel', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_order_cancel_with_external($params = array()) {
        return $this->request('order/cancel_with_external', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_order_cancel_all($params = array()) {
        return $this->request('order/cancel_all', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_account_change_risk_level($params = array()) {
        return $this->request('account/change_risk_level', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_planorder_place($params = array()) {
        return $this->request('planorder/place', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_planorder_cancel($params = array()) {
        return $this->request('planorder/cancel', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_planorder_cancel_all($params = array()) {
        return $this->request('planorder/cancel_all', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_stoporder_cancel($params = array()) {
        return $this->request('stoporder/cancel', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_stoporder_cancel_all($params = array()) {
        return $this->request('stoporder/cancel_all', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_stoporder_change_price($params = array()) {
        return $this->request('stoporder/change_price', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contract_private_post_stoporder_change_plan_price($params = array()) {
        return $this->request('stoporder/change_plan_price', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function spot2_public_get_market_symbols($params = array()) {
        return $this->request('market/symbols', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_public_get_market_coin_list($params = array()) {
        return $this->request('market/coin/list', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_public_get_common_timestamp($params = array()) {
        return $this->request('common/timestamp', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_public_get_common_ping($params = array()) {
        return $this->request('common/ping', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_public_get_market_ticker($params = array()) {
        return $this->request('market/ticker', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_public_get_market_depth($params = array()) {
        return $this->request('market/depth', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_public_get_market_deals($params = array()) {
        return $this->request('market/deals', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_public_get_market_kline($params = array()) {
        return $this->request('market/kline', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_public_get_market_api_default_symbols($params = array()) {
        return $this->request('market/api_default_symbols', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_get_account_info($params = array()) {
        return $this->request('account/info', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_get_order_open_orders($params = array()) {
        return $this->request('order/open_orders', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_get_order_list($params = array()) {
        return $this->request('order/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_get_order_query($params = array()) {
        return $this->request('order/query', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_get_order_deals($params = array()) {
        return $this->request('order/deals', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_get_order_deal_detail($params = array()) {
        return $this->request('order/deal_detail', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_get_asset_deposit_address_list($params = array()) {
        return $this->request('asset/deposit/address/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_get_asset_deposit_list($params = array()) {
        return $this->request('asset/deposit/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_get_asset_address_list($params = array()) {
        return $this->request('asset/address/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_get_asset_withdraw_list($params = array()) {
        return $this->request('asset/withdraw/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_get_asset_internal_transfer_record($params = array()) {
        return $this->request('asset/internal/transfer/record', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot2_private_get_account_balance($params = array()) {
        return $this->request('account/balance', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot2_private_get_asset_internal_transfer_info($params = array()) {
        return $this->request('asset/internal/transfer/info', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot2_private_get_market_api_symbols($params = array()) {
        return $this->request('market/api_symbols', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_post_order_place($params = array()) {
        return $this->request('order/place', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_post_order_place_batch($params = array()) {
        return $this->request('order/place_batch', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_post_order_advanced_place_batch($params = array()) {
        return $this->request('order/advanced/place_batch', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_post_asset_withdraw($params = array()) {
        return $this->request('asset/withdraw', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function spot2_private_post_asset_internal_transfer($params = array()) {
        return $this->request('asset/internal/transfer', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 10));
    }
    public function spot2_private_delete_order_cancel($params = array()) {
        return $this->request('order/cancel', array('spot2', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_delete_order_cancel_by_symbol($params = array()) {
        return $this->request('order/cancel_by_symbol', array('spot2', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot2_private_delete_asset_withdraw($params = array()) {
        return $this->request('asset/withdraw', array('spot2', 'private'), 'DELETE', $params, null, null, array("cost" => 2));
    }
    public function broker_private_get_sub_account_universaltransfer($params = array()) {
        return $this->request('sub-account/universalTransfer', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function broker_private_get_sub_account_list($params = array()) {
        return $this->request('sub-account/list', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function broker_private_get_sub_account_apikey($params = array()) {
        return $this->request('sub-account/apiKey', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function broker_private_get_capital_deposit_subaddress($params = array()) {
        return $this->request('capital/deposit/subAddress', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function broker_private_get_capital_deposit_subhisrec($params = array()) {
        return $this->request('capital/deposit/subHisrec', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function broker_private_get_capital_deposit_subhisrec_getall($params = array()) {
        return $this->request('capital/deposit/subHisrec/getall', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function broker_private_post_sub_account_virtualsubaccount($params = array()) {
        return $this->request('sub-account/virtualSubAccount', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function broker_private_post_sub_account_apikey($params = array()) {
        return $this->request('sub-account/apiKey', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function broker_private_post_capital_deposit_subaddress($params = array()) {
        return $this->request('capital/deposit/subAddress', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function broker_private_post_capital_withdraw_apply($params = array()) {
        return $this->request('capital/withdraw/apply', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function broker_private_post_sub_account_universaltransfer($params = array()) {
        return $this->request('sub-account/universalTransfer', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function broker_private_post_sub_account_futures($params = array()) {
        return $this->request('sub-account/futures', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function broker_private_delete_sub_account_apikey($params = array()) {
        return $this->request('sub-account/apiKey', array('broker', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetPing($params = array()) {
        return $this->request('ping', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetTime($params = array()) {
        return $this->request('time', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetExchangeInfo($params = array()) {
        return $this->request('exchangeInfo', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPublicGetDepth($params = array()) {
        return $this->request('depth', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetTrades($params = array()) {
        return $this->request('trades', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 5));
    }
    public function spotPublicGetHistoricalTrades($params = array()) {
        return $this->request('historicalTrades', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetAggTrades($params = array()) {
        return $this->request('aggTrades', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetKlines($params = array()) {
        return $this->request('klines', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetAvgPrice($params = array()) {
        return $this->request('avgPrice', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetTicker24hr($params = array()) {
        return $this->request('ticker/24hr', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetTickerPrice($params = array()) {
        return $this->request('ticker/price', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetTickerBookTicker($params = array()) {
        return $this->request('ticker/bookTicker', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPublicGetEtfInfo($params = array()) {
        return $this->request('etf/info', array('spot', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetOrder($params = array()) {
        return $this->request('order', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spotPrivateGetOpenOrders($params = array()) {
        return $this->request('openOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 3));
    }
    public function spotPrivateGetAllOrders($params = array()) {
        return $this->request('allOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetAccount($params = array()) {
        return $this->request('account', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetMyTrades($params = array()) {
        return $this->request('myTrades', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetTradeFee($params = array()) {
        return $this->request('tradeFee', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetSubAccountList($params = array()) {
        return $this->request('sub-account/list', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetSubAccountApiKey($params = array()) {
        return $this->request('sub-account/apiKey', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalConfigGetall($params = array()) {
        return $this->request('capital/config/getall', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetCapitalDepositHisrec($params = array()) {
        return $this->request('capital/deposit/hisrec', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalWithdrawHistory($params = array()) {
        return $this->request('capital/withdraw/history', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalWithdrawAddress($params = array()) {
        return $this->request('capital/withdraw/address', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetCapitalDepositAddress($params = array()) {
        return $this->request('capital/deposit/address', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivateGetCapitalTransfer($params = array()) {
        return $this->request('capital/transfer', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalTransferTranId($params = array()) {
        return $this->request('capital/transfer/tranId', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalTransferInternal($params = array()) {
        return $this->request('capital/transfer/internal', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalSubAccountUniversalTransfer($params = array()) {
        return $this->request('capital/sub-account/universalTransfer', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalConvert($params = array()) {
        return $this->request('capital/convert', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetCapitalConvertList($params = array()) {
        return $this->request('capital/convert/list', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginLoan($params = array()) {
        return $this->request('margin/loan', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginAllOrders($params = array()) {
        return $this->request('margin/allOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginMyTrades($params = array()) {
        return $this->request('margin/myTrades', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginOpenOrders($params = array()) {
        return $this->request('margin/openOrders', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginMaxTransferable($params = array()) {
        return $this->request('margin/maxTransferable', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginPriceIndex($params = array()) {
        return $this->request('margin/priceIndex', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginOrder($params = array()) {
        return $this->request('margin/order', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginIsolatedAccount($params = array()) {
        return $this->request('margin/isolated/account', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginMaxBorrowable($params = array()) {
        return $this->request('margin/maxBorrowable', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginRepay($params = array()) {
        return $this->request('margin/repay', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginIsolatedPair($params = array()) {
        return $this->request('margin/isolated/pair', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginForceLiquidationRec($params = array()) {
        return $this->request('margin/forceLiquidationRec', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginIsolatedMarginData($params = array()) {
        return $this->request('margin/isolatedMarginData', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMarginIsolatedMarginTier($params = array()) {
        return $this->request('margin/isolatedMarginTier', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateTaxQuery($params = array()) {
        return $this->request('rebate/taxQuery', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateDetail($params = array()) {
        return $this->request('rebate/detail', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateDetailKickback($params = array()) {
        return $this->request('rebate/detail/kickback', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateReferCode($params = array()) {
        return $this->request('rebate/referCode', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateAffiliateCommission($params = array()) {
        return $this->request('rebate/affiliate/commission', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateAffiliateWithdraw($params = array()) {
        return $this->request('rebate/affiliate/withdraw', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetRebateAffiliateCommissionDetail($params = array()) {
        return $this->request('rebate/affiliate/commission/detail', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetMxDeductEnable($params = array()) {
        return $this->request('mxDeduct/enable', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetUserDataStream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetSelfSymbols($params = array()) {
        return $this->request('selfSymbols', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateGetAssetInternalTransferRecord($params = array()) {
        return $this->request('asset/internal/transfer/record', array('spot', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spotPrivatePostOrder($params = array()) {
        return $this->request('order', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostOrderTest($params = array()) {
        return $this->request('order/test', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostSubAccountVirtualSubAccount($params = array()) {
        return $this->request('sub-account/virtualSubAccount', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostSubAccountApiKey($params = array()) {
        return $this->request('sub-account/apiKey', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostSubAccountFutures($params = array()) {
        return $this->request('sub-account/futures', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostSubAccountMargin($params = array()) {
        return $this->request('sub-account/margin', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostBatchOrders($params = array()) {
        return $this->request('batchOrders', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 10));
    }
    public function spotPrivatePostCapitalWithdrawApply($params = array()) {
        return $this->request('capital/withdraw/apply', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostCapitalWithdraw($params = array()) {
        return $this->request('capital/withdraw', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostCapitalTransfer($params = array()) {
        return $this->request('capital/transfer', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostCapitalTransferInternal($params = array()) {
        return $this->request('capital/transfer/internal', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostCapitalDepositAddress($params = array()) {
        return $this->request('capital/deposit/address', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostCapitalSubAccountUniversalTransfer($params = array()) {
        return $this->request('capital/sub-account/universalTransfer', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostCapitalConvert($params = array()) {
        return $this->request('capital/convert', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 10));
    }
    public function spotPrivatePostMxDeductEnable($params = array()) {
        return $this->request('mxDeduct/enable', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePostUserDataStream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spotPrivatePutUserDataStream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'PUT', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteOrder($params = array()) {
        return $this->request('order', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteOpenOrders($params = array()) {
        return $this->request('openOrders', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteSubAccountApiKey($params = array()) {
        return $this->request('sub-account/apiKey', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteMarginOrder($params = array()) {
        return $this->request('margin/order', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteMarginOpenOrders($params = array()) {
        return $this->request('margin/openOrders', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteUserDataStream($params = array()) {
        return $this->request('userDataStream', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spotPrivateDeleteCapitalWithdraw($params = array()) {
        return $this->request('capital/withdraw', array('spot', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function contractPublicGetPing($params = array()) {
        return $this->request('ping', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetDetail($params = array()) {
        return $this->request('detail', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 100));
    }
    public function contractPublicGetSupportCurrencies($params = array()) {
        return $this->request('support_currencies', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetDepthSymbol($params = array()) {
        return $this->request('depth/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetDepthCommitsSymbolLimit($params = array()) {
        return $this->request('depth_commits/{symbol}/{limit}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetIndexPriceSymbol($params = array()) {
        return $this->request('index_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetFairPriceSymbol($params = array()) {
        return $this->request('fair_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetFundingRateSymbol($params = array()) {
        return $this->request('funding_rate/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetKlineSymbol($params = array()) {
        return $this->request('kline/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetKlineIndexPriceSymbol($params = array()) {
        return $this->request('kline/index_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetKlineFairPriceSymbol($params = array()) {
        return $this->request('kline/fair_price/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetDealsSymbol($params = array()) {
        return $this->request('deals/{symbol}', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetTicker($params = array()) {
        return $this->request('ticker', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetRiskReverse($params = array()) {
        return $this->request('risk_reverse', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetRiskReverseHistory($params = array()) {
        return $this->request('risk_reverse/history', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPublicGetFundingRateHistory($params = array()) {
        return $this->request('funding_rate/history', array('contract', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetAccountAssets($params = array()) {
        return $this->request('account/assets', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetAccountAssetCurrency($params = array()) {
        return $this->request('account/asset/{currency}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetAccountTransferRecord($params = array()) {
        return $this->request('account/transfer_record', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetPositionListHistoryPositions($params = array()) {
        return $this->request('position/list/history_positions', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetPositionOpenPositions($params = array()) {
        return $this->request('position/open_positions', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetPositionFundingRecords($params = array()) {
        return $this->request('position/funding_records', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetPositionPositionMode($params = array()) {
        return $this->request('position/position_mode', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetOrderListOpenOrdersSymbol($params = array()) {
        return $this->request('order/list/open_orders/{symbol}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetOrderListHistoryOrders($params = array()) {
        return $this->request('order/list/history_orders', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetOrderExternalSymbolExternalOid($params = array()) {
        return $this->request('order/external/{symbol}/{external_oid}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetOrderGetOrderId($params = array()) {
        return $this->request('order/get/{order_id}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetOrderBatchQuery($params = array()) {
        return $this->request('order/batch_query', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 8));
    }
    public function contractPrivateGetOrderDealDetailsOrderId($params = array()) {
        return $this->request('order/deal_details/{order_id}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetOrderListOrderDeals($params = array()) {
        return $this->request('order/list/order_deals', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetPlanorderListOrders($params = array()) {
        return $this->request('planorder/list/orders', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetStoporderListOrders($params = array()) {
        return $this->request('stoporder/list/orders', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetStoporderOrderDetailsStopOrderId($params = array()) {
        return $this->request('stoporder/order_details/{stop_order_id}', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetAccountRiskLimit($params = array()) {
        return $this->request('account/risk_limit', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetAccountTieredFeeRate($params = array()) {
        return $this->request('account/tiered_fee_rate', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivateGetPositionLeverage($params = array()) {
        return $this->request('position/leverage', array('contract', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostPositionChangeMargin($params = array()) {
        return $this->request('position/change_margin', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostPositionChangeLeverage($params = array()) {
        return $this->request('position/change_leverage', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostPositionChangePositionMode($params = array()) {
        return $this->request('position/change_position_mode', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostOrderSubmit($params = array()) {
        return $this->request('order/submit', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostOrderSubmitBatch($params = array()) {
        return $this->request('order/submit_batch', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 40));
    }
    public function contractPrivatePostOrderCancel($params = array()) {
        return $this->request('order/cancel', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostOrderCancelWithExternal($params = array()) {
        return $this->request('order/cancel_with_external', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostOrderCancelAll($params = array()) {
        return $this->request('order/cancel_all', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostAccountChangeRiskLevel($params = array()) {
        return $this->request('account/change_risk_level', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostPlanorderPlace($params = array()) {
        return $this->request('planorder/place', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostPlanorderCancel($params = array()) {
        return $this->request('planorder/cancel', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostPlanorderCancelAll($params = array()) {
        return $this->request('planorder/cancel_all', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostStoporderCancel($params = array()) {
        return $this->request('stoporder/cancel', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostStoporderCancelAll($params = array()) {
        return $this->request('stoporder/cancel_all', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostStoporderChangePrice($params = array()) {
        return $this->request('stoporder/change_price', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function contractPrivatePostStoporderChangePlanPrice($params = array()) {
        return $this->request('stoporder/change_plan_price', array('contract', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function spot2PublicGetMarketSymbols($params = array()) {
        return $this->request('market/symbols', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PublicGetMarketCoinList($params = array()) {
        return $this->request('market/coin/list', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PublicGetCommonTimestamp($params = array()) {
        return $this->request('common/timestamp', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PublicGetCommonPing($params = array()) {
        return $this->request('common/ping', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PublicGetMarketTicker($params = array()) {
        return $this->request('market/ticker', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PublicGetMarketDepth($params = array()) {
        return $this->request('market/depth', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PublicGetMarketDeals($params = array()) {
        return $this->request('market/deals', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PublicGetMarketKline($params = array()) {
        return $this->request('market/kline', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PublicGetMarketApiDefaultSymbols($params = array()) {
        return $this->request('market/api_default_symbols', array('spot2', 'public'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivateGetAccountInfo($params = array()) {
        return $this->request('account/info', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateGetOrderOpenOrders($params = array()) {
        return $this->request('order/open_orders', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateGetOrderList($params = array()) {
        return $this->request('order/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateGetOrderQuery($params = array()) {
        return $this->request('order/query', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateGetOrderDeals($params = array()) {
        return $this->request('order/deals', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateGetOrderDealDetail($params = array()) {
        return $this->request('order/deal_detail', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateGetAssetDepositAddressList($params = array()) {
        return $this->request('asset/deposit/address/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivateGetAssetDepositList($params = array()) {
        return $this->request('asset/deposit/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivateGetAssetAddressList($params = array()) {
        return $this->request('asset/address/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivateGetAssetWithdrawList($params = array()) {
        return $this->request('asset/withdraw/list', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivateGetAssetInternalTransferRecord($params = array()) {
        return $this->request('asset/internal/transfer/record', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot2PrivateGetAccountBalance($params = array()) {
        return $this->request('account/balance', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot2PrivateGetAssetInternalTransferInfo($params = array()) {
        return $this->request('asset/internal/transfer/info', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 10));
    }
    public function spot2PrivateGetMarketApiSymbols($params = array()) {
        return $this->request('market/api_symbols', array('spot2', 'private'), 'GET', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivatePostOrderPlace($params = array()) {
        return $this->request('order/place', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivatePostOrderPlaceBatch($params = array()) {
        return $this->request('order/place_batch', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivatePostOrderAdvancedPlaceBatch($params = array()) {
        return $this->request('order/advanced/place_batch', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivatePostAssetWithdraw($params = array()) {
        return $this->request('asset/withdraw', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 2));
    }
    public function spot2PrivatePostAssetInternalTransfer($params = array()) {
        return $this->request('asset/internal/transfer', array('spot2', 'private'), 'POST', $params, null, null, array("cost" => 10));
    }
    public function spot2PrivateDeleteOrderCancel($params = array()) {
        return $this->request('order/cancel', array('spot2', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateDeleteOrderCancelBySymbol($params = array()) {
        return $this->request('order/cancel_by_symbol', array('spot2', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function spot2PrivateDeleteAssetWithdraw($params = array()) {
        return $this->request('asset/withdraw', array('spot2', 'private'), 'DELETE', $params, null, null, array("cost" => 2));
    }
    public function brokerPrivateGetSubAccountUniversalTransfer($params = array()) {
        return $this->request('sub-account/universalTransfer', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivateGetSubAccountList($params = array()) {
        return $this->request('sub-account/list', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivateGetSubAccountApiKey($params = array()) {
        return $this->request('sub-account/apiKey', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivateGetCapitalDepositSubAddress($params = array()) {
        return $this->request('capital/deposit/subAddress', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivateGetCapitalDepositSubHisrec($params = array()) {
        return $this->request('capital/deposit/subHisrec', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivateGetCapitalDepositSubHisrecGetall($params = array()) {
        return $this->request('capital/deposit/subHisrec/getall', array('broker', 'private'), 'GET', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivatePostSubAccountVirtualSubAccount($params = array()) {
        return $this->request('sub-account/virtualSubAccount', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivatePostSubAccountApiKey($params = array()) {
        return $this->request('sub-account/apiKey', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivatePostCapitalDepositSubAddress($params = array()) {
        return $this->request('capital/deposit/subAddress', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivatePostCapitalWithdrawApply($params = array()) {
        return $this->request('capital/withdraw/apply', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivatePostSubAccountUniversalTransfer($params = array()) {
        return $this->request('sub-account/universalTransfer', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivatePostSubAccountFutures($params = array()) {
        return $this->request('sub-account/futures', array('broker', 'private'), 'POST', $params, null, null, array("cost" => 1));
    }
    public function brokerPrivateDeleteSubAccountApiKey($params = array()) {
        return $this->request('sub-account/apiKey', array('broker', 'private'), 'DELETE', $params, null, null, array("cost" => 1));
    }
}
