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

Use eth-bridge-integration branch for tendermint-rs/ibc-rs/tower-abci dependencies #531

Merged
merged 3 commits into from
Oct 4, 2022

Conversation

james-chf
Copy link
Contributor

@james-chf james-chf commented Sep 30, 2022

eth-bridge-integration branches are set up on our tendermint-rs, ibc-rs and tower-abci forks, and this PR switches namada eth-bridge-integration branch to start using them. This PR also makes it so that we can patch to a different version of tendermint-rs just via changing Cargo.tomls in this repo, rather than also in the ibc-rs/tower-abci forks. (Relates to #527).

The change of tendermint-rs from v0.23.5 to v0.23.6 is because ibc v0.14.0, which we based our ibc-rs fork off, depends explicitly on tendermint-rs v0.23.6 (it specifies version = "=0.23.6" for tendermint-rs in some of its Cargo.toml). This meant our v0.23.5-based tendermint-rs fork couldn't be straightforwardly patched onto our ibc-rs fork, as it didn't match the semver requirements specified by ibc-rs. Going forwards:

  • if we want to upgrade any of these forks, we should make sure the version requirements match up with each other e.g. if we want to upgrade our ibc-rs fork to a version that depends on a higher version of tendermint-rs, we should update tendermint-rs as well at the same time
  • tendermint-rs main looks to be tracking Tendermint v0.37 (though not 100% confirmed), so we probably want to try catching up our tendermint-rs fork branch

abcipp dependencies and the like remain unchanged, running make test-abcipp locally still passes. I tested running the ledger locally, using this prebuilt .anoma directory - anoma-ethbridge-2022-09-30.tar.gz

@james-chf james-chf changed the title Start using eth-bridge-integration for tendermint-rs/ibc-rs/tower-abci dependencies Use eth-bridge-integration branch for tendermint-rs/ibc-rs/tower-abci dependencies Sep 30, 2022
@james-chf james-chf force-pushed the james/ethbridge/fork-patching branch 2 times, most recently from db28db7 to c1f2e52 Compare October 3, 2022 10:10
@james-chf
Copy link
Contributor Author

pls update wasm

Copy link
Collaborator

@sug0 sug0 left a comment

Choose a reason for hiding this comment

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

tested this PR. seems to work fine!

Comment on lines +28 to +37
# patched to a commit on the `eth-bridge-integration` branch of our fork
tendermint = {git = "https://github.com/heliaxdev/tendermint-rs.git", rev = "bc0b6ac47b3bfc1ee8b944341b654b867b3b5d0b"}
tendermint-proto = {git = "https://github.com/heliaxdev/tendermint-rs.git", rev = "bc0b6ac47b3bfc1ee8b944341b654b867b3b5d0b"}
tendermint-testgen = {git = "https://github.com/heliaxdev/tendermint-rs.git", rev = "bc0b6ac47b3bfc1ee8b944341b654b867b3b5d0b"}
tendermint-light-client-verifier = {git = "https://github.com/heliaxdev/tendermint-rs.git", rev = "bc0b6ac47b3bfc1ee8b944341b654b867b3b5d0b"}

# patched to a commit on the `eth-bridge-integration` branch of our fork
ibc = {git = "https://github.com/heliaxdev/ibc-rs.git", rev = "451ff75591d9de48b7147a651858c3daeb5e2436"}
ibc-proto = {git = "https://github.com/heliaxdev/ibc-rs.git", rev = "451ff75591d9de48b7147a651858c3daeb5e2436"}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We didn't have to patch these things in our wasm crates before, as the namada crates were pulling in the forks for us indirectly. Now, because the namada crates are patched at the workspace level, we have to also patch anywhere we use the individual namada crates.

In some sense, it would make sense for individual namada crates to pull in the forks directly rather than via workspace-level Cargo.toml patching, but it's not possible to patch individual crates in a workspace - also, we are then unable to patch tendermint-rs and the like whenever we are using those crates outside of the workspace due to rust-lang/cargo#5478 :(

@james-chf james-chf merged commit 6c2a578 into eth-bridge-integration Oct 4, 2022
@james-chf james-chf deleted the james/ethbridge/fork-patching branch October 4, 2022 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants