Skip to content

Commit bcf3448

Browse files
committed
Add merkleblock wire message
1 parent b578fce commit bcf3448

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

bitcoin/messages.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,26 @@ def __repr__(self):
386386
return "msg_block(block=%s)" % (repr(self.block))
387387

388388

389+
class msg_merkleblock(MsgSerializable):
390+
command = b"merkleblock"
391+
392+
def __init__(self, protover=PROTO_VERSION):
393+
super(msg_merkleblock, self).__init__(protover)
394+
self.block = CMerkleBlock()
395+
396+
@classmethod
397+
def msg_deser(cls, f, protover=PROTO_VERSION):
398+
c = cls()
399+
c.block = CMerkleBlock.stream_deserialize(f)
400+
return c
401+
402+
def msg_ser(self, f):
403+
self.block.stream_serialize(f)
404+
405+
def __repr__(self):
406+
return "msg_merkleblock(header=%s)" % (repr(self.block.get_header()))
407+
408+
389409
class msg_getaddr(MsgSerializable):
390410
command = b"getaddr"
391411

@@ -511,6 +531,7 @@ def __repr__(self):
511531
'msg_headers',
512532
'msg_tx',
513533
'msg_block',
534+
'msg_merkleblock',
514535
'msg_getaddr',
515536
'msg_ping',
516537
'msg_pong',

bitcoin/tests/test_messages.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
from bitcoin.messages import msg_version, msg_verack, msg_addr, msg_alert, \
1515
msg_inv, msg_getdata, msg_getblocks, msg_getheaders, msg_headers, msg_tx, \
16-
msg_block, msg_getaddr, msg_ping, msg_pong, msg_mempool, MsgSerializable, \
16+
msg_block, msg_merkleblock, msg_getaddr, msg_ping, msg_pong, msg_mempool, MsgSerializable, \
1717
msg_notfound, msg_reject
1818

1919
import sys
@@ -92,6 +92,11 @@ def test_serialization(self):
9292
super(Test_msg_block, self).serialization_test(msg_block)
9393

9494

95+
class Test_msg_merkleblock(MessageTestCase):
96+
def test_serialization(self):
97+
super(Test_msg_merkleblock, self).serialization_test(msg_merkleblock)
98+
99+
95100
class Test_msg_getaddr(MessageTestCase):
96101
def test_serialization(self):
97102
super(Test_msg_getaddr, self).serialization_test(msg_getaddr)

0 commit comments

Comments
 (0)