What changed, and why it matters
This commit is a release-candidate version bump for Cake Wallet/Monero.com v5.6.0. The only functional code change is a guard added to the wallet-creation screen to stop the create button from being triggered multiple times if a user taps it rapidly. The rest of the diff updates release notes and build version numbers. The repeated-creation guard fixes a minor reliability/UX bug, but it is not a clear-cut security vulnerability on its own.
Treat as a routine release-candidate merge. The duplicate-creation guard is a defensive hardening improvement; no immediate security response is required based on this diff alone. If duplicate wallet creation had previously caused data corruption or account-state issues, review related bug reports and consider regression testing the wallet-creation flow.
Security signals we found
UI race-condition guard added (duplicate wallet creation prevention)
No cryptographic, network, or storage changes observed
No explicit security claim in commit message or release notes
No CVE, advisory, or researcher attribution present in supplied materials
Evidence from the diff
The Dart change in lib/view_model/wallet_creation_vm.dart wraps the existing _create() logic with a boolean flag _isCreating. If create() is called while a creation is already in progress, it returns early. The flag is reset in a finally block. This prevents concurrent or duplicate wallet creation from rapid UI taps. No input validation, cryptographic, or storage changes are present. The remaining files are release notes and shell/Inno Setup version strings bumping the app to 5.6.0.
Changed components
lib/view_model/wallet_creation_vm.dartWallet creation UI flowInspect captured patch +44 / −17
diff --git a/assets/text/Monerocom_Release_Notes.txt b/assets/text/Monerocom_Release_Notes.txt
index c23b060a..978e605d 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 67726850..7352819b 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 a8b71b97..60918051 100644
--- a/lib/view_model/wallet_creation_vm.dart
+++ b/lib/view_model/wallet_creation_vm.dart
@@ -64,9 +64,24 @@ abstract class WalletCreationVMBase with Store {
Future<bool> typeExists(WalletType type) => walletCreationService.typeExists(type);
+ bool _isCreating = false;
Future<void> create({dynamic options}) async {
+ try {
+ if (_isCreating) {
+ printV("not creating because we don't feel like doing so");
+ return;
+ }
+ _isCreating = true;
+ await _create(options: options);
+ } finally {
+ _isCreating = false;
+ }
+ }
+
+ Future<void> _create({dynamic options}) async {
final type = this.type;
try {
+
state = IsExecutingState();
if (name.isEmpty) {
name = await generateName();
diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh
index 21bf2c1e..dae628c5 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=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.5.2"
-CAKEWALLET_BUILD_NUMBER=4284
+CAKEWALLET_VERSION="5.6.0"
+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 83bd5c3f..348dd51a 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=145
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=349
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
diff --git a/scripts/linux/app_env.sh b/scripts/linux/app_env.sh
index ba8dc0bb..255cdedc 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 46c09542..516766ae 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 4e6c12ae..b57ae96b 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"
Why this scored 27/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.