Filter to use Tor only exchange

This commit is contained in:
Godwin Asuquo
2023-03-01 15:50:31 +02:00
parent 2c9f17e728
commit dbfbadffda
2 changed files with 26 additions and 9 deletions
@@ -2,6 +2,7 @@ import 'dart:async';
import 'dart:collection';
import 'dart:convert';
import 'package:cake_wallet/entities/fiat_api_mode.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/exchange/sideshift/sideshift_exchange_provider.dart';
import 'package:cake_wallet/exchange/sideshift/sideshift_request.dart';
@@ -62,8 +63,9 @@ abstract class ExchangeViewModelBase with Store {
limitsState = LimitsInitialState(),
receiveCurrency = wallet.currency,
depositCurrency = wallet.currency,
providerList = [ChangeNowExchangeProvider(), SideShiftExchangeProvider(), SimpleSwapExchangeProvider(), TrocadorExchangeProvider()],
providerList = [],
selectedProviders = ObservableList<ExchangeProvider>() {
_setProviders();
const excludeDepositCurrencies = [CryptoCurrency.btt, CryptoCurrency.nano];
const excludeReceiveCurrencies = [CryptoCurrency.xlm, CryptoCurrency.xrp,
CryptoCurrency.bnb, CryptoCurrency.btt, CryptoCurrency.nano];
@@ -126,6 +128,13 @@ abstract class ExchangeViewModelBase with Store {
final TradesStore tradesStore;
final SharedPreferences sharedPreferences;
final _allProviders = [
ChangeNowExchangeProvider(),
SideShiftExchangeProvider(),
SimpleSwapExchangeProvider(),
TrocadorExchangeProvider(),
];
@observable
ExchangeProvider? provider;
@@ -683,4 +692,12 @@ abstract class ExchangeViewModelBase with Store {
break;
}
}
void _setProviders(){
if (_settingsStore.exchangeStatus == FiatApiMode.torOnly) {
providerList = _allProviders.where((provider) => provider.shouldUseOnionAddress).toList();
} else {
providerList = _allProviders;
}
}
}