@iden3/js-jwz
Version:
JS implementation of JWZ
50 lines (49 loc) • 1.59 kB
TypeScript
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;
}