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