From 4c2695a6b565f6f62b3f83f9cb001cd2c47f59b3 Mon Sep 17 00:00:00 2001 From: OmarHatem Date: Wed, 12 Nov 2025 22:59:55 +0100 Subject: [PATCH 1/4] v5.6.0 Early RC - EVM enhancements and fee corrections - Auto node switching enhancements - Pay anything enhancements - Sync bar ETA enhancements - Solana fixes --- scripts/android/app_env.sh | 8 ++++---- scripts/ios/app_env.sh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh index 21bf2c1e99..4060d03e79 100644 --- a/scripts/android/app_env.sh +++ b/scripts/android/app_env.sh @@ -14,15 +14,15 @@ TYPES=($MONERO_COM $CAKEWALLET) APP_ANDROID_TYPE=$1 MONERO_COM_NAME="Monero.com" -MONERO_COM_VERSION="5.5.1" -MONERO_COM_BUILD_NUMBER=4140 +MONERO_COM_VERSION="5.6.0" +MONERO_COM_BUILD_NUMBER=4141 MONERO_COM_BUNDLE_ID="com.monero.app" MONERO_COM_PACKAGE="com.monero.app" MONERO_COM_SCHEME="monero.com" CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="5.5.2" -CAKEWALLET_BUILD_NUMBER=4284 +CAKEWALLET_VERSION="5.6.0" +CAKEWALLET_BUILD_NUMBER=4285 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet" CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet" CAKEWALLET_SCHEME="cakewallet" diff --git a/scripts/ios/app_env.sh b/scripts/ios/app_env.sh index 83bd5c3f9f..ac08710c29 100644 --- a/scripts/ios/app_env.sh +++ b/scripts/ios/app_env.sh @@ -12,13 +12,13 @@ TYPES=($MONERO_COM $CAKEWALLET) APP_IOS_TYPE=$1 MONERO_COM_NAME="Monero.com" -MONERO_COM_VERSION="5.5.1" -MONERO_COM_BUILD_NUMBER=142 +MONERO_COM_VERSION="5.6.0" +MONERO_COM_BUILD_NUMBER=143 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="5.5.2" -CAKEWALLET_BUILD_NUMBER=345 +CAKEWALLET_VERSION="5.6.0" +CAKEWALLET_BUILD_NUMBER=346 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet" From aea35c7cae1a915f9d29d3662b5aaa8bce96c781 Mon Sep 17 00:00:00 2001 From: OmarHatem Date: Mon, 24 Nov 2025 23:33:14 +0100 Subject: [PATCH 2/4] prevent multiple creation of wallets by spam tapping the button --- assets/text/Monerocom_Release_Notes.txt | 7 +++++-- assets/text/Release_Notes.txt | 9 +++++++++ lib/view_model/wallet_creation_vm.dart | 4 ++++ scripts/android/app_env.sh | 4 ++-- scripts/ios/app_env.sh | 4 ++-- scripts/linux/app_env.sh | 4 ++-- scripts/macos/app_env.sh | 8 ++++---- scripts/windows/build_exe_installer.iss | 2 +- 8 files changed, 29 insertions(+), 13 deletions(-) diff --git a/assets/text/Monerocom_Release_Notes.txt b/assets/text/Monerocom_Release_Notes.txt index c23b060a50..978e605de1 100644 --- a/assets/text/Monerocom_Release_Notes.txt +++ b/assets/text/Monerocom_Release_Notes.txt @@ -1,3 +1,6 @@ -Enhance Trezor support -Add Swaps.xyz Decentralized Exchange +Improve wallets performance +Improvements for AnyPay +Better automatic node switching +New navbar/tab navigation +Add Dark and tintable app icons Bug fixes \ No newline at end of file diff --git a/assets/text/Release_Notes.txt b/assets/text/Release_Notes.txt index 6772685089..7352819b81 100644 --- a/assets/text/Release_Notes.txt +++ b/assets/text/Release_Notes.txt @@ -1 +1,10 @@ +Improve wallets performance +Litecoin and MWEB support in Cupcake +Ethereum and EVM chains enhancements +Improved EVM fee estimation +Improvements for AnyPay +Better automatic node switching +New navbar/tab navigation +WalletConnect enhancements +Add Dark and tintable app icons Bug fixes \ No newline at end of file diff --git a/lib/view_model/wallet_creation_vm.dart b/lib/view_model/wallet_creation_vm.dart index a8b71b9753..eb07026a85 100644 --- a/lib/view_model/wallet_creation_vm.dart +++ b/lib/view_model/wallet_creation_vm.dart @@ -67,6 +67,10 @@ abstract class WalletCreationVMBase with Store { Future create({dynamic options}) async { final type = this.type; try { + if (state is IsExecutingState) { + return; + } + state = IsExecutingState(); if (name.isEmpty) { name = await generateName(); diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh index 4060d03e79..dae628c539 100644 --- a/scripts/android/app_env.sh +++ b/scripts/android/app_env.sh @@ -15,14 +15,14 @@ APP_ANDROID_TYPE=$1 MONERO_COM_NAME="Monero.com" MONERO_COM_VERSION="5.6.0" -MONERO_COM_BUILD_NUMBER=4141 +MONERO_COM_BUILD_NUMBER=4142 MONERO_COM_BUNDLE_ID="com.monero.app" MONERO_COM_PACKAGE="com.monero.app" MONERO_COM_SCHEME="monero.com" CAKEWALLET_NAME="Cake Wallet" CAKEWALLET_VERSION="5.6.0" -CAKEWALLET_BUILD_NUMBER=4285 +CAKEWALLET_BUILD_NUMBER=4286 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet" CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet" CAKEWALLET_SCHEME="cakewallet" diff --git a/scripts/ios/app_env.sh b/scripts/ios/app_env.sh index ac08710c29..75319dd2b3 100644 --- a/scripts/ios/app_env.sh +++ b/scripts/ios/app_env.sh @@ -13,12 +13,12 @@ APP_IOS_TYPE=$1 MONERO_COM_NAME="Monero.com" MONERO_COM_VERSION="5.6.0" -MONERO_COM_BUILD_NUMBER=143 +MONERO_COM_BUILD_NUMBER=144 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" CAKEWALLET_VERSION="5.6.0" -CAKEWALLET_BUILD_NUMBER=346 +CAKEWALLET_BUILD_NUMBER=348 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet" diff --git a/scripts/linux/app_env.sh b/scripts/linux/app_env.sh index ba8dc0bbf0..255cdedccc 100755 --- a/scripts/linux/app_env.sh +++ b/scripts/linux/app_env.sh @@ -14,8 +14,8 @@ if [ -n "$1" ]; then fi CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="5.5.2" -CAKEWALLET_BUILD_NUMBER=72 +CAKEWALLET_VERSION="5.6.0" +CAKEWALLET_BUILD_NUMBER=73 if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then echo "Wrong app type." diff --git a/scripts/macos/app_env.sh b/scripts/macos/app_env.sh index 46c09542fc..516766ae62 100755 --- a/scripts/macos/app_env.sh +++ b/scripts/macos/app_env.sh @@ -16,13 +16,13 @@ if [ -n "$1" ]; then fi MONERO_COM_NAME="Monero.com" -MONERO_COM_VERSION="5.5.1" -MONERO_COM_BUILD_NUMBER=69 +MONERO_COM_VERSION="5.6.0" +MONERO_COM_BUILD_NUMBER=70 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="5.5.2" -CAKEWALLET_BUILD_NUMBER=136 +CAKEWALLET_VERSION="5.6.0" +CAKEWALLET_BUILD_NUMBER=137 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet" if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then diff --git a/scripts/windows/build_exe_installer.iss b/scripts/windows/build_exe_installer.iss index 4e6c12ae77..b57ae96bdf 100644 --- a/scripts/windows/build_exe_installer.iss +++ b/scripts/windows/build_exe_installer.iss @@ -1,5 +1,5 @@ #define MyAppName "Cake Wallet" -#define MyAppVersion "5.5.2" +#define MyAppVersion "5.6.0" #define MyAppPublisher "Cake Labs LLC" #define MyAppURL "https://cakewallet.com/" #define MyAppExeName "CakeWallet.exe" From 04fd5b6f47bd32c27f0075be810864bd1e762aa1 Mon Sep 17 00:00:00 2001 From: OmarHatem Date: Tue, 25 Nov 2025 00:17:07 +0100 Subject: [PATCH 3/4] Last RC :3 Improve wallets performance Litecoin and MWEB support in Cupcake Ethereum and EVM chains enhancements Improved EVM fee estimation Improvements for AnyPay Better automatic node switching New navbar/tab navigation WalletConnect enhancements Add Dark and tintable app icons Bug fixes --- scripts/ios/app_env.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/ios/app_env.sh b/scripts/ios/app_env.sh index 75319dd2b3..348dd51acd 100644 --- a/scripts/ios/app_env.sh +++ b/scripts/ios/app_env.sh @@ -13,12 +13,12 @@ APP_IOS_TYPE=$1 MONERO_COM_NAME="Monero.com" MONERO_COM_VERSION="5.6.0" -MONERO_COM_BUILD_NUMBER=144 +MONERO_COM_BUILD_NUMBER=145 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" CAKEWALLET_VERSION="5.6.0" -CAKEWALLET_BUILD_NUMBER=348 +CAKEWALLET_BUILD_NUMBER=349 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet" From 40a60bfb6d40eec649f475abae75e45b9fce882e Mon Sep 17 00:00:00 2001 From: cyan Date: Tue, 25 Nov 2025 18:13:00 -0300 Subject: [PATCH 4/4] fix: properly prevent create function from being called multiple times at once (#2679) --- lib/view_model/wallet_creation_vm.dart | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/view_model/wallet_creation_vm.dart b/lib/view_model/wallet_creation_vm.dart index eb07026a85..60918051c4 100644 --- a/lib/view_model/wallet_creation_vm.dart +++ b/lib/view_model/wallet_creation_vm.dart @@ -64,12 +64,23 @@ abstract class WalletCreationVMBase with Store { Future typeExists(WalletType type) => walletCreationService.typeExists(type); + bool _isCreating = false; Future create({dynamic options}) async { - final type = this.type; try { - if (state is IsExecutingState) { + if (_isCreating) { + printV("not creating because we don't feel like doing so"); return; } + _isCreating = true; + await _create(options: options); + } finally { + _isCreating = false; + } + } + + Future _create({dynamic options}) async { + final type = this.type; + try { state = IsExecutingState(); if (name.isEmpty) {