cosmos-sdk/x
Aditya d247184157
Revert Capabilities on Failed Tx (#5999)
Reintroduce memKVStore to keep track of fwd and reverse mappings.

On reverse mapping, rather than store a mapping to marshalled
capability; we store the index.

capability.Keeper and all scopedKeeper have access to a capability
map that maps index to the capability pointer.

This is done to make sure that all writes to memKVStore get reverted
on a fail tx, while also allowing GetCapability to retrieve the original
memory pointer from the go map.

Go map must be accessed only by first going through the
memKVStore. SInce writes to go map cannot be automatically
reverted on tx failure, it gets cleaned up on failed GetCapability calls.

Closes: #5965
2020-04-16 18:42:13 +02:00
..
auth Decouple client/tx from x/auth (#5992) 2020-04-15 23:55:02 +02:00
bank Merge PR #5967: Fixed cliCtx in tx cli 2020-04-09 10:00:10 -04:00
capability Revert Capabilities on Failed Tx (#5999) 2020-04-16 18:42:13 +02:00
crisis Merge PR #5952: Refactor Evidence Age Util + Governable Consensus Params 2020-04-16 11:10:39 -04:00
distribution ci: upload artifacts on failure (#5987) 2020-04-16 12:41:22 +02:00
evidence Merge PR #5952: Refactor Evidence Age Util + Governable Consensus Params 2020-04-16 11:10:39 -04:00
genaccounts Merge PR #5449: Add New constructor for the DecCoin 2020-01-03 15:44:53 -05:00
genutil Enter the new keyring interface (#5904) 2020-04-08 11:38:28 +02:00
gov Merge PR #5952: Refactor Evidence Age Util + Governable Consensus Params 2020-04-16 11:10:39 -04:00
ibc Implement ICS-20 Callbacks (#5984) 2020-04-15 23:37:38 +00:00
mint spring cleanup (#5991) 2020-04-14 19:13:15 +00:00
params Merge PR #6005: x/params: Raw Parameter Querying 2020-04-16 12:22:58 -04:00
simulation Remove dependency of types/module package on x/simulation (#5835) 2020-03-23 12:55:44 +01:00
slashing Merge PR #5967: Fixed cliCtx in tx cli 2020-04-09 10:00:10 -04:00
staking Merge PR #5952: Refactor Evidence Age Util + Governable Consensus Params 2020-04-16 11:10:39 -04:00
supply types/rest: add convenience functions for error checking (#5900) 2020-04-01 09:50:22 +02:00
upgrade Merge PR #5952: Refactor Evidence Age Util + Governable Consensus Params 2020-04-16 11:10:39 -04:00
README.md Merge PR #5463: docs: add link to iavl documentation 2020-01-02 10:25:09 -05:00

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.
  • Bank - Token transfer functionalities.
  • Governance - On-chain proposals and voting.
  • Staking - Proof-of-stake layer for public blockchains.
  • Slashing - Validator punishment mechanisms.
  • Distribution - Fee distribution, and staking token provision distribution.
  • Crisis - Halting the blockchain under certain circumstances (e.g. if an invariant is broken).
  • Mint - Creation of new units of staking token.
  • Params - Globally available parameter store.
  • Supply - Total token supply of the chain.

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