diff --git a/freqtrade/exchange/common.py b/freqtrade/exchange/common.py index 61206de92..0d7048372 100644 --- a/freqtrade/exchange/common.py +++ b/freqtrade/exchange/common.py @@ -78,31 +78,31 @@ EXCHANGE_HAS_REQUIRED: dict[str, list[str]] = { "fetchOHLCV": [], } -EXCHANGE_HAS_OPTIONAL = [ +EXCHANGE_HAS_OPTIONAL: dict[str, list[str]] = { # Private - "fetchMyTrades", # Trades for order - fee detection - "createLimitOrder", - "createMarketOrder", # Either OR for orders - # 'setLeverage', # Margin/Futures trading - # 'setMarginMode', # Margin/Futures trading - # 'fetchFundingHistory', # Futures trading + "fetchMyTrades": [], # Trades for order - fee detection + "createLimitOrder": [], + "createMarketOrder": [], # Either OR for orders + # "setLeverage": [], # Margin/Futures trading + # "setMarginMode": [], # Margin/Futures trading + # "fetchFundingHistory": [], # Futures trading # Public - "fetchOrderBook", - "fetchL2OrderBook", - "fetchTicker", # OR for pricing - "fetchTickers", # For volumepairlist? - "fetchTrades", # Downloading trades data - # 'fetchFundingRateHistory', # Futures trading - # 'fetchPositions', # Futures trading - # 'fetchLeverageTiers', # Futures initialization - # 'fetchMarketLeverageTiers', # Futures initialization - # 'fetchOpenOrders', 'fetchClosedOrders', # 'fetchOrders', # Refinding balance... - # "fetchPremiumIndexOHLCV", # Futures additional data - # "fetchMarkOHLCV", # Futures additional data - # "fetchIndexOHLCV", # Futures additional data + "fetchOrderBook": [], + "fetchL2OrderBook": [], + "fetchTicker": [], # OR for pricing + "fetchTickers": [], # For volumepairlist? + "fetchTrades": [], # Downloading trades data + # "fetchFundingRateHistory": [], # Futures trading + # "fetchPositions": [], # Futures trading + # "fetchLeverageTiers": [], # Futures initialization + # "fetchMarketLeverageTiers": [], # Futures initialization + # "fetchOrders": ["fetchOpenOrders", "fetchClosedOrders"], # , # Refinding balance... + # "fetchPremiumIndexOHLCV": [], # Futures additional data + # "fetchMarkOHLCV": [], # Futures additional data + # "fetchIndexOHLCV": [], # Futures additional data # ccxt.pro - "watchOHLCV", -] + "watchOHLCV": [], +} def calculate_backoff(retrycount, max_retries): diff --git a/freqtrade/exchange/exchange_utils.py b/freqtrade/exchange/exchange_utils.py index 18da7a79e..3b7ba9005 100644 --- a/freqtrade/exchange/exchange_utils.py +++ b/freqtrade/exchange/exchange_utils.py @@ -88,7 +88,7 @@ def validate_exchange(exchange: str) -> tuple[bool, str, ccxt.Exchange | None]: result = False reason += f"missing: {', '.join(missing)}" - missing_opt = [k for k in EXCHANGE_HAS_OPTIONAL if not ex_mod.has.get(k)] + missing_opt = _exchange_has_helper(ex_mod, EXCHANGE_HAS_OPTIONAL) if exchange.lower() in BAD_EXCHANGES: result = False