use callback instead of wallet.was_updated
This commit is contained in:
@@ -77,7 +77,6 @@ class Wallet:
|
||||
# not saved
|
||||
self.receipt = None # next receipt
|
||||
self.tx_history = {}
|
||||
self.was_updated = True
|
||||
self.banner = ''
|
||||
|
||||
# spv
|
||||
@@ -838,6 +837,7 @@ class WalletSynchronizer(threading.Thread):
|
||||
self.interface.register_channel('synchronizer')
|
||||
self.wallet.interface.register_callback('connected', self.wallet.init_up_to_date)
|
||||
self.wallet.interface.register_callback('connected', lambda: self.interface.send([('server.banner',[])],'synchronizer') )
|
||||
self.was_updated = True
|
||||
|
||||
def synchronize_wallet(self):
|
||||
new_addresses = self.wallet.synchronize()
|
||||
@@ -847,12 +847,12 @@ class WalletSynchronizer(threading.Thread):
|
||||
if self.interface.is_up_to_date('synchronizer'):
|
||||
if not self.wallet.up_to_date:
|
||||
self.wallet.up_to_date = True
|
||||
self.wallet.was_updated = True
|
||||
self.was_updated = True
|
||||
self.wallet.up_to_date_event.set()
|
||||
else:
|
||||
if self.wallet.up_to_date:
|
||||
self.wallet.up_to_date = False
|
||||
self.wallet.was_updated = True
|
||||
self.was_updated = True
|
||||
|
||||
|
||||
|
||||
@@ -879,9 +879,9 @@ class WalletSynchronizer(threading.Thread):
|
||||
# 1. send new requests
|
||||
self.synchronize_wallet()
|
||||
|
||||
if self.wallet.was_updated:
|
||||
if self.was_updated:
|
||||
self.interface.trigger_callback('updated')
|
||||
self.wallet.was_updated = False
|
||||
self.was_updated = False
|
||||
|
||||
# 2. get a response
|
||||
r = self.interface.get_response('synchronizer')
|
||||
@@ -900,7 +900,7 @@ class WalletSynchronizer(threading.Thread):
|
||||
elif method == 'blockchain.address.get_history':
|
||||
addr = params[0]
|
||||
self.wallet.receive_history_callback(addr, result)
|
||||
self.wallet.was_updated = True
|
||||
self.was_updated = True
|
||||
|
||||
elif method == 'blockchain.transaction.broadcast':
|
||||
self.wallet.tx_result = result
|
||||
@@ -908,13 +908,13 @@ class WalletSynchronizer(threading.Thread):
|
||||
|
||||
elif method == 'server.banner':
|
||||
self.wallet.banner = result
|
||||
self.wallet.was_updated = True
|
||||
self.was_updated = True
|
||||
|
||||
else:
|
||||
print_error("Error: Unknown message:" + method + ", " + repr(params) + ", " + repr(result) )
|
||||
|
||||
if self.wallet.was_updated:
|
||||
if self.was_updated:
|
||||
self.interface.trigger_callback('updated')
|
||||
self.wallet.was_updated = False
|
||||
self.was_updated = False
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user