V4.19.5 v1.16.5 (#1654)
* some not enough enhancements for sync status * update app versions * minor fix
Omar Hatem committed
Aug 27, 2024 at 20:49 UTC
f072e79bb6ca3f0c9ef65607509d4839d1c4d832
13 files changed
+33
-42
assets/text/Monerocom_Release_Notes.txt
+2
-3
@@ -1,3 +1,2 @@
1
-Scan and verify messages
2
-Synchronization enhancements
3
-Bug fixes
\ No newline at end of file
1
+Enhance auto-address generation for Monero
2
+Bug fixes and enhancements
\ No newline at end of file
assets/text/Release_Notes.txt
+4
-3
@@ -1,3 +1,4 @@
1
-Scan and verify messages
2
-Synchronization enhancements
3
-Bug fixes
\ No newline at end of file
1
+Enable BIP39 by default for wallet creation also on Bitcoin/Litecoin (Electrum seed type is still accessible through advanced settings page)
2
+Improve fee calculation for Bitcoin to protect against overpaying or underpaying
3
+Enhance auto-address generation for Monero
4
+Bug fixes and enhancements
\ No newline at end of file
cw_bitcoin/lib/electrum.dart
+1
-11
@@ -107,16 +107,9 @@ class ElectrumClient {
107
}
108
},
109
onError: (Object error) {
110
- socket = null;
110
final errorMsg = error.toString();
111
print(errorMsg);
112
unterminatedString = '';
114
-
115
- final currentHost = socket?.address.host;
116
- final isErrorForCurrentHost = errorMsg.contains(" ${currentHost} ");
117
-
118
- if (currentHost != null && isErrorForCurrentHost)
119
- _setConnectionStatus(ConnectionStatus.failed);
113
},
114
onDone: () {
115
unterminatedString = '';
@@ -436,7 +429,6 @@ class ElectrumClient {
429
{required String id, required String method, List<Object> params = const []}) {
430
try {
431
if (socket == null) {
439
- _setConnectionStatus(ConnectionStatus.failed);
432
return null;
433
}
434
final subscription = BehaviorSubject<T>();
@@ -453,7 +445,6 @@ class ElectrumClient {
445
Future<dynamic> call(
446
{required String method, List<Object> params = const [], Function(int)? idCallback}) async {
447
if (socket == null) {
456
- _setConnectionStatus(ConnectionStatus.failed);
448
return null;
449
}
450
final completer = Completer<dynamic>();
@@ -467,10 +458,9 @@ class ElectrumClient {
458
}
459
460
Future<dynamic> callWithTimeout(
470
- {required String method, List<Object> params = const [], int timeout = 4000}) async {
461
+ {required String method, List<Object> params = const [], int timeout = 5000}) async {
462
try {
463
if (socket == null) {
473
- _setConnectionStatus(ConnectionStatus.failed);
464
return null;
465
}
466
final completer = Completer<dynamic>();
cw_bitcoin/lib/electrum_wallet.dart
+6
-4
@@ -276,7 +276,6 @@ abstract class ElectrumWalletBase
276
Future<Isolate>? _isolate;
277
278
void Function(FlutterErrorDetails)? _onError;
279
- Timer? _reconnectTimer;
279
Timer? _autoSaveTimer;
280
Timer? _updateFeeRateTimer;
281
static const int _autoSaveInterval = 1;
@@ -429,6 +428,10 @@ abstract class ElectrumWalletBase
428
@override
429
Future<void> startSync() async {
430
try {
431
+ if (syncStatus is SyncronizingSyncStatus) {
432
+ return;
433
+ }
434
+
435
syncStatus = SyncronizingSyncStatus();
436
437
if (hasSilentPaymentsScanning) {
@@ -2055,9 +2058,8 @@ abstract class ElectrumWalletBase
2058
2059
_isTryingToConnect = true;
2060
2058
- _reconnectTimer?.cancel();
2059
- _reconnectTimer = Timer(Duration(seconds: 10), () {
2060
- if (this.syncStatus is! SyncedSyncStatus && this.syncStatus is! SyncedTipSyncStatus) {
2061
+ Timer(Duration(seconds: 10), () {
2062
+ if (this.syncStatus is NotConnectedSyncStatus || this.syncStatus is LostConnectionSyncStatus) {
2063
this.electrumClient.connectToUri(
2064
node!.uri,
2065
useSSL: node!.useSSL ?? false,
cw_monero/lib/monero_wallet.dart
+1
-3
@@ -13,11 +13,9 @@ import 'package:cw_core/monero_transaction_priority.dart';
13
import 'package:cw_core/monero_wallet_keys.dart';
14
import 'package:cw_core/monero_wallet_utils.dart';
15
import 'package:cw_core/node.dart';
16
-import 'package:cw_core/pathForWallet.dart';
16
import 'package:cw_core/pending_transaction.dart';
17
import 'package:cw_core/sync_status.dart';
18
import 'package:cw_core/transaction_direction.dart';
20
-import 'package:cw_core/transaction_priority.dart';
19
import 'package:cw_core/unspent_coins_info.dart';
20
import 'package:cw_core/wallet_base.dart';
21
import 'package:cw_core/wallet_info.dart';
@@ -88,7 +86,7 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
86
reaction((_) => isEnabledAutoGenerateSubaddress, (bool enabled) {
87
_updateSubAddress(enabled, account: walletAddresses.account);
88
});
91
- reaction((_) => transactionHistory, (__) {
89
+ _onTxHistoryChangeReaction = reaction((_) => transactionHistory, (__) {
90
_updateSubAddress(isEnabledAutoGenerateSubaddress, account: walletAddresses.account);
91
});
92
}
lib/reactions/check_connection.dart
+3
-1
@@ -24,7 +24,9 @@ void startCheckConnectionReaction(WalletBase wallet, SettingsStore settingsStore
24
return;
25
}
26
27
- if (wallet.syncStatus is LostConnectionSyncStatus || wallet.syncStatus is FailedSyncStatus) {
27
+ if (wallet.type != WalletType.bitcoin &&
28
+ (wallet.syncStatus is LostConnectionSyncStatus ||
29
+ wallet.syncStatus is FailedSyncStatus)) {
30
final alive = await settingsStore.getCurrentNode(wallet.type).requestNode();
31
32
if (alive) {
lib/utils/exception_handler.dart
-1
@@ -172,7 +172,6 @@ class ExceptionHandler {
172
"Error while launching http",
173
"OS Error: Network is unreachable",
174
"ClientException: Write failed, uri=http",
175
- "Connection terminated during handshake",
175
"Corrupted wallets seeds",
176
"bad_alloc",
177
"does not correspond",
scripts/android/app_env.sh
+4
-4
@@ -15,15 +15,15 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
15
APP_ANDROID_TYPE=$1
16
17
MONERO_COM_NAME="Monero.com"
18
-MONERO_COM_VERSION="1.16.4"
19
-MONERO_COM_BUILD_NUMBER=98
18
+MONERO_COM_VERSION="1.16.5"
19
+MONERO_COM_BUILD_NUMBER=99
20
MONERO_COM_BUNDLE_ID="com.monero.app"
21
MONERO_COM_PACKAGE="com.monero.app"
22
MONERO_COM_SCHEME="monero.com"
23
24
CAKEWALLET_NAME="Cake Wallet"
25
-CAKEWALLET_VERSION="4.19.4"
26
-CAKEWALLET_BUILD_NUMBER=225
25
+CAKEWALLET_VERSION="4.19.5"
26
+CAKEWALLET_BUILD_NUMBER=226
27
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
28
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
29
CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+4
-4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13
APP_IOS_TYPE=$1
14
15
MONERO_COM_NAME="Monero.com"
16
-MONERO_COM_VERSION="1.16.4"
17
-MONERO_COM_BUILD_NUMBER=96
16
+MONERO_COM_VERSION="1.16.5"
17
+MONERO_COM_BUILD_NUMBER=97
18
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20
CAKEWALLET_NAME="Cake Wallet"
21
-CAKEWALLET_VERSION="4.19.4"
22
-CAKEWALLET_BUILD_NUMBER=263
21
+CAKEWALLET_VERSION="4.19.5"
22
+CAKEWALLET_BUILD_NUMBER=264
23
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25
HAVEN_NAME="Haven"
scripts/linux/app_env.sh
+2
-2
@@ -14,8 +14,8 @@ if [ -n "$1" ]; then
14
fi
15
16
CAKEWALLET_NAME="Cake Wallet"
17
-CAKEWALLET_VERSION="1.9.4"
18
-CAKEWALLET_BUILD_NUMBER=31
17
+CAKEWALLET_VERSION="1.9.5"
18
+CAKEWALLET_BUILD_NUMBER=32
19
20
if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
21
echo "Wrong app type."
scripts/macos/app_env.sh
+4
-4
@@ -16,13 +16,13 @@ if [ -n "$1" ]; then
16
fi
17
18
MONERO_COM_NAME="Monero.com"
19
-MONERO_COM_VERSION="1.6.4"
20
-MONERO_COM_BUILD_NUMBER=28
19
+MONERO_COM_VERSION="1.6.5"
20
+MONERO_COM_BUILD_NUMBER=30
21
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23
CAKEWALLET_NAME="Cake Wallet"
24
-CAKEWALLET_VERSION="1.12.4"
25
-CAKEWALLET_BUILD_NUMBER=85
24
+CAKEWALLET_VERSION="1.12.5"
25
+CAKEWALLET_BUILD_NUMBER=86
26
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
scripts/windows/build_exe_installer.iss
+1
-1
@@ -1,5 +1,5 @@
1
#define MyAppName "Cake Wallet"
2
-#define MyAppVersion "0.0.5"
2
+#define MyAppVersion "0.0.6"
3
#define MyAppPublisher "Cake Labs LLC"
4
#define MyAppURL "https://cakewallet.com/"
5
#define MyAppExeName "CakeWallet.exe"
tool/configure.dart
+1
-1
@@ -79,7 +79,6 @@ import 'dart:typed_data';
79
import 'package:bitcoin_base/bitcoin_base.dart';
80
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
81
import 'package:cake_wallet/view_model/send/output.dart';
82
-import 'package:cw_bitcoin/electrum_transaction_info.dart';
82
import 'package:cw_core/hardware/hardware_account_data.dart';
83
import 'package:cw_core/node.dart';
84
import 'package:cw_core/output_info.dart';
@@ -102,6 +101,7 @@ import 'package:bip39/bip39.dart' as bip39;
101
import 'package:cw_bitcoin/utils.dart';
102
import 'package:cw_bitcoin/electrum_derivations.dart';
103
import 'package:cw_bitcoin/electrum.dart';
104
+import 'package:cw_bitcoin/electrum_transaction_info.dart';
105
import 'package:cw_bitcoin/pending_bitcoin_transaction.dart';
106
import 'package:cw_bitcoin/bitcoin_receive_page_option.dart';
107
import 'package:cw_bitcoin/bitcoin_wallet.dart';