Skip to main content

Crate kybr

Crate kybr 

Source
Expand description

Rust client for the KyberSwap Aggregator API

KyberSwap is a multi-chain DEX aggregator that provides optimal swap routes.

§Quick Start

use kybr::{Client, Chain, RouteRequest};

#[tokio::main]
async fn main() -> Result<(), kybr::Error> {
    let client = Client::new()?;

    let request = RouteRequest::new(
        "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", // WETH
        "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
        "1000000000000000000", // 1 WETH
    );

    let route = client.get_routes(Chain::Ethereum, &request).await?;
    println!("Output: {} USDC", route.amount_out);

    Ok(())
}

Re-exports§

pub use client::Client;
pub use error::Error;
pub use error::Result;
pub use types::BuildRouteRequest;
pub use types::BuildRouteResponse;
pub use types::Chain;
pub use types::RouteRequest;
pub use types::RouteSummary;
pub use types::RoutesResponse;
pub use types::SwapStep;
pub use types::TokenInfo;

Modules§

client
HTTP client for the KyberSwap Aggregator API
error
Error types for the KyberSwap API client
types
Types for the KyberSwap API responses

Structs§

ApiConfig
Generic API configuration
BaseClient
A base HTTP client that handles common request/response patterns.
RetryConfig
Configuration for retry behavior
RetryError
Error wrapper that includes retry information

Constants§

DEFAULT_BASE_URL
Default base URL for the KyberSwap API

Traits§

RetryableError
Determines if an error should be retried

Functions§

default_config
Create a default Kyber config
with_retry
Execute an async operation with retries
with_simple_retry
Simple retry wrapper for operations that return Result with any error type

Type Aliases§

Config
Configuration for the KyberSwap API client