mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2024-11-16 17:27:37 +00:00
V4.19.5 v1.16.5 (#1654)
Some checks are pending
Cache Dependencies / test (push) Waiting to run
Some checks are pending
Cache Dependencies / test (push) Waiting to run
* some not enough enhancements for sync status * update app versions * minor fix
This commit is contained in:
parent
4c795ea5c2
commit
f072e79bb6
13 changed files with 33 additions and 42 deletions
|
@ -1,3 +1,2 @@
|
||||||
Scan and verify messages
|
Enhance auto-address generation for Monero
|
||||||
Synchronization enhancements
|
Bug fixes and enhancements
|
||||||
Bug fixes
|
|
|
@ -1,3 +1,4 @@
|
||||||
Scan and verify messages
|
Enable BIP39 by default for wallet creation also on Bitcoin/Litecoin (Electrum seed type is still accessible through advanced settings page)
|
||||||
Synchronization enhancements
|
Improve fee calculation for Bitcoin to protect against overpaying or underpaying
|
||||||
Bug fixes
|
Enhance auto-address generation for Monero
|
||||||
|
Bug fixes and enhancements
|
|
@ -107,16 +107,9 @@ class ElectrumClient {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onError: (Object error) {
|
onError: (Object error) {
|
||||||
socket = null;
|
|
||||||
final errorMsg = error.toString();
|
final errorMsg = error.toString();
|
||||||
print(errorMsg);
|
print(errorMsg);
|
||||||
unterminatedString = '';
|
unterminatedString = '';
|
||||||
|
|
||||||
final currentHost = socket?.address.host;
|
|
||||||
final isErrorForCurrentHost = errorMsg.contains(" ${currentHost} ");
|
|
||||||
|
|
||||||
if (currentHost != null && isErrorForCurrentHost)
|
|
||||||
_setConnectionStatus(ConnectionStatus.failed);
|
|
||||||
},
|
},
|
||||||
onDone: () {
|
onDone: () {
|
||||||
unterminatedString = '';
|
unterminatedString = '';
|
||||||
|
@ -436,7 +429,6 @@ class ElectrumClient {
|
||||||
{required String id, required String method, List<Object> params = const []}) {
|
{required String id, required String method, List<Object> params = const []}) {
|
||||||
try {
|
try {
|
||||||
if (socket == null) {
|
if (socket == null) {
|
||||||
_setConnectionStatus(ConnectionStatus.failed);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final subscription = BehaviorSubject<T>();
|
final subscription = BehaviorSubject<T>();
|
||||||
|
@ -453,7 +445,6 @@ class ElectrumClient {
|
||||||
Future<dynamic> call(
|
Future<dynamic> call(
|
||||||
{required String method, List<Object> params = const [], Function(int)? idCallback}) async {
|
{required String method, List<Object> params = const [], Function(int)? idCallback}) async {
|
||||||
if (socket == null) {
|
if (socket == null) {
|
||||||
_setConnectionStatus(ConnectionStatus.failed);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final completer = Completer<dynamic>();
|
final completer = Completer<dynamic>();
|
||||||
|
@ -467,10 +458,9 @@ class ElectrumClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<dynamic> callWithTimeout(
|
Future<dynamic> callWithTimeout(
|
||||||
{required String method, List<Object> params = const [], int timeout = 4000}) async {
|
{required String method, List<Object> params = const [], int timeout = 5000}) async {
|
||||||
try {
|
try {
|
||||||
if (socket == null) {
|
if (socket == null) {
|
||||||
_setConnectionStatus(ConnectionStatus.failed);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final completer = Completer<dynamic>();
|
final completer = Completer<dynamic>();
|
||||||
|
|
|
@ -276,7 +276,6 @@ abstract class ElectrumWalletBase
|
||||||
Future<Isolate>? _isolate;
|
Future<Isolate>? _isolate;
|
||||||
|
|
||||||
void Function(FlutterErrorDetails)? _onError;
|
void Function(FlutterErrorDetails)? _onError;
|
||||||
Timer? _reconnectTimer;
|
|
||||||
Timer? _autoSaveTimer;
|
Timer? _autoSaveTimer;
|
||||||
Timer? _updateFeeRateTimer;
|
Timer? _updateFeeRateTimer;
|
||||||
static const int _autoSaveInterval = 1;
|
static const int _autoSaveInterval = 1;
|
||||||
|
@ -429,6 +428,10 @@ abstract class ElectrumWalletBase
|
||||||
@override
|
@override
|
||||||
Future<void> startSync() async {
|
Future<void> startSync() async {
|
||||||
try {
|
try {
|
||||||
|
if (syncStatus is SyncronizingSyncStatus) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
syncStatus = SyncronizingSyncStatus();
|
syncStatus = SyncronizingSyncStatus();
|
||||||
|
|
||||||
if (hasSilentPaymentsScanning) {
|
if (hasSilentPaymentsScanning) {
|
||||||
|
@ -2055,9 +2058,8 @@ abstract class ElectrumWalletBase
|
||||||
|
|
||||||
_isTryingToConnect = true;
|
_isTryingToConnect = true;
|
||||||
|
|
||||||
_reconnectTimer?.cancel();
|
Timer(Duration(seconds: 10), () {
|
||||||
_reconnectTimer = Timer(Duration(seconds: 10), () {
|
if (this.syncStatus is NotConnectedSyncStatus || this.syncStatus is LostConnectionSyncStatus) {
|
||||||
if (this.syncStatus is! SyncedSyncStatus && this.syncStatus is! SyncedTipSyncStatus) {
|
|
||||||
this.electrumClient.connectToUri(
|
this.electrumClient.connectToUri(
|
||||||
node!.uri,
|
node!.uri,
|
||||||
useSSL: node!.useSSL ?? false,
|
useSSL: node!.useSSL ?? false,
|
||||||
|
|
|
@ -13,11 +13,9 @@ import 'package:cw_core/monero_transaction_priority.dart';
|
||||||
import 'package:cw_core/monero_wallet_keys.dart';
|
import 'package:cw_core/monero_wallet_keys.dart';
|
||||||
import 'package:cw_core/monero_wallet_utils.dart';
|
import 'package:cw_core/monero_wallet_utils.dart';
|
||||||
import 'package:cw_core/node.dart';
|
import 'package:cw_core/node.dart';
|
||||||
import 'package:cw_core/pathForWallet.dart';
|
|
||||||
import 'package:cw_core/pending_transaction.dart';
|
import 'package:cw_core/pending_transaction.dart';
|
||||||
import 'package:cw_core/sync_status.dart';
|
import 'package:cw_core/sync_status.dart';
|
||||||
import 'package:cw_core/transaction_direction.dart';
|
import 'package:cw_core/transaction_direction.dart';
|
||||||
import 'package:cw_core/transaction_priority.dart';
|
|
||||||
import 'package:cw_core/unspent_coins_info.dart';
|
import 'package:cw_core/unspent_coins_info.dart';
|
||||||
import 'package:cw_core/wallet_base.dart';
|
import 'package:cw_core/wallet_base.dart';
|
||||||
import 'package:cw_core/wallet_info.dart';
|
import 'package:cw_core/wallet_info.dart';
|
||||||
|
@ -88,7 +86,7 @@ abstract class MoneroWalletBase extends WalletBase<MoneroBalance,
|
||||||
reaction((_) => isEnabledAutoGenerateSubaddress, (bool enabled) {
|
reaction((_) => isEnabledAutoGenerateSubaddress, (bool enabled) {
|
||||||
_updateSubAddress(enabled, account: walletAddresses.account);
|
_updateSubAddress(enabled, account: walletAddresses.account);
|
||||||
});
|
});
|
||||||
reaction((_) => transactionHistory, (__) {
|
_onTxHistoryChangeReaction = reaction((_) => transactionHistory, (__) {
|
||||||
_updateSubAddress(isEnabledAutoGenerateSubaddress, account: walletAddresses.account);
|
_updateSubAddress(isEnabledAutoGenerateSubaddress, account: walletAddresses.account);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,9 @@ void startCheckConnectionReaction(WalletBase wallet, SettingsStore settingsStore
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wallet.syncStatus is LostConnectionSyncStatus || wallet.syncStatus is FailedSyncStatus) {
|
if (wallet.type != WalletType.bitcoin &&
|
||||||
|
(wallet.syncStatus is LostConnectionSyncStatus ||
|
||||||
|
wallet.syncStatus is FailedSyncStatus)) {
|
||||||
final alive = await settingsStore.getCurrentNode(wallet.type).requestNode();
|
final alive = await settingsStore.getCurrentNode(wallet.type).requestNode();
|
||||||
|
|
||||||
if (alive) {
|
if (alive) {
|
||||||
|
|
|
@ -172,7 +172,6 @@ class ExceptionHandler {
|
||||||
"Error while launching http",
|
"Error while launching http",
|
||||||
"OS Error: Network is unreachable",
|
"OS Error: Network is unreachable",
|
||||||
"ClientException: Write failed, uri=http",
|
"ClientException: Write failed, uri=http",
|
||||||
"Connection terminated during handshake",
|
|
||||||
"Corrupted wallets seeds",
|
"Corrupted wallets seeds",
|
||||||
"bad_alloc",
|
"bad_alloc",
|
||||||
"does not correspond",
|
"does not correspond",
|
||||||
|
|
|
@ -15,15 +15,15 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
|
||||||
APP_ANDROID_TYPE=$1
|
APP_ANDROID_TYPE=$1
|
||||||
|
|
||||||
MONERO_COM_NAME="Monero.com"
|
MONERO_COM_NAME="Monero.com"
|
||||||
MONERO_COM_VERSION="1.16.4"
|
MONERO_COM_VERSION="1.16.5"
|
||||||
MONERO_COM_BUILD_NUMBER=98
|
MONERO_COM_BUILD_NUMBER=99
|
||||||
MONERO_COM_BUNDLE_ID="com.monero.app"
|
MONERO_COM_BUNDLE_ID="com.monero.app"
|
||||||
MONERO_COM_PACKAGE="com.monero.app"
|
MONERO_COM_PACKAGE="com.monero.app"
|
||||||
MONERO_COM_SCHEME="monero.com"
|
MONERO_COM_SCHEME="monero.com"
|
||||||
|
|
||||||
CAKEWALLET_NAME="Cake Wallet"
|
CAKEWALLET_NAME="Cake Wallet"
|
||||||
CAKEWALLET_VERSION="4.19.4"
|
CAKEWALLET_VERSION="4.19.5"
|
||||||
CAKEWALLET_BUILD_NUMBER=225
|
CAKEWALLET_BUILD_NUMBER=226
|
||||||
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
|
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
|
||||||
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
|
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
|
||||||
CAKEWALLET_SCHEME="cakewallet"
|
CAKEWALLET_SCHEME="cakewallet"
|
||||||
|
|
|
@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
|
||||||
APP_IOS_TYPE=$1
|
APP_IOS_TYPE=$1
|
||||||
|
|
||||||
MONERO_COM_NAME="Monero.com"
|
MONERO_COM_NAME="Monero.com"
|
||||||
MONERO_COM_VERSION="1.16.4"
|
MONERO_COM_VERSION="1.16.5"
|
||||||
MONERO_COM_BUILD_NUMBER=96
|
MONERO_COM_BUILD_NUMBER=97
|
||||||
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
||||||
|
|
||||||
CAKEWALLET_NAME="Cake Wallet"
|
CAKEWALLET_NAME="Cake Wallet"
|
||||||
CAKEWALLET_VERSION="4.19.4"
|
CAKEWALLET_VERSION="4.19.5"
|
||||||
CAKEWALLET_BUILD_NUMBER=263
|
CAKEWALLET_BUILD_NUMBER=264
|
||||||
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
||||||
|
|
||||||
HAVEN_NAME="Haven"
|
HAVEN_NAME="Haven"
|
||||||
|
|
|
@ -14,8 +14,8 @@ if [ -n "$1" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CAKEWALLET_NAME="Cake Wallet"
|
CAKEWALLET_NAME="Cake Wallet"
|
||||||
CAKEWALLET_VERSION="1.9.4"
|
CAKEWALLET_VERSION="1.9.5"
|
||||||
CAKEWALLET_BUILD_NUMBER=31
|
CAKEWALLET_BUILD_NUMBER=32
|
||||||
|
|
||||||
if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
|
if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
|
||||||
echo "Wrong app type."
|
echo "Wrong app type."
|
||||||
|
|
|
@ -16,13 +16,13 @@ if [ -n "$1" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
MONERO_COM_NAME="Monero.com"
|
MONERO_COM_NAME="Monero.com"
|
||||||
MONERO_COM_VERSION="1.6.4"
|
MONERO_COM_VERSION="1.6.5"
|
||||||
MONERO_COM_BUILD_NUMBER=28
|
MONERO_COM_BUILD_NUMBER=30
|
||||||
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
|
||||||
|
|
||||||
CAKEWALLET_NAME="Cake Wallet"
|
CAKEWALLET_NAME="Cake Wallet"
|
||||||
CAKEWALLET_VERSION="1.12.4"
|
CAKEWALLET_VERSION="1.12.5"
|
||||||
CAKEWALLET_BUILD_NUMBER=85
|
CAKEWALLET_BUILD_NUMBER=86
|
||||||
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
|
||||||
|
|
||||||
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
|
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#define MyAppName "Cake Wallet"
|
#define MyAppName "Cake Wallet"
|
||||||
#define MyAppVersion "0.0.5"
|
#define MyAppVersion "0.0.6"
|
||||||
#define MyAppPublisher "Cake Labs LLC"
|
#define MyAppPublisher "Cake Labs LLC"
|
||||||
#define MyAppURL "https://cakewallet.com/"
|
#define MyAppURL "https://cakewallet.com/"
|
||||||
#define MyAppExeName "CakeWallet.exe"
|
#define MyAppExeName "CakeWallet.exe"
|
||||||
|
|
|
@ -79,7 +79,6 @@ import 'dart:typed_data';
|
||||||
import 'package:bitcoin_base/bitcoin_base.dart';
|
import 'package:bitcoin_base/bitcoin_base.dart';
|
||||||
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
|
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
|
||||||
import 'package:cake_wallet/view_model/send/output.dart';
|
import 'package:cake_wallet/view_model/send/output.dart';
|
||||||
import 'package:cw_bitcoin/electrum_transaction_info.dart';
|
|
||||||
import 'package:cw_core/hardware/hardware_account_data.dart';
|
import 'package:cw_core/hardware/hardware_account_data.dart';
|
||||||
import 'package:cw_core/node.dart';
|
import 'package:cw_core/node.dart';
|
||||||
import 'package:cw_core/output_info.dart';
|
import 'package:cw_core/output_info.dart';
|
||||||
|
@ -102,6 +101,7 @@ import 'package:bip39/bip39.dart' as bip39;
|
||||||
import 'package:cw_bitcoin/utils.dart';
|
import 'package:cw_bitcoin/utils.dart';
|
||||||
import 'package:cw_bitcoin/electrum_derivations.dart';
|
import 'package:cw_bitcoin/electrum_derivations.dart';
|
||||||
import 'package:cw_bitcoin/electrum.dart';
|
import 'package:cw_bitcoin/electrum.dart';
|
||||||
|
import 'package:cw_bitcoin/electrum_transaction_info.dart';
|
||||||
import 'package:cw_bitcoin/pending_bitcoin_transaction.dart';
|
import 'package:cw_bitcoin/pending_bitcoin_transaction.dart';
|
||||||
import 'package:cw_bitcoin/bitcoin_receive_page_option.dart';
|
import 'package:cw_bitcoin/bitcoin_receive_page_option.dart';
|
||||||
import 'package:cw_bitcoin/bitcoin_wallet.dart';
|
import 'package:cw_bitcoin/bitcoin_wallet.dart';
|
||||||
|
|
Loading…
Reference in a new issue