Пример #1
0
    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()
Пример #3
0
 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