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")
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. """
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):
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()