Commit Graph

276 Commits

Author SHA1 Message Date
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