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 TradesStore tradesStore;
final SharedPreferences sharedPreferences;
late TrocadorExchangeProvider trocadorProvider;
List<ExchangeProvider> get _allProviders => [
ChangeNowExchangeProvider(settingsStore: _settingsStore),
SideShiftExchangeProvider(),
SimpleSwapExchangeProvider(),
TrocadorExchangeProvider(
useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates),
ThorChainExchangeProvider(tradesStore: trades),
if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(),
];
List<ExchangeProvider> get _allProviders {
trocadorProvider = TrocadorExchangeProvider(
useTorOnly: _useTorOnly, providerStates: _settingsStore.trocadorProviderStates);
updateTrocadorProviderStates(trocadorProvider);
return [
ChangeNowExchangeProvider(settingsStore: _settingsStore),
SideShiftExchangeProvider(),
SimpleSwapExchangeProvider(),
trocadorProvider,
ThorChainExchangeProvider(tradesStore: trades),
if (FeatureFlag.isExolixEnabled) ExolixExchangeProvider(),
];
}
@observable
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 {
final providersForPair = providersForCurrentPair();
return selectedProviders