Skip to content

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

License

Notifications You must be signed in to change notification settings

roman-raizen/amms-rs

 
 

Repository files navigation

amms-rs Github Actions

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.

Installation

To use amms in your project, add the following to your Cargo.toml

[dependencies]
amms = "0.6.1"

Tests and Docs are still being written 🏗️.

Tests are still being written, assume bugs until tested. If you would like to help contribute on the tests or docs, feel free to open up an issue or make a PR.

Supported AMMs

AMM Status
UniswapV2 Pools
UniswapV3 Pools
ERC4626 Vaults
Izumi Pools 🟨
Curve Pools
Balancer Pools
Bancor Pools

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 80.0%
  • Solidity 20.0%