-
Notifications
You must be signed in to change notification settings - Fork 609
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
refactor(CL): TraditionalAmmInterface gamm refactor #3038
Merged
p0mvn
merged 3 commits into
concentrated-liquidity-main
from
roman/pool-interface-refactor
Oct 18, 2022
Merged
refactor(CL): TraditionalAmmInterface gamm refactor #3038
p0mvn
merged 3 commits into
concentrated-liquidity-main
from
roman/pool-interface-refactor
Oct 18, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
github-actions
bot
added
C:app-wiring
Changes to the app folder
C:simulator
Edits simulator or simulations
C:x/gamm
Changes, features and bugs related to the gamm module.
C:x/superfluid
labels
Oct 18, 2022
czarcas7ic
approved these changes
Oct 18, 2022
alexanderbez
approved these changes
Oct 18, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK. We can review exact type nomenclature later...
This was referenced Oct 18, 2022
davidterpay
pushed a commit
that referenced
this pull request
Jan 9, 2023
#3963) * refactor: remove PokePool from the PoolI interface, define on extension instead (backport #3035) (#3037) * refactor(CL): TraditionalAmmInterface gamm refactor (#3038) * refactor: remove PokePool from the PoolI interface, define on extension instead (backport #3035) * refactor: implement TraditionalAmmInterface and refactor gamm * Add PoolI Barebone to concententrated liquidity Moudle (#3040) * Add BareBone * Add barebone * Moce to pool model packaage * feat: calc pool methods and test stubs (#3047) * swap cl * remove upscaling * godocs * code review * godoc * correct logic for calc in and out * remove debugging lines * final comments * add swap fee for pool test * fee logic * code review comments Co-authored-by: Roman <roman@osmosis.team> * Separate out concentrated liquidity as separate module (#3050) * swap cl * remove upscaling * godocs * code review * godoc * Seperate out concentrated liquidity as separate module * correct logic for calc in and out * remove debugging lines * final comments * add swap fee for pool test * fee logic Co-authored-by: Adam Tucker <adamleetucker@outlook.com> Co-authored-by: Roman <roman@osmosis.team> * CL: remove exponentiation (#3056) * CL: basic approx log (#3058) * feat: osmomath log2 approximation * lint * fix comment * comment * Update osmomath/decimal.go * hacky mod to make this work Co-authored-by: Adam Tucker <adamleetucker@outlook.com> * Add basic pool state, Make outlines for JoinPool (#3057) * Add pool state, basic outline for join pool * Remove comment * Fix lint * change from code review * feat(CL): swap router module (#3060) * feat(CL): swap router module * remove unused things * Update x/swaprouter/types/params.go * Update x/swaprouter/types/params.go * Update proto/osmosis/swaprouter/v1beta1/genesis.proto Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * regen proto Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * feat(CL): swap router messages and wiring (#3070) * feat(CL): swap router messages and wiring * fix lint * feat: adds tick price functions (#3072) * adds tick price functions * add no lint * feat(CL): app wiring for concentrated liquidity module (#3071) * feat(CL): app wiring for concentrated liquidity module * lint * field * Add basic module wiring in app.go (#3076) * Add basic modulew wiring in app.go * Add genesis * Change import name * feat: further CL swap generalization (#3078) * further swap generalizing * code review changes * Generalize Minting (#3081) * Add Base layer for generalized minting * Generalized swaps * WIP: test refactor * Finish refactoring existing testS * Fix testS * Fix lint * feat(x/swaprouter, x/gamm): move swap messages from gamm to swaprouter (#3073) * updates * remove swap messages from gamm * remove swap bindings * fix CI and tests * port cli tests * add query proto comments * clean up * port msg_server_test.go * port msgs_test.go * try integrating swap messages * lint * attempt fixing e2e * set params * upgrade constants * Update x/swaprouter/module/module.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * swaprouter comment Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * Add swaprouter store key (#3096) * feat(CL): Support Next Tick (#3079) * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * Update x/concentrated-liquidity/tick_test.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * Update x/concentrated-liquidity/tick.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * bez: updates * Fix lint Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> Co-authored-by: mattverse <mattpark1028@gmail.com> * concentrated liquidity: further swap/lp work (#3101) * further swap generalization * add step and swap state * Update test.yml * Update test.yml * Further generalize swaps and lp (#3111) * Change sqrt to caller * Remove margin of error from mint * Change Pool to have dec curr price * Remove swap structs * Adams comments * address code review comments * final additions * address code review comments * code review Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * updates (#3119) Co-authored-by: Roman <roman@osmosis.team> * refactor(CL): move multihop to swap router, wire to concentrated liquidity module (#3128) * feat/refactor(CL): move multihop to swaprouter, connect to concentrated liquidity * comments * godoc for RouteExactAmountOut * link issues * delete multihop_test.go * Update x/swaprouter/router_test.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/swaprouter/router_test.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/pool.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/gamm/keeper/swap.go Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Adam Tucker <adam@osmosis.team> * Add state for Mint: tick and Position (#3136) * WIP: tick * Finish implementing * Update x/concentrated-liquidity/lp.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/lp.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/lp.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Change to negative calculations * Add comment * Add getter in osmoutils * Update osmoutils/store_helper.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/position.go Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Adam Tucker <adam@osmosis.team> * feat(CL): CreatePosition and WithdrawPosition messages (#3139) * feat(CL): CreatePosition and WithdrawPosition messages * lint * add tests for GetIfFound (#3145) * add tests for GetIfFound * refactor * Update test.yml (#3148) * Merge main into concentrated-liquidity-main (#3149) * Add servers to openapi spec file (#2980) * Chain.schema.json: Added ibc data, fix genesis name, formatting (#3077) Closes: #XXX ## What is the purpose of the change > Add a description of the overall background and high level changes that this PR introduces *(E.g.: This pull request improves documation of area A by adding ....* To update the chain schema codebase data. This file Auto-updates the chain registry. ## Brief Changelog *(for example:)* - *The metadata is stored in the blob store on job creation time as a persistent artifact* - *Deployments RPC transmits only the blob storage reference* - *Daemons retrieve the RPC data from the blob cache* Added ibc data (ibc go version and enabled features(ics-20), fix genesis name, (was version number before, now goes by name) minor formatting chg. ## Testing and Verifying *(Please pick one of the following options)* --> This change is a trivial rework / code cleanup without any test coverage. *(or)* This change is already covered by existing tests, such as *(please describe tests)*. *(or)* This change added tests and can be verified as follows: *(example:)* - *Added unit test that validates ...* - *Added integration tests for end-to-end deployment with ...* - *Extended integration test for ...* - *Manually verified the change by ...* ## Documentation and Release Note - Does this pull request introduce a new feature or user-facing behavior changes? (yes / no) No - Is a relevant changelog entry added to the `Unreleased` section in `CHANGELOG.md`? (yes / no) No - How is the feature or change documented? (not applicable / specification (`x/<module>/spec/`) / [Osmosis docs repo](https://github.com/osmosis-labs/docs) / not documented) not documented * labels (#3082) * [x/gamm][stableswap]: Expand inverse relation tests to multi assets and add scaling factors (#3006) * expand inverse relation tests to multi assets and add scaling factors * tighten binary search bounds to fit spec * remove todo * Fix sped * move output negation to caller Co-authored-by: Dev Ojha <dojha@berkeley.edu> * remove all uses of two-asset binary search solver (#3084) * [stableswap]: Implement simplified direct multi-asset CFMM solver (#3068) Closes: #2730 ## What is the purpose of the change This PR implements a direct solver for our multi-asset CFMM. Similar to our two-asset direct solver, it is intended to be kept in our codebase as a reference implementation and proof for our CFMM but is outclassed by our binary search solver for practical use. ## Brief Changelog - Implement direct multi-asset solver and test it against our full suite of CFMM cases ## Testing and Verifying - The solver implementation is tested against our full multi-asset CFMM test suite in `amm_test.go` ## Documentation and Release Note - Does this pull request introduce a new feature or user-facing behavior changes? (no) - Is a relevant changelog entry added to the `Unreleased` section in `CHANGELOG.md`? (no) - How is the feature or change documented? (not documented) * refactor: remove PokePool from the PoolI interface, define on extension instead (#3035) * refactor: remove PokePool from the PoolI interface, use extension instead * changelog * fix weights bug * Update x/gamm/keeper/pool_test.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * Update x/gamm/keeper/pool_test.go * address comments Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * ci(CL): run tests on CL branch and add backport config (#3095) * ci(CL): run tests on CL branch and add backport config * Update .github/mergify.yml * After create pool test (#2783) * add test for afterCreatePool * format * add test to check trackChangePool Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * fix GetModuleToDistributeCoins (#2957) * update comment in gamm module (#3103) * chore(deps): Bump github.com/tendermint/tendermint (#3106) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.21 to 0.34.22. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/main/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.21...v0.34.22) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump github.com/golangci/golangci-lint (#3104) Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.50.0 to 1.50.1. - [Release notes](https://github.com/golangci/golangci-lint/releases) - [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md) - [Commits](https://github.com/golangci/golangci-lint/compare/v1.50.0...v1.50.1) --- updated-dependencies: - dependency-name: github.com/golangci/golangci-lint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#3105) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.0...v1.8.1) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: update concentrated liquidity backport label (#3115) * feat(osmomath): log2 approximation (#2788) * feat: osmomath log2 approximation * lint * fix comment * comment * Update osmomath/decimal.go * improve accuracy with narrower range * comment * implement and test precise log for x >= 1 * tests for negative values * make non-mutative and test * bench * changelog * remove redundant assignments * improve comments * [stableswap]: Cap number of assets and post-scaled asset amounts to ensure pools never overflow (#3055) * add tests for 10-asset pools with 10B per asset * add max post-scaled asset check and create pool tests * add sanity tests for new swap guardrails * move max scaled asset amt to constant * add join-pool-internal tests for new functionality * Remove unused versions in mergify (#3121) * Query lockup params (#3098) * change proto * add grpc & cli query * test * set params in genesis * add test case: setParams & query * CI: Delete failing step (#3124) * Delete failing step * Fix int overflow in test logic * [x/gamm][stableswap]: Add inverse join/exit tests, fix single asset join bug, and remove uneven ratio joins (#3102) * add tests for 10-asset pools with 10B per asset * add max post-scaled asset check and create pool tests * add sanity tests for new swap guardrails * move max scaled asset amt to constant * add join-pool-internal tests for new functionality * fix single join bug, remove uneven ratio joins, and add inverse join tests * add error checks to single asset joins * fix mistake in test case * remove commented line Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: Dev Ojha <dojha@berkeley.edu> * Stableswap implement JoinPoolNoSwap (#2942) * ... * add tests and denom validation check * make format Co-authored-by: alpo <yukseloglua@berkeley.edu> Co-authored-by: alpo <62043214+AlpinYukseloglu@users.noreply.github.com> * Make testing suite to ensure queries never alter state (#3001) * create func to check alter state * add tests * format * Update app/apptesting/test_suite.go Co-authored-by: Roman <roman@osmosis.team> * remove fmt * epochs: try to use Invoke * gamm: use Invoke * incentives: use Invoke * lockup: use Invoke * mint: use Invoke * pool-incentives: use Invoke * superfluid: use Invoke * tokenfactory * txfees * format * fix Co-authored-by: Roman <roman@osmosis.team> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Daniel Farina <contact@nevulas.com> Co-authored-by: JeremyParish69 <95667791+JeremyParish69@users.noreply.github.com> Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: alpo <62043214+AlpinYukseloglu@users.noreply.github.com> Co-authored-by: Dev Ojha <dojha@berkeley.edu> Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com> Co-authored-by: khanh-notional <50263489+catShaark@users.noreply.github.com> Co-authored-by: Nguyen Thanh Nhan <thanhnhan98qh@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Niccolo Raspa <6024049+niccoloraspa@users.noreply.github.com> Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: alpo <yukseloglua@berkeley.edu> * Update contracts.yml (#3150) * refactor/docs(CL): return liquidity from MsgCreatePosition and add ke… (#3141) * refactor/docs(CL): return liquidity from MsgCreatePosition and add keeper specs * updates * lint * change liquidity to dec and pass test * Update x/concentrated-liquidity/msg_server.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/msg_server.go Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Adam Tucker <adamleetucker@outlook.com> Co-authored-by: Adam Tucker <adam@osmosis.team> * feat: concentrated liquidity swap milestone 3 (#3137) * initial push * WIP: tick * Finish implementing * milestone 3 * fix * address matt comment * code review comments Co-authored-by: mattverse <mattpark1028@gmail.com> * Remove default swap fees (#3152) * feat: get liquidity from input amounts (#3151) * calc liquidity * get liq from amounts fix * lint * fix * fix * fix * Update x/concentrated-liquidity/lp.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * address matt comment Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * Add logic for cross tick join position (#3158) * Change `lte` to `zeroToOne` (#3163) * Change lte to zeroToOne * Fix testcases * Add zerotoone * chore: liq0/liq1 table driven test framework (#3161) * add tdt * address matt comment * check tick init and add setup (#3171) * chore: calc swap step table driven tests (#3167) * calc swap step tdt * lint * chore: calcdelta0/calcdelta1 table drive test framework (#3162) * calcdelta tests * address matt comments * lint * chore: table driven test for next sqrt price0/1 (#3164) * table driven test for next sqrt price * test * tdt for tick to price (#3165) * wolfram calcs (#3173) * Implement Swap logic for concentrated liquidity (#3177) * initial push * Add swap method * Revert zeroForOne * Fix test Co-authored-by: Adam Tucker <adamleetucker@outlook.com> * Concentrated Liquidity: Fix Swap(CalcOutAmtGivenIn) (#3189) * Add price limit * Fix test cases, fix stuff * Remove unsued code * Fix lint * Update x/concentrated-liquidity/pool.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/pool.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/pool_test.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Adams review Co-authored-by: Adam Tucker <adam@osmosis.team> * chore(CL): merge `main` into `concentrated-liquidity-main` (#3211) * Add servers to openapi spec file (#2980) * Chain.schema.json: Added ibc data, fix genesis name, formatting (#3077) Closes: #XXX ## What is the purpose of the change > Add a description of the overall background and high level changes that this PR introduces *(E.g.: This pull request improves documation of area A by adding ....* To update the chain schema codebase data. This file Auto-updates the chain registry. ## Brief Changelog *(for example:)* - *The metadata is stored in the blob store on job creation time as a persistent artifact* - *Deployments RPC transmits only the blob storage reference* - *Daemons retrieve the RPC data from the blob cache* Added ibc data (ibc go version and enabled features(ics-20), fix genesis name, (was version number before, now goes by name) minor formatting chg. ## Testing and Verifying *(Please pick one of the following options)* --> This change is a trivial rework / code cleanup without any test coverage. *(or)* This change is already covered by existing tests, such as *(please describe tests)*. *(or)* This change added tests and can be verified as follows: *(example:)* - *Added unit test that validates ...* - *Added integration tests for end-to-end deployment with ...* - *Extended integration test for ...* - *Manually verified the change by ...* ## Documentation and Release Note - Does this pull request introduce a new feature or user-facing behavior changes? (yes / no) No - Is a relevant changelog entry added to the `Unreleased` section in `CHANGELOG.md`? (yes / no) No - How is the feature or change documented? (not applicable / specification (`x/<module>/spec/`) / [Osmosis docs repo](https://github.com/osmosis-labs/docs) / not documented) not documented * labels (#3082) * [x/gamm][stableswap]: Expand inverse relation tests to multi assets and add scaling factors (#3006) * expand inverse relation tests to multi assets and add scaling factors * tighten binary search bounds to fit spec * remove todo * Fix sped * move output negation to caller Co-authored-by: Dev Ojha <dojha@berkeley.edu> * remove all uses of two-asset binary search solver (#3084) * [stableswap]: Implement simplified direct multi-asset CFMM solver (#3068) Closes: #2730 ## What is the purpose of the change This PR implements a direct solver for our multi-asset CFMM. Similar to our two-asset direct solver, it is intended to be kept in our codebase as a reference implementation and proof for our CFMM but is outclassed by our binary search solver for practical use. ## Brief Changelog - Implement direct multi-asset solver and test it against our full suite of CFMM cases ## Testing and Verifying - The solver implementation is tested against our full multi-asset CFMM test suite in `amm_test.go` ## Documentation and Release Note - Does this pull request introduce a new feature or user-facing behavior changes? (no) - Is a relevant changelog entry added to the `Unreleased` section in `CHANGELOG.md`? (no) - How is the feature or change documented? (not documented) * refactor: remove PokePool from the PoolI interface, define on extension instead (#3035) * refactor: remove PokePool from the PoolI interface, use extension instead * changelog * fix weights bug * Update x/gamm/keeper/pool_test.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * Update x/gamm/keeper/pool_test.go * address comments Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * ci(CL): run tests on CL branch and add backport config (#3095) * ci(CL): run tests on CL branch and add backport config * Update .github/mergify.yml * After create pool test (#2783) * add test for afterCreatePool * format * add test to check trackChangePool Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * fix GetModuleToDistributeCoins (#2957) * update comment in gamm module (#3103) * chore(deps): Bump github.com/tendermint/tendermint (#3106) Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.21 to 0.34.22. - [Release notes](https://github.com/tendermint/tendermint/releases) - [Changelog](https://github.com/tendermint/tendermint/blob/main/CHANGELOG.md) - [Commits](https://github.com/tendermint/tendermint/compare/v0.34.21...v0.34.22) --- updated-dependencies: - dependency-name: github.com/tendermint/tendermint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump github.com/golangci/golangci-lint (#3104) Bumps [github.com/golangci/golangci-lint](https://github.com/golangci/golangci-lint) from 1.50.0 to 1.50.1. - [Release notes](https://github.com/golangci/golangci-lint/releases) - [Changelog](https://github.com/golangci/golangci-lint/blob/master/CHANGELOG.md) - [Commits](https://github.com/golangci/golangci-lint/compare/v1.50.0...v1.50.1) --- updated-dependencies: - dependency-name: github.com/golangci/golangci-lint dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#3105) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.0...v1.8.1) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: update concentrated liquidity backport label (#3115) * feat(osmomath): log2 approximation (#2788) * feat: osmomath log2 approximation * lint * fix comment * comment * Update osmomath/decimal.go * improve accuracy with narrower range * comment * implement and test precise log for x >= 1 * tests for negative values * make non-mutative and test * bench * changelog * remove redundant assignments * improve comments * [stableswap]: Cap number of assets and post-scaled asset amounts to ensure pools never overflow (#3055) * add tests for 10-asset pools with 10B per asset * add max post-scaled asset check and create pool tests * add sanity tests for new swap guardrails * move max scaled asset amt to constant * add join-pool-internal tests for new functionality * Remove unused versions in mergify (#3121) * Query lockup params (#3098) * change proto * add grpc & cli query * test * set params in genesis * add test case: setParams & query * CI: Delete failing step (#3124) * Delete failing step * Fix int overflow in test logic * [x/gamm][stableswap]: Add inverse join/exit tests, fix single asset join bug, and remove uneven ratio joins (#3102) * add tests for 10-asset pools with 10B per asset * add max post-scaled asset check and create pool tests * add sanity tests for new swap guardrails * move max scaled asset amt to constant * add join-pool-internal tests for new functionality * fix single join bug, remove uneven ratio joins, and add inverse join tests * add error checks to single asset joins * fix mistake in test case * remove commented line Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: Dev Ojha <dojha@berkeley.edu> * Stableswap implement JoinPoolNoSwap (#2942) * ... * add tests and denom validation check * make format Co-authored-by: alpo <yukseloglua@berkeley.edu> Co-authored-by: alpo <62043214+AlpinYukseloglu@users.noreply.github.com> * Make testing suite to ensure queries never alter state (#3001) * create func to check alter state * add tests * format * Update app/apptesting/test_suite.go Co-authored-by: Roman <roman@osmosis.team> * remove fmt * epochs: try to use Invoke * gamm: use Invoke * incentives: use Invoke * lockup: use Invoke * mint: use Invoke * pool-incentives: use Invoke * superfluid: use Invoke * tokenfactory * txfees * format * fix Co-authored-by: Roman <roman@osmosis.team> * Remove streamswap (#3146) * remove proto files * remove x/streamswap * updated the contract to cosmwasm 1.1 and Uint256 for amounts (#2950) * chore: use environment variable instead of build tags to control e2e (#3179) * Rate limit - Cleaner tests (#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 9ffdc37c3d473e3c640e8fd85872f3a2f178c857. * 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 (#2341 instead of #2274) * added cosmwasm workflow * added a migrate message * added some doc comments to the state * added doc comments * fixed dependency after merging https://github.com/osmosis-labs/cosmos-sdk/pull/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 <ValarDragon@users.noreply.github.com> * 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 f8b972a5ea2f2c2b8007fa31c3db5d4450d8ab56. * 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 <ValarDragon@users.noreply.github.com> Co-authored-by: Dev Ojha <dojha@berkeley.edu> * changed lints to stable so they change less often (#3184) * update version numbers (#3168) * update version numbers added "v" in recommended_version number to unify with chain registry * Update chain.schema.json Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> * chore(deps): Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 (#3187) Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.0 to 1.6.1. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v1.6.0...v1.6.1) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): Bump github.com/mattn/go-sqlite3 from 1.14.15 to 1.14.16 (#3186) Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.15 to 1.14.16. - [Release notes](https://github.com/mattn/go-sqlite3/releases) - [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.15...v1.14.16) --- updated-dependencies: - dependency-name: github.com/mattn/go-sqlite3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(e2e): add vscode debug configurations (#3180) * osmomath(log/CL): ln(x), log_1.0001(x), log_custom(x) (#3169) * natural logarithm * tick log * save * save * customBase * logs Co-authored-by: Ruslan Akhtariev <ruslanakhtariev@Ruslans-MacBook-Air.local> * feat(release): Automated post-upgrade tasks by code generating upgrade handler and auto-increasing e2e version (#3100) * automate post-upgrade tasks by code generating upgrade handler and setting e2e in makefile * automate post-upgrade tasks by code generating upgrade handler and setting e2e in makefile * save * save * save * yaml * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * On release auto upgrade * docs * save * also changes app.go * also changes app.go * also changes app.go * test using ci because will run forever on m1 with qemu * save * post release action * post release github action * auto postrelease action * cleanup * cleanup * cleanup * del * docs * major * save * save * save * Save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * save * s * s * s * s * s * only on major upgrades * docs Co-authored-by: Ruslan Akhtariev <ruslanakhtariev@Ruslans-MacBook-Air.local> * chore: Tx post-handler example snippet #3194 * Progress on IBC rate limit spec (#3190) * Progress on IBC rate limit spec * Fix CI * Fix lints * More updates * fix mdlinter * More notes * one more todo * More README update * Update x/ibc-rate-limit/README.md Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Adam Tucker <adam@osmosis.team> * fix(e2e): various e2e build issues breaking debugging on linux amd64 (#3207) * fix(e2e): various e2e build issues breaking debugging on linux amd64 * fix test-e2e-debug Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Daniel Farina <contact@nevulas.com> Co-authored-by: JeremyParish69 <95667791+JeremyParish69@users.noreply.github.com> Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: alpo <62043214+AlpinYukseloglu@users.noreply.github.com> Co-authored-by: Dev Ojha <dojha@berkeley.edu> Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> Co-authored-by: Hieu Vu <72878483+hieuvubk@users.noreply.github.com> Co-authored-by: khanh-notional <50263489+catShaark@users.noreply.github.com> Co-authored-by: Nguyen Thanh Nhan <thanhnhan98qh@gmail.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Niccolo Raspa <6024049+niccoloraspa@users.noreply.github.com> Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: alpo <yukseloglua@berkeley.edu> Co-authored-by: Nicolas Lara <nicolaslara@gmail.com> Co-authored-by: doggystylez <98429202+doggystylez@users.noreply.github.com> Co-authored-by: Ruslan Akhtariev <46343690+RusAkh@users.noreply.github.com> Co-authored-by: Ruslan Akhtariev <ruslanakhtariev@Ruslans-MacBook-Air.local> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com> * CL: fix CalcOutAmtGivenIn and other logic (#3205) * fix calc out * clean * revert * Remove dust check (#3206) * address matt comments * address matt comments * address Matt's comments * address Matt's comments * address Roman's comments * CL(Swap): Change tests into table-driven tests, Add more tests (#3212) * WIP * Finish changing into table driven tests * Add more test cases * slight modification to tests * test note Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Adam Tucker <adamleetucker@outlook.com> * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * address roman's comments * address roman's comments * lint * Update pool.go * Update x/concentrated-liquidity/math.go Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> Co-authored-by: Roman <roman@osmosis.team> * [CL][Swap Router Module] Refactored simulation hack (#3122) * simulation hack refactoring * refactor simulation hack * refactored sim hack * docs added * unbreak * unexport * gammkeeper to swaprouter module added Co-authored-by: Ruslan Akhtariev <ruslanakhtariev@Ruslans-MacBook-Air.local> * refactor(CL): move id management and pool creation to swaprouter (#3170) * refactor(CL): move id management and pool creation to swaprouter * gamm genesis * try fixing sim * lint * basic create test * fix TestExitPool * fix gamm queries * swaprouter genesis test * Update x/swaprouter/types/params.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * fix tests * migrations * remove build tags * fix e2e * fix simulation * Adam's comments * lint * migrations * updates * Update x/gamm/keeper/pool.go Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * remove gamm parameters from constructor * type check early * move max and min pool assets to swaprouter * add second test case for create pool * fix migrations * lint * add test * Add prints * fix(e2e): various e2e build issues breaking debugging on linux amd64 (#3207) * fix(e2e): various e2e build issues breaking debugging on linux amd64 * fix test-e2e-debug * test * Revert "test" This reverts commit 6cdca82527633819b95194d9bc1f2f44def7da5c. * fix num pools query * fix query, add e2e test * skip e2e migration tests * try fixing migrations * Update proto/osmosis/gamm/v1beta1/genesis.proto * remove wrap * whitelist num pools in swaprouter * update comment * regen proto * try fixing simulation * query swaprouter in e2e pools * regen query proto * remove migrations test * update proto comment * configure address * Update x/swaprouter/keeper.go Co-authored-by: Adam Tucker <adam@osmosis.team> * update spec * remove addressed TODOs Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> Co-authored-by: Dev Ojha <dojha@berkeley.edu> Co-authored-by: Adam Tucker <adam@osmosis.team> * CL: SwapOutGivenIn logic (#3225) * further cl swap logic * remove old logic * change comment verbiage * Msgs validate basic (#3192) * create msgs * codec * add err types * add tests for msgs * make format * check min, max tick * add more test case * format * sdkerr => go err * format * format err * lint * format err value * no sdkerrors * Swaprouter: refactor `InitGenesis` & `ExportGenesis` (#3271) * refactor InitGenesis & ExportGenesis on the suite * format * rename Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: Roman <roman@osmosis.team> * feat(CL): pool id routing (#3269) * feat(CL): pool id routing * upgrade handler * Update x/swaprouter/router.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/swaprouter/router.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/swaprouter/creator.go Co-authored-by: Adam Tucker <adam@osmosis.team> * review comments Co-authored-by: Adam Tucker <adam@osmosis.team> * CL: test expansion (#3235) * cl test expansion * remove extremely annoying cosmwasm lint * fix test * test * comment * tick update * final comments * add TODO label * address Roman's comments * test * test * test * add comments * change * fix tests * Update x/concentrated-liquidity/math.go Co-authored-by: Roman <roman@osmosis.team> * Update x/concentrated-liquidity/math.go Co-authored-by: Roman <roman@osmosis.team> * improve lp test * fix liquidity * fix math test to be table driven * clean up tick test * pool test expansion and logic corrections * small fixes * comment out for now * final comment cleanup * clean * More struggles// * Revert "More struggles//" This reverts commit 8557b4e3affa32b8ad8e5b2f568fb5159fd86d42. * add back old test at bottom * address Roman and Matt comments * update test * fix comment * extra comments for CalcOut * small verbiage change * change int to dec * address Roman's comments * fix tests * swap test Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: mattverse <mattpark1028@gmail.com> * use current tick (#3319) * CL: Partially overlapping / gap price range test/logic (#3311) * more test expansion * more test expansion * add tests to swap * Update pool.go * add final test cases * Update x/concentrated-liquidity/pool_test.go Co-authored-by: Roman <roman@osmosis.team> * address Roman's comment Co-authored-by: Roman <roman@osmosis.team> * feat(CL): implement `withdrawPosition` (#3459) * chore: import paths CL (#3476) * CL: Re-design Concentrated Liquidity Module (#3296) * Initial commit for pool * Fix some tests * Fix lint * Clean up :) * Fixing merge conflict is fun * Adams code review * Code review * lint * lint * remove cdc from module * shuffle tests around Co-authored-by: Adam Tucker <adamleetucker@outlook.com> Co-authored-by: Roman <roman@osmosis.team> * chore: merge main into cl-main (#3482) * chore: merge main into cl-main * fix * merge fix * StableSwapAdjustScalingFactors message * fix applySwap test * fix stableswap message server issues * merge `main` into `concentrated-liquidity-main` * lint * correct rate limiter byte code * fix swaprouter route tests * update contract lints Co-authored-by: Adam Tucker <adamleetucker@outlook.com> * refactor(CL): remove NumPools query from gamm (#3492) * refactor(CL): remove NumPools query from gamm * try fixing sim * try fix e2e * CL: add swaprouter tests (#3490) * add swaprouter tests * address Roman's comments * Use strategy pattern in CL swaps (#3232) * use straregy pattern instead of zeroForOne boolean * format * use computeSwapStep as strategy func * fix export_test * add 2 more funcs: setLiquidityDeltaSign & setNextTick * remove flag in funcs * already use zeroForOne so no need to set new strategy * new strategy var to avoid conflict Co-authored-by: Roman <ackhtariev@gmail.com> * refactor(CL): move PoolI to swaprouter; swaprouter only depends on PoolI (#3527) * refactor(CL): move PoolI to swaprouter * adam comments * feat(CL): add bank sends to positions (#3526) * add bank send to positions * fund tests * lint * address Roman's comment * add commments * fix test * add cl expected keepers * refactor(CL): deprecate gamm messages and queries instead of removing (#3525) * refactor(CL): deprecate gamm messages and queries instead of removing * remove route protos from gamm and use from swaprouter instead * refactor(CL): gamm msg and query deprecation (pt2 - route to swaprouter) (#3539) * refactor(CL): gamm msg and query deprecation (pt2 - route to swaprouter) * deprecation proto tags * Update x/swaprouter/client/query_proto_wrap.go * lint * CL: add swap logic (#3497) * initial push add swap logic * lints * more lints * address Roman's comments * address Roman's comments * address Roman's comments * fix swap * address Roman's comments * move event emission to swaprouter events * merge in cl main * lint * add PoolI to clextension * some lints and comments * Update x/concentrated-liquidity/swaps.go Co-authored-by: Roman <roman@osmosis.team> * address Roman's comments * Update x/concentrated-liquidity/swaps_test.go Co-authored-by: Roman <roman@osmosis.team> * address Roman's comments * address Roman's comment * address Roman's comments Co-authored-by: Roman <roman@osmosis.team> * refactor(CL): pool interfaces (#3546) * refactor(CL): pool interfaces * regenerate mocks and add tests * rename cl mock file * remove obsolete methods from cl pool * Update x/swaprouter/simulation/sim_msgs.go Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Adam Tucker <adam@osmosis.team> * tests[CL]: initOrUpdateTick table driven tests (1/x) (#3558) * initOrUpdateTick test cases * godoc add * add a few more test cases * address Roman's comments * address Roman's comments * address Roman's comments * refactor(CL): continue integrating strategy pattern into swaps (#3570) * feat(CL): continue strategy pattern to simplify swaps * refactor swap step * move NextInitializedTick, begin specing things out * refactor zeroForOne next tick * SetLiquidityDeltaSign godoc * ValidatePriceLimit godocs * updates * Update x/concentrated-liquidity/swaps.go * lint * Update x/concentrated-liquidity/internal/swapstrategy/zero_for_one.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/internal/swapstrategy/zero_for_one.go Co-authored-by: Adam Tucker <adam@osmosis.team> * Update x/concentrated-liquidity/internal/swapstrategy/one_for_zero.go Co-authored-by: Adam Tucker <adam@osmosis.team> * remove obsolete helper * Update x/concentrated-liquidity/internal/swapstrategy/one_for_zero.go Co-authored-by: Adam Tucker <adam@osmosis.team> * remove misuse of generally * InitializeTickValue spec Co-authored-by: Adam Tucker <adam@osmosis.team> * feat[CL]: Implement `SwapExactAmountIn` (#3535) * initial push add swap logic * lints * more lints * address Roman's comments * address Roman's comments * address Roman's comments * fix swap * address Roman's comments * move event emission to swaprouter events * merge in cl main * lint * add PoolI to clextension * some lints and comments * add calc in logic * address Roman's comments * finalize SwapIn logic * lint * address Roman's comments * cleaning up * fix test * change priceLimit logic for not set * move apply swap to updatePoolForSwap * merge cl-main * address Roman's comments * fix test * test[CL]: getPoolById table driven tests (2/6) (#3565) * initOrUpdateTick test cases * godoc add * add a few more test cases * address Roman's comments * address Roman's comments * getPoolById table driven test * add godoc * remove duplicate * clean * fix test * fix test * fix test * test[CL]: initOrUpdatePosition table driven tests (3/6) (#3567) * initOrUpdateTick test cases * godoc add * add a few more test cases * address Roman's comments * address Roman's comments * getPoolById table driven test * add godoc * initOrUpdatePosition table driven test * use errors and not strings * fix test * fix test * address Roman's comments * address comments * Update x/concentrated-liquidity/position_test.go Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: Roman <roman@osmosis.team> * test[CL]: createPosition table driven tests (4/6) (#3569) * initOrUpdateTick test cases * godoc add * add a few more test cases * address Roman's comments * address Roman's comments * getPoolById table driven test * add godoc * initOrUpdatePosition table driven test * add createPosition table driven tests * fix lp test * update default liquidity for tests * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * errorAs change * port to withdraw position * test untested path * change error Co-authored-by: Roman <roman@osmosis.team> * test[CL]: getTickInfo table driven tests (5/6) (#3583) * initOrUpdateTick test cases * godoc add * add a few more test cases * address Roman's comments * address Roman's comments * getPoolById table driven test * add godoc * initOrUpdatePosition table driven test * add createPosition table driven tests * fix lp test * update default liquidity for tests * getTickInfo test * change error * add check for pool existing * Update x/concentrated-liquidity/tick.go Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: Roman <roman@osmosis.team> * test[CL]: getPosition table driven tests (6/6) (#3584) * initOrUpdateTick test cases * godoc add * add a few more test cases * address Roman's comments * address Roman's comments * getPoolById table driven test * add godoc * initOrUpdatePosition table driven test * add createPosition table driven tests * fix lp test * update default liquidity for tests * getTickInfo test * getPosition tests * Update lp_test.go * docs: concentrated liquidity spec (WIP) (#3052) * docs: concentrated liquidity spec * updates * first read through lint * Add docs for `JoinPosition` for concentrated liquidity (#3126) * Add Docs for minting * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Roman <roman@osmosis.team> * chore: swapping spec (#3127) * swapping spec mvp * code review * code review * updates * docs(CL): Swaprouter module, integrations and migrations (#3233) * docs(CL): Swaprouter module, integrations and migrations * updates * updates * updates * updates * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * correct create pool spec * swaps fix * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> Co-authored-by: Adam Tucker <adam@osmosis.team> Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> * chore(CL): update swaprouter spec (#3287) * chore(CL): update swaprouter spec * updates * docs(CL): fees spec (#3467) * docs(CL): fees spec * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * Update docs/architecture/concentrated-liquidity-adr.md Co-authored-by: Adam Tucker <adam@osmosis.team> * address spam collectFees concerns Co-authored-by: Adam Tucker <adam@osmosis.team> * Move file from docs/architecture to concentrated-liquidity The ADR folder as a design pattern in cosmos SDK has not proved to be helpful * Fix lint Co-authored-by: Adam Tucker <adamleetucker@outlook.com> Co-authored-by: Matt, Park <45252226+mattverse@users.noreply.github.com> Co-authored-by: Adam Tucker <adam@osmosis.team> * feat[CL]: tick spacing (#3671) * tick spacing * add params initialization * clean up * address some comments * address more comments * lint * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * add test for is initial position * add initialize initial position test * add test * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * move concentrated pool to apptesting * call createPool directly * switch to blocktime instead of UTC var * simplify test * add pool tests * add pointer * lint Co-authored-by: Roman <roman@osmosis.team> * feat[CL]: add MsgCreateConcentratedPool (#3687) * tick spacing * add params initialization * clean up * address some comments * address more comments * lint * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * add test for is initial position * add initialize initial position test * add test * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * move concentrated pool to apptesting * call createPool directly * feat[CL]: add MsgCreateConcentratedPool * lints * add msg server and tests * switch to blocktime instead of UTC var * simplify test * add pool tests * TestMsgCreateConcentratedPool * add tick spacing validation * fix proto comment * add type checks * remove app codec * add pointer * lint * remove CreateConcentratedPool, change CreatePool * address Devs comments * update test Co-authored-by: Roman <roman@osmosis.team> * feat[CL]: add basic CLI functionality (#3707) * tick spacing * add params initialization * clean up * address some comments * address more comments * lint * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * add test for is initial position * add initialize initial position test * add test * Update x/concentrated-liquidity/lp.go Co-authored-by: Roman <roman@osmosis.team> * move concentrated pool to apptesting * call createPool directly * feat[CL]: add MsgCreateConcentratedPool * lints * add msg server and tests * switch to blocktime instead of UTC var * simplify test * add pool tests * TestMsgCreateConcentratedPool * add tick spacing validation * fix proto comment * add type checks * initial cli push * lints * WIP: range orders * Revert "WIP: range orders" This reverts commit 3b4e176f87df9bd0da0d65f6414534cdb6e427eb. * add github issue link Co-authored-by: Roman <roman@osmosis.team> Co-authored-by: mattverse <mattpark1028@gmail.com> * feat[CL]: implement initialize pool (#3733) * implement initialize pool * fix test error * added additional test case * [CL]Misc: Add Denom Check upon pool creation (#3804) * Check denom metadata * Remove unnecessary TODO comments * chore: CL merge to main build fixes (no state-breaks) (#3877) * push initial fixes * unwire keeper to remove state break * keeper * disable tests and codec breakage * more skips * another test disable Co-authored-by: Adam Tucker <adamleetucker@outlook.com> * added packet timeouts to wasm hooks (#3862) * feat(osmoutils): accumulator position options (#3858) * set up proto, types, and set/get with basic tests * feat(osmoutils): ClaimRewards and NewPosition foundations * add todo * change get logic * remove accum name from AccumulatorContent; proper prefixes * spec updates * updates * Update osmoutils/accum/prefix.go * Update osmoutils/accum/prefix.go * abstract out getPosition * implemend AddToPos with thorough testing and move internal fns to new file * test TestNewPosition * test TestClaimRewards * clean up * godocs * clean up * fix conflicts and clean up tests * add and thoroughly test RemoveFromPosition and add getter tests * Revert "Merge branch 'main' into alpo/accumulator-add-rem-get" This reverts commit 1c8507c3a09998a35329f7d82c6339c8b27385f2, reversing changes made to 0ad49e98bf8005e012e50fc92967f44a3dbf3922. * clean up tests/logic, add more test coverage, and fix lint * feat(osmoutils): accumulator position options * migrations test * Revert "Merge branch 'main' into roman/position-options" This reverts commit 8dcf01a404a09a18d351c00e25fc5aef2942e9d6, reversing changes made to c523150494734b48e3a8407278b90475edef53d1. * remove obsolete TODOs * clean up ptions * tree * non-nil options * comment Co-authored-by: alpo <yukseloglua@berkeley.edu> Co-authored-by: alpo <62043214+AlpinYukseloglu@users.noreply.github.com> * Swaprouter single route api (#3878) Closes: #3807 ## Brief Changelog - Add `SwapExactAmountIn ` api - In `AfterEpochEnd` hook of `txfees` module, we are using single route. Change to use `SwapExactAmountIn` - tests added ## Testing and Verifying *(Please pick one of the following options)* This change is a trivial rework / code cleanup without any test coverage. *(or)* This change is already covered by existing tests, such as *(please describe tests)*. *(or)* This change added tests and can be verified as follows: *(example:)* - *Added unit test that validates ...* - *Added integration tests for end-to-end deployment with ...* - *Extended integration test for ...* - *Manually verified the change by ...* ## Documentation and Release Note - Does this pull request introduce a new feature or user-facing behavior changes? (yes / no) - Is a relevant changelog entry added to the `Unreleased` section in `CHANGELOG.md`? (yes / no) - How is the feature or change documented? (not applicable / specification (`x/<module>/spec/`) / [Osmosis docs repo](https://github.com/osmosis-labs/docs) / not documented) * fix: cl merge main swaprouter changes (state-breaking) (#3876) * push initial fixes * modules.go * register AppModuleBasic * uncomment concentrated in swaprouter keeper * remove create pool events from msg server * add cl storekey to upgrade * minimize diff by moving method * remove redundant pool asset constants * add unit tests for removed checks * add error test for TestMsgCreateStableswapPool * test TestMsgCreateBalancerPool * remove dependency Co-authored-by: Roman <ackhtariev@gmail.com> * test[CL]: CurrentSqrtPrice (#3783) * test CurrentSqrtPrice * change tests effected by OOO and osmomath change * tick spacing with cli * add comments * osmomath changes * remove comments * add negative to cli (#3888) * refactor(osmoutils): UpdateAccumulator does not overwite; tests (#3895) * refactor(osmoutils): accumulator ClaimRewards returns sdk.Coins (#3897) * refactor(osmoutils): accumulator ClaimRewards returns sdk.Coins * Update osmoutils/accum/accum_test.go Co-authored-by: alpo <62043214+AlpinYukseloglu@users.noreply.github.com> * Update osmoutils…
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C:simulator
Edits simulator or simulations
C:x/gamm
Changes, features and bugs related to the gamm module.
C:x/superfluid
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes: #3031
What is the purpose of the change
We would like to have a
TraditionalAmm
pool interface implemented bybalancer
andstableswap
pools.In addition, we would like to have a more general
PoolI
with fewer methods that is compatible with all ofbalancer
,stableswap
andconcetrated
pools.This PR implements the necessary refactor to be able to subsequently implement
concentrated
pool on top ofPoolI
Brief Changelog
TraditionaAMMInterface
on top ofPoolI
PoolI
has fewer methods compatible for any poolTesting and Verifying
This change is a trivial rework / code cleanup without any test coverage.
Documentation and Release Note
Unreleased
section inCHANGELOG.md
? no