Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release ibc-rs v0.14.0 #2141

Merged
merged 7 commits into from
Apr 27, 2022
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .changelog/v0.13.0/summary.md
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
17 changes: 17 additions & 0 deletions .changelog/v0.14.0/summary.md
Original file line number Diff line number Diff line change
@@ -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,
romac marked this conversation as resolved.
Show resolved Hide resolved
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

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.

23 changes: 4 additions & 19 deletions ci/no-std-check/Cargo.lock

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

8 changes: 4 additions & 4 deletions ci/no-std-check/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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" }
2 changes: 1 addition & 1 deletion guide/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

Expand Down
2 changes: 1 addition & 1 deletion guide/src/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Summary

# Hermes (v0.13.0)
# Hermes (v0.14.0)

---
- [Introduction](./index.md)
Expand Down
2 changes: 1 addition & 1 deletion guide/src/commands/global.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Hermes accepts global options which affect all commands.

```shell
hermes 0.13.0
hermes 0.14.0
Informal Systems <[email protected]>
Implementation of `hermes`, an IBC Relayer developed in Rust.

Expand Down
58 changes: 40 additions & 18 deletions guide/src/commands/path-setup/clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <OPTIONS>
hermes create client [OPTIONS] <DST_CHAIN_ID> <SRC_CHAIN_ID>

DESCRIPTION:
Create a new IBC client
ARGS:
<DST_CHAIN_ID>
identifier of the destination chain

POSITIONAL ARGUMENTS:
dst_chain_id identifier of the destination chain
src_chain_id identifier of the source chain
<SRC_CHAIN_ID>
identifier of the source chain

OPTIONS:
-d, --clock-drift <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 <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 <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
Expand Down Expand Up @@ -57,18 +81,16 @@ Specific update and trusted heights can be specified.

```shell
USAGE:
hermes update client <OPTIONS>

DESCRIPTION:
Update an IBC client
hermes update client [OPTIONS] <DST_CHAIN_ID> <DST_CLIENT_ID>

POSITIONAL ARGUMENTS:
dst_chain_id identifier of the destination chain
dst_client_id identifier of the client to be updated on destination chain
ARGS:
<DST_CHAIN_ID> identifier of the destination chain
<DST_CLIENT_ID> 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 <TARGET_HEIGHT> the target height of the client update
-t, --trusted-height <TRUSTED_HEIGHT> the trusted height of the client update
```

__Update client with latest header__
Expand Down
4 changes: 2 additions & 2 deletions guide/src/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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

Expand Down
2 changes: 1 addition & 1 deletion guide/src/index.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
14 changes: 7 additions & 7 deletions guide/src/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down Expand Up @@ -47,7 +47,7 @@ hermes version
```

```
hermes 0.13.0
hermes 0.14.0
```

## Install via Cargo
Expand Down Expand Up @@ -81,7 +81,7 @@ hermes version
```

```
hermes 0.13.0
hermes 0.14.0
```

## Build from source
Expand All @@ -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`
Expand Down Expand Up @@ -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 <[email protected]>

USAGE:
Expand Down
2 changes: 1 addition & 1 deletion guide/src/rest-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion guide/src/tutorials/local-chains/start.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ To this end, clone the `ibc-rs` repository and check out the current version:
```bash
git clone [email protected]:informalsystems/ibc-rs.git
cd ibc-rs
git checkout v0.13.0
git checkout v0.14.0
```

### Stop existing `gaiad` processes
Expand Down
4 changes: 2 additions & 2 deletions modules/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ibc"
version = "0.13.0"
version = "0.14.0"
edition = "2021"
license = "Apache-2.0"
readme = "README.md"
Expand All @@ -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 }
Expand Down
2 changes: 1 addition & 1 deletion proto/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "ibc-proto"
version = "0.17.0"
version = "0.17.1"
authors = ["Informal Systems <[email protected]>"]
edition = "2021"
license = "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion proto/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
Loading