{"version":3,"sources":["../src/schema_elements.ts"],"sourcesContent":["import type { GPCBoundConfig, GPCRevealedClaims } from \"@pcd/gpc\";\nimport type { Groth16Proof } from \"snarkjs\";\nimport * as v from \"valibot\";\n\nexport const PODValueSchema = v.variant(\"type\", [\n  v.object({\n    type: v.literal(\"string\"),\n    value: v.string()\n  }),\n  v.object({\n    type: v.literal(\"int\"),\n    value: v.bigint()\n  }),\n  v.object({\n    type: v.literal(\"cryptographic\"),\n    value: v.bigint()\n  }),\n  v.object({\n    type: v.literal(\"eddsa_pubkey\"),\n    value: v.string()\n  }),\n  v.object({\n    type: v.literal(\"boolean\"),\n    value: v.boolean()\n  }),\n  v.object({\n    type: v.literal(\"date\"),\n    value: v.date()\n  }),\n  v.object({\n    type: v.literal(\"bytes\"),\n    value: v.instance(Uint8Array)\n  }),\n  v.object({\n    type: v.literal(\"null\"),\n    value: v.null()\n  })\n]);\n\nexport const PODEntriesSchema = v.record(v.string(), PODValueSchema);\n\nexport const DefinedEntrySchema = v.variant(\"type\", [\n  v.object({\n    type: v.literal(\"string\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema)),\n    isRevealed: v.optional(v.boolean()),\n    equalsEntry: v.optional(v.string())\n  }),\n  v.object({\n    type: v.literal(\"int\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema)),\n    isRevealed: v.optional(v.boolean()),\n    equalsEntry: v.optional(v.string()),\n    inRange: v.optional(\n      v.object({\n        min: v.bigint(),\n        max: v.bigint()\n      })\n    )\n  }),\n  v.object({\n    type: v.literal(\"cryptographic\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema)),\n    isRevealed: v.optional(v.boolean()),\n    equalsEntry: v.optional(v.string())\n  }),\n  v.object({\n    type: v.literal(\"eddsa_pubkey\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema)),\n    isRevealed: v.optional(v.boolean()),\n    equalsEntry: v.optional(v.string())\n  }),\n  v.object({\n    type: v.literal(\"null\")\n  }),\n  v.object({\n    type: v.literal(\"bytes\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema))\n  }),\n  v.object({\n    type: v.literal(\"date\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema)),\n    inRange: v.optional(\n      v.object({\n        min: v.bigint(),\n        max: v.bigint()\n      })\n    )\n  }),\n  v.object({\n    type: v.literal(\"boolean\"),\n    isMemberOf: v.optional(v.array(PODValueSchema)),\n    isNotMemberOf: v.optional(v.array(PODValueSchema))\n  })\n]);\n\nexport const OptionalEntrySchema = v.object({\n  type: v.literal(\"optional\"),\n  innerType: DefinedEntrySchema\n});\n\nexport const EntrySchema = v.variant(\"type\", [\n  DefinedEntrySchema,\n  OptionalEntrySchema\n]);\n\nexport const PODTupleSchema = v.object({\n  entries: v.array(v.string()),\n  isMemberOf: v.optional(v.array(v.array(PODValueSchema))),\n  isNotMemberOf: v.optional(v.array(v.array(PODValueSchema)))\n});\n\nexport const SignerPublicKeySchema = v.object({\n  isMemberOf: v.optional(v.array(v.string())),\n  isNotMemberOf: v.optional(v.array(v.string()))\n});\n\nexport const SignatureSchema = v.object({\n  isMemberOf: v.optional(v.array(v.string())),\n  isNotMemberOf: v.optional(v.array(v.string()))\n});\n\nexport const PODSchemaSchema = v.object({\n  entries: v.record(v.string(), EntrySchema),\n  tuples: v.optional(v.array(PODTupleSchema)),\n  signerPublicKey: v.optional(SignerPublicKeySchema),\n  signature: v.optional(SignatureSchema),\n  meta: v.optional(\n    v.object({\n      labelEntry: v.string()\n    })\n  )\n});\n\nexport const ProofConfigPODSchemaSchema = v.object({\n  pod: PODSchemaSchema,\n  revealed: v.optional(v.record(v.string(), v.optional(v.boolean()))),\n  owner: v.optional(\n    v.object({\n      entry: v.string(),\n      protocol: v.union([v.literal(\"SemaphoreV3\"), v.literal(\"SemaphoreV4\")])\n    })\n  )\n});\n\nexport const PodspecProofRequestSchema = v.object({\n  pods: v.record(v.string(), ProofConfigPODSchemaSchema),\n  externalNullifier: v.optional(PODValueSchema),\n  watermark: v.optional(PODValueSchema)\n});\n\nexport const ProveResultSchema = v.variant(\"success\", [\n  v.object({\n    success: v.literal(true),\n    // TODO: More specific schemas for these\n    proof: v.custom<Groth16Proof>(() => true),\n    boundConfig: v.custom<GPCBoundConfig>(() => true),\n    revealedClaims: v.custom<GPCRevealedClaims>(() => true)\n  }),\n  v.object({\n    success: v.literal(false),\n    error: v.string()\n  })\n]);\n"],"mappings":"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","names":[]}