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 |
||
|---|---|---|
| .. | ||
| auth | ||
| bank | ||
| capability | ||
| crisis | ||
| distribution | ||
| evidence | ||
| genaccounts | ||
| genutil | ||
| gov | ||
| ibc | ||
| mint | ||
| params | ||
| simulation | ||
| slashing | ||
| staking | ||
| supply | ||
| upgrade | ||
| 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.
- 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.