Merge pull request #1148 from lbryio/channel-bid

Update channel balance checking to match claim balance checking
This commit is contained in:
hackrush 2018-03-17 09:05:08 +05:30 committed by GitHub
commit 1d9c996217
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 12 deletions

View file

@ -17,7 +17,7 @@ at anytime.
* `blob_announce` error when announcing a single blob * `blob_announce` error when announcing a single blob
* `blob_list` error when looking up blobs by stream or sd hash * `blob_list` error when looking up blobs by stream or sd hash
* issue#1107 whereing claiming a channel with the exact amount present in wallet would give out proper error * issue#1107 whereing claiming a channel with the exact amount present in wallet would give out proper error
* * Fix channel creation to use same bid logic as claim ([1148])(https://github.com/lbryio/lbry/pull/1148)
### Deprecated ### Deprecated
* `report_bug` jsonrpc command * `report_bug` jsonrpc command

View file

@ -1852,16 +1852,18 @@ class Daemon(AuthJSONRPCServer):
if amount <= 0: if amount <= 0:
raise Exception("Invalid amount") raise Exception("Invalid amount")
balance = yield self.session.wallet.get_max_usable_balance_for_claim(channel_name) yield self.session.wallet.update_balance()
max_bid_amount = balance - MAX_UPDATE_FEE_ESTIMATE if amount >= self.session.wallet.get_balance():
if balance <= MAX_UPDATE_FEE_ESTIMATE: balance = yield self.session.wallet.get_max_usable_balance_for_claim(channel_name)
raise InsufficientFundsError( max_bid_amount = balance - MAX_UPDATE_FEE_ESTIMATE
"Insufficient funds, please deposit additional LBC. Minimum additional LBC needed {}" if balance <= MAX_UPDATE_FEE_ESTIMATE:
.format(MAX_UPDATE_FEE_ESTIMATE - balance)) raise InsufficientFundsError(
elif amount > max_bid_amount: "Insufficient funds, please deposit additional LBC. Minimum additional LBC needed {}"
raise InsufficientFundsError( . format(MAX_UPDATE_FEE_ESTIMATE - balance))
"Please lower the bid value, the maximum amount you can specify for this claim is {}" elif amount > max_bid_amount:
.format(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) result = yield self.session.wallet.claim_new_channel(channel_name, amount)
self.analytics_manager.send_new_channel() self.analytics_manager.send_new_channel()
@ -2047,7 +2049,7 @@ class Daemon(AuthJSONRPCServer):
.format(MAX_UPDATE_FEE_ESTIMATE - balance)) .format(MAX_UPDATE_FEE_ESTIMATE - balance))
elif bid > max_bid_amount: elif bid > max_bid_amount:
raise InsufficientFundsError( 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)) .format(max_bid_amount))
metadata = metadata or {} metadata = metadata or {}