cosmos-sdk/x
Emmanuel T Odeke d2b914781b
x/genutil: fix CollectTxs traversal logic (#6913)
* x/genutil: fix CollectTxs traversal logic

Fixes the file traversal of CollectTxs to correctly skip over
directories instead of trying to read them, failing and erroring
out.

Also while here, changed the order to perform the os read
only after the AppState UnmarshalJSON has succeeded, otherwise
an attack vector can be to purposefully request many file stats
which touches kernel resources, while  just causing failures
indefinitely.

Fixes #6788

* address comments

* Fix test by passing in blank AppState

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-10-08 11:22:39 +00:00
..
auth Use nil instead of protobuf.Empty in genesis BaseAccount (#7463) 2020-10-06 16:07:37 +00:00
bank 0.39->0.40 CLI `migrate` command (#6839) 2020-10-05 21:28:14 +00:00
capability remove amino from x/capability (#7389) 2020-09-25 11:43:19 +00:00
crisis Change `address` from bytes to bech32 strings (#7242) 2020-09-25 10:25:37 +00:00
distribution UpgradeClient Followup #1 (#7457) 2020-10-08 09:22:22 +00:00
evidence 0.39->0.40 CLI `migrate` command (#6839) 2020-10-05 21:28:14 +00:00
genaccounts 0.39->0.40 CLI `migrate` command (#6839) 2020-10-05 21:28:14 +00:00
genutil x/genutil: fix CollectTxs traversal logic (#6913) 2020-10-08 11:22:39 +00:00
gov 0.39->0.40 CLI `migrate` command (#6839) 2020-10-05 21:28:14 +00:00
ibc add ConsensusParams to ClientState (#7456) 2020-10-08 11:01:55 +00:00
mint Change `address` from bytes to bech32 strings (#7242) 2020-09-25 10:25:37 +00:00
params Change `address` from bytes to bech32 strings (#7242) 2020-09-25 10:25:37 +00:00
simulation LGTM alerts audit (#7440) 2020-10-02 15:13:58 +02:00
slashing 0.39->0.40 CLI `migrate` command (#6839) 2020-10-05 21:28:14 +00:00
staking Update TM to latest (+add test) (#7442) 2020-10-08 12:44:11 +02:00
upgrade UpgradeClient Followup #1 (#7457) 2020-10-08 09:22:22 +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.