cosmos-sdk/x
Emmanuel T Odeke 291d966fe9
x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons (#8092)
* x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons

Fixes invalid pointer creation, reduces on unnecessary allocations
inside MerkleProof.Empty, and changes the method to a pointer; the
invalid pointer creation was symptomatic of broad use of values.

With this change we have improvements whose benchmarks produce:

```shell
name     old time/op    new time/op    delta
Empty-8     311ns ± 5%     232ns ± 5%  -25.49%  (p=0.000 n=20+19)

name     old alloc/op   new alloc/op   delta
Empty-8     56.0B ± 0%      8.0B ± 0%  -85.71%  (p=0.000 n=20+20)

name     old allocs/op  new allocs/op  delta
Empty-8      3.00 ± 0%      1.00 ± 0%  -66.67%  (p=0.000 n=20+20)
```

Fixes #8091

* Move Empty godoc to right place + add comments for blank*
2020-12-07 20:57:15 +00:00
..
auth Audit through legacy endpoints to find breaking changes (#8037) 2020-12-03 23:33:32 +00:00
bank x/bank/keeper: fix a missing gRPC error in AllBalances (#8085) 2020-12-07 01:32:59 -08:00
capability [docs]: update building modules section to reflect ADR31 (#7702) 2020-11-17 20:41:43 +00:00
crisis fix typo (#8097) 2020-12-07 11:26:09 +00:00
distribution Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
evidence Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
genaccounts CLI `migrate` command follow-up: decode & re-encode (#7464) 2020-10-09 19:09:43 +00:00
genutil CLI `migrate` command for x/{upgrade,params} proposals (#7875) 2020-11-24 23:32:32 +00:00
gov Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
ibc x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons (#8092) 2020-12-07 20:57:15 +00:00
mint Refactor Logging using Zerolog (#8072) 2020-12-03 23:17:21 +00:00
params Refactor Logging using Zerolog (#8072) 2020-12-03 23:17:21 +00:00
simulation x/simulation: make signals channel buffered to avoid missing signals (#7952) 2020-11-17 14:27:12 +00:00
slashing Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
staking Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
upgrade Rename GRPCRouter (#8079) 2020-12-04 15:06:50 +00:00
README.md docs: improve IBC guide (#6472) 2020-07-07 06:19:36 -04: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.
  • 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.
  • IBC - IBC protocol for transport, authentication adn ordering.
  • IBC Transfer - Cross-chain fungible token transfer implementation through IBC.
  • 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.