use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct Quote {
pub input_mint: String,
pub output_mint: String,
pub in_amount: u64,
pub out_amount: u64,
pub price_impact_pct: f64,
pub slot: u64,
pub timestamp_ms: u64,
pub route_plan: Vec<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub other_amount_threshold: Option<u64>,
#[serde(default = "default_swap_mode")]
pub swap_mode: String,
}
fn default_swap_mode() -> String {
"ExactIn".to_string()
}