:param data: Data provided by the serialize method
        Example:
        msg_id = '1'
        phone_number = '8019119191'
        connection = await Connection.create(source_id)
        await connection.connect(phone_number)
        disclosed_proof = await DisclosedProof.create_with_msgid(source_id, connection, msg_id)
        data = await disclosed_proof.serialize()
        disclosed_proof2 = await DisclosedProof.deserialize(data)
        :return:  DisclosedProof

async def deserialize(data: dict):
        """
        :param data: Data provided by the serialize method
        Example:
        msg_id = '1'
        phone_number = '8019119191'
        connection = await Connection.create(source_id)
        await connection.connect(phone_number)
        disclosed_proof = await DisclosedProof.create_with_msgid(source_id, connection, msg_id)
        data = await disclosed_proof.serialize()
        disclosed_proof2 = await DisclosedProof.deserialize(data)
        :return:  DisclosedProof
        """
        disclosed_proof = await DisclosedProof._deserialize("vcx_disclosed_proof_deserialize",
                                                      json.dumps(data),
                                                      data.get('data').get('source_id'))
        return disclosed_proof