arnaucube
arnaucube/miksi-corePublic Self-hosted repository
miksi-core/test/circuits/withdraw.test.ts
test/circuits/withdraw.test.tsRaw
 1const path = require("path");
 2const tester = require("circom").tester;
 3const chai = require("chai");
 4const assert = chai.assert;
 5const circomlib = require("circomlib");
 6
 7export {};
 8
 9describe("withdraw test", function () {
10    this.timeout(200000);
11
12
13    it("Test Withdraw", async () => {
14        const circuit = await tester(
15            path.join(__dirname, "../../circuits", "withdraw.circom"),
16            {reduceConstraints: false}
17        );
18
19        // const secret = Math.floor(Math.random()*1000).toString();
20        const secret = "123456789";
21
22        const coinCode = "1";
23        const amount = "100";
24
25        const poseidon = circomlib.poseidon.createHash(6, 8, 57);
26        const commitment = poseidon([coinCode, amount, secret]).toString();
27
28        const witness = await circuit.calculateWitness({
29            "coinCode": coinCode,
30            "amount": amount,
31            "commitment": commitment,
32            "secret": secret
33        });
34        await circuit.checkConstraints(witness);
35    });
36});