amms-rs is a Rust library to interact with automated market makers across EVM chains.
This lib provides functionality to discover, sync, filter, and interact with a variety of AMMs. This library also provides functionality to keep a state space synced, abstracting logic to handle chain reorgs, maintaining a state change cache and more.
amms-rs was built with modularity in mind, making it quick and easy to add a new AMM variant by implementing the AutomatedMarketMaker trait. For a full walkthrough on how to quickly implement a new AMM, check out addingAnAMM.md.
| AMM | Status |
|---|---|
| UniswapV2 Pools | ✅ |
| UniswapV3 Pools | ✅ |
| ERC4626 Vaults | ✅ |
| Balancer Pools | 🟨 |
| Curve Pools | ❌ |
| Bancor Pools | ❌ |