tlnpeer: do not assume our privkey is the same as lnworker's privkey. - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit d2a58a2ec3682daea6a1f248eb7a543e2bad47fa
 (DIR) parent 55d0a9587ec1dbadbecd6b97662bda0a84cee565
 (HTM) Author: ThomasV <thomasv@electrum.org>
       Date:   Mon,  6 Apr 2020 19:06:27 +0200
       
       lnpeer: do not assume our privkey is the same as lnworker's privkey.
       
       Diffstat:
         M electrum/lnpeer.py                  |       2 +-
         M electrum/tests/test_lnpeer.py       |      11 ++++++-----
       
       2 files changed, 7 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py
       t@@ -75,7 +75,7 @@ class Peer(Logger):
                self.transport = transport
                self.pubkey = pubkey  # remote pubkey
                self.lnworker = lnworker
       -        self.privkey = lnworker.node_keypair.privkey  # local privkey
       +        self.privkey = self.transport.privkey  # local privkey
                self.features = self.lnworker.features
                self.node_ids = [self.pubkey, privkey_to_pubkey(self.privkey)]
                self.network = lnworker.network
 (DIR) diff --git a/electrum/tests/test_lnpeer.py b/electrum/tests/test_lnpeer.py
       t@@ -173,16 +173,17 @@ class NoFeaturesTransport(MockTransport):
                    self.queue.put_nowait(encode_msg('init', lflen=1, gflen=1, localfeatures=b"\x00", globalfeatures=b"\x00"))
        
        class PutIntoOthersQueueTransport(MockTransport):
       -    def __init__(self, name):
       +    def __init__(self, keypair, name):
                super().__init__(name)
                self.other_mock_transport = None
       +        self.privkey = keypair.privkey
        
            def send_bytes(self, data):
                self.other_mock_transport.queue.put_nowait(data)
        
       -def transport_pair(name1, name2):
       -    t1 = PutIntoOthersQueueTransport(name1)
       -    t2 = PutIntoOthersQueueTransport(name2)
       +def transport_pair(k1, k2, name1, name2):
       +    t1 = PutIntoOthersQueueTransport(k1, name1)
       +    t2 = PutIntoOthersQueueTransport(k2, name2)
            t1.other_mock_transport = t2
            t2.other_mock_transport = t1
            return t1, t2
       t@@ -205,7 +206,7 @@ class TestPeer(ElectrumTestCase):
        
            def prepare_peers(self, alice_channel, bob_channel):
                k1, k2 = keypair(), keypair()
       -        t1, t2 = transport_pair(alice_channel.name, bob_channel.name)
       +        t1, t2 = transport_pair(k2, k1, alice_channel.name, bob_channel.name)
                q1, q2 = asyncio.Queue(), asyncio.Queue()
                w1 = MockLNWallet(k1, k2, alice_channel, tx_queue=q1)
                w2 = MockLNWallet(k2, k1, bob_channel, tx_queue=q2)