The module enables Areon to support an on-chain governance system. In this system, holders of the AREA of the chain can vote on proposals on a 1 token 1 vote basis. Next is a list of features the module currently supports:
Proposal submission: Users can submit proposals with a deposit. Once the minimum deposit is reached, the proposal enters voting period. The minimum deposit can be reached by collecting deposits from different users (including proposer) within deposit period.
Vote: Participants can vote on proposals that reached MinDeposit and entered voting period.
Inheritance and penalties: Delegators inherit their validator's vote if they don't vote themselves.
Claiming deposit: Users that deposited on proposals can recover their deposits if the proposal was accepted or rejected. If the proposal was vetoed, or never entered voting period (minimum deposit not reached within deposit period), the deposit is burned.
The governance process is divided in a few steps that are outlined below:
- Proposal submission: Proposal is submitted to the blockchain with a deposit.
- Vote: Once deposit reaches a certain value (MinDeposit), proposal is confirmed and vote opens. Area holders can then send Vote transactions to vote on the proposal.
Execution After a period of time, the votes are tallied and depending on the result, the messages in the proposal will be executed.
To prevent spam, proposals must be submitted with a deposit in the coins defined by the MinDeposit param.
- When a proposal is submitted, it has to be accompanied with a deposit that must be strictly positive, but can be inferior to MinDeposit.
- The submitter doesn't need to pay for the entire deposit on their own. The newly created proposal is stored in an inactive proposal queue and stays there until its deposit passes the MinDeposit.
- Other token holders can increase the proposal's deposit by sending a Deposit transaction.
- If a proposal doesn't pass the MinDeposit before the deposit end time (the time when deposits are no longer accepted), the proposal will be destroyed: the proposal will be removed from state and the deposit will be burned.
- When a proposal deposit passes the MinDeposit threshold (even during the proposal submission) before the deposit end time, the proposal will be moved into the active proposal queue and the voting period will begin.