arnaucube
arnaucube/circom-compatPublic Self-hosted repository
circom-compat/test-vectors/calculatewitness.js
test-vectors/calculatewitness.jsRaw
 1#!/usr/bin/env node
 2
 3const fs = require("fs");
 4const {stringifyBigInts, unstringifyBigInts} = require("snarkjs");
 5const WitnessCalculatorBuilder = require("./witness_calculator.js");
 6
 7// const wasmName = "smtverifier10.wasm"
 8// const inputName = "smtverifier10-input.json"
 9
10const wasmName = "nconstraints.wasm"
11const inputName = "nconstraints-input.json"
12
13async function run () {
14  const wasm = await fs.promises.readFile(wasmName);
15  const input = unstringifyBigInts(JSON.parse(await fs.promises.readFile(inputName, "utf8")));
16
17  console.log("input:", input);
18  let options;
19  const wc = await WitnessCalculatorBuilder(wasm, options);
20
21  const w = await wc.calculateWitness(input);
22
23  console.log("witness:\n", JSON.stringify(stringifyBigInts(w)));
24
25  // const wb = await wc.calculateBinWitness(input);
26
27  // console.log("witnessBin:", Buffer.from(wb).toString('hex'));
28
29  // await fs.promises.writeFile(witnessName, JSON.stringify(stringifyBigInts(w), null, 1));
30
31}
32
33run().then(() => {
34    process.exit();
35});