forked from informalsystems/hermes
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #8 from penumbra-zone/config-enum
relayer: scope config per endpoint
- Loading branch information
Showing
294 changed files
with
5,332 additions
and
2,545 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
8 changes: 8 additions & 0 deletions
8
.changelog/unreleased/breaking-changes/ibc-relayer-cli/3636-config-chain-type.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
- The `type` key in the `[[chains]]` section is now required. ([\#3636](https://github.com/informalsystems/hermes/issues/3636)) | ||
If you previously did not specify that key, you must now set it to `type = "CosmosSdk"`, eg. | ||
|
||
```rust | ||
[[chains]] | ||
id = "osmosis-1" | ||
type = "CosmosSdk" | ||
``` |
3 changes: 3 additions & 0 deletions
3
.changelog/unreleased/improvements/ibc-relayer/3636-config-enum.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
- Change config format to scope configs by type. This enables adding support for | ||
more types of chain, even when those have different config options than each | ||
other. ([\#3636](https://github.com/informalsystems/hermes/issues/3636)) |
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions
4
.changelog/v1.7.0/features/ibc-relayer-cli/3456-evidence-command.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
- Add a new `evidence` command for monitoring the blocks emitted | ||
by a chain for the presence of a misbehaviour evidence, and | ||
report that evidence to all counteparty clients of that chain. | ||
([\#3456](https://github.com/informalsystems/hermes/pull/3456)) |
File renamed without changes.
File renamed without changes.
4 changes: 4 additions & 0 deletions
4
.changelog/v1.7.0/improvements/ibc-relayer/3219-ics-consumer-misbehavior.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
- When Hermes detects a misbehaviour on a chain that is CCV | ||
consumer, it will now send the misbehaviour evidence to the | ||
provider chain using the new `IcsConsumerMisbehaviour` message. | ||
([\#3219](https://github.com/informalsystems/hermes/issues/3219)) |
5 changes: 5 additions & 0 deletions
5
.changelog/v1.7.0/improvements/ibc-relayer/3223-submit-misbehavior-all-clients.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
- When Hermes detects a misbehaviour from a on-chain client, eg. a light | ||
client attack or a double-sign, it will now submit the misbehaviour | ||
evidence to all counterparty clients of the misbehaving chain | ||
instead of to the counterparty client of the misbehaving client only. | ||
([\#3223](https://github.com/informalsystems/hermes/issues/3223)) |
File renamed without changes.
File renamed without changes.
2 changes: 2 additions & 0 deletions
2
.changelog/v1.7.0/improvements/ibc-relayer/3666-default-compat-mode-to-v034.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
- Change fallback compatibility version for CometBFT from v0.37 to v0.34 | ||
([\#3666](https://github.com/informalsystems/hermes/issues/3666)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
*October 20th, 2023* | ||
|
||
This v1.7 release introduces new features and improvements to Hermes. | ||
|
||
One of the key highlights is the addition of new misbehavior detection features. | ||
|
||
Hermes now includes a new command called `evidence`, which monitors the blocks emitted by a chain for any presence of misbehavior evidence. | ||
|
||
If misbehavior is detected, the CLI will report that evidence to all counterparty clients of that chain. | ||
On top of that, misbehavior evidence detected on a chain that is a CCV (Cross-Chain Validation) consumer | ||
is now sent to its provider chain, alerting it directly of the misbehaving consumer chain. | ||
|
||
Furthermore, when misbehavior is detected from an on-chain client, such as a light client attack or a double-sign, | ||
the evidence is now submitted to all counterparty clients of the misbehaving chain, rather than just the | ||
counterparty client of the misbehaving client. | ||
|
||
In addition, the REST server of Hermes now has a `/clear_packets` endpoint which allows triggering | ||
packet clearing for a specific chain or all chains if no specific chain is provided. | ||
|
||
Another notable improvement is the ability to change `tracing` directives at runtime. | ||
This feature lets users adjust tracing settings dynamically as needed, providing a more | ||
customizable and efficient debugging experience. | ||
|
||
Overall, the new misbehavior detection features in Hermes contribute to a more robust and secure environment, | ||
enabling timely identification and response to potential misbehaving actors. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,7 +36,7 @@ concurrency: | |
cancel-in-progress: true | ||
|
||
jobs: | ||
misbehaviour: | ||
light-client-attack: | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 20 | ||
strategy: | ||
|
@@ -91,3 +91,166 @@ jobs: | |
run: | | ||
nix shell .#${{ matrix.chain.package }} -c bash misbehaviour_test.sh | ||
ics-light-client-attack: | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 20 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
chain: | ||
- package: interchain-security | ||
account_prefix: cosmos | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@v22 | ||
with: | ||
extra_nix_config: | | ||
experimental-features = nix-command flakes | ||
- name: Use cachix cache | ||
uses: cachix/cachix-action@v12 | ||
with: | ||
name: cosmos | ||
- name: Install sconfig | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: freshautomations/sconfig | ||
platform: linux | ||
arch: amd64 | ||
extension-matching: disable | ||
rename-to: sconfig | ||
chmod: 0755 | ||
- name: Install stoml | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: freshautomations/stoml | ||
platform: linux | ||
arch: amd64 | ||
extension-matching: disable | ||
rename-to: stoml | ||
chmod: 0755 | ||
- name: Install Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
- name: Use Rust cache | ||
uses: Swatinem/rust-cache@v2 | ||
- name: Build Hermes | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
- name: Run test | ||
working-directory: ci/misbehaviour-ics | ||
run: | | ||
nix shell .#cometbft .#${{ matrix.chain.package }} -c bash light_client_attack_test.sh | ||
ics-light-client-attack-freeze: | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 20 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
chain: | ||
- package: interchain-security | ||
account_prefix: cosmos | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@v22 | ||
with: | ||
extra_nix_config: | | ||
experimental-features = nix-command flakes | ||
- name: Use cachix cache | ||
uses: cachix/cachix-action@v12 | ||
with: | ||
name: cosmos | ||
- name: Install sconfig | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: freshautomations/sconfig | ||
platform: linux | ||
arch: amd64 | ||
extension-matching: disable | ||
rename-to: sconfig | ||
chmod: 0755 | ||
- name: Install stoml | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: freshautomations/stoml | ||
platform: linux | ||
arch: amd64 | ||
extension-matching: disable | ||
rename-to: stoml | ||
chmod: 0755 | ||
- name: Install Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
- name: Use Rust cache | ||
uses: Swatinem/rust-cache@v2 | ||
- name: Build Hermes | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
- name: Run test | ||
working-directory: ci/misbehaviour-ics | ||
run: | | ||
nix shell .#${{ matrix.chain.package }} -c bash light_client_attack_freeze_test.sh | ||
ics-double-sign: | ||
runs-on: ubuntu-20.04 | ||
timeout-minutes: 20 | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
chain: | ||
- package: interchain-security | ||
account_prefix: cosmos | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Install Nix | ||
uses: cachix/install-nix-action@v22 | ||
with: | ||
extra_nix_config: | | ||
experimental-features = nix-command flakes | ||
- name: Use cachix cache | ||
uses: cachix/cachix-action@v12 | ||
with: | ||
name: cosmos | ||
- name: Install sconfig | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: freshautomations/sconfig | ||
platform: linux | ||
arch: amd64 | ||
extension-matching: disable | ||
rename-to: sconfig | ||
chmod: 0755 | ||
- name: Install stoml | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: freshautomations/stoml | ||
platform: linux | ||
arch: amd64 | ||
extension-matching: disable | ||
rename-to: stoml | ||
chmod: 0755 | ||
- name: Install Rust | ||
uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
- name: Use Rust cache | ||
uses: Swatinem/rust-cache@v2 | ||
- name: Build Hermes | ||
uses: actions-rs/cargo@v1 | ||
with: | ||
command: build | ||
- name: Run test | ||
working-directory: ci/misbehaviour-ics | ||
run: | | ||
nix shell .#${{ matrix.chain.package }} -c bash double_sign_test.sh | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,3 +27,6 @@ mc.log | |
|
||
# Ignore OSX .DS_Store file | ||
.DS_Store | ||
|
||
# Ignore tooling Cargo.lock | ||
tools/check-guide/Cargo.lock |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.