@nori-zk/proof-conversion
Version:
Verifying zkVM proofs inside o1js circuits, to generate Mina compatible proof
20 lines • 1.14 kB
JavaScript
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