from ccxt.base.types import Entry


class ImplicitAPI:
    public_get_v1_nonce = publicGetV1Nonce = Entry('v1/nonce', 'public', 'GET', {'cost': 1})
    public_get_v1_time = publicGetV1Time = Entry('v1/time', 'public', 'GET', {'cost': 1})
    public_get_v1_assets = publicGetV1Assets = Entry('v1/assets', 'public', 'GET', {'cost': 1})
    public_get_v1_assets_symbol = publicGetV1AssetsSymbol = Entry('v1/assets/{symbol}', 'public', 'GET', {'cost': 1})
    public_get_v1_markets = publicGetV1Markets = Entry('v1/markets', 'public', 'GET', {'cost': 1})
    public_get_v1_markets_symbol = publicGetV1MarketsSymbol = Entry('v1/markets/{symbol}', 'public', 'GET', {'cost': 1})
    public_get_v1_history_markets_symbol = publicGetV1HistoryMarketsSymbol = Entry('v1/history/markets/{symbol}', 'public', 'GET', {'cost': 1})
    public_get_v1_markets_symbol_orderbook_hybrid = publicGetV1MarketsSymbolOrderbookHybrid = Entry('v1/markets/{symbol}/orderbook/hybrid', 'public', 'GET', {'cost': 1})
    public_get_v1_markets_symbol_trades = publicGetV1MarketsSymbolTrades = Entry('v1/markets/{symbol}/trades', 'public', 'GET', {'cost': 1})
    public_get_v1_markets_symbol_tick = publicGetV1MarketsSymbolTick = Entry('v1/markets/{symbol}/tick', 'public', 'GET', {'cost': 1})
    public_get_v1_markets_symbol_candle = publicGetV1MarketsSymbolCandle = Entry('v1/markets/{symbol}/candle', 'public', 'GET', {'cost': 1})
    public_get_v1_history_markets_symbol_trades = publicGetV1HistoryMarketsSymbolTrades = Entry('v1/history/markets/{symbol}/trades', 'public', 'GET', {'cost': 1})
    public_get_v1_history_markets_symbol_funding_rate = publicGetV1HistoryMarketsSymbolFundingRate = Entry('v1/history/markets/{symbol}/funding-rate', 'public', 'GET', {'cost': 1})
    public_get_v1_index_prices = publicGetV1IndexPrices = Entry('v1/index-prices', 'public', 'GET', {'cost': 1})
    public_get_v1_index_prices_assetsymbol = publicGetV1IndexPricesAssetSymbol = Entry('v1/index-prices/{assetSymbol}', 'public', 'GET', {'cost': 1})
    public_get_v1_expiry_prices_symbol = publicGetV1ExpiryPricesSymbol = Entry('v1/expiry-prices/{symbol}', 'public', 'GET', {'cost': 1})
    public_get_v1_option_ladder = publicGetV1OptionLadder = Entry('v1/option-ladder', 'public', 'GET', {'cost': 1})
    public_get_v1_option_ladder_symbol = publicGetV1OptionLadderSymbol = Entry('v1/option-ladder/{symbol}', 'public', 'GET', {'cost': 1})
    private_get_v2_orders = privateGetV2Orders = Entry('v2/orders', 'private', 'GET', {'cost': 1})
    private_get_v2_history_orders = privateGetV2HistoryOrders = Entry('v2/history/orders', 'private', 'GET', {'cost': 1})
    private_get_v2_orders_orderid = privateGetV2OrdersOrderId = Entry('v2/orders/{orderId}', 'private', 'GET', {'cost': 1})
    private_get_v2_amm_instructions = privateGetV2AmmInstructions = Entry('v2/amm-instructions', 'private', 'GET', {'cost': 1})
    private_get_v2_amm_instructions_instructionid = privateGetV2AmmInstructionsInstructionId = Entry('v2/amm-instructions/{instructionId}', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_transactions = privateGetV1WalletsTransactions = Entry('v1/wallets/transactions', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_limits_symbol = privateGetV1WalletsLimitsSymbol = Entry('v1/wallets/limits/{symbol}', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_deposit_instructions_crypto_symbol = privateGetV1WalletsDepositInstructionsCryptoSymbol = Entry('v1/wallets/deposit-instructions/crypto/{symbol}', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_withdrawal_instructions_crypto_symbol = privateGetV1WalletsWithdrawalInstructionsCryptoSymbol = Entry('v1/wallets/withdrawal-instructions/crypto/{symbol}', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_deposit_instructions_fiat_symbol = privateGetV1WalletsDepositInstructionsFiatSymbol = Entry('v1/wallets/deposit-instructions/fiat/{symbol}', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_withdrawal_instructions_fiat_symbol = privateGetV1WalletsWithdrawalInstructionsFiatSymbol = Entry('v1/wallets/withdrawal-instructions/fiat/{symbol}', 'private', 'GET', {'cost': 1})
    private_get_v1_wallets_self_hosted_verification_attempts = privateGetV1WalletsSelfHostedVerificationAttempts = Entry('v1/wallets/self-hosted/verification-attempts', 'private', 'GET', {'cost': 1})
    private_get_v1_trades = privateGetV1Trades = Entry('v1/trades', 'private', 'GET', {'cost': 5})
    private_get_v1_history_trades = privateGetV1HistoryTrades = Entry('v1/history/trades', 'private', 'GET', {'cost': 5})
    private_get_v1_trades_tradeid = privateGetV1TradesTradeId = Entry('v1/trades/{tradeId}', 'private', 'GET', {'cost': 5})
    private_get_v1_trades_client_order_id_clientorderid = privateGetV1TradesClientOrderIdClientOrderId = Entry('v1/trades/client-order-id/{clientOrderId}', 'private', 'GET', {'cost': 1})
    private_get_v1_accounts_asset = privateGetV1AccountsAsset = Entry('v1/accounts/asset', 'private', 'GET', {'cost': 1})
    private_get_v1_accounts_asset_symbol = privateGetV1AccountsAssetSymbol = Entry('v1/accounts/asset/{symbol}', 'private', 'GET', {'cost': 1})
    private_get_v1_users_logout = privateGetV1UsersLogout = Entry('v1/users/logout', 'private', 'GET', {'cost': 1})
    private_get_v1_users_hmac_login = privateGetV1UsersHmacLogin = Entry('v1/users/hmac/login', 'private', 'GET', {'cost': 1})
    private_get_v1_accounts_trading_accounts = privateGetV1AccountsTradingAccounts = Entry('v1/accounts/trading-accounts', 'private', 'GET', {'cost': 1})
    private_get_v1_accounts_trading_accounts_tradingaccountid = privateGetV1AccountsTradingAccountsTradingAccountId = Entry('v1/accounts/trading-accounts/{tradingAccountId}', 'private', 'GET', {'cost': 1})
    private_get_v1_derivatives_positions = privateGetV1DerivativesPositions = Entry('v1/derivatives-positions', 'private', 'GET', {'cost': 1})
    private_get_v1_history_derivatives_settlement = privateGetV1HistoryDerivativesSettlement = Entry('v1/history/derivatives-settlement', 'private', 'GET', {'cost': 1})
    private_get_v1_history_transfer = privateGetV1HistoryTransfer = Entry('v1/history/transfer', 'private', 'GET', {'cost': 1})
    private_get_v1_history_borrow_interest = privateGetV1HistoryBorrowInterest = Entry('v1/history/borrow-interest', 'private', 'GET', {'cost': 1})
    private_get_v2_mmp_configuration = privateGetV2MmpConfiguration = Entry('v2/mmp-configuration', 'private', 'GET', {'cost': 1})
    private_get_v2_otc_trades = privateGetV2OtcTrades = Entry('v2/otc-trades', 'private', 'GET', {'cost': 1})
    private_get_v2_otc_trades_otctradeid = privateGetV2OtcTradesOtcTradeId = Entry('v2/otc-trades/{otcTradeId}', 'private', 'GET', {'cost': 1})
    private_get_v2_otc_trades_unconfirmed_trade = privateGetV2OtcTradesUnconfirmedTrade = Entry('v2/otc-trades/unconfirmed-trade', 'private', 'GET', {'cost': 1})
    private_post_v2_orders = privatePostV2Orders = Entry('v2/orders', 'private', 'POST', {'cost': 5})
    private_post_v2_command = privatePostV2Command = Entry('v2/command', 'private', 'POST', {'cost': 5})
    private_post_v2_amm_instructions = privatePostV2AmmInstructions = Entry('v2/amm-instructions', 'private', 'POST', {'cost': 1})
    private_post_v1_wallets_withdrawal = privatePostV1WalletsWithdrawal = Entry('v1/wallets/withdrawal', 'private', 'POST', {'cost': 1})
    private_post_v2_users_login = privatePostV2UsersLogin = Entry('v2/users/login', 'private', 'POST', {'cost': 1})
    private_post_v1_simulate_portfolio_margin = privatePostV1SimulatePortfolioMargin = Entry('v1/simulate-portfolio-margin', 'private', 'POST', {'cost': 1})
    private_post_v1_wallets_self_hosted_initiate = privatePostV1WalletsSelfHostedInitiate = Entry('v1/wallets/self-hosted/initiate', 'private', 'POST', {'cost': 1})
    private_post_v2_mmp_configuration = privatePostV2MmpConfiguration = Entry('v2/mmp-configuration', 'private', 'POST', {'cost': 1})
    private_post_v2_otc_trades = privatePostV2OtcTrades = Entry('v2/otc-trades', 'private', 'POST', {'cost': 1})
    private_post_v2_otc_command = privatePostV2OtcCommand = Entry('v2/otc-command', 'private', 'POST', {'cost': 1})
