diff --git a/freqtrade/configuration/config_validation.py b/freqtrade/configuration/config_validation.py index 4bfd24677..068364884 100644 --- a/freqtrade/configuration/config_validation.py +++ b/freqtrade/configuration/config_validation.py @@ -131,3 +131,15 @@ def _validate_whitelist(conf: Dict[str, Any]) -> None: if (pl.get('method') == 'StaticPairList' and not conf.get('exchange', {}).get('pair_whitelist')): raise OperationalException("StaticPairList requires pair_whitelist to be set.") + + if pl.get('method') == 'StaticPairList': + stake = conf['stake_currency'] + invalid_pairs = [] + for pair in conf['exchange'].get('pair_whitelist'): + if not pair.endswith(f'/{stake}'): + invalid_pairs.append(pair) + + if invalid_pairs: + raise OperationalException( + f"Stake-currency '{stake}' not compatible with pair-whitelist. " + f"Please remove the following pairs: {invalid_pairs}") diff --git a/tests/test_configuration.py b/tests/test_configuration.py index ae85c7493..89ca74afa 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -798,6 +798,12 @@ def test_validate_whitelist(default_conf): validate_config_consistency(conf) + conf = deepcopy(default_conf) + conf['stake_currency'] = 'USDT' + with pytest.raises(OperationalException, + match=r"Stake-currency 'USDT' not compatible with pair-whitelist.*"): + validate_config_consistency(conf) + def test_load_config_test_comments() -> None: """