Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add spec for ibc rate limit #208

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

docs: add spec for ibc rate limit #208

wants to merge 2 commits into from

Conversation

blasrodri
Copy link
Contributor

@blasrodri blasrodri commented Feb 15, 2023

@dzmitry-lahoda
Copy link
Contributor

awesome

@dzmitry-lahoda
Copy link
Contributor

dzmitry-lahoda commented Feb 23, 2023

@blasrodri may you provide simple trait hook/callback for any custom rate limiter to fit into IBC pallet?

so we can set no operation larger than 1 DOT can happen

@dzmitry-lahoda
Copy link
Contributor

thank for writing out design into doc. instead of reading contract code. so i dislike epoch based design. imho there should be efficient continuous design. so that there is no need to write user code based on what time it is.

@blasrodri
Copy link
Contributor Author

thank for writing out design into doc. instead of reading contract code. so i dislike epoch based design. imho there should be efficient continuous design. so that there is no need to write user code based on what time it is.

So from your perspective is to have a window that's constantly adjusting?

@blasrodri
Copy link
Contributor Author

@blasrodri may you provide simple trait hook/callback for any custom rate limiter to fit into IBC pallet?

so we can set no operation larger than 1 DOT can happen

this is also a good idea. As far as I understood, we wanted to implement this as a middleware, so that any behavior should be easily encoded

@dzmitry-lahoda
Copy link
Contributor

#225

@dzmitry-lahoda
Copy link
Contributor

So from your perspective is to have a window that's constantly adjusting?

yes. i am sure it is possible with good O(1) and no epoches (updates on each block)

@blasrodri
Copy link
Contributor Author

@dzmitry-lahoda how would you update the window on O(1)?

  • If you store an aggregated number (scalar), then it's harder to update it by removing the older one, as you don't keep track of individual values.

@dzmitry-lahoda
Copy link
Contributor

If you store an aggregated number (scalar), then it's harder to update it by removing the older one, as you don't keep track of individual values.

I was thinking on how toiled flush works or mana in games.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants