cake_wallet/lib/reactions/fiat_rate_update.dart

36 lines
1.2 KiB
Dart
Raw Normal View History

2020-09-21 11:50:26 +00:00
import 'dart:async';
import 'package:cake_wallet/core/fiat_conversion_service.dart';
2022-03-30 15:57:04 +00:00
import 'package:cake_wallet/entities/update_haven_rate.dart';
2020-09-21 11:50:26 +00:00
import 'package:cake_wallet/store/app_store.dart';
import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
import 'package:cake_wallet/store/settings_store.dart';
2022-03-30 15:57:04 +00:00
import 'package:cw_core/wallet_type.dart';
2020-09-21 11:50:26 +00:00
Timer _timer;
Future<void> startFiatRateUpdate(AppStore appStore, SettingsStore settingsStore,
FiatConversionStore fiatConversionStore) async {
if (_timer != null) {
return;
}
fiatConversionStore.prices[appStore.wallet.currency] =
await FiatConversionService.fetchPrice(
appStore.wallet.currency, settingsStore.fiatCurrency);
2020-09-21 11:50:26 +00:00
_timer = Timer.periodic(
Duration(seconds: 30),
2022-03-30 15:57:04 +00:00
(_) async {
try {
if (appStore.wallet.type == WalletType.haven) {
await updateHavenRate(fiatConversionStore);
} else {
fiatConversionStore.prices[appStore.wallet.currency] = await FiatConversionService.fetchPrice(
appStore.wallet.currency, settingsStore.fiatCurrency);
}
} catch(e) {
print(e);
}
});
2020-09-21 11:50:26 +00:00
}