# Injective
- Ratelimit for peggy and other IBC channel
- Testing : implement e2e testing, refactor current testing to go-test.
Hi Injective teams, we're Decentrio, a very new team in the Cosmos ecosystem, and we want to contribute to Injective. We have some people has been added into your injective-core repo before. After spending time reading the Injective codebase, we have identified few things that we believe can improve Injective network security and testing work in this repo.
### Ratelimit for peggy and other IBC channel
About the rate limit mechanism :
The IBC Rate Limit module is responsible for adding a governance-configurable rate limit to transfer asset in/out of the chain.
This is a safety control, intended to protect on-chain asset in the case chain or counter-party chain have bug/expolit.
Since there are many Dapps built on the Injective, it is necessary to have a mechanism to limit the transfer of assets in and out of the chain in order to protect user assets.
There're 2 non-native asset flow in/out from Injective.
- By IBC : There's an implementation of IBC rate limit used by osmosis and stride, we can use it as reference.
- By peggy : We don't have any implementation of ratelimit for peggy in cosmos yet.
If the Injective teams wish to use rate-limiting on chain, our team can assist with designing and implementing it. It should be one module in Injective, working with both IBC brigde and Peggy brigde.
### Improve testing : implement e2e testing
#### Concept:
Essentially, we will deploy a package that defines an integration testing suite used for full end-to-end testing functionality. It initializes an environment for testing via Docker that allows developers to quickly spin up custom testnets to test IBC, chain infrastructures, smart contracts, etc.
#### Advantages:
- The biggest strength of e2e-testing is that it allows to accurately describe the flow that users, nodes,... execute in reality. From there, it is possible to detect bugs that normal testing cannot cover.
- It can detect bugs in processes such as Upgrade Chain, IBC Transfer, Smart Contract and other injective's module .
- With testing deployed on Docker, it is quite easy for monitering and debugging.
### Improve testing : use normal go test instead of use ginkgo.
In Injective testcase, some testcase is written by ginkgo but other test is written by go test. We can make improve on this by migrate all ginkgo test to go test.