electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit cdb52c30d286c4829008e8765b995464624354fa
parent ea7dabe640a836924dcbc7dd7099952bab26e3ba
Author: thomasv <thomasv@gitorious>
Date:   Mon, 29 Oct 2012 09:31:42 +0100

do not request merkle root for unconfirmed transactions

Diffstat:
Mlib/gui_qt.py | 4+++-
Mlib/verifier.py | 6++++--
Mlib/wallet.py | 10++++------
3 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/gui_qt.py b/lib/gui_qt.py @@ -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") diff --git a/lib/verifier.py b/lib/verifier.py @@ -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. """ diff --git a/lib/wallet.py b/lib/wallet.py @@ -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()