Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Adds a POC for implementation of dual queue ibc rate limits, allowing authorized addresses to grant an address the ability to bypass rate limit evaluation up to a specific value.
Specification
undo_X
functionality is a bit tricky to handle with the addition of the bypass queue so this has been omitted for nowIntents
allow senders to declare an amount of assets to transfer that will bypass rate limit evaluation after a 24 hour period has elapsed since intent submission. It is a one time bypass and the transfer must send the exact amount of tokens.For Osmosis Team
Possible Future Improvements
One possible improvement would be to automatically add 24 hour delays to transfers above a certain threshold. When delayed the assets being transferred can be held by the rate limit contract until the delay period is over and the transfer is finalized.
However I don't believe it would be possible to integrate such functionality into the current ibc middleware implementation so it's likely a v2 would need to be written.
Notes
cosmwasm_storage
crate does not seem to support nested map serialization for state key-value entriesdequeue
type? See the following error message for the error triggered when attempting to serialize nested maps