From ce12f517f40ce8ffd21681e96b5ac3a5a222d11d Mon Sep 17 00:00:00 2001 From: Omar Hatem Date: Sat, 12 Apr 2025 03:23:41 +0200 Subject: [PATCH] v4.26.0 Release Candidate (#2191) * v4.26.0 Release Candidate * Fix Wownero Creation issue * Add KES fiat currency --- assets/text/Monerocom_Release_Notes.txt | 7 ++- assets/text/Release_Notes.txt | 8 +-- lib/entities/fiat_currency.dart | 54 +++++++++++++++++-- .../screens/new_wallet/new_wallet_page.dart | 14 +++-- lib/view_model/wallet_new_vm.dart | 2 +- scripts/android/app_env.sh | 8 +-- scripts/ios/app_env.sh | 8 +-- scripts/linux/app_env.sh | 4 +- scripts/macos/app_env.sh | 8 +-- scripts/windows/build_exe_installer.iss | 2 +- 10 files changed, 84 insertions(+), 31 deletions(-) diff --git a/assets/text/Monerocom_Release_Notes.txt b/assets/text/Monerocom_Release_Notes.txt index 1b2cc3a6d..0ac065a4f 100644 --- a/assets/text/Monerocom_Release_Notes.txt +++ b/assets/text/Monerocom_Release_Notes.txt @@ -1,3 +1,6 @@ -UI/UX enhancements -Performance improvements +Monero 12-word seed support (Wallet Groups support as well) +Integrate DFX's OpenCryptoPay +Exchange flow enhancements +Hardware Wallets flow enhancements +Minor UI enhancements Bug fixes \ No newline at end of file diff --git a/assets/text/Release_Notes.txt b/assets/text/Release_Notes.txt index 00a65ff57..0ac065a4f 100644 --- a/assets/text/Release_Notes.txt +++ b/assets/text/Release_Notes.txt @@ -1,4 +1,6 @@ -New App Logo -UI/UX enhancements -Performance improvements +Monero 12-word seed support (Wallet Groups support as well) +Integrate DFX's OpenCryptoPay +Exchange flow enhancements +Hardware Wallets flow enhancements +Minor UI enhancements Bug fixes \ No newline at end of file diff --git a/lib/entities/fiat_currency.dart b/lib/entities/fiat_currency.dart index cf1112096..402c928b9 100644 --- a/lib/entities/fiat_currency.dart +++ b/lib/entities/fiat_currency.dart @@ -9,8 +9,50 @@ class FiatCurrency extends EnumerableItem with Serializable impl static List get all => _all.values.toList(); - static List get currenciesAvailableToBuyWith => - [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,]; + static List get currenciesAvailableToBuyWith => [ + 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, + kes, + ]; static const amd = FiatCurrency(symbol: 'AMD', countryCode: "arm", fullName: "Armenian Dram"); static const ars = FiatCurrency(symbol: 'ARS', countryCode: "arg", fullName: "Argentine Peso"); @@ -62,6 +104,7 @@ class FiatCurrency extends EnumerableItem with Serializable impl static const vnd = FiatCurrency(symbol: 'VND', countryCode: "vnm", fullName: "Vietnamese Dong đồng"); static const zar = FiatCurrency(symbol: 'ZAR', countryCode: "saf", fullName: "South African Rand"); static const tur = FiatCurrency(symbol: 'TRY', countryCode: "tur", fullName: "Turkish Lira"); + static const kes = FiatCurrency(symbol: 'KES', countryCode: "ken", fullName: "Kenyan Shillings"); static final _all = { FiatCurrency.amd.raw: FiatCurrency.amd, @@ -114,6 +157,7 @@ class FiatCurrency extends EnumerableItem with Serializable impl FiatCurrency.vnd.raw: FiatCurrency.vnd, FiatCurrency.zar.raw: FiatCurrency.zar, FiatCurrency.tur.raw: FiatCurrency.tur, + FiatCurrency.kes.raw: FiatCurrency.kes, }; static FiatCurrency deserialize({required String raw}) => _all[raw] ?? FiatCurrency.usd; @@ -123,13 +167,13 @@ class FiatCurrency extends EnumerableItem with Serializable impl @override int get hashCode => raw.hashCode ^ title.hashCode; - + @override String get name => raw; - + @override String? get tag => null; @override - String get iconPath => "assets/images/flags/$countryCode.png"; + String get iconPath => "assets/images/flags/$countryCode.png"; } diff --git a/lib/src/screens/new_wallet/new_wallet_page.dart b/lib/src/screens/new_wallet/new_wallet_page.dart index 83c14cd56..044c52349 100644 --- a/lib/src/screens/new_wallet/new_wallet_page.dart +++ b/lib/src/screens/new_wallet/new_wallet_page.dart @@ -21,6 +21,7 @@ import 'package:cake_wallet/utils/responsive_layout_util.dart'; import 'package:cake_wallet/utils/show_pop_up.dart'; import 'package:cake_wallet/view_model/seed_settings_view_model.dart'; import 'package:cake_wallet/view_model/wallet_new_vm.dart'; +import 'package:cw_core/wallet_type.dart'; import 'package:flutter/material.dart'; import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:mobx/mobx.dart'; @@ -102,8 +103,8 @@ class _WalletNameFormState extends State { _stateReaction ??= reaction((_) => _walletNewVM.state, (ExecutionState state) async { if (state is ExecutedSuccessfullyState) { if (widget.isChildWallet) { - Navigator.of(navigatorKey.currentContext ?? context) - .pushNamed(Routes.walletGroupExistingSeedDescriptionPage, + Navigator.of(navigatorKey.currentContext ?? context).pushNamed( + Routes.walletGroupExistingSeedDescriptionPage, arguments: _walletNewVM.seedPhraseWordsLength); } else { Navigator.of(navigatorKey.currentContext ?? context) @@ -317,7 +318,11 @@ class _WalletNameFormState extends State { await showPopUp( context: context, builder: (_) => Picker( - items: MoneroSeedType.all, + items: MoneroSeedType.all + .where((e) => // exclude bip39 in case of Wownero + widget._walletNewVM.type != WalletType.wownero || + e.raw != MoneroSeedType.bip39.raw) + .toList(), selectedAtIndex: isPolyseed ? 1 : 0, onItemSelected: _setSeedType, isSeparated: false, @@ -402,8 +407,7 @@ class _WalletNameFormState extends State { await _walletNewVM.create( options: _walletNewVM.hasLanguageSelector ? [ - _languageSelectorKey.currentState?.selected ?? - defaultSeedLanguage, + _languageSelectorKey.currentState?.selected ?? defaultSeedLanguage, widget._seedSettingsViewModel.moneroSeedType ] : null); diff --git a/lib/view_model/wallet_new_vm.dart b/lib/view_model/wallet_new_vm.dart index 7b4b7e788..1987a37d2 100644 --- a/lib/view_model/wallet_new_vm.dart +++ b/lib/view_model/wallet_new_vm.dart @@ -161,7 +161,7 @@ abstract class WalletNewVMBase extends WalletCreationVM with Store { return wownero!.createWowneroNewWalletCredentials( name: name, language: options!.first as String, - isPolyseed: options.last as bool, + isPolyseed: (options.last as MoneroSeedType).raw == 1, password: walletPassword, passphrase: passphrase, ); diff --git a/scripts/android/app_env.sh b/scripts/android/app_env.sh index 321db113d..435d74b72 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="4.25.0" -MONERO_COM_BUILD_NUMBER=118 +MONERO_COM_VERSION="4.26.0" +MONERO_COM_BUILD_NUMBER=119 MONERO_COM_BUNDLE_ID="com.monero.app" MONERO_COM_PACKAGE="com.monero.app" MONERO_COM_SCHEME="monero.com" CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="4.25.0" -CAKEWALLET_BUILD_NUMBER=256 +CAKEWALLET_VERSION="4.26.0" +CAKEWALLET_BUILD_NUMBER=257 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 5c0003612..bb6cf2753 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="4.25.0" -MONERO_COM_BUILD_NUMBER=115 +MONERO_COM_VERSION="4.26.0" +MONERO_COM_BUILD_NUMBER=116 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="4.25.0" -CAKEWALLET_BUILD_NUMBER=310 +CAKEWALLET_VERSION="4.26.0" +CAKEWALLET_BUILD_NUMBER=311 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet" diff --git a/scripts/linux/app_env.sh b/scripts/linux/app_env.sh index 0ef31d6bb..574cce2c9 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="4.25.0" -CAKEWALLET_BUILD_NUMBER=51 +CAKEWALLET_VERSION="4.26.0" +CAKEWALLET_BUILD_NUMBER=52 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 fa45b76d4..9a3b95f89 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="4.25.0" -MONERO_COM_BUILD_NUMBER=47 +MONERO_COM_VERSION="4.26.0" +MONERO_COM_BUILD_NUMBER=48 MONERO_COM_BUNDLE_ID="com.cakewallet.monero" CAKEWALLET_NAME="Cake Wallet" -CAKEWALLET_VERSION="4.25.0" -CAKEWALLET_BUILD_NUMBER=109 +CAKEWALLET_VERSION="4.26.0" +CAKEWALLET_BUILD_NUMBER=110 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 0d757b8e5..1f152f635 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 "4.25.0" +#define MyAppVersion "4.26.0" #define MyAppPublisher "Cake Labs LLC" #define MyAppURL "https://cakewallet.com/" #define MyAppExeName "CakeWallet.exe"