URI: 
       tlnpeer: on_channel_open should not fail on server error - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 159fe04dafc1e97bc1d983bdfc683f756d8c468e
   DIR parent e5286f7598d0fb0784bd54529e051a679642f764
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Thu, 15 Aug 2019 19:21:52 +0200
       
       lnpeer: on_channel_open should not fail on server error
       
       Diffstat:
         M electrum/lnpeer.py                  |       6 ++++--
       
       1 file changed, 4 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py
       t@@ -45,7 +45,7 @@ from .lnutil import (Outpoint, LocalConfig, RECEIVED, UpdateAddHtlc,
        from .lnutil import FeeUpdate
        from .lntransport import LNTransport, LNTransportBase
        from .lnmsg import encode_msg, decode_msg
       -from .interface import GracefulDisconnect
       +from .interface import GracefulDisconnect, NetworkException
        
        if TYPE_CHECKING:
            from .lnworker import LNWorker
       t@@ -576,6 +576,7 @@ class Peer(Logger):
                remote_sig = payload['signature']
                chan.receive_new_commitment(remote_sig, [])
                # broadcast funding tx
       +        # TODO make more robust (timeout low? server returns error?)
                await asyncio.wait_for(self.network.broadcast_transaction(funding_tx), 5)
                chan.open_with_first_pcp(remote_per_commitment_point, remote_sig)
                return chan
       t@@ -659,10 +660,11 @@ class Peer(Logger):
                self.lnworker.save_channel(chan)
                self.lnworker.lnwatcher.add_channel(chan.funding_outpoint.to_str(), chan.get_funding_address())
                self.lnworker.on_channels_updated()
       +        # TODO make more robust
                while True:
                    try:
                        funding_tx = Transaction(await self.network.get_transaction(funding_txid))
       -            except aiorpcx.jsonrpc.RPCError as e:
       +            except NetworkException as e:
                        print("sleeping", str(e))
                        await asyncio.sleep(1)
                    else: