dexpaprika-cli 0.2.0

DexPaprika CLI — free DEX data from the terminal. Pools, tokens, on-chain trades across 33+ chains.
use crate::commands::stream_reserves::ReserveEvent;
use crate::output::OutputFormat;

pub fn print_reserve_event(event: &ReserveEvent, output: OutputFormat) {
    match output {
        OutputFormat::Table => {
            let pool = crate::output::truncate_address(&event.pool_id);
            let symbols: Vec<String> = event
                .tokens
                .iter()
                .map(|t| crate::output::truncate_address(&t.token_id))
                .collect();
            let pair = symbols.join(" / ");
            println!(
                "block {}  {}  pool {}  pair {}  Δ ${:.2}  TVL ${:.2}",
                event.block,
                event.chain,
                pool,
                pair,
                event.total_delta_usd,
                event.total_reserve_usd,
            );
        }
        OutputFormat::Json => {
            if let Ok(json) = serde_json::to_string(event) {
                println!("{json}");
            }
        }
    }
}