@nori-zk/proof-conversion
Version:
Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof
197 lines (196 loc) • 4.64 kB
TypeScript
import { Fp2 } from './fp2.js';
import { Fp6 } from './fp6.js';
type Fp12Type = {
g00: string;
g01: string;
g10: string;
g11: string;
g20: string;
g21: string;
h00: string;
h01: string;
h10: string;
h11: string;
h20: string;
h21: string;
};
declare const Fp12_base: (new (value: {
c0: Fp6;
c1: Fp6;
}) => {
c0: Fp6;
c1: Fp6;
}) & {
_isStruct: true;
} & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
c0: Fp6;
c1: Fp6;
}, {
c0: {
c0: {
c0: bigint;
c1: bigint;
};
c1: {
c0: bigint;
c1: bigint;
};
c2: {
c0: bigint;
c1: bigint;
};
};
c1: {
c0: {
c0: bigint;
c1: bigint;
};
c1: {
c0: bigint;
c1: bigint;
};
c2: {
c0: bigint;
c1: bigint;
};
};
}>, "fromFields"> & {
fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
c0: Fp6;
c1: Fp6;
};
} & {
fromValue: (value: {
c0: Fp6 | {
c0: Fp2 | {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
};
c1: Fp2 | {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
};
c2: Fp2 | {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
};
};
c1: Fp6 | {
c0: Fp2 | {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
};
c1: Fp2 | {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
};
c2: Fp2 | {
c0: bigint | import("o1js").AlmostForeignField;
c1: bigint | import("o1js").AlmostForeignField;
};
};
}) => {
c0: Fp6;
c1: Fp6;
};
toInput: (x: {
c0: Fp6;
c1: Fp6;
}) => {
fields?: import("o1js").Field[] | undefined;
packed?: [import("o1js").Field, number][] | undefined;
};
toJSON: (x: {
c0: Fp6;
c1: Fp6;
}) => {
c0: {
c0: {
c0: string;
c1: string;
};
c1: {
c0: string;
c1: string;
};
c2: {
c0: string;
c1: string;
};
};
c1: {
c0: {
c0: string;
c1: string;
};
c1: {
c0: string;
c1: string;
};
c2: {
c0: string;
c1: string;
};
};
};
fromJSON: (x: {
c0: {
c0: {
c0: string;
c1: string;
};
c1: {
c0: string;
c1: string;
};
c2: {
c0: string;
c1: string;
};
};
c1: {
c0: {
c0: string;
c1: string;
};
c1: {
c0: string;
c1: string;
};
c2: {
c0: string;
c1: string;
};
};
}) => {
c0: Fp6;
c1: Fp6;
};
empty: () => {
c0: Fp6;
c1: Fp6;
};
};
declare class Fp12 extends Fp12_base {
static zero(): Fp12;
static one(): Fp12;
neg(): Fp12;
conjugate(): Fp12;
assert_equals(rhs: Fp12): void;
inverse(): Fp12;
mul(rhs: Fp12): Fp12;
sparse_mul(rhs: Fp12): Fp12;
square(): Fp12;
frobenius_pow_p(): Fp12;
frobenius_pow_p_with_gammas(gamma_1s: Array<Fp2>): Fp12;
frobenius_pow_p_squared(): Fp12;
frobenius_pow_p_squared_with_gammas(gamma_2s: Array<Fp2>): Fp12;
frobenius_pow_p_cubed(): Fp12;
frobenius_pow_p_cubed_with_gammas(gamma_3s: Array<Fp2>): Fp12;
pow(expBeWnaf: Array<number>): Fp12;
exp_e(): Fp12;
display(name: string): void;
toJSON(): string;
static loadFromJSON(json: Fp12Type): Fp12;
}
export { Fp12, Fp12Type };