informalsystems / hermes

IBC Relayer in Rust
https://hermes.informal.systems
Apache License 2.0
441 stars 326 forks source link

Consolidate filtering in Hermes #4052

Open ljoss17 opened 3 months ago

ljoss17 commented 3 months ago

Proposal

Following this comment, https://github.com/informalsystems/hermes/pull/4041#pullrequestreview-2128705806, this issue will be used to discuss the filtering features in Hermes.

There have been multiple issues related to filtering in Hermes. There are multiple filtering features such as excluded packets by sequence, packet filter by channel and port, skip packets for a destination chain which is not configured. These filtering features should be reviewed and improved if necessary.

In addition there are filter methods which are always enabled, https://github.com/informalsystems/hermes/blob/v1.9.0/crates/relayer/src/supervisor.rs#L317. These should either be used correctly or removed.


For Admin Use

zmanian commented 3 months ago

It should be possible to filter ACK packets by string size

ljoss17 commented 3 months ago

Hi @zmanian, thanks for the suggestion. We currently have the possibility to filter ICS04 packets containing ICS20 packet data. This verifications is applied to both send and acks, and the configurations for these filters are the following:

When you say filtering by String size, do you have anything else in mind or are you referring to memo and receiver fields?