Beispiel #1
0
    def pack(self, for_digest_calculation=False):
        """Pack this object

        Args:
            for_digest_calculation (bool): True if digest calculation
        Returns:
            bytes: packed binary data
        """
        dat = bytearray()
        if not for_digest_calculation:
            dat.extend(
                bbclib_utils.to_bigint(self.asset_id, size=self.id_length))
        dat.extend(bbclib_utils.to_bigint(self.user_id, size=self.id_length))
        dat.extend(bbclib_utils.to_2byte(len(self.nonce)))
        dat.extend(self.nonce)
        dat.extend(bbclib_utils.to_4byte(self.asset_file_size))
        if self.asset_file_size > 0:
            dat.extend(bbclib_utils.to_bigint(self.asset_file_digest))
        if isinstance(self.asset_body, dict):
            dat.extend(bbclib_utils.to_2byte(1))
            astbdy = msgpack.dumps(self.asset_body)
            dat.extend(bbclib_utils.to_2byte(len(astbdy)))
            dat.extend(astbdy)
        else:
            dat.extend(bbclib_utils.to_2byte(0))
            dat.extend(bbclib_utils.to_2byte(self.asset_body_size))
            if self.asset_body_size > 0:
                dat.extend(self.asset_body)
        return bytes(dat)
Beispiel #2
0
    def pack(self):
        """Pack this object

        Returns:
            bytes: packed binary data
        """
        dat = bytearray(
            bbclib_utils.to_bigint(self.asset_group_id, size=self.id_length))
        dat.extend(bbclib_utils.to_2byte(len(self.reference_indices)))
        for i in range(len(self.reference_indices)):
            dat.extend(bbclib_utils.to_2byte(self.reference_indices[i]))
        dat.extend(bbclib_utils.to_2byte(len(self.mandatory_approvers)))
        for i in range(len(self.mandatory_approvers)):
            dat.extend(
                bbclib_utils.to_bigint(self.mandatory_approvers[i],
                                       size=self.id_length))
        dat.extend(bbclib_utils.to_2byte(self.option_approver_num_numerator))
        dat.extend(bbclib_utils.to_2byte(self.option_approver_num_denominator))
        for i in range(self.option_approver_num_denominator):
            dat.extend(
                bbclib_utils.to_bigint(self.option_approvers[i],
                                       size=self.id_length))
        ast = self.asset.pack()
        dat.extend(bbclib_utils.to_4byte(len(ast)))
        dat.extend(ast)
        return bytes(dat)
Beispiel #3
0
    def pack(self):
        """Pack this object

        Returns:
            bytes: packed binary data
        """
        dat = bytearray(bbclib_utils.to_bigint(self.domain_id))
        dat.extend(bbclib_utils.to_bigint(self.transaction_id))
        return bytes(dat)
Beispiel #4
0
    def pack(self):
        """Pack this object

        Returns:
            bytes: packed binary data
        """
        dat = bytearray(bbclib_utils.to_bigint(self.transaction_id, size=self.id_length))
        if self.asset_id is None:
            dat.extend(bbclib_utils.to_2byte(0))
        else:
            dat.extend(bbclib_utils.to_2byte(1))
            dat.extend(bbclib_utils.to_bigint(self.asset_id, size=self.id_length))
        return bytes(dat)
Beispiel #5
0
    def pack(self):
        """Pack this object

        Returns:
            bytes: packed binary data
        """
        dat = bytearray(
            bbclib_utils.to_bigint(self.asset_group_id, size=self.id_length))
        dat.extend(
            bbclib_utils.to_bigint(self.transaction_id, size=self.id_length))
        dat.extend(bbclib_utils.to_2byte(self.event_index_in_ref))
        dat.extend(bbclib_utils.to_2byte(len(self.sig_indices)))
        for i in range(len(self.sig_indices)):
            dat.extend(bbclib_utils.to_2byte(self.sig_indices[i]))
        return bytes(dat)
Beispiel #6
0
    def pack(self):
        """Pack this object

        Returns:
            bytes: packed binary data
        """
        dat = bytearray(bbclib_utils.to_2byte(len(self.sig_indices)))
        for i in range(len(self.sig_indices)):
            dat.extend(
                bbclib_utils.to_bigint(self.user_ids[i], size=self.id_length))
            dat.extend(bbclib_utils.to_2byte(self.sig_indices[i]))
        return bytes(dat)
Beispiel #7
0
    def pack(self):
        """Pack this object

        Returns:
            bytes: packed binary data
        """
        dat = bytearray(
            bbclib_utils.to_bigint(self.asset_group_id, size=self.id_length))
        dat.extend(bbclib_utils.to_2byte(len(self.pointers)))
        for i in range(len(self.pointers)):
            pt = self.pointers[i].pack()
            dat.extend(bbclib_utils.to_2byte(len(pt)))
            dat.extend(pt)
        if self.asset is not None:
            ast = self.asset.pack()
            dat.extend(bbclib_utils.to_4byte(len(ast)))
            dat.extend(ast)
        else:
            dat.extend(bbclib_utils.to_4byte(0))
        return bytes(dat)