v4.26.0 Release Candidate (#2191)
* v4.26.0 Release Candidate * Fix Wownero Creation issue * Add KES fiat currency
Omar Hatem committed
Apr 12, 2025 at 03:23 UTC
ce12f517f40ce8ffd21681e96b5ac3a5a222d11d
10 files changed
+84
-31
assets/text/Monerocom_Release_Notes.txt
+5
-2
@@ -1,3 +1,6 @@
1
-UI/UX enhancements
2
-Performance improvements
1
+Monero 12-word seed support (Wallet Groups support as well)
2
+Integrate DFX's OpenCryptoPay
3
+Exchange flow enhancements
4
+Hardware Wallets flow enhancements
5
+Minor UI enhancements
6
Bug fixes
\ No newline at end of file
assets/text/Release_Notes.txt
+5
-3
@@ -1,4 +1,6 @@
1
-New App Logo
2
-UI/UX enhancements
3
-Performance improvements
1
+Monero 12-word seed support (Wallet Groups support as well)
2
+Integrate DFX's OpenCryptoPay
3
+Exchange flow enhancements
4
+Hardware Wallets flow enhancements
5
+Minor UI enhancements
6
Bug fixes
\ No newline at end of file
lib/entities/fiat_currency.dart
+49
-5
@@ -9,8 +9,50 @@ class FiatCurrency extends EnumerableItem<String> with Serializable<String> impl
9
10
static List<FiatCurrency> get all => _all.values.toList();
11
12
- static List<FiatCurrency> get currenciesAvailableToBuyWith =>
13
- [amd, aud, bgn, brl, cad, chf, clp, cop, czk, dkk, egp, eur, gbp, gtq, hkd, hrk, huf, idr, ils, inr, isk, jpy, krw, mad, mxn, myr, ngn, nok, nzd, php, pkr, pln, ron, sek, sgd, thb, twd, usd, vnd, zar, tur,];
12
+ static List<FiatCurrency> get currenciesAvailableToBuyWith => [
13
+ amd,
14
+ aud,
15
+ bgn,
16
+ brl,
17
+ cad,
18
+ chf,
19
+ clp,
20
+ cop,
21
+ czk,
22
+ dkk,
23
+ egp,
24
+ eur,
25
+ gbp,
26
+ gtq,
27
+ hkd,
28
+ hrk,
29
+ huf,
30
+ idr,
31
+ ils,
32
+ inr,
33
+ isk,
34
+ jpy,
35
+ krw,
36
+ mad,
37
+ mxn,
38
+ myr,
39
+ ngn,
40
+ nok,
41
+ nzd,
42
+ php,
43
+ pkr,
44
+ pln,
45
+ ron,
46
+ sek,
47
+ sgd,
48
+ thb,
49
+ twd,
50
+ usd,
51
+ vnd,
52
+ zar,
53
+ tur,
54
+ kes,
55
+ ];
56
57
static const amd = FiatCurrency(symbol: 'AMD', countryCode: "arm", fullName: "Armenian Dram");
58
static const ars = FiatCurrency(symbol: 'ARS', countryCode: "arg", fullName: "Argentine Peso");
@@ -62,6 +104,7 @@ class FiatCurrency extends EnumerableItem<String> with Serializable<String> impl
104
static const vnd = FiatCurrency(symbol: 'VND', countryCode: "vnm", fullName: "Vietnamese Dong đồng");
105
static const zar = FiatCurrency(symbol: 'ZAR', countryCode: "saf", fullName: "South African Rand");
106
static const tur = FiatCurrency(symbol: 'TRY', countryCode: "tur", fullName: "Turkish Lira");
107
+ static const kes = FiatCurrency(symbol: 'KES', countryCode: "ken", fullName: "Kenyan Shillings");
108
109
static final _all = {
110
FiatCurrency.amd.raw: FiatCurrency.amd,
@@ -114,6 +157,7 @@ class FiatCurrency extends EnumerableItem<String> with Serializable<String> impl
157
FiatCurrency.vnd.raw: FiatCurrency.vnd,
158
FiatCurrency.zar.raw: FiatCurrency.zar,
159
FiatCurrency.tur.raw: FiatCurrency.tur,
160
+ FiatCurrency.kes.raw: FiatCurrency.kes,
161
};
162
163
static FiatCurrency deserialize({required String raw}) => _all[raw] ?? FiatCurrency.usd;
@@ -123,13 +167,13 @@ class FiatCurrency extends EnumerableItem<String> with Serializable<String> impl
167
168
@override
169
int get hashCode => raw.hashCode ^ title.hashCode;
126
-
170
+
171
@override
172
String get name => raw;
129
-
173
+
174
@override
175
String? get tag => null;
176
177
@override
134
- String get iconPath => "assets/images/flags/$countryCode.png";
178
+ String get iconPath => "assets/images/flags/$countryCode.png";
179
}
lib/src/screens/new_wallet/new_wallet_page.dart
+9
-5
@@ -21,6 +21,7 @@ import 'package:cake_wallet/utils/responsive_layout_util.dart';
21
import 'package:cake_wallet/utils/show_pop_up.dart';
22
import 'package:cake_wallet/view_model/seed_settings_view_model.dart';
23
import 'package:cake_wallet/view_model/wallet_new_vm.dart';
24
+import 'package:cw_core/wallet_type.dart';
25
import 'package:flutter/material.dart';
26
import 'package:flutter_mobx/flutter_mobx.dart';
27
import 'package:mobx/mobx.dart';
@@ -102,8 +103,8 @@ class _WalletNameFormState extends State<WalletNameForm> {
103
_stateReaction ??= reaction((_) => _walletNewVM.state, (ExecutionState state) async {
104
if (state is ExecutedSuccessfullyState) {
105
if (widget.isChildWallet) {
105
- Navigator.of(navigatorKey.currentContext ?? context)
106
- .pushNamed(Routes.walletGroupExistingSeedDescriptionPage,
106
+ Navigator.of(navigatorKey.currentContext ?? context).pushNamed(
107
+ Routes.walletGroupExistingSeedDescriptionPage,
108
arguments: _walletNewVM.seedPhraseWordsLength);
109
} else {
110
Navigator.of(navigatorKey.currentContext ?? context)
@@ -317,7 +318,11 @@ class _WalletNameFormState extends State<WalletNameForm> {
318
await showPopUp<void>(
319
context: context,
320
builder: (_) => Picker(
320
- items: MoneroSeedType.all,
321
+ items: MoneroSeedType.all
322
+ .where((e) => // exclude bip39 in case of Wownero
323
+ widget._walletNewVM.type != WalletType.wownero ||
324
+ e.raw != MoneroSeedType.bip39.raw)
325
+ .toList(),
326
selectedAtIndex: isPolyseed ? 1 : 0,
327
onItemSelected: _setSeedType,
328
isSeparated: false,
@@ -402,8 +407,7 @@ class _WalletNameFormState extends State<WalletNameForm> {
407
await _walletNewVM.create(
408
options: _walletNewVM.hasLanguageSelector
409
? [
405
- _languageSelectorKey.currentState?.selected ??
406
- defaultSeedLanguage,
410
+ _languageSelectorKey.currentState?.selected ?? defaultSeedLanguage,
411
widget._seedSettingsViewModel.moneroSeedType
412
]
413
: null);
lib/view_model/wallet_new_vm.dart
+1
-1
@@ -161,7 +161,7 @@ abstract class WalletNewVMBase extends WalletCreationVM with Store {
161
return wownero!.createWowneroNewWalletCredentials(
162
name: name,
163
language: options!.first as String,
164
- isPolyseed: options.last as bool,
164
+ isPolyseed: (options.last as MoneroSeedType).raw == 1,
165
password: walletPassword,
166
passphrase: passphrase,
167
);
scripts/android/app_env.sh
+4
-4
@@ -14,15 +14,15 @@ TYPES=($MONERO_COM $CAKEWALLET)
14
APP_ANDROID_TYPE=$1
15
16
MONERO_COM_NAME="Monero.com"
17
-MONERO_COM_VERSION="4.25.0"
18
-MONERO_COM_BUILD_NUMBER=118
17
+MONERO_COM_VERSION="4.26.0"
18
+MONERO_COM_BUILD_NUMBER=119
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="4.25.0"
25
-CAKEWALLET_BUILD_NUMBER=256
24
+CAKEWALLET_VERSION="4.26.0"
25
+CAKEWALLET_BUILD_NUMBER=257
26
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
27
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
28
CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+4
-4
@@ -12,13 +12,13 @@ TYPES=($MONERO_COM $CAKEWALLET)
12
APP_IOS_TYPE=$1
13
14
MONERO_COM_NAME="Monero.com"
15
-MONERO_COM_VERSION="4.25.0"
16
-MONERO_COM_BUILD_NUMBER=115
15
+MONERO_COM_VERSION="4.26.0"
16
+MONERO_COM_BUILD_NUMBER=116
17
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
18
19
CAKEWALLET_NAME="Cake Wallet"
20
-CAKEWALLET_VERSION="4.25.0"
21
-CAKEWALLET_BUILD_NUMBER=310
20
+CAKEWALLET_VERSION="4.26.0"
21
+CAKEWALLET_BUILD_NUMBER=311
22
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
23
24
scripts/linux/app_env.sh
+2
-2
@@ -14,8 +14,8 @@ if [ -n "$1" ]; then
14
fi
15
16
CAKEWALLET_NAME="Cake Wallet"
17
-CAKEWALLET_VERSION="4.25.0"
18
-CAKEWALLET_BUILD_NUMBER=51
17
+CAKEWALLET_VERSION="4.26.0"
18
+CAKEWALLET_BUILD_NUMBER=52
19
20
if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
21
echo "Wrong app type."
scripts/macos/app_env.sh
+4
-4
@@ -16,13 +16,13 @@ if [ -n "$1" ]; then
16
fi
17
18
MONERO_COM_NAME="Monero.com"
19
-MONERO_COM_VERSION="4.25.0"
20
-MONERO_COM_BUILD_NUMBER=47
19
+MONERO_COM_VERSION="4.26.0"
20
+MONERO_COM_BUILD_NUMBER=48
21
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23
CAKEWALLET_NAME="Cake Wallet"
24
-CAKEWALLET_VERSION="4.25.0"
25
-CAKEWALLET_BUILD_NUMBER=109
24
+CAKEWALLET_VERSION="4.26.0"
25
+CAKEWALLET_BUILD_NUMBER=110
26
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
scripts/windows/build_exe_installer.iss
+1
-1
@@ -1,5 +1,5 @@
1
#define MyAppName "Cake Wallet"
2
-#define MyAppVersion "4.25.0"
2
+#define MyAppVersion "4.26.0"
3
#define MyAppPublisher "Cake Labs LLC"
4
#define MyAppURL "https://cakewallet.com/"
5
#define MyAppExeName "CakeWallet.exe"