diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py index b40b01dfd..9e8a92f16 100644 --- 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 index 4551b7d49..8e8a7e5b5 100644 --- 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']