URI: 
       tinterface: small clean-up - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ab3c3c5ed74b4a1d5ab29e952f487d4141fc3d98
   DIR parent a5b3f809ce00c41bf0387d810c395ff709d09ccb
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Tue, 11 Sep 2018 22:16:30 +0200
       
       interface: small clean-up
       
       Diffstat:
         M electrum/interface.py               |      23 ++++++++++++-----------
       
       1 file changed, 12 insertions(+), 11 deletions(-)
       ---
   DIR diff --git a/electrum/interface.py b/electrum/interface.py
       t@@ -289,8 +289,9 @@ class Interface(PrintError):
                res = await self.session.send_request('blockchain.block.header', [height], timeout=timeout)
                return blockchain.deserialize_header(bytes.fromhex(res), height)
        
       -    async def request_chunk(self, idx, tip):
       -        return await self.network.request_chunk(idx, tip, self.session)
       +    async def request_chunk(self, start_height, tip):
       +        self.print_error("requesting chunk from height {}".format(start_height))
       +        return await self.network.request_chunk(start_height, tip, self.session)
        
            async def open_session(self, sslc, exit_early):
                header_queue = asyncio.Queue()
       t@@ -302,8 +303,9 @@ class Interface(PrintError):
                        raise GracefulDisconnect(e)  # probably 'unsupported protocol version'
                    if exit_early:
                        return
       -            self.print_error(ver, self.host)
       +            self.print_error("connection established. version: {}".format(ver))
                    await session.subscribe('blockchain.headers.subscribe', [], header_queue)
       +
                    async with self.group as group:
                        await group.spawn(self.ping())
                        await group.spawn(self.run_fetch_blocks(header_queue))
       t@@ -329,25 +331,25 @@ class Interface(PrintError):
                while True:
                    self.network.notify('updated')
                    item = await header_queue.get()
       -            item = item[0]
       -            height = item['height']
       -            item = blockchain.deserialize_header(bfh(item['hex']), item['height'])
       -            self.tip_header = item
       +            raw_header = item[0]
       +            height = raw_header['height']
       +            header = blockchain.deserialize_header(bfh(raw_header['hex']), height)
       +            self.tip_header = header
                    self.tip = height
                    if self.tip < constants.net.max_checkpoint():
                        raise GracefulDisconnect('server tip below max checkpoint')
                    if not self.ready.done():
                        self.mark_ready()
                    async with self.network.bhi_lock:
       -                if self.blockchain.height() < item['block_height']-1:
       +                if self.blockchain.height() < header['block_height']-1:
                            _, height = await self.sync_until(height, None)
       -                if self.blockchain.height() >= height and self.blockchain.check_header(item):
       +                if self.blockchain.height() >= height and self.blockchain.check_header(header):
                            # another interface amended the blockchain
                            self.print_error("skipping header", height)
                            continue
                        if self.tip < height:
                            height = self.tip
       -                _, height = await self.step(height, item)
       +                _, height = await self.step(height, header)
        
            async def sync_until(self, height, next_height=None):
                if next_height is None:
       t@@ -355,7 +357,6 @@ class Interface(PrintError):
                last = None
                while last is None or height < next_height:
                    if next_height > height + 10:
       -                self.print_error("requesting chunk from height {}".format(height))
                        could_connect, num_headers = await self.request_chunk(height, next_height)
                        if not could_connect:
                            if height <= constants.net.max_checkpoint():