diff --git a/packages/rln/src/utils/bytes.ts b/packages/rln/src/utils/bytes.ts index 6e4f022055..cb157b114b 100644 --- a/packages/rln/src/utils/bytes.ts +++ b/packages/rln/src/utils/bytes.ts @@ -61,9 +61,13 @@ export function writeUIntLE( * @param array: Uint8Array * @returns BigInt */ -export function buildBigIntFromUint8Array(array: Uint8Array): bigint { +export function buildBigIntFromUint8Array( + array: Uint8Array, + byteOffset: number = 0 +): bigint { + // Use all bytes from byteOffset to the end, big-endian let hex = ""; - for (let i = array.length - 1; i >= 0; i--) { + for (let i = byteOffset; i < array.length; i++) { hex += array[i].toString(16).padStart(2, "0"); } return BigInt("0x" + hex);