mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-28 12:29:51 +00:00
Update exchange_view_model.dart
This commit is contained in:
parent
538d12c933
commit
5722ed768a
1 changed files with 23 additions and 9 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue