URI: 
       tMerge pull request #4402 from kyuupichan/master - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit d667c5d46e3347c05fd031169e9e4952df509d2a
   DIR parent 105101bb5c10072fffcead00ecd474bea2cb1a1e
  HTML Author: ghost43 <somber.night@protonmail.com>
       Date:   Mon,  4 Jun 2018 17:15:49 +0200
       
       Merge pull request #4402 from kyuupichan/master
       
       Subscribe to raw headers
       Diffstat:
         M lib/network.py                      |       9 ++++-----
         M scripts/block_headers               |       3 ++-
         M scripts/watch_address               |       5 ++++-
       
       3 files changed, 10 insertions(+), 7 deletions(-)
       ---
   DIR diff --git a/lib/network.py b/lib/network.py
       t@@ -711,7 +711,7 @@ class Network(util.DaemonThread):
                interface.mode = 'default'
                interface.request = None
                self.interfaces[server] = interface
       -        self.queue_request('blockchain.headers.subscribe', [], interface)
       +        self.queue_request('blockchain.headers.subscribe', [True], interface)
                if server == self.default_server:
                    self.switch_to_interface(server)
                #self.notify('interfaces')
       t@@ -983,10 +983,9 @@ class Network(util.DaemonThread):
                self.stop_network()
                self.on_stop()
        
       -    def on_notify_header(self, interface, header):
       -        height = header.get('block_height')
       -        if not height:
       -            return
       +    def on_notify_header(self, interface, header_dict):
       +        header_hex, height = header_dict['hex'], header_dict['height']
       +        header = blockchain.deserialize_header(bfh(header_hex), height)
                if height < self.max_checkpoint():
                    self.connection_down(interface.server)
                    return
   DIR diff --git a/scripts/block_headers b/scripts/block_headers
       t@@ -21,7 +21,8 @@ if not network.is_connected():
        
        # 2. send the subscription
        callback = lambda response: print_msg(json_encode(response.get('result')))
       -network.send([('blockchain.headers.subscribe',[])], callback)
       +network.send([('server.version',["block_headers script", "1.2"])], callback)
       +network.send([('blockchain.headers.subscribe',[True])], callback)
        
        # 3. wait for results
        while network.is_connected():
   DIR diff --git a/scripts/watch_address b/scripts/watch_address
       t@@ -2,6 +2,7 @@
        
        import sys
        import time
       +from electrum import bitcoin
        from electrum import SimpleConfig, Network
        from electrum.util import print_msg, json_encode
        
       t@@ -11,6 +12,8 @@ except Exception:
            print("usage: watch_address <bitcoin_address>")
            sys.exit(1)
        
       +sh = bitcoin.address_to_scripthash(addr)
       +
        # start network
        c = SimpleConfig()
        network = Network(c)
       t@@ -26,7 +29,7 @@ if not network.is_connected():
        
        # 2. send the subscription
        callback = lambda response: print_msg(json_encode(response.get('result')))
       -network.send([('blockchain.address.subscribe',[addr])], callback)
       +network.send([('blockchain.scripthash.subscribe',[sh])], callback)
        
        # 3. wait for results
        while network.is_connected():