UNPKG

@nori-zk/proof-conversion

Version:

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

20 lines 1.14 kB
import { Sp1PlonkVerifier } from './verifier.js'; import { VK } from './vk.js'; import { Sp1PlonkProof, deserializeProof } from './proof.js'; import { parsePublicInputs } from './parse_pi.js'; import { createRequire } from 'module'; const require = createRequire(import.meta.url); const g2_lines_required = require('./mm_loop/g2_lines.json'); const tau_lines_required = require('./mm_loop/tau_lines.json'); //import g2_lines_required from './mm_loop/g2_lines.json'; //import tau_lines_required from './mm_loop/tau_lines.json'; const g2_lines = JSON.stringify(g2_lines_required); //fs.readFileSync(`./src/plonk/mm_loop/g2_lines.json`, 'utf8'); const tau_lines = JSON.stringify(tau_lines_required); //fs.readFileSync(`./src/plonk/mm_loop/tau_lines.json`, 'utf8'); export function getMlo(hexProof, programVk, hexPi) { console.log(hexProof, programVk, hexPi); const [pi0, pi1] = parsePublicInputs(programVk, hexPi); const Verifier = new Sp1PlonkVerifier(VK, g2_lines, tau_lines); const proof = new Sp1PlonkProof(deserializeProof(hexProof)); return Verifier.computeMlo(proof, pi0, pi1); } //# sourceMappingURL=get_mlo.js.map