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)