mirror of
https://github.com/semaphore-protocol/semaphore.git
synced 2026-01-09 22:58:07 -05:00
refactor(group): remove check on generateMerkleProof function
Contracts actually need devs to generate a Merkle proof of a removed member. re #717
This commit is contained in:
@@ -124,10 +124,6 @@ export class Group {
|
|||||||
* @returns The {@link MerkleProof} object.
|
* @returns The {@link MerkleProof} object.
|
||||||
*/
|
*/
|
||||||
public generateMerkleProof(index: number): LeanIMTMerkleProof {
|
public generateMerkleProof(index: number): LeanIMTMerkleProof {
|
||||||
if (this.members[index] === 0n) {
|
|
||||||
throw new Error("Failed to generate Merkle proof: member has been removed")
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.leanIMT.generateProof(index)
|
return this.leanIMT.generateProof(index)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -125,16 +125,6 @@ describe("Group", () => {
|
|||||||
|
|
||||||
expect(proof.leaf).toBe(1n)
|
expect(proof.leaf).toBe(1n)
|
||||||
})
|
})
|
||||||
|
|
||||||
it("Should not generate a proof of membership if the member has been removed", () => {
|
|
||||||
const group = new Group()
|
|
||||||
group.addMembers([1n, 3n])
|
|
||||||
group.removeMember(0)
|
|
||||||
|
|
||||||
const fun = () => group.generateMerkleProof(0)
|
|
||||||
|
|
||||||
expect(fun).toThrow("Failed to generate Merkle proof: member has been removed")
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
describe("# export", () => {
|
describe("# export", () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user