Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rate limit - Cleaner tests (osmosis-labs#3183)
* improved testing framework * can test both send and recv for success and failure * cleanner testing framework * added contract instantiation * working wasm integration * added params for contract config * extracted param registration * active rate limiting * calculating channel value * cleaner tests * fix issue with epochs * fixed tests * testing rate limit reset * linting * added receive middleware * added test for non-configured channel * make format * Revert "make format" This reverts commit 9ffdc37. * only applying format to ibc-rate-limit * applying fmt to app.go * added gov_module and changed no-quota default to "allow all" * added asymetric quotas * moved getters to modules.go * initial work to support multiple quotas * added multiple quotas * small fixes * reordered imports * added management messages * reorganized management messages and experimenting with e2e testing * commenting out test configuration test for now * added query * added flow unit test * cleanup * added AddChannel tests * format * test values are properly stored * testing remove channel * some more rate limiting tests * moved tests about test setup to the right place * fixed params * merged main * running gofumpt * added ibc-rate-limiting contract * added ibc-rate-limit middleware * added chain integration and tests * reverted change to match merged branch in main (osmosis-labs#2341 instead of osmosis-labs#2274) * added cosmwasm workflow * added a migrate message * added some doc comments to the state * added doc comments * fixed dependency after merging osmosis-labs/cosmos-sdk#312 * added migration msg * added workflow * experimenting with better workflow * added missing $ * using env * Update x/ibc-rate-limit/contracts/rate-limiter/src/msg.rs Co-authored-by: Dev Ojha <[email protected]> * using stable for clippy * removed gitkeep * using the minimal profile for clippy * experimenting with cache * removed target from lints * cleaner matrix? * COmments & questions * debugging * more debugging * debug faster * quick cache debug * typo * quick workflow check * working tests with optimization * testing artifacts * split the wasm target into its own step * artifacts without slash * full working tests * clippy fixes * workflow without test data checks and clippy fixes * renamed CHANNEL_FLOWS * renaming and code clenaup * more renames * renames and code fixes * reordered imports * cargo fmt * added danom tracking * cleanup * refactoring * changes to the expiration logic so that balances are calculated based on the direction (as suggested by @ValarDragon) * slightly slower but considerably cleanner * cleanup attributes and removed redundancy when not testing * update to edition 2021 * added comments explaining the tests * removed .beaker * unified gitignore * removed second gitignore * better doc comments * spelling * spelling * added channel value cache * updated the middlware to use the new contract interface * update middleware to match new contract interface * added missing updates * updated dependencies * added missing helpers * go.mod changes shouldn't be in this branch * Revert "go.mod changes shouldn't be in this branch" This reverts commit f8b972a. * moved send and receive to sudo * reorganizing * calling the contract via sudo * lint * removed gitkeep * using sudo instead of execute * cleaned up and updated contract and integration * updated x86 test wasm file * fixed bad print * storing and instantiating the contract * setting up E2E tests for ibc rate limits * fixed proposal. Now just have to get the math right and cleanup * Using the supply for the channel value * experimenting with e2e tests * passing the contract keeper instead of instantiating it each time * changes from code review * added contract from main and changes to the middleware from code review * using the correct bank supply method * debugging issues with e2e tests. Everything works after one interaction from the cli, but not before * updated dependency to match latest sdk form (now that the changes to this repo have been applied) * working E2E test for rate limiting * added e2e tests and changes from code review * removed debug logs * remove debug logs * updated test to also use GetSupplyWithOffset * using correct GetSupplyWithOffset method * using correct GetSupplyWithOffset method * lint * removed e2e from this branch as it's not doing anything without the integration * lint * tests fail on CI because of "inactive" proposal. Is the deposit the issue? * remove rate limiting after the test so it doesn't interfeer with the other tests * using standard proposals instead of expedited * added packet reverts on unsuccessful acks and timeouts * lint * ran gofumpt * lint * added undo to the contract * integrating undo * updated contract with x86 wasm file * added undo for sent packages when they are rejected bia timeout or a bad ack * added a readme * markdown lint * added readme * abstracted params * better params and param tests * using a helper function instead of returning from the test * updated contract to allow for undo * added undo, readme, and cleanup based on reviews * updated wasm file with x86 version * using string params in e2e tests * updated to v12 * removed unnecessary keeper * only exposing what's needed * refactoring * updated types * added shell history to gitignore * adding only one wasm file to the codebase * remove test for same wasm files. No longer needed. * refactor based on code review * removed integration tests as they won't pass without integration * added params unit test * reorganized tests * reorganizing tests * refactoring * added address length limit * added tests and fixed lack of return * remove tests from bad merge * remove from bad merge again * comment * test helpers for cosmwasm contracts * added helpers for ibctesting * comments * removed unnecessary txConfig * fixed typos * clearer comment * using second helper function for ExportGenesis * added new wasm file * updated the contract to cosmwasm 1.1 and Uint256 for amounts * Fixed send with ibc assets. Better tests and error messages * updated contract with x86 version * gofumpt * fixed clippy errors * using the escrowed value as the channel value for native tokens * gofumpt * update fail string * initial experiments with moving the calculations into the contract * initial experiments with using the packet inside the contract * improved tests. Experiments with packet in the contract. * original contract * cleaner tests * more test cleanup * cleaner tests * cleanup * align values from the tests and the contract * fixed amounts for receive and cleanup code * removed redundant wrapping logic * adaped failed send test to the new testing abstractions * only manipulate time on chain A * remove commented out block * changed lints to stable so they change less often * gofumpt * update channel value tests * added x86 version of the contract for ci * remove lint type that doesn't exist on stable Co-authored-by: Dev Ojha <[email protected]> Co-authored-by: Dev Ojha <[email protected]>
- Loading branch information