34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
import chai from "chai";
|
|
const assert = chai.assert;
|
|
|
|
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();
|
|
});
|
|
|
|
it("Should check constrain reference implementation poseidonperm_x5_254_3", async () => {
|
|
const res2 = poseidon([1,2]);
|
|
assert(poseidon.F.eq(poseidon.F.e("0x115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a"), res2));
|
|
|
|
const res3 = poseidonSlow([1, 2]);
|
|
assert(poseidonSlow.F.eq(poseidonSlow.F.e("0x115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a"), res3));
|
|
});
|
|
it("Should check constrain reference implementation poseidonperm_x5_254_5", async () => {
|
|
const res2 = poseidon([1,2,3,4]);
|
|
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));
|
|
});
|
|
});
|