forked from LBRYCommunity/lbry-sdk
update channel balance checking to match claim
Simple balance check before calling get_max_usable_balance_for_claim - matches what happens on the claim. Also provide clearer error message about maximum amount
This commit is contained in:
parent
80fcb760b7
commit
b218e84d29
1 changed files with 14 additions and 12 deletions
|
@ -1851,17 +1851,19 @@ class Daemon(AuthJSONRPCServer):
|
|||
raise Exception("Invalid channel name")
|
||||
if amount <= 0:
|
||||
raise Exception("Invalid amount")
|
||||
|
||||
balance = yield self.session.wallet.get_max_usable_balance_for_claim(channel_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 amount > max_bid_amount:
|
||||
raise InsufficientFundsError(
|
||||
"Please lower the bid value, the maximum amount you can specify for this claim is {}"
|
||||
.format(max_bid_amount))
|
||||
|
||||
yield self.session.wallet.update_balance()
|
||||
if amount >= self.session.wallet.get_balance():
|
||||
balance = yield self.session.wallet.get_max_usable_balance_for_claim(channel_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 amount > max_bid_amount:
|
||||
raise InsufficientFundsError(
|
||||
"Please lower the bid value, the maximum amount you can specify for this channel is {}"
|
||||
.format(max_bid_amount))
|
||||
|
||||
result = yield self.session.wallet.claim_new_channel(channel_name, amount)
|
||||
self.analytics_manager.send_new_channel()
|
||||
|
@ -2047,7 +2049,7 @@ class Daemon(AuthJSONRPCServer):
|
|||
.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."
|
||||
"Please lower the bid value, the maximum amount you can specify for this claim is {}."
|
||||
.format(max_bid_amount))
|
||||
|
||||
metadata = metadata or {}
|
||||
|
|
Loading…
Reference in a new issue