Skip to content

Commit

Permalink
Release v1.8.2 (#3891)
Browse files Browse the repository at this point in the history
* Bump version to 1.8.2

* Fix warnings on latest nightly

* Create v1.8.2 changelog

* Rephrase changelog summary

* Reword changelog

* Update CHANGELOG.md

Co-authored-by: Luca Joss <luca@informal.systems>
Signed-off-by: Romain Ruetschi <romain@informal.systems>
  • Loading branch information
romac and ljoss17 authored Mar 12, 2024
1 parent bff1ee9 commit 06dfbaf
Show file tree
Hide file tree
Showing 128 changed files with 138 additions and 225 deletions.
6 changes: 6 additions & 0 deletions .changelog/v1.8.2/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*March 12th, 2024*

This release fixes the two following bugs and improves the connection and channel handshake retry mechanism:

* Fix erroneous warnings for incompatible version of IBC-Go during health checks, ensuring accurate compatibility reporting
* Fix a bug in the `clear packets` command which caused packet clearing to fail with an "counterparty channel not found" error
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# CHANGELOG

## v1.8.2

*March 12th, 2024*

This release fixes the two following bugs and improves the connection and channel handshake retry mechanism:

* Fix erroneous warnings for incompatible version of IBC-Go during health checks, ensuring accurate compatibility reporting
* Fix a bug in the `clear packets` command which caused packet clearing to fail with an "counterparty channel not found" error

### BUG FIXES

- [Relayer CLI](relayer-cli)
- Correctly use the counterparty channel and port IDs when clearing the packets
from the destination chain to the source chain in the `packet clear` command
([\#3889](https://github.com/informalsystems/hermes/issues/3889))
- [Relayer](relayer)
- Fix parsing of IBC-Go version in health check and improve health check
reporting ([\#3880](https://github.com/informalsystems/hermes/issues/3880))

### FEATURES

- [Integration Test Framework](tools/test-framework)
- Add Injective chain to the chains running the integration tests in the CI.
([\#3887](https://github.com/informalsystems/hermes/issues/3887))

### IMPROVEMENTS

- [Relayer](relayer)
- Change connection and channel handshake retry strategy
to retry at most 10 times (5 times per block max)
([\#3864](https://github.com/informalsystems/hermes/issues/3864))

## v1.8.1

*March 7th, 2024*
Expand Down
16 changes: 8 additions & 8 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions crates/chain-registry/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ibc-chain-registry"
version = "0.27.1"
version = "0.27.2"
edition = "2021"
license = "Apache-2.0"
keywords = ["cosmos", "ibc", "relayer", "chain", "registry"]
Expand All @@ -12,7 +12,7 @@ description = """
"""

[dependencies]
ibc-relayer-types = { version = "0.27.1", path = "../relayer-types" }
ibc-relayer-types = { version = "0.27.2", path = "../relayer-types" }
ibc-proto = { version = "0.42.0", features = ["serde"] }
tendermint-rpc = { version = "0.34.0", features = ["http-client", "websocket-client"] }

Expand Down
7 changes: 2 additions & 5 deletions crates/chain-registry/src/error.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
use std::path::PathBuf;

use flex_error::{define_error, TraceError};
use http;
use itertools::Itertools;
use reqwest;
use serde_json;
use std::path::PathBuf;
use tendermint_rpc;
use tokio::task::JoinError;
use tokio::time::error::Elapsed;

Expand Down
8 changes: 5 additions & 3 deletions crates/chain-registry/src/formatter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@
//! Contains struct to build a `tendermint_rpc::Url` representing a
//! WebSocket URL from a RPC URL and to parse or build a valid `http::Uri`
//! from an (in)complete GRPC URL.
use crate::error::RegistryError;
use std::str::FromStr;

use http::uri::Scheme;
use http::Uri;
use std::str::FromStr;

use tendermint_rpc::Url;

use crate::error::RegistryError;

/// `UriFormatter` contains the basic expectations to parse a valid URL from a `&str`.
pub trait UriFormatter {
/// Expected output format of the formatter.
Expand Down Expand Up @@ -98,7 +101,6 @@ impl UriFormatter for SimpleGrpcFormatter {
mod tests {
use super::*;

use std::cmp::PartialEq;
use std::fmt::Debug;

struct FormatterTest<T> {
Expand Down
12 changes: 6 additions & 6 deletions crates/relayer-cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ibc-relayer-cli"
version = "1.8.1"
version = "1.8.2"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -25,11 +25,11 @@ telemetry = ["ibc-relayer/telemetry", "ibc-telemetry"]
rest-server = ["ibc-relayer-rest"]

[dependencies]
ibc-relayer-types = { version = "0.27.1", path = "../relayer-types" }
ibc-relayer = { version = "0.27.1", path = "../relayer" }
ibc-telemetry = { version = "0.27.1", path = "../telemetry", optional = true }
ibc-relayer-rest = { version = "0.27.1", path = "../relayer-rest", optional = true }
ibc-chain-registry = { version = "0.27.1" , path = "../chain-registry" }
ibc-relayer-types = { version = "0.27.2", path = "../relayer-types" }
ibc-relayer = { version = "0.27.2", path = "../relayer" }
ibc-telemetry = { version = "0.27.2", path = "../telemetry", optional = true }
ibc-relayer-rest = { version = "0.27.2", path = "../relayer-rest", optional = true }
ibc-chain-registry = { version = "0.27.2" , path = "../chain-registry" }

clap = { version = "3.2", features = ["cargo"] }
clap_complete = "3.2"
Expand Down
2 changes: 1 addition & 1 deletion crates/relayer-cli/src/application.rs
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ impl Application for CliApp {
let terminal = Terminal::new(self.term_colors(command));

let config_path = command.config_path();
self.config_path = config_path.clone();
self.config_path.clone_from(&config_path);

let config = config_path
.map(|path| self.load_config(&path))
Expand Down
2 changes: 1 addition & 1 deletion crates/relayer-cli/src/bin/hermes/main.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
//! Main entry point for Cli
#![deny(warnings, missing_docs, trivial_casts, unused_qualifications)]
#![deny(warnings, missing_docs, trivial_casts)]
#![forbid(unsafe_code)]

use ibc_relayer_cli::application::APPLICATION;
Expand Down
11 changes: 5 additions & 6 deletions crates/relayer-cli/src/chain_registry.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
//! Contains functions to generate a relayer config for a given chain
use futures::future::join_all;
use http::Uri;
use ibc_relayer::config::dynamic_gas::DynamicGasPrice;
use std::collections::BTreeMap;
use std::collections::HashMap;
use std::fmt::Display;
use std::marker::Send;

use futures::future::join_all;
use http::Uri;
use tendermint_rpc::Url;
use tokio::task::{JoinError, JoinHandle};
use tracing::{error, trace};

Expand All @@ -18,14 +18,13 @@ use ibc_chain_registry::formatter::{SimpleGrpcFormatter, UriFormatter};
use ibc_chain_registry::paths::IBCPath;
use ibc_chain_registry::querier::*;
use ibc_relayer::chain::cosmos::config::CosmosSdkConfig;
use ibc_relayer::config::dynamic_gas::DynamicGasPrice;
use ibc_relayer::config::filter::{FilterPattern, PacketFilter};
use ibc_relayer::config::gas_multiplier::GasMultiplier;
use ibc_relayer::config::types::{MaxMsgNum, MaxTxSize, Memo, TrustThreshold};
use ibc_relayer::config::{default, AddressType, ChainConfig, EventSourceMode, GasPrice};
use ibc_relayer::keyring::Store;

use tendermint_rpc::Url;

const MAX_HEALTHY_QUERY_RETRIES: u8 = 5;

/// Generate packet filters from Vec<IBCPath> and load them in a Map(chain_name -> filter).
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/config/validate.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use std::fs;

use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};

use crate::conclude::Output;
use crate::config;
Expand Down
3 changes: 1 addition & 2 deletions crates/relayer-cli/src/commands/create/channel.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};

use console::style;
use dialoguer::Confirm;
Expand All @@ -9,6 +8,7 @@ use ibc_relayer::chain::requests::{
IncludeProof, QueryClientStateRequest, QueryConnectionRequest, QueryHeight,
};
use ibc_relayer::channel::Channel;
use ibc_relayer::config::default::connection_delay;
use ibc_relayer::connection::Connection;
use ibc_relayer::foreign_client::ForeignClient;
use ibc_relayer_types::core::ics03_connection::connection::IdentifiedConnectionEnd;
Expand All @@ -19,7 +19,6 @@ use ibc_relayer_types::core::ics24_host::identifier::{ChainId, ConnectionId, Por
use crate::cli_utils::{spawn_chain_runtime, ChainHandlePair};
use crate::conclude::{exit_with_unrecoverable_error, Output};
use crate::prelude::*;
use ibc_relayer::config::default::connection_delay;

static PROMPT: &str = "Are you sure you want a new connection & clients to be created? Hermes will use default security parameters.";
static HINT: &str = "Consider using the default invocation\n\nhermes create channel --a-port <PORT-ID> --b-port <PORT-ID> --a-chain <CHAIN-A-ID> --a-connection <CONNECTION-A-ID>\n\nto reuse a pre-existing connection.";
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/create/connection.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use core::time::Duration;

use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};

use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{IncludeProof, QueryClientStateRequest, QueryHeight};
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/evidence.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ use std::thread::sleep;
use std::time::Duration;

use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use ibc_relayer::config::{ChainConfig, Config};
use tokio::runtime::Runtime as TokioRuntime;

Expand Down
4 changes: 1 addition & 3 deletions crates/relayer-cli/src/commands/fee/transfer.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
use core::time::Duration;

use abscissa_core::{
clap::Parser, config::Override, Command, FrameworkError, FrameworkErrorKind, Runnable,
};
use abscissa_core::{clap::Parser, config::Override, FrameworkError, FrameworkErrorKind};
use eyre::eyre;

use ibc_relayer::{
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/health.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};

use ibc_relayer::chain::endpoint::HealthCheck::*;
use ibc_relayer::chain::handle::ChainHandle;
Expand Down
2 changes: 1 addition & 1 deletion crates/relayer-cli/src/commands/listen.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ use core::{
};
use std::thread;

use abscissa_core::application::fatal_error;
use abscissa_core::clap::Parser;
use abscissa_core::{application::fatal_error, Runnable};
use eyre::eyre;
use itertools::Itertools;
use tendermint_rpc::{client::CompatMode, Client, HttpClient};
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/logs/reset.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use abscissa_core::clap::Parser;
use abscissa_core::Command;
use abscissa_core::Runnable;

use crate::components::default_directive;
use crate::prelude::*;
Expand Down
2 changes: 1 addition & 1 deletion crates/relayer-cli/src/commands/misbehaviour.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use abscissa_core::Command;
use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{IncludeProof, QueryClientStateRequest, QueryHeight};
use ibc_relayer::config::Config;
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/channel.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use ibc_relayer::chain::handle::ChainHandle;

use ibc_relayer::chain::requests::{IncludeProof, QueryChannelRequest, QueryHeight};
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/channel_ends.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use serde::{Deserialize, Serialize};

use eyre::eyre;
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/channels.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use core::fmt::{Debug, Error, Formatter};

use abscissa_core::clap::Parser;
use abscissa_core::Runnable;
use serde::Serialize;

use eyre::eyre;
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/clients.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use ibc_relayer::chain::handle::ChainHandle;
use serde::Serialize;

Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/connection.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{
IncludeProof, PageRequest, QueryConnectionChannelsRequest, QueryConnectionRequest, QueryHeight,
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/connections.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::Runnable;

use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{
Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/packet/ack.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use ibc_relayer::chain::requests::{IncludeProof, QueryHeight, QueryPacketAcknowledgementRequest};
use subtle_encoding::{Encoding, Hex};

Expand Down
1 change: 0 additions & 1 deletion crates/relayer-cli/src/commands/query/packet/acks.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};

use ibc_relayer::chain::counterparty::acknowledgements_on_chain;
use ibc_relayer::chain::handle::BaseChainHandle;
Expand Down
3 changes: 1 addition & 2 deletions crates/relayer-cli/src/commands/query/packet/commitment.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use ibc_relayer::chain::requests::{IncludeProof, QueryHeight, QueryPacketCommitmentRequest};
use serde::Serialize;
use subtle_encoding::{Encoding, Hex};

use ibc_relayer::chain::handle::ChainHandle;
use ibc_relayer::chain::requests::{IncludeProof, QueryHeight, QueryPacketCommitmentRequest};
use ibc_relayer_types::core::ics04_channel::packet::Sequence;
use ibc_relayer_types::core::ics24_host::identifier::{ChainId, ChannelId, PortId};
use ibc_relayer_types::Height;
Expand Down
Loading

0 comments on commit 06dfbaf

Please sign in to comment.