diff --git a/freqtrade/configuration/config_secrets.py b/freqtrade/configuration/config_secrets.py index e17a7925e..2bb0d97f8 100644 --- a/freqtrade/configuration/config_secrets.py +++ b/freqtrade/configuration/config_secrets.py @@ -37,8 +37,10 @@ def sanitize_config(config: Config, *, show_sensitive: bool = False) -> Config: nested_config = config for nested_key in nested_keys[:-1]: nested_config = nested_config.get(nested_key, {}) - nested_config[nested_keys[-1]] = "REDACTED" + if nested_keys[-1] in nested_config: + nested_config[nested_keys[-1]] = "REDACTED" else: - config[key] = "REDACTED" + if key in config: + config[key] = "REDACTED" return config diff --git a/tests/test_configuration.py b/tests/test_configuration.py index 9f9081ab0..d77fae6a8 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -1653,9 +1653,12 @@ def test_sanitize_config(default_conf_usdt): res = sanitize_config(default_conf_usdt) # Didn't modify original dict assert default_conf_usdt["exchange"]["key"] != "REDACTED" + assert "accountId" not in default_conf_usdt["exchange"] assert res["exchange"]["key"] == "REDACTED" assert res["exchange"]["secret"] == "REDACTED" + # Didn't add a non-existing key + assert "accountId" not in res["exchange"] res = sanitize_config(default_conf_usdt, show_sensitive=True) assert res["exchange"]["key"] == default_conf_usdt["exchange"]["key"]