Skip to content

Commit 87f6345

Browse files
authored
fix(group): add check for zero values in group constructor (#764)
1 parent f8deb64 commit 87f6345

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

packages/group/src/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ export class Group {
2323
* @param members A list of identity commitments.
2424
*/
2525
constructor(members: BigNumber[] = []) {
26+
for (const member of members) {
27+
if (member === 0n || member === "0") {
28+
throw new Error("Failed to add member: value cannot be 0")
29+
}
30+
}
31+
2632
this.leanIMT = new LeanIMT((a, b) => poseidon2([a, b]), members.map(BigInt))
2733
}
2834

packages/group/tests/index.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ describe("Group", () => {
2323
expect(group.depth).toBe(2)
2424
expect(group.size).toBe(3)
2525
})
26+
27+
it("Should not create a group with a list of members if any value is 0", () => {
28+
const fun = () => new Group([1n, 0n])
29+
30+
expect(fun).toThrow("Failed to add member: value cannot be 0")
31+
})
2632
})
2733

2834
describe("# addMember", () => {

0 commit comments

Comments
 (0)