forked from LBRYCommunity/lbry-sdk
Review fixes and additional comments in test
This commit is contained in:
parent
2368433b22
commit
3754f34f53
4 changed files with 14 additions and 19 deletions
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -26,18 +26,8 @@ at anytime.
|
|||
* `get` failing with a non-useful error message when given a uri for a channel claim
|
||||
* exception checking in several wallet unit tests
|
||||
* daemon not erring properly for non-numeric values being passed to the `bid` parameter for the `publish` method
|
||||
* `publish` command to allow updating claims with a `bid` amount higher than the wallet balance, so long as the amount is less than the wallet balance plus the bid amount of the claim being updated (https://github.com/lbryio/lbry/issues/748)
|
||||
*
|
||||
* Fixed unnecessarily verbose exchange rate error (https://github.com/lbryio/lbry/issues/984)
|
||||
* Merged two separate dht test folders into one
|
||||
* Fixed value error due to a race condition when saving to the claim cache (https://github.com/lbryio/lbry/issues/1013)
|
||||
* Fixed being unable to re-download updated content (#951)
|
||||
* Fixed sending error messages for failed api requests
|
||||
* Fixed the file manager startup being slow when handling thousands of files
|
||||
* Fixed handling decryption error for blobs encrypted with an invalid key
|
||||
* Fixed handling stream with no data blob (https://github.com/lbryio/lbry/issues/905)
|
||||
* Fixed fetching the external ip
|
||||
* Fixed API call to blob_list with --uri parameter (https://github.com/lbryio/lbry/issues/895)
|
||||
* Fixed publish command to allow updating claims with bid amount higher than wallet balance(by spending the claimtrietx coin) (https://github.com/lbryio/lbry/issues/748)
|
||||
|
||||
### Deprecated
|
||||
* `channel_list_mine`, replaced with `channel_list`
|
||||
|
|
|
@ -768,6 +768,9 @@ class Wallet(object):
|
|||
def encrypt_wallet(self, new_password, update_keyring=False):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
def get_max_usable_balance_for_claim(self, claim_name):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
def _start(self):
|
||||
return defer.fail(NotImplementedError())
|
||||
|
||||
|
@ -976,10 +979,8 @@ class LBRYumWallet(Wallet):
|
|||
lambda result: Decimal(result['confirmed']) + Decimal(result.get('unconfirmed', 0.0)))
|
||||
return d
|
||||
|
||||
@defer.inlineCallbacks
|
||||
def get_max_usable_balance_for_claim(self, claim_name):
|
||||
amt = yield self._run_cmd_as_defer_to_thread('get_max_spendable_amt_for_claim', claim_name)
|
||||
defer.returnValue(amt)
|
||||
return self._run_cmd_as_defer_to_thread('get_max_spendable_amount_for_claim', claim_name)
|
||||
|
||||
# Always create and return a brand new address
|
||||
def get_new_address(self, for_change=False, account=None):
|
||||
|
|
|
@ -93,6 +93,7 @@ CONNECTION_MESSAGES = {
|
|||
}
|
||||
|
||||
SHORT_ID_LEN = 20
|
||||
MAX_UPDATE_FEE_ESTIMATE = 0.3
|
||||
|
||||
|
||||
class IterableContainer(object):
|
||||
|
@ -2008,8 +2009,8 @@ class Daemon(AuthJSONRPCServer):
|
|||
amt = yield self.session.wallet.get_max_usable_balance_for_claim(name)
|
||||
if bid > amt:
|
||||
raise InsufficientFundsError(
|
||||
"Please lower the bid value, the max amount you can specify for this claim is {}"
|
||||
.format(amt))
|
||||
"Please lower the bid value, the maximum amount you can specify for this claim is {}"
|
||||
.format(amt - MAX_UPDATE_FEE_ESTIMATE))
|
||||
|
||||
metadata = metadata or {}
|
||||
if fee is not None:
|
||||
|
|
|
@ -37,7 +37,7 @@ test_claim_dict = {
|
|||
|
||||
|
||||
class MocLbryumWallet(LBRYumWallet):
|
||||
def __init__(self, db_dir):
|
||||
def __init__(self, db_dir, max_usable_balance=3):
|
||||
LBRYumWallet.__init__(self, SQLiteStorage(db_dir), SimpleConfig(
|
||||
{"lbryum_path": db_dir, "wallet_path": os.path.join(db_dir, "testwallet")}
|
||||
))
|
||||
|
@ -46,6 +46,7 @@ class MocLbryumWallet(LBRYumWallet):
|
|||
self.total_reserved_points = Decimal(0.0)
|
||||
self.queued_payments = defaultdict(Decimal)
|
||||
self.network = FakeNetwork()
|
||||
self._mock_max_usable_balance = max_usable_balance
|
||||
assert self.config.get_wallet_path() == os.path.join(self.db_dir, "testwallet")
|
||||
|
||||
@defer.inlineCallbacks
|
||||
|
@ -74,7 +75,9 @@ class MocLbryumWallet(LBRYumWallet):
|
|||
return defer.succeed(True)
|
||||
|
||||
def get_max_usable_balance_for_claim(self, name):
|
||||
return defer.succeed(3)
|
||||
# The amount is returned on the basis of test_point_reservation_and_claim unittest
|
||||
# Also affects test_successful_send_name_claim
|
||||
return defer.succeed(self._mock_max_usable_balance)
|
||||
|
||||
class WalletTest(unittest.TestCase):
|
||||
@defer.inlineCallbacks
|
||||
|
|
Loading…
Reference in a new issue