use super::client::OkxClient;

crate::exchanges::impl_exchange_method_wrappers! {
    OkxClient;
    public [
        get_candles_ticks,
        get_contract_long_short_ratio,
        get_contract_open_interest_history,
        get_contract_taker_volume,
        get_contracts_open_interest_and_volume,
        get_funding_rate,
        get_funding_rate_history,
        get_long_short_ratio,
        get_open_interest,
        get_orderbook,
        get_position_tiers,
        get_public_instruments,
        get_public_trades,
        get_taker_volume,
        get_tickers,
        get_top_trader_long_short_account_ratio,
        get_top_trader_long_short_position_ratio,
        get_trading_data_support_coin,
    ];
    private [
        amend_multiple_orders,
        amend_order,
        cancel_all_orders,
        cancel_batch_orders,
        cancel_order,
        close_positions,
        funds_transfer,
        get_account_balance,
        get_account_bills,
        get_account_bills_archive,
        get_account_bills_history_archive,
        get_account_config,
        get_account_instruments,
        get_account_rate_limit,
        get_adjust_leverage,
        get_asset_valuation,
        get_balances,
        get_bills,
        get_convert_currencies,
        get_convert_history,
        get_currencies,
        get_deposit_address,
        get_deposit_history,
        get_deposit_withdraw_status,
        get_exchange_list,
        get_fee_rates,
        get_fills,
        get_fills_history,
        get_interest_accrued,
        get_interest_limits,
        get_interest_rate,
        get_leverage,
        get_max_avail_size,
        get_max_loan,
        get_max_order_size,
        get_max_withdrawal,
        get_monthly_statement,
        get_order,
        get_order_list,
        get_orders_history,
        get_orders_history_archive,
        get_position_risk,
        get_positions,
        get_positions_history,
        get_transfer_state,
        place_batch_orders,
        place_limit_buy_order,
        place_limit_order,
        place_limit_sell_order,
        place_market_buy_order,
        place_market_order,
        place_market_sell_order,
        place_order,
        place_post_only_limit_buy_order,
        place_post_only_limit_order,
        place_post_only_limit_sell_order,
        post_account_bills_history_archive,
        post_monthly_statement,
        set_greeks,
        set_leverage,
        set_position_mode,
    ];
}
