<?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 tokocrypto extends \ccxt\async\Exchange {
    public function binance_get_ping($params = array()) {
        return $this->request('ping', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binance_get_time($params = array()) {
        return $this->request('time', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binance_get_depth($params = array()) {
        return $this->request('depth', 'binance', 'GET', $params, null, null, array("cost" => 1, "byLimit" => [[100, 1], [500, 5], [1000, 10], [5000, 50]]));
    }
    public function binance_get_trades($params = array()) {
        return $this->request('trades', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binance_get_aggtrades($params = array()) {
        return $this->request('aggTrades', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binance_get_historicaltrades($params = array()) {
        return $this->request('historicalTrades', 'binance', 'GET', $params, null, null, array("cost" => 5));
    }
    public function binance_get_klines($params = array()) {
        return $this->request('klines', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binance_get_ticker_24hr($params = array()) {
        return $this->request('ticker/24hr', 'binance', 'GET', $params, null, null, array("cost" => 1, "noSymbol" => 40));
    }
    public function binance_get_ticker_price($params = array()) {
        return $this->request('ticker/price', 'binance', 'GET', $params, null, null, array("cost" => 1, "noSymbol" => 2));
    }
    public function binance_get_ticker_bookticker($params = array()) {
        return $this->request('ticker/bookTicker', 'binance', 'GET', $params, null, null, array("cost" => 1, "noSymbol" => 2));
    }
    public function binance_get_exchangeinfo($params = array()) {
        return $this->request('exchangeInfo', 'binance', 'GET', $params, null, null, array("cost" => 10));
    }
    public function binance_put_userdatastream($params = array()) {
        return $this->request('userDataStream', 'binance', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function binance_post_userdatastream($params = array()) {
        return $this->request('userDataStream', 'binance', 'POST', $params, null, null, array("cost" => 1));
    }
    public function binance_delete_userdatastream($params = array()) {
        return $this->request('userDataStream', 'binance', 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function public_get_open_v1_common_time($params = array()) {
        return $this->request('open/v1/common/time', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_open_v1_common_symbols($params = array()) {
        return $this->request('open/v1/common/symbols', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_open_v1_market_depth($params = array()) {
        return $this->request('open/v1/market/depth', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_open_v1_market_trades($params = array()) {
        return $this->request('open/v1/market/trades', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_open_v1_market_agg_trades($params = array()) {
        return $this->request('open/v1/market/agg-trades', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function public_get_open_v1_market_klines($params = array()) {
        return $this->request('open/v1/market/klines', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_orders_detail($params = array()) {
        return $this->request('open/v1/orders/detail', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_orders($params = array()) {
        return $this->request('open/v1/orders', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_account_spot($params = array()) {
        return $this->request('open/v1/account/spot', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_account_spot_asset($params = array()) {
        return $this->request('open/v1/account/spot/asset', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_orders_trades($params = array()) {
        return $this->request('open/v1/orders/trades', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_withdraws($params = array()) {
        return $this->request('open/v1/withdraws', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_deposits($params = array()) {
        return $this->request('open/v1/deposits', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_get_open_v1_deposits_address($params = array()) {
        return $this->request('open/v1/deposits/address', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function private_post_open_v1_orders($params = array()) {
        return $this->request('open/v1/orders', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_open_v1_orders_cancel($params = array()) {
        return $this->request('open/v1/orders/cancel', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_open_v1_orders_oco($params = array()) {
        return $this->request('open/v1/orders/oco', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_open_v1_withdraws($params = array()) {
        return $this->request('open/v1/withdraws', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function private_post_open_v1_user_data_stream($params = array()) {
        return $this->request('open/v1/user-data-stream', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function binanceGetPing($params = array()) {
        return $this->request('ping', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binanceGetTime($params = array()) {
        return $this->request('time', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binanceGetDepth($params = array()) {
        return $this->request('depth', 'binance', 'GET', $params, null, null, array("cost" => 1, "byLimit" => [[100, 1], [500, 5], [1000, 10], [5000, 50]]));
    }
    public function binanceGetTrades($params = array()) {
        return $this->request('trades', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binanceGetAggTrades($params = array()) {
        return $this->request('aggTrades', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binanceGetHistoricalTrades($params = array()) {
        return $this->request('historicalTrades', 'binance', 'GET', $params, null, null, array("cost" => 5));
    }
    public function binanceGetKlines($params = array()) {
        return $this->request('klines', 'binance', 'GET', $params, null, null, array("cost" => 1));
    }
    public function binanceGetTicker24hr($params = array()) {
        return $this->request('ticker/24hr', 'binance', 'GET', $params, null, null, array("cost" => 1, "noSymbol" => 40));
    }
    public function binanceGetTickerPrice($params = array()) {
        return $this->request('ticker/price', 'binance', 'GET', $params, null, null, array("cost" => 1, "noSymbol" => 2));
    }
    public function binanceGetTickerBookTicker($params = array()) {
        return $this->request('ticker/bookTicker', 'binance', 'GET', $params, null, null, array("cost" => 1, "noSymbol" => 2));
    }
    public function binanceGetExchangeInfo($params = array()) {
        return $this->request('exchangeInfo', 'binance', 'GET', $params, null, null, array("cost" => 10));
    }
    public function binancePutUserDataStream($params = array()) {
        return $this->request('userDataStream', 'binance', 'PUT', $params, null, null, array("cost" => 1));
    }
    public function binancePostUserDataStream($params = array()) {
        return $this->request('userDataStream', 'binance', 'POST', $params, null, null, array("cost" => 1));
    }
    public function binanceDeleteUserDataStream($params = array()) {
        return $this->request('userDataStream', 'binance', 'DELETE', $params, null, null, array("cost" => 1));
    }
    public function publicGetOpenV1CommonTime($params = array()) {
        return $this->request('open/v1/common/time', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetOpenV1CommonSymbols($params = array()) {
        return $this->request('open/v1/common/symbols', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetOpenV1MarketDepth($params = array()) {
        return $this->request('open/v1/market/depth', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetOpenV1MarketTrades($params = array()) {
        return $this->request('open/v1/market/trades', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetOpenV1MarketAggTrades($params = array()) {
        return $this->request('open/v1/market/agg-trades', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function publicGetOpenV1MarketKlines($params = array()) {
        return $this->request('open/v1/market/klines', 'public', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1OrdersDetail($params = array()) {
        return $this->request('open/v1/orders/detail', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1Orders($params = array()) {
        return $this->request('open/v1/orders', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1AccountSpot($params = array()) {
        return $this->request('open/v1/account/spot', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1AccountSpotAsset($params = array()) {
        return $this->request('open/v1/account/spot/asset', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1OrdersTrades($params = array()) {
        return $this->request('open/v1/orders/trades', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1Withdraws($params = array()) {
        return $this->request('open/v1/withdraws', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1Deposits($params = array()) {
        return $this->request('open/v1/deposits', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privateGetOpenV1DepositsAddress($params = array()) {
        return $this->request('open/v1/deposits/address', 'private', 'GET', $params, null, null, array("cost" => 1));
    }
    public function privatePostOpenV1Orders($params = array()) {
        return $this->request('open/v1/orders', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostOpenV1OrdersCancel($params = array()) {
        return $this->request('open/v1/orders/cancel', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostOpenV1OrdersOco($params = array()) {
        return $this->request('open/v1/orders/oco', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostOpenV1Withdraws($params = array()) {
        return $this->request('open/v1/withdraws', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
    public function privatePostOpenV1UserDataStream($params = array()) {
        return $this->request('open/v1/user-data-stream', 'private', 'POST', $params, null, null, array("cost" => 1));
    }
}
