From 2051c5f09e086215034151bf16b8a3e6566a2b4f Mon Sep 17 00:00:00 2001 From: Mikhail Zabaluev Date: Thu, 1 Dec 2022 11:39:35 +0200 Subject: [PATCH 1/2] Update to tendermint 0.27 (#260) * Update to tendermint 0.27 * Unpatch ibc-proto * Changelog entry for #260 * Fix up changelog for #260 --- .../breaking-changes/260-tendermint-0.27.md | 2 ++ ci/no-std-check/Cargo.toml | 8 ++++---- crates/ibc/Cargo.toml | 14 +++++++------- crates/ibc/src/core/ics23_commitment/merkle.rs | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) create mode 100644 .changelog/unreleased/breaking-changes/260-tendermint-0.27.md diff --git a/.changelog/unreleased/breaking-changes/260-tendermint-0.27.md b/.changelog/unreleased/breaking-changes/260-tendermint-0.27.md new file mode 100644 index 000000000..bd5d37af7 --- /dev/null +++ b/.changelog/unreleased/breaking-changes/260-tendermint-0.27.md @@ -0,0 +1,2 @@ +- Update to changes in tendermint-rs 0.27 + ([#260](https://github.com/cosmos/ibc-rs/pulls/260)) diff --git a/ci/no-std-check/Cargo.toml b/ci/no-std-check/Cargo.toml index be1d1ca95..d9bb7f7ad 100644 --- a/ci/no-std-check/Cargo.toml +++ b/ci/no-std-check/Cargo.toml @@ -6,10 +6,10 @@ resolver = "2" [dependencies] ibc = { path = "../../crates/ibc", default-features = false } -ibc-proto = { version = "0.22.0", default-features = false } -tendermint = { version = "0.26.0", default-features = false } -tendermint-proto = { version = "0.26.0", default-features = false } -tendermint-light-client-verifier = { version = "0.26.0", default-features = false } +ibc-proto = { version = "0.23.0", default-features = false } +tendermint = { version = "0.27.0", default-features = false } +tendermint-proto = { version = "0.27.0", default-features = false } +tendermint-light-client-verifier = { version = "0.27.0", default-features = false } sp-core = { version = "5.0.0", default-features = false, optional = true } sp-io = { version = "5.0.0", default-features = false, optional = true } diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index 47bf87769..71c82f987 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -27,7 +27,7 @@ mocks = ["tendermint-testgen", "clock", "std"] [dependencies] # Proto definitions for all IBC-related interfaces, e.g., connections or channels. -ibc-proto = { version = "0.22.0", default-features = false } +ibc-proto = { version = "0.23.0", default-features = false } ics23 = { version = "=0.8.1", default-features = false, features = ["host-functions"] } time = { version = ">=0.3.0, <0.3.18", default-features = false } serde_derive = { version = "1.0.104", default-features = false } @@ -48,19 +48,19 @@ primitive-types = { version = "0.12.0", default-features = false, features = ["s dyn-clone = "1.0.8" [dependencies.tendermint] -version = "0.26.0" +version = "0.27" default-features = false [dependencies.tendermint-proto] -version = "0.26.0" +version = "0.27" default-features = false [dependencies.tendermint-light-client-verifier] -version = "0.26.0" +version = "0.27" default-features = false [dependencies.tendermint-testgen] -version = "0.26.0" +version = "0.27" optional = true default-features = false @@ -70,5 +70,5 @@ tracing-subscriber = { version = "0.3.14", features = ["fmt", "env-filter", "jso test-log = { version = "0.2.10", features = ["trace"] } modelator = "0.4.2" sha2 = { version = "0.10.6" } -tendermint-rpc = { version = "0.26.0", features = ["http-client", "websocket-client"] } -tendermint-testgen = { version = "0.26.0" } # Needed for generating (synthetic) light blocks. +tendermint-rpc = { version = "0.27", features = ["http-client", "websocket-client"] } +tendermint-testgen = { version = "0.27" } # Needed for generating (synthetic) light blocks. diff --git a/crates/ibc/src/core/ics23_commitment/merkle.rs b/crates/ibc/src/core/ics23_commitment/merkle.rs index 74e990d76..caae77867 100644 --- a/crates/ibc/src/core/ics23_commitment/merkle.rs +++ b/crates/ibc/src/core/ics23_commitment/merkle.rs @@ -1,5 +1,5 @@ use crate::prelude::*; -use tendermint::merkle::proof::Proof as TendermintProof; +use tendermint::merkle::proof::ProofOps as TendermintProof; use ibc_proto::ibc::core::commitment::v1::MerklePath; use ibc_proto::ibc::core::commitment::v1::MerkleProof as RawMerkleProof; From 8b046c3ea90f788b2faba95393ffd6e9b627c2b7 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Thu, 1 Dec 2022 18:08:45 +0100 Subject: [PATCH 2/2] Update `ics23` to v0.9.0 (#275) * Update `ics23` to v0.9.0 * Fix clippy warnings * Add changelog entry --- .changelog/unreleased/improvements/278-ics23-0.9.0.md | 2 ++ crates/ibc/Cargo.toml | 2 +- crates/ibc/src/core/ics23_commitment/merkle.rs | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 .changelog/unreleased/improvements/278-ics23-0.9.0.md diff --git a/.changelog/unreleased/improvements/278-ics23-0.9.0.md b/.changelog/unreleased/improvements/278-ics23-0.9.0.md new file mode 100644 index 000000000..9e42f4be7 --- /dev/null +++ b/.changelog/unreleased/improvements/278-ics23-0.9.0.md @@ -0,0 +1,2 @@ +- Update `ics23` to v0.9.0, which contains substantial security improvements + ([#278](https://github.com/cosmos/ibc-rs/issues/278)) \ No newline at end of file diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index 71c82f987..4fd343cf2 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -28,7 +28,7 @@ mocks = ["tendermint-testgen", "clock", "std"] [dependencies] # Proto definitions for all IBC-related interfaces, e.g., connections or channels. ibc-proto = { version = "0.23.0", default-features = false } -ics23 = { version = "=0.8.1", default-features = false, features = ["host-functions"] } +ics23 = { version = "0.9.0", default-features = false, features = ["host-functions"] } time = { version = ">=0.3.0, <0.3.18", default-features = false } serde_derive = { version = "1.0.104", default-features = false } serde = { version = "1.0", default-features = false } diff --git a/crates/ibc/src/core/ics23_commitment/merkle.rs b/crates/ibc/src/core/ics23_commitment/merkle.rs index caae77867..d7d0f0378 100644 --- a/crates/ibc/src/core/ics23_commitment/merkle.rs +++ b/crates/ibc/src/core/ics23_commitment/merkle.rs @@ -28,7 +28,7 @@ impl From for MerkleRoot { } } -#[derive(Clone, Debug, PartialEq)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct MerkleProof { pub proofs: Vec, }