Skip to main content

Crate waterpump_evm_uniswap_api_client

Crate waterpump_evm_uniswap_api_client 

Source
Expand description

Uniswap API Client

A Rust client for interacting with the Uniswap Labs API.

§Example

use waterpump_evm_uniswap_api_client::{UniswapApiClient, QuoteRequest, QuoteType};
use alloy_primitives::Address;

let client = UniswapApiClient::new();

// Get a quote
let request = QuoteRequest {
    token_in: Address::from_str("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")?,
    token_out: Address::from_str("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2")?,
    amount: "1000000".to_string(),
    quote_type: QuoteType::ExactIn,
    protocols: None,
    recipient: None,
    deadline: None,
    slippage_tolerance: Some("0.5".to_string()),
};

let quote = client.get_quote(request).await?;
println!("Quote: {}", quote.quote);

// Get token list
let tokens = client.get_tokens().await?;
println!("Found {} tokens", tokens.tokens.len());

// Get pools
let pools = client.get_pools(None, None).await?;
println!("Found {} pools", pools.pools.len());

Re-exports§

pub use client::UniswapApiClient;
pub use error::Result;
pub use error::UniswapApiError;
pub use types::Chain;
pub use types::ListPositionsRequest;
pub use types::ListPositionsResponse;
pub use types::PoolInfo;
pub use types::PoolListResponse;
pub use types::Position;
pub use types::PositionStatus;
pub use types::PositionToken;
pub use types::ProtocolVersion;
pub use types::QuoteRequest;
pub use types::QuoteResponse;
pub use types::QuoteType;
pub use types::TokenInfo;
pub use types::TokenListResponse;
pub use types::V3Position;
pub use types::V4PoolPosition;
pub use types::V4Position;

Modules§

client
Uniswap API client
error
Error types for the Uniswap API client
types
Types for Uniswap API requests and responses