From fc7afc2062d9d81927bb55c4bcac5ebca872b3dd Mon Sep 17 00:00:00 2001 From: Romain Ruetschi Date: Wed, 27 Apr 2022 16:13:21 +0200 Subject: [PATCH] Release ibc-rs v0.14.0 (#2141) * Bump crates to v0.14.0 and `ibc-proto` to v0.17.1 * Update usage of `create|update client` in the guide * Release changelog * Add doc for `query packet pending` * Update 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 ...x-hermes-retrying-not-regenerating-msgs.md | 0 .../1998-default-max-block-time.md | 0 .../2075-wildcard-filter-middle.md | 0 .../ibc-relayer}/2097-misbehavior-height.md | 0 .../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 .../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 +++++ CHANGELOG.md | 76 +++++++++++++++++++ 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/commands/path-setup/clients.md | 58 +++++++++----- guide/src/commands/queries/packet.md | 70 +++++++++++++++-- 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 +- 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 +- 40 files changed, 246 insertions(+), 92 deletions(-) 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..0f5e1996c2 --- /dev/null +++ b/.changelog/v0.14.0/summary.md @@ -0,0 +1,17 @@ +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 6fc9c4e61d..f4679c0223 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,81 @@ # 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 + +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 + +### 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* 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/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__ 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). 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 3eea44a9e5..f1d771126e 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/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"