Merge pull request #2227 from freqtrade/fix/balance_failure

Fix RPC /balance failure
This commit is contained in:
hroff-1902 2019-09-07 00:27:20 +03:00 committed by GitHub
commit df481eb642
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 21 additions and 18 deletions

View File

@ -30,6 +30,9 @@ BAD_EXCHANGES = {
"bitmex": "Various reasons",
"bitstamp": "Does not provide history. "
"Details in https://github.com/freqtrade/freqtrade/issues/1983",
"kraken": "TEMPORARY: Balance does not report free balance, so freqtrade will not know "
"if enough balance is available."
"Details in https://github.com/freqtrade/freqtrade/issues/1687#issuecomment-528509266"
}

View File

@ -294,9 +294,9 @@ class RPC(object):
total = total + est_btc
output.append({
'currency': coin,
'available': balance['free'],
'balance': balance['total'],
'pending': balance['used'],
'free': balance['free'] if balance['free'] is not None else 0,
'balance': balance['total'] if balance['total'] is not None else 0,
'used': balance['used'] if balance['used'] is not None else 0,
'est_btc': est_btc,
})
if total == 0.0:

View File

@ -328,9 +328,9 @@ class Telegram(RPC):
for currency in result['currencies']:
if currency['est_btc'] > 0.0001:
curr_output = "*{currency}:*\n" \
"\t`Available: {available: .8f}`\n" \
"\t`Available: {free: .8f}`\n" \
"\t`Balance: {balance: .8f}`\n" \
"\t`Pending: {pending: .8f}`\n" \
"\t`Pending: {used: .8f}`\n" \
"\t`Est. BTC: {est_btc: .8f}`\n".format(**currency)
else:
curr_output = "*{currency}:* not showing <1$ amount \n".format(**currency)

View File

@ -363,9 +363,9 @@ def test_rpc_balance_handle_error(default_conf, mocker):
assert 'USD' == result['symbol']
assert result['currencies'] == [{
'currency': 'BTC',
'available': 10.0,
'free': 10.0,
'balance': 12.0,
'pending': 2.0,
'used': 2.0,
'est_btc': 12.0,
}]
assert result['total'] == 12.0
@ -417,22 +417,22 @@ def test_rpc_balance_handle(default_conf, mocker):
assert 'USD' == result['symbol']
assert result['currencies'] == [
{'currency': 'BTC',
'available': 10.0,
'free': 10.0,
'balance': 12.0,
'pending': 2.0,
'used': 2.0,
'est_btc': 12.0,
},
{'available': 1.0,
{'free': 1.0,
'balance': 5.0,
'currency': 'ETH',
'est_btc': 0.05,
'pending': 4.0
'used': 4.0
},
{'available': 5.0,
{'free': 5.0,
'balance': 10.0,
'currency': 'PAX',
'est_btc': 0.1,
'pending': 5.0}
'used': 5.0}
]
assert result['total'] == 12.15

View File

@ -251,9 +251,9 @@ def test_api_balance(botclient, mocker, rpc_balance):
assert len(rc.json["currencies"]) == 5
assert rc.json['currencies'][0] == {
'currency': 'BTC',
'available': 12.0,
'free': 12.0,
'balance': 12.0,
'pending': 0.0,
'used': 0.0,
'est_btc': 12.0,
}

View File

@ -577,8 +577,8 @@ def test_balance_handle_too_large_response(default_conf, update, mocker) -> None
curr = choice(ascii_uppercase) + choice(ascii_uppercase) + choice(ascii_uppercase)
balances.append({
'currency': curr,
'available': 1.0,
'pending': 0.5,
'free': 1.0,
'used': 0.5,
'balance': i,
'est_btc': 1
})

View File

@ -494,7 +494,7 @@ def test_check_exchange(default_conf, caplog) -> None:
caplog.clear()
# Test an available exchange, supported by ccxt
default_conf.get('exchange').update({'name': 'kraken'})
default_conf.get('exchange').update({'name': 'huobipro'})
assert check_exchange(default_conf)
assert log_has_re(r"Exchange .* is supported by ccxt and .* not officially supported "
r"by the Freqtrade development team\. .*", caplog)