From dcc8c8800f9a2d0feade4464461b5a3c036728a1 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 17 Dec 2024 19:44:24 +0100 Subject: [PATCH] feat: conversion_rate should map both sides --- freqtrade/exchange/exchange.py | 2 ++ tests/exchange/test_exchange.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index c28f072ea..8ac4900c8 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -1884,6 +1884,8 @@ class Exchange: if (proxy_coin := self._ft_has["proxy_coin_mapping"].get(coin, None)) is not None: coin = proxy_coin + if (proxy_currency := self._ft_has["proxy_coin_mapping"].get(currency, None)) is not None: + currency = proxy_currency if coin == currency: return 1.0 tickers = self.get_tickers(cached=True) diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index 99e403094..9b37e78eb 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -2050,6 +2050,8 @@ def test_get_conversion_rate(default_conf_usdt, mocker, exchange_name): # Special binance case of BNFCR matching USDT. assert exchange.get_conversion_rate("BNFCR", "USDT") is None assert exchange.get_conversion_rate("BNFCR", "USDC") == 1 + assert exchange.get_conversion_rate("USDT", "BNFCR") is None + assert exchange.get_conversion_rate("USDC", "BNFCR") == 1 @pytest.mark.parametrize("exchange_name", EXCHANGES)