circomlibjs/test/mimcsponge.js
Micah Zoltu fc0c01e400 Removes many dependencies and bundles to ES Module.
* NodeJS has built-in testing tools now, so no need to include Mocha/Chai which bring in a lot of transitive dependencies.
* Removes ethers, as it was only being used for a few utility functions (which are now in `utils.js` and `keccak256`, whiche is better sourced from @noble/hashes.
* Adds @noble/hashes for `keccak256`.
* Removes hardhat, since it was brought in only to test one thing, and it is huge.
* Switches to esbuild for simple ESM targeted bundling with inlnined NodeJS dependencies.
* Pinned all JS dependencies to fixed versions.
* Adds a Dockerfile for generating reproducible builds.
* Commented out two tests that had a dependency on Hardhat.
2024-12-06 13:17:31 +08:00

24 lines
883 B
JavaScript

import { describe, it, before } from 'node:test'
import assert from 'node:assert'
import buildMimcSponge from "../src/mimcsponge.js";
describe("Mimc Sponge test", function () {
let mimcSponge;
before(async () => {
mimcSponge = await buildMimcSponge();
});
it("Should check multihash reference 2", async () => {
const res2 = mimcSponge.multiHash([1,2]);
// console.log(mimcSponge.F.toString(res2,16));
assert(mimcSponge.F.eq(mimcSponge.F.e("0x2bcea035a1251603f1ceaf73cd4ae89427c47075bb8e3a944039ff1e3d6d2a6f"), res2));
});
it("Should check multihash reference 4", async () => {
const res2 = mimcSponge.multiHash([1,2,3,4]);
// console.log(mimcSponge.F.toString(res2,16));
assert(mimcSponge.F.eq(mimcSponge.F.e("0x3e86bdc4eac70bd601473c53d8233b145fe8fd8bf6ef25f0b217a1da305665c"), res2));
});
});