import 'package:dartz/dartz.dart'; import '../../core/error/failures.dart'; import '../entities/price_info.dart'; import '../entities/market_overview.dart'; import '../entities/trading_account.dart'; import '../entities/asset_display.dart'; import '../entities/kline.dart'; import '../../data/models/trade_order_model.dart'; abstract class TradingRepository { /// 获取买入功能开关状态 Future> getBuyEnabled(); /// 获取当前价格信息 Future> getCurrentPrice(); /// 获取市场概览 Future> getMarketOverview(); /// 获取交易账户信息 Future> getTradingAccount(String accountSequence); /// 创建订单 Future>> createOrder({ required String type, required String price, required String quantity, }); /// 取消订单 Future> cancelOrder(String orderNo); /// 获取用户订单列表 Future> getOrders({ int page = 1, int pageSize = 50, }); /// 获取用户成交记录(含手续费明细) Future> getTrades({ int page = 1, int pageSize = 50, }); /// 预估卖出收益 Future>> estimateSell(String quantity); /// 划入积分股 (从挖矿账户到交易账户) Future>> transferIn(String amount); /// 划出积分股 (从交易账户到挖矿账户) Future>> transferOut(String amount); /// 获取划转历史记录 Future>> getTransferHistory({int page = 1, int pageSize = 50}); /// 获取我的资产显示信息 Future> getMyAsset({String? dailyAllocation}); /// 获取指定账户资产显示信息 Future> getAccountAsset(String accountSequence, {String? dailyAllocation}); /// 获取K线数据 /// [before] 获取此时间之前的K线数据(用于加载更多历史) Future>> getKlines({String period = '1h', int limit = 100, DateTime? before}); }