Filter incentivized packets
Hermes can be configured in order to only relay packets which are incentivized. This is done by using the [[chain.packet_filter.min_fees]]
setting.
When this filter is configured, Hermes will only relay send_packet
events when they meet the configured requirements. This configuration can be set per channel or for a set of channels using a wildcard expression.
WARNING: This configuration is experimental. Packet clearing will be disabled for the channels which have a fee filter configured, and some
send_packet
events might not be relayed if the incentivized event is not in the same batch of events.
Examples
Channel, amount and denom specific
This example will configure Hermes so it will ignore send_packet
events from channel-0
which do not have at least 10 uatoms
as the recv_fee
.
[chains.packet_filter.min_fees.'channel-0']
recv = [{ amount = 10, denom = 'uatom' }]
Amount and denom specific
This example will configure Hermes so it will ignore send_packet
events from any channel which do not have at least 10 uatoms
as the recv_fee
.
[chains.packet_filter.min_fees.'*']
recv = [{ amount = 10, denom = 'uatom' }]
Amount only
This example will configure Hermes so it will only relay send_packet
events sent with incentivized events.
[chains.packet_filter.min_fees.'*']
recv = [{ amount = 0 }]
Multiple filters
This example will configure Hermes so it will ignore send_packet
events from any channel which starts with ics
, does not have at least 10 uatom
or 20 stake
as the recv_fee
.
[chains.packet_filter.min_fees.'ics*']
recv = [{ amount = 10, denom = 'uatom' }, { amount = 20, denom = 'stake' }]