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;