mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-03-12 09:32:33 +00:00
[skipci] save
This commit is contained in:
parent
2cd9ba42d2
commit
c43ccdd177
4 changed files with 72 additions and 25 deletions
24
lib/di.dart
24
lib/di.dart
|
@ -385,17 +385,19 @@ Future<void> setup({
|
|||
fiatConvertationStore: getIt.get<FiatConversionStore>()));
|
||||
|
||||
getIt.registerFactory(() => DashboardViewModel(
|
||||
balanceViewModel: getIt.get<BalanceViewModel>(),
|
||||
appStore: getIt.get<AppStore>(),
|
||||
tradesStore: getIt.get<TradesStore>(),
|
||||
tradeFilterStore: getIt.get<TradeFilterStore>(),
|
||||
transactionFilterStore: getIt.get<TransactionFilterStore>(),
|
||||
settingsStore: settingsStore,
|
||||
yatStore: getIt.get<YatStore>(),
|
||||
ordersStore: getIt.get<OrdersStore>(),
|
||||
anonpayTransactionsStore: getIt.get<AnonpayTransactionsStore>(),
|
||||
sharedPreferences: getIt.get<SharedPreferences>(),
|
||||
keyService: getIt.get<KeyService>()));
|
||||
balanceViewModel: getIt.get<BalanceViewModel>(),
|
||||
appStore: getIt.get<AppStore>(),
|
||||
tradesStore: getIt.get<TradesStore>(),
|
||||
tradeFilterStore: getIt.get<TradeFilterStore>(),
|
||||
transactionFilterStore: getIt.get<TransactionFilterStore>(),
|
||||
settingsStore: settingsStore,
|
||||
yatStore: getIt.get<YatStore>(),
|
||||
ordersStore: getIt.get<OrdersStore>(),
|
||||
anonpayTransactionsStore: getIt.get<AnonpayTransactionsStore>(),
|
||||
sharedPreferences: getIt.get<SharedPreferences>(),
|
||||
keyService: getIt.get<KeyService>(),
|
||||
lightningViewModel: getIt.get<LightningViewModel>(),
|
||||
));
|
||||
|
||||
getIt.registerFactory<AuthService>(
|
||||
() => AuthService(
|
||||
|
|
|
@ -8,6 +8,7 @@ import 'package:cake_wallet/src/screens/dashboard/pages/nft_listing_page.dart';
|
|||
import 'package:cake_wallet/src/screens/dashboard/widgets/home_screen_account_widget.dart';
|
||||
import 'package:cake_wallet/src/widgets/cake_image_widget.dart';
|
||||
import 'package:cake_wallet/src/screens/exchange_trade/information_page.dart';
|
||||
import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart';
|
||||
import 'package:cake_wallet/src/widgets/introducing_card.dart';
|
||||
import 'package:cake_wallet/store/settings_store.dart';
|
||||
import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
|
||||
|
@ -170,6 +171,20 @@ class CryptoBalanceWidget extends StatelessWidget {
|
|||
),
|
||||
],
|
||||
)),
|
||||
Observer(builder: (_) {
|
||||
final serviceMessage = dashboardViewModel.serviceMessage;
|
||||
if (serviceMessage.isEmpty) {
|
||||
return const SizedBox();
|
||||
}
|
||||
return Padding(
|
||||
padding: const EdgeInsets.fromLTRB(24, 0, 24, 8),
|
||||
child: DashBoardRoundedCardWidget(
|
||||
onTap: () => null,
|
||||
title: S.of(context).warning,
|
||||
subTitle: serviceMessage,
|
||||
),
|
||||
);
|
||||
}),
|
||||
Observer(
|
||||
builder: (_) {
|
||||
if (dashboardViewModel.balanceViewModel.isShowCard &&
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:breez_sdk/bridge_generated.dart';
|
||||
import 'package:cake_wallet/buy/buy_provider.dart';
|
||||
import 'package:cake_wallet/core/key_service.dart';
|
||||
import 'package:cake_wallet/entities/auto_generate_subaddress_status.dart';
|
||||
|
@ -28,6 +29,7 @@ import 'package:cake_wallet/view_model/dashboard/formatted_item_list.dart';
|
|||
import 'package:cake_wallet/view_model/dashboard/order_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/dashboard/trade_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/dashboard/transaction_list_item.dart';
|
||||
import 'package:cake_wallet/view_model/lightning_view_model.dart';
|
||||
import 'package:cake_wallet/view_model/settings/sync_mode.dart';
|
||||
import 'package:cake_wallet/wallet_type_utils.dart';
|
||||
import 'package:cryptography/cryptography.dart';
|
||||
|
@ -52,19 +54,20 @@ part 'dashboard_view_model.g.dart';
|
|||
class DashboardViewModel = DashboardViewModelBase with _$DashboardViewModel;
|
||||
|
||||
abstract class DashboardViewModelBase with Store {
|
||||
DashboardViewModelBase(
|
||||
{required this.balanceViewModel,
|
||||
required this.appStore,
|
||||
required this.tradesStore,
|
||||
required this.tradeFilterStore,
|
||||
required this.transactionFilterStore,
|
||||
required this.settingsStore,
|
||||
required this.yatStore,
|
||||
required this.ordersStore,
|
||||
required this.anonpayTransactionsStore,
|
||||
required this.sharedPreferences,
|
||||
required this.keyService})
|
||||
: hasSellAction = false,
|
||||
DashboardViewModelBase({
|
||||
required this.balanceViewModel,
|
||||
required this.appStore,
|
||||
required this.tradesStore,
|
||||
required this.tradeFilterStore,
|
||||
required this.transactionFilterStore,
|
||||
required this.settingsStore,
|
||||
required this.yatStore,
|
||||
required this.ordersStore,
|
||||
required this.anonpayTransactionsStore,
|
||||
required this.sharedPreferences,
|
||||
required this.keyService,
|
||||
required this.lightningViewModel,
|
||||
}) : hasSellAction = false,
|
||||
hasBuyAction = false,
|
||||
hasExchangeAction = false,
|
||||
isShowFirstYatIntroduction = false,
|
||||
|
@ -304,6 +307,8 @@ abstract class DashboardViewModelBase with Store {
|
|||
|
||||
TransactionFilterStore transactionFilterStore;
|
||||
|
||||
LightningViewModel lightningViewModel;
|
||||
|
||||
Map<String, List<FilterItem>> filterItems;
|
||||
|
||||
BuyProvider? get defaultBuyProvider => ProvidersHelper.getProviderByType(
|
||||
|
@ -370,6 +375,21 @@ abstract class DashboardViewModelBase with Store {
|
|||
@computed
|
||||
bool get hasPowNodes => wallet.type == WalletType.nano || wallet.type == WalletType.banano;
|
||||
|
||||
String get serviceMessage {
|
||||
if (wallet.type == WalletType.lightning) {
|
||||
final serviceStatus = lightningViewModel.serviceHealthCheck();
|
||||
if (serviceStatus == HealthCheckStatus.ServiceDisruption) {
|
||||
return "The breez service is currently experiencing issues. Please try again later.";
|
||||
} else if (serviceStatus == HealthCheckStatus.Maintenance) {
|
||||
return "The breez service is currently undergoing maintenance. Please try again later.";
|
||||
} else {
|
||||
return "NORMAL";
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
Future<void> reconnect() async {
|
||||
final node = appStore.settingsStore.getCurrentNode(wallet.type);
|
||||
await wallet.connectToNode(node: node);
|
||||
|
|
|
@ -37,7 +37,7 @@ abstract class LightningViewModelBase with Store {
|
|||
fee = openingFees.usedFeeParams!.minMsat ~/ 1000;
|
||||
}
|
||||
} catch (_) {}
|
||||
|
||||
|
||||
return ReceiveOnchainResult(
|
||||
bitcoinAddress: swapInfo.bitcoinAddress,
|
||||
minAllowedDeposit: swapInfo.minAllowedDeposit,
|
||||
|
@ -95,6 +95,16 @@ abstract class LightningViewModelBase with Store {
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Future<BZG.HealthCheckStatus> serviceHealthCheck() async {
|
||||
try {
|
||||
final sdk = await BreezSDK();
|
||||
BZG.ServiceHealthCheckResponse response = await sdk.serviceHealthCheck();
|
||||
return response.status;
|
||||
} catch (_) {
|
||||
return BZG.HealthCheckStatus.ServiceDisruption;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ReceiveOnchainResult {
|
||||
|
|
Loading…
Reference in a new issue