do not request merkle root for unconfirmed transactions

This commit is contained in:
thomasv 2012-10-29 09:31:42 +01:00
parent ea7dabe640
commit cdb52c30d2
3 changed files with 11 additions and 9 deletions

View File

@ -437,7 +437,9 @@ class ElectrumWindow(QMainWindow):
if tx['height']:
conf = self.wallet.verifier.get_confirmations(tx_hash)
time_str = datetime.datetime.fromtimestamp( tx['timestamp']).isoformat(' ')[:-3]
if conf < 6:
if conf == 0:
icon = QIcon(":icons/unconfirmed.png")
elif conf < 6:
icon = QIcon(":icons/clock%d.png"%conf)
else:
icon = QIcon(":icons/confirmed.png")

View File

@ -46,8 +46,10 @@ class WalletVerifier(threading.Thread):
def get_confirmations(self, tx):
""" return the number of confirmations of a monitored transaction. """
with self.lock:
assert tx in self.transactions
return (self.local_height - self.verified_tx[tx] + 1) if tx in self.verified_tx else 0
if tx in self.transactions:
return (self.local_height - self.verified_tx[tx] + 1) if tx in self.verified_tx else 0
else:
return 0
def add(self, tx):
""" add a transaction to the list of monitored transactions. """

View File

@ -519,13 +519,15 @@ class Wallet:
tx_hash = tx['tx_hash']
line = self.tx_history.get(tx_hash)
if not line:
if self.verifier: self.verifier.add(tx_hash)
self.tx_history[tx_hash] = copy.copy(tx)
line = self.tx_history.get(tx_hash)
else:
line['value'] += tx['value']
if line['height'] == 0:
line['timestamp'] = 1e12
else:
if self.verifier: self.verifier.add(tx_hash)
self.update_tx_labels()
def update_tx_labels(self):
@ -816,11 +818,7 @@ class Wallet:
def set_verifier(self, verifier):
self.verifier = verifier
with self.lock:
for tx in self.tx_history.keys():
self.verifier.add(tx)
self.update_tx_history()