mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-29 04:49: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 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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue