Skip to content

Commit a94e350

Browse files
committed
[test] Build v2 P2P messages
1 parent bb7bffe commit a94e350

File tree

1 file changed

+20
-9
lines changed
  • test/functional/test_framework

1 file changed

+20
-9
lines changed

test/functional/test_framework/p2p.py

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
)
8383
from test_framework.v2_p2p import (
8484
EncryptedP2PState,
85+
MSGTYPE_TO_SHORTID,
8586
SHORTID,
8687
)
8788

@@ -386,15 +387,25 @@ def build_message(self, message):
386387
"""Build a serialized P2P message"""
387388
msgtype = message.msgtype
388389
data = message.serialize()
389-
tmsg = self.magic_bytes
390-
tmsg += msgtype
391-
tmsg += b"\x00" * (12 - len(msgtype))
392-
tmsg += struct.pack("<I", len(data))
393-
th = sha256(data)
394-
h = sha256(th)
395-
tmsg += h[:4]
396-
tmsg += data
397-
return tmsg
390+
if self.supports_v2_p2p:
391+
if msgtype in SHORTID.values():
392+
tmsg = MSGTYPE_TO_SHORTID.get(msgtype).to_bytes(1, 'big')
393+
else:
394+
tmsg = b"\x00"
395+
tmsg += msgtype
396+
tmsg += b"\x00" * (12 - len(msgtype))
397+
tmsg += data
398+
return self.v2_state.v2_enc_packet(tmsg)
399+
else:
400+
tmsg = self.magic_bytes
401+
tmsg += msgtype
402+
tmsg += b"\x00" * (12 - len(msgtype))
403+
tmsg += struct.pack("<I", len(data))
404+
th = sha256(data)
405+
h = sha256(th)
406+
tmsg += h[:4]
407+
tmsg += data
408+
return tmsg
398409

399410
def _log_message(self, direction, msg):
400411
"""Logs a message being sent or received over the connection."""

0 commit comments

Comments
 (0)