tCLI: use funding_point in channel_open and channel_close. add host:port to nodeid - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit d383573bc39431f865d83f8e574e7f13e7f15019
 (DIR) parent 0924503cb67a55abac2b576d00db4d02b097c461
 (HTM) Author: ThomasV <thomasv@electrum.org>
       Date:   Fri,  1 Feb 2019 15:27:50 +0100
       
       CLI: use funding_point in channel_open and channel_close. add host:port to nodeid
       
       Diffstat:
         M electrum/commands.py                |      13 ++++++++-----
         M electrum/lnworker.py                |       8 ++++++--
       
       2 files changed, 14 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/electrum/commands.py b/electrum/commands.py
       t@@ -49,6 +49,7 @@ from .address_synchronizer import TX_HEIGHT_LOCAL
        from .import lightning
        from .mnemonic import Mnemonic
        from .lnutil import SENT, RECEIVED
       +from .lnbase import channel_id_from_funding_tx
        
        if TYPE_CHECKING:
            from .network import Network
       t@@ -789,12 +790,13 @@ class Commands:
                # using requested_amount because it is documented in param_descriptions
                return self.lnworker.add_invoice(satoshis(requested_amount), message)
        
       -    @command('wn')
       +    @command('w')
            def nodeid(self):
       -        return bh2u(self.lnworker.node_keypair.pubkey)
       +        listen_addr = self.config.get('lightning_listen')
       +        return bh2u(self.lnworker.node_keypair.pubkey) + (('@' + listen_addr) if listen_addr else '')
        
            @command('w')
       -    def listchannels(self):
       +    def list_channels(self):
                return list(self.lnworker.list_channels())
        
            @command('wn')
       t@@ -833,8 +835,9 @@ class Commands:
                return self.lnworker.get_history()
        
            @command('wn')
       -    def closechannel(self, channel_point, force=False):
       -        chan_id = bytes(reversed(bfh(channel_point)))
       +    def close_channel(self, channel_point, force=False):
       +        txid, index = channel_point.split(':')
       +        chan_id, _ = channel_id_from_funding_tx(txid, int(index))
                coro = self.lnworker.force_close_channel(chan_id) if force else self.lnworker.close_channel(chan_id)
                return self.network.run_from_another_thread(coro)
        
 (DIR) diff --git a/electrum/lnworker.py b/electrum/lnworker.py
       t@@ -444,7 +444,7 @@ class LNWorker(PrintError):
                coro = self._open_channel_coroutine(peer, local_amt_sat, push_amt_sat, password)
                f = asyncio.run_coroutine_threadsafe(coro, self.network.asyncio_loop)
                chan = f.result(timeout)
       -        return bh2u(chan.node_id)
       +        return chan.funding_outpoint.to_str()
        
            def pay(self, invoice, amount_sat=None):
                """
       t@@ -798,7 +798,11 @@ class LNWorker(PrintError):
                        addr = addr[1:-1]
                    async def cb(reader, writer):
                        t = LNResponderTransport(self.node_keypair.privkey, reader, writer)
       -                node_id = await t.handshake()
       +                try:
       +                    node_id = await t.handshake()
       +                except:
       +                    self.print_error('handshake failure from incoming connection')
       +                    return
                        # FIXME extract host and port from transport
                        peer = Peer(self, LNPeerAddr("bogus", 1337, node_id),
                                    request_initial_sync=self.config.get("request_initial_sync", True),