Open
Description
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
Metadata
Metadata
Assignees
Labels
No labels