* remove client type struct
Remove the client type struct, remove ClientType interface function from Header and Misbehaviour.
ClientState and ConsensusState return the ClientType as a string.
All uses of client type in testing are now pointing at the testing package so changing the location of the client type const will be painless.
* update godoc and add back client type interface func
Add godoc to client type constant for solo machine, tendermint, and localhost as per @fedekunze review suggestion.
Add back the ClientType interface function for misbehaviour and header for solo machine and tendermint and add back the one liner unit tests as per @AdityaSripal suggestion.
* remove client state from return
remove client state from the return of CreateClient, UpdateClient, and CheckMisbehaviourAndUpdateState as well as update tests to reflect this change.
* fix build error introduced by latest merge
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* remove height from tm consensus state
* various updates to removing dep on GetHeight
* inital addition of wrapper around consensus state with height
* fix tests
* remove GetHeight interface func
* wip test
* add test
* apply @AdityaSripal comments
* apply @fedekunze suggestions
Co-authored-by: Aditya <adityasripal@gmail.com>
* Add allow_governance_override_after_expiry flag to tendermint NewCreateClientCmd
* 1) Add LatestTimestamp to ClientState struct by adding a new attribute latest_timestamp to the message ClientState in proto/ibc/tendermint/tendermint.proto
2) Autogenerate x/ibc/07-tendermint/types/tendermint.pb.go by running 'make proto-gen'. Strangely, as a side effect x/distribution/types/genesis.pb.go, x/evidence/types/genesis.pb.go were also modified by the command 'make proto-gen'
3) Add Expired() function
* Fix tests
* 1) Add allow_governance_override_after_expiry flag to tendemint clientStatus
2) Add allow_governance_override_after_misbehaviour flag to tendermint ClientStatus
* Cosmetic changes
* Fix tests
* Add Unfreeze function
* Add new ClientUpdateProposal type
* Add minor fixes
* Add NewClientUpdateProposalHandler unit tests
* Fix proto-lint-docker
* Delete x/ibc/07-tendermint/tendermint_test.go
* Follow convention to put signer last in msg function signature
* 1) Add GetLatestTimestamp function to ClientStatus interface
2) Change Expired() signature to Expired(now time.Time)
* 1) Add override flag to UpdateClient function
2) Fix tests
* Refactor HandleClientUpdateProposal
* 1) Extend exported Header interface with MarshalBinaryBare and UnmarshalBinaryBare methods
2) Move ClientUpdateProposal message to from ibc.proto to client.proto
3) Refactoring code
4) Add override flag to UpdateClient method
5) Fix tests
* 1) Uncomment tests and clean up code
2) Add basic validation of the header (ValidateBasic) when the override flag is true
* Cosmetic changes
* Add TODO comments
* Fix header MarshalBinaryBare, UnmarshalBinaryBare by using protobuf encoding/decoding
* Fix proto comments
* Fix override logic
* undo gettimestamp for solo machine and localhost
* add update after proposal func, some major refactoring in progress, various issues addressed
* fix tendermint proposal update handling
* run make proto-gen
* remove timestamp from tendemint client
* fix build issue for tm types
* apply various review comments
* add tests for 02-client functionality
* self review fixes
* typo
* update tests slightly
* update tendermint proposal handling tests
* Update x/ibc/02-client/keeper/proposal.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* Update x/ibc/07-tendermint/types/proposal_handle.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* Update x/ibc/07-tendermint/types/proposal_handle.go
Co-authored-by: Aditya <adityasripal@gmail.com>
* apply most of @fedekunze and some of @AdityaSripal suggestions
* convert test to bools
* update docs and increase code cov
* fix build
* fix typo, remove omitempty
* add switch
* apply @fedekunze latest suggestions
* fix lint
* Update x/ibc/02-client/keeper/proposal_test.go
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Replaced hardcoded 'cosmos' and 'cosmosvaloper' help references
* Ran make format target
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* update connection versions with feature set flag
* make connection version modular to support channel versioning and registering
* revert IBCVersion renaming, add channel versioning logic
* fix channel version flag
* remove unnecessary godoc
* remove unused func
* fix lint and version test
* add test and fix error
* revert changes
* update docs
* remove unnecessary godoc
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* update doc
* add test cases for unchecked lines
* go fmt
* begin migration to standardized version
* revert proto changes
* restructure versioning to go from string to proto
* update versionStr to encodedVersion naming
* fix version test build
* fix keeper tests
* fix various tests
* fixes from self review
* update docs
* fix lint
* add more code cov
* rename ToString funcs to Encode/DecodeVersion + GetCompatibleEncodedVersions renaming
* update spec docs
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* x/ibc: move /types to /common
* x/ibc/types: remove errors
* remove mocked proofs
* remove invalidProof{}
* create new ibc/types dir
* format
* move keys to host
* move order to channel
* move channel state
* move connection state
* lint