Type alias GPCPCDArgs

GPCPCDArgs: {
    externalNullifier: StringArgument;
    id?: StringArgument;
    identity: PCDArgument<SemaphoreIdentityPCD>;
    membershipLists: StringArgument;
    pods: PODPCDRecordArg;
    proofConfig: StringArgument;
    watermark: StringArgument;
}

Defines the essential parameters required for creating a GPCPCD.

Type declaration

  • externalNullifier: StringArgument

    Optional external nullifier can be any string. It will be used (by hash) to generate a nullifier hash which is unique to the combination of this value and owner identity. This can be used to avoid duplicate actions by the same user, without revealing the user's identity.

  • Optional id?: StringArgument

    A string that uniquely identifies a GPCPCD. If this argument is not specified a random id will be generated.

    This ID is not cryptographically verified. An issuer can choose to include the ID in the watermark or external nullifier if desired, but this PCD type doesn't enforce that.

  • identity: PCDArgument<SemaphoreIdentityPCD>

    Optional secret info identifying the owner of PODs, if needed by the proof configuration. This is never revealed.

  • membershipLists: StringArgument

    Optional membership lists, if needed by the proof configuration. This is always revealed. Taken to be a JSON-serialised string for the same reasons outlined for proofConfig above.

  • pods: PODPCDRecordArg

    POD objects to prove about. Each object is identified by name in the value underlying this record container argument. These are not revealed by default, but a redacted version of their entries will become part of the claims of the resulting proof PCD, as specified by the proof config.

    See GPCProofConfig and GPCRevealedClaims for more information.

  • proofConfig: StringArgument

    A configuration object specifying the constraints to be proven. This will be part of the claims of the resulting proof PCD. See GPCProofConfig for more information.

  • watermark: StringArgument

    Optional watermark can be any string. It will be included (by hash) in the proof and cryptographically verified. This can be used to avoid reuse of the same proof.

Generated using TypeDoc