1 Commits

Author SHA1 Message Date
krlosMata
89bcaf436e fix check circom version 2021-10-17 23:30:16 +02:00
3 changed files with 16 additions and 10 deletions

View File

@@ -11,8 +11,6 @@ const exec = util.promisify(require("child_process").exec);
const loadR1cs = require("r1csfile").load;
const ZqField = require("ffjavascript").ZqField;
const readWtns = require("snarkjs").wtns.exportJson;
module.exports = c_tester;
async function c_tester(circomInput, _options) {
@@ -83,7 +81,7 @@ class WasmTester {
});
await exec("ls " + path.join(this.dir.path, this.baseName+"_cpp/"));
await exec(runc + " " + inputFile + " " + wtnsFile);
return await readBinWitnessFile(wtnsFile);
return readBinaryFile(wtnsFile);
}
async loadSymbols() {
@@ -204,15 +202,24 @@ function check_versions ( v1, v2 ) {
}
async function compiler_above_version(v) {
let output = await exec('circom --version').toString();
let output = (await exec('circom --version')).stdout;
let compiler_version = version_to_list(output.slice(output.search(/\d/),-1));
vlist = version_to_list(v);
return check_versions ( compiler_version, vlist );
}
async function readBinWitnessFile(fileName) {
const buffWitness = await readWtns(fileName);
return buffWitness;
function readBinaryFile(fileName) {
const buff = fs.readFileSync(fileName);
const n32 = fromArray8ToUint(buff.slice(24,27));
var pos = 28+n32;
const ws = fromArray8ToUint(buff.slice(pos,pos+3));
pos += 16;
const w = [];
for (let i=0; i<ws; i++) {
w.push(fromArray8(buff.slice(pos,pos+n32-1)));
pos += n32;
}
return w;
}
function fromArray8(arr) { //returns a BigInt

View File

@@ -29,7 +29,6 @@
"fnv-plus": "^1.3.1",
"r1csfile": "0.0.16",
"tmp-promise": "^3.0.2",
"util": "^0.12.4",
"snarkjs": "0.4.10"
"util": "^0.12.4"
}
}

View File

@@ -193,7 +193,7 @@ function check_versions ( v1, v2 ) {
}
async function compiler_above_version(v) {
let output = await exec('circom --version').toString();
let output = (await exec('circom --version')).stdout;
let compiler_version = version_to_list(output.slice(output.search(/\d/),-1));
vlist = version_to_list(v);
return check_versions ( compiler_version, vlist );