vaea_flash_sdk/slippage.rs
1/// VAEA Flash — Auto Slippage Calculator (Rust)
2///
3/// Calculates optimal slippage for direct flash loan routes.
4/// Uses data from our own QuoteResponse — zero external API calls.
5
6/// Slippage mode: auto, aggressive, safe, or exact bps.
7pub enum SlippageMode {
8 /// Balanced (default)
9 Auto,
10 /// Minimal slippage — higher risk of TX failure
11 Aggressive,
12 /// Wide margin — higher cost but safer
13 Safe,
14 /// Exact bps value
15 Exact(u16),
16}
17
18/// Calculate optimal slippage in bps for a flash loan.
19///
20/// # Arguments
21/// * `mode` — Slippage mode
22pub fn calculate_slippage_bps(mode: SlippageMode) -> u16 {
23 match mode {
24 SlippageMode::Exact(bps) => bps,
25 SlippageMode::Auto => 10, // 0.1%
26 SlippageMode::Aggressive => 5, // 0.05%
27 SlippageMode::Safe => 50, // 0.5%
28 }
29}