UNPKG

@nori-zk/proof-conversion

Version:

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

291 lines (290 loc) 12.4 kB
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 };