Table of Contents

Interface IZkProofVerifier

Namespace
Tessio.Verifier.Core.Mdoc
Assembly
Tessio.Verifier.Core.Mdoc.dll

Checks the proof of a zero knowledge mdoc presentation. MdocVerifier does everything else first: it reads the presentation, checks the docType, bounds the wallet's timestamp against its own clock, takes the issuer key from the document signer certificate and asks the trust seam about that certificate's chain. Only a presentation that passes all of that reaches VerifyAsync(ZkProofRequest, CancellationToken).

public interface IZkProofVerifier

Remarks

Set one on ZkProofVerifier to accept zero knowledge presentations. Without one, a response made only of them fails with ZkPresentationUnsupported. A Longfellow proof does not bind the namespace of a disclosed element, only its identifier and value, so the namespace a verified result reports is the one the presentation states.

Methods

AcceptsCircuit(string)

Whether proofs made with the circuit of this hash are accepted. The hash is lowercase hex, the last part of a zkSystemId such as longfellow-libzk-v1_6_1_4096_2945_137e….

bool AcceptsCircuit(string circuitHash)

Parameters

circuitHash string

Returns

bool

VerifyAsync(ZkProofRequest, CancellationToken)

Whether the proof verifies for these inputs. A proof that does not verify returns false.

Task<bool> VerifyAsync(ZkProofRequest request, CancellationToken ct = default)

Parameters

request ZkProofRequest
ct CancellationToken

Returns

Task<bool>