x/gov
The Governance Procedure
Phase 0 - Submit a proposal along with an initial deposit:
Users can submit a proposal with an initial deposit. The proposal will then become "active" and enter the deposit period.
Phase 1 - Deposit period
During the deposit period, users can deposit and support an active proposal. Once the deposit of the proposal reaches min_deposit
, it will enter the voting period. Otherwise, if the proposal is not successfully funded within max_deposit_period
, the proposal will be destroyed: the proposal will be removed from state and the deposit will be burned.
Phase 2 - Voting period
During the voting period, staked (bonded) tokens will be able to participate in the voting. Users can choose one of the following option: yes
, no
, no_with_veto
and abstain
After the voting_period has passed, there are several scenarios where a proposal will be considered to be "Rejected", for example, if
- No one votes (everyone
abstain
) - Votes did not reach the
quorum
- More than veto of voters vote for
no_with_veto
- More than threshold of non-abstaining voters vote
no
- Otherwise, the proposal will be accepted and changes will be implemented according to the proposal.
Deposit refund and burn
When a proposal is finalized, the coins from the deposit are either refunded or burned according to the final tally of the proposal:
- If the proposal is approved or rejected but not vetoed, each deposit will be automatically refunded to its respective depositor (transferred from the governance ModuleAccount).
- When the proposal is vetoed with greater than 1/3, deposits will be burned from the governance ModuleAccount and the proposal information along with its deposit information will be removed from state.
- All refunded or burned deposits are removed from the state. Events are issued when burning or refunding a deposit.