use super::client::BingxClient;

crate::exchanges::impl_exchange_method_wrappers! {
    BingxClient;
    public [
        get_kline,
        get_mark_price_kline,
        get_open_interest,
        get_orderbook,
        get_public_trades,
        get_spot_book_ticker,
        get_spot_instrument_info,
        get_spot_kline,
        get_spot_kline_v2,
        get_spot_orderbook,
        get_spot_orderbook_v2,
        get_spot_price_ticker,
        get_spot_public_trades,
        get_spot_ticker,
        get_swap_instrument_info,
        get_ticker,
    ];
    private [
        asset_transfer,
        cancel_spot_batch_orders,
        cancel_spot_open_orders,
        cancel_spot_order,
        cancel_swap_all_orders,
        cancel_swap_batch_order,
        cancel_swap_order,
        change_margin_type,
        close_swap_all_positions,
        close_swap_position,
        get_account_balance,
        get_account_uid,
        get_all_account_balance,
        get_api_key_info,
        get_asset_transfer_records,
        get_fund_account_balance,
        get_fund_flow,
        get_leverage,
        get_listen_key,
        get_margin_type,
        get_open_orders,
        get_open_positions,
        get_order_detail,
        get_order_history,
        get_position_mode,
        get_spot_account_balance,
        get_spot_commission_rate,
        get_spot_my_trades,
        get_spot_open_orders,
        get_spot_order,
        get_spot_order_history,
        get_swap_account_balance,
        get_transferable_coins,
        keep_alive_listen_key,
        place_spot_batch_order,
        place_spot_limit_buy_order,
        place_spot_limit_order,
        place_spot_limit_sell_order,
        place_spot_market_buy_order,
        place_spot_market_sell_order,
        place_spot_order,
        place_spot_post_only_buy_order,
        place_spot_post_only_order,
        place_spot_post_only_sell_order,
        place_swap_batch_order,
        place_swap_limit_buy_order,
        place_swap_limit_order,
        place_swap_limit_sell_order,
        place_swap_market_buy_order,
        place_swap_market_order,
        place_swap_market_sell_order,
        place_swap_order,
        place_swap_post_only_buy_order,
        place_swap_post_only_order,
        place_swap_post_only_sell_order,
        replace_swap_order,
        set_leverage,
        set_position_mode,
        test_swap_order,
    ];
}
