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});