def unpack(self, data): """unpack into this object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 data_size = len(data) try: ptr, self.asset_group_id = bbclib_utils.get_bigint(ptr, data) ptr, self.transaction_id = bbclib_utils.get_bigint(ptr, data) ptr, self.event_index_in_ref = bbclib_utils.get_n_byte_int( ptr, 2, data) ptr, signum = bbclib_utils.get_n_byte_int(ptr, 2, data) self.sig_indices = [] for i in range(signum): ptr, idx = bbclib_utils.get_n_byte_int(ptr, 2, data) self.sig_indices.append(idx) if ptr > data_size: return False except: return False return True
def unpack(self, data): """Unpack into this object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 try: ptr, self.domain_id = bbclib_utils.get_bigint(ptr, data) ptr, self.transaction_id = bbclib_utils.get_bigint(ptr, data) except: return False return True
def unpack(self, data): """Unpack into this object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 data_size = len(data) try: ptr, signum = bbclib_utils.get_n_byte_int(ptr, 2, data) self.user_ids = list() self.sig_indices = list() for i in range(signum): ptr, uid = bbclib_utils.get_bigint(ptr, data) self.user_ids.append(uid) ptr, idx = bbclib_utils.get_n_byte_int(ptr, 2, data) self.sig_indices.append(idx) if ptr > data_size: return False self.transaction.set_sig_index(uid[:self.id_length], idx) except: return False return True
def unpack(self, data): """Unpack data into transaction object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 data_size = len(data) try: ptr, self.asset_group_id = bbclib_utils.get_bigint(ptr, data) ptr, pt_num = bbclib_utils.get_n_byte_int(ptr, 2, data) self.pointers = list() for i in range(pt_num): ptr, size = bbclib_utils.get_n_byte_int(ptr, 2, data) ptr, ptdata = bbclib_utils.get_n_bytes(ptr, size, data) if ptr >= data_size: return False pt = BBcPointer() if not pt.unpack(ptdata): return False self.pointers.append(pt) self.asset = None ptr, astsize = bbclib_utils.get_n_byte_int(ptr, 4, data) if astsize > 0: self.asset = BBcAsset(id_length=self.id_length) ptr, astdata = bbclib_utils.get_n_bytes(ptr, astsize, data) if not self.asset.unpack(astdata): return False except: return False return True
def unpack(self, data): """Unpack into this object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 try: ptr, self.transaction_id = bbclib_utils.get_bigint(ptr, data) ptr, num = bbclib_utils.get_n_byte_int(ptr, 2, data) if num == 1: ptr, self.asset_id = bbclib_utils.get_bigint(ptr, data) else: self.asset_id = None except: return False return True
def unpack(self, data): """Unpack into this object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 data_size = len(data) try: ptr, self.asset_group_id = bbclib_utils.get_bigint(ptr, data) ptr, ref_num = bbclib_utils.get_n_byte_int(ptr, 2, data) self.reference_indices = [] for i in range(ref_num): ptr, idx = bbclib_utils.get_n_byte_int(ptr, 2, data) self.reference_indices.append(idx) if ptr >= data_size: return False ptr, appr_num = bbclib_utils.get_n_byte_int(ptr, 2, data) self.mandatory_approvers = [] for i in range(appr_num): ptr, appr = bbclib_utils.get_bigint(ptr, data) self.mandatory_approvers.append(appr) if ptr >= data_size: return False ptr, self.option_approver_num_numerator = bbclib_utils.get_n_byte_int( ptr, 2, data) ptr, self.option_approver_num_denominator = bbclib_utils.get_n_byte_int( ptr, 2, data) self.option_approvers = [] for i in range(self.option_approver_num_denominator): ptr, appr = bbclib_utils.get_bigint(ptr, data) self.option_approvers.append(appr) if ptr >= data_size: return False ptr, astsize = bbclib_utils.get_n_byte_int(ptr, 4, data) ptr, astdata = bbclib_utils.get_n_bytes(ptr, astsize, data) self.asset = BBcAsset(id_length=self.id_length) self.asset.unpack(astdata) except: return False return True
def unpack(self, data): """Unpack into this object Args: data (bytes): packed binary data Returns: bool: True if successful """ ptr = 0 try: ptr, self.asset_id = bbclib_utils.get_bigint(ptr, data) ptr, self.user_id = bbclib_utils.get_bigint(ptr, data) ptr, noncelen = bbclib_utils.get_n_byte_int(ptr, 2, data) ptr, self.nonce = bbclib_utils.get_n_bytes(ptr, noncelen, data) ptr, self.asset_file_size = bbclib_utils.get_n_byte_int( ptr, 4, data) if self.asset_file_size > 0: ptr, self.asset_file_digest = bbclib_utils.get_bigint( ptr, data) else: self.asset_file_digest = None ptr, dict_flag = bbclib_utils.get_n_byte_int(ptr, 2, data) if dict_flag != 1: ptr, self.asset_body_size = bbclib_utils.get_n_byte_int( ptr, 2, data) if self.asset_body_size > 0: ptr, self.asset_body = bbclib_utils.get_n_bytes( ptr, self.asset_body_size, data) else: ptr, sz = bbclib_utils.get_n_byte_int(ptr, 2, data) ptr, astbdy = bbclib_utils.get_n_bytes(ptr, sz, data) self.asset_body = msgpack.loads(astbdy) self.asset_body_size = len(self.asset_body) except: traceback.print_exc() return False return True