cosmos-sdk/x
colin axnér 46927c31cf
implement solo machine client (#6267)
* pause work until client refactor resolved

* continued scaffolding

* add msgs and evidence

* add update and misbehaviour functionality

* implement cli

* various types compile issues

* add sig proof and various bug fixes

* added rest routes

* verification funcs now update sequence number

* add sm suite and header test

* msgcreateclient and msgupdateclient tests

* add basic evidence test

* evidence validate basic test

* consensus state tests

* rm accidental file

* add verify con state and channel state, pause work for counterparty commitment type

* client state tests added

* update clienttype numbers

* update test added

* add misbehaviour tests

* update alias

* update cli tx

* update import alias

* cleanup code

* remove todo, tested by evidence tests

* add info to err msg

* wrapf

* Update x/ibc/06-solomachine/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/ibc/06-solomachine/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/ibc/06-solomachine/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/ibc/06-solomachine/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/ibc/06-solomachine/update.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/ibc/23-commitment/types/signature.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/ibc/06-solomachine/types/header.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* apply most of the review suggestions from @fedekunze

* remove alias.go

* update cli context with master changes

* merge selective downstream changes from colin/solomachine

* fix build issues

* remove signature proof

* try to migrate to proto

* rm go structs for consensus state and header

* address @fedekunze review and continue proto migration

* fix proto issues

* fix compile bugs in types, proto panics on getpubkey currently

* add timestamp

* update pubkey to be type sdkcrypto.PublicKey

* update timestamp handling

* begin removing amino, migrate to proto

* fix various build issues

* fix most test in types

* change sanitize to produce, fix bug, types test passing

* begin updating cli

* move solomachine into light-clients/

* fix merge issue

* update proto and fix cli

* more fixes and update proto again

* update pubkey to be any

* fix string func issue

* update tests to use testing pkg

* update from tm crypto keys ref to sdk

* fix tests 🎉

* increase codecov

* address TODOs

* address most of @fedekunze comments

* add test case for misbehaviour frozen client

* fix lint

* fix proto lint?

* rename Signature to TimestampedSignature

* remove chainID

* rename FrozenHeight to FrozenSequence

* apply verify consensus state changes requested by @AdityaSripal

* remove dup check

* fix typo in proto file comment

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-08-24 10:06:48 +00:00
..
auth Put AccountSequence in SignerInfo (#6997) 2020-08-21 14:20:47 +00:00
bank Put AccountSequence in SignerInfo (#6997) 2020-08-21 14:20:47 +00:00
capability tendermint: update to rc3 (#6892) 2020-08-14 13:58:53 -04:00
crisis Protobuf audit: base package, module packages, tx/Msg's (#7059) 2020-08-19 07:36:41 +00:00
distribution Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
evidence Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
genaccounts Merge PR #5449: Add New constructor for the DecCoin 2020-01-03 15:44:53 -05:00
genutil Fix add-genesis-account in simd (#7069) 2020-08-17 21:32:16 +00:00
gov Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
ibc implement solo machine client (#6267) 2020-08-24 10:06:48 +00:00
ibc-transfer ibc-transfer: sims updates (#7123) 2020-08-21 04:52:46 -04:00
mint Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
params Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
simulation tendermint: update to rc3 (#6892) 2020-08-14 13:58:53 -04:00
slashing Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
staking Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +00:00
upgrade Verify Client on Connection Handshake (#7057) 2020-08-20 22:05:41 +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.