def parse(self, raw_data): deserializer = Deserializer(raw_data) self.timestamp = deserializer.parse_u32() hash_count = deserializer.parse_u16() self.prev_hashes = [] for i in range(0, hash_count): prev_hash = deserializer.read_and_move(32) self.prev_hashes.append(prev_hash) system_tx_count = deserializer.parse_u8() self.system_txs = [] for i in range(0, system_tx_count): tx = TransactionParser.parse( deserializer.data ) # TODO: (is) Better to deserialize passing deserializer directly self.system_txs.append(tx) deserializer.read_and_move(tx.get_len() + 1) # one byte for type payment_tx_count = deserializer.parse_u8() self.payment_txs = [] for i in range(0, payment_tx_count): tx = TransactionParser.parse( deserializer.data ) # TODO: (is) Better to deserialize passing deserializer directly self.payment_txs.append(tx) deserializer.read_and_move(tx.get_len() + 1) # one byte for type
def parse(self, raw_data): deserializer = Deserializer(raw_data) self.signature = deserializer.parse_signature() self.pubkey_index = deserializer.parse_u32() self.pieces = [] pieces_len = deserializer.parse_u16() for _ in range(0, pieces_len): piece_size = deserializer.parse_u8() piece = deserializer.read_and_move(piece_size) self.pieces.append(piece) self.len = deserializer.get_len()
def parse(self, raw_data): deserializer = Deserializer(raw_data) self.amount = deserializer.parse_u16() self.pubkey = deserializer.parse_pubkey() self.signature = deserializer.parse_signature() self.len = deserializer.len