Skip to content

Commit

Permalink
Updating compressor tests
Browse files Browse the repository at this point in the history
  • Loading branch information
RogerTaule committed Jul 3, 2024
1 parent 58d91ee commit 25efd4b
Show file tree
Hide file tree
Showing 6 changed files with 4,404 additions and 3,293 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
"verifier_compile": "circom -l circuits.gl --O1 --prime goldilocks --r1cs --wasm --verbose test/compressor/verifier.circom -o test/compressor",
"verifier_C18_setup": "NODE_OPTIONS=--max-old-space-size=32000 node src/compressor/main_compressor_setup.js -r test/compressor/verifier.r1cs -p tmp/test.c18.pil -c tmp/test.c18.const -e tmp/test.c18.exec --cols=18",
"verifier_C18_exec": "NODE_OPTIONS=--max-old-space-size=32000 node src/compressor/main_compressor_exec.js -i test/compressor/verifier.proof.zkin.json -w test/compressor/verifier_js/verifier.wasm -p tmp/test.c18.pil -e tmp/test.c18.exec -m tmp/test.c18.commit",
"verifier_C18_pil_verify": "NODE_OPTIONS=--max-old-space-size=32000 node src/compressor/main_compressor_pil_verify.js -t tmp/test.c18.commit -p tmp/test.c18.pil -c tmp/test.c18.const",
"verifier_C18_pil_verify": "NODE_OPTIONS=--max-old-space-size=32000 node src/compressor/main_compressor_pil_verify.js -m tmp/test.c18.commit -p tmp/test.c18.pil -c tmp/test.c18.const",
"verifier_C18_buildstarkinfo": "NODE_OPTIONS=--max-old-space-size=32000 node src/main_genstarkinfo.js -p tmp/test.c18.pil -s test/state_machines/sm_all/all.c18.starkstruct.json -i tmp/test.c18.starkinfo.json -e tmp/test.c18.expressionsinfo.json -v tmp/test.c18.verifierinfo.json",
"verifier_C18_buildconsttree": "NODE_OPTIONS=--max-old-space-size=32000 node src/main_buildconsttree.js -c tmp/test.c18.const -p tmp/test.c18.pil -s tmp/test.c18.starkinfo.json -t tmp/test.c18.consttree -v tmp/test.c18.verkey.json",
"verifier_C18_prove": "NODE_OPTIONS=--max-old-space-size=32000 node src/main_prover.js -m tmp/test.c18.commit -i tmp/test.c18.publics.json -c tmp/test.c18.const -t tmp/test.c18.consttree -p tmp/test.c18.pil -s tmp/test.c18.starkinfo.json -e tmp/test.c18.expressionsinfo.json -o tmp/test.c18.proof.json -z tmp/test.c18.proof.zkin.json -b tmp/test.c18.public.json --proverAddr=0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266",
Expand Down
2 changes: 1 addition & 1 deletion src/compressor/compressor_exec.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const fs = require("fs");
const { generateWtnsCols } = require("../witness/witnessCalculator");

module.exports.compressorExec = async function compressorExec(F, pil, wasm, input, exec) {
const N = cmPols.Compressor.a[0].length;
const N = Object.values(pil.references)[0].polDeg;

const cmPols = generateWtnsCols(pil.references, N, false);

Expand Down
2 changes: 1 addition & 1 deletion src/compressor/main_compressor_exec.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ async function run() {
await fd.read(wasm, 0, st.size);
await fd.close();

const {cmPols} = await compressorExec(F, pil, wasm, input, exec);
const cmPols = await compressorExec(F, pil, wasm, input, exec);

await cmPols.saveToFile(commitFile);

Expand Down
54 changes: 54 additions & 0 deletions src/compressor/main_compressor_pil_verify.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
const fs = require("fs");
const version = require("../../package").version;

const { compile, verifyPil, newConstantPolsArray, newCommitPolsArray } = require("pilcom");
const F3g = require("../helpers/f3g");

const argv = require("yargs")
.version(version)
.usage("main_pilverifier.js -t <commit.bin> -p <pil.json> -c <constant.bin> [-u <publics.json>]")
.alias("p", "pil")
.alias("m", "commit")
.alias("c", "constant")
.alias("i", "publics")
.argv;

async function run() {

const F = new F3g();


const pilFile = typeof(argv.pil) === "string" ? argv.pil.trim() : "main.pil.json";
const publics = typeof(argv.publics) === "string" ? JSON.parse(fs.readFileSync(argv.publics.trim())) : false;
const constantFile = typeof(argv.constant) === "string" ? argv.constant.trim() : "constant.bin";
const commitFile = typeof(argv.commit) === "string" ? argv.commit.trim() : "commit.bin";

const config = typeof(argv.config) === "string" ? JSON.parse(fs.readFileSync(argv.config.trim())) : {};

const pil = await compile(F, pilFile, null, config);

const constPols = newConstantPolsArray(pil, F);
const cmPols = newCommitPolsArray(pil, F);

await constPols.loadFromFile(constantFile);
await cmPols.loadFromFile(commitFile);

const res = await verifyPil(F, pil, cmPols, constPols, {publics});

if (res.length != 0) {
for (let i=0; i<res.length; i++) {
console.log(res[i]);
}
throw new Error("Pil does not pass");
} else {
console.log("PIL OK!!")
}
}

run().then(()=> {
process.exit(0);
}, (err) => {
console.log(err.message);
console.log(err.stack);
process.exit(1);
});
Loading

0 comments on commit 25efd4b

Please sign in to comment.