Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/merge upstream #14

Merged
merged 93 commits into from
Jul 28, 2022
Merged

Feature/merge upstream #14

merged 93 commits into from
Jul 28, 2022

Conversation

thomasmodeneis
Copy link

No description provided.

boojamya and others added 30 commits May 2, 2022 16:10
* handle logging for msgs other than `CosmosMessage`

* remove codec from `Chain` and add `Sprint` method to the `Provider` interface for printing the json representation of a proto msg
* Extract the source and dest channels from the events

* Just log the channels once
Adjust the factory and relayer implementations to match the updated
interfaces.

With this version of ibctest, we should now be able to add a test for
the single-process, multi-link relayer.
…bers on `ORDERED` channels

* bump gaia version to v7.0.0

* add function for returning an order from a string

* add tests for `OrderFromString()` and `StringFromOrder()`

* add case for timing out packets on ordered channels

* WIP: test interchain accounts support

* only attempt to relay packets when there are open channels

* increase wait time for packets to be relayed in timeout test

* use block time instead of consensus state time when checking timestamp timeout

* correctly set the timestamp timeout in `SendTransferMsg()`

* remove msg for relaying a single packet

* handle packet sequences correctly for `ORDERED` channels

* refactor how we handle packet sequence numbers on `ORDERED` channels

* remove code for finishing the channel handshake on `ORDERED` channels for now.

* condense make command for running gaia integration tests

* invert if statement to improve readability

* remove redundant comment

* replace switch statements with successive if statements
* Use map[string]string for attributes inside event since events can have many attributes

* Fix loop end bracket placement

* update ibctest version. log event parse errors as warnings.
* how to use specific version of ibctest

* complete sentences
* Slim down path processor, build mock chain processor

* Fix data race

* use helpers for path processor locks

* handle justin's feedback

* handle david's feedback

* handle mark's feedback

* Add missing punctuation

* Add missing period

* move stray ctx cancel

* Add EventProcessor with builder pattern. Follow mark's suggested channel pattern.

* remove unnecessary PathProcessor interface

* handle mark's feedback

