cosmos-sdk/x
Rikard Hjort 0b2497049a
Staking spec updates (#8843)
* Overview of keepers in object capability model (OCM)

* Updates to the spec, making clarifications

* Create a sequence diagram of a (fresh) delegation

* Misc notes, not yet decided where to put them

* Description of the shares abstraction in validators

* Model all keeper dependencies and move the UML file to docs

* Move and rename delegation sequence diagram

* Move shares description

* Remove TODO

* Diagram touch-ups

* Add how consensus power is calculated

* remove temp file

* Diagram improvements

* Describe slashing in more detail

* Describe redelegation

* Describe unbonding

* Delegation updates

* Delegation updates

* Make a diagram describing overall transaction flow

* Add delegation flows for the events of tokens being bonded/unbonding/etc.

* Grammar fix

* Diagram updates: distinguish alts, remove numbering.

* Use groups instead of "func:" participants

* Remove unused keepers from dependency diagram

* Add title to unbonding diagram

* Move keeper dependencies

* small doc updates

* remove numbers on sequence diagram

* !!!WIP EndBlock

* Explain "Last"-prefix in storage

* Remove `panic` step (they are supposed to never happen)

* EndBlock sequence diagram (with TODOs)

* Add TODO

* More visible TODOs

* Remove numbering

* Complete EndBlock

* Remove numbering

* Remove TODOs and update title

* add title back

* remove endblock seq-diagram

* spec updates

* Make power index update conditional on not being jailed

* update title

* Delete sequnce diagrams

* Fix tokens to consensus power ratio

* Fix type

Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>

Co-authored-by: hjort <>
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2021-03-19 12:06:53 +00:00
..
auth add +nobuild flags to all relevant test cases (#8934) 2021-03-19 11:24:29 +00:00
authz add +nobuild flags to all relevant test cases (#8934) 2021-03-19 11:24:29 +00:00
bank all: skip noisy/faulty benchmarks + add b.ReportAllocs for every benchmark (#8856) 2021-03-11 15:59:13 +00:00
capability fixed broken links, typos (#8783) 2021-03-09 09:51:52 +00:00
crisis logging (#8785) 2021-03-04 20:40:01 +00:00
distribution x/distribution: fix module's parameters validation (#8918) 2021-03-17 20:06:54 +00:00
evidence fix make protoc error (#8799) 2021-03-05 15:23:01 +00:00
feegrant fix make protoc error (#8799) 2021-03-05 15:23:01 +00:00
genaccounts various linter fixes (#8666) 2021-02-23 08:46:01 +00:00
genutil Fix multisig LegacyAminoPubKey Amino marshaling (#8841) 2021-03-15 12:42:10 +00:00
gov x/upgrade: remove support for time based upgrades (#8849) 2021-03-14 01:03:01 +00:00
mint various linter fixes (#8666) 2021-02-23 08:46:01 +00:00
params various linter fixes (#8666) 2021-02-23 08:46:01 +00:00
simulation various linter fixes (#8666) 2021-02-23 08:46:01 +00:00
slashing Move all migration scripts to v043 (#8814) 2021-03-08 22:36:06 +00:00
staking Staking spec updates (#8843) 2021-03-19 12:06:53 +00:00
upgrade x/upgrade: remove support for time based upgrades (#8849) 2021-03-14 01:03:01 +00:00
README.md Remove IBC from the SDK (#8735) 2021-03-04 13:11:34 +00:00

README.md

List of Modules

Here are some production-grade modules that can be used in Cosmos SDK applications, along with their respective documentation:

  • Auth - Authentication of accounts and transactions for Cosmos SDK application.
  • Authz - Authorization for accounts to perform actions on behalf of other accounts.
  • Bank - Token transfer functionalities.
  • Capability - Object capability implementation.
  • Crisis - Halting the blockchain under certain circumstances (e.g. if an invariant is broken).
  • Distribution - Fee distribution, and staking token provision distribution.
  • Evidence - Evidence handling for double signing, misbehaviour, etc.
  • Governance - On-chain proposals and voting.
  • Mint - Creation of new units of staking token.
  • Params - Globally available parameter store.
  • Slashing - Validator punishment mechanisms.
  • Staking - Proof-of-Stake layer for public blockchains.
  • Upgrade - Software upgrades handling and coordination.

To learn more about the process of building modules, visit the building modules reference documentation.

IBC

The IBC module for the SDK has moved to its own repository.