from ccxt.base.types import Entry


class ImplicitAPI:
    public_get_latest = publicGetLatest = Entry('latest', 'public', 'GET', {})
    private_post_orders = privatePostOrders = Entry('orders', 'private', 'POST', {})
    private_post_orders_history = privatePostOrdersHistory = Entry('orders/history', 'private', 'POST', {})
    private_post_my_coin_deposit = privatePostMyCoinDeposit = Entry('my/coin/deposit', 'private', 'POST', {})
    private_post_my_coin_send = privatePostMyCoinSend = Entry('my/coin/send', 'private', 'POST', {})
    private_post_quote_buy = privatePostQuoteBuy = Entry('quote/buy', 'private', 'POST', {})
    private_post_quote_sell = privatePostQuoteSell = Entry('quote/sell', 'private', 'POST', {})
    private_post_my_balances = privatePostMyBalances = Entry('my/balances', 'private', 'POST', {})
    private_post_my_orders = privatePostMyOrders = Entry('my/orders', 'private', 'POST', {})
    private_post_my_buy = privatePostMyBuy = Entry('my/buy', 'private', 'POST', {})
    private_post_my_sell = privatePostMySell = Entry('my/sell', 'private', 'POST', {})
    private_post_my_buy_cancel = privatePostMyBuyCancel = Entry('my/buy/cancel', 'private', 'POST', {})
    private_post_my_sell_cancel = privatePostMySellCancel = Entry('my/sell/cancel', 'private', 'POST', {})
    private_post_ro_my_balances = privatePostRoMyBalances = Entry('ro/my/balances', 'private', 'POST', {})
    private_post_ro_my_balances_cointype = privatePostRoMyBalancesCointype = Entry('ro/my/balances/{cointype}', 'private', 'POST', {})
    private_post_ro_my_deposits = privatePostRoMyDeposits = Entry('ro/my/deposits', 'private', 'POST', {})
    private_post_ro_my_withdrawals = privatePostRoMyWithdrawals = Entry('ro/my/withdrawals', 'private', 'POST', {})
    private_post_ro_my_transactions = privatePostRoMyTransactions = Entry('ro/my/transactions', 'private', 'POST', {})
    private_post_ro_my_transactions_cointype = privatePostRoMyTransactionsCointype = Entry('ro/my/transactions/{cointype}', 'private', 'POST', {})
    private_post_ro_my_transactions_open = privatePostRoMyTransactionsOpen = Entry('ro/my/transactions/open', 'private', 'POST', {})
    private_post_ro_my_transactions_cointype_open = privatePostRoMyTransactionsCointypeOpen = Entry('ro/my/transactions/{cointype}/open', 'private', 'POST', {})
    private_post_ro_my_sendreceive = privatePostRoMySendreceive = Entry('ro/my/sendreceive', 'private', 'POST', {})
    private_post_ro_my_affiliatepayments = privatePostRoMyAffiliatepayments = Entry('ro/my/affiliatepayments', 'private', 'POST', {})
    private_post_ro_my_referralpayments = privatePostRoMyReferralpayments = Entry('ro/my/referralpayments', 'private', 'POST', {})
    v2_public_get_latest = v2PublicGetLatest = Entry('latest', ['v2', 'public'], 'GET', {})
    v2_public_get_latest_cointype = v2PublicGetLatestCointype = Entry('latest/{cointype}', ['v2', 'public'], 'GET', {})
    v2_public_get_latest_cointype_markettype = v2PublicGetLatestCointypeMarkettype = Entry('latest/{cointype}/{markettype}', ['v2', 'public'], 'GET', {})
    v2_public_get_buyprice_cointype = v2PublicGetBuypriceCointype = Entry('buyprice/{cointype}', ['v2', 'public'], 'GET', {})
    v2_public_get_buyprice_cointype_markettype = v2PublicGetBuypriceCointypeMarkettype = Entry('buyprice/{cointype}/{markettype}', ['v2', 'public'], 'GET', {})
    v2_public_get_sellprice_cointype = v2PublicGetSellpriceCointype = Entry('sellprice/{cointype}', ['v2', 'public'], 'GET', {})
    v2_public_get_sellprice_cointype_markettype = v2PublicGetSellpriceCointypeMarkettype = Entry('sellprice/{cointype}/{markettype}', ['v2', 'public'], 'GET', {})
    v2_public_get_orders_open_cointype = v2PublicGetOrdersOpenCointype = Entry('orders/open/{cointype}', ['v2', 'public'], 'GET', {})
    v2_public_get_orders_open_cointype_markettype = v2PublicGetOrdersOpenCointypeMarkettype = Entry('orders/open/{cointype}/{markettype}', ['v2', 'public'], 'GET', {})
    v2_public_get_orders_completed_cointype = v2PublicGetOrdersCompletedCointype = Entry('orders/completed/{cointype}', ['v2', 'public'], 'GET', {})
    v2_public_get_orders_completed_cointype_markettype = v2PublicGetOrdersCompletedCointypeMarkettype = Entry('orders/completed/{cointype}/{markettype}', ['v2', 'public'], 'GET', {})
    v2_public_get_orders_summary_completed_cointype = v2PublicGetOrdersSummaryCompletedCointype = Entry('orders/summary/completed/{cointype}', ['v2', 'public'], 'GET', {})
    v2_public_get_orders_summary_completed_cointype_markettype = v2PublicGetOrdersSummaryCompletedCointypeMarkettype = Entry('orders/summary/completed/{cointype}/{markettype}', ['v2', 'public'], 'GET', {})
    v2_private_post_status = v2PrivatePostStatus = Entry('status', ['v2', 'private'], 'POST', {})
    v2_private_post_my_coin_deposit = v2PrivatePostMyCoinDeposit = Entry('my/coin/deposit', ['v2', 'private'], 'POST', {})
    v2_private_post_quote_buy_now = v2PrivatePostQuoteBuyNow = Entry('quote/buy/now', ['v2', 'private'], 'POST', {})
    v2_private_post_quote_sell_now = v2PrivatePostQuoteSellNow = Entry('quote/sell/now', ['v2', 'private'], 'POST', {})
    v2_private_post_quote_swap_now = v2PrivatePostQuoteSwapNow = Entry('quote/swap/now', ['v2', 'private'], 'POST', {})
    v2_private_post_my_buy = v2PrivatePostMyBuy = Entry('my/buy', ['v2', 'private'], 'POST', {})
    v2_private_post_my_buy_edit = v2PrivatePostMyBuyEdit = Entry('my/buy/edit', ['v2', 'private'], 'POST', {})
    v2_private_post_my_sell = v2PrivatePostMySell = Entry('my/sell', ['v2', 'private'], 'POST', {})
    v2_private_post_my_sell_edit = v2PrivatePostMySellEdit = Entry('my/sell/edit', ['v2', 'private'], 'POST', {})
    v2_private_post_my_buy_now = v2PrivatePostMyBuyNow = Entry('my/buy/now', ['v2', 'private'], 'POST', {})
    v2_private_post_my_sell_now = v2PrivatePostMySellNow = Entry('my/sell/now', ['v2', 'private'], 'POST', {})
    v2_private_post_my_swap_now = v2PrivatePostMySwapNow = Entry('my/swap/now', ['v2', 'private'], 'POST', {})
    v2_private_post_my_buy_cancel = v2PrivatePostMyBuyCancel = Entry('my/buy/cancel', ['v2', 'private'], 'POST', {})
    v2_private_post_my_buy_cancel_all = v2PrivatePostMyBuyCancelAll = Entry('my/buy/cancel/all', ['v2', 'private'], 'POST', {})
    v2_private_post_my_sell_cancel = v2PrivatePostMySellCancel = Entry('my/sell/cancel', ['v2', 'private'], 'POST', {})
    v2_private_post_my_sell_cancel_all = v2PrivatePostMySellCancelAll = Entry('my/sell/cancel/all', ['v2', 'private'], 'POST', {})
    v2_private_post_my_coin_withdraw_senddetails = v2PrivatePostMyCoinWithdrawSenddetails = Entry('my/coin/withdraw/senddetails', ['v2', 'private'], 'POST', {})
    v2_private_post_my_coin_withdraw_send = v2PrivatePostMyCoinWithdrawSend = Entry('my/coin/withdraw/send', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_status = v2PrivatePostRoStatus = Entry('ro/status', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_orders_market_open = v2PrivatePostRoOrdersMarketOpen = Entry('ro/orders/market/open', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_orders_market_completed = v2PrivatePostRoOrdersMarketCompleted = Entry('ro/orders/market/completed', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_balances = v2PrivatePostRoMyBalances = Entry('ro/my/balances', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_balance_cointype = v2PrivatePostRoMyBalanceCointype = Entry('ro/my/balance/{cointype}', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_orders_market_open = v2PrivatePostRoMyOrdersMarketOpen = Entry('ro/my/orders/market/open', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_orders_limit_open = v2PrivatePostRoMyOrdersLimitOpen = Entry('ro/my/orders/limit/open', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_orders_completed = v2PrivatePostRoMyOrdersCompleted = Entry('ro/my/orders/completed', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_orders_market_completed = v2PrivatePostRoMyOrdersMarketCompleted = Entry('ro/my/orders/market/completed', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_sendreceive = v2PrivatePostRoMySendreceive = Entry('ro/my/sendreceive', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_deposits = v2PrivatePostRoMyDeposits = Entry('ro/my/deposits', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_withdrawals = v2PrivatePostRoMyWithdrawals = Entry('ro/my/withdrawals', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_affiliatepayments = v2PrivatePostRoMyAffiliatepayments = Entry('ro/my/affiliatepayments', ['v2', 'private'], 'POST', {})
    v2_private_post_ro_my_referralpayments = v2PrivatePostRoMyReferralpayments = Entry('ro/my/referralpayments', ['v2', 'private'], 'POST', {})
