Mercurial > public > bitcaviar-plus
diff src/bitcaviar_plus/block.py @ 19:905b6fdc5e1b
handle invalid magic bytes
author | Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com> |
---|---|
date | Wed, 10 Nov 2021 11:37:44 +0100 |
parents | 6a0a8cce058e |
children | 32061555853c |
line wrap: on
line diff
--- a/src/bitcaviar_plus/block.py Thu Nov 04 10:31:29 2021 +0100 +++ b/src/bitcaviar_plus/block.py Wed Nov 10 11:37:44 2021 +0100 @@ -1,6 +1,7 @@ from bitcaviar_plus.block_structure import * from bitcaviar_plus.helpers import __get_var_int from bitcaviar_plus.helpers import __compute_hash +from bitcaviar_plus.errors import InvalidMagicBytes """ Deserialize methods @@ -16,6 +17,10 @@ block = Block() block.magic_number = f.read(4).hex() + + if block.magic_number != 'f9beb4d9': + raise InvalidMagicBytes(block.magic_number) + block.size = f.read(4)[::-1].hex() block_header, block.id = __deserialize_header(f) block.transaction_count = __get_var_int(f)