Update exchange_view_model.dart

This commit is contained in:
Serhii 2024-04-13 13:06:42 +03:00
parent 538d12c933
commit 5722ed768a

View file

@ -144,16 +144,21 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
final ExchangeTemplateStore _exchangeTemplateStore; final ExchangeTemplateStore _exchangeTemplateStore;
final TradesStore tradesStore; final TradesStore tradesStore;
final SharedPreferences sharedPreferences; final SharedPreferences sharedPreferences;
late TrocadorExchangeProvider trocadorProvider;
List<ExchangeProvider> get _allProviders => [ List<ExchangeProvider> get _allProviders {
trocadorProvider = TrocadorExchangeProvider(
useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates);
updateTrocadorProviderStates(trocadorProvider);
return [
ChangeNowExchangeProvider(settingsStore: _settingsStore), ChangeNowExchangeProvider(settingsStore: _settingsStore),
SideShiftExchangeProvider(), SideShiftExchangeProvider(),
SimpleSwapExchangeProvider(), SimpleSwapExchangeProvider(),
TrocadorExchangeProvider( trocadorProvider,
useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates),
ThorChainExchangeProvider(tradesStore: trades), ThorChainExchangeProvider(tradesStore: trades),
if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(), if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(),
]; ];
}
@observable @observable
ExchangeProvider? provider; ExchangeProvider? provider;
@ -725,6 +730,15 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
); );
} }
@action
Future<void> updateTrocadorProviderStates(TrocadorExchangeProvider trocadorProvider) async {
final availableProviders = await trocadorProvider.fetchProviders();
for (var provider in availableProviders) {
final savedState = sharedPreferences.getBool(provider.name) ?? true;
_settingsStore.trocadorProviderStates[provider.name] = savedState;
}
}
bool get isAvailableInSelected { bool get isAvailableInSelected {
final providersForPair = providersForCurrentPair(); final providersForPair = providersForCurrentPair();
return selectedProviders return selectedProviders