@nori-zk/proof-conversion
Version:
Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof
83 lines (82 loc) • 2.41 kB
TypeScript
import { Field } from 'o1js';
import { FpU, FpA } from './fp.js';
declare const Fp2_base: (new (value: {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
}) => {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
}) & {
_isStruct: true;
} & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
}, {
c0: bigint;
c1: bigint;
}>, "fromFields"> & {
fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
};
} & {
fromValue: (value: {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
}) => {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
};
toInput: (x: {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
}) => {
fields?: Field[] | undefined;
packed?: [Field, number][] | undefined;
};
toJSON: (x: {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
}) => {
c0: string;
c1: string;
};
fromJSON: (x: {
c0: string;
c1: string;
}) => {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
};
empty: () => {
c0: import("o1js").AlmostForeignField;
c1: import("o1js").AlmostForeignField;
};
};
declare class Fp2 extends Fp2_base {
static zero(): Fp2;
static one(): Fp2;
assert_equals(rhs: Fp2): void;
canonical(): {
c0: import("o1js").CanonicalForeignField;
c1: import("o1js").CanonicalForeignField;
};
static fromUnreduced({ c0, c1 }: {
c0: FpU;
c1: FpU;
}): Fp2;
equals(rhs: Fp2): Field;
neg(): Fp2;
conjugate(): Fp2;
add(rhs: Fp2): Fp2;
add_fp(rhs: FpA): Fp2;
sub(rhs: Fp2): Fp2;
static sum(inputs: Fp2[], operators: (-1 | 1)[]): Fp2;
mul_by_fp(rhs: FpA): Fp2;
mul_by_non_residue(): Fp2;
mul(rhs: Fp2): Fp2;
square(): Fp2;
inverse(): Fp2;
static loadFromJson(json: any): Fp2;
}
export { Fp2 };