maci icon indicating copy to clipboard operation
maci copied to clipboard

Create a `InitialVoiceCreditPerToken` for voice credit depending on amount of tokens

Open NicoSerranoP opened this issue 2 months ago • 1 comments

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:

  1. Money sent as ETH directly to the MACI contract
  2. ERC-20 tokens sent to the MACI contract
  3. 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)

NicoSerranoP avatar Dec 12 '24 21:12 NicoSerranoP