Commit Graph

533 Commits

Author SHA1 Message Date
Federico Kunze 2f25c9a0d8
x/ibc: solo machine signature format (#7237)
* x/ibc: solo machine signature format

* update tests and verification

* diversifier updates

* update tests

* fix lint

* Update x/ibc/light-clients/solomachine/types/header_test.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* update test

* misbehaviour sign bytes

* consensus state tests

* fix tests

* more fixes

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-09-07 12:46:48 +00:00
dauTT b52ffa08e1
Implement ADR 026 (#7029)
* 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>
2020-09-04 20:59:22 +00:00
Aditya 12d95de096
7211 followup (#7235)
* address chris comment and cleanup

* Update x/ibc/07-tendermint/types/misbehaviour_handle.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-09-04 09:22:08 +00:00
atheeshp 5df7dbc182
Register gRPC Gateway routes (#7173)
* added unimplemeted code

* added a test for bank get balances

* fixed lint

* Fix decode error

* fixed tests

* added missing gRPC tests for x/bank

* added tests for params, rewards in x/distribution

* added tests for x/distr grpc tests

* added todos

* removed register grpc routes

* registered x/ibc client handlers

* updated todos

* fixed error

* fixed tests

* review changes

* review change

Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-09-04 08:24:19 +00:00
Aditya 4f9e31ea21
x/ibc: implement Height interface (#7211)
* change interfaces

* fix tendermint client interfaces

* fix other clients interfaces

* fix queries

* fix tendermint build

* fix builds of clients

* fix 02-build

* start fixing connection and make queries non-nullable

* fix connection keepers and queries

* fix connection build

* fix channel build

* fix all non-test files

* fix testing build

* cleanup

* lint

* fix timeout height interface

* fix tendermint tests

* fix rest of clients

* fix connection tests

* fix client tests

* fix channel tests

* fix all ibc tests

* fix transfer tests:

* docs

* fix connection query

* Apply suggestions from code review

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

* wrap-up review

Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-09-03 16:23:20 -04:00
colin axnér 979e8144fb
move IBC exported files to one location to avoid circular deps (#7224)
* move exported files to one location to avoid circular deps

* gofmt

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-09-02 16:38:50 +00:00
Jack Zampolin 7d64086d33
Ensure IBC Proto Registration (#7210)
* init commit

* Add simulation request

* Push progress

* ensure exported interfaces and their concrete implementations are registered in ibc modules

* revert CalculateGas changes

* Fix simulation response unmarshal

* ensure exported interfaces and their concrete implementations are registered in ibc modules

* Passing tests

* Fix lint issues

* Update client/tx/tx.go

Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-09-01 20:59:48 +00:00
Federico Kunze b52131d60c
ibc: remove GetChainID (#7219)
* ibc: remove GetChainID

* update

* test

* Update x/ibc/09-localhost/types/client_state.go

Co-authored-by: Aditya <adityasripal@gmail.com>
2020-09-01 17:57:19 +00:00
colin axnér d7175e12c2
remove old client messages (#7218) 2020-09-01 12:38:40 -04:00
colin axnér 5560a12416
Fix 02-client message marshal and unmarshal issues (#7217)
* add test for encoding issue

* add unpackinterfaces for msg create client

* add unpackinterface and tests for update client and misbehaviour
2020-09-01 09:43:14 -04:00
Federico Kunze 0fffaf589b
ibc: modular client messages (#7160)
* ibc: modular client messages

* more updates

* remove client messages

* fixes

* fix tests

* lint

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* codec.go tests

* cleanup exported

* MsgCreateClient test

* msg tests

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* fix tests

* proto files update

* errors

* address comments

* spec changes

* add sanity check test cases

* add additional sanity check

* fix expPass

* fix build and remove unnecessary test since validatebasic is checked in the msg

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya Sripal <adityasripal@gmail.com>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
2020-09-01 10:40:31 +00:00
Aditya 1c9158b746
quick fix (#7212) 2020-09-01 08:00:36 +00:00
Aditya d208d2bed8
Make clients use proto Height (#7184)
* start using Height in TM client

* fix client tests

* fix client tests

* fix connection tests

* fix rest of tests

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* fix simple issues

* add and use LTE and GTE methods

* remove TM-specific height semantics from 02-client

* fix lint and build

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-31 17:57:08 +00:00
colin axnér fc75d14c88
Rename PacketExecuted to ReceiveExecuted (#7206)
* update ibc-transfer

* rename PacketExecuted -> ReceiveExecuted
2020-08-31 15:36:01 +00:00
colin axnér 843bd24bca
Add a mock application module to test core IBC (#7187)
* update setup to use channeltype and add mock app module

* rm print statement

* claim channel cap

* fix up test

* Update x/ibc/testing/coordinator.go

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

* apply @fedekunze review suggestions

Co-authored-by: Aditya Sripal <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-31 13:58:23 +00:00
Aditya 5ee4fad501
Remove Evidence handler from IBC (#7196)
* fix builds

* fix tests

* lint

* Update x/ibc/02-client/handler.go

* Update x/ibc/handler.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-08-29 14:20:48 +00:00
SaReN 23a9f46aad
Update tm pubkey references (#7102)
* Update pubkey references

* Update ledger_mock

* Migrate encoding from tm

* Update pubkey prefix

* revert ed25519 to tendermint key

* random account revert

* Revert ed25519 references

* revert secp key name

* test revert

* remove ed25519

* Update x/staking/types/validator.go

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* Revert "remove ed25519"

This reverts commit 66d2e1d061aeae81c4c0a3daf718536b09dda19e.

* remove ed25519 & sr25519

* Apply suggestions from code review

* remove codec

Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
2020-08-28 16:02:38 +00:00
Aditya 41bc9fb8e6
Fix setting NextSequenceAck (#7181)
* Fix setting NextSequenceAck

* Update x/ibc/04-channel/keeper/packet_test.go

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-27 19:01:12 +00:00
Aditya 9fc0dbbe05
Rename Evidence to Misbehaviour in IBC (#7151)
* rename Evidence to Misbehaviour in IBC code

* tidy go.sum

* remove more references to evidence

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* Update x/ibc/07-tendermint/client/cli/tx.go

* nit and doc

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-26 17:51:13 +00:00
colin axnér e09c8d9360
Fix AcknowledgePacket and AcknowledgementExecuted bug + update testing pkg (#7170)
* upstream cosm wasm testing pkg fixes

* fix bug, tests and undo rand addition

* fix lint

* go mod tidy
2020-08-26 12:11:31 +00:00
Marie 7f59723d88
Make JSONMarshaler methods require proto.Message (#7054)
* Make JSONMarshaler require proto.Message

* Use &msg with MarshalJSON

* Use *LegacyAmino in queriers instead of JSONMarshaler

* Revert ABCIMessageLogs String() and coins tests

* Use LegacyAmino in client/debug and fix subspace tests

* Use LegacyAmino in all legacy queriers and adapt simulation

* Make AminoCodec implement Marshaler and some godoc fixes

* Test fixes

* Remove unrelevant comment

* Use TxConfig.TxJSONEncoder

* Use encoding/json in genutil cli migrate/validate genesis cmds

* Address simulation related comments

* Use JSONMarshaler in cli tests

* Use proto.Message as respType in cli tests

* Use tmjson for tm GenesisDoc

* Update types/module/simulation.go

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

* Update types/module/module_test.go

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

* Add godoc comments

* Remove unused InsertKeyJSON

* Fix tests

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-26 09:39:38 +00:00
atheeshp 78194e1cdd
gRPC gateway init (#7019)
* WIP: grpc server setup

* add register grpc routes

* updated go mod

* updated grpc for all modules

* added pb file for grpc gateway

* udpated gw file

* added a test for grpc route

* fixed conflicts

* added grpc server

* grpc tests added

* cleanup

* Fix gateway forward issue

* Add godoc

* updated tests

* fix lint

* fix tests

* fix tests

* fix tests

* fixed test

* Add grpc headers

* Fix error handling

* Fix tests - hacky

* Fix lint

* remove debug logs

* Fix review comments

* move grpc tests into a separate file

* Fix protobuf version

* Update x/capability/module.go

* Fix godoc

* Fix review suggestions

* Fix codec

* Add query params test for gateway request

* Fix gofmt

Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-25 15:44:13 +00:00
colin axnér 1f7a2787aa
Final IBC migration and Amino removal (#7157)
* migrate tm messages and change header/evidence to pointers

* remove amino

* add nil checks and test for pointer changes

* fix format
2020-08-25 10:17:38 -04:00
colin axnér d52c17bb74
migrate tm evidence to proto (#7145)
* migrate tm evidence to proto

* Update proto/ibc/tendermint/tendermint.proto

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-08-24 21:12:47 +00:00
colin axnér 49e4d059ae
Allow localhost to be created (#7148)
* revert localhost not being created

* Update x/ibc/02-client/keeper/grpc_query_test.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-24 18:37:11 +00:00
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
Aditya 6798b66785
improve coverage (#7136) 2020-08-22 08:24:36 +00:00
Aditya 97df8b605c
Verify Client on Connection Handshake (#7057)
* verify client state

* add client state to msgs and retrieve in handler

* fix connection msgs

* fixed handshake tests

* fix tests

* fix sim tests

* revert pb edit

* add ValidateClient tests

* Apply suggestions from code review

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

* fix tests

* fixed msgs test

* use ibctesting for client state consts

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* address rest of comments

* rename to ValidateSelfClient and update spec

* lint

* Update x/ibc/02-client/keeper/keeper_test.go

* Update x/ibc/02-client/keeper/keeper_test.go

* complete rest of review

* improve cov

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-20 22:05:41 +00:00
colin axnér be0cc63808
Migrate IBC tendermint header to proto (#7120)
* gen header proto file

* fix tm type to proto conversion issues

* fix tendermint type tests

* fix remaining tests

* fix lint

* Update x/ibc/07-tendermint/types/header.go

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

* Update x/ibc/07-tendermint/types/header.go

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

* apply @fedekunze review suggestions

* fix build

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-20 11:46:11 -04:00
Federico Kunze 3368dae5f5
x/ibc: final gRPC migration (#7077)
* x/ibc: final gRPC migration

* grpc test

* query client consensus states

* remove dup type

* query constructors

* CLI queries

* missing cmd

* latest consensus state

* parser test

* register query service

* Update x/ibc/02-client/client/cli/query.go

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* Update x/ibc/module.go

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* few grpc tests

* fix tests

* final gRPC tests

* rm comment

* address @colin-axner comment

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-20 10:23:19 -04:00
Federico Kunze 16435a0f4d
ibc: TimeoutOnClose support (#7066)
* ibc: TimeoutOnClose support

* revert added callback

* update proto

* update spec and add msg test

* update handler and add test

* apply self-review changes

* apply @fedekunze review suggestion

Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-20 07:19:57 -04:00
Aditya 8f51c150de
#7028 followup (#7104)
* use cleaner helper function

* fix error strings

* lint

* typos

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-08-19 14:39:17 +00:00
Federico Kunze 740a4c50c7
ibc: remove legacy REST endpoint support (#7083) 2020-08-18 08:39:40 -04:00
Alexander Bezobchuk 7d2062b674
x/bank: gRPC Params Route (#7070)
* update x/bank proto gRPC query service

* fix path

* update keeper

* add godoc

* add test

* lint++
2020-08-17 13:55:04 +00:00
Neeraj Murarka 2079576cbe
Replaced hardcoded 'cosmos' and 'cosmosvaloper' help references (#7056)
* Replaced hardcoded 'cosmos' and 'cosmosvaloper' help references

* Ran make format target

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-08-17 09:04:50 +00:00
Federico Kunze 3022fe9044
x/ibc-transfer: ADR001 source tracing implementation (#6871)
* x/ibc-transfer: ADR001 source tracing implementation

* gRPC proto file

* validation

* fix validation

* import export genesis

* relay.go updates

* gRPC service methods

* client CLI

* update implementation

* build

* trace test

* fix CLI tx args

* genesis import/export tests

* update comments

* update proto files

* GRPC tests

* remove field from packet

* fix coin validation bug

* more validations

* update comments

* minor refactor

* update relay.go

* try fix test

* minor updates

* fix tests

* fix test

* ADR updates and comments

* build

* Apply suggestions from code review

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* address a few comments from review

* gRPC annotations

* update proto files

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* address comments

* docs and changelog

* sort traces

* final changes to ADR

* client support for full path denom prefixes

* address @AdityaSripal comments

* address TODO

* increase test timeouts

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-14 17:46:26 -04:00
Marko 8de96d16f9
tendermint: update to rc3 (#6892)
* modify light imports

* change abci.header to tmproto.header

* use rc

* rc

* fix import

* Merge PR #6893: fix key imports

* fix rc2

* tendermint: update 3 (#6899)

* tendermint: update 4 (#6919)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* tendermint: update 5 (#6923)

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

* bump to latest master

* tendermint: update (#6972)

Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: Cory Levinson <cjlevinson@gmail.com>

* Update x/ibc/07-tendermint/types/test_utils.go

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

* address comment

* go mod

* bring back things

* fix test

* update tm proto files

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: Cory Levinson <cjlevinson@gmail.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-08-14 13:58:53 -04:00
atheeshp f87624e9de
Add Grpc gateway annotations (#6918)
* grpc for bank module

* edit module.go

* added annotations for x/auth query proto

* generated gw file

* added grpc gateway for x/staking query proto

* added annotations for evidence

* added annotations for gov query proto

* added annotations

* added annotations for slashing module

* updated annotations

* added annotations for staking module

* added annotations for upgrade query

* annotations added for x/ibc/channel query proto

* added annotations for ibc/connection query proto

* updated annotations

* updated annotations

* annotation changes

* ommitted ibc module

* updated go.mod

* fixed lint issue

* review changes

* review changes

* review changes

* review changes

* go sum changes

* updated annotations

* annotation changes

* Fix proto lint issues

* review changes

* review changes

* review changes

* discussion changes

* review changes

* grpc for bank module

* edit module.go

* added annotations for x/auth query proto

* generated gw file

* added grpc gateway for x/staking query proto

* added annotations for evidence

* added annotations for gov query proto

* added annotations

* added annotations for slashing module

* updated annotations

* added annotations for staking module

* added annotations for upgrade query

* annotations added for x/ibc/channel query proto

* added annotations for ibc/connection query proto

* updated annotations

* updated annotations

* annotation changes

* ommitted ibc module

* updated go.mod

* fixed lint issue

* review changes

* review changes

* review changes

* review changes

* go sum changes

* updated annotations

* annotation changes

* Fix proto lint issues

* review changes

* review changes

* review changes

* discussion changes

* review changes

* fixed conflicts

* review changes

* updated gw files

* lint

* lint

* lint

* added missing annotations

* review changes

* review changes

* review changes

* review changes

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
2020-08-14 10:05:35 +00:00
Amaury Martiny 5559af8b97
Proto Auditing: Replace ID with Id (#7032)
* Proto Auditing: Replace ID with Id

* make proto-gen

* Update docs

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-14 08:55:54 +00:00
Aditya 3735b182bc
Modular IBC Client (#7028)
* start modular client work

* fix panic

* reuse keeper marshal methods

* readd TODO

* add nil checks for misbehaviour

* address reviews

* address rest of reviews and fix builds

* fixed tests

* address rest of reviews

* fix expired blocks bug

* fix expired bug
2020-08-14 04:47:13 -04:00
Aaron Craelius 816c5a37bd
Enable proto JSON generally and remove HybridCodec (#6859)
* Remove HybridCodec

* WIP on fixing proto JSON issues

* WIP on fixing proto JSON issues

* WIP on fixing proto JSON issues

* WIP on fixing proto JSON issues

* WIP on fixing proto JSON issues

* Test fixes

* Delete hybrid_codec.go

* Fixes

* Fixes

* Fixes

* Test fixes

* Test fixes

* Test fixes

* Lint

* Sim fixes

* Sim fixes

* Revert

* Remove vesting account JSON tests

* Update CHANGELOG.md

* Lint

* Sim fixes

* Sim fixes

* Docs

* Migrate more amino usages

* Remove custom VoteOption String() and json marshaling

* Fix tests

* Add comments, update CHANGELOG.md

Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-08-13 13:20:02 +00:00
colin axnér 3a4e608930
Add clientState and consensusState gRPC support to connection (#7017)
* add proto querys for connection

* add client state and consensus state grpc for connection

* update client utils
2020-08-12 08:54:38 -04:00
colin axnér d752a7b21f
ConsensusState is retrieved by light clients in verifyXYZ as necessary (#7005)
* move con state retrieval to verify funcs

* refactor tm client state tests

* fix build

* Apply suggestions from code review

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

* apply @fedekunze review comments

* apply @AdityaSripal review comment

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
2020-08-12 05:20:29 -04:00
Aditya 7ea6467678
Misbehaviour Followup (#6989)
* cherry-pick first commit and fix conflicts

* fix final issues in client_test

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* fix rest of comments

* add validatebasic check and fix tests

* fix godoc

* Update x/ibc/07-tendermint/misbehaviour.go

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* address final nits

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-08-11 16:38:17 +00:00
Aaron Craelius 20c5ee3624
Enable proto JSON for genesis (#7000)
* Enable proto JSON for genesis

* Test fixes

* Cleanup

* Cleanup

* Cleanup

* Update CHANGELOG.md

* Protogen

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>
2020-08-11 14:22:30 +00:00
colin axnér 1744194e71
x/ibc: migrate rest of 04-channel to gRPC (#6964)
* migrate channel querier to grpc

* fix various issues in channel grpc migration

* remove querier and add tests

* fix lint

* update utils based on self review

* Update x/ibc/24-host/keys.go

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

* apply @fedekunze review suggestions

* fix build

* fix build

* run make proto gen again

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-11 08:29:29 -04:00
Cory 61a97ef347
Audit / Refactor proto packages layout (#6905)
* create base proto package, move ValAddresses to staking

* move tx, crypto, query proto packages into base; mark module level packages as beta

* new cosmos/base/abci.proto file, refactor some message names

* add comments to TxResponse

* refactor RegisterInterface calls to new proto package names

* fix bug in merge commit

* move missing module proto packages to beta, move cosmos.kv to cosmos.base.kv

* add tx.proto files, holding proto messages for module Msgs

* rm old generated pb.go files

* cosmos/base/base.proto -> cosmos/base/coin.proto

* mark genutil proto package as beta

* Fix conflicts

* Restructure proto files

* Re put signing

* Fix test

* Update slashing genesis

* Ignore confio proto files

* Fix interface register

* Make proto-gen

* Fix lint

* Put tx service into tx.v1beta1

* Use v1beta1 in interface registry

* Remove to cosmos.base.store

* Remove extra confio in buf

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-11 11:49:45 +00:00
Alexander Bezobchuk 0f44d1af23
store: Remove Amino (#6984)
* Update kv pair to proto

* updates

* fix LastCommitID

* lint++

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-08-11 10:09:16 +00:00
Aaron Craelius 7de8ef75b3
Require proto.Message in client.Context.PrintOutput (#6999)
* Enable proto JSON json for cli tx & query

* WIP on tests

* Test fixes, cleanup

* Cleanup

* Address review comments

* Update client/context.go

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* Fixes

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
2020-08-11 03:19:49 -04:00
dauTT 20c80cfd44
Rename *codec.Codec to *codec.LegacyAmino (#6991)
* Rename *codec.Codec to *codec.LegacyAmino

* Implement requested changes

Co-authored-by: Aaron Craelius <aaron@regen.network>
2020-08-10 19:41:21 +00:00
colin axnér 6ebc476474
don't create localhost (#6974) 2020-08-07 12:42:12 +00:00
atheeshp ceba0cb45d
x/ibc migrate genesis proto (#6878)
* migrated channel genesis types to proto

* connection genesis types migrated to proto

* client proto migration

* failing tests due to tendermint part incomplete

* add genesis test

* x/ibc: ClientState Any

* add genesis test

* suite NotPanics

* comment tests

* update export logic

* refactor

* update test

* fix non-determinism

* castrepeated

* x/ibc: migrate simulations to protobuf

* add proto genesis

* add UnpackInterfaces func to genclientstate

* add unpackinterfaces for consensus states

* formatting

* fix genesis tests

* add modified genesis test

* update comments

* remove localhost register codec

* use app registry

* fix bug

* Update simapp/app.go

* Update x/ibc/02-client/types/genesis.go

* unmarshaler interface

Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
2020-08-07 08:33:47 +00:00
colin axnér 0e4d67601f
Migrate Consensus State to being proto encoded/decoded in 02-client (#6960)
* flip switch to proto on consensus state in 02-client

* change consensus state to pointer

* fix bug

* remove amino from connection

* some test cleanup
2020-08-06 07:06:14 -04:00
colin axnér 3076a8b12e
Migrate tendermint consensus state to proto (#6957)
* migrate tm consensus state to proto

* update con state

* register con state

* add confio to proto lint exclude

* Update proto/ibc/tendermint/tendermint.proto

* casttype to hexbytes

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-06 05:21:56 -04:00
Aditya e3391ff447
Remove ValidatorSet from ConsensusState (#6942)
* fix stash merge

* fix build errors

* fix tendermint types test

* fix tendermint tests

* fix client tests

* fix rest of ibc tests

* include TrustedHeight in Header

* fix all tests

* fix all tests

* remove validatorshash from consensus state

* lint

* add evidence checks

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* refix build

* remove redundant hashing in tests

* complete rest of minor review requests

* make format

* suite.valsetHash

* fix test

* Update x/ibc/07-tendermint/misbehaviour.go

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-08-06 08:32:19 +00:00
SaReN 95cf3c95a6
Remove old tx code from rest (#6939)
* Cleanup rest txs

* Remove nolint

* Update x/ibc to use WriteGeneratedTxResponse

* Update marshaler usages

* Fix PostProcessResponse test

* Update PostProcessResponse
2020-08-05 18:08:13 +00:00
colin axnér 1a531cb645
x/ibc: migrate 02-client to use proto encoded/decoded client states (#6948)
* begin migration

* make client state a pointer

* fix build

* fixes from self review and rename cdctypes -> codectypes

* add godoc
2020-08-05 11:14:24 -04:00
colin axnér 79cee06967
Migrate Tendermint client state to proto (#6932)
* add tm client state proto file

* migrate tm client state to proto

* bump ics23 dep

* add issue link to makefile
2020-08-04 16:31:50 +00:00
colin axnér cb5c93213c
remove GetCommitmentType and register commitment interfaces (#6927)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-08-04 09:12:52 +00:00
Aditya 9b61e0947e
Remove Last Header from ClientState (#6873)
* implement features, fix tendermint tests

* allow test headers to pass in custom nextvalidatorset

* allow updates to previous heights and test

* remove unnecessary testing feature

* fix client tests

* fix ibc tests, and updating consensus state

* fix ibc-transfer tests

* appease linter

* Apply suggestions from code review

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

* add chainID test case

* fix expPass value

* Apply suggestions from code review

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

* address rest of @colin-axner review

* fix bug and errors

* Apply suggestions from code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>

* address rest of @colin-axner review

* implement updating before frozen height

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>
2020-08-04 05:05:03 -04:00
colin axnér 57cd7d62b3
migrate localhost client state to proto (#6925)
* migrate localhost to proto

* localhost returns err on verify consensus state

* fix lint
2020-08-03 09:45:15 -04:00
colin axnér 00961f2082
x/ibc: remove parts of amino (#6819)
* remove amino from channel types

* fix unmarshal error

* fix msgs_test

* update msgs test with underscore json encoding

* remove amino from connections

* purge amino from ibc-transfer

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-08-03 08:08:41 -04:00
dauTT 4c4538947f
Allow empty version strings (#6909)
* Allow empty version strings (left over from PR #6904)

* Update spec

Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-08-03 03:50:40 -04:00
colin axner b3bbca343f
fix ibc-transfer source bug (#6865)
* update proto and refactor types test

* cleanup SendTransfer

* fix build and prep to update handler tests

* fix handler tests

* fix tests

* update spec

* fix lint

* Apply suggestions from code review

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

* rename amount to token

* merge send transfer and createOutgoingPacket

* apply rest of @fedekunze review suggestions

* apply review suggestions from @AdityaSripal

* update spec to token renaming

* split token in denom and amount when creating fungible token packet

* remove source flag, add prefix on recv

* fix lint

* fix proto numbers

* Update x/ibc-transfer/keeper/relay.go

Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>

* apply @cwgoes review suggestions

* Apply suggestions from code review

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

* apply @fedekunze suggestions

* Apply suggestions from code review

* fix lint

* apply @AdityaSripal review requests

* Update x/ibc-transfer/types/coin.go

* apply @AdityaSpripal last suggestions

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-08-01 09:16:22 +00:00
dauTT 8e67a5d23b
Allow empty version strings (#6904)
* Allow empty version strings

* Restore empty version.Identifier check

* Fix test

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-31 18:18:05 +00:00
Federico Kunze 25c539aade
x/ibc: fix log (#6903)
* x/ibc: fix log

* Update x/ibc/05-port/keeper/keeper.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-07-30 21:00:58 +00:00
Marko 617b822efa
types: add kv type (#6897)
* add kv type

* add changelog entry

* fix build

* replace sdkkv with kv

* revert change

* fix some tests

* proto-gen

* fix tests

Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-30 14:53:02 +00:00
colin axner fe6a341b4e
fix nil check bug (#6895) 2020-07-30 08:25:03 -04:00
Aditya c7dab51192
remove ack length limit (#6874)
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-29 10:46:44 +00:00
Federico Kunze 2651427ab4
x/ibc-transfer: use ibc testing package (#6641)
* x/ibc-transfer: use ibc testing package

* coin denom failure

* update handler tests

* refactor first test in relay

* update onrecvtest, failing tests expected due to existing bug

* update on acknowledgement test, failing test is expected

* refactor timeout test

* revert coin validation changed, comment out tests

* minor fix

* update coordinator.go

* update coordinator.go

* add comment to fix handler test

* add link to issue in handler test

* fix test

Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-28 08:24:13 +00:00
dauTT 5a7e22022c
Implement ADR 024 - Coin Metadata (#6821)
* Implement ADR 024 - Coin Metadata

* Fix lint

* Fix proto lint

* Index metadata by denom

* Fix test

* Fix proto comments

* Add GetAllDenomMetaData help method and refactor code accordingly

* Add x/bank/keeper/genesis_test.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-28 07:49:56 +00:00
Aditya 5676e7293f
Remove ID from ClientState (#6823)
* remove id from clients, build works

* fix client state tests

* fix tests

* address @fedekunze review

* Apply suggestions from code review

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* lint

* remove commented-out test case

* Update x/ibc/02-client/keeper/keeper_test.go

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>
2020-07-27 18:43:09 +00:00
Aaron Craelius 20488b4f8e
Make all IBC Msg types use pointers (#6857)
* Make IBC Msg types use pointers

* Fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-27 16:21:24 +00:00
Marie f59df68a97
Migrate x/genutil to use TxConfig (#6734)
* Update genutil collect and gentx to use TxGenerator

* Remove print statement

* Use Tx in genutil DeliverGenTxs

* Use Tx in genutil genesis_state

* Use Tx in ValidateGenesis

* Use amino txJSONDecoder and txBinaryEncoder in genutil InitGenesis

* Use TxConfig in place of TxGenerator

* Add gentx tests

* Remove commented line

* Test fixes

* Apply suggestions from code review

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Fixes

* Fixes

* Fixes

* Fixes

* Remove unneeded test case (doesn't apply to proto marshaling)

* linting

* Refactor to use new TxEncodingConfig interface in genutil module

* Replace golang/protobuf with gogo/protobuf package

* Use TxEncodingConfig in InitTestnet

* Remove old amino.go file

* Use TxJSONDecoder in genutil ValidateGenesis

* Add parameter to ValidateGenesis to resolve the tx JSON decoder issue

* Address review feedback

Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-25 08:10:04 +00:00
Anil Kumar Kammari 3bafd8255a
Remove hybrid codec usage (#6843)
* remove hybrid codec for slashing, staking and upgrade

* Remove hybridcodec from params and mint

* revert staking

* Fix gov

* Fix ibc and evidence

* Fix ibc-transfer

* Fix staking

* remove evidence json marshaling

* Fix tests

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-25 08:03:58 +00:00
Aaron Craelius 80f7ff62f7
Start removing HybridCodec (init + auth, bank, distribution) (#6838)
* Start to remove HybridCodec

* Rename

* Fixes

* Test fixes

* Cleanup
2020-07-24 19:04:29 +00:00
Anil Kumar Kammari e906c012a0
add page flag for CLI queries (#6824)
* add page flag for CLI queries

* fix review suggestions

* Fix `page` flag default value

* fix offset calc

* Apply suggestions from code review

Co-authored-by: Aaron Craelius <aaron@regen.network>

* fix review suggestions

* refactor

* fix returning error

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-24 08:17:11 +00:00
Aaron Craelius 1538e65478
Fix module interface registration (#6834) 2020-07-23 22:45:34 -04:00
colin axner ef0a7344af
x/ibc: remove ID from ConnectionEnd (#6814)
* remove connection id

* various test and code fixes

* fix tests

* Update proto/ibc/connection/connection.proto

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

* rename utils.go to parse.go in host

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-22 09:59:15 -04:00
colin axner e9627abc54
bump identifier maximum to 64 characters (#6812)
* bump identifier maximum to 64 characters

* fix tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-22 10:20:41 +00:00
colin axner 35a59b1573
rename MsgPacket to MsgRecvPacket (#6813) 2020-07-22 10:01:57 +00:00
colin axner 97a83e9c78
Update IBC events docs and code (#6798)
* update msgs type from opaque

* update spec for createclient

* update events spec for handshake cals

* update packet events for spec and code

* add relayer events doc

* update ibc-transfer events

* fix build

* small fix from self review

* update channel msgs types

* acknowledgement_packet -> acknowledge_packet

* Apply suggestions from code review

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

* fix spec issues for ibc and ibc-transfer

* add golang relayer link

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-21 12:56:14 -04:00
atheeshp 9ee14ee985
Add pagination flags to x{ibc, bank} (#6804)
* updated pagination flags

* updated all balances pagination flags

* updated all balances

* some doc updates

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-21 15:36:45 +00:00
Alexander Bezobchuk 61d69a978f
Merge PR #6806: Docs & Cleanup 2020-07-21 11:28:43 -04:00
Amaury Martiny 69bbb8b327
Rename proto Req/Res to Pagination (#6796)
* Rename proto Req to Pagination

* Change Res to Pagination

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-20 16:51:16 +00:00
billy rennekamp cde3f46d52
Add validation to prevent empty store keys (#6754)
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-20 18:05:01 +02:00
colin axner 79fa06b26c
remove IBC ante handler in favor of using handler (#6793)
* remove IBC ante handler, add calls to handler

* move some events upstream to handler

* remove change log entry

* move ante handler tests to handler

* fix build

* update docs

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-07-20 15:25:57 +00:00
colin axner 1d6344888e
Fix query unrelayed packets logic (#6733)
* add some query functions to channel keeper

* update grpc queries and cli cmd and tests

* rerun proto gen after merging master

* fix build broken from merge conflicts

* add test and update proto

* Update x/ibc/04-channel/client/cli/query.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-20 12:42:36 +00:00
Amaury Martiny 5c0e3b4de5
x/auth/ante: Migrate tests to use the new client.TxConfig (#6661)
* WIP: using encoding config

* Make it compile, test fails

* test should be okay

* Make tests pass

* Add comments

* Convert more tests

* Make TestAnteHandlerSigErrors work

* Make first 2 tests pass

* TestAnteHandlerAccountNumbers

* Use table tests

* Remove print

* Use test table

* TestAnteHandlerSigErrors

* TestAnteHandlerAccountNumbers

* TestAnteHandlerAccountNumbers

* Refactor TestAccount

* Refactor getSignBytes

* TestAnteHandlerAccountNumbersAtBlockHeightZero

* TestAnteHandlerSequences

* TestAnteHandlerFees

* TestAnteHandlerMultiSigner

* TestAnteHandlerBadSignBytes

* TestAnteHandlerSetPubKey

* TestAnteHandlerSigLimitExceeded

* TestCustomSignatureVerificationGasConsumer

* TestAnteHandlerReCheck

* Make all tests pass

* Refactor a little bit more

* Fee test

* SetupTest

* All tests pass

* Refactor to RunTestCase

* Don't use StdFee

* Revert some little stuff

* Finish up last couple of test cases

* Less verbose

* s/TxGenerator/TxConfig

* Add comments

* Indent

* Move KeyTestPubAddr to testdata

* Move testdata to /testutil

* Revert to use signature: nil step in signing

* Add comments

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-07-20 08:30:12 -04:00
colin axner 10783f27d0
remove unnecessary func (#6746) 2020-07-16 14:31:06 +00:00
colin axner a65bcdd7e5
add custom relative and absolute timeouts to ibc-transfer (#6724)
* add custom relative and absolute timeouts

* fix misspell

* Update x/ibc-transfer/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-15 13:32:09 +00:00
SaReN b9f86dd7fe
Update simapp helpers to use Tx generator (#6655)
* update helpers to use tx generator

* update modules to use tx generator

* add todo

* update ibc to use txG

* fix lint

* Eliminate panics from Gentx

* update module ops

* fix lgtm alert

* update ibc with txG

* Remove todo

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

* move simapp/helpers to test_helpers

* revert simapp/helpers to test_helpers

* revert renaming

* address suggestion

Co-authored-by: Aaron Craelius <aaron@regen.network>

* fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-14 17:33:31 +00:00
colin axner 5dfc4a2ec9
Standardize connection versioning + channel versioning docs (#6640)
* 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>
2020-07-14 08:43:26 +00:00
dauTT 56ba2d8672
x/ibc/simulation/genesis_test.go: add unit tests (#6712)
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-07-14 04:09:36 -04:00
Alexander Bezobchuk e7554bb3b0
Fix Gas Flag Usage + CLI Flag APIs (#6685)
* Use new APIs

* fix usage

* fix usage of gas flag

* tests: TestParseGasSetting
2020-07-11 08:13:46 +00:00
colin axner 03fdc9d744
x/ibc: update error messages (#6659)
* update errors in 02-client

* update errors in 03-connection

* update 04-channel errors + fixes to 03 changes

* update ibc handler errors

* tm, commitment, and verify error updates

* update ics20

* remove unnecessary wrapping

* fix various build issues
2020-07-09 12:06:08 -04:00
Federico Kunze 3fc5a4dfc6
x/ibc: update CLI queries (#6647) 2020-07-08 10:57:42 -04:00
Federico Kunze e6bb2e7ed7
x/ibc: refactor CLI (#6639)
* x/ibc: refactor CLI

* refactor client CLI

* rename version ClientName

* Update x/ibc/09-localhost/client/cli/cli.go

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* address comments from review

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
2020-07-08 05:57:59 -04:00
colin axner 9a029aea04
refactor connection keeper_test (#6622)
* refactor first set of keeper

* finish cleaning up keeper tests

* fix build

Co-authored-by: Aditya <adityasripal@gmail.com>
2020-07-07 16:29:47 +00:00
colin axner b4a027cb5d
update consensus height check (#6625)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-07 15:45:30 +00:00
Alexander Bezobchuk 8670a10564
Merge PR #6595: Single Binary & Command Refactor 2020-07-07 11:40:46 -04:00
Federico Kunze 0fd559e42d
x/ibc: minor fixes (#6621) 2020-07-07 07:33:06 -04:00
Aditya 7fdcdc18e0
Enforce Connection Features on Channel Opening (#6620)
* add channel open checks for supported feature

* add tests and fix bugs

* fix version tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-07 10:00:12 +00:00
colin axner f163ec6765
refactor ibc ante_test (#6610)
* remove old code from ante test

* add recv packet test

* add acknowledge test

* add timeout tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-07 08:30:23 +00:00
Aditya 6fa295c857
fix NextSeqAck increment logic (#6619)
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-07 08:03:43 +00:00
Federico Kunze f35e3b2c02
x/ibc: gRPC query service (#6466)
* x/ibc: gRPC query service

* fixes

* connection updates

* register channel query service

* update clients

* change proofs to bytes

* implement additional channel grpc queries

* unrelayed packets query

* query.proto files

* move next sequence recv query to channel client

* update REST

* wip test

* add missing cli queries

* install the right tools

* fixes

* build

* lint

* use gRPC when query proof is not requested

* connection gRPC tests

* IBC query server interface

* more gRPC channel tests

* pagination tests

* connection use query server

* connection pagination tests

* channel pagination tests

* typo

* remove buf

* Update x/ibc/03-connection/keeper/grpc_query_test.go

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* address comments from review

* fix tests

* unrelayed packet sequences flag

* remove ClientsConnections query

* fix

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>
2020-07-06 15:35:35 -04:00
Aaron Craelius 2f44fbf2ab
Add support for protobuf TxGenerator and SIGN_MODE_DIRECT (#6385)
* Add TxWrapper, encoder, decoder and DirectModeHandler

* fix pkg name

* Update API and leave test TODO's

* Update TxWrapper API

* tests for tx wrapper (#6410)

* WIP: added test for direct mode handler

* updated code

* Add msg

* Update TxWrapper API

* Fix pubkey declaration

* Add pubkey for tests

* Fix SetFee

* Remove logs

* Avoid global var declaration for tests

* Add test for GetPubKeys

* Fix direct signing tests

* Add more test cases for GetSignBytes

* Revert SetFee API

* Remove logs

* Refactor tests

Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>

* Refactoring

* Refactoring

* Integrate SignatureV2 API

* Fix wrapper tests

* Fix tests

* Linting and API tweaks

* Update API

* WIP on updating API

* Fix tests

* Update to new SigVerifiableTx

* Rename

* Update docs to reflect ADR 020

* proto-gen

* proto docs

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* Add tests

* Refactor and improving test coverage

* WIP on test coverage

* WIP on test coverage

* proto-gen

* Fix CompactBitArray.Size() bug

* Rename

* Remove Builder interface

* Address review comments

* Update x/auth/tx/sigs.go

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

* Update x/auth/tx/encoder.go

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

* Update x/auth/tx/encoder.go

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

* Address review feedback

* Fix build issues

* Resolve conflicts

* Fix ValidateBasic test coverage

* Add test for malicious multisig

Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-06 17:03:45 +00:00
colin axner bbe245ac1d
refactor connection verify_test (#6588)
* refactor verify consensus state

* refactor connection verification

* simplify code, channel + packet commitment tests

* refactor verify ack

* refactor verify ack absence

* refactor next seq recv test

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-07-06 13:37:12 +00:00
Alexander Bezobchuk fd9cdb8ba7
Merge PR #6608: ibc: remove viper from CLI 2020-07-06 09:25:47 -04:00
dauTT 4f3efaded4
Add same attributes for all connection/ channel/ packet IBC events (#6482)
* Emmit events with same attributes in connection handlers

* Emmit events with same attributes in channel handlers

* Add paket_data attribute to EventTypeAcknowledgePacket

* Revert proto changes

* Query channel and connection to emit events with same  attributes

* Simplify code

* Update x/ibc/04-channel/keeper/packet.go

* Update x/ibc/04-channel/handler.go

* Apply suggestions from code review

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-03 15:48:48 +00:00
colin axner 73757243c2
Update connection handshake version negotiation (#6534)
* update version negotiation and add basic testing

* add integration tests

* update spec

* apply @fedekunze suggestions

* update to enforce connection validation checks

* add test

* update godoc and spec

* small doc fix

* update versioning to feature set

* update version code and tests to specified version tuple

* update docs/spec

* merge and fix bug

* Update x/ibc/03-connection/types/version.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* Apply suggestions from code review

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

* add verify proposed feature set test

* fix formatting bug

* add safety check

* merge tests into existing handshake tests

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-03 09:28:02 +00:00
colin axner db60e658f8
refactor connection handshake_test (#6576)
* refactor connopeninit test

* updated opentry

* refactor openack

* update openconfirm

* fix typo and test issue

* fix missing code cov hits

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-02 20:08:29 +00:00
colin axner 5a22342a24
check ordered channel ordering in RecvPacket (#6574)
* move nextrecvseq check to recvpacket

* add test for next recv seq not found

* fix test bug, increase cov

* remove dup check and test

* Update x/ibc/04-channel/keeper/packet_test.go

Co-authored-by: Aditya <adityasripal@gmail.com>

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-07-02 20:03:45 +00:00
Alexander Bezobchuk cbb3dca78b
deps: bump TM v0.33.6 (#6580)
Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>
2020-07-02 16:37:09 +02:00
colin axner 8ed09e5098
remove alias.go from 05-port (#6575) 2020-07-02 12:44:08 +00:00
colin axner 2658175b01
remove alias.go from channel (#6569)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-07-01 18:25:23 +00:00
colin axner 497b27305d
x/ibc: remove returning packet from channel keeper funcs (#6544)
* remove unnecessary return var

* fix changes lost in merge
2020-06-30 11:04:18 -04:00
colin axner e8fb76ae44
x/ibc: remove alias.go from 03-connection (#6543) 2020-06-30 09:10:53 -04:00
colin axner 43b4f2f120
remove alias.go from 02-client (#6542) 2020-06-30 10:37:05 +00:00
colin axner 1c575c95b2
Remove CleanupPacket from 04-channel (#6533)
* remove cleanup func

* remove unused func
2020-06-29 08:54:45 +00:00
colin axner 43837b16e7
Refactor 04-channel/keeper tests to ibc testing pkg (#6400)
* update testing pkg and first keeper test

* fix version bug

* add more helper testing funcs

* move create header to testing pkg

* fix connection state bug

* add staking genesis state

* update simapp with setting validator helper func

* update simapp with valset helper

* fix app hash issue

* update to query from correct iavl proof height

* first keeper test passing

* second test passing 🎉

* fix build

* update tests in all keeper_test

* fix lint

* begin refactoring querier test

* update first querier test and update testing helpers

* finish updating rest of querier tests

* rename ChannelID in TestChannel to ID

* remove usage of chain id for calling helper funcs

* update openinit and opentry tests

* finish opening channel handshake tests

* finish handshake tests

* general testing pkg cleanup

* finish packetsend refactor

* update recvpacket

* packet executed refactored

* finish packet test 🎉

* all tests passing

* cleanup and increase code cov

* remove todos in favor of opened issue #6509

* bump invalid id to meet validation requirements

* bubble up proof height + 1

* Apply suggestions from code review

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

* fix uninit conn test

* fix compile and address various pr review issues

* Update x/ibc/04-channel/keeper/handshake_test.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* Update x/ibc/04-channel/keeper/handshake_test.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* address @AdityaSripal comments and increase cov

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-26 16:36:04 +00:00
Alexander Bezobchuk 9bf3ff75f5
Merge PR #6489: Test Network Testing Framework 2020-06-26 12:30:49 -04:00
Aditya dcd578183d
Allow JSON input for proof specs in tendermint client (#6506)
* Allow JSON input for proof specs in tendermint client

* fix build
2020-06-25 03:30:13 -04:00
Aditya 231ae6eaff
docs: IBC Application guide (#6464)
* start app guide

* finish guide

* add link to cap module

* move guide to docs/

* fix broken links

* vuedocs warning format

* Update docs/core/ibc.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2020-06-19 08:23:45 -04:00
Cory 4e73e0f817
Update proto files & definitions in accordance with ADR023 (#6413)
* consolidate proto files into single directory, turn on PACKAGE_DIRECTORY_MATCH linting

* add third_party root for third party proto files

* move ibc proto files to top level folder, rename .proto files to types.proto as before

* update protocgen script, and run code generation

* move vesting proto definition to cosmos namespace, rename from types.proto in alignment with buf.build naming conventions

* update Makefile so proto dependencies are set with new structure when updated

* add comment for sed usage in makefile

* remove unused aliases of proto generated types

* add settings.json instructions to contributing.md for including protobuf paths

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
2020-06-18 10:04:26 -07:00
Federico Kunze fe9356ddb8
07-tendermint: ignore misbehaviour if age is greater than consensus params (#6422)
* 07-tendermint: ignore misbehaviour if age is greater than consensus params

* update tests and errors

* add comment on consensus params

* Update x/ibc/02-client/handler.go

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>

* update evidence GetTime to use Max

Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
2020-06-18 12:52:34 -04:00
Federico Kunze 1c8249e26d
x/ibc: tx client protobuf migration (#6461)
* ibc/03-connection: tx client migration

* update commands

* update ibc-transfer

* remove unused queryRoute

* initialize clientCtx
2020-06-17 21:56:48 +02:00
Federico Kunze d82114df2b
ibc/04-channel: move UNORDERED channel ack to RecvPacket (#6457) 2020-06-17 05:36:09 -04:00
YOSHIDA Masanori e2f336345d
x/ibc: add the missing path parameter "height" to "/ibc/clients/{client-id}/consensus-state/{height}" (#6448)
* x/ibc: fix "height" query parameter handling in queryConsensusStateHandlerFn

* x/ibc: add the missing path parameter "{height}" to "/ibc/clients/{client-id}/consensus-state/{height}"

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-06-16 09:19:20 -04:00
Alexander Bezobchuk 35312d098e
JSON Codec Updates (#6444)
* Initial commit

* More updates

* Fix tests

* CLI test updates

* Updates

* Updates
2020-06-16 00:20:50 +00:00
dauTT 8cf8098861
x/capability: remove alias.go usage (#6438) 2020-06-14 19:05:45 +02:00
dauTT cc42a82c86
x/evidence: remove alias.go usage (#6435) 2020-06-14 11:58:48 +02:00
dauTT 560398cfdc
x:ibc: remove alias.go usage (#6429)
* x:ibc: remove alias.go usage

* Replace ibc24host with ibchost
2020-06-13 14:29:00 +00:00
Aditya e07c1e20bc
address review from pr #6374 (#6430)
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-06-13 00:33:25 +00:00
dauTT 14e3aa1265
x/staking: remove alias.go usage (#6397)
* x/staking: remove alias.go usage

* Fix formatting and Add entry in CHANGELOG.md

* Add missing end curly parenthesis

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-06-12 14:54:37 +00:00
Jonathan Gimeno ddbb9a2321
run make format (#6416) 2020-06-12 10:17:36 -04:00
Federico Kunze 55a7226535
x/ibc: channel from client state query (#6401)
* x/ibc: channel from client state query

* 04-channel/client: add CLI and REST queries

* querier test
2020-06-12 08:06:24 -04:00
Aditya d82c2e6a94
Enforce ProofSpecs in 23-Commitment (#6374)
* enforce spec ordering

* modify clients to pass in specs to verify functions

* start fixing tests

* Apply suggestions from code review

* enforce spec length and proof length match

* fix all tests

* add argument to constructor:

* fixed msg client and tests

* appease linter

* Apply suggestions from code review

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

* finish fixes from review

* add back proof-specific checks

* Apply suggestions from code review

* more robust proof spec checks

* add CHANGELOG entries

* do not hardcode proofspecs in 23-commitment

* fix client modules

* fix tests

* appease linter

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-12 10:45:40 +00:00
colin axner 9048ffa8d3
Update ibc proof to be bytes (#6393)
* update interfaces to use []byte instead of commitment proof

* update 03/04 msgs with bytes

* fix compile errors

* fix channel tests

* fix connection tests

* fix testing, tm, and localhost tests

* fix ante tests

* update 03-connection spec

* update channel msgs spec

* small fixes after self review

* rm unused import

* Update x/ibc/03-connection/client/utils/utils.go

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* add empty proof test and rm ics 20 from ibc spec

* fix merge issues

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-06-12 00:19:25 +02:00
Jonathan Gimeno b09d6728ec
Rename all methods IsEmpty to Empty to be consistent with all codebase (#6409)
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-06-11 23:32:24 +02:00
Jonathan Gimeno 49597b19ec
module: pass route by value (#6404)
* use instance

* add some comments

* Update types/router.go

* rename Nil to Empty

* run make mocks

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-06-11 15:37:23 +00:00
colin axner affe7265cb
Update connection and channel to use types_test package name (#6395)
* convert connection types test pacakge name

* convert channel types test package name

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-06-11 00:31:54 +00:00
Jonathan Gimeno 79c308ae4a
Concept PR simplify Module (#6231)
* add test of alternative impl

* simplify query route too

* change name querier

* simplify register routes

* revert change

* add route

* add router

* first step refactor

* refactor

* update documentation

* update

* add format

* simplify appmodule

* update changelog

* rename vars

* remove interface

* Update CHANGELOG.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-10 18:48:16 +00:00
Federico Kunze 0d9faec1f3
07-tendermint: cherry-picks from #6272 (#6387) 2020-06-10 08:36:18 -04:00
Federico Kunze 55796fb3e7
x/ibc: client consensus_height event (#6381) 2020-06-10 05:34:18 -04:00
colin axner 6851c844b3
x/ibc: testing pkg (#6356)
* add ibc testing pkg with testchain

* add ibctestsuite

* add create connection and channel support

* lint fixes

* lint

* revert

* simplify code via lint

* change suite to coordinator

* Update x/ibc/testing/chain.go

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

* Apply suggestions from code review

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

* make trust level var and remove get from channel test struct

* apply most suggestions from pr review

* split conn handshake into single step funcs

* split channel handshake into separate funcs

* apply @fedekunze suggestions

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-10 09:00:13 +00:00
colin axner a8298976ac
update 07-tm err msg to utc time (#6383)
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-10 08:54:23 +00:00
Federico Kunze 744c1ce250
x/ibc: simulation store decoders (#6247)
* x/ibc: simulation store decoders

* x/ibc: missing decoders

* fixes

* 02-client: decoder test

* 03-connection: decoder test

* x/ibc: decoder test

* address comments from review

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-10 08:09:51 +00:00
Federico Kunze c44813bcdf
x/ibc: commit timeout timestamp (#6363)
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-06-08 08:03:18 -04:00
Segue 52d11acb45
R4R: Fix bug of unordered channel (#6337)
* fix unordered

* resolve conflicts
2020-06-08 06:19:59 +00:00
colin axner b9b578d6de
x/ibc: querying support for unordered channels (#6294)
* pause

* add querying for packet commitments and unrelayed acks

* add get all packet commitments test

* add query channels test

* add query connection channels test

* add test for query packet commitments

* fix key path and add unrelayed acks test

* fix part of lint

* add unrelayed packetsends func

* fix godoc

* add nolint directive

* fix lint

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-06 19:25:45 -04:00
Aaron Craelius 43947ca2ef
Add RegisterQueryService to AppModule (#6336)
* Add RegisterQueryService to AppModule

* Update CHANGELOG.md

* Update CHANGELOG.md

* Wire up BaseApp, fix tests

* Add mock test

* add missing file

* Update types/module/module.go

* Update CHANGELOG.md

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-06 07:59:57 +00:00
Federico Kunze 1a5f2b7859
x/ibc-transfer: custom absolute packet timeout (#6248)
* x/ibc-transfer: custom timeout

* remove destHeight field

* cleanup

* fix test

* replace CLI arg for flag

* update CLI

* viper get flag

* address comments from review

* update cmd example:

* update spec

* address comments from review
2020-06-04 19:30:56 +00:00
colin axner b1f483fe24
move packet executed call to ibc handler (#6312)
* move packet executed to within ibc handler

* add spec updates

* godoc and nil check to lenght

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-04 11:24:21 +00:00
colin axner 50d748bffb
remove duplicate event emission (#6328)
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-04 10:59:13 +00:00
Aaron Craelius 81d647e505
Move codec.RegisterCrypto and codec.Cdc to new packages (#6330)
* Move codec.Cdc to legacy_global.Cdc

* Update CHANGELOG.md

* Updates

* nit

* Fix imports

* Updates

* Use cosmos multisig instead of tendermint multisig everywhere

* Fix tests

* Rename legacy_global -> legacy

* Add doc.go

* Linting, move all RegisterCrypto calls to crypto/codec

* Update crypto/codec/amino.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-06-04 10:38:24 +00:00
Aaron Craelius fed0c2317d
Change GetQueryCmd to take client.Context (#6326)
* Change GetQueryCmd to take a client.Context

* Update CHANGELOG

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-06-03 20:15:11 +00:00
Aaron Craelius 2e11c81668
Make sdk.Msg implement proto.Message (#6327)
* Make sdk.Msg implement proto.Message

* Cleaning up

* Cleaning up

* Update CHANGELOG.md

* Lint fixes

* Lint fixes

* fix tests

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-06-03 19:52:05 +00:00
Federico Kunze 1f5626b800
baseapp: fix sender events accumulation (#6307)
* add default case on ibc AnteHandler

* reset ante handler EventManager

* use event manager from runTx instead the one set by the ante handler

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-02 04:26:13 +00:00
SaReN 39f53ac22f
client: rename CliContext to Context (#6290)
* Refactor CliContext as Context

* Fix lint issues

* Fix goimports

* Fix gov tests

* Resolved ci-lint issues

* Add changelog

* Rename cliCtx to clientCtx

* Fix mocks and routes

* Add changelog

* Update changelog

* Apply suggestions from code review

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* merge client/rpc/ro{ot,utes}.go

* Update docs

* client/rpc: remove redundant client/rpc.RegisterRPCRoutes

* regenerate mocks

* Update ADRs

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-01 12:46:03 +00:00
colin axner 654b2fdd10
x/ibc: packet commitment deletion after ack verification (#6292)
* add deletion of packet commitments to AcknowledgePacket and remove CleanupPacket

* update tests

* add replay test for unordered channels

* add cleanup back, update tests

* remove nolint

* add timeoutonclose handling and fix

* add check for deleted packets

* Update x/ibc/04-channel/keeper/keeper.go

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

* add ackexecuted and update tests

* add timeoutexecuted back and update test

* move events to executed funcs

* update handler

* update godoc

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-05-30 21:18:43 -04:00
colin axner 6973c56457
x/ibc: fix internal errors messages (#6268)
* update errors in ibc client and localhost

* update code 1 errors

* fix misisng import

* add import

* fix compile and lint issues

* fix lint

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-05-22 17:17:52 -04:00
Federico Kunze bf3fa30671
ibc/07-tendermint: fix CLI (#6271) 2020-05-22 14:48:44 -04:00
Aaron Craelius 850419fffd
Tx CLI proto module interface (#5989)
* WIP

* WIP

* WIP on removing x/auth dependency from client/tx

* Revert unneeded changes

* Simplify cli tx UX

* Wire up bank tx REST routes

* Fix assignment issue

* Wire up bank NewSendTxCmd

* fix lint

* revert file

* revert file

* fix simcli

* Refactor AccountRetriever

* Fix build

* Fix build

* Fix build

* Fix integration tests

* Fix tests

* Docs, linting

* Linting

* WIP on all modules

* Implement other module new tx cmd's

* Fix cmd's

* Refactor existing GetTxCmd

* Fix cmd

* Removing deprecated code

* Update ADR 020 & CHANGELOG

* Lint

* Lint

* Lint

* Lint

* Lint

* Lint

* Lint

* Fix client/tx tests

* Fix mocks

* Fix tests

* Lint fixes

* REST tx migration

* Wire up REST

* Linting

* Update CHANGELOG, docs

* Fix tests

* lint

* Address review feedback

* Update CHANGELOG.md

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* group vars

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-05-21 21:29:34 +00:00
Federico Kunze ca20a39962
x/ibc: constrain acks processing order (#6244)
* x/ibc: constrain acks processing order

* test

* address @AdityaSripal comments

* address @colin-axner comments

* address @alexanderbez comments
2020-05-18 16:50:07 +00:00
Federico Kunze 3dcdc582af
x/ibc-transfer: move ICS20 out from x/ibc (#6222)
* x/transfer: move ICS20 out from x/ibc

* rename to ibc-transfer
2020-05-15 20:36:47 +00:00
colin axner 86a9750508
x/ibc: update path validator to enforce no beginning or ending of the separator (#6233)
* update path validator to enforce no beginning or ending of the separator

* modify test slightly
2020-05-15 14:58:43 -04:00
Federico Kunze b2ad4d2a23
x/ibc: alter id requirements (#6227)
* x/ibc: alter id requirements

* add regex to validations

* comment

* update error

* test all validators:

* fix tests

* check for only separators
2020-05-15 17:24:31 +00:00
Federico Kunze c9ec0ff087
x/ibc: default genesis state for sims (#6158)
* x/ibc: default genesis state for sims

* add ibc and transfer module to simulations

* minor update

* remove TODO

* add validation to transfer genesis

* fix transfer init genesis

* address @alexanderbez comments
2020-05-14 22:47:11 +00:00
Federico Kunze 48aebed2ea
x/ibc: /types cleanup (#6169)
* 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
2020-05-13 19:23:33 -04:00
Christopher Goes 513c5f30c2
Alter connection handshake (#6209)
* Alter connection handshake

* Add test-case

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-05-13 13:26:19 -04:00
Federico Kunze a08aa41213
ibc/07-tendermint: variable trust-level (#6206)
* ibc/07-tendermint: variable trust-level

* update client state and tests

* fix tests

* address comments from review

* cli: define trust-level as flag
2020-05-13 01:10:25 +00:00
Federico Kunze b93300288e
x/ibc: stateful clients (#6202)
Closes: #6198
2020-05-12 21:13:41 +02:00
Federico Kunze 138e0b074f
x/ibc: log fixes (#6184)
* x/ibc: log fixes

* fix test
2020-05-11 17:17:05 +00:00
Federico Kunze f88d9ab586
x/ibc: create localhost client on InitGenesis (#6170)
closes: #6159
2020-05-11 17:46:00 +02:00
Marko bef3689245
linter: enable nolintlint (#6162)
* nolintlint enable

* remove space

* fix tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-05-08 08:46:12 +00:00
Alessio Treglia c8c47786da
x/ibc: fix int overflow (#6171)
x/ibc/07-tendermint/types/test_utils.go: Calculate and use
machine-dependent maxInt instead of causing int overflow by
passing math.MaxInt64.

Closes: #6130
2020-05-07 22:11:29 -04:00
Aditya b3cada1001
x/ibc: fix event emission on msgs (#6161)
* add sender events into signer, and update events into keeper

* move all handler functionality to keeper for update

Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>
2020-05-07 09:55:26 -04:00
Federico Kunze f3e3a30e5e
x/ibc: add missing query height (#6157) 2020-05-06 13:06:35 -04:00
Federico Kunze ff24a24ae6
x/ibc: query all client connection paths (#6155)
* x/ibc: query all client connections

* add queries to CLI and REST

* add missing height

* update swagger
2020-05-06 15:56:49 +00:00
Federico Kunze d7ebee74e7
x/ibc: proto migration pt 1 (#6097)
* x/ibc: proto migration pt 1

* fix tests

* fixes and godoc

* yaml tags

* rm changelog

* address comments from review

* fix some tests

* fix tests

* add _UNSPECIFIED suffix for default enums

* Update app

* protobuf Any fixes

* use gogoproto

* fix tests

* wrap all messages

* address @alexanderbez comments

* update proto files

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
2020-05-06 11:17:50 -04:00
Alessio Treglia b09eef7298
run make format (#6153) 2020-05-06 13:47:53 +02:00
Aditya f2a331fddb
Fix Timeout Handling (#6118)
* fix timeout

* remove print statement

* fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-05-05 14:46:13 +00:00
Pavel 4a28dd1645
Args: cobra.ExactArgs(1) required but never used (#6140) 2020-05-05 08:43:20 +00:00
Federico Kunze 106bcd5e13
default gen state (#6139) 2020-05-04 18:00:17 -04:00
Pavel 110942add6
add anotation for json/yaml marshal ibc/tendermint/header type (#6138) 2020-05-04 20:34:08 +00:00
colin axner 54ecf7d629
bump ibc sub module error codes (#6117)
* bump ibc sub module error codes

* add godoc

* update error numbers
2020-05-04 09:02:23 -04:00
Marko 218ec99508
various linter fixes (#6106)
x/staking: Fix all linter warnings.

Fixed warnings across base packages.

New linters:
- unparam
- nolintlint

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
2020-05-02 21:26:59 +02:00
Alexander Bezobchuk 843e3f163c
Merge PR #6112: Fix error code registration 2020-05-01 10:56:08 -04:00
Federico Kunze 930802e7a1
x/capability: simulations (#6062)
* x/capability: simulations

* update logs

* validate genesis state

* InitGenesis and ExportGenesis functions

* update validation func

* fix import-export sim

* remove nondeterminism from capability genesis

* Update x/capability/types/genesis.go

* Update x/capability/types/genesis.go

* fix tests

* fix merge

* consistency updates

* try fix nondeterminism

* fix conditional

* Fix random index logic

* lint

* lint

Co-authored-by: Aditya Sripal <adityasripal@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
2020-04-30 15:07:43 +00:00
Federico Kunze 7143d092c4
x/ibc: add logs (#6104) 2020-04-30 08:37:02 -04:00
Alessio Treglia 2879c0702c
x/ibc: fix missing return statement (#6099)
* enable the wsl linter

Fix various wsl-related warnings.

x/ibc/04-channel/keeper/handshake.go: fix missing return statement in ChanOpenTry().

* goimports -w files

* remove unknown linter references

* run make format

* Revert "run make format"

This reverts commit f810b62b9e4993f08506663d4e5f2ec2228a9863.

* run make format
2020-04-29 22:36:34 -04:00
SaReN 3b71198b25
Merge PR #6033: Add setup for cli_test 2020-04-29 11:52:30 -04:00
Federico Kunze 2d3a8525b9
ibc/04-channel: import export GenesisState (#6087)
* ibc/04-channel: import export GenesisState

* update tests

* add missing genesis fields

* genesis tests

* keeper tests

* update genesis test

* typo

* rename types

* address comments from review

* minor updates

* typo
2020-04-29 09:17:20 -04:00
Aaron Craelius cc90f2e002
Merge pull request #6085: Move codec/std to std 2020-04-27 15:40:50 -04:00
Federico Kunze 9b51908597
ibc/02-client: import export GenesisState (#6073)
* ibc/02-client: import export GenesisState

* client validation

* genesis validation

* ibc genesis tests

* GetAllConsensusStates test

* fix non-determinism

* lint

* fix test
2020-04-27 14:04:26 -04:00
Federico Kunze e9b5fc9716
ibc/03-connection: import export GenesisState (#6067)
* ibc/03-connection: import export GenesisState

* add connection paths

* add genesis to ibc module root package

* genesis tests

* iterator and fixes

* changelog

* lint fixes

* godoc

* revert validation
2020-04-24 15:52:07 +00:00
colin axner f6e9ee7623
x/ibc: Implement Timeout Timestamp (#6022)
* add timeout timestamp to packet and timestamp to consensus state

* add timeout timestamp event attribute

* update various issues with adding timestamp

* fix tests, add default timeout timestamp

* add unit test and minor fixes

* remove unnecessary code

* code review fix

* Update x/ibc/03-connection/keeper/keeper.go

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

* Update x/ibc/02-client/exported/exported.go

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

* Update x/ibc/04-channel/types/packet.go

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

* Update x/ibc/07-tendermint/types/consensus_state.go

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

* return time.Time in error message

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-04-22 22:23:42 +00:00
Alexander Bezobchuk 72a2dae3db
Bump Tendermint v0.33.4 (#6055)
* Bump go.{mod,sum}

* Update APIs from Tendermint

* Add max clock drift to client state

* Test updates

* Update APIs from Tendermint

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-04-22 19:21:48 +00:00
Jonathan Gimeno 550c3e9ef0
Jonathan/5988 sim params consensus 2 (#6051)
* temporal commit

* add random consensus params

* make format

* make random pass

* remove comment

* revert change

* update ub key types

* extract Evidence params from state

* extract the random parameters from state

* clean the code

* update imports!

* mispelled back

* mispelled back

* add misspelled command

* update changelog

* remove useless linter to avoid misspell

* remove function

* use tendermint constants

* update import test

* remove debug comment

* Update baseapp/baseapp.go

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

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-04-22 18:24:13 +00:00