use async_trait::async_trait; use solana_sdk::pubkey::Pubkey; use std::collections::HashMap; #[async_trait] pub trait DexIntegration { async fn get_prices(&self) -> HashMap; async fn get_account_balances(&self, account: &Pubkey) -> HashMap; async fn place_order(&self, market: &str, side: &str, size: f64, price: f64) -> Option; async fn cancel_order(&self, order_id: &str) -> bool; }