Types of Proposals



  • There are currently 6 types of proposals that can be submitted onto Switcheo TradeHub.

    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 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


Log in to reply