Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
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 with matching unit tests.
Features
-
Opinionated Rust implementation of the Uniswap V4 SDK with a focus on readability and performance
-
Usage of alloy-rs types
-
An
extensionsfeature for additional functionalities related to Uniswap V4, including:pool: Create Pool structs from on-chain dataposition: Fetch position data from NFT token IDs and parse eventspool_manager_lens: Query pool manager state (similar toStateView)simple_tick_data_provider: Fetch tick data via RPC
Supported Rust Versions (MSRV)
The current MSRV (minimum supported Rust version) is 1.86.
Getting started
Add the following to your Cargo.toml file:
= { = "0.12.0", = ["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 *;
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: