From baeeaa777d489e2b1687aede0dfc3e4c63d0bad2 Mon Sep 17 00:00:00 2001 From: gcarq Date: Mon, 23 Apr 2018 16:57:18 +0200 Subject: [PATCH] get_balance: handle case if currency is not in response --- freqtrade/exchange/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/freqtrade/exchange/__init__.py b/freqtrade/exchange/__init__.py index c10dc8576..8f9b737dd 100644 --- a/freqtrade/exchange/__init__.py +++ b/freqtrade/exchange/__init__.py @@ -198,13 +198,19 @@ def sell(pair: str, rate: float, amount: float) -> Dict: raise OperationalException(e) +@retrier def get_balance(currency: str) -> float: if _CONF['dry_run']: return 999.9 # ccxt exception is already handled by get_balances balances = get_balances() - return balances[currency]['free'] + balance = balances.get(currency) + if balance is None: + raise TemporaryError( + 'Could not get {} balance due to malformed exchange response: {}'.format( + currency, balances)) + return balance['free'] @retrier