UNPKG

@nori-zk/proof-conversion

Version:

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

394 lines (393 loc) 13 kB
import { Sp1PlonkProof } from './proof.js'; import { Sp1PlonkFiatShamir } from './fiat-shamir/index.js'; import { StateUntilPairing } from './state.js'; declare const Accumulator_base: (new (value: { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }) => { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }) & { _isStruct: true; } & Omit<import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<{ proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }, { proof: { l_com_x: bigint; l_com_y: bigint; r_com_x: bigint; r_com_y: bigint; o_com_x: bigint; o_com_y: bigint; h0_x: bigint; h0_y: bigint; h1_x: bigint; h1_y: bigint; h2_x: bigint; h2_y: bigint; l_at_zeta: bigint; r_at_zeta: bigint; o_at_zeta: bigint; s1_at_zeta: bigint; s2_at_zeta: bigint; grand_product_x: bigint; grand_product_y: bigint; grand_product_at_omega_zeta: bigint; batch_opening_at_zeta_x: bigint; batch_opening_at_zeta_y: bigint; batch_opening_at_zeta_omega_x: bigint; batch_opening_at_zeta_omega_y: bigint; qcp_0_at_zeta: bigint; qcp_0_wire_x: bigint; qcp_0_wire_y: bigint; }; fs: { 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; }; state: { pi0: bigint; pi1: bigint; zeta_pow_n: bigint; zh_eval: bigint; alpha_2_l0: bigint; hx: bigint; hy: bigint; pi: bigint; linearized_opening: bigint; lcm_x: bigint; lcm_y: bigint; cm_x: bigint; cm_y: bigint; cm_opening: bigint; kzg_random: bigint; kzg_cm_x: bigint; kzg_cm_y: bigint; neg_fq_x: bigint; neg_fq_y: bigint; H: bigint[]; }; }>, "fromFields"> & { fromFields: (fields: import("node_modules/o1js/dist/node/lib/provable/field.js").Field[]) => { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }; } & { fromValue: (value: { proof: Sp1PlonkProof | { l_com_x: bigint | import("o1js").CanonicalForeignField; l_com_y: bigint | import("o1js").CanonicalForeignField; r_com_x: bigint | import("o1js").CanonicalForeignField; r_com_y: bigint | import("o1js").CanonicalForeignField; o_com_x: bigint | import("o1js").CanonicalForeignField; o_com_y: bigint | import("o1js").CanonicalForeignField; h0_x: bigint | import("o1js").CanonicalForeignField; h0_y: bigint | import("o1js").CanonicalForeignField; h1_x: bigint | import("o1js").CanonicalForeignField; h1_y: bigint | import("o1js").CanonicalForeignField; h2_x: bigint | import("o1js").CanonicalForeignField; h2_y: bigint | import("o1js").CanonicalForeignField; l_at_zeta: bigint | import("o1js").CanonicalForeignField; r_at_zeta: bigint | import("o1js").CanonicalForeignField; o_at_zeta: bigint | import("o1js").CanonicalForeignField; s1_at_zeta: bigint | import("o1js").CanonicalForeignField; s2_at_zeta: bigint | import("o1js").CanonicalForeignField; grand_product_x: bigint | import("o1js").CanonicalForeignField; grand_product_y: bigint | import("o1js").CanonicalForeignField; grand_product_at_omega_zeta: bigint | import("o1js").CanonicalForeignField; batch_opening_at_zeta_x: bigint | import("o1js").CanonicalForeignField; batch_opening_at_zeta_y: bigint | import("o1js").CanonicalForeignField; batch_opening_at_zeta_omega_x: bigint | import("o1js").CanonicalForeignField; batch_opening_at_zeta_omega_y: bigint | import("o1js").CanonicalForeignField; qcp_0_at_zeta: bigint | import("o1js").CanonicalForeignField; qcp_0_wire_x: bigint | import("o1js").CanonicalForeignField; qcp_0_wire_y: bigint | import("o1js").CanonicalForeignField; }; fs: Sp1PlonkFiatShamir | { 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; }; state: StateUntilPairing | { pi0: bigint | import("o1js").CanonicalForeignField; pi1: bigint | import("o1js").CanonicalForeignField; zeta_pow_n: bigint | import("o1js").CanonicalForeignField; zh_eval: bigint | import("o1js").CanonicalForeignField; alpha_2_l0: bigint | import("o1js").CanonicalForeignField; hx: bigint | import("o1js").CanonicalForeignField; hy: bigint | import("o1js").CanonicalForeignField; pi: bigint | import("o1js").CanonicalForeignField; linearized_opening: bigint | import("o1js").CanonicalForeignField; lcm_x: bigint | import("o1js").CanonicalForeignField; lcm_y: bigint | import("o1js").CanonicalForeignField; cm_x: bigint | import("o1js").CanonicalForeignField; cm_y: bigint | import("o1js").CanonicalForeignField; cm_opening: bigint | import("o1js").CanonicalForeignField; kzg_random: bigint | import("o1js").CanonicalForeignField; kzg_cm_x: bigint | import("o1js").CanonicalForeignField; kzg_cm_y: bigint | import("o1js").CanonicalForeignField; neg_fq_x: bigint | import("o1js").CanonicalForeignField; neg_fq_y: bigint | import("o1js").CanonicalForeignField; H: import("o1js").UInt32[] | bigint[]; }; }) => { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }; toInput: (x: { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }) => { fields?: import("o1js").Field[] | undefined; packed?: [import("o1js").Field, number][] | undefined; }; toJSON: (x: { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }) => { proof: { l_com_x: string; l_com_y: string; r_com_x: string; r_com_y: string; o_com_x: string; o_com_y: string; h0_x: string; h0_y: string; h1_x: string; h1_y: string; h2_x: string; h2_y: string; l_at_zeta: string; r_at_zeta: string; o_at_zeta: string; s1_at_zeta: string; s2_at_zeta: string; grand_product_x: string; grand_product_y: string; grand_product_at_omega_zeta: string; batch_opening_at_zeta_x: string; batch_opening_at_zeta_y: string; batch_opening_at_zeta_omega_x: string; batch_opening_at_zeta_omega_y: string; qcp_0_at_zeta: string; qcp_0_wire_x: string; qcp_0_wire_y: string; }; fs: { 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; }; state: { pi0: string; pi1: string; zeta_pow_n: string; zh_eval: string; alpha_2_l0: string; hx: string; hy: string; pi: string; linearized_opening: string; lcm_x: string; lcm_y: string; cm_x: string; cm_y: string; cm_opening: string; kzg_random: string; kzg_cm_x: string; kzg_cm_y: string; neg_fq_x: string; neg_fq_y: string; H: string[]; }; }; fromJSON: (x: { proof: { l_com_x: string; l_com_y: string; r_com_x: string; r_com_y: string; o_com_x: string; o_com_y: string; h0_x: string; h0_y: string; h1_x: string; h1_y: string; h2_x: string; h2_y: string; l_at_zeta: string; r_at_zeta: string; o_at_zeta: string; s1_at_zeta: string; s2_at_zeta: string; grand_product_x: string; grand_product_y: string; grand_product_at_omega_zeta: string; batch_opening_at_zeta_x: string; batch_opening_at_zeta_y: string; batch_opening_at_zeta_omega_x: string; batch_opening_at_zeta_omega_y: string; qcp_0_at_zeta: string; qcp_0_wire_x: string; qcp_0_wire_y: string; }; fs: { 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; }; state: { pi0: string; pi1: string; zeta_pow_n: string; zh_eval: string; alpha_2_l0: string; hx: string; hy: string; pi: string; linearized_opening: string; lcm_x: string; lcm_y: string; cm_x: string; cm_y: string; cm_opening: string; kzg_random: string; kzg_cm_x: string; kzg_cm_y: string; neg_fq_x: string; neg_fq_y: string; H: string[]; }; }) => { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }; empty: () => { proof: Sp1PlonkProof; fs: Sp1PlonkFiatShamir; state: StateUntilPairing; }; }; declare class Accumulator extends Accumulator_base { deepClone(): Accumulator; } export { Accumulator };