You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Over the past few months, we started to take a hard look at amms to identify what could be improved in order for the library to become more robust, reliable and reduce complexity, keeping the lib as simple as possible all without sacrificing performance.
With the 0.7.0 release, we opted for a large refactor of the lib, redesigning the internals for major components like pool discovery, syncing and subscribing to state changes. We also refactored the core AutomatedMarketMaker and AutomatedMarketMakerFactory traits which provide the a large part of the foundation of the lib.
For general users of the lib, you will see performance gains during syncing, some QOL updates and a few API changes but everything will feel very similar (or even unchanged in some areas). You can just as easily specify a set of factories, sync a state space and listen to state changes. The good parts of amms are here to stay.
For users that are interested in getting deeper under the hood, these changes will provide you will more flexibility in how you sync and maintain state. In future updates, we will reintroduce state space caching as a first class citizen, as well as real time pool discovery, allowing you to add new AMMs to the state space after the initial sync.
We want to build amms to be a first class tool for MEV shops, Defi protocols, swap aggregators, etc. and will continue to harden the library by increasing testing and logging as well as furthering benchmarking and improving performance. We are also eager to add additional useful features, AMM variants and more utility to the lib.
Below are the remaining tasks for the 0.7.0 release:
Update error handling
Add fn swap_calldata() functions
Fix sync() impl for UniswapV3Pool
sync!() macro
Update Balancer impl to be compatible with changes
Update "Add An AMM" docs
Update tracing/logging
Update examples
If there is anything else that may be particularly useful for this release, feel free to comment in this thread.
Cheers!
The text was updated successfully, but these errors were encountered:
Factory discovery has been deprioritized due to limited cycles and will not be included in this release. We plan to reintroduce it in a future PR when bandwidth allows.
0.7.0
ReleaseOver the past few months, we started to take a hard look at
amms
to identify what could be improved in order for the library to become more robust, reliable and reduce complexity, keeping the lib as simple as possible all without sacrificing performance.With the 0.7.0 release, we opted for a large refactor of the lib, redesigning the internals for major components like pool discovery, syncing and subscribing to state changes. We also refactored the core
AutomatedMarketMaker
andAutomatedMarketMakerFactory
traits which provide the a large part of the foundation of the lib.For general users of the lib, you will see performance gains during syncing, some QOL updates and a few API changes but everything will feel very similar (or even unchanged in some areas). You can just as easily specify a set of factories, sync a state space and listen to state changes. The good parts of
amms
are here to stay.For users that are interested in getting deeper under the hood, these changes will provide you will more flexibility in how you sync and maintain state. In future updates, we will reintroduce state space caching as a first class citizen, as well as real time pool discovery, allowing you to add new AMMs to the state space after the initial sync.
We want to build
amms
to be a first class tool for MEV shops, Defi protocols, swap aggregators, etc. and will continue to harden the library by increasing testing and logging as well as furthering benchmarking and improving performance. We are also eager to add additional useful features, AMM variants and more utility to the lib.Below are the remaining tasks for the
0.7.0
release:fn swap_calldata()
functionssync()
impl forUniswapV3Pool
sync!()
macroIf there is anything else that may be particularly useful for this release, feel free to comment in this thread.
Cheers!
The text was updated successfully, but these errors were encountered: