Skip to content
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

feat(release): Automated post-upgrade tasks by code generating upgrade handler and auto-increasing e2e version #3100

Merged
merged 111 commits into from
Nov 1, 2022

Conversation

pysel
Copy link
Member

@pysel pysel commented Oct 22, 2022

Closes: #2609

Now after a release is created a GitHub action will be triggered which will make a pull request with changes:

  1. create a new folder for upgrade handler in app/upgrades
  2. increase E2E_UPGRADE_VERSION in Makefile by one
  3. change app/app.go file

an example of such pull request can be seen here

the same, but draft pull request as this one can be found here with changes from GitHub action included, so you can view in CI that all e2e tests pass

##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? no

@pysel
Copy link
Member Author

pysel commented Oct 25, 2022

@p0mvn changes addressed. Now PR will be created only if the first number in a tag is higher than existing upgrade handler's version

@pysel
Copy link
Member Author

pysel commented Oct 25, 2022

so, replying to your previous comments:

  1. now as I mentioned PR is only created at major updates
  2. nothing changed except when is the script being ran, so there is nothing new to test basically (well, only that it indeed runs when intended and that is a yes)

@pysel pysel requested a review from p0mvn October 31, 2022 08:00
@pysel
Copy link
Member Author

pysel commented Oct 31, 2022

hello @p0mvn. I was wondering, do you think it is worth automatically assign someone for the pr created?

Copy link
Member

@czarcas7ic czarcas7ic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great to me! Would love to see a secondary option in a later PR for forks as well, as forks usually mean bad times which usually means the more automation we can get the better 😄

Copy link
Member

@p0mvn p0mvn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome work

@p0mvn
Copy link
Member

p0mvn commented Nov 1, 2022

hello @p0mvn. I was wondering, do you think it is worth automatically assign someone for the pr created?

I think we shouldn't assign anyone, someone can just pick it up

@p0mvn p0mvn merged commit 8cd07fd into osmosis-labs:main Nov 1, 2022
mergify bot pushed a commit that referenced this pull request Nov 1, 2022
…e 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>
(cherry picked from commit 8cd07fd)
p0mvn pushed a commit that referenced this pull request Nov 1, 2022
…e handler and auto-increasing e2e version (#3100) (#3199)

* 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>
(cherry picked from commit 8cd07fd)

Co-authored-by: Ruslan Akhtariev <46343690+RusAkh@users.noreply.github.com>
pysel added a commit to pysel/osmosis that referenced this pull request Nov 1, 2022
…e handler and auto-increasing e2e version (osmosis-labs#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>
mattverse added a commit that referenced this pull request Nov 2, 2022
* 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](tendermint/tendermint@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](golangci/golangci-lint@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](stretchr/testify@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 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 (#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 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 <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 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 <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](spf13/cobra@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](mattn/go-sqlite3@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>
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
A:backport/v12.x backport patches to v12.x branch T:build T:CI V:state/compatible/backport State machine compatible PR, should be backported
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat(release): automate post-upgrade tasks by code generating upgrade handler and auto-increasing e2e version
3 participants