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