const snarkjs = require("@tornado/snarkjs"); const bigInt = snarkjs.bigInt; module.exports = function hexBits(cir, witness, sig, nBits) { let v = bigInt(0); for (let i = nBits - 1; i >= 0; i--) { v = v.shiftLeft(1); const name = sig + "[" + i + "]"; const idx = cir.getSignalIdx(name); const vbit = bigInt(witness[idx].toString()); if (vbit.equals(bigInt(1))) { v = v.add(bigInt(1)); } else if (vbit.equals(bigInt(0))) { v; } else { console.log("Not Binary: " + name); } } return v.toString(16); };