URI: 
       tdo not request merkle root for unconfirmed transactions - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit cdb52c30d286c4829008e8765b995464624354fa
   DIR parent ea7dabe640a836924dcbc7dd7099952bab26e3ba
  HTML Author: thomasv <thomasv@gitorious>
       Date:   Mon, 29 Oct 2012 09:31:42 +0100
       
       do not request merkle root for unconfirmed transactions
       
       Diffstat:
         M lib/gui_qt.py                       |       4 +++-
         M lib/verifier.py                     |       6 ++++--
         M lib/wallet.py                       |      10 ++++------
       
       3 files changed, 11 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/lib/gui_qt.py b/lib/gui_qt.py
       t@@ -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")
   DIR diff --git a/lib/verifier.py b/lib/verifier.py
       t@@ -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. """
   DIR diff --git a/lib/wallet.py b/lib/wallet.py
       t@@ -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):
       t@@ -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()