Interface IZkProofVerifier
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
circuitHashstring
Returns
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
requestZkProofRequestctCancellationToken