fix verify_sig_for_channel_update: use raw message
This commit is contained in:
@@ -118,7 +118,7 @@ class Peer(PrintError):
|
|||||||
#self.print_error("Received '%s'" % message_type.upper(), payload)
|
#self.print_error("Received '%s'" % message_type.upper(), payload)
|
||||||
return
|
return
|
||||||
# raw message is needed to check signature
|
# raw message is needed to check signature
|
||||||
if message_type=='node_announcement':
|
if message_type in ['node_announcement', 'channel_update']:
|
||||||
payload['raw'] = message
|
payload['raw'] = message
|
||||||
execution_result = f(payload)
|
execution_result = f(payload)
|
||||||
if asyncio.iscoroutinefunction(f):
|
if asyncio.iscoroutinefunction(f):
|
||||||
|
|||||||
@@ -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:
|
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:]
|
pre_hash = msg_bytes[2+64:]
|
||||||
h = sha256d(pre_hash)
|
h = sha256d(pre_hash)
|
||||||
sig = chan_upd['signature']
|
sig = chan_upd['signature']
|
||||||
|
|||||||
Reference in New Issue
Block a user