6/18/25Less than 1 minute
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 execute - The 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
- The tier (containing quorum and other metadata, see
- 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
- Any participant with voting power is allowed to vote "for", "against", or "abstain" using
- 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.executeProposalonce the time lock for the tallied proposal has passed