use super::client::KrakenClient;

crate::exchanges::impl_exchange_method_wrappers! {
    KrakenClient;
    public [
        get_futures_instruments,
        get_futures_kline,
        get_futures_orderbook,
        get_futures_public_trades,
        get_futures_tickers,
        get_server_time,
        get_spot_asset_pairs,
        get_spot_kline,
        get_spot_orderbook,
        get_spot_public_trades,
        get_spot_ticker,
    ];
    private [
        cancel_futures_all_orders,
        cancel_futures_order,
        cancel_spot_all_orders,
        cancel_spot_order,
        futures_wallet_transfer,
        get_futures_accounts,
        get_futures_fills,
        get_futures_open_orders,
        get_futures_open_positions,
        get_futures_order_status,
        get_spot_account_balance,
        get_spot_closed_orders,
        get_spot_ledgers,
        get_spot_open_orders,
        get_spot_open_positions,
        get_spot_orders,
        get_spot_trade_balance,
        get_spot_trade_history,
        get_spot_trade_volume,
        place_futures_limit_buy_order,
        place_futures_limit_order,
        place_futures_limit_sell_order,
        place_futures_market_buy_order,
        place_futures_market_order,
        place_futures_market_sell_order,
        place_futures_order,
        place_futures_post_only_limit_buy_order,
        place_futures_post_only_limit_order,
        place_futures_post_only_limit_sell_order,
        place_spot_limit_buy_order,
        place_spot_limit_order,
        place_spot_limit_sell_order,
        place_spot_market_buy_order,
        place_spot_market_order,
        place_spot_market_sell_order,
        place_spot_order,
        place_spot_post_only_limit_buy_order,
        place_spot_post_only_limit_order,
        place_spot_post_only_limit_sell_order,
        wallet_transfer_to_futures,
        withdraw_futures_to_spot_wallet,
    ];
}
