A Rust SDK for building applications on top of Uniswap V4. Rewrite of the TypeScript V4 SDK.
It is feature-complete with matching unit tests.
-
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
The current MSRV (minimum supported rust version) is 1.85.
Add the following to your Cargo.toml
file:
uniswap-v4-sdk = { version = "0.9.0", features = ["extensions", "std"] }
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::*;
By default, this library does not depend on the standard library (std
). However, the std
feature can be enabled.
Contributions are welcome. Please open an issue if you have any questions or suggestions.
Tests are run with
cargo test
Linting is done with clippy
and rustfmt
. To run the linter, use:
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --all -- --check
This project is licensed under the MIT License.
This project is inspired by and adapted from the following projects: