miksi-core/test/withdraw.test.ts
test/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/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});