9 releases (5 breaking)
new 0.6.1 | Apr 27, 2025 |
---|---|
0.6.0 | Apr 20, 2025 |
0.5.1 | Apr 20, 2025 |
0.4.0 | Mar 24, 2025 |
0.1.1 | Dec 30, 2024 |
#191 in Magic Beans
527 downloads per month
265KB
6K
SLoC
Uniswap V4 SDK Rust
A Rust SDK for building applications on top of Uniswap V4. Rewrite of the TypeScript V4 SDK.
It is feature-complete but missing unit tests.
Features
-
Opinionated Rust implementation of the Uniswap V4 SDK with a focus on readability and performance
-
Usage of alloy-rs types
-
An
extensions
feature for additional functionalities related to Uniswap V4, including:pool_manager_lens
module for querying the Uniswap V4 pool manager. Similar toStateView
.simple_tick_data_provider
module for fetching tick data from the Uniswap V4 pool manager contract directly via RPC calls
Supported Rust Versions (MSRV)
The current MSRV (minimum supported rust version) is 1.83.
Getting started
Add the following to your Cargo.toml
file:
uniswap-v4-sdk = { version = "0.6.0", features = ["extensions", "std"] }
Usage
The package structure follows that of the TypeScript SDK, but with snake_case
instead of camelCase
.
For easy import, use the prelude:
use uniswap_v4_sdk::prelude::*;
Note on no_std
By default, this library does not depend on the standard library (std
). However, the std
feature can be enabled.
Contributing
Contributions are welcome. Please open an issue if you have any questions or suggestions.
Testing
Tests are run with
cargo test
Linting
Linting is done with clippy
and rustfmt
. To run the linter, use:
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --all -- --check
License
This project is licensed under the MIT License.
Acknowledgements
This project is inspired by and adapted from the following projects:
Dependencies
~8–21MB
~310K SLoC