1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// SPDX-FileCopyrightText: 2025 Semiotic AI, Inc.
//
// SPDX-License-Identifier: Apache-2.0
//! Prelude module for convenient imports
//!
//! This module re-exports the most commonly used types, traits, and functions
//! from the Odos SDK, allowing users to import everything they need with a single use statement.
//!
//! # Examples
//!
//! ```rust
//! use odos_sdk::prelude::*;
//! use alloy_primitives::{Address, U256};
//! use std::str::FromStr;
//!
//! # async fn example() -> Result<()> {
//! // Create a client
//! let client = OdosClient::new()?;
//!
//! // Build a quote request using the high-level SwapBuilder API
//! let usdc = Address::from_str("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48")?;
//! let weth = Address::from_str("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2")?;
//!
//! let quote = client.swap()
//! .chain(Chain::ethereum())
//! .from_token(usdc, U256::from(1_000_000)) // 1 USDC
//! .to_token(weth)
//! .slippage(Slippage::percent(0.5).unwrap())
//! .signer(Address::from_str("0x742d35Cc6634C0532925a3b8D35f3e7a5edD29c0")?)
//! .quote()
//! .await?;
//!
//! println!("Expected output: {} WETH", quote.out_amount().unwrap_or(&"0".to_string()));
//! # Ok(())
//! # }
//! ```
// Re-export the most commonly used types
// Client
pub use crateOdosClient;
// Request and response types
pub use crate::;
// High-level builder API
pub use crateSwapBuilder;
// Tool/runtime-friendly DTOs
pub use cratetooling;
// Type-safe domain types
pub use crate::;
// Error types
pub use crate::;
// Configuration
pub use crate::;
// Chain support trait
pub use crateOdosChain;
// Common alloy re-exports for convenience
pub use ;