-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build a BrightID Verified User Registry contract #26
Comments
MACI uses SignUpGatekeeper contract to determine who can sign up for voting. We need to create our own signup gatekeeper integrated with BrightID contract. |
We will create a smart contract for the clrfund context that implements this interface https://github.com/BrightID/BrightID-SmartContract/blob/master/v4/IBrightID.sol When someone uses the We can add a register function in our contract that matches the signature of what is called in the MACI signUp function . Our register function would check that they have a verification. We can also look through their history to make sure they haven't signed up already using a different address. |
Currently the To add BrightID support we need to create a contract which will conform to the monorepo/contracts/contracts/verifiedUserRegistry/IVerifiedUserRegistry.sol Lines 1 to 11 in 40a3bfc
|
We can make a contract that implements both the An example implementation that accepts signed verifications from a BrightID node is here: https://github.com/BrightID/BrightID-SmartContract/blob/master/v4/BrightID.sol |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 500.0 DAI (500.0 USD @ $1.0/DAI) attached to it.
|
Here's an example deep-link to allow someone to link their BrightID to the clr.fund context This is the version of it that you should turn into a QR code: This is how you see all verified users in the context: https://app.brightid.org/node/v5/verifications/clr.fund This is how you check one user by contextid: https://app.brightid.org/node/v5/verifications/clr.fund/0xdc0046b52e2e38aee2271b6171ebb65ccd337518 This is how you allow a user to get signed verification for the ethereum contract mentioned above Producing these is outside of the scope of this issue / bounty, but these calls may be useful for testing. |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work for 500.0 DAI (500.00 USD @ $1.0/DAI) has been submitted by:
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work for 500.0 DAI (500.00 USD @ $1.0/DAI) has been submitted by: @auryn-macmillan please take a look at the submitted work:
|
Implemented in #157 |
Build a BrightID Verified User Registry contract
Prize Bounty
500 DAI
Challenge Description
Clr.fund is building a permissionless and credibly neutral quadratic funding protocol and application that is built with zk-snark magic, courtesy of the Minimal Anticollusion Infrastructure MACI.
A critical property of quadratic funding is the assurance that each contributor is in fact a unique individual. We would like to use BrightID to ensure this.
To earn this bounty, you should implement a VerifiedUserRegistry contract that ensures only BrightID verified users can sign as contributors to each round of clr.fund.
Submission Requirements
A valid submission should include a demonstration and source code of working contract that Verified User Registry contract that allows only BrightID verified users to sign up as contributors to each clr.fund round.
To add BrightID support we need to create a contract which will conform to the VerifiedUserRegistry interface:
Judging Criteria
This bounty will be awarded to the participant who submits the best version of this contract as judged by the clr.fund contributors.
Winner Announcement Date
Shortly after the event.
The text was updated successfully, but these errors were encountered: