Uses golang.org/x/exp/maps.(Keys, Values) to sort out flagged potential non-determinism issues due to map iteration which is randomized in maps. These were flagged by cosmos/gosec in * https://github.com/cosmos/cosmos-sdk/security/code-scanning/724 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/725 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/726 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/727 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/728 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/729 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/782 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/813 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/814 * https://github.com/cosmos/cosmos-sdk/security/code-scanning/816 which complained about potential non-determinism in map iteration in which we only want appends in map iteration loops, this change instead uses golang.org/x/exp/maps.Keys to retrieve the keys then sort.Strings which simplifies the helper code. This change fixes issues in: * orm/model/ormdb: non-determinism in ExportJSON * store/internal/proofs * types/module * x/auth/keeper * x/bank * x/genutil/client/cli Fixes #13348 |
||
|---|---|---|
| .. | ||
| auth | ||
| authz | ||
| bank | ||
| capability | ||
| consensus | ||
| crisis | ||
| distribution | ||
| epoching | ||
| evidence | ||
| feegrant | ||
| genutil | ||
| gov | ||
| group | ||
| mint | ||
| nft | ||
| params | ||
| simulation | ||
| slashing | ||
| staking | ||
| 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 applications.
- 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.
- Epoching - Allows modules to queue messages for execution at a certain block height.
- Evidence - Evidence handling for double signing, misbehaviour, etc.
- Feegrant - Grant fee allowances for executing transactions.
- 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.
- NFT - NFT module implemented based on ADR43.
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.
CosmWasm
The CosmWasm module enables smart contracts, and has its own repository and documentation site.