def deserialize(self, reader: BinaryReader): self.index = reader.read_int32() self.peer_pubkey = a2b_hex(reader.read_var_str()).hex() self.address = Address(reader.read_bytes(20)) self.status = reader.read_byte() self.init_pos = reader.read_int64() self.total_pos = reader.read_int64()
def deserialize(self, reader: BinaryReader): self.peer_pubkey = a2b_hex(reader.read_var_str()).hex() self.max_authorize = reader.read_int64() self.old_peerCost = reader.read_int64() self.new_peer_cost = reader.read_int64() self.set_cost_view = reader.read_int32() self.field1 = reader.read_var_bytes() self.field2 = reader.read_var_bytes() self.field3 = reader.read_var_bytes() self.field4 = reader.read_var_bytes()
def deserialize(self, reader: BinaryReader): self.peer_pubkey = a2b_hex(reader.read_var_str()).hex() self.address = Address(reader.read_bytes(20)) self.consensus_pos = reader.read_int64() self.freeze_pos = reader.read_int64() self.new_pos = reader.read_int64() self.withdraw_pos = reader.read_int64() self.withdraw_freeze_pos = reader.read_int64() self.withdraw_unfreeze_pos = reader.read_int64()
class VmReader(object): def __init__(self, bys: bytearray): self.ms = StreamManager.GetStream(bys) self.reader = BinaryReader(self.ms) self.code = bys def read_byte(self): return self.reader.read_byte() def read_bool(self): b = self.reader.read_byte() return b == 1 def read_bytes(self, count: int): return self.reader.read_bytes(count) def read_var_bytes(self): return self.reader.read_var_bytes() def read_uint16(self): return self.read_uint16() def read_uint32(self): return self.reader.read_int32() def read_uint64(self): return self.reader.read_int64() def position(self): return self.reader.stream.tell() def read_int16(self): try: res = bytearray(self.reader.read_bytes(2)) res.reverse() return int(res.hex(), 16) except Exception as e: return 0 def read_var_int(self): return self.reader.read_var_int() def seek(self, offset: int): return self.reader.stream.seek(offset)
def deserialize(self, reader: BinaryReader): self.address = Address(reader.read_bytes(20)) self.amount = reader.read_int64()
def deserialize(self, reader: BinaryReader): self.address = Address(reader.read_bytes(20)) self.stake = reader.read_int64() self.time_offset = reader.read_int32()