Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/darkforestry/amms-rs

A Rust library to interact with automated market makers across EVM chains.
https://github.com/darkforestry/amms-rs

Last synced: about 1 month ago
JSON representation

A Rust library to interact with automated market makers across EVM chains.

Awesome Lists containing this project

README

        

# amms-rs [![Github Actions][gha-badge]][gha] [![Chat][tg-badge]][tg-url]

[gha]: https://github.com/darkforestry/amms-rs/actions
[gha-badge]: https://github.com/darkforestry/amms-rs/actions/workflows/ci.yml/badge.svg
[tg-url]: https://t.me/amms_rs
[tg-badge]: https://img.shields.io/badge/chat-telegram-blue

`amms-rs` is a Rust library to interact with automated market makers across EVM chains.

This lib provides functionality to [discover](https://github.com/darkforestry/amms-rs/blob/main/examples/discover-factories.rs), [sync](https://github.com/darkforestry/amms-rs/blob/main/examples/sync-amms.rs), [filter](https://github.com/darkforestry/amms-rs/blob/main/examples/filter-value.rs), and interact with a variety of AMMs. This library also provides functionality to keep a [state space synced](https://github.com/darkforestry/amms-rs/blob/main/examples/state-space.rs), 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`](https://github.com/darkforestry/amms-rs/blob/main/docs/addingAnAMM.md).

## Supported AMMs

| AMM | Status |
| --------------- | ------ |
| UniswapV2 Pools | ✅ |
| UniswapV3 Pools | ✅ |
| ERC4626 Vaults | ✅ |
| Izumi Pools | 🟨 |
| Curve Pools | ❌ |
| Balancer Pools | ❌ |
| Bancor Pools | ❌ |