from ccxt.base.types import Entry


class ImplicitAPI:
    common_get_api_v1_time = commonGetApiV1Time = Entry('api/v1/time', 'common', 'GET', {'cost': 1})
    common_get_api_v1_ping = commonGetApiV1Ping = Entry('api/v1/ping', 'common', 'GET', {'cost': 1})
    common_get_api_v1_exchangeinfo = commonGetApiV1ExchangeInfo = Entry('api/v1/exchangeInfo', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_depth = commonGetQuoteV1Depth = Entry('quote/v1/depth', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_depth_merged = commonGetQuoteV1DepthMerged = Entry('quote/v1/depth/merged', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_trades = commonGetQuoteV1Trades = Entry('quote/v1/trades', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_klines = commonGetQuoteV1Klines = Entry('quote/v1/klines', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_index_klines = commonGetQuoteV1IndexKlines = Entry('quote/v1/index/klines', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_markprice_klines = commonGetQuoteV1MarkPriceKlines = Entry('quote/v1/markPrice/klines', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_markprice = commonGetQuoteV1MarkPrice = Entry('quote/v1/markPrice', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_index = commonGetQuoteV1Index = Entry('quote/v1/index', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_ticker_24hr = commonGetQuoteV1Ticker24hr = Entry('quote/v1/ticker/24hr', 'common', 'GET', {'cost': 40})
    common_get_quote_v1_contract_ticker_24hr = commonGetQuoteV1ContractTicker24hr = Entry('quote/v1/contract/ticker/24hr', 'common', 'GET', {'cost': 40})
    common_get_quote_v1_ticker_price = commonGetQuoteV1TickerPrice = Entry('quote/v1/ticker/price', 'common', 'GET', {'cost': 1})
    common_get_quote_v1_ticker_bookticker = commonGetQuoteV1TickerBookTicker = Entry('quote/v1/ticker/bookTicker', 'common', 'GET', {'cost': 1})
    common_get_api_v1_futures_fundingrate = commonGetApiV1FuturesFundingRate = Entry('api/v1/futures/fundingRate', 'common', 'GET', {'cost': 1})
    common_get_api_v1_futures_historyfundingrate = commonGetApiV1FuturesHistoryFundingRate = Entry('api/v1/futures/historyFundingRate', 'common', 'GET', {'cost': 1})
    private_get_api_v1_account = privateGetApiV1Account = Entry('api/v1/account', 'private', 'GET', {'cost': 5})
    private_get_api_v1_account_checkapikey = privateGetApiV1AccountCheckApiKey = Entry('api/v1/account/checkApiKey', 'private', 'GET', {'cost': 1})
    private_get_api_v1_spot_order = privateGetApiV1SpotOrder = Entry('api/v1/spot/order', 'private', 'GET', {'cost': 1.67})
    private_get_api_v1_spot_openorders = privateGetApiV1SpotOpenOrders = Entry('api/v1/spot/openOrders', 'private', 'GET', {'cost': 1.67})
    private_get_api_v1_futures_openorders = privateGetApiV1FuturesOpenOrders = Entry('api/v1/futures/openOrders', 'private', 'GET', {'cost': 1.67})
    private_get_api_v1_spot_tradeorders = privateGetApiV1SpotTradeOrders = Entry('api/v1/spot/tradeOrders', 'private', 'GET', {'cost': 8.35})
    private_get_api_v1_futures_historyorders = privateGetApiV1FuturesHistoryOrders = Entry('api/v1/futures/historyOrders', 'private', 'GET', {'cost': 8.35})
    private_get_api_v1_account_trades = privateGetApiV1AccountTrades = Entry('api/v1/account/trades', 'private', 'GET', {'cost': 8.35})
    private_get_api_v1_account_balanceflow = privateGetApiV1AccountBalanceFlow = Entry('api/v1/account/balanceFlow', 'private', 'GET', {'cost': 5})
    private_get_api_v1_account_depositorders = privateGetApiV1AccountDepositOrders = Entry('api/v1/account/depositOrders', 'private', 'GET', {'cost': 5})
    private_get_api_v1_account_withdraworders = privateGetApiV1AccountWithdrawOrders = Entry('api/v1/account/withdrawOrders', 'private', 'GET', {'cost': 5})
    private_get_api_v1_account_deposit_address = privateGetApiV1AccountDepositAddress = Entry('api/v1/account/deposit/address', 'private', 'GET', {'cost': 1})
    private_get_api_v1_subaccount = privateGetApiV1SubAccount = Entry('api/v1/subAccount', 'private', 'GET', {'cost': 5})
    private_get_api_v1_futures_accountleverage = privateGetApiV1FuturesAccountLeverage = Entry('api/v1/futures/accountLeverage', 'private', 'GET', {'cost': 1})
    private_get_api_v1_futures_order = privateGetApiV1FuturesOrder = Entry('api/v1/futures/order', 'private', 'GET', {'cost': 1.67})
    private_get_api_v1_futures_positions = privateGetApiV1FuturesPositions = Entry('api/v1/futures/positions', 'private', 'GET', {'cost': 8.35})
    private_get_api_v1_futures_balance = privateGetApiV1FuturesBalance = Entry('api/v1/futures/balance', 'private', 'GET', {'cost': 5})
    private_get_api_v1_futures_usertrades = privateGetApiV1FuturesUserTrades = Entry('api/v1/futures/userTrades', 'private', 'GET', {'cost': 8.35})
    private_get_api_v1_futures_balanceflow = privateGetApiV1FuturesBalanceFlow = Entry('api/v1/futures/balanceFlow', 'private', 'GET', {'cost': 5})
    private_get_api_v1_futures_commissionrate = privateGetApiV1FuturesCommissionRate = Entry('api/v1/futures/commissionRate', 'private', 'GET', {'cost': 5})
    private_get_api_v1_futures_todaypnl = privateGetApiV1FuturesTodayPnl = Entry('api/v1/futures/todayPnl', 'private', 'GET', {'cost': 5})
    private_post_api_v1_spot_ordertest = privatePostApiV1SpotOrderTest = Entry('api/v1/spot/orderTest', 'private', 'POST', {'cost': 1.67})
    private_post_api_v1_spot_order = privatePostApiV1SpotOrder = Entry('api/v1/spot/order', 'private', 'POST', {'cost': 1.67})
    private_post_api_v1_futures_order = privatePostApiV1FuturesOrder = Entry('api/v1/futures/order', 'private', 'POST', {'cost': 1.67})
    private_post_api_v1_spot_batchorders = privatePostApiV1SpotBatchOrders = Entry('api/v1/spot/batchOrders', 'private', 'POST', {'cost': 3.34})
    private_post_api_v1_subaccount_transfer = privatePostApiV1SubAccountTransfer = Entry('api/v1/subAccount/transfer', 'private', 'POST', {'cost': 1})
    private_post_api_v1_account_withdraw = privatePostApiV1AccountWithdraw = Entry('api/v1/account/withdraw', 'private', 'POST', {'cost': 1})
    private_post_api_v1_futures_margintype = privatePostApiV1FuturesMarginType = Entry('api/v1/futures/marginType', 'private', 'POST', {'cost': 1})
    private_post_api_v1_futures_leverage = privatePostApiV1FuturesLeverage = Entry('api/v1/futures/leverage', 'private', 'POST', {'cost': 1})
    private_post_api_v1_futures_batchorders = privatePostApiV1FuturesBatchOrders = Entry('api/v1/futures/batchOrders', 'private', 'POST', {'cost': 3.34})
    private_post_api_v1_futures_position_trading_stop = privatePostApiV1FuturesPositionTradingStop = Entry('api/v1/futures/position/trading-stop', 'private', 'POST', {'cost': 5.01})
    private_post_api_v1_futures_positionmargin = privatePostApiV1FuturesPositionMargin = Entry('api/v1/futures/positionMargin', 'private', 'POST', {'cost': 1})
    private_post_api_v1_userdatastream = privatePostApiV1UserDataStream = Entry('api/v1/userDataStream', 'private', 'POST', {'cost': 1})
    private_post_api_v1_listenkey = privatePostApiV1ListenKey = Entry('api/v1/listenKey', 'private', 'POST', {'cost': 1})
    private_delete_api_v1_spot_order = privateDeleteApiV1SpotOrder = Entry('api/v1/spot/order', 'private', 'DELETE', {'cost': 1.67})
    private_delete_api_v1_futures_order = privateDeleteApiV1FuturesOrder = Entry('api/v1/futures/order', 'private', 'DELETE', {'cost': 1.67})
    private_delete_api_v1_spot_openorders = privateDeleteApiV1SpotOpenOrders = Entry('api/v1/spot/openOrders', 'private', 'DELETE', {'cost': 8.35})
    private_delete_api_v1_futures_batchorders = privateDeleteApiV1FuturesBatchOrders = Entry('api/v1/futures/batchOrders', 'private', 'DELETE', {'cost': 8.35})
    private_delete_api_v1_spot_cancelorderbyids = privateDeleteApiV1SpotCancelOrderByIds = Entry('api/v1/spot/cancelOrderByIds', 'private', 'DELETE', {'cost': 8.35})
    private_delete_api_v1_futures_cancelorderbyids = privateDeleteApiV1FuturesCancelOrderByIds = Entry('api/v1/futures/cancelOrderByIds', 'private', 'DELETE', {'cost': 8.35})
    private_delete_api_v1_listenkey = privateDeleteApiV1ListenKey = Entry('api/v1/listenKey', 'private', 'DELETE', {'cost': 1})
    private_put_api_v1_listenkey = privatePutApiV1ListenKey = Entry('api/v1/listenKey', 'private', 'PUT', {'cost': 1})
