commit ab7a854f9a716192a52b179004ae9d625b9e1bd8
parent 8f00bdb0b083b0aa37c05c8a72d432b3abcffa91
Author: ThomasV <thomasv@electrum.org>
Date: Tue, 17 Apr 2018 12:58:26 +0200
fix: use remote_per_commitment_point
Diffstat:
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/lnbase.py b/lib/lnbase.py
@@ -684,6 +684,7 @@ class Peer(PrintError):
payload = await self.channel_accepted[temp_channel_id]
finally:
del self.channel_accepted[temp_channel_id]
+ remote_per_commitment_point = payload['first_per_commitment_point']
remote_funding_pubkey = payload["funding_pubkey"]
pubkeys = sorted([bh2u(funding_pubkey), bh2u(remote_funding_pubkey)])
redeem_script = transaction.multisig_script(pubkeys, 2)
@@ -699,13 +700,12 @@ class Peer(PrintError):
self.print_error('revocation_pubkey', binascii.hexlify(revocation_pubkey))
local_delayedpubkey = derive_pubkey(delayed_payment_basepoint, per_commitment_point)
self.print_error('local_delayedpubkey', binascii.hexlify(local_delayedpubkey))
- remotepubkey = derive_pubkey(remote_payment_basepoint, per_commitment_point)
+ remotepubkey = derive_pubkey(remote_payment_basepoint, remote_per_commitment_point)
self.print_error('remotepubkey', binascii.hexlify(remotepubkey))
ctn = 0
c_tx = make_commitment(
ctn,
- funding_pubkey, remote_funding_pubkey,
- remotepubkey,
+ funding_pubkey, remote_funding_pubkey, remotepubkey,
base_point, remote_payment_basepoint,
revocation_pubkey, local_delayedpubkey,
funding_tx.txid(), funding_index, funding_satoshis,
diff --git a/lib/tests/test_lnbase.py b/lib/tests/test_lnbase.py
@@ -175,6 +175,7 @@ class Test_LNBase(unittest.TestCase):
# BOLT3, Appendix E
base_secret = 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
per_commitment_secret = 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
+ revocation_basepoint_secret = 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
base_point = secret_to_pubkey(base_secret)
self.assertEqual(base_point, bfh('036d6caac248af96f6afa7f904f550253a0f3ef3f5aa2fe6838a95b216691468e2'))
per_commitment_point = secret_to_pubkey(per_commitment_secret)
@@ -183,7 +184,6 @@ class Test_LNBase(unittest.TestCase):
self.assertEqual(localpubkey, bfh('0235f2dbfaa89b57ec7b055afe29849ef7ddfeb1cefdb9ebdc43f5494984db29e5'))
localprivkey = derive_privkey(base_secret, per_commitment_point)
self.assertEqual(localprivkey, 0xcbced912d3b21bf196a766651e436aff192362621ce317704ea2f75d87e7be0f)
- revocation_basepoint_secret = 0x000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
revocation_basepoint = secret_to_pubkey(revocation_basepoint_secret)
self.assertEqual(revocation_basepoint, bfh('036d6caac248af96f6afa7f904f550253a0f3ef3f5aa2fe6838a95b216691468e2'))
revocationpubkey = derive_blinded_pubkey(revocation_basepoint, per_commitment_point)