circomlibjs/test/poseidon.js

34 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-10-30 13:57:29 +02:00
import chai from "chai";
2021-10-06 11:28:14 +02:00
const assert = chai.assert;
2021-10-30 13:57:29 +02:00
import buildPoseidon from "../src/poseidon.js";
import buildPoseidonSlow from "../src/poseidon_slow.js";
describe("Poseidon test", function () {
let poseidon;
let poseidonSlow;
before(async () => {
poseidon = await buildPoseidon();
poseidonSlow = await buildPoseidonSlow();
});
before(async () => {
globalThis.curve_bn128.terminate();
});
2021-10-06 11:28:14 +02:00
it("Should check constrain reference implementation poseidonperm_x5_254_3", async () => {
const res2 = poseidon([1,2]);
2021-10-30 13:57:29 +02:00
assert(poseidon.F.eq(poseidon.F.e("0x115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a"), res2));
const res3 = poseidonSlow([1, 2]);
assert(poseidonSlow.F.eq(poseidonSlow.F.e("0x115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a"), res3));
2021-10-06 11:28:14 +02:00
});
it("Should check constrain reference implementation poseidonperm_x5_254_5", async () => {
const res2 = poseidon([1,2,3,4]);
2021-10-30 13:57:29 +02:00
assert(poseidon.F.eq(poseidon.F.e("0x299c867db6c1fdd79dcefa40e4510b9837e60ebb1ce0663dbaa525df65250465"), res2));
const res3 = poseidonSlow([1,2,3,4]);
assert(poseidonSlow.F.eq(poseidonSlow.F.e("0x299c867db6c1fdd79dcefa40e4510b9837e60ebb1ce0663dbaa525df65250465"), res3));
2021-10-06 11:28:14 +02:00
});
});