from ccxt.base.types import Entry


class ImplicitAPI:
    privateedge_post_auth_api_key_login = privateEdgePostAuthApiKeyLogin = Entry('auth/api_key/login', 'privateEdge', 'POST', {'cost': 100})
    privateedge_post_auth_wallet_login = privateEdgePostAuthWalletLogin = Entry('auth/wallet/login', 'privateEdge', 'POST', {'cost': 100})
    publicmarket_post_full_v1_instrument = publicMarketPostFullV1Instrument = Entry('full/v1/instrument', 'publicMarket', 'POST', {'cost': 4})
    publicmarket_post_full_v1_all_instruments = publicMarketPostFullV1AllInstruments = Entry('full/v1/all_instruments', 'publicMarket', 'POST', {'cost': 4})
    publicmarket_post_full_v1_instruments = publicMarketPostFullV1Instruments = Entry('full/v1/instruments', 'publicMarket', 'POST', {'cost': 4})
    publicmarket_post_full_v1_currency = publicMarketPostFullV1Currency = Entry('full/v1/currency', 'publicMarket', 'POST', {'cost': 12})
    publicmarket_post_full_v1_margin_rules = publicMarketPostFullV1MarginRules = Entry('full/v1/margin_rules', 'publicMarket', 'POST', {'cost': 12})
    publicmarket_post_full_v1_mini = publicMarketPostFullV1Mini = Entry('full/v1/mini', 'publicMarket', 'POST', {'cost': 4})
    publicmarket_post_full_v1_ticker = publicMarketPostFullV1Ticker = Entry('full/v1/ticker', 'publicMarket', 'POST', {'cost': 4})
    publicmarket_post_full_v1_book = publicMarketPostFullV1Book = Entry('full/v1/book', 'publicMarket', 'POST', {'cost': 12})
    publicmarket_post_full_v1_trade = publicMarketPostFullV1Trade = Entry('full/v1/trade', 'publicMarket', 'POST', {'cost': 12})
    publicmarket_post_full_v1_trade_history = publicMarketPostFullV1TradeHistory = Entry('full/v1/trade_history', 'publicMarket', 'POST', {'cost': 12})
    publicmarket_post_full_v1_kline = publicMarketPostFullV1Kline = Entry('full/v1/kline', 'publicMarket', 'POST', {'cost': 12})
    publicmarket_post_full_v1_funding = publicMarketPostFullV1Funding = Entry('full/v1/funding', 'publicMarket', 'POST', {'cost': 12})
    privatetrading_post_full_v1_create_order = privateTradingPostFullV1CreateOrder = Entry('full/v1/create_order', 'privateTrading', 'POST', {'cost': 5})
    privatetrading_post_full_v1_cancel_order = privateTradingPostFullV1CancelOrder = Entry('full/v1/cancel_order', 'privateTrading', 'POST', {'cost': 5})
    privatetrading_post_full_v1_cancel_on_disconnect = privateTradingPostFullV1CancelOnDisconnect = Entry('full/v1/cancel_on_disconnect', 'privateTrading', 'POST', {'cost': 100})
    privatetrading_post_full_v1_cancel_all_orders = privateTradingPostFullV1CancelAllOrders = Entry('full/v1/cancel_all_orders', 'privateTrading', 'POST', {'cost': 50})
    privatetrading_post_full_v1_order = privateTradingPostFullV1Order = Entry('full/v1/order', 'privateTrading', 'POST', {'cost': 20})
    privatetrading_post_full_v1_order_history = privateTradingPostFullV1OrderHistory = Entry('full/v1/order_history', 'privateTrading', 'POST', {'cost': 20})
    privatetrading_post_full_v1_open_orders = privateTradingPostFullV1OpenOrders = Entry('full/v1/open_orders', 'privateTrading', 'POST', {'cost': 20})
    privatetrading_post_full_v1_fill_history = privateTradingPostFullV1FillHistory = Entry('full/v1/fill_history', 'privateTrading', 'POST', {'cost': 20})
    privatetrading_post_full_v1_positions = privateTradingPostFullV1Positions = Entry('full/v1/positions', 'privateTrading', 'POST', {'cost': 20})
    privatetrading_post_full_v1_funding_payment_history = privateTradingPostFullV1FundingPaymentHistory = Entry('full/v1/funding_payment_history', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_get_sub_accounts = privateTradingPostFullV1GetSubAccounts = Entry('full/v1/get_sub_accounts', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_account_summary = privateTradingPostFullV1AccountSummary = Entry('full/v1/account_summary', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_account_history = privateTradingPostFullV1AccountHistory = Entry('full/v1/account_history', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_aggregated_account_summary = privateTradingPostFullV1AggregatedAccountSummary = Entry('full/v1/aggregated_account_summary', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_funding_account_summary = privateTradingPostFullV1FundingAccountSummary = Entry('full/v1/funding_account_summary', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_transfer = privateTradingPostFullV1Transfer = Entry('full/v1/transfer', 'privateTrading', 'POST', {'cost': 100})
    privatetrading_post_full_v1_deposit_history = privateTradingPostFullV1DepositHistory = Entry('full/v1/deposit_history', 'privateTrading', 'POST', {'cost': 100})
    privatetrading_post_full_v1_transfer_history = privateTradingPostFullV1TransferHistory = Entry('full/v1/transfer_history', 'privateTrading', 'POST', {'cost': 100})
    privatetrading_post_full_v1_withdrawal = privateTradingPostFullV1Withdrawal = Entry('full/v1/withdrawal', 'privateTrading', 'POST', {'cost': 100})
    privatetrading_post_full_v1_withdrawal_history = privateTradingPostFullV1WithdrawalHistory = Entry('full/v1/withdrawal_history', 'privateTrading', 'POST', {'cost': 100})
    privatetrading_post_full_v1_add_position_margin = privateTradingPostFullV1AddPositionMargin = Entry('full/v1/add_position_margin', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_get_position_margin_limits = privateTradingPostFullV1GetPositionMarginLimits = Entry('full/v1/get_position_margin_limits', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_set_position_config = privateTradingPostFullV1SetPositionConfig = Entry('full/v1/set_position_config', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_set_initial_leverage = privateTradingPostFullV1SetInitialLeverage = Entry('full/v1/set_initial_leverage', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_get_all_initial_leverage = privateTradingPostFullV1GetAllInitialLeverage = Entry('full/v1/get_all_initial_leverage', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_set_derisk_mm_ratio = privateTradingPostFullV1SetDeriskMmRatio = Entry('full/v1/set_derisk_mm_ratio', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_burn_tokens = privateTradingPostFullV1VaultBurnTokens = Entry('full/v1/vault_burn_tokens', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_invest = privateTradingPostFullV1VaultInvest = Entry('full/v1/vault_invest', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_investor_summary = privateTradingPostFullV1VaultInvestorSummary = Entry('full/v1/vault_investor_summary', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_redeem = privateTradingPostFullV1VaultRedeem = Entry('full/v1/vault_redeem', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_redeem_cancel = privateTradingPostFullV1VaultRedeemCancel = Entry('full/v1/vault_redeem_cancel', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_view_redemption_queue = privateTradingPostFullV1VaultViewRedemptionQueue = Entry('full/v1/vault_view_redemption_queue', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_vault_manager_investor_history = privateTradingPostFullV1VaultManagerInvestorHistory = Entry('full/v1/vault_manager_investor_history', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_authorize_builder = privateTradingPostFullV1AuthorizeBuilder = Entry('full/v1/authorize_builder', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_get_authorized_builders = privateTradingPostFullV1GetAuthorizedBuilders = Entry('full/v1/get_authorized_builders', 'privateTrading', 'POST', {'cost': 40})
    privatetrading_post_full_v1_builder_fill_history = privateTradingPostFullV1BuilderFillHistory = Entry('full/v1/builder_fill_history', 'privateTrading', 'POST', {'cost': 40})
