Community Spend Proposal

Community Pool Spend

The Community Pool Spend proposal is a special type of proposal that allows the community to collectively vote on how funds are spent from the community pool.

Selecting community-pool-spend for proposal type after executing the draft-proposal command will request the following parameters:

  • Proposal title: the distinguishing name of the proposal, typically the way the that explorers list proposals.

  • Proposal author(s): the person(s) making the proposal.

  • Proposal summary: a high level, brief overview of the proposal.

  • Proposal details: a detailed, expansive explanation of the proposal.

  • Proposal forum url: the web location which contains more detail and where people can engage in discussion regarding the proposal.

  • Proposal vote option context: The option set of a proposal refers to the set of choices a participant can choose from when casting its vote. The initial option set includes the following options: Yes, No, NoWithVeto, Abstain. TheNoWithVeto counts as No but also adds a Veto vote. Abstain option allows voters to signal that they do not intend to vote in favour or against the proposal but accept the result of the vote.

  • Proposal deposit: the amount of AUM deposited in order for the proposal to be considered. The minimum amount required my MANTRA Chain is 100 OM. (100_000_000 uom).

  • Msg's authority: This is the wallet that has the authority to spend the funds. This is typically the same wallet submitting the proposal.

  • Msg's recipient: This is the recipient wallet address where funds will be sent, if the proposal is accepted.

$ mantrachaind tx gov draft-proposal
✔ community-pool-spend
Enter proposal's title: Example community spend proposal
Enter proposal's authors: Martin Halford
Enter proposal's summary: This is an example community proposal in order to demonstrate the proposal governance mechanism on MANTRA Chain.
Enter proposal's details: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend non magna sit amet efficitur.
Enter proposal's proposal forum url: https://forum.mantrachain.io/proposal-002
Enter proposal's vote option context: Yes, No, NoTWithVeto, Abstain
Enter proposal deposit: 1000000000uom
Enter msg's authority: mantra10d07y265gmmuvt4z0w9aw880jnsr700j3fep4f
Enter msg's recipient: mantra1q40588gdedqncyt0a77mvfmjvyngcr3vh0lsmj
The draft proposal has successfully been generated.
Proposals should contain off-chain metadata, please upload the metadata JSON to IPFS.
Then, replace the generated metadata field with the IPFS CID.

The draft-proposal command will generate two (2) files:

Example draft_proposal.json

{
 "messages": [
  {
   "@type": "/cosmos.distribution.v1beta1.MsgCommunityPoolSpend",
   "authority": "mantra10d07y265gmmuvt4z0w9aw880jnsr700j3fep4f",
   "recipient": "mantra1q40588gdedqncyt0a77mvfmjvyngcr3vh0lsmj",
   "amount": []
  }
 ],
 "metadata": "ipfs://CID", 
 "deposit": "1000000000uom",
 "title": "Example community spend proposal",
 "summary": "This is an example community proposal in order to demonstrate the proposal governance mechanism on MANTRA Chain."
}

Example draft_metadata.json

{
 "title": "Example community spend proposal",
 "authors": [
  "Martin Halford"
 ],
 "summary": "This is an example community proposal in order to demonstrate the proposal governance mechanism on MANTRA Chain.",
 "details": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend non magna sit amet efficitur.",
 "proposal_forum_url": "https://forum.mantrachain.io/proposal-002",
 "vote_option_context": "Yes, No, NoTWithVeto, Abstain"
}

Of the two (2) files, the draft_proposal.json file is submitted to the MANTRA Chain as part of the submit-proposal transaction.

The file draft_metadata.json is referenced within the draft_proposal.json in the attribute "metadata": "ipfs://CID".

Upload the draft_metadata.json to an IPFS location and edit the draft_proposal.json attribute with the uploaded files IPFS location details.

Example draft_proposal.json with edited IPFS location:

{
 "messages": [
  {
   "@type": "/cosmos.distribution.v1beta1.MsgCommunityPoolSpend",
   "authority": "mantra10d07y265gmmuvt4z0w9aw880jnsr700j3fep4f",
   "recipient": "mantra1q40588gdedqncyt0a77mvfmjvyngcr3vh0lsmj",
   "amount": []
  }
 ],
 "metadata": "ipfs://QmatNt96KnybCiuwBNyVBXiicaZJbu54ocUtznegin1zNt", 
 "deposit": "1000000000uom",
 "title": "Example community spend proposal",
 "summary": "This is an example community proposal in order to demonstrate the proposal governance mechanism on MANTRA Chain."
}

Note: IPFS (InterPlanetary File System) is beyond the scope of this document. To learn more about IPS, see https://docs.ipfs.tech. In order to get started with IPFS and be able to upload and download files, you can try https://docs.ipfs.tech/install/ipfs-desktop/ for Windows, Mac and Linux.

Last updated