semaphore icon indicating copy to clipboard operation
semaphore copied to clipboard

A zero-knowledge protocol for anonymous interactions.

Results 107 semaphore issues
Sort by recently updated
recently updated
newest added

## Description `++i` costs a little less gas than `i++` As `i++` returns the non-incremented value & `++i` returns the incremented value. ## Related Issue N/A ## Does this introduce...

**Is your feature request related to a problem? Please describe.** In some use-cases, it would be necessary for users of a Semaphore to be able to associate data attributes with...

feature :rocket:

**Is your feature request related to a problem? Please describe.** Adding a new member to a Semaphore group changes the root, invalidating any currently-generated proofs. This makes it so that...

feature :rocket:
good first issue
low priority

**Is your feature request related to a problem? Please describe.** Sometimes it is not necessary to hash the signal on-chain. Letting developers choose how to pass the signal would make...

feature :rocket:
refactoring :recycle:

the best practice for updateGroupAdmin is through a two-step update: existing admin assign the new potential admin to a new address the new address accept the admin role. This is...

audit-v4

a gas optimization: in functions like addMember, we currently have uint256 merkleTreeRoot = getMerkleTreeRoot(groupId);, while merkleTreeRoot could have been returned from _addMember call https://github.com/semaphore-protocol/semaphore/blob/8eb19e83fda62644872b2fcfbd85011d3b2c21e2/packages/contracts/contracts/base/SemaphoreGroups.sol#L70

audit-v4

the _addMember function is missing `onlyGroupAdmin(groupId)` check, Without it anyone can add to the group. https://github.com/semaphore-protocol/semaphore/blob/8eb19e83fda62644872b2fcfbd85011d3b2c21e2/packages/contracts/contracts/base/SemaphoreGroups.sol#L83

audit-v4

**Description** The current Semaphore libraries are written in TypeScript and are "compiled" into JavaScript with Rollup and `tsc`. The target in the current `tsconfig.ts` configuration is ES5, i.e. the first...

devops :wrench:

**Describe the bug** I have a backend service that receives a proof from a frontend to verify it. It never finishes running the verifyProof function. Verifying on frontend works as...

bug 🐛

## Description Update a `generateProof` function parameters in the docs. It should be `const proof = await generateProof(identity, group, message, scope)` here: https://github.com/semaphore-protocol/semaphore/blob/main/apps/docs/versioned_docs/version-V4-beta/guides/proofs.mdx#L95

documentation 📖