URI: 
       tdo not store merkle root before verification succeeded. keep it in requested_merkle for the session - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 247f4944a6ed1f53ef59557b3040871ae5e2704d
   DIR parent 4f56cda0c31ac4deb170881e718735d10435cde7
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Fri, 15 Aug 2014 23:30:55 +0200
       
       do not store merkle root before verification succeeded. keep it in requested_merkle for the session
       
       Diffstat:
         M lib/verifier.py                     |       8 +++-----
       
       1 file changed, 3 insertions(+), 5 deletions(-)
       ---
   DIR diff --git a/lib/verifier.py b/lib/verifier.py
       t@@ -129,22 +129,20 @@ class TxVerifier(threading.Thread):
                    if method == 'blockchain.transaction.get_merkle':
                        tx_hash = params[0]
                        self.verify_merkle(tx_hash, result)
       -                requested_merkle.remove(tx_hash)
        
        
            def verify_merkle(self, tx_hash, result):
                tx_height = result.get('block_height')
                pos = result.get('pos')
       -        self.merkle_roots[tx_hash] = self.hash_merkle_root(result['merkle'], tx_hash, pos)
       +        merkle_root = self.hash_merkle_root(result['merkle'], tx_hash, pos)
                header = self.network.get_header(tx_height)
                if not header: return
       -        if header.get('merkle_root') != self.merkle_roots[tx_hash]:
       +        if header.get('merkle_root') != merkle_root:
                    print_error("merkle verification failed for", tx_hash)
       -            print_error(header)
       -            print_error(result)
                    return
        
                # we passed all the tests
       +        self.merkle_roots[tx_hash] = merkle_root
                timestamp = header.get('timestamp')
                with self.lock:
                    self.verified_tx[tx_hash] = (tx_height, timestamp, pos)