Carbon Governance Forum
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags

    Types of Proposals

    Proposals
    1
    1
    66
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      galaxydefender21 last edited by galaxydefender21

      There are currently 6 types of proposals that can be submitted on Carbon.

      1. Parameter Change
      2. Text Change
      3. Software Upgrade
      4. Cancel Software Upgrade
      5. Community Pool Spend
      6. Set Reward Weights

      Proposals that do not undergo modification of the source code is a plain text proposal. For example, an opinion or signaling poll. A software upgrade proposal however requires the validators to update their software in accordance to the passed proposal. Hence, discussion of the software upgrade may be discussed using plain text proposals and only actual upgrades are done via software upgrade proposals.

      All proposals will have these base fields:

      {
        "title": string
        "description": string
      }
      

      title - title of your proposal
      description - detailed description of the reason for the proposal and what it is going to do

      Parameter Change Proposals

      Parameter changes are like changing settings. For example, increasing the number of validators is a parameter change. Propose a parameter change in the chain. Such as changing the number of max validators from 17 to 21.

      type: "cosmos-sdk/ParameterChangeProposal"

      {
        "title": string
        "description": string
        "changes": Array<{
          "subspace": string
          "key": string
          "value": string
        }>
      }
      

      changes.subspace - Module, e.g. gov, slashing, staking
      changes.key - Parameter key of value to change
      changes.value - Value to change to

      Refer to this list of parameters that can be changed.

      Text

      Proposals that do not involve a modification of the source code go under this type. For example, an opinion poll would use a proposal of type PlainTextProposal.

      type: "cosmos-sdk/TextProposal"

      {
        "title": string
        "description": string
      }
      

      Software Upgrade

      Propose a software upgrade to happen at a specific block height or time. If there is another scheduled plan, it will override it.

      type: "cosmos-sdk/SoftwareUpgradeProposal"

      {
        "title": string
        "description": string
        "plan": {
          "name": string
          "time": string
          "height": int64
          "info": string
        }
      }
      

      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.


      Cancel Sofware Upgrade

      Propose to abort a previously voted upgrade.

      type: "cosmos-sdk/CancelSoftwareUpgradeProposal"

      {
        "title": string
        "description": string
      }
      

      Community Pool Spend

      Propose to spend the community pool fund by sending amount to recipient address.

      type: "cosmos-sdk/CommunityPoolSpendProposal"

      {
        "title": string
        "description": string
        "recipient": string
        "amount": Array<{
          "denom": string
          "amount": Int
        }>
      }
      

      recipent - Account to receive funds from community pool
      amount - Amount to receive

      Set Reward weights

      Propose the respective pools weights to determine the distribution of rewards/fees among pools.

      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"

      {
        "title": string
        "description": string
        "msg": {
          "weights": Array<{
            "pool_id": uint64
            "weight": Int
          }>
          "originator": string
        }
      }
      

      msg.weights.pool_id - Pool identifier
      msg.weights.weight - Weight of pool
      msg.originator - Proposer's address

      1 Reply Last reply Reply Quote 0
      • First post
        Last post