from ccxt.base.types import Entry


class ImplicitAPI:
    public_get_api_v3_time = publicGetApiV3Time = Entry('api/v3/time', 'public', 'GET', {'cost': 5})
    public_get_api_v3_coins = publicGetApiV3Coins = Entry('api/v3/coins', 'public', 'GET', {'cost': 25})
    public_get_api_v3_exchangeinfo = publicGetApiV3ExchangeInfo = Entry('api/v3/exchangeInfo', 'public', 'GET', {'cost': 100})
    public_get_api_v3_ping = publicGetApiV3Ping = Entry('api/v3/ping', 'public', 'GET', {'cost': 5})
    public_get_api_v3_apitradingsymbols = publicGetApiV3ApiTradingSymbols = Entry('api/v3/apiTradingSymbols', 'public', 'GET', {'cost': 25})
    public_get_api_v3_market_ticker_price = publicGetApiV3MarketTickerPrice = Entry('api/v3/market/ticker/price', 'public', 'GET', {'cost': 20})
    public_get_api_v3_market_ticker_24hr = publicGetApiV3MarketTicker24hr = Entry('api/v3/market/ticker/24hr', 'public', 'GET', {'cost': 10})
    public_get_api_v3_market_trades = publicGetApiV3MarketTrades = Entry('api/v3/market/trades', 'public', 'GET', {'cost': 125})
    public_get_api_v3_market_klines = publicGetApiV3MarketKlines = Entry('api/v3/market/klines', 'public', 'GET', {'cost': 10})
    public_get_api_v3_market_depth = publicGetApiV3MarketDepth = Entry('api/v3/market/depth', 'public', 'GET', {'cost': 25})
    public_get_api_v3_market_ticker_bookticker = publicGetApiV3MarketTickerBookTicker = Entry('api/v3/market/ticker/bookTicker', 'public', 'GET', {'cost': 20})
    private_get_api_v3_account = privateGetApiV3Account = Entry('api/v3/account/', 'private', 'GET', {'cost': 5})
    private_get_api_v3_account_transferrecords = privateGetApiV3AccountTransferRecords = Entry('api/v3/account/transferRecords', 'private', 'GET', {'cost': 3})
    private_get_api_v3_order = privateGetApiV3Order = Entry('api/v3/order', 'private', 'GET', {'cost': 2})
    private_get_api_v3_openorders = privateGetApiV3OpenOrders = Entry('api/v3/openOrders', 'private', 'GET', {'cost': 3})
    private_get_api_v3_allorders = privateGetApiV3AllOrders = Entry('api/v3/allOrders', 'private', 'GET', {'cost': 10})
    private_get_api_v3_mytrades = privateGetApiV3MyTrades = Entry('api/v3/myTrades', 'private', 'GET', {'cost': 5})
    private_get_api_v3_rebate_affiliate_getaffiliateuids = privateGetApiV3RebateAffiliateGetAffiliateUIDs = Entry('api/v3/rebate/affiliate/getAffiliateUIDs', 'private', 'GET', {'cost': 20})
    private_get_api_v3_rebate_affiliate_getchannelusertradeandasset = privateGetApiV3RebateAffiliateGetChannelUserTradeAndAsset = Entry('api/v3/rebate/affiliate/getChannelUserTradeAndAsset', 'private', 'GET', {'cost': 20})
    private_get_api_v3_rebate_affiliate_getaffiliatecommission = privateGetApiV3RebateAffiliateGetAffiliateCommission = Entry('api/v3/rebate/affiliate/getAffiliateCommission', 'private', 'GET', {'cost': 20})
    private_get_api_v3_rebate_affiliate_getinternalwithdrawalstatus = privateGetApiV3RebateAffiliateGetInternalWithdrawalStatus = Entry('api/v3/rebate/affiliate/getInternalWithdrawalStatus', 'private', 'GET', {'cost': 100})
    private_get_api_v3_rebate_affiliate_querysubchanneltransactions = privateGetApiV3RebateAffiliateQuerySubChannelTransactions = Entry('api/v3/rebate/affiliate/querySubChannelTransactions', 'private', 'GET', {'cost': 10})
    private_get_api_v3_agency_verifyreferrals = privateGetApiV3AgencyVerifyReferrals = Entry('api/v3/agency/verifyReferrals', 'private', 'GET', {'cost': 20})
    private_get_api_v3_agency_getassert = privateGetApiV3AgencyGetAssert = Entry('api/v3/agency/getAssert', 'private', 'GET', {'cost': 20})
    private_get_api_v3_agency_getdealdata = privateGetApiV3AgencyGetDealData = Entry('api/v3/agency/getDealData', 'private', 'GET', {'cost': 20})
    private_post_api_v3_account_bills = privatePostApiV3AccountBills = Entry('api/v3/account/bills', 'private', 'POST', {'cost': 5})
    private_post_api_v3_account_fundingbills = privatePostApiV3AccountFundingBills = Entry('api/v3/account/fundingBills', 'private', 'POST', {'cost': 5})
    private_post_api_v3_order = privatePostApiV3Order = Entry('api/v3/order', 'private', 'POST', {'cost': 5})
    private_post_api_v3_order_batch = privatePostApiV3OrderBatch = Entry('api/v3/order/batch', 'private', 'POST', {'cost': 50})
    private_post_api_v3_rebate_affiliate_internalwithdrawal = privatePostApiV3RebateAffiliateInternalWithdrawal = Entry('api/v3/rebate/affiliate/internalWithdrawal', 'private', 'POST', {'cost': 100})
    private_delete_api_v3_order = privateDeleteApiV3Order = Entry('api/v3/order', 'private', 'DELETE', {'cost': 1})
    private_delete_api_v3_openorders = privateDeleteApiV3OpenOrders = Entry('api/v3/openOrders', 'private', 'DELETE', {'cost': 1})
    private_delete_api_v3_order_batch = privateDeleteApiV3OrderBatch = Entry('api/v3/order/batch', 'private', 'DELETE', {'cost': 10})
    contract_get_capi_v3_market_time = contractGetCapiV3MarketTime = Entry('capi/v3/market/time', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_exchangeinfo = contractGetCapiV3MarketExchangeInfo = Entry('capi/v3/market/exchangeInfo', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_depth = contractGetCapiV3MarketDepth = Entry('capi/v3/market/depth', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_ticker_24hr = contractGetCapiV3MarketTicker24hr = Entry('capi/v3/market/ticker/24hr', 'contract', 'GET', {'cost': 200})
    contract_get_capi_v3_market_ticker_bookticker = contractGetCapiV3MarketTickerBookTicker = Entry('capi/v3/market/ticker/bookTicker', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_trades = contractGetCapiV3MarketTrades = Entry('capi/v3/market/trades', 'contract', 'GET', {'cost': 25})
    contract_get_capi_v3_market_klines = contractGetCapiV3MarketKlines = Entry('capi/v3/market/klines', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_indexpriceklines = contractGetCapiV3MarketIndexPriceKlines = Entry('capi/v3/market/indexPriceKlines', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_markpriceklines = contractGetCapiV3MarketMarkPriceKlines = Entry('capi/v3/market/markPriceKlines', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_historyklines = contractGetCapiV3MarketHistoryKlines = Entry('capi/v3/market/historyKlines', 'contract', 'GET', {'cost': 25})
    contract_get_capi_v3_market_symbolprice = contractGetCapiV3MarketSymbolPrice = Entry('capi/v3/market/symbolPrice', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_openinterest = contractGetCapiV3MarketOpenInterest = Entry('capi/v3/market/openInterest', 'contract', 'GET', {'cost': 10})
    contract_get_capi_v3_market_premiumindex = contractGetCapiV3MarketPremiumIndex = Entry('capi/v3/market/premiumIndex', 'contract', 'GET', {'cost': 5})
    contract_get_capi_v3_market_fundingrate = contractGetCapiV3MarketFundingRate = Entry('capi/v3/market/fundingRate', 'contract', 'GET', {'cost': 25})
    contract_get_capi_v3_market_apitradingsymbols = contractGetCapiV3MarketApiTradingSymbols = Entry('capi/v3/market/apiTradingSymbols', 'contract', 'GET', {'cost': 25})
    contractprivate_get_capi_v3_account_balance = contractPrivateGetCapiV3AccountBalance = Entry('capi/v3/account/balance', 'contractPrivate', 'GET', {'cost': 10})
    contractprivate_get_capi_v3_account_commissionrate = contractPrivateGetCapiV3AccountCommissionRate = Entry('capi/v3/account/commissionRate', 'contractPrivate', 'GET', {'cost': 10})
    contractprivate_get_capi_v3_account_accountconfig = contractPrivateGetCapiV3AccountAccountConfig = Entry('capi/v3/account/accountConfig', 'contractPrivate', 'GET', {'cost': 10})
    contractprivate_get_capi_v3_account_symbolconfig = contractPrivateGetCapiV3AccountSymbolConfig = Entry('capi/v3/account/symbolConfig', 'contractPrivate', 'GET', {'cost': 10})
    contractprivate_get_capi_v3_account_position_allposition = contractPrivateGetCapiV3AccountPositionAllPosition = Entry('capi/v3/account/position/allPosition', 'contractPrivate', 'GET', {'cost': 15})
    contractprivate_get_capi_v3_account_position_singleposition = contractPrivateGetCapiV3AccountPositionSinglePosition = Entry('capi/v3/account/position/singlePosition', 'contractPrivate', 'GET', {'cost': 3})
    contractprivate_get_capi_v3_order = contractPrivateGetCapiV3Order = Entry('capi/v3/order', 'contractPrivate', 'GET', {'cost': 3})
    contractprivate_get_capi_v3_openorders = contractPrivateGetCapiV3OpenOrders = Entry('capi/v3/openOrders', 'contractPrivate', 'GET', {'cost': 5})
    contractprivate_get_capi_v3_order_history = contractPrivateGetCapiV3OrderHistory = Entry('capi/v3/order/history', 'contractPrivate', 'GET', {'cost': 10})
    contractprivate_get_capi_v3_usertrades = contractPrivateGetCapiV3UserTrades = Entry('capi/v3/userTrades', 'contractPrivate', 'GET', {'cost': 5})
    contractprivate_get_capi_v3_openalgoorders = contractPrivateGetCapiV3OpenAlgoOrders = Entry('capi/v3/openAlgoOrders', 'contractPrivate', 'GET', {'cost': 3})
    contractprivate_get_capi_v3_allalgoorders = contractPrivateGetCapiV3AllAlgoOrders = Entry('capi/v3/allAlgoOrders', 'contractPrivate', 'GET', {'cost': 10})
    contractprivate_post_capi_v3_account_income = contractPrivatePostCapiV3AccountIncome = Entry('capi/v3/account/income', 'contractPrivate', 'POST', {'cost': 5})
    contractprivate_post_capi_v3_account_margintype = contractPrivatePostCapiV3AccountMarginType = Entry('capi/v3/account/marginType', 'contractPrivate', 'POST', {'cost': 50})
    contractprivate_post_capi_v3_account_leverage = contractPrivatePostCapiV3AccountLeverage = Entry('capi/v3/account/leverage', 'contractPrivate', 'POST', {'cost': 20})
    contractprivate_post_capi_v3_account_positionmargin = contractPrivatePostCapiV3AccountPositionMargin = Entry('capi/v3/account/positionMargin', 'contractPrivate', 'POST', {'cost': 30})
    contractprivate_post_capi_v3_account_modifyautoappendmargin = contractPrivatePostCapiV3AccountModifyAutoAppendMargin = Entry('capi/v3/account/modifyAutoAppendMargin', 'contractPrivate', 'POST', {'cost': 30})
    contractprivate_post_capi_v3_order = contractPrivatePostCapiV3Order = Entry('capi/v3/order', 'contractPrivate', 'POST', {'cost': 5})
    contractprivate_post_capi_v3_batchorders = contractPrivatePostCapiV3BatchOrders = Entry('capi/v3/batchOrders', 'contractPrivate', 'POST', {'cost': 10})
    contractprivate_post_capi_v3_closepositions = contractPrivatePostCapiV3ClosePositions = Entry('capi/v3/closePositions', 'contractPrivate', 'POST', {'cost': 50})
    contractprivate_post_capi_v3_algoorder = contractPrivatePostCapiV3AlgoOrder = Entry('capi/v3/algoOrder', 'contractPrivate', 'POST', {'cost': 5})
    contractprivate_post_capi_v3_placetpslorder = contractPrivatePostCapiV3PlaceTpSlOrder = Entry('capi/v3/placeTpSlOrder', 'contractPrivate', 'POST', {'cost': 5})
    contractprivate_post_capi_v3_modifytpslorder = contractPrivatePostCapiV3ModifyTpSlOrder = Entry('capi/v3/modifyTpSlOrder', 'contractPrivate', 'POST', {'cost': 5})
    contractprivate_delete_capi_v3_order = contractPrivateDeleteCapiV3Order = Entry('capi/v3/order', 'contractPrivate', 'DELETE', {'cost': 3})
    contractprivate_delete_capi_v3_batchorders = contractPrivateDeleteCapiV3BatchOrders = Entry('capi/v3/batchOrders', 'contractPrivate', 'DELETE', {'cost': 10})
    contractprivate_delete_capi_v3_allopenorders = contractPrivateDeleteCapiV3AllOpenOrders = Entry('capi/v3/allOpenOrders', 'contractPrivate', 'DELETE', {'cost': 10})
    contractprivate_delete_capi_v3_algoorder = contractPrivateDeleteCapiV3AlgoOrder = Entry('capi/v3/algoOrder', 'contractPrivate', 'DELETE', {'cost': 3})
    contractprivate_delete_capi_v3_algoopenorders = contractPrivateDeleteCapiV3AlgoOpenOrders = Entry('capi/v3/algoOpenOrders', 'contractPrivate', 'DELETE', {'cost': 10})
