Proposal Types
Exploring the different categories and formats of governance proposals within the Carbon ecosystem
Last updated
Exploring the different categories and formats of governance proposals within the Carbon ecosystem
Last updated
There are four main types of governance proposals:
Text - This proposal is presented in written form only, and its implementation will not occur automatically. It may necessitate actions to be taken by external individuals or entities in order for it to be carried out, but is very useful in determining the direction in which the protocol should develop towards.
Community Pool Spend - This can allocate funds from the community pool to the designated address. When submitting this proposal, you should follow the Carbon Development Fund proposal format.
Parameter Change - This can modify of specific chain parameters of the a Carbon module.
Software Upgrade - This can upgrade the core Carbon node at a specific block height.
Other chain-specific proposals include:
Set Reward Weights - This can update spot liquidity pool weights
Set Reward Curve - This can update
IBC Client Update - This can update frozen IBC clients
Update Market - This can update markets that have been already created
All proposals will have these base fields:
title
- title of your proposal
description
- detailed description of the reason for the proposal and what it is going to do
Modifying parameters is similar to adjusting settings. For example, increasing the maximum number of validators from 17 to 21 is a parameter change.
type: "cosmos-sdk/ParameterChangeProposal"
changes.subspace
- Module, e.g. gov, slashing, staking
changes.key
- Parameter key of value to change
changes.value
- Value to change to
Text proposals do not involve a modification of the source code. For example, an opinion poll would use a proposal of type PlainTextProposal.
type: "cosmos-sdk/TextProposal"
Propose a software upgrade to take place at a designated block height or time. If an alternative plan is scheduled, the software upgrade will override it.
type: "cosmos-sdk/SoftwareUpgradeProposal"
Software upgrade will begin on height
or time
proposed, but not both.
plan.name
- Name of the plan.
plan.time
- When chain reaches proposed time, software upgrade will begin.
plan.height
- When chain reaches proposed height, software upgrade will begin.
plan.info
- Metadata about the upgrade.
Propose allocating the community pool fund by transferring a specific amount to a designated recipient address.
type: "cosmos-sdk/CommunityPoolSpendProposal"
recipent
- Account to receive funds from community pool
amount
- Amount to receive
Propose the respective pool weights to determine the distribution of liquidity rewards.
The distribution ratio for a given pool is calculated by taking the weight of the pool divided by the total weight of all pools. Pools that are not included in the proposal will remain unchanged.
type: "liquiditypool/SetRewardsWeightsProposal"
msg.weights.pool_id
- Pool identifier
msg.weights.weight
- Weight of pool
msg.originator
- Proposer's address