uniswap-v4-sdk 0.12.0

Uniswap V4 SDK for Rust
docs.rs failed to build uniswap-v4-sdk-0.12.0
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.
Visit the last successful build: uniswap-v4-sdk-0.11.0

Uniswap V4 SDK Rust

Rust CI docs.rs crates.io

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

  • Consistent API and types with the V3 SDK and SDK Core

  • An extensions feature for additional functionalities related to Uniswap V4, including:

Supported Rust Versions (MSRV)

The current MSRV (minimum supported Rust version) is 1.86.

Getting started

Add the following to your Cargo.toml file:

uniswap-v4-sdk = { version = "0.12.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: