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/osmosis bridge #5

Open
wants to merge 63 commits into
base: main
Choose a base branch
from
Open

Conversation

ashishchandr70
Copy link

IBC Bridge between SSC and Osmosis testnets

keefertaylor and others added 30 commits May 18, 2023 15:49
…#1189)

* better block data errors

* remove redundant field
Matches the latest protos shipped with the Penumbra Testnet 52.

Co-authored-by: Conor Schaefer <conor@penumbralabs.xyz>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
* pipe max msgs through path processor

* only apply max msgs to packet msgs

* multiple msgs simultaneously on ordered chans

* flush should be more frequent if it fails or does not complete

* fix legacy

* handle feedback
* Problem: fixes in ibc-go v7.0.1 are not included

* add change doc
* added addresCmd to root and keys.go

* nicks

* nick

* made a common method "showAddressByChainAndKey" to be used by both addressCmd and keysShowCmd

---------

Co-authored-by: Harry <harrycosmos@Harrys-MacBook-Pro.local>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
* export relayer address for pro

* address in updateFeesSpent

* make error messages consistent

* log error rather than return

* handle 0 balance
* rm dup pb

* add missing cp for messages.proto

* make proto-gen

* migrate gogo/protobuf to cosmos/gogoproto

* add change log

* mod tidy
* support extension options for build tx

* add test

* add change doc

* rm dup pb

* update mod

* point to v0.47.3
* WIP: testing localhost ibc client

* WIP: localhost ibc support

* WIP: debugging channel handshake correlation bug

* WIP: debugging localhost IBC

* debugging failed ibc transfers

* chore: remove debug output

* fix: get acks working + cleanup localhost data handling

* test: add additional assertions, debug failing timeouts

* fix: remove redundant chankey assignment

* fix: update to latest interchaintest commit + fix test

* fix: hack to get ordered channels working on localhost

* test: implement ica test case for localhost

* fix: update reverted Go version

* test: fix flaky scenario e2e test

* fix: address suggestions from code review
* bump cometbft to v0.37.2

* bump ibc-go to v7.2.0

* add change doc
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
* avoid invalid Bech32 prefix

due to singleton GetConfig

* add change doc

* separate process in ci

* separate fee middleware test for juno
Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Andrew Gouin <andrew@gouin.io>
* export client expiration metric

* finalize

* add path name

* snake case

* change label to `chain`

* trusting period as string
…mos#1236)

* export gas price to prom

* update label

* update fees spent metric

* snake case
* separate by type

* add help info

* remove new line in help and fix readme

* feedback
* export tx failures to prometheus

* change label to `cause`
* use the name given by the user to generate the fetch URL

* add example

---------

Co-authored-by: Andrew Gouin <andrew@gouin.io>
Co-authored-by: Dan Kanefsky <56059752+boojamya@users.noreply.github.com>
* Feegrant support

* Test case for address caching bugfix

* Bugfix for SDK account prefix. Feegrant test passing.

* Mutex for signer expanded to include feegrantees

* Cleaned up feegrant test case

* Cleaned up feegrant test case

* Cleaned up feegrant test case

* check round robin feegrant behavior by counting number of TXs each grantee signer

* module updates from merge

* v0.47.0 with bech32 address cache fix

* Move SetAddrCacheEnabled to NewRelayer func for full coverage

* Do not hardcode chain id in feegrant test case

* Wait more blocks for ibc transfers

* disable cosmos SDK bech32 address cache for rly start command

* Fix sloppy comments/remove unnecessary code

* Faster acc caching unit test

* Penumbra provider feegrant support

* Merge upstream

* Fixed merge issue where feegrant config wasn't being written to file

* feegrant patch for cosmos-sdk v0.47.1

* merge from main

* Update to cosmos-sdk v0.47.2

* Increase test case blocks to wait

* Fixed data race by moving test parallelization after relayer wallet build

* Increased TestScenarioICAChannelClose timeout height

* Cleanup feegrant test case

* Fixed race condition in sequence guard w/ mutex

* Automatic retry for TX lookup in feegrant test case

---------

Co-authored-by: Andrew Gouin <andrew@gouin.io>
* export client trusting period

* update docs
* extra client info

* cleanup print

* remove extra comments

* add alias

* allow only one client

* spelling

* remainingTime

---------

Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
* next seq ack handling and chan order

* use max msgs for ack flush

* improve logs

* fix check

* don't override unless not chantypes.NONE

* fix: Suppressing scary SDK error on redundant packets (cosmos#1214)

Co-authored-by: Andrew Gouin <andrew@gouin.io>

* tidy logic

* improve logic and order detection

* shorten flushFailureRetry

* check empty string

* tidy logs. better account sequence regex. don't split up ordered channel batches

---------

Co-authored-by: Joe Abbey <joe.abbey@gmail.com>
Co-authored-by: jtieri <justin@thetieris.com>
Version 0.57.0 of Penumbra was released on 2023-07-26 [0].
This commit pulls in the latest proto defs from BSR.

[0] https://github.com/penumbra-zone/penumbra/releases/tag/v0.57.0

Co-authored-by: Conor Schaefer <conor@penumbralabs.xyz>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
faddat and others added 26 commits September 1, 2023 13:08
* use ibc-go capability module

* tidy interchaintest
* fix: use resp.Events to parse events instead of logs

* revert: use legacy behaviour as fallback mechanism

* refactor: use legacy approach first, fallback onto new parsing approach

---------

Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
…osmos#1289)

* Update README.md with an update to leverage 'rly key use' in step 5

* change alias from 'a' to 'u' for use subcommand
* feat: allow a relayer to fetch a specific chain only

* minor: check specific path pair logic earlier
* upgrade ci to go 1.21

* upgrade to go1.21

---------

Co-authored-by: Justin Tieri <37750742+jtieri@users.noreply.github.com>
* Split scenarios test

* use matrix

* updates

* need to cd into dir first

* handle deprication

* Remove rouge entry into the matrix

* Ensure other parallel tests run to completion even if one of them fail

* Add explanation

* Remove rougue whitespace
…osmos#1281)

* output json for query cmd's  balance & clients-expirations
* print proper json instead of bytes for headers command
* Add output flag . Use legacy,json options
* Update according to reviews
…smos#1285)

* add testnet and force-add

* update cmd examples

* improve usage description
* Query param prop directly

* Flip order of queries for QueryUnbondingPeriod

* Add fallback for chains using cosmos-sdk 47+

* Trusting period logic remains same

* Add Fallback

* Consolidate functions into a single queryParamsSubspaceTime
* Updates to support CCV

* Re-added out/err redirect to log files

* Add multiple tries for linking. Upd chain waiting

* Minor fix to Github action. Update rly start

---------

Co-authored-by: Ashish Chandra <ashish@saga.xyz>
@@ -9,6 +9,8 @@ services:
dockerfile: saga.Dockerfile
environment:
- KEYNAME=relayer
- PROVIDER_CHAIN=

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't use provider/consumer terminology here as that is only associated with CCV, which we don't currently have

@luckychess
Copy link

luckychess commented Oct 12, 2023

Maybe a stupid question but what's relation between this PR and Osmosis?

Edit: ah nvm, I got it :)

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.