{
  "version": 3,
  "sources": ["../../src/BoundWitness/BoundWitness.ts", "../../src/BoundWitness/BoundWitnessSchema.ts", "../../src/BoundWitness/Signatures.ts", "../../src/BoundWitness/BoundWitnessJsonSchema.ts", "../../src/BoundWitness/HydratedBoundWitness.ts", "../../src/BoundWitness/SignedBoundWitness.ts", "../../src/BoundWitness/UnsignedBoundWitness.ts", "../../src/QueryBoundWitness.ts"],
  "sourcesContent": ["import {\n  HashZod,\n  zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport { XyoAddressZod } from '@xyo-network/address'\nimport { PayloadZod, SchemaZod } from '@xyo-network/payload-model'\nimport * as z from 'zod/mini'\n\nimport { BoundWitnessSchema } from './BoundWitnessSchema.ts'\nimport type { SignedSignaturesMeta, UnsignedSignaturesMeta } from './Signatures.ts'\nimport { SignaturesMetaZod } from './Signatures.ts'\n\nexport const BoundWitnessRequiredFieldsZod = z.object({\n  addresses: z.array(XyoAddressZod),\n  payload_hashes: z.array(HashZod),\n  payload_schemas: z.array(SchemaZod),\n  previous_hashes: z.array(z.nullable(HashZod)),\n})\n\nexport type BoundWitnessRequiredFields = z.infer<typeof BoundWitnessRequiredFieldsZod>\n\nexport const BoundWitnessMetaZod = z.extend(\n  z.object({\n    $destination: z.optional(XyoAddressZod),\n    $sourceQuery: z.optional(HashZod),\n  }),\n  SignaturesMetaZod.shape,\n)\n\nexport type BoundWitnessMeta = z.infer<typeof BoundWitnessMetaZod>\n\nconst BoundWitnessPayloadZod = z.safeExtend(PayloadZod, { schema: z.literal(BoundWitnessSchema) })\nconst BoundWitnessWithRequiredZod = z.safeExtend(BoundWitnessPayloadZod, BoundWitnessRequiredFieldsZod.shape)\nexport const BoundWitnessZod = z.safeExtend(BoundWitnessWithRequiredZod, BoundWitnessMetaZod.shape)\n\nexport type BoundWitness = z.infer<typeof BoundWitnessZod>\n\nexport const isBoundWitness = zodIsFactory(BoundWitnessZod)\nexport const asBoundWitness = zodAsFactory(BoundWitnessZod, 'asBoundWitness')\nexport const toBoundWitness = zodToFactory(BoundWitnessZod, 'toBoundWitness')\n\nexport const AnyBoundWitnessZod = z.looseObject(BoundWitnessZod.shape)\nexport type AnyBoundWitness = z.infer<typeof AnyBoundWitnessZod>\n\nexport type Unsigned<T extends BoundWitness> = Omit<T, '$signatures'> & UnsignedSignaturesMeta\n\nexport type Signed<T extends BoundWitness> = Omit<T, '$signatures'> & SignedSignaturesMeta\n\nexport type PossiblySigned<T extends BoundWitness> = Unsigned<T> | Signed<T>\n", "import { asSchema } from '@xyo-network/payload-model'\n\nexport const BoundWitnessSchema = asSchema('network.xyo.boundwitness', true)\nexport type BoundWitnessSchema = typeof BoundWitnessSchema\n", "import { HexZod } from '@xylabs/sdk'\nimport * as z from 'zod/mini'\n\nconst signatureOrNullZod = z.union([HexZod, z.null()])\nexport const SignaturesMetaZod = z.object({ $signatures: z.array(signatureOrNullZod) })\nexport const UnsignedSignaturesMetaZod = z.object({ $signatures: z.array(z.null()) })\nexport const SignedSignaturesMetaZod = z.object({ $signatures: z.array(HexZod).check(z.minLength(1)) })\n\nexport type SignaturesMeta = z.infer<typeof SignaturesMetaZod>\nexport type UnsignedSignaturesMeta = z.infer<typeof UnsignedSignaturesMetaZod>\nexport type SignedSignaturesMeta = z.infer<typeof SignedSignaturesMetaZod>\n", "// Should type as JSONSchemaType<BoundWitness> once ajv/ESLint issue is fixed\n// https://github.com/microsoft/TypeScript/issues/44851\n\nexport const BoundWitnessJsonSchema = () => {\n  return {\n    $id: 'https://schemas.xyo.network/2.0/boundwitness',\n    additionalProperties: false,\n    properties: {\n      addresses: { items: { type: 'string' }, type: 'array' },\n      payload_hashes: { items: { type: 'string' }, type: 'array' },\n      payload_schemas: { items: { type: 'string' }, type: 'array' },\n      previous_hashes: { items: { nullable: true, type: 'string' }, type: 'array' },\n      schema: { type: 'string' },\n    },\n    required: ['addresses', 'payload_hashes', 'payload_schemas', 'previous_hashes', 'schema'],\n    type: 'object',\n  }\n}\n", "import { AnyPayloadZod } from '@xyo-network/payload-model'\nimport * as z from 'zod/mini'\n\nimport { type BoundWitness, BoundWitnessZod } from './BoundWitness.ts'\nimport { SignedBoundWitnessZod } from './SignedBoundWitness.ts'\nimport { UnsignedBoundWitnessZod } from './UnsignedBoundWitness.ts'\n\nexport function HydratedBoundWitnessZodBuilder<T extends z.core.$ZodType<BoundWitness>>(bwZod: T) {\n  return z.tuple([bwZod, z.array(AnyPayloadZod)])\n}\n\nexport const HydratedBoundWitnessZod = HydratedBoundWitnessZodBuilder(BoundWitnessZod)\n// export type HydratedBoundWitness = z.infer<typeof HydratedBoundWitnessZod>\n\nexport const SignedHydratedBoundWitnessZod = HydratedBoundWitnessZodBuilder(SignedBoundWitnessZod)\n// export type SignedHydratedBoundWitness = z.infer<typeof SignedHydratedBoundWitnessZod>\n\nexport const UnsignedHydratedBoundWitnessZod = HydratedBoundWitnessZodBuilder(UnsignedBoundWitnessZod)\n// export type UnsignedHydratedBoundWitness = z.infer<typeof UnsignedHydratedBoundWitnessZod>\n", "import * as z from 'zod/mini'\n\nimport { BoundWitnessZod } from './BoundWitness.ts'\nimport { SignedSignaturesMetaZod } from './Signatures.ts'\n\nexport const SignedBoundWitnessZod = z.extend(BoundWitnessZod, SignedSignaturesMetaZod.shape)\nexport type SignedBoundWitness = z.infer<typeof SignedBoundWitnessZod>\n\nexport const AnySignedBoundWitnessZod = z.looseObject(SignedBoundWitnessZod.shape)\nexport type AnySignedBoundWitness = z.infer<typeof AnySignedBoundWitnessZod>\n", "import * as z from 'zod/mini'\n\nimport { BoundWitnessZod } from './BoundWitness.ts'\nimport { UnsignedSignaturesMetaZod } from './Signatures.ts'\n\nexport const UnsignedBoundWitnessZod = z.extend(BoundWitnessZod, UnsignedSignaturesMetaZod.shape)\nexport type UnsignedBoundWitness = z.infer<typeof UnsignedBoundWitnessZod>\n\nexport const AnyUnsignedBoundWitnessZod = z.looseObject(UnsignedBoundWitnessZod.shape)\nexport type AnyUnsignedBoundWitness = z.infer<typeof AnyUnsignedBoundWitnessZod>\n", "import {\n  HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@xylabs/sdk'\nimport type { WithStorageMeta } from '@xyo-network/payload-model'\nimport { isStorageMeta } from '@xyo-network/payload-model'\nimport * as z from 'zod/mini'\n\nimport { BoundWitnessZod } from './BoundWitness/index.ts'\n\nexport const QueryBoundWitnessFieldsZod = z.object({\n  error_hashes: z.optional(z.array(HashZod)),\n  query: HashZod,\n})\n\nexport type QueryBoundWitnessFields = z.infer<typeof QueryBoundWitnessFieldsZod>\n\nexport const QueryBoundWitnessZod = z.safeExtend(BoundWitnessZod, QueryBoundWitnessFieldsZod.shape)\n\nexport type QueryBoundWitness = z.infer<typeof QueryBoundWitnessZod>\n\n/**\n * @deprecated Use `QueryBoundWitness` instead\n */\nexport type UnsignedQueryBoundWitness = QueryBoundWitness\n\nexport const isQueryBoundWitness = zodIsFactory(QueryBoundWitnessZod)\nexport const asQueryBoundWitness = zodAsFactory(QueryBoundWitnessZod, 'asQueryBoundWitness')\nexport const toQueryBoundWitness = zodToFactory(QueryBoundWitnessZod, 'toQueryBoundWitness')\n\nexport const isQueryBoundWitnessWithStorageMeta = (x?: unknown): x is WithStorageMeta<QueryBoundWitness> =>\n  isQueryBoundWitness(x) && isStorageMeta(x)\n"],
  "mappings": "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",
  "names": ["z", "z", "z", "z", "HashZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "HashZod", "zodIsFactory", "zodAsFactory", "zodToFactory"]
}
