from ccxt.base.types import Entry


class ImplicitAPI:
    public_spot_get_v2_system_time = publicSpotGetV2SystemTime = Entry('v2/system/time', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_system_status = publicSpotGetV2SystemStatus = Entry('v2/system/status', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_market_orderbook = publicSpotGetV2MarketOrderbook = Entry('v2/market/orderbook', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_market_trades = publicSpotGetV2MarketTrades = Entry('v2/market/trades', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_market_ticker = publicSpotGetV2MarketTicker = Entry('v2/market/ticker', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_market_alltickers = publicSpotGetV2MarketAllTickers = Entry('v2/market/allTickers', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_ex_exchangeinfo = publicSpotGetV2ExExchangeInfo = Entry('v2/ex/exchangeInfo', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_ex_currencies = publicSpotGetV2ExCurrencies = Entry('v2/ex/currencies', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_market_klines = publicSpotGetV2MarketKlines = Entry('v2/market/klines', ['public', 'spot'], 'GET', {'cost': 10})
    public_spot_get_v2_ex_tradefees = publicSpotGetV2ExTradefees = Entry('v2/ex/tradefees', ['public', 'spot'], 'GET', {'cost': 10})
    public_swap_get_v1_system_time = publicSwapGetV1SystemTime = Entry('v1/system/time', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_system_status = publicSwapGetV1SystemStatus = Entry('v1/system/status', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_exchange_tradefee = publicSwapGetV1ExchangeTradefee = Entry('v1/exchange/tradefee', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_exchange_tradefees = publicSwapGetV1ExchangeTradefees = Entry('v1/exchange/tradefees', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_market_orderbook = publicSwapGetV1MarketOrderBook = Entry('v1/market/orderBook', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_market_ticker24hr = publicSwapGetV1MarketTicker24Hr = Entry('v1/market/ticker24Hr', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_market_markets = publicSwapGetV1MarketMarkets = Entry('v1/market/markets', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_get_v1_market_aggtrade = publicSwapGetV1MarketAggTrade = Entry('v1/market/aggTrade', ['public', 'swap'], 'GET', {'cost': 10})
    public_swap_post_v1_market_klines = publicSwapPostV1MarketKlines = Entry('v1/market/klines', ['public', 'swap'], 'POST', {'cost': 10})
    private_spot_post_v2_ex_orders = privateSpotPostV2ExOrders = Entry('v2/ex/orders', ['private', 'spot'], 'POST', {'cost': 10})
    private_spot_get_v2_ex_orders = privateSpotGetV2ExOrders = Entry('v2/ex/orders', ['private', 'spot'], 'GET', {'cost': 10})
    private_spot_get_v2_account_balance = privateSpotGetV2AccountBalance = Entry('v2/account/balance', ['private', 'spot'], 'GET', {'cost': 10})
    private_spot_get_v2_ex_tradefee = privateSpotGetV2ExTradefee = Entry('v2/ex/tradefee', ['private', 'spot'], 'GET', {'cost': 10})
    private_spot_get_v2_ex_order = privateSpotGetV2ExOrder = Entry('v2/ex/order', ['private', 'spot'], 'GET', {'cost': 10})
    private_spot_get_v2_ex_order_fills = privateSpotGetV2ExOrderFills = Entry('v2/ex/order/fills', ['private', 'spot'], 'GET', {'cost': 10})
    private_spot_delete_v2_ex_order = privateSpotDeleteV2ExOrder = Entry('v2/ex/order', ['private', 'spot'], 'DELETE', {'cost': 10})
    private_spot_delete_v2_ex_orders = privateSpotDeleteV2ExOrders = Entry('v2/ex/orders', ['private', 'spot'], 'DELETE', {'cost': 10})
    private_spot_delete_v2_ex_orders_cancelall = privateSpotDeleteV2ExOrdersCancelAll = Entry('v2/ex/orders/cancelAll', ['private', 'spot'], 'DELETE', {'cost': 10})
    private_swap_get_v1_wallet_balance = privateSwapGetV1WalletBalance = Entry('v1/wallet/balance', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_get_v1_trade_order = privateSwapGetV1TradeOrder = Entry('v1/trade/order', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_get_v1_trade_order_open_orders = privateSwapGetV1TradeOrderOpenOrders = Entry('v1/trade/order/open-orders', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_get_v1_trade_userleverages = privateSwapGetV1TradeUserLeverages = Entry('v1/trade/userLeverages', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_get_v1_trade_userleverage = privateSwapGetV1TradeUserLeverage = Entry('v1/trade/userLeverage', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_get_v1_trade_positions = privateSwapGetV1TradePositions = Entry('v1/trade/positions', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_get_v1_trade_history = privateSwapGetV1TradeHistory = Entry('v1/trade/history', ['private', 'swap'], 'GET', {'cost': 10})
    private_swap_post_v1_trade_order = privateSwapPostV1TradeOrder = Entry('v1/trade/order', ['private', 'swap'], 'POST', {'cost': 10})
    private_swap_post_v1_trade_order_addtpsl = privateSwapPostV1TradeOrderAddTPSL = Entry('v1/trade/order/addTPSL', ['private', 'swap'], 'POST', {'cost': 10})
    private_swap_post_v1_trade_addmargin = privateSwapPostV1TradeAddMargin = Entry('v1/trade/addMargin', ['private', 'swap'], 'POST', {'cost': 10})
    private_swap_post_v1_trade_reducemargin = privateSwapPostV1TradeReduceMargin = Entry('v1/trade/reduceMargin', ['private', 'swap'], 'POST', {'cost': 10})
    private_swap_post_v1_trade_position_close = privateSwapPostV1TradePositionClose = Entry('v1/trade/position/close', ['private', 'swap'], 'POST', {'cost': 10})
    private_swap_post_v1_trade_update_userleverage = privateSwapPostV1TradeUpdateUserLeverage = Entry('v1/trade/update/userLeverage', ['private', 'swap'], 'POST', {'cost': 10})
    private_swap_delete_v1_trade_order = privateSwapDeleteV1TradeOrder = Entry('v1/trade/order', ['private', 'swap'], 'DELETE', {'cost': 10})
