commit a6469904ee422dd9e65e160b2abc0976a5ef1894
parent 407114d3cc2ceac6f2e9f430f27d5e5f1c4b3eda
Author: ThomasV <thomasv@electrum.org>
Date: Thu, 21 Mar 2019 13:35:10 +0100
fix verify_sig_for_channel_update: use raw message
Diffstat:
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py
@@ -118,7 +118,7 @@ class Peer(PrintError):
#self.print_error("Received '%s'" % message_type.upper(), payload)
return
# raw message is needed to check signature
- if message_type=='node_announcement':
+ if message_type in ['node_announcement', 'channel_update']:
payload['raw'] = message
execution_result = f(payload)
if asyncio.iscoroutinefunction(f):
diff --git a/electrum/lnverifier.py b/electrum/lnverifier.py
@@ -194,7 +194,7 @@ def verify_sigs_for_channel_announcement(msg_bytes: bytes) -> bool:
def verify_sig_for_channel_update(chan_upd: dict, node_id: bytes) -> bool:
- msg_bytes = encode_msg('channel_update', **chan_upd)
+ msg_bytes = chan_upd['raw']
pre_hash = msg_bytes[2+64:]
h = sha256d(pre_hash)
sig = chan_upd['signature']