UNPKG

@nori-zk/proof-conversion

Version:

Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof

94 lines (93 loc) 2.33 kB
import { Field } from 'o1js'; import { G1Affine, G2Affine } from '../ec/index.js'; import { Fp2, Fp12 } from '../towers/index.js'; import { computeLineCoeffs } from './coeffs.js'; import { AffineCache } from './precompute.js'; declare const G2Line_base: (new (value: { lambda: Fp2; neg_mu: Fp2; }) => { lambda: Fp2; neg_mu: Fp2; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ lambda: Fp2; neg_mu: Fp2; }, { lambda: { c0: bigint; c1: bigint; }; neg_mu: { c0: bigint; c1: bigint; }; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { lambda: Fp2; neg_mu: Fp2; }; } & { fromValue: (value: { lambda: Fp2 | { c0: bigint | import("o1js").AlmostForeignField; c1: bigint | import("o1js").AlmostForeignField; }; neg_mu: Fp2 | { c0: bigint | import("o1js").AlmostForeignField; c1: bigint | import("o1js").AlmostForeignField; }; }) => { lambda: Fp2; neg_mu: Fp2; }; toInput: (x: { lambda: Fp2; neg_mu: Fp2; }) => { fields?: Field[] | undefined; packed?: [Field, number][] | undefined; }; toJSON: (x: { lambda: Fp2; neg_mu: Fp2; }) => { lambda: { c0: string; c1: string; }; neg_mu: { c0: string; c1: string; }; }; fromJSON: (x: { lambda: { c0: string; c1: string; }; neg_mu: { c0: string; c1: string; }; }) => { lambda: Fp2; neg_mu: Fp2; }; empty: () => { lambda: Fp2; neg_mu: Fp2; }; }; declare class G2Line extends G2Line_base { constructor(lambda: Fp2, neg_mu: Fp2); static fromJSON(json: any): G2Line; static fromPoints(lhs: G2Affine, rhs: G2Affine): G2Line; psi(cache: AffineCache): Fp12; evaluate(p: G2Affine): Fp2; assert_is_line(t: G2Affine, q: G2Affine): void; assert_is_tangent(p: G2Affine): void; evaluate_g1(p: G1Affine): Fp2; } export { G2Line, computeLineCoeffs };