From e6385b8084f190a5322ddc30cfac5f95d0eda107 Mon Sep 17 00:00:00 2001 From: Omar Hatem Date: Sun, 24 Aug 2025 23:06:01 +0300 Subject: [PATCH] Add doge coin to pay anything feature (#2481) Fix cakepay token issue --- lib/cake_pay/src/services/cake_pay_service.dart | 8 ++++---- lib/core/address_validator.dart | 2 ++ lib/core/universal_address_detector.dart | 14 +++++++++++--- scripts/android/app_env.sh | 4 ++-- scripts/ios/app_env.sh | 4 ++-- 5 files changed, 21 insertions(+), 11 deletions(-) diff --git a/lib/cake_pay/src/services/cake_pay_service.dart b/lib/cake_pay/src/services/cake_pay_service.dart index 51a910d05..d6f6c826c 100644 --- a/lib/cake_pay/src/services/cake_pay_service.dart +++ b/lib/cake_pay/src/services/cake_pay_service.dart @@ -3,14 +3,14 @@ import 'package:cake_wallet/cake_pay/src/services/cake_pay_api.dart'; import 'package:cake_wallet/cake_pay/src/models/cake_pay_order.dart'; import 'package:cake_wallet/cake_pay/src/models/cake_pay_vendor.dart'; import 'package:cake_wallet/core/secure_storage.dart'; -import 'package:cake_wallet/entities/country.dart'; class CakePayService { CakePayService(this.secureStorage, this.cakePayApi); - static const cakePayEmailStorageKey = 'cake_pay_email'; - static const cakePayUsernameStorageKey = 'cake_pay_username'; - static const cakePayUserTokenKey = 'cake_pay_user_token'; + /// `_v2` was added to log out users so they can login using the new backend + static const cakePayEmailStorageKey = 'cake_pay_email_v2'; + static const cakePayUsernameStorageKey = 'cake_pay_username_v2'; + static const cakePayUserTokenKey = 'cake_pay_user_token_v2'; static String get testCakePayApiKey => secrets.testCakePayApiKey; diff --git a/lib/core/address_validator.dart b/lib/core/address_validator.dart index 044741ce1..a18f2feac 100644 --- a/lib/core/address_validator.dart +++ b/lib/core/address_validator.dart @@ -157,6 +157,8 @@ class AddressValidator extends TextValidator { pattern = '(lnbc|LNBC)([0-9]{1,}[a-zA-Z0-9]+)'; case CryptoCurrency.zano: pattern = r'([1-9A-HJ-NP-Za-km-z]{90,200})|(@[\w\d.-]+)'; + case CryptoCurrency.doge: + pattern = r'^D[a-km-zA-HJ-NP-Z1-9]{25,34}'; default: return ''; } diff --git a/lib/core/universal_address_detector.dart b/lib/core/universal_address_detector.dart index 88bdbafff..40c64cd16 100644 --- a/lib/core/universal_address_detector.dart +++ b/lib/core/universal_address_detector.dart @@ -194,11 +194,19 @@ class UniversalAddressDetector { currency: CryptoCurrency.ltc, ), - // Solana (Base58 format, 32-44 chars) + // Dogecoin P2PKH _DetectionPattern( - pattern: RegExp(r'^[1-9A-HJ-NP-Za-km-z]{32,44}$'), - currency: CryptoCurrency.sol, + pattern: RegExp(r'^D[a-km-zA-HJ-NP-Z1-9]{25,34}$'), + currency: CryptoCurrency.doge, ), + + // TODO: commented out until a better approach is implemented. + // as this will consider most addresses to be a valid Solana address + // Solana (Base58 format, 32-44 chars) + // _DetectionPattern( + // pattern: RegExp(r'^[1-9A-HJ-NP-Za-km-z]{32,44}$'), + // currency: CryptoCurrency.sol, + // ), ]; // Test each pattern in order of specificity diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh index fc2b2cb9f..e5d36a679 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.3.0" -MONERO_COM_BUILD_NUMBER=132 +MONERO_COM_BUILD_NUMBER=133 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.3.0" -CAKEWALLET_BUILD_NUMBER=273 +CAKEWALLET_BUILD_NUMBER=274 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 f6a82a606..1962644aa 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.3.0" -MONERO_COM_BUILD_NUMBER=133 +MONERO_COM_BUILD_NUMBER=135 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" CAKEWALLET_VERSION="5.3.0" -CAKEWALLET_BUILD_NUMBER=332 +CAKEWALLET_BUILD_NUMBER=334 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"