import 'package:equatable/equatable.dart'; import '../models/bot_models.dart'; abstract class BotEvent extends Equatable { const BotEvent(); @override List get props => []; } class FetchBotDashboard extends BotEvent { const FetchBotDashboard(); } class OnBotPositionStreamReceived extends BotEvent { final BotTradeOrderModel position; const OnBotPositionStreamReceived(this.position); @override List get props => [position]; } class OnPortfolioSummaryStreamReceived extends BotEvent { final AccountSummaryModel summary; const OnPortfolioSummaryStreamReceived(this.summary); @override List get props => [summary]; } class TriggerBotPanicClose extends BotEvent { const TriggerBotPanicClose(); } class ExecuteManualBotProposal extends BotEvent { final String proposalId; final String? venue; final double? quantity; const ExecuteManualBotProposal({ required this.proposalId, this.venue, this.quantity, }); @override List get props => [proposalId, venue, quantity]; } class UpdateBotConfigSettings extends BotEvent { final bool? autoExecutionEnabled; final int? maxPositions; final double? riskPerTradePercent; final int? minCompositeScore; const UpdateBotConfigSettings({ this.autoExecutionEnabled, this.maxPositions, this.riskPerTradePercent, this.minCompositeScore, }); @override List get props => [autoExecutionEnabled, maxPositions, riskPerTradePercent, minCompositeScore]; }