only call get_max_usable_balance when the bid might be too high

This commit is contained in:
Jack Robison 2018-03-13 17:32:29 -04:00
parent 69ecc6ce90
commit 9b44ba7c84
No known key found for this signature in database
GPG key ID: DF25C68FE0239BB2

View file

@ -2037,16 +2037,18 @@ class Daemon(AuthJSONRPCServer):
if bid <= 0.0:
raise ValueError("Bid value must be greater than 0.0")
balance = yield self.session.wallet.get_max_usable_balance_for_claim(name)
max_bid_amount = balance - MAX_UPDATE_FEE_ESTIMATE
if balance <= MAX_UPDATE_FEE_ESTIMATE:
raise InsufficientFundsError(
"Insufficient funds, please deposit additional LBC. Minimum additional LBC needed {}"
.format(MAX_UPDATE_FEE_ESTIMATE - balance))
elif bid > max_bid_amount:
raise InsufficientFundsError(
"Please lower the bid. After accounting for the estimated fee, you only have {} left."
.format(max_bid_amount))
yield self.session.wallet.update_balance()
if bid >= self.session.wallet.get_balance():
balance = yield self.session.wallet.get_max_usable_balance_for_claim(name)
max_bid_amount = balance - MAX_UPDATE_FEE_ESTIMATE
if balance <= MAX_UPDATE_FEE_ESTIMATE:
raise InsufficientFundsError(
"Insufficient funds, please deposit additional LBC. Minimum additional LBC needed {}"
.format(MAX_UPDATE_FEE_ESTIMATE - balance))
elif bid > max_bid_amount:
raise InsufficientFundsError(
"Please lower the bid. After accounting for the estimated fee, you only have {} left."
.format(max_bid_amount))
metadata = metadata or {}
if fee is not None: