From 9ee044e87da1596b1f6463f37c1b01d29db88bca Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Tue, 26 Apr 2022 13:51:13 +0200 Subject: [PATCH 1/6] Bump crates to v0.14.0 and `ibc-proto` to v0.17.1 --- Cargo.lock | 16 ++++++++-------- ci/no-std-check/Cargo.lock | 23 ++++------------------- ci/no-std-check/Cargo.toml | 8 ++++---- guide/README.md | 2 +- guide/src/SUMMARY.md | 2 +- guide/src/commands/global.md | 2 +- guide/src/config.md | 4 ++-- guide/src/index.md | 2 +- guide/src/installation.md | 14 +++++++------- guide/src/rest-api.md | 2 +- guide/src/tutorials/local-chains/start.md | 2 +- modules/Cargo.toml | 4 ++-- proto/Cargo.toml | 2 +- proto/src/lib.rs | 2 +- relayer-cli/Cargo.toml | 12 ++++++------ relayer-rest/Cargo.toml | 6 +++--- relayer-rest/tests/mock.rs | 2 +- relayer/Cargo.toml | 10 +++++----- telemetry/Cargo.toml | 4 ++-- tools/integration-test/Cargo.toml | 2 +- tools/test-framework/Cargo.toml | 2 +- 21 files changed, 54 insertions(+), 69 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 36ead3c506..37736f30ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1385,7 +1385,7 @@ dependencies = [ [[package]] name = "ibc" -version = "0.13.0" +version = "0.14.0" dependencies = [ "bytes", "derive_more", @@ -1416,7 +1416,7 @@ dependencies = [ [[package]] name = "ibc-integration-test" -version = "0.13.0" +version = "0.14.0" dependencies = [ "ibc", "ibc-proto", @@ -1432,7 +1432,7 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.17.0" +version = "0.17.1" dependencies = [ "base64", "bytes", @@ -1446,7 +1446,7 @@ dependencies = [ [[package]] name = "ibc-relayer" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyhow", "async-stream", @@ -1505,7 +1505,7 @@ dependencies = [ [[package]] name = "ibc-relayer-cli" -version = "0.13.0" +version = "0.14.0" dependencies = [ "abscissa_core", "atty", @@ -1550,7 +1550,7 @@ dependencies = [ [[package]] name = "ibc-relayer-rest" -version = "0.13.0" +version = "0.14.0" dependencies = [ "crossbeam-channel 0.5.4", "ibc", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "ibc-telemetry" -version = "0.13.0" +version = "0.14.0" dependencies = [ "crossbeam-channel 0.5.4", "ibc", @@ -1578,7 +1578,7 @@ dependencies = [ [[package]] name = "ibc-test-framework" -version = "0.13.0" +version = "0.14.0" dependencies = [ "color-eyre", "crossbeam-channel 0.5.4", diff --git a/ci/no-std-check/Cargo.lock b/ci/no-std-check/Cargo.lock index a24d08e683..057d2ee893 100644 --- a/ci/no-std-check/Cargo.lock +++ b/ci/no-std-check/Cargo.lock @@ -698,7 +698,7 @@ dependencies = [ [[package]] name = "ibc" -version = "0.13.0" +version = "0.14.0" dependencies = [ "bytes", "derive_more", @@ -723,7 +723,7 @@ dependencies = [ [[package]] name = "ibc-proto" -version = "0.17.0" +version = "0.17.1" dependencies = [ "base64", "bytes", @@ -2247,9 +2247,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" +checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09" dependencies = [ "cfg-if", "pin-project-lite", @@ -2537,18 +2537,3 @@ dependencies = [ "syn", "synstructure", ] - -[[patch.unused]] -name = "tendermint" -version = "0.23.5" -source = "git+https://github.com/informalsystems/tendermint-rs?branch=v0.23.x#235480171081fed74de7b3d3c19911304df29831" - -[[patch.unused]] -name = "tendermint-light-client-verifier" -version = "0.23.5" -source = "git+https://github.com/informalsystems/tendermint-rs?branch=v0.23.x#235480171081fed74de7b3d3c19911304df29831" - -[[patch.unused]] -name = "tendermint-proto" -version = "0.23.5" -source = "git+https://github.com/informalsystems/tendermint-rs?branch=v0.23.x#235480171081fed74de7b3d3c19911304df29831" diff --git a/ci/no-std-check/Cargo.toml b/ci/no-std-check/Cargo.toml index a69a9e71e7..5e515ec8dd 100644 --- a/ci/no-std-check/Cargo.toml +++ b/ci/no-std-check/Cargo.toml @@ -31,7 +31,7 @@ substrate-std = [ "sp-std/std", ] -[patch.crates-io] -tendermint = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" } -tendermint-proto = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" } -tendermint-light-client-verifier = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" } +# [patch.crates-io] +# tendermint = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" } +# tendermint-proto = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" } +# tendermint-light-client-verifier = { git = "https://github.com/informalsystems/tendermint-rs", branch = "v0.23.x" } diff --git a/guide/README.md b/guide/README.md index dbf700d86e..ec90777905 100644 --- a/guide/README.md +++ b/guide/README.md @@ -11,7 +11,7 @@ mdBook is a utility to create modern online books from Markdown files. This guide should be permanently deployed at its latest stable version at [hermes.informal.systems](https://hermes.informal.systems). -Current version: `0.13.0`. +Current version: `0.14.0`. The version of this guide is aligned with the [versioning of the ibc crates](../README.md). diff --git a/guide/src/SUMMARY.md b/guide/src/SUMMARY.md index 4f9be3ad34..68599440ba 100644 --- a/guide/src/SUMMARY.md +++ b/guide/src/SUMMARY.md @@ -1,6 +1,6 @@ # Summary -# Hermes (v0.13.0) +# Hermes (v0.14.0) --- - [Introduction](./index.md) diff --git a/guide/src/commands/global.md b/guide/src/commands/global.md index c0ed5a3607..b511172491 100644 --- a/guide/src/commands/global.md +++ b/guide/src/commands/global.md @@ -3,7 +3,7 @@ Hermes accepts global options which affect all commands. ```shell -hermes 0.13.0 +hermes 0.14.0 Informal Systems Implementation of `hermes`, an IBC Relayer developed in Rust. diff --git a/guide/src/config.md b/guide/src/config.md index 192f3f98f6..57f1cfaaa1 100644 --- a/guide/src/config.md +++ b/guide/src/config.md @@ -25,7 +25,7 @@ hermes [-c CONFIG_FILE] COMMAND The configuration file must have one `global` section, and one `chains` section for each chain. > **Note:** As of 0.6.0, the Hermes configuration file is self-documented. -> Please read the configuration file [`config.toml`](https://github.com/informalsystems/ibc-rs/blob/v0.13.0/config.toml) +> Please read the configuration file [`config.toml`](https://github.com/informalsystems/ibc-rs/blob/v0.14.0/config.toml) > itself for the most up-to-date documentation of parameters. By default, Hermes will relay on all channels available between all the configured chains. @@ -36,7 +36,7 @@ For example, if there are only two chains configured, then Hermes will only rela i.e. the two chains will serve as a source for each other, and likewise as a destination for each other's relevant events. Hermes will ignore all events that pertain to chains which are unknown (ie. not present in config.toml). -To restrict relaying on specific channels, or uni-directionally, you can use [packet filtering policies](https://github.com/informalsystems/ibc-rs/blob/v0.13.0/config.toml#L207-L224). +To restrict relaying on specific channels, or uni-directionally, you can use [packet filtering policies](https://github.com/informalsystems/ibc-rs/blob/v0.14.0/config.toml#L207-L224). ## Adding private keys diff --git a/guide/src/index.md b/guide/src/index.md index 3807dc295a..0f9933b4ba 100644 --- a/guide/src/index.md +++ b/guide/src/index.md @@ -1,4 +1,4 @@ -# Hermes Guide (v0.13.0) +# Hermes Guide (v0.14.0) Hermes is a an open-source Rust implementation of a relayer for the diff --git a/guide/src/installation.md b/guide/src/installation.md index 2a663eaf05..fa7937b3c5 100644 --- a/guide/src/installation.md +++ b/guide/src/installation.md @@ -14,8 +14,8 @@ There are two main approaches for obtaining Hermes: Simply head to the GitHub [Releases][releases] page and download the latest version of Hermes binary matching your platform: -- MacOS: `hermes-v0.13.0-x86_64-apple-darwin.tar.gz` (or .zip), -- Linux: `hermes-v0.13.0-x86_64-unknown-linux-gnu.tar.gz` (or .zip). +- MacOS: `hermes-v0.14.0-x86_64-apple-darwin.tar.gz` (or .zip), +- Linux: `hermes-v0.14.0-x86_64-unknown-linux-gnu.tar.gz` (or .zip). The step-by-step instruction below should carry you through the whole process: @@ -47,7 +47,7 @@ hermes version ``` ``` -hermes 0.13.0 +hermes 0.14.0 ``` ## Install via Cargo @@ -81,7 +81,7 @@ hermes version ``` ``` -hermes 0.13.0 +hermes 0.14.0 ``` ## Build from source @@ -103,10 +103,10 @@ cd ibc-rs Go to the [ibc-rs releases](https://github.com/informalsystems/ibc-rs/releases) page to see what is the most recent release. -Then checkout the release, for example if the most recent release is `v0.13.0` then execute the command: +Then checkout the release, for example if the most recent release is `v0.14.0` then execute the command: ```shell -git checkout v0.13.0 +git checkout v0.14.0 ``` ### Building with `cargo build` @@ -151,7 +151,7 @@ If you run the `hermes` without any additional parameters you should see the usa ``` ``` -hermes 0.13.0 +hermes 0.14.0 Informal Systems USAGE: diff --git a/guide/src/rest-api.md b/guide/src/rest-api.md index 3f2e4e8a88..63bf6d5b8d 100644 --- a/guide/src/rest-api.md +++ b/guide/src/rest-api.md @@ -39,7 +39,7 @@ as the version of the REST server itself (under the `ibc-relayer-rest` key). [ { "name": "ibc-relayer", - "version": "0.13.0" + "version": "0.14.0" }, { "name": "ibc-relayer-rest", diff --git a/guide/src/tutorials/local-chains/start.md b/guide/src/tutorials/local-chains/start.md index 014d3709ed..e2b94d18e4 100644 --- a/guide/src/tutorials/local-chains/start.md +++ b/guide/src/tutorials/local-chains/start.md @@ -8,7 +8,7 @@ To this end, clone the `ibc-rs` repository and check out the current version: ```bash git clone git@github.com:informalsystems/ibc-rs.git cd ibc-rs -git checkout v0.13.0 +git checkout v0.14.0 ``` ### Stop existing `gaiad` processes diff --git a/modules/Cargo.toml b/modules/Cargo.toml index 53b083149e..ded4749097 100644 --- a/modules/Cargo.toml +++ b/modules/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc" -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -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.17.0", path = "../proto", default-features = false } +ibc-proto = { version = "0.17.1", path = "../proto", default-features = false } ics23 = { version = "0.7.0", default-features = false } time = { version = "0.3", default-features = false } serde_derive = { version = "1.0.104", default-features = false } diff --git a/proto/Cargo.toml b/proto/Cargo.toml index 0843c4f9ec..6b65a807f7 100644 --- a/proto/Cargo.toml +++ b/proto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-proto" -version = "0.17.0" +version = "0.17.1" authors = ["Informal Systems "] edition = "2021" license = "Apache-2.0" diff --git a/proto/src/lib.rs b/proto/src/lib.rs index 341f7425b3..d07b717776 100644 --- a/proto/src/lib.rs +++ b/proto/src/lib.rs @@ -8,7 +8,7 @@ #![allow(clippy::large_enum_variant)] #![allow(rustdoc::bare_urls)] #![forbid(unsafe_code)] -#![doc(html_root_url = "https://docs.rs/ibc-proto/0.17.0")] +#![doc(html_root_url = "https://docs.rs/ibc-proto/0.17.1")] pub mod google; diff --git a/relayer-cli/Cargo.toml b/relayer-cli/Cargo.toml index 1478f89eae..f531f87c30 100644 --- a/relayer-cli/Cargo.toml +++ b/relayer-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer-cli" -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -26,11 +26,11 @@ telemetry = ["ibc-relayer/telemetry", "ibc-telemetry"] rest-server = ["ibc-relayer-rest"] [dependencies] -ibc = { version = "0.13.0", path = "../modules", features = ["std", "clock"] } -ibc-relayer = { version = "0.13.0", path = "../relayer" } -ibc-proto = { version = "0.17.0", path = "../proto" } -ibc-telemetry = { version = "0.13.0", path = "../telemetry", optional = true } -ibc-relayer-rest = { version = "0.13.0", path = "../relayer-rest", optional = true } +ibc = { version = "0.14.0", path = "../modules", features = ["std", "clock"] } +ibc-relayer = { version = "0.14.0", path = "../relayer" } +ibc-proto = { version = "0.17.1", path = "../proto" } +ibc-telemetry = { version = "0.14.0", path = "../telemetry", optional = true } +ibc-relayer-rest = { version = "0.14.0", path = "../relayer-rest", optional = true } clap = { version = "3.1", features = ["cargo"] } clap_complete = "3.1" diff --git a/relayer-rest/Cargo.toml b/relayer-rest/Cargo.toml index 53039c943a..5ad242d69c 100644 --- a/relayer-rest/Cargo.toml +++ b/relayer-rest/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer-rest" -version = "0.13.0" +version = "0.14.0" authors = ["Informal Systems "] edition = "2021" license = "Apache-2.0" @@ -14,8 +14,8 @@ description = """ """ [dependencies] -ibc = { version = "0.13.0", path = "../modules" } -ibc-relayer = { version = "0.13.0", path = "../relayer" } +ibc = { version = "0.14.0", path = "../modules" } +ibc-relayer = { version = "0.14.0", path = "../relayer" } crossbeam-channel = "0.5" rouille = "3.5" diff --git a/relayer-rest/tests/mock.rs b/relayer-rest/tests/mock.rs index 65c9abbb93..90872c6c08 100644 --- a/relayer-rest/tests/mock.rs +++ b/relayer-rest/tests/mock.rs @@ -63,7 +63,7 @@ fn version() { let rest_api_version = VersionInfo { name: "ibc-relayer-rest".to_string(), - version: "0.13.0".to_string(), + version: "0.14.0".to_string(), }; let result = vec![version.clone(), rest_api_version]; diff --git a/relayer/Cargo.toml b/relayer/Cargo.toml index 694fe2ebb6..fbc4e55aa5 100644 --- a/relayer/Cargo.toml +++ b/relayer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-relayer" -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -21,9 +21,9 @@ profiling = [] telemetry = ["ibc-telemetry"] [dependencies] -ibc = { version = "0.13.0", path = "../modules" } -ibc-proto = { version = "0.17.0", path = "../proto" } -ibc-telemetry = { version = "0.13.0", path = "../telemetry", optional = true } +ibc = { version = "0.14.0", path = "../modules" } +ibc-proto = { version = "0.17.1", path = "../proto" } +ibc-telemetry = { version = "0.14.0", path = "../telemetry", optional = true } subtle-encoding = "0.5" humantime-serde = "1.1.1" @@ -93,7 +93,7 @@ default-features = false version = "=0.23.6" [dev-dependencies] -ibc = { version = "0.13.0", path = "../modules", features = ["mocks"] } +ibc = { version = "0.14.0", path = "../modules", features = ["mocks"] } serial_test = "0.6.0" env_logger = "0.9.0" tracing-subscriber = { version = "0.3.11", features = ["fmt", "env-filter", "json"] } diff --git a/telemetry/Cargo.toml b/telemetry/Cargo.toml index a57b9cd6fa..72e3494e5a 100644 --- a/telemetry/Cargo.toml +++ b/telemetry/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-telemetry" -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "Apache-2.0" readme = "README.md" @@ -13,7 +13,7 @@ description = """ """ [dependencies] -ibc = { version = "0.13.0", path = "../modules" } +ibc = { version = "0.14.0", path = "../modules" } crossbeam-channel = "0.5.4" once_cell = "1.9.0" diff --git a/tools/integration-test/Cargo.toml b/tools/integration-test/Cargo.toml index 4177c8d833..96b28921b4 100644 --- a/tools/integration-test/Cargo.toml +++ b/tools/integration-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-integration-test" -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "Apache-2.0" readme = "README.md" diff --git a/tools/test-framework/Cargo.toml b/tools/test-framework/Cargo.toml index b05c582b60..e4b6a6d97d 100644 --- a/tools/test-framework/Cargo.toml +++ b/tools/test-framework/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ibc-test-framework" -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "Apache-2.0" readme = "README.md" From 6f3cad1e3047345b1be3ea341be9d67e3add4822 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Tue, 26 Apr 2022 16:39:45 +0200 Subject: [PATCH 2/6] Update usage of `create|update client` in the guide --- guide/src/commands/path-setup/clients.md | 58 ++++++++++++++++-------- 1 file changed, 40 insertions(+), 18 deletions(-) diff --git a/guide/src/commands/path-setup/clients.md b/guide/src/commands/path-setup/clients.md index 0f79a0cb8a..bfecbc7913 100644 --- a/guide/src/commands/path-setup/clients.md +++ b/guide/src/commands/path-setup/clients.md @@ -6,23 +6,47 @@ ## Create Client -Use the `create client` command to create a new client. +Use the `create client` command to create a new client on a destination chain, +tracking the state of the source chain. ```shell USAGE: - hermes create client + hermes create client [OPTIONS] -DESCRIPTION: - Create a new IBC client +ARGS: + + identifier of the destination chain -POSITIONAL ARGUMENTS: - dst_chain_id identifier of the destination chain - src_chain_id identifier of the source chain + + identifier of the source chain + +OPTIONS: + -d, --clock-drift + The maximum allowed clock drift for this client. + + The clock drift is a correction parameter. It helps deal with clocks that are only + approximately synchronized between the source and destination chains of this client. The + destination chain for this client uses the clock drift parameter when deciding to accept + or reject a new header (originating from the source chain) for this client. If this + option is not specified, a suitable clock drift value is derived from the chain + configurations. + + -p, --trusting-period + Override the trusting period specified in the config. + + The trusting period specifies how long a validator set is trusted for (must be shorter + than the chain's unbonding period). + + -t, --trust-threshold + Override the trust threshold specified in the configuration. + + The trust threshold defines what fraction of the total voting power of a known and + trusted validator set is sufficient for a commit to be accepted going forward. ``` __Example__ -Create a new client of `ibc-1` on `ibc-0`: +Create a new client on `ibc-0` which tracks `ibc-1`: ```shell hermes create client ibc-0 ibc-1 @@ -57,18 +81,16 @@ Specific update and trusted heights can be specified. ```shell USAGE: - hermes update client - -DESCRIPTION: - Update an IBC client + hermes update client [OPTIONS] -POSITIONAL ARGUMENTS: - dst_chain_id identifier of the destination chain - dst_client_id identifier of the client to be updated on destination chain +ARGS: + identifier of the destination chain + identifier of the client to be updated on destination chain -FLAGS: - -H, --target-height TARGET-HEIGHT - -t, --trusted-height TRUSTED-HEIGHT +OPTIONS: + -h, --help Print help information + -H, --target-height the target height of the client update + -t, --trusted-height the trusted height of the client update ``` __Update client with latest header__ From 4e8fbf6f94d5386bf61c1763095256ce8f68f02d Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Wed, 27 Apr 2022 15:39:05 +0200 Subject: [PATCH 3/6] Release changelog --- .changelog/v0.13.0/summary.md | 2 +- .../breaking-changes/2081-msrv-1.60.md | 0 .../1288-upgrade-chain-confirmation.md | 0 .../1921-create-client-options.md | 0 .../ibc-relayer/1772-fix-conn-delay-check.md | 0 ...fix-hermes-retrying-not-regenerating-msgs.md | 0 .../ibc-relayer}/1998-default-max-block-time.md | 0 .../ibc-relayer/2075-wildcard-filter-middle.md | 0 .../ibc-relayer}/2097-misbehavior-height.md | 0 .../bug-fixes/ibc/2035-handler-event-height.md | 0 .../ibc/2062-conn-open-init-version.md | 0 .../ibc-relayer}/2036-caching-metrics.md | 0 .../improvements/1936-missing-chain-warn.md | 0 .../improvements/2045-tendermint-0.23.6.md | 0 .../ibc-relayer-cli}/1421-create-channel-cli.md | 0 .../2096-query-packet-pending.md | 0 .../improvements/ibc/1758-complete-ics26.md | 0 .../improvements/ibc/2068-chan-id-u64.md | 0 .changelog/v0.14.0/summary.md | 17 +++++++++++++++++ 19 files changed, 18 insertions(+), 1 deletion(-) rename .changelog/{unreleased => v0.14.0}/breaking-changes/2081-msrv-1.60.md (100%) rename .changelog/{unreleased/bug-fixes/relayer-cli => v0.14.0/bug-fixes/ibc-relayer-cli}/1288-upgrade-chain-confirmation.md (100%) rename .changelog/{unreleased/bug-fixes => v0.14.0/bug-fixes/ibc-relayer-cli}/1921-create-client-options.md (100%) rename .changelog/{unreleased => v0.14.0}/bug-fixes/ibc-relayer/1772-fix-conn-delay-check.md (100%) rename .changelog/{unreleased => v0.14.0}/bug-fixes/ibc-relayer/1792-fix-hermes-retrying-not-regenerating-msgs.md (100%) rename .changelog/{unreleased/bug-fixes/relayer => v0.14.0/bug-fixes/ibc-relayer}/1998-default-max-block-time.md (100%) rename .changelog/{unreleased => v0.14.0}/bug-fixes/ibc-relayer/2075-wildcard-filter-middle.md (100%) rename .changelog/{unreleased/bug-fixes/relayer => v0.14.0/bug-fixes/ibc-relayer}/2097-misbehavior-height.md (100%) rename .changelog/{unreleased => v0.14.0}/bug-fixes/ibc/2035-handler-event-height.md (100%) rename .changelog/{unreleased => v0.14.0}/bug-fixes/ibc/2062-conn-open-init-version.md (100%) rename .changelog/{unreleased/features/relayer => v0.14.0/features/ibc-relayer}/2036-caching-metrics.md (100%) rename .changelog/{unreleased => v0.14.0}/improvements/1936-missing-chain-warn.md (100%) rename .changelog/{unreleased => v0.14.0}/improvements/2045-tendermint-0.23.6.md (100%) rename .changelog/{unreleased/improvements/relayer-cli => v0.14.0/improvements/ibc-relayer-cli}/1421-create-channel-cli.md (100%) rename .changelog/{unreleased/improvements => v0.14.0/improvements/ibc-relayer-cli}/2096-query-packet-pending.md (100%) rename .changelog/{unreleased => v0.14.0}/improvements/ibc/1758-complete-ics26.md (100%) rename .changelog/{unreleased => v0.14.0}/improvements/ibc/2068-chan-id-u64.md (100%) create mode 100644 .changelog/v0.14.0/summary.md diff --git a/.changelog/v0.13.0/summary.md b/.changelog/v0.13.0/summary.md index 3e20270faa..041f9fce19 100644 --- a/.changelog/v0.13.0/summary.md +++ b/.changelog/v0.13.0/summary.md @@ -1,4 +1,4 @@ -*March 28th, 2021* +*March 28th, 2022* Hermes v0.13.0 improves performance by lowering the pressure on the full nodes by adding a caching layer for some queries. diff --git a/.changelog/unreleased/breaking-changes/2081-msrv-1.60.md b/.changelog/v0.14.0/breaking-changes/2081-msrv-1.60.md similarity index 100% rename from .changelog/unreleased/breaking-changes/2081-msrv-1.60.md rename to .changelog/v0.14.0/breaking-changes/2081-msrv-1.60.md diff --git a/.changelog/unreleased/bug-fixes/relayer-cli/1288-upgrade-chain-confirmation.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer-cli/1288-upgrade-chain-confirmation.md similarity index 100% rename from .changelog/unreleased/bug-fixes/relayer-cli/1288-upgrade-chain-confirmation.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer-cli/1288-upgrade-chain-confirmation.md diff --git a/.changelog/unreleased/bug-fixes/1921-create-client-options.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer-cli/1921-create-client-options.md similarity index 100% rename from .changelog/unreleased/bug-fixes/1921-create-client-options.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer-cli/1921-create-client-options.md diff --git a/.changelog/unreleased/bug-fixes/ibc-relayer/1772-fix-conn-delay-check.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer/1772-fix-conn-delay-check.md similarity index 100% rename from .changelog/unreleased/bug-fixes/ibc-relayer/1772-fix-conn-delay-check.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer/1772-fix-conn-delay-check.md diff --git a/.changelog/unreleased/bug-fixes/ibc-relayer/1792-fix-hermes-retrying-not-regenerating-msgs.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer/1792-fix-hermes-retrying-not-regenerating-msgs.md similarity index 100% rename from .changelog/unreleased/bug-fixes/ibc-relayer/1792-fix-hermes-retrying-not-regenerating-msgs.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer/1792-fix-hermes-retrying-not-regenerating-msgs.md diff --git a/.changelog/unreleased/bug-fixes/relayer/1998-default-max-block-time.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer/1998-default-max-block-time.md similarity index 100% rename from .changelog/unreleased/bug-fixes/relayer/1998-default-max-block-time.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer/1998-default-max-block-time.md diff --git a/.changelog/unreleased/bug-fixes/ibc-relayer/2075-wildcard-filter-middle.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer/2075-wildcard-filter-middle.md similarity index 100% rename from .changelog/unreleased/bug-fixes/ibc-relayer/2075-wildcard-filter-middle.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer/2075-wildcard-filter-middle.md diff --git a/.changelog/unreleased/bug-fixes/relayer/2097-misbehavior-height.md b/.changelog/v0.14.0/bug-fixes/ibc-relayer/2097-misbehavior-height.md similarity index 100% rename from .changelog/unreleased/bug-fixes/relayer/2097-misbehavior-height.md rename to .changelog/v0.14.0/bug-fixes/ibc-relayer/2097-misbehavior-height.md diff --git a/.changelog/unreleased/bug-fixes/ibc/2035-handler-event-height.md b/.changelog/v0.14.0/bug-fixes/ibc/2035-handler-event-height.md similarity index 100% rename from .changelog/unreleased/bug-fixes/ibc/2035-handler-event-height.md rename to .changelog/v0.14.0/bug-fixes/ibc/2035-handler-event-height.md diff --git a/.changelog/unreleased/bug-fixes/ibc/2062-conn-open-init-version.md b/.changelog/v0.14.0/bug-fixes/ibc/2062-conn-open-init-version.md similarity index 100% rename from .changelog/unreleased/bug-fixes/ibc/2062-conn-open-init-version.md rename to .changelog/v0.14.0/bug-fixes/ibc/2062-conn-open-init-version.md diff --git a/.changelog/unreleased/features/relayer/2036-caching-metrics.md b/.changelog/v0.14.0/features/ibc-relayer/2036-caching-metrics.md similarity index 100% rename from .changelog/unreleased/features/relayer/2036-caching-metrics.md rename to .changelog/v0.14.0/features/ibc-relayer/2036-caching-metrics.md diff --git a/.changelog/unreleased/improvements/1936-missing-chain-warn.md b/.changelog/v0.14.0/improvements/1936-missing-chain-warn.md similarity index 100% rename from .changelog/unreleased/improvements/1936-missing-chain-warn.md rename to .changelog/v0.14.0/improvements/1936-missing-chain-warn.md diff --git a/.changelog/unreleased/improvements/2045-tendermint-0.23.6.md b/.changelog/v0.14.0/improvements/2045-tendermint-0.23.6.md similarity index 100% rename from .changelog/unreleased/improvements/2045-tendermint-0.23.6.md rename to .changelog/v0.14.0/improvements/2045-tendermint-0.23.6.md diff --git a/.changelog/unreleased/improvements/relayer-cli/1421-create-channel-cli.md b/.changelog/v0.14.0/improvements/ibc-relayer-cli/1421-create-channel-cli.md similarity index 100% rename from .changelog/unreleased/improvements/relayer-cli/1421-create-channel-cli.md rename to .changelog/v0.14.0/improvements/ibc-relayer-cli/1421-create-channel-cli.md diff --git a/.changelog/unreleased/improvements/2096-query-packet-pending.md b/.changelog/v0.14.0/improvements/ibc-relayer-cli/2096-query-packet-pending.md similarity index 100% rename from .changelog/unreleased/improvements/2096-query-packet-pending.md rename to .changelog/v0.14.0/improvements/ibc-relayer-cli/2096-query-packet-pending.md diff --git a/.changelog/unreleased/improvements/ibc/1758-complete-ics26.md b/.changelog/v0.14.0/improvements/ibc/1758-complete-ics26.md similarity index 100% rename from .changelog/unreleased/improvements/ibc/1758-complete-ics26.md rename to .changelog/v0.14.0/improvements/ibc/1758-complete-ics26.md diff --git a/.changelog/unreleased/improvements/ibc/2068-chan-id-u64.md b/.changelog/v0.14.0/improvements/ibc/2068-chan-id-u64.md similarity index 100% rename from .changelog/unreleased/improvements/ibc/2068-chan-id-u64.md rename to .changelog/v0.14.0/improvements/ibc/2068-chan-id-u64.md diff --git a/.changelog/v0.14.0/summary.md b/.changelog/v0.14.0/summary.md new file mode 100644 index 0000000000..9c159a9659 --- /dev/null +++ b/.changelog/v0.14.0/summary.md @@ -0,0 +1,17 @@ +*April 27th, 2022* + +This release notably features a new `query packet pending` command to +list outstanding packet commitments that are either unreceived or pending +acknowledgement at both ends of a channel. + +The `ibc` crate now also come with a complete [ICS 026][ics-26] implementation. + +### Note for operators + +The `create channel` command now requires an existing client and connection, +unless the `--new-client-connection` flag is provided. +Please [refer to the guide][create-channel] for more information. + +[ics-26]: https://github.com/cosmos/ibc/blob/master/spec/core/ics-026-routing-module/README.md +[create-channel]: http://hermes.informal.systems/commands/path-setup/channels.html#establish-channel + From f92cf951a032eb87296648d4e4c9fbdc1abc2a8d Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Wed, 27 Apr 2022 15:47:12 +0200 Subject: [PATCH 4/6] Add doc for `query packet pending` --- guide/src/commands/queries/packet.md | 70 ++++++++++++++++++++++++---- 1 file changed, 62 insertions(+), 8 deletions(-) diff --git a/guide/src/commands/queries/packet.md b/guide/src/commands/queries/packet.md index 6d76ade405..fa7b8a9b5f 100644 --- a/guide/src/commands/queries/packet.md +++ b/guide/src/commands/queries/packet.md @@ -8,16 +8,18 @@ Use the `query packet` commands to query information about packets. USAGE: hermes query packet -DESCRIPTION: - Query information about packets +OPTIONS: + -h, --help Print help information SUBCOMMANDS: - commitments Query packet commitments - commitment Query packet commitment - acks Query packet acknowledgments - ack Query packet acknowledgment - unreceived-packets Query unreceived packets - unreceived-acks Query unreceived acknowledgments + ack Query packet acknowledgment + acks Query packet acknowledgments + commitment Query packet commitment + commitments Query packet commitments + pending Output a summary of pending packets in both directions + unreceived-acks Query unreceived acknowledgments + unreceived-packets Query unreceived packets + help Print this message or the help of the given subcommand(s) ``` ## Table of Contents @@ -25,6 +27,58 @@ SUBCOMMANDS: +## Pending Packets + +Use the `query packet pending` command to query the sequence numbers of all packets that have not yet been received or acknowledged, at both ends of a channel. + +```shell +USAGE: + hermes query packet pending + +ARGS: + identifier of the chain at one end of the channel + port identifier on the chain given by + channel identifier on the chain given by +``` + +__Example__ + +Query the sequence numbers of all packets that either not yet been received or not yet been acknowledged, at both ends of the channel `channel-1`. + +```shell +$ hermes query packet pending ibc-0 tranfer channel-1 +``` + +```json +Success: Summary { + forward: PendingPackets { + unreceived_packets: [ + 2203, + ... + 2212, + ], + unreceived_acks: [ + 2183, + ... + 2202, + ], + }, + reverse: PendingPackets { + unreceived_packets: [ + 14, + ... + 23, + ], + unreceived_acks: [ + 4, + ... + 13, + ], + }, +} +``` + + ## Packet Commitments Use the `query packet commitments` command to query the sequence numbers of all packets that have been sent but not yet acknowledged (these are the packets that still have their commitments stored). From eff4a56fe11a3995091dcc51e6b90c0327d843a4 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Wed, 27 Apr 2022 15:48:56 +0200 Subject: [PATCH 5/6] Update changelog --- CHANGELOG.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fc9c4e61d..f7cbd4996a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,79 @@ # CHANGELOG +## v0.14.0 + +*April 27th, 2022* + +This release notably features a new [`query packet pending`][pending] command to +list outstanding packet commitments that are either unreceived or pending +acknowledgement at both ends of a channel. + +The `ibc` crate now also come with a complete [ICS 026][ics-26] implementation. + +### Note for operators + +The `create channel` command now requires an existing client and connection, +unless the `--new-client-connection` flag is provided. +Please [refer to the guide][create-channel] for more information. + +[ics-26]: https://github.com/cosmos/ibc/blob/master/spec/core/ics-026-routing-module/README.md +[pending]: https://hermes.informal.systems/commands/queries/packet.html#pending-packets +[create-channel]: http://hermes.informal.systems/commands/path-setup/channels.html#establish-channel + +### BREAKING CHANGES + +- `create channel` now requires a `--new-client-connection` flag to create a new client and connection for the channel + ([#1421](https://github.com/informalsystems/ibc-rs/issues/1421)) +- Update MSRV to Rust 1.60 + ([#2081](https://github.com/informalsystems/ibc-rs/issues/2081)) + +### BUG FIXES + +- [IBC Modules](modules) + - Make all handlers emit an IbcEvent with current host chain height as height parameter value. + ([#2035](https://github.com/informalsystems/ibc-rs/issues/2035)) + - Use the version in the message when handling a MsgConnOpenInit + ([#2062](https://github.com/informalsystems/ibc-rs/issues/2062)) +- [Relayer Library](relayer) + - Fix the connection delay logic to use the timestamp of the host block when the client update header was installed. + ([#1772](https://github.com/informalsystems/ibc-rs/issues/1772)) + - Fixed Hermes retrying mechanism not regenerating operational data for messages ([#1792](https://github.com/informalsystems/ibc-rs/pull/1951)) + - Adjusted max_block_time default value to 30s + ([#1998](https://github.com/informalsystems/ibc-rs/issues/1998)) + - Fix a bug in the wildcard filter where pattern would match in the middle of a + string ([#2075](https://github.com/informalsystems/ibc-rs/issues/2075)) + - Fixed target height used in misbehavior detection. + ([#2097](https://github.com/informalsystems/ibc-rs/issues/2097)) +- [Relayer CLI](relayer-cli) + - Skip waiting for confirmation events on tx raw upgrade-chain + ([#1288](https://github.com/informalsystems/ibc-rs/issues/1288)) + - Apply client options specified with the `create client` command. + ([#1921](https://github.com/informalsystems/ibc-rs/issues/1921)) + +### FEATURES + +- [Relayer Library](relayer) + - Add a metric for query cache hits + ([#2036](https://github.com/informalsystems/ibc-rs/issues/2036)) + +### IMPROVEMENTS + +- General + - Log `missing chain in configuration` errors emitted during event processing at + debug level ([#1936](https://github.com/informalsystems/ibc-rs/issues/1936)) + - Update tendermint-rs dependencies to v0.23.6 + ([#2045](https://github.com/informalsystems/ibc-rs/issues/2045)) +- [IBC Modules](modules) + - Complete ICS26 implementation ([#1758](https://github.com/informalsystems/ibc-rs/issues/1758)) + - Improve `ChannelId` validation. ([#2068](https://github.com/informalsystems/ibc-rs/issues/2068)) +- [Relayer CLI](relayer-cli) + - Change `create channel` CLI command such that it is more difficult to create + clients / connections using it ([#1421](https://github.com/informalsystems/ibc-rs/issues/1421)) + - Added `query packet pending` command to list outstanding packet + commitments that are either unreceived or pending acknowledgement + at both ends of a channel. + ([#1862](https://github.com/informalsystems/ibc-rs/issues/1862)) + ## v0.13.0 *March 28th, 2022* From 42c863d0ae4e0454195a2ec2f9919e0f2145b296 Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Wed, 27 Apr 2022 15:56:51 +0200 Subject: [PATCH 6/6] Update changelog --- .changelog/v0.14.0/summary.md | 10 +++++----- CHANGELOG.md | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.changelog/v0.14.0/summary.md b/.changelog/v0.14.0/summary.md index 9c159a9659..0f5e1996c2 100644 --- a/.changelog/v0.14.0/summary.md +++ b/.changelog/v0.14.0/summary.md @@ -1,17 +1,17 @@ -*April 27th, 2022* - -This release notably features a new `query packet pending` command to -list outstanding packet commitments that are either unreceived or pending +This release notably features a new [`query packet pending`][pending] command to +list outstanding packet commitments that are either unreceived or pending acknowledgement at both ends of a channel. The `ibc` crate now also come with a complete [ICS 026][ics-26] implementation. ### Note for operators +There is a new `query packet pending` command, see above for more information. + The `create channel` command now requires an existing client and connection, unless the `--new-client-connection` flag is provided. Please [refer to the guide][create-channel] for more information. [ics-26]: https://github.com/cosmos/ibc/blob/master/spec/core/ics-026-routing-module/README.md +[pending]: https://hermes.informal.systems/commands/queries/packet.html#pending-packets [create-channel]: http://hermes.informal.systems/commands/path-setup/channels.html#establish-channel - diff --git a/CHANGELOG.md b/CHANGELOG.md index f7cbd4996a..f4679c0223 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ The `ibc` crate now also come with a complete [ICS 026][ics-26] implementation. ### Note for operators +There is a new `query packet pending` command, see above for more information. + The `create channel` command now requires an existing client and connection, unless the `--new-client-connection` flag is provided. Please [refer to the guide][create-channel] for more information.