js-rln/src/utils/hash.ts
Sasha 65b7d8bcbc
feat!: restructure package (#98)
* decouple utils, remove global variables

* decouple hash utils

* decouple proof related stuff

* move to utils, move to resources

* decouple zerokit

* fix spelling

* fix mock

* remove auto prettier, typo

* retur prettier

* comma
2024-02-17 00:22:47 +01:00

16 lines
595 B
TypeScript

import * as zerokitRLN from "@waku/zerokit-rln-wasm";
import { concatenate, writeUIntLE } from "./bytes.js";
export function poseidonHash(...input: Array<Uint8Array>): Uint8Array {
const inputLen = writeUIntLE(new Uint8Array(8), input.length, 0, 8);
const lenPrefixedData = concatenate(inputLen, ...input);
return zerokitRLN.poseidonHash(lenPrefixedData);
}
export function sha256(input: Uint8Array): Uint8Array {
const inputLen = writeUIntLE(new Uint8Array(8), input.length, 0, 8);
const lenPrefixedData = concatenate(inputLen, input);
return zerokitRLN.hash(lenPrefixedData);
}