> ## Documentation Index
> Fetch the complete documentation index at: https://mantrachain.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel software upgrade

The cancel software upgrade proposal attempts to roll back or prevent from initiating a previously accepted software upgrade proposal.

Selecting `cancel-software-upgrade` 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`. The`NoWithVeto` 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 deposited in order for the proposal to be considered. The minimum amount required by MANTRA Chain is 355,552 MANTRA (355552000000000000000000 amantra).
* **Msg's authority:** This is the wallet that has the authority to submit the software update. This is typically the same wallet submitting the proposal.

```
$mantrachaind tx gov draft-proposal
✔ cancel-software-upgrade
Enter proposal's title: Example cancel software upgrade proposal
Enter proposal's authors: Martin Halford
✔ Enter proposal's summary: This is an example cancel █oftware upgrade 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: 355552000000000000000000amantra
Enter msg's authority: mantra10d07y265gmmuvt4z0w9aw880jnsr700j3fep4f
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.upgrade.v1beta1.MsgCancelUpgrade",
   "authority": "mantra10d07y265gmmuvt4z0w9aw880jnsr700j3fep4f"
  }
 ],
 "metadata": "ipfs://CID",
 "deposit": "355552000000000000000000amantra",
 "title": "Example cancel software upgrade proposal",
 "summary": "This is an example cancel software upgrade proposal in order to demonstrate the proposal governance mechanism on MANTRA Chain."
}
```

Example `draft_metadata.json`

```
{
 "title": "Example cancel software upgrade proposal",
 "authors": [
  "Martin Halford"
 ],
 "summary": "This is an example cancel software upgrade 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.upgrade.v1beta1.MsgCancelUpgrade",
   "authority": "mantra10d07y265gmmuvt4z0w9aw880jnsr700j3fep4f"
  }
 ],
 "metadata": "ipfs://QmatNt96KnybCiuwBNyVBXiicaZJbu54ocUtznegin1zNt",
 "deposit": "355552000000000000000000amantra",
 "title": "Example cancel software upgrade proposal",
 "summary": "This is an example cancel software upgrade proposal in order to demonstrate the proposal governance mechanism on MANTRA Chain."
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.