Type alias GPCProofEntryConfigCommon

GPCProofEntryConfigCommon: {
    equalsEntry?: PODEntryIdentifier;
    isMemberOf?: PODName;
    isNotMemberOf?: PODName;
    isRevealed: boolean;
    notEqualsEntry?: PODEntryIdentifier;
}

GPCProofConfig for a single generic POD entry, virtual or otherwise, specifying which features and constraints should be enabled for that entry.

Type declaration

  • Optional equalsEntry?: PODEntryIdentifier

    Indicates that this entry must be equal to another entry. The other entry is specified by a 2-part PODEntryIdentifier string used to find the entry in one of the pods in GPCProofInputs.

    Comparison in the proof circuit is based on the hash produced by podValueHash. This means values of different types can be considered equal if they are treated in the same way by circuits.

    If undefined, there is no equality constraint.

    This feature cannot be combined with notEqualsEntry or isOwnerID on the same entry (since it shares the same constraints in the circuit). Since equality constraints can be specified in either direction, you can still constrain an owner entry by specifying it on the non-owner entry.

  • Optional isMemberOf?: PODName

    Indicates a single list in which this entry must lie, which corresponds to exactly one list membership check in the circuit. This feature is optional, and if it is enabled, isNotMemberOf must be disabled, since having both enabled is equivalent to isMemberOf being checked for the set-theoretic difference of the two list. Note that if an inclusion in multiple lists is to be checked, the set-theoretic intersection of all of these lists can be formed and used as the single membership list to check.

  • Optional isNotMemberOf?: PODName

    Indicates a list in which this entry must not lie, which corresponds to exactly one list non-membership check in the circuit. This feature is optional, and if it is enabled, isMemberOf must be disabled, since having both enabled is equivalent to isMemberOf being checked for the set-theoretic difference of the two lists. Note that if an exclusion from multiple lists is to be checked, the set-theoretic union of all of these lists can be formed and used as the single non-membership list to check.

  • isRevealed: boolean

    Indicates whether this entry should be revealed in the proof. Setting this to true will result in the entry's value being included in GPCRevealedClaims, and its hash being verified in gpcVerify. Note that for signers' public keys, the absence of a config amounts to setting this to true.

  • Optional notEqualsEntry?: PODEntryIdentifier

    Indicates that this entry must not be equal to another entry. The other entry is specified by a 2-part PODEntryIdentifier string used to find the entry in one of the pods in GPCProofInputs.

    Comparison in the proof circuit is based on the hash produced by podValueHash. This means values of different types can be considered equal if they are treated in the same way by circuits.

    If undefined, there is no inequality constraint.

    This feature cannot be combined with equalsEntry or isOwnerID on the same entry (since it shares the same constraints in the circuit). Since inequality constraints can be specified in either direction, you can still constrain an owner entry by specifying it on the non-owner entry.

Generated using TypeDoc