Add doge coin to pay anything feature (#2481)

Fix cakepay token issue

Omar Hatem committed Aug 24, 2025 at 23:06 UTC e6385b8084f190a5322ddc30cfac5f95d0eda107
5 files changed +21 -11
lib/cake_pay/src/services/cake_pay_service.dart
+4 -4
@@ -3,14 +3,14 @@ import 'package:cake_wallet/cake_pay/src/services/cake_pay_api.dart';
3 import 'package:cake_wallet/cake_pay/src/models/cake_pay_order.dart';
4 import 'package:cake_wallet/cake_pay/src/models/cake_pay_vendor.dart';
5 import 'package:cake_wallet/core/secure_storage.dart';
6 -import 'package:cake_wallet/entities/country.dart';
6
7 class CakePayService {
8 CakePayService(this.secureStorage, this.cakePayApi);
9
11 - static const cakePayEmailStorageKey = 'cake_pay_email';
12 - static const cakePayUsernameStorageKey = 'cake_pay_username';
13 - static const cakePayUserTokenKey = 'cake_pay_user_token';
10 + /// `_v2` was added to log out users so they can login using the new backend
11 + static const cakePayEmailStorageKey = 'cake_pay_email_v2';
12 + static const cakePayUsernameStorageKey = 'cake_pay_username_v2';
13 + static const cakePayUserTokenKey = 'cake_pay_user_token_v2';
14
15 static String get testCakePayApiKey => secrets.testCakePayApiKey;
16
lib/core/address_validator.dart
+2
@@ -157,6 +157,8 @@ class AddressValidator extends TextValidator {
157 pattern = '(lnbc|LNBC)([0-9]{1,}[a-zA-Z0-9]+)';
158 case CryptoCurrency.zano:
159 pattern = r'([1-9A-HJ-NP-Za-km-z]{90,200})|(@[\w\d.-]+)';
160 + case CryptoCurrency.doge:
161 + pattern = r'^D[a-km-zA-HJ-NP-Z1-9]{25,34}';
162 default:
163 return '';
164 }
lib/core/universal_address_detector.dart
+11 -3
@@ -194,11 +194,19 @@ class UniversalAddressDetector {
194 currency: CryptoCurrency.ltc,
195 ),
196
197 - // Solana (Base58 format, 32-44 chars)
197 + // Dogecoin P2PKH
198 _DetectionPattern(
199 - pattern: RegExp(r'^[1-9A-HJ-NP-Za-km-z]{32,44}$'),
200 - currency: CryptoCurrency.sol,
199 + pattern: RegExp(r'^D[a-km-zA-HJ-NP-Z1-9]{25,34}$'),
200 + currency: CryptoCurrency.doge,
201 ),
202 +
203 + // TODO: commented out until a better approach is implemented.
204 + // as this will consider most addresses to be a valid Solana address
205 + // Solana (Base58 format, 32-44 chars)
206 + // _DetectionPattern(
207 + // pattern: RegExp(r'^[1-9A-HJ-NP-Za-km-z]{32,44}$'),
208 + // currency: CryptoCurrency.sol,
209 + // ),
210 ];
211
212 // Test each pattern in order of specificity
scripts/android/app_env.sh
+2 -2
@@ -15,14 +15,14 @@ APP_ANDROID_TYPE=$1
15
16 MONERO_COM_NAME="Monero.com"
17 MONERO_COM_VERSION="5.3.0"
18 -MONERO_COM_BUILD_NUMBER=132
18 +MONERO_COM_BUILD_NUMBER=133
19 MONERO_COM_BUNDLE_ID="com.monero.app"
20 MONERO_COM_PACKAGE="com.monero.app"
21 MONERO_COM_SCHEME="monero.com"
22
23 CAKEWALLET_NAME="Cake Wallet"
24 CAKEWALLET_VERSION="5.3.0"
25 -CAKEWALLET_BUILD_NUMBER=273
25 +CAKEWALLET_BUILD_NUMBER=274
26 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
27 CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
28 CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+2 -2
@@ -13,12 +13,12 @@ APP_IOS_TYPE=$1
13
14 MONERO_COM_NAME="Monero.com"
15 MONERO_COM_VERSION="5.3.0"
16 -MONERO_COM_BUILD_NUMBER=133
16 +MONERO_COM_BUILD_NUMBER=135
17 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
18
19 CAKEWALLET_NAME="Cake Wallet"
20 CAKEWALLET_VERSION="5.3.0"
21 -CAKEWALLET_BUILD_NUMBER=332
21 +CAKEWALLET_BUILD_NUMBER=334
22 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
23
24