Type alias GPCRevealedClaims

GPCRevealedClaims: {
    membershipLists?: PODMembershipLists;
    owner?: GPCRevealedOwnerClaims;
    pods: Record<PODName, GPCRevealedObjectClaims>;
    watermark?: PODValue;
}

Contains the public data revealed in a GPC proof. These are redacted or derived from GPCProofInputs. GPC inputs and claims tend to differ for each proof, as opposed to configuration (see GPCBoundConfig which tends to be fixed and reusable.

The purpose of this type is to describe the proof to users and to other code, and to serve as input to gpcVerify, so it can verify that the proof is valid and matches the claims.

See the documentation of the various fields and subtypes for more details.

Type declaration

  • Optional membershipLists?: PODMembershipLists
  • Optional owner?: GPCRevealedOwnerClaims

    Revealed information about the owner specified in the proof, if any.

    The owner's identity is never directly revealed. Instead if a nullifier was calcluated, the information required to interpret it is included here.

    The owner's identity may also be linked to individual entries of each POD, but this is optional as specified in configuration. The presence or absence of this field is unaffected by the entry configuration.

  • pods: Record<PODName, GPCRevealedObjectClaims>

    Redacted set of information revealed about each of the POD objects included in the proof.

    The names assigned here are used to link these objects back to their configuration in GPCProofConfig. The names are not cryptographically verified, but merely a convenience for configuration.

  • Optional watermark?: PODValue

    If this field is set, it matches the corresponding field in GPCProofInputs. This allows identifying a proof as tied to a specific use case, to avoid reuse. Unlike a nullifier, this watermark is not cryptographically tied to any specific input data.

    This field can be a PODValue of any type, and will be represented in the circuit as a number or a hash as appropriate. When the proof is verified, the watermark is also verified (as a public input).

Generated using TypeDoc