@nori-zk/proof-conversion
Version:
Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof
291 lines (290 loc) • 12.4 kB
TypeScript
import { UInt32 } from 'o1js';
import { FrC } from '../../towers/index.js';
import { FpC } from '../../towers/index.js';
import { Sp1PlonkProof } from '../proof.js';
import { Sp1PlonkVk } from '../vk.js';
declare const BytesGamma_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class BytesGamma extends BytesGamma_base {
}
declare const BytesBeta_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class BytesBeta extends BytesBeta_base {
}
declare const BytesAlpha_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class BytesAlpha extends BytesAlpha_base {
}
declare const BytesZeta_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class BytesZeta extends BytesZeta_base {
}
declare const BytesGammaKzg_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class BytesGammaKzg extends BytesGammaKzg_base {
}
declare const BytesRandomKzg_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class BytesRandomKzg extends BytesRandomKzg_base {
}
declare const Bytes32_base: typeof import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
export declare class Bytes32 extends Bytes32_base {
}
export type Sp1PlonkFiatShamirType = {
gamma_digest: Bytes32;
gamma: FrC;
beta_digest: Bytes32;
beta: FrC;
alpha_digest: Bytes32;
alpha: FrC;
zeta_digest: Bytes32;
zeta: FrC;
gamma_kzg_digest: Bytes32;
gamma_kzg: FrC;
};
declare const Sp1PlonkFiatShamir_base: (new (value: {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
}) => {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
}) & {
_isStruct: true;
} & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
}, {
gamma_digest: {
bytes: {
value: bigint;
}[];
};
gamma: bigint;
beta_digest: {
bytes: {
value: bigint;
}[];
};
beta: bigint;
alpha_digest: {
bytes: {
value: bigint;
}[];
};
alpha: bigint;
zeta_digest: {
bytes: {
value: bigint;
}[];
};
zeta: bigint;
gamma_kzg_digest: {
bytes: {
value: bigint;
}[];
};
gamma_kzg: bigint;
}>, "fromFields"> & {
fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
};
} & {
fromValue: (value: {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
bytes: {
value: bigint;
}[];
};
gamma: bigint | import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
bytes: {
value: bigint;
}[];
};
beta: bigint | import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
bytes: {
value: bigint;
}[];
};
alpha: bigint | import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
bytes: {
value: bigint;
}[];
};
zeta: bigint | import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes | {
bytes: {
value: bigint;
}[];
};
gamma_kzg: bigint | import("o1js").CanonicalForeignField;
}) => {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
};
toInput: (x: {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
}) => {
fields?: import("o1js").Field[] | undefined;
packed?: [import("o1js").Field, number][] | undefined;
};
toJSON: (x: {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
}) => {
gamma_digest: {
bytes: {
value: string;
}[];
};
gamma: string;
beta_digest: {
bytes: {
value: string;
}[];
};
beta: string;
alpha_digest: {
bytes: {
value: string;
}[];
};
alpha: string;
zeta_digest: {
bytes: {
value: string;
}[];
};
zeta: string;
gamma_kzg_digest: {
bytes: {
value: string;
}[];
};
gamma_kzg: string;
};
fromJSON: (x: {
gamma_digest: {
bytes: {
value: string;
}[];
};
gamma: string;
beta_digest: {
bytes: {
value: string;
}[];
};
beta: string;
alpha_digest: {
bytes: {
value: string;
}[];
};
alpha: string;
zeta_digest: {
bytes: {
value: string;
}[];
};
zeta: string;
gamma_kzg_digest: {
bytes: {
value: string;
}[];
};
gamma_kzg: string;
}) => {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
};
empty: () => {
gamma_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma: import("o1js").CanonicalForeignField;
beta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
beta: import("o1js").CanonicalForeignField;
alpha_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
alpha: import("o1js").CanonicalForeignField;
zeta_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
zeta: import("o1js").CanonicalForeignField;
gamma_kzg_digest: import("node_modules/o1js/dist/node/lib/provable/bytes.js").Bytes;
gamma_kzg: import("o1js").CanonicalForeignField;
};
};
declare class Sp1PlonkFiatShamir extends Sp1PlonkFiatShamir_base {
constructor(fs: Sp1PlonkFiatShamirType);
static empty(): Sp1PlonkFiatShamir;
deepClone(): Sp1PlonkFiatShamir;
squeezeGamma(proof: Sp1PlonkProof, pi0F: FrC, pi1F: FrC, pi2F: FrC, pi3F: FrC, pi4F: FrC, vk: Sp1PlonkVk): void;
squeezeBeta(): void;
squeezeAlpha(proof: Sp1PlonkProof): void;
squeezeZeta(proof: Sp1PlonkProof): void;
squeezeGammaKzg(proof: Sp1PlonkProof, vk: Sp1PlonkVk, linearized_cm_x: FpC, linearized_cm_y: FpC, linearized_opening: FrC): void;
squeezeRandomForKzg(proof: Sp1PlonkProof, cm_x: FpC, cm_y: FpC): FrC;
gammaKzgDigest_part0(proof: Sp1PlonkProof, vk: Sp1PlonkVk, linearized_cm_x: FpC, linearized_cm_y: FpC, linearized_opening: FrC): UInt32[];
gammaKzgDigest_part1(proof: Sp1PlonkProof, H: UInt32[]): void;
squeezeGammaKzgFromDigest(): void;
}
export { Sp1PlonkFiatShamir };