UNPKG

@nori-zk/proof-conversion

Version:

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

22 lines 782 B
import { Field, Poseidon, Provable } from 'o1js'; import { ATE_LOOP_COUNT, Fp12 } from './towers/index.js'; class ArrayListHasher { static empty() { const a = new Array(this.n).fill(Field(0n)); return Poseidon.hashPacked(Provable.Array(Field, this.n), a); } static hash(arr) { return Poseidon.hashPacked(Provable.Array(Field, this.n), arr); } static open(lhs, opening, rhs) { const opening_hashes = opening.map((x) => Poseidon.hashPacked(Fp12, x)); let arr = []; arr = arr.concat(lhs); arr = arr.concat(opening_hashes); arr = arr.concat(rhs); return this.hash(arr); } } ArrayListHasher.n = ATE_LOOP_COUNT.length; export { ArrayListHasher }; //# sourceMappingURL=array_list_hasher.js.map