async def presentProof(self, proofRequest: ProofRequest) -> FullProof:
        """
        Presents a proof to the verifier.

        :param proofRequest: description of a proof to be presented (revealed
        attributes, predicates, timestamps for non-revocation)
        :return: a proof (both primary and non-revocation) and revealed attributes (initial non-encoded values)
        """
        claims, requestedProof = await self._findClaims(proofRequest)
        proof = await self._prepareProof(claims, proofRequest.nonce, requestedProof)
        return proof
Presents a proof to the verifier.

        :param proofRequest: description of a proof to be presented (revealed
        attributes, predicates, timestamps for non-revocation)
        :return: a proof (both primary and non-revocation) and revealed attributes (initial non-encoded values)