maci
maci copied to clipboard
Create a `InitialVoiceCreditPerToken` for voice credit depending on amount of tokens
Prerequisites
Please answer the following question for yourself before submitting a feature request.
- [x] I checked to make sure that this request has not already been filed
Motivation
We need to have a voice credit contract that would assign credit to each voter depending on the amount of tokens the user has or the user has sent to the MACI contract. This way we can use MACI directly for quadratic funding depended on tokens.
Details
We are going to create a new contract similar to ConstantInitialVoiceCreditProxy.sol
but it will assign voice credit to each user depending on the amount of tokens the user has or has sent to the MACI contract. There are three variations:
- Money sent as ETH directly to the MACI contract
- ERC-20 tokens sent to the MACI contract
- ERC-20 tokens the user has (do we need a timestamp for this? Is it possible to do it onchain?)
We also need to implement a withdraw function to send the funds somewhere else (an admin wallet, a multi-sig, etc)
- [x] Make sure that you have reviewed MACI's Contributor Guidelines