UNPKG

@iden3/js-jwz

Version:

JS implementation of JWZ

50 lines (49 loc) 1.59 kB
import { ZKProof, ProvingMethod, ProofInputsPreparerHandlerFunc } from './proving'; export declare enum Header { Type = "typ", Alg = "alg", CircuitId = "circuitId", Critical = "crit" } export interface IRawJSONWebZeroknowledge { payload: Uint8Array; protectedHeaders: Uint8Array; header: { [key: string]: unknown; }; zkp: Uint8Array; sanitized(): Promise<Token>; } export declare class RawJSONWebZeroknowledge implements IRawJSONWebZeroknowledge { payload: Uint8Array; protectedHeaders: Uint8Array; header: { [key: string]: unknown; }; zkp: Uint8Array; constructor(payload: Uint8Array, protectedHeaders: Uint8Array, header: { [key: string]: unknown; }, zkp: Uint8Array); sanitized(): Promise<Token>; } export declare class Token { readonly method: ProvingMethod; private readonly inputsPreparer?; alg: string; circuitId: string; private raw; zkProof: ZKProof; constructor(method: ProvingMethod, payload: string, inputsPreparer?: ProofInputsPreparerHandlerFunc | undefined); setHeader(key: string, value: unknown): void; getPayload(): string; private getDefaultHeaders; static parse(tokenStr: string): Promise<Token>; private static parseCompact; private static parseFull; prove(provingKey: Uint8Array, wasm: Uint8Array): Promise<string>; compactSerialize(): string; fullSerialize(): string; getMessageHash(): Promise<Uint8Array>; verify(verificationKey: Uint8Array): Promise<boolean>; serializeHeaders(): string; }