The prior code that tried to get the newest/larger time between the too performed: * 2 time.Time.UnixNano() retrievals: 2 multiplications, 2 additions * 1 math.Max comparison * 1 time.Unix(0, minTime) creation but really this code could just use native operations on: time.Time.After() simply. This now becomes a single operation, single comparison for the same effect.
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.