* remove unneeded sets
…nds. query channel changes every 20 loops. wait group for each channel relayUnrelayedPacketsAndAcks (cosmos#755)
* Relay packet flows in one direction even if there are errors with the other direction

* Add missing wg.Add(1)

* handle feedback
* cosmos chain processor stub. transaction events parser

* separate ConnectionInfo from ChannelInfo

* make internal types private

* Use interface for messageInfo since, depending on type, only one of the info properties is needed

* simplify ibc message found check, add log for unexpected state

* handle feedback. add unit tests for event_parser

* Pull tm event ibc message action strings from proto types

* remove context leak

* handle feedback

* gomod update
… with underlying node

* provide a clearer logging message when there is issues with the underlying node's configuration

* remove punctuation and provide clearer message

Co-authored-by: Jack Zampolin <[email protected]>
* Add local dockerfile for non-buildkit builds

* Use go 1.18 for dockerfile builds
* Bump go to 1.18

* revert go mod tidy
…nnels accordingly

* remove ineffective height queries on retries

* increase context timeout for message sending

* query for connections on a channel once at startup and query channel state each time a worker goroutine exits

* handle case of no open channels better, remove `for range` on channel reads, move to map instead of slice for open channels

* remove unused import that I missed when resolving conflicts

* couple tweaks around logging + handle the case where the main context is cancelled while blocking on a channel read.
* initial CosmosChainProcessor query loop

* export_test only works for local module tests

* Add missing error logs. Use isolated methods for locking

* Use atomic int32 access instead of RWMutex for bool

* Use ticker. Bring recent changes into MockChainProcessor

* Remove reference to ChainProcessors from PathProcessor. Send inSync through channel along with messages.

* Handle Mark's feedback

* Fix case on logs

* pass through input and output for cosmos context

* Update tests

Co-authored-by: Jack Zampolin <[email protected]>
And mark the relayer as supporting all ibctest capabilities so far.
* use updated version of lens

* update to patched version of lens

* add gcc to necessary packages in local.Dockerfile

* add full gcc-tools to local.Dockerfile

* ensure `apk add` catches all the packages we need

* add gcc tools to both Dockerfile's
… all relevant commands

* refactor config to map by chainName

* keys.go use chain_name

* fix configshow

* fix tests

* passing build.yaml tests

* query.go use chain_name

* transfer command use chain_name

* chains.go use chain_name

* query.go use chain_name

* tx.go use chain_name

* tx.go use chain_name

* map placement

* stylistic chainges

* readme update to use chain_name in examples

* adjust make map to pass tests

* no config user experience

* stylistic changes

* test clarity

* add missing wrapper
…ackage name collision

* remove duplicate package import & fix var name/package name collision

* ditch unnecessary import rename
…g equality with a call to `strings.ToLower`
…rrors` packages from Cosmos SDK

* remove dependency on the SDK inside `cmd/config.go`

* change all receiver names to be consistent for methods on type `*Config`

* remove need to use the `flags` package from the SDK

* return line break inline

* add flag equality test case

* update comments
…conversion vs. struct literal

* return using a type conversion vs. struct literal

* use a pointer receiver type so that assignment is effective
� Conflicts:
�	cmd/query.go
�	go.mod
�	go.sum
�	relayer/provider/cosmos/provider.go
�	relayer/provider/cosmos/query.go
DavidNix and others added 27 commits July 8, 2022 19:40
…cosmos#835)

* Separate proof queries from message assembly in preparation for third party chains

* Use type PacketProof

* remove accidental staged change

* fix typos
* Add connection and channel handshake provider methods and use in PathProcessor

* remove debug log

* Use same version as counterparty for now. Add comment with link.

* Break out functions for message assembly
…s#838)

* channel and connection handlers

* move MsgChannelOpenTry CounterpartyConnectionID add to pathEndRuntime

* logic simplification
* Add PathProcessor message subscribers

* cli handshakes

* increase timeout to 2m

* slim down to connection handshake only for now

* Keep pathChain private

* Use threshold var

* convert timeout for event processor instead of changing timeout from 10s to 2m

* Make MergeCacheData private
* parallelize message assembly

* use lock for slice instead of chan

* Add comment, move defer Unlock after Lock

* Use wrapper for outgoing messages with mutex
* CLI channel handshakes

* tidy
* update lens

* go mod tidy in `ibctest`
* Add timeout for send messages. ChannelKey log fix

* Convert other zap.Any to zap.Object

* Use Inline instead of Object for zap

* update lens version

* Revert "update lens version"

This reverts commit 155ef6a.
* Modifications needed for relaying on cosmoshub/osmosis mainnet

* Remove competitiveRelaying flag

* Add rly memo

* logging cleanup. avoid unnecessary requeries of blocks in cosmos chain processor

* Remove accidental staged change

* handle feedback
* Memo config and flag

* missing flags, cleanup

* remove shorthand

* missing changes

* Fix chain tests

* Add memo for client creation

* Add --memo flag to config init. Add docs. Add way to omit memo using -
* Switch correlation from action to events

* Rename Action to EventType for lifecycle messages
)

* fix `ibctest` bug & bump dependencies to kill namespace contention in ibc-go

* bump lens version

* fix failing conformance tests
error: pathspec 'v2.0.0' did not match any file(s) known to git

Co-authored-by: Justin Tieri <[email protected]>
…sting period

* add custom client trusting period

* remove extra print statment

* fix tests

* make duration conversion more readable

* fix tests

* update flag string

* use time.duration flag

* remove extra print

* remove comment

* handle feedback
* Update README.md

* Modify link from personal repo to cosmos/relayer

* Change to move from the same page without redirection

Co-authored-by: Dan Kanefsky <[email protected]>
* WIP: handle closing ordered channels

* treat ordered timeouts as different packet flows ending with channel close confirm

* cleanup

* remove dead code and cleanup `orderFromString`

* purge relevant packet flow messages in the case of a channel closing for ordered channels

* remove incorrect code

* properly purge the relevant send packet and timeout messages

* update comments + delete the relevant messages for the src and counterparty

* fix deleting messages on wrong channel end

* improve readability

Co-authored-by: Andrew Gouin <[email protected]>
@TxCorpi0x TxCorpi0x marked this pull request as ready for review July 28, 2022 16:20
@seunlanlege seunlanlege merged commit 3286860 into main Jul 28, 2022
@TxCorpi0x TxCorpi0x deleted the feature/merge_upstream branch August 9, 2022 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.