mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-28 06:28:41 +01:00
Generic fixes (#1619)
* update fee rates * periodically update fees * minor enhancements * minor enhancements * some improvements add solana node * handle empty hex as null * minor improvement * fix imports * fix app hanging on splash screen * update app versions temporarily disable sign/verify for hardware wallets
This commit is contained in:
@@ -60,7 +60,9 @@ class WalletLoadingService {
|
||||
String corruptedWalletsSeeds = "Corrupted wallets seeds (if retrievable, empty otherwise):";
|
||||
try {
|
||||
corruptedWalletsSeeds += await _getCorruptedWalletSeeds(name, type);
|
||||
} catch (_) {}
|
||||
} catch (e) {
|
||||
corruptedWalletsSeeds += "\nFailed to fetch $name seeds: $e";
|
||||
}
|
||||
|
||||
// try opening another wallet that is not corrupted to give user access to the app
|
||||
final walletInfoSource = await CakeHive.openBox<WalletInfo>(WalletInfo.boxName);
|
||||
@@ -90,7 +92,9 @@ class WalletLoadingService {
|
||||
if (!corruptedWalletsSeeds.contains(seeds)) {
|
||||
corruptedWalletsSeeds += seeds;
|
||||
}
|
||||
} catch (_) {}
|
||||
} catch (e) {
|
||||
corruptedWalletsSeeds += "\nFailed to fetch $name seeds: $e";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ Future<void> bootstrap(GlobalKey<NavigatorState> navigatorKey) async {
|
||||
authenticationStore.installed();
|
||||
}
|
||||
|
||||
await startAuthenticationStateChange(authenticationStore, navigatorKey);
|
||||
startAuthenticationStateChange(authenticationStore, navigatorKey);
|
||||
startCurrentWalletChangeReaction(appStore, settingsStore, fiatConversionStore);
|
||||
startCurrentFiatChangeReaction(appStore, settingsStore, fiatConversionStore);
|
||||
startCurrentFiatApiModeChangeReaction(appStore, settingsStore, fiatConversionStore);
|
||||
|
||||
@@ -7,26 +7,17 @@ import 'package:flutter/widgets.dart';
|
||||
import 'package:mobx/mobx.dart';
|
||||
import 'package:cake_wallet/entities/load_current_wallet.dart';
|
||||
import 'package:cake_wallet/store/authentication_store.dart';
|
||||
import 'package:rxdart/subjects.dart';
|
||||
|
||||
ReactionDisposer? _onAuthenticationStateChange;
|
||||
|
||||
dynamic loginError;
|
||||
StreamController<dynamic> authenticatedErrorStreamController = StreamController<dynamic>();
|
||||
StreamController<dynamic> authenticatedErrorStreamController = BehaviorSubject<dynamic>();
|
||||
|
||||
Future<void> reInitializeStreamController() async {
|
||||
if (!authenticatedErrorStreamController.isClosed) {
|
||||
await authenticatedErrorStreamController.close();
|
||||
}
|
||||
|
||||
authenticatedErrorStreamController = StreamController<dynamic>();
|
||||
}
|
||||
|
||||
Future<void> startAuthenticationStateChange(
|
||||
void startAuthenticationStateChange(
|
||||
AuthenticationStore authenticationStore,
|
||||
GlobalKey<NavigatorState> navigatorKey,
|
||||
) async {
|
||||
await reInitializeStreamController();
|
||||
|
||||
) {
|
||||
authenticatedErrorStreamController.stream.listen((event) {
|
||||
if (authenticationStore.state == AuthenticationState.allowed) {
|
||||
ExceptionHandler.showError(event.toString(), delayInSeconds: 3);
|
||||
|
||||
@@ -287,8 +287,8 @@ class CryptoBalanceWidget extends StatelessWidget {
|
||||
padding: const EdgeInsets.fromLTRB(16, 0, 16, 8),
|
||||
child: DashBoardRoundedCardWidget(
|
||||
customBorder: 30,
|
||||
title: "Monero wallet is broken",
|
||||
subTitle: "Here are the things that are broken:\n - "
|
||||
title: "This wallet has encountered an issue",
|
||||
subTitle: "Here are the things that you should note:\n - "
|
||||
+dashboardViewModel.isMoneroWalletBrokenReasons.join("\n - ")
|
||||
+"\n\nPlease restart your wallet and if it doesn't help contact our support.",
|
||||
onTap: () {},
|
||||
|
||||
@@ -32,7 +32,6 @@ 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/settings/sync_mode.dart';
|
||||
import 'package:cake_wallet/wallet_type_utils.dart';
|
||||
import 'package:cake_wallet/wownero/wownero.dart' as wow;
|
||||
import 'package:cryptography/cryptography.dart';
|
||||
import 'package:cw_core/balance.dart';
|
||||
import 'package:cw_core/cake_hive.dart';
|
||||
@@ -485,6 +484,9 @@ abstract class DashboardViewModelBase with Store {
|
||||
|
||||
@computed
|
||||
bool get hasSignMessages {
|
||||
if (wallet.isHardwareWallet) {
|
||||
return false;
|
||||
}
|
||||
switch (wallet.type) {
|
||||
case WalletType.monero:
|
||||
case WalletType.litecoin:
|
||||
|
||||
@@ -142,8 +142,17 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
|
||||
_bestRate = 0;
|
||||
_calculateBestRate();
|
||||
});
|
||||
|
||||
if (isElectrumWallet) {
|
||||
bitcoin!.updateFeeRates(wallet);
|
||||
}
|
||||
}
|
||||
|
||||
bool get isElectrumWallet =>
|
||||
wallet.type == WalletType.bitcoin ||
|
||||
wallet.type == WalletType.litecoin ||
|
||||
wallet.type == WalletType.bitcoinCash;
|
||||
|
||||
bool _useTorOnly;
|
||||
final Box<Trade> trades;
|
||||
final ExchangeTemplateStore _exchangeTemplateStore;
|
||||
|
||||
Reference in New Issue
Block a user