cosmos-sdk/x/gov/spec
atheeshp 19aeb763a3
refactor: remove query by events for x/gov deposits (#9519)
<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

Closes: #9419 

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/master/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [x] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [x] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [x] reviewed API design and naming
- [x] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
2021-07-30 17:37:38 +00:00
..
01_concepts.md refactor: remove query by events for x/gov deposits (#9519) 2021-07-30 17:37:38 +00:00
02_state.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
03_messages.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
04_events.md MsgWeightedVote -> MsgVoteWeighted 2021-01-24 20:54:25 -05:00
05_future_improvements.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
06_params.md chore: add markdownlint to lint commands (#9353) 2021-05-27 15:31:04 +00:00
README.md Docs: hide frontmatter, bugfixes (#5413) 2019-12-17 08:44:44 -03:00

README.md

gov

Abstract

This paper specifies the Governance module of the Cosmos-SDK, which was first described in the Cosmos Whitepaper in June 2016.

The module enables Cosmos-SDK based blockchain to support an on-chain governance system. In this system, holders of the native staking token of the chain can vote on proposals on a 1 token 1 vote basis. Next is a list of features the module currently supports:

  • Proposal submission: Users can submit proposals with a deposit. Once the minimum deposit is reached, proposal enters voting period
  • Vote: Participants can vote on proposals that reached MinDeposit
  • Inheritance and penalties: Delegators inherit their validator's vote if they don't vote themselves.
  • Claiming deposit: Users that deposited on proposals can recover their deposits if the proposal was accepted OR if the proposal never entered voting period.

This module will be used in the Cosmos Hub, the first Hub in the Cosmos network. Features that may be added in the future are described in Future Improvements.

Contents

The following specification uses ATOM as the native staking token. The module can be adapted to any Proof-Of-Stake blockchain by replacing ATOM with the native staking token of the chain.

  1. Concepts
  2. State
  3. Messages
  4. Events
  5. Future Improvements
  6. Parameters