lambdaworks-groth16-ts
Version:
TypeScript bindings for LambdaWorks Groth16 SNARK prover
46 lines • 983 B
TypeScript
export type FieldElement = Uint8Array;
export type G1Point = Uint8Array;
export type G2Point = Uint8Array;
export interface Circuit {
constraints: R1CSConstraint[];
publicInputs: number;
privateInputs: number;
outputs: number;
}
export interface R1CSConstraint {
A: number[];
B: number[];
C: number[];
}
export interface Witness {
publicInputs: FieldElement[];
privateWitness: FieldElement[];
}
export interface ProvingKey {
alpha: G1Point;
beta: G2Point;
gamma: G2Point;
delta: G2Point;
ic: G1Point[];
h: G1Point[];
l: G1Point[];
}
export interface VerifyingKey {
alpha: G1Point;
beta: G2Point;
gamma: G2Point;
delta: G2Point;
gammaBeta1: G1Point;
gammaBeta2: G2Point;
ic: G1Point[];
}
export interface Proof {
a: G1Point;
b: G2Point;
c: G1Point;
}
export interface TrustedSetup {
provingKey: ProvingKey;
verifyingKey: VerifyingKey;
}
//# sourceMappingURL=types.d.ts.map