Skip to content

Rate limiting middleware #7975

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

Open
10 tasks
gjermundgaraba opened this issue Feb 16, 2025 · 0 comments · May be fixed by #8268
Open
10 tasks

Rate limiting middleware #7975

gjermundgaraba opened this issue Feb 16, 2025 · 0 comments · May be fixed by #8268
Assignees

Comments

@gjermundgaraba
Copy link
Contributor

gjermundgaraba commented Feb 16, 2025

The goal of this issue is to move the rate-limiting middleware module that currently resides at https://github.com/cosmos/ibc-apps/tree/main/modules/rate-limiting into the ibc-go repo to be maintained by the core IBC team.

Brief overview over things that need to be done

  • Set up the rate-limiting module as a separate go module under modules/apps and move and rename proto files to use the same structure and package names we use in the ibc-go repo for other middlewares
  • Move all the logic over to this repo
  • Refactor to follow the same structures and conventions used in the ibc-go repo
    • Including any tests, which should use the same integration test suite we use, and if any e2e tests, our e2e test setup
  • Write any missing unit and integration tests to at least cover the same type of scenarios as we do in callbacks and ics-29
  • Write e2e tests under e2e/
  • Write Eureka e2e tests in the solidity-ibc-eureka repo (this would mean adding the rate limiting middleware to the 08-wasm simapp, or creating a new simapp for testing in the solidity repo)

Things that are currently missing in the rate limiting middleware PR (some of which we can consider splitting into separate issues)

  • Merge in main, build, test and lint
  • Go over the current PR and compare with ibc-apps to see if anything is missing or logic change incorrectly
    • Remove client/tx.go (not necessary)
  • Address review comments
  • Finish unit tests (including any missing from ibc-apps in the PR)
  • Write e2e (from scratch) for IBC v1 in ibc-go repo
    • Define scenarios to test (can use gaia's e2es as a starting point)
  • Write e2e (from scratch) for IBC v2 in solidity-ibc-eureka repo
    • This means that Rate Limiting needs to be wired up in 08-wasm simapp (this is the image we use in solidity-ib-eureka)
    • Same scenarios and structure, but using IBC v2 transfers

👋 Note: we need to take notes on any missing information in the upgrade docs for middleware going from v8 to v10

@github-project-automation github-project-automation bot moved this to Backlog in IBC Feb 16, 2025
@gjermundgaraba gjermundgaraba removed this from IBC Feb 28, 2025
@github-project-automation github-project-automation bot moved this to Backlog in IBC Apr 7, 2025
@womensrights womensrights linked a pull request Apr 24, 2025 that will close this issue
10 tasks
@gjermundgaraba gjermundgaraba changed the title Create rate-limiting middleware module Rate limiting middleware May 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Backlog
Development

Successfully merging a pull request may close this issue.

2 participants