Citadel-DAO / citadel-protocol

DEPRECATED: see https://github.com/Citadel-DAO/citadel-contracts for new project location
GNU Affero General Public License v3.0
1 stars 1 forks source link

Whitelist Deposit Function #5

Open mitche50 opened 2 years ago

mitche50 commented 2 years ago

The whitelisting event for early bonding will include an additional element of allowing the user to vote for a DAO which will receive a portion of set aside pCITADEL intended for distribution to partner DAOs. When the user deposits, they will include an additional parameter which indicates the DAO they'd like to vote for, and we need to capture this data.

We also need a way to enforce the whitelist. BADGER has already developed a bouncer system used for guarded launches and can provide that same architecture, but we will need to modify the deposit function for whitelisting events.

My proposal is to duplicate the deposit function into a whitelistDeposit function, adding in the whitelisting that we've developed at badger for guarded vaults as well as having an additional param included in the whitelistDeposit function _representative. We would have a mapping of representatives to a counter which is incremented by the payout amount. Once the whitelisting bonding period is over then we can get the values of the mapping and use that for a distribution amount of the reserved DAO amount.

Tasks: