Setting Rate Limits
Rate limits are set through a governance-gated authority on a per denom, and per channel / client basis. To add a rate limit, the MsgAddRateLimit
message must be executed which includes:
- Denom: the asset that the rate limit should be applied to
- ChannelOrClientId: the channelID for use with IBC classic connections, or the clientID for use with IBC v2 connections
- MaxPercentSend: the outflow threshold as a percentage of the
channelValue
. More explicitly, a packet being sent would exceed the threshold quota if: (Outflow - Inflow + Packet Amount) / channelValue is greater than MaxPercentSend - MaxPercentRecv: the inflow threshold as a percentage of the
channelValue
- DurationHours: the length of time, after which the rate limits reset
Updating, Removing or Resetting Rate Limits
- If rate limits were set to be too low or high for a given channel/client, they can be updated with
MsgUpdateRateLimit
. - If rate limits are no longer needed, they can be removed with
MsgRemoveRateLimit
. - If the flow counter needs to be resent for a given rate limit, it is possible to do so with
MsgResetRateLimit
.