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

version v0.3.0 #132

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from
Draft

version v0.3.0 #132

wants to merge 8 commits into from

Conversation

Alexangelj
Copy link
Contributor

No description provided.

@Alexangelj Alexangelj added 💡 feature New features 🧹 improvement Code improvements or cleanup 🚧 DO NOT MERGE 🚧 Do not merge 📃 contracts Anything related to the DFMM contracts (or strategies) labels Apr 10, 2024
Alexangelj and others added 5 commits April 10, 2024 14:22
* initial flash swap

* fix: stack too deep issue in DFMM swap

* fix: downscale amountIn in balance check in flashswap

* fix: move downscaledAmount variable around to avoid stack too deep error

* chore: update swapCallback NatSpec

* test: add flashswap related tests

---------

Co-authored-by: clemlak <[email protected]>
Co-authored-by: Matt Czernik <[email protected]>
* add `CoveredCall` strategy which is a `LogNormal` with `tau` reintroduced and parameterization tailored to covered call use case

* fix covered call swap logic

* add same test coverage as lognormal

* handle case where timestamp > maturity in swap

* fix compute price functions to use sigmaSqrtTau instead of just sigma

* add getInvariant function for testing

* capital efficiency test

* add option to compute init data for covered call given amountY

* use initGivenY for cap efficiency tests

* test with 0.5 sigma and fix init test


* fix broken coveredcall tests, rm init_log_state test (was redundant)

* rm unused sqrt implementation, increase the percentage we increase and decrease approximated bounds in simulated swap logic

* fix swap invocations to pass empty bytes as last argument
Base automatically changed from fix/post-review to main April 11, 2024 22:02
clemlak and others added 2 commits April 26, 2024 12:53
* feat: LogNormalSolver

* wip: save constant sum

* feat: constant sum

* Add `PairSolver` abstract contract to avoid custom allo/deallo delta computations

* chore: natspec

* chore: bindings

* feat: constant sum pool type

* feat: geometric mean pool type

* feat: log normal pool type

* feat: n token geometric mean

* feat: n token geometric mean

* fmt

* return abi encoded allo/deallo data

* feat: n-token bindings + pool types + tests

* feat: n-token pooltype

* feat: deploy n token geometric mean

* feat: generic allocate and deallocate and update

* feat: token admin

* feat: mint request

* feat: add wip ISolver

* chore: amount is now called delta in allocate and deallocate

* feat: G3MSolver is now using the ISolver interface

* test: update G3M deallocate tests

* test: update G3M allocate tests

* test: update G3M swap tests

* test: fix prepare allocation and deallocation params order for G3M tests

* feat: add InvalidTokenIndex error to ISolver

* feat: implement ISolver in ConstantSumSolver

* chore: remove unused Reserves struct in ConstantSumSolver

* test: update tests using ConstantSumSolver

* feat: implement ISolver in LogNormalSolver

* test: update LogNormal tests

* feat: implement ISolver in NTokenG3MSolver

* test: update NTokenG3M tests

* feat: update ISolver getPrice function

* feat: update getPrice in ConstantSumSolver

* feat: update G3M getPrice function

* feat: update ISolver interface

* feat: update GeometricMeanSolver

* chore: add NatSpec to ISolver

* chore: add prepareInit and getPoolParams mentions in ISolver

* feat: update LogNormalSolver with new ISolver

* feat: update ConstantSumSolver with new ISolver changes

* feat: update G3MSolver with new ISolver changes

* feat: use IStrategy interface for startegy getter in ISolver

* test: update LogNormal getPrice tests

* feat: import errors from ISolver

* feat: add InvalidDeltasLength error to ISolver

* feat: import errors from ISolver in LogNormalSolver

* feat: rework NTokenG3MSolver to fit with new ISolver

* test: update ConstantSum setup

* test: use prepareInit for ConstantSumSolver

* test: use prepareInit for ConstantSumSolver

* test: import NotEnoughLiquidity from ConstantSumSolver file

* test: cast G3M strategy as IStrategy in G3M test setup

* test: update G3M allocate tests with new solver

* test: update G3M deallocate tests with new solver

* test: use IStrategy type to init G3MSolver

* test: use prepareInit for LogNormal tests

* test: use getEstimatedPrice in LogNormal allocate tests

* test: use IStrategy type to init LogNormal solver

* test: update NTokenG3M tests to new solver updates

* feat: use ISolver errors in G3MSolver

* chore: add NatSpec to ConstantSumSolver

* chore: update NatSpec, remove unused imports in ConstantSumSolver

* chore: move G3M and NTokenG3M READMEs around

* chore: add NatSpec, remove unused imports in G3MSolver

* feat: add token index check in G3M prepareSwap

* feat: add NatSpec, remove unused functions, add token index checks

* chore: add NatSpec to NTokenG3MSolver

* test: update tests with solver changes

* test: fix G3M transfer tokens test

* feat: change rounding direction in NTokenG3MSolver

---------

Co-authored-by: Waylon Jepsen <[email protected]>
Co-authored-by: kinrezc <[email protected]>
Co-authored-by: Waylon Jepsen <[email protected]>
* add pendle deps

* add SYCoveredCall

* add postSwapHooks

* fix: covered call solver implements ISolver

* fix: sy covered call implements ISolver
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📃 contracts Anything related to the DFMM contracts (or strategies) 🚧 DO NOT MERGE 🚧 Do not merge 💡 feature New features 🧹 improvement Code improvements or cleanup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants