cosmos-sdk/x
Cuong Manh Le 42a4e4b432
x/bank/types: speedy up by singly sort balances without having to re-iterate (#9260)
The speed is the same as old implementation, but the new one uses slightly
less memory and make the code easier to maintain.

name                    old time/op    new time/op    delta
SanitizeBalances500-8      933µs ± 1%     935µs ± 1%     ~     (p=0.400 n=9+10)
SanitizeBalances1000-8    1.91ms ± 0%    1.92ms ± 0%   +0.58%  (p=0.000 n=10+10)

name                    old alloc/op   new alloc/op   delta
SanitizeBalances500-8      588kB ± 0%     556kB ± 0%   -5.41%  (p=0.000 n=9+9)
SanitizeBalances1000-8    1.18MB ± 0%    1.12MB ± 0%   -5.37%  (p=0.000 n=9+9)

name                    old allocs/op  new allocs/op  delta
SanitizeBalances500-8      5.02k ± 0%     4.02k ± 0%  -19.94%  (p=0.000 n=10+10)
SanitizeBalances1000-8     10.0k ± 0%      8.0k ± 0%  -19.93%  (p=0.000 n=9+10)

Fixes #9259
2021-05-05 14:36:25 +00:00
..
auth Rename memo to note inside CLI (#9134) 2021-05-04 09:00:54 +00:00
authz Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
bank x/bank/types: speedy up by singly sort balances without having to re-iterate (#9260) 2021-05-05 14:36:25 +00:00
capability codec: Rename codec and marshaler interfaces (#9226) 2021-04-29 10:46:22 +00:00
crisis Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
distribution docs: x/distribution spec (#8928) 2021-05-03 18:40:34 +00:00
evidence Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
feegrant Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
genaccounts various linter fixes (#8666) 2021-02-23 08:46:01 +00:00
genutil Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
gov Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
mint Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
params Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
simulation codec: Rename codec and marshaler interfaces (#9226) 2021-04-29 10:46:22 +00:00
slashing docs: x/distribution spec (#8928) 2021-05-03 18:40:34 +00:00
staking Rename clientCtx.JSONMarshaler to JSONCodec (#9251) 2021-05-03 14:45:47 +00:00
upgrade codec: Rename codec and marshaler interfaces (#9226) 2021-04-29 10:46:22 +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.