3146d012c7
Introduce TradingInfrastructure to allow multiple wallets to share the same RPC client and SWQOS clients, reducing initialization overhead and memory usage. Changes: - Add InfrastructureConfig struct for wallet-independent configuration - Add TradingInfrastructure struct to hold shared RPC/SWQOS clients - Refactor TradingClient to use Arc<TradingInfrastructure> - Add from_infrastructure() for fast client creation from shared infrastructure - Add from_infrastructure_with_wsol_setup() for async WSOL ATA setup - Maintain backwards compatibility with existing TradingClient::new() API Benefits: - First wallet: Full initialization (~200-500ms) - Subsequent wallets (same config): Fast creation (~1-2ms) - Memory: Single set of RPC/SWQOS clients shared across wallets