The POD PCD enables the verification that a specific set of POD entries has been signed with an EdDSA private key. The PODPCDClaim contains the entries and public key, while the PODPCDProof contains the signature.

All operations are coordinated via a POD object available as pcd.pod. This object generates derived data (such as the Merkle tree and content ID) lazily as needed.

Note that a POD PCD is not intended to be mutable. The POD object is not updated after the PCD is proven or deserialized.

Implements

Constructors

Properties

Accessors

Constructors

  • Create a PCD to encapsulate the given ID and POD object.

    Parameters

    • id: string
    • pod: POD

    Returns PODPCD

Properties

_pod: POD

Information encoded in this PCD that is intended to be consumed by the business logic of some application. For example, a type of PCD that could exist is one that is able to prove that its creator knows the prime factorization of a really big number. In that case, the really big number would be the claim, and a ZK proof of its prime factorization would go in the PCD#proof.

id: string

Uniquely identifies this instance. Zupass cannot have more than one PCD with the same id. In practice this is often a UUID generated by the PCDPackage#prove function.

A cryptographic or mathematical proof of the PCD#claim.

type: string = PODPCDTypeName

Refers to PCDPackage#name - each PCD must come from a particular PCDPackage. By convention, this is a string like 'semaphore-identity-pcd', or 'rsa-ticket-pcd'. These type names are intended to be globally unique - i.e. no two distinct PCD types should have the same type name.

Accessors

  • get pod(): POD
  • Gets a POD object for manipulating this PCD's content.

    Returns POD

Generated using TypeDoc