arnaucube
arnaucube/circomPublic Self-hosted repository
circom/test/sha256.js
test/sha256.jsRaw
 1const chai = require("chai");
 2const path = require("path");
 3const zkSnark = require("zksnark");
 4
 5const compiler = require("../index.js");
 6
 7const assert = chai.assert;
 8
 9describe("SHA256 test", () => {
10    it("Should create a constant circuit", async () => {
11
12        const cirDef = await compiler(path.join(__dirname, "circuits", "constants_test.circom"));
13        assert.equal(cirDef.nVars, 2);
14
15        const circuit = new zkSnark.Circuit(cirDef);
16
17        const witness = circuit.calculateWitness({ "in": "0xd807aa98" });
18
19        assert(witness[0].equals(zkSnark.bigInt(1)));
20        assert(witness[1].equals(zkSnark.bigInt("0xd807aa98")));
21    });
22    it("Should create a sum circuit", async () => {
23
24        const cirDef = await compiler(path.join(__dirname, "circuits", "sum_test.circom"));
25        assert.equal(cirDef.nVars, 101);
26
27        const circuit = new zkSnark.Circuit(cirDef);
28
29        const witness = circuit.calculateWitness({ "a": "111", "b": "222" });
30
31        assert(witness[0].equals(zkSnark.bigInt(1)));
32        assert(witness[1].equals(zkSnark.bigInt("333")));
33    });
34
35
36});