UNPKG

@reclaimprotocol/zk-symmetric-crypto

Version:
53 lines (52 loc) 1.93 kB
import type { EncryptionAlgorithm, FileFetch, Logger, ZKProofInput, ZKProofInputOPRF, ZKProofPublicSignals, ZKProofPublicSignalsOPRF } from '../types.ts'; export type GnarkLib = { verify: Function; free: Function; vfree: Function; prove: Function; initAlgorithm: Function; generateThresholdKeys: Function; oprfEvaluate: Function; generateOPRFRequest: Function; toprfFinalize: Function; koffi: typeof import('koffi'); }; type GnarkWitnessInput = ZKProofInput | ZKProofInputOPRF | ZKProofPublicSignals | ZKProofPublicSignalsOPRF; export declare function initGnarkAlgorithm(id: number, fileExt: string, fetcher: FileFetch, logger?: Logger): Promise<GnarkLib>; export declare function strToUint8Array(str: string): Uint8Array<ArrayBufferLike>; export declare function serialiseGnarkWitness(cipher: EncryptionAlgorithm, input: GnarkWitnessInput): Uint8Array<ArrayBufferLike>; export declare function generateGnarkWitness(cipher: EncryptionAlgorithm, input: GnarkWitnessInput): { cipher: string; key: string | undefined; ciphertext: string | undefined; blocks: { nonce: string; counter: number; boundary: number | null; }[]; input: string; toprf: { locations?: undefined; domainSeparator?: undefined; output?: undefined; responses?: undefined; mask?: undefined; } | { locations: { pos: number; len: number; }[]; domainSeparator: string; output: string; responses: { publicKeyShare: string; evaluated: string; c: string; r: string; }[]; mask: string; }; }; export declare function executeGnarkFn(fn: Function, jsonInput: string | Uint8Array): any; export declare function executeGnarkFnAndGetJson(fn: Function, jsonInput: string | Uint8Array): Promise<any>; export {};