import 'package:cake_wallet/exchange/exchange_pair.dart'; import 'package:cake_wallet/exchange/exchange_provider_description.dart'; import 'package:cake_wallet/exchange/limits.dart'; import 'package:cake_wallet/exchange/trade.dart'; import 'package:cake_wallet/exchange/trade_request.dart'; import 'package:cw_core/crypto_currency.dart'; abstract class ExchangeProvider { ExchangeProvider({required this.pairList}); String get title; List pairList; ExchangeProviderDescription get description; bool get isAvailable; bool get isEnabled; bool get supportsFixedRate; bool get supportsOnionAddress => false; @override String toString() => title; Future fetchLimits( {required CryptoCurrency from, required CryptoCurrency to, required bool isFixedRateMode}); Future createTrade({required TradeRequest request, required bool isFixedRateMode}); Future findTradeById({required String id}); Future fetchRate( {required CryptoCurrency from, required CryptoCurrency to, required double amount, required bool isFixedRateMode, required bool isReceiveAmount}); Future checkIsAvailable(); }