Skip to content

Commit

Permalink
Add integration test for testing client recovery (#176)
Browse files Browse the repository at this point in the history
* Implementing `deliver` method for client recovery

* Implement `deliver` method

* Add todo comment

* Implement RecoverCmd

* Making progress on `submit_recovery_proposal`

* Progress on client recovery testing functionality

* Print tx::send_tx error

* Fix dependency issues

* Stub out `recover-client.sh`

* Remove `global = true` from RecoverCmd

* First iteration of recover-client.sh

* Remove unused error variants

* Remove unneeded dependency

* Fix merge conflicts

* Remove extraneous `use`

* Add some echo statements

* Add recover-client test to Makefile

* Edit Makefile

* Change order of tests around

* Fix typo in makefile

* Use default hermes config file in recover-client.sh

* Update basecoin dependency revs

* Revert create client commands to use recovery config

* Make changes to integration.yml

* Make changes to integration.yml

* Point cargo install command to basecoin directory

* Fix basecoin validation command

* Tweak cargo install path

* Tweak cargo install path

* Tweak cargo install path

* don't move basecoin dir

* compile basecoin after rust toolchain setup

* Change order that tests are run in

* Fix the grpc URL when querying for account

* Try removing upgrade-client test from integration test run

* Try removing upgrade-client test from integration test run

* Add upgrade client test back in

* recover correct expired client

* change test order

* shorten trusting period

* run token-transfer after upgrade-client

* exit on error

* use genesis sub-cmd

* do not pipe output to /dev/null

* add minimum-gas-price arg

* one-chain to one-chain.sh

* impl get_syncing

* inc gas_mul

* use workflow concurrency

* use actions-rust-lang

* print logs

* Implementing `deliver` method for client recovery

* Implement `deliver` method

* Add todo comment

* Implement RecoverCmd

* Making progress on `submit_recovery_proposal`

* Progress on client recovery testing functionality

* Print tx::send_tx error

* Fix dependency issues

* Stub out `recover-client.sh`

* Remove `global = true` from RecoverCmd

* Remove unused error variants

* Remove unneeded dependency

* Fix merge conflicts

* Remove extraneous `use`

* Add recover-client test to Makefile

* Edit Makefile

* Change order of tests around

* Fix typo in makefile

* Use default hermes config file in recover-client.sh

* Update basecoin dependency revs

* Revert create client commands to use recovery config

* Make changes to integration.yml

* Make changes to integration.yml

* Point cargo install command to basecoin directory

* Fix basecoin validation command

* Tweak cargo install path

* Tweak cargo install path

* Tweak cargo install path

* don't move basecoin dir

* compile basecoin after rust toolchain setup

* Change order that tests are run in

* Fix the grpc URL when querying for account

* Try removing upgrade-client test from integration test run

* Try removing upgrade-client test from integration test run

* Add upgrade client test back in

* recover correct expired client

* change test order

* shorten trusting period

* Add missing hermes-config-recovery file

* reorder e2e tests

* Remove basecoin installation from integration.yml

* use precompiled basecoin binary

* Call basecoin binary correctly

* validate client status

* reuse hermes config via tomlq

* update client status checks

* update test comment and info

* update sleep time

* update tomlq usage

* use cargo patch table

* update cargo lockfile

* submit gov proposal

* comment about error

* update substitute client

* print client states

* Update ibc dependency rev

* Add `Convertible` bound to IbcContext impl

* update deps

* update cargo lockfile

* cargo format

* cleanup client recovery test script

* comment on client recovery script

* add taplo config

* format toml

* ci check for toml format

* rm exec perm

* refactor tx submission

* derive path and seed file as cli args

* require seed_file

* use .git url

* separate tower-abci dep

* nit on toml file

* add comment

* rm redundant trait bound

* impl Coin::from_str

* add more arguments to tx command

* use cli args

* rm redundant util funcs

* update cargo lockfile

* default chain id

* add memo cli arg

* nit

* latest rev

* use AnyClientState

* update cargo lockfile

* Incorporate some PR feedback

* Incorporate some PR feedback

* Switch from using Message::encode to Message::encode_to_vec

* Add comment about client recovery operation not returning an event

* Use shorted github rev link in comment

* ibc-rs rev from main

---------

Co-authored-by: Ranadeep Biswas <[email protected]>
  • Loading branch information
seanchen1991 and rnbguy authored Apr 26, 2024
1 parent 6697611 commit 8496b3f
Show file tree
Hide file tree
Showing 23 changed files with 1,145 additions and 299 deletions.
10 changes: 10 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,13 @@ jobs:
- uses: actions-rs/cargo@v1
with:
command: doc

cargo-toml-fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
- uses: baptiste0928/cargo-install@v3
with:
crate: taplo-cli
- run: taplo fmt --check
Loading

0 comments on commit 8496b3f

Please sign in to comment.