On-chain proposals
Lifecycle of a proposal
Proposal creation: A proposal, which is a list of calls to execute, is created by a participant using
GovernanceManager.createProposal
The tier (containing quorum and other metadata, see
DataTypes.Tier
) is set to the highest tier of any of the calls to executeThe proposer votes are computed and checked against the proposal threshold (part of the tier information)
If the proposer has enough voting power, the proposal is started
Voting phase
Any participant with voting power is allowed to vote "for", "against", or "abstain" using
GovernanceManager.vote
A participant can change his/her vote at any time
Proposal conclusion: a vote can be concluded by anyone using
GovernanceManager.tallyVote
If the quorum is reached and the vote threshold is reached, the proposal is queued for execution
If not, the proposal is marked as rejected
Proposal execution: a proposal can be executed by anyone using
GovernanceManager.executeProposal
once the time lock for the tallied proposal has passed
Last updated