v4.8.0 and v1.5.0 (#1021)

* Update versions Add Ethereum to MacOS Fix Ethereum config when building Monero.com * Fix Restore from backup issue * Update app build versions Fix minor UI issue

Omar Hatem committed Aug 7, 2023 at 14:43 UTC d1684f5be8e1a11408bc7d179cc6bdcde7178b4e
11 files changed +73 -49
assets/text/Monerocom_Release_Notes.txt
+8 -6
@@ -1,6 +1,8 @@
1 -Improved edit/delete for nodes and wallets
2 -Wallets can now be renamed
3 -Accessibility improvements
4 -Improve Monero wallet rescan
5 -Additional exchange assets: SHIB, AAVE, ARB, BAT, COMP, CRO, ENS, FTM, FRAX, GUSD, GTC, GRT, LDO, NEXO, CAKE, PEPE, STORJ, TUSD, WBTC, WETH, ZRX, DYDX, STETH
6 -Cake Pay is temporarily removed, see https://cakelabs.com/news/cake-pay-mobile-to-shut-down/
\ No newline at end of file
1 +Monero background syncing! See https://guides.cakewallet.com/docs/monero/#background-syncing
2 +Cake 2FA access control settings! See https://guides.cakewallet.com/docs/advanced-features/authentication/#cake-2fa-presets-and-access-control-settings
3 +Support Monero node proxy
4 +UI improvements when sending to Address Book entry
5 +Allow renaming Monero account names
6 +Send templates now support multiple recipients (try using to make Monero change)
7 +Onramper improvements
8 +Scan node QR codes (for Umbrel)
\ No newline at end of file
assets/text/Release_Notes.txt
+9 -7
@@ -1,7 +1,9 @@
1 -Improved edit/delete for nodes and wallets
2 -Wallets can now be renamed
3 -Accessibility improvements
4 -Bitcoin transaction bug fixes
5 -Improve Monero wallet rescan
6 -Additional exchange assets: SHIB, AAVE, ARB, BAT, COMP, CRO, ENS, FTM, FRAX, GUSD, GTC, GRT, LDO, NEXO, CAKE, PEPE, STORJ, TUSD, WBTC, WETH, ZRX, DYDX, STETH
7 -Cake Pay is temporarily removed, see https://cakelabs.com/news/cake-pay-mobile-to-shut-down/
\ No newline at end of file
1 +Ethereum! Store ETH and ERC-20 tokens
2 +Monero background syncing! See https://guides.cakewallet.com/docs/monero/#background-syncing
3 +Cake 2FA access control settings! See https://guides.cakewallet.com/docs/advanced-features/authentication/#cake-2fa-presets-and-access-control-settings
4 +Support Monero node proxy
5 +UI improvements when sending to Address Book entry
6 +Allow renaming Monero/Haven account names
7 +Send templates now support multiple recipients (try using to make Monero change)
8 +Onramper improvements
9 +Scan node QR codes (for Umbrel)
\ No newline at end of file
ios/Podfile.lock
+13 -1
@@ -134,6 +134,8 @@ PODS:
134 - SDWebImage (5.16.0):
135 - SDWebImage/Core (= 5.16.0)
136 - SDWebImage/Core (5.16.0)
137 + - sensitive_clipboard (0.0.1):
138 + - Flutter
139 - share_plus (0.0.1):
140 - Flutter
141 - shared_preferences_foundation (0.0.1):
@@ -150,6 +152,8 @@ PODS:
152 - Flutter
153 - wakelock (0.0.1):
154 - Flutter
155 + - workmanager (0.0.1):
156 + - Flutter
157
158 DEPENDENCIES:
159 - barcode_scan2 (from `.symlinks/plugins/barcode_scan2/ios`)
@@ -173,12 +177,14 @@ DEPENDENCIES:
177 - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
178 - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
179 - platform_device_id (from `.symlinks/plugins/platform_device_id/ios`)
180 + - sensitive_clipboard (from `.symlinks/plugins/sensitive_clipboard/ios`)
181 - share_plus (from `.symlinks/plugins/share_plus/ios`)
182 - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
183 - uni_links (from `.symlinks/plugins/uni_links/ios`)
184 - UnstoppableDomainsResolution (~> 4.0.0)
185 - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
186 - wakelock (from `.symlinks/plugins/wakelock/ios`)
187 + - workmanager (from `.symlinks/plugins/workmanager/ios`)
188
189 SPEC REPOS:
190 https://github.com/CocoaPods/Specs.git:
@@ -235,6 +241,8 @@ EXTERNAL SOURCES:
241 :path: ".symlinks/plugins/permission_handler_apple/ios"
242 platform_device_id:
243 :path: ".symlinks/plugins/platform_device_id/ios"
244 + sensitive_clipboard:
245 + :path: ".symlinks/plugins/sensitive_clipboard/ios"
246 share_plus:
247 :path: ".symlinks/plugins/share_plus/ios"
248 shared_preferences_foundation:
@@ -245,6 +253,8 @@ EXTERNAL SOURCES:
253 :path: ".symlinks/plugins/url_launcher_ios/ios"
254 wakelock:
255 :path: ".symlinks/plugins/wakelock/ios"
256 + workmanager:
257 + :path: ".symlinks/plugins/workmanager/ios"
258
259 SPEC CHECKSUMS:
260 barcode_scan2: 0af2bb63c81b4565aab6cd78278e4c0fa136dbb0
@@ -270,11 +280,12 @@ SPEC CHECKSUMS:
280 MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
281 OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
282 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62
273 - path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8
283 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
284 permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
285 platform_device_id: 81b3e2993881f87d0c82ef151dc274df4869aef5
286 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
287 SDWebImage: 2aea163b50bfcb569a2726b6a754c54a4506fcf6
288 + sensitive_clipboard: d4866e5d176581536c27bb1618642ee83adca986
289 share_plus: 056a1e8ac890df3e33cb503afffaf1e9b4fbae68
290 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
291 SwiftProtobuf: 40bd808372cb8706108f22d28f8ab4a6b9bc6989
@@ -283,6 +294,7 @@ SPEC CHECKSUMS:
294 UnstoppableDomainsResolution: c3c67f4d0a5e2437cb00d4bd50c2e00d6e743841
295 url_launcher_ios: 08a3dfac5fb39e8759aeb0abbd5d9480f30fc8b4
296 wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
297 + workmanager: 0afdcf5628bbde6924c21af7836fed07b42e30e6
298
299 PODFILE CHECKSUM: 09df1114e7c360f55770d35a79356bf5446e0100
300
lib/di.dart
+3 -1
@@ -246,7 +246,9 @@ Future setup({
246 getIt.registerSingletonAsync<SharedPreferences>(() => SharedPreferences.getInstance());
247 }
248
249 - getIt.registerFactory(() => BackgroundTasks());
249 + if (!_isSetupFinished) {
250 + getIt.registerFactory(() => BackgroundTasks());
251 + }
252
253 final isBitcoinBuyEnabled = (secrets.wyreSecretKey.isNotEmpty) &&
254 (secrets.wyreApiKey.isNotEmpty) &&
lib/src/screens/dashboard/dashboard_page.dart
+24 -18
@@ -298,24 +298,7 @@ class _DashboardPageView extends BasePage {
298 }
299 });
300
301 - final sharedPrefs = await SharedPreferences.getInstance();
302 - final currentAppVersion =
303 - VersionComparator.getExtendedVersionNumber(dashboardViewModel.settingsStore.appVersion);
304 - final lastSeenAppVersion = sharedPrefs.getInt(PreferencesKey.lastSeenAppVersion);
305 - final isNewInstall = sharedPrefs.getBool(PreferencesKey.isNewInstall);
306 -
307 - if (currentAppVersion != lastSeenAppVersion && !isNewInstall!) {
308 - await Future<void>.delayed(Duration(seconds: 1));
309 - await showPopUp<void>(
310 - context: context,
311 - builder: (BuildContext context) {
312 - return ReleaseNotesScreen(
313 - title: 'Version ${dashboardViewModel.settingsStore.appVersion}');
314 - });
315 - sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion);
316 - } else if (isNewInstall!) {
317 - sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion);
318 - }
301 + _showReleaseNotesPopup(context);
302
303 var needToPresentYat = false;
304 var isInactive = false;
@@ -341,4 +324,27 @@ class _DashboardPageView extends BasePage {
324 needToPresentYat = true;
325 });
326 }
327 +
328 + void _showReleaseNotesPopup(BuildContext context) async {
329 + final sharedPrefs = await SharedPreferences.getInstance();
330 + final currentAppVersion =
331 + VersionComparator.getExtendedVersionNumber(dashboardViewModel.settingsStore.appVersion);
332 + final lastSeenAppVersion = sharedPrefs.getInt(PreferencesKey.lastSeenAppVersion);
333 + final isNewInstall = sharedPrefs.getBool(PreferencesKey.isNewInstall);
334 +
335 + if (currentAppVersion != lastSeenAppVersion && !isNewInstall!) {
336 + Future<void>.delayed(Duration(seconds: 1), () {
337 + showPopUp<void>(
338 + context: context,
339 + builder: (BuildContext context) {
340 + return ReleaseNotesScreen(
341 + title: 'Version ${dashboardViewModel.settingsStore.appVersion}');
342 + });
343 + });
344 +
345 + sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion);
346 + } else if (isNewInstall!) {
347 + sharedPrefs.setInt(PreferencesKey.lastSeenAppVersion, currentAppVersion);
348 + }
349 + }
350 }
macos/Podfile.lock
+2 -2
@@ -110,13 +110,13 @@ SPEC CHECKSUMS:
110 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
111 in_app_review: a850789fad746e89bce03d4aeee8078b45a53fd0
112 package_info: 6eba2fd8d3371dda2d85c8db6fe97488f24b74b2
113 - path_provider_foundation: eaf5b3e458fc0e5fbb9940fb09980e853fe058b8
113 + path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
114 platform_device_id: 3e414428f45df149bbbfb623e2c0ca27c545b763
115 platform_device_id_macos: f763bb55f088be804d61b96eb4710b8ab6598e94
116 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
117 share_plus_macos: 853ee48e7dce06b633998ca0735d482dd671ade4
118 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
119 - url_launcher_macos: 5335912b679c073563f29d89d33d10d459f95451
119 + url_launcher_macos: d2691c7dd33ed713bf3544850a623080ec693d95
120 wakelock_macos: bc3f2a9bd8d2e6c89fee1e1822e7ddac3bd004a9
121
122 PODFILE CHECKSUM: 5107934592df7813b33d744aebc8ddc6b5a5445f
scripts/android/app_env.sh
+4 -4
@@ -14,14 +14,14 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
14 APP_ANDROID_TYPE=$1
15
16 MONERO_COM_NAME="Monero.com"
17 -MONERO_COM_VERSION="1.4.0"
18 -MONERO_COM_BUILD_NUMBER=52
17 +MONERO_COM_VERSION="1.5.0"
18 +MONERO_COM_BUILD_NUMBER=54
19 MONERO_COM_BUNDLE_ID="com.monero.app"
20 MONERO_COM_PACKAGE="com.monero.app"
21
22 CAKEWALLET_NAME="Cake Wallet"
23 -CAKEWALLET_VERSION="4.7.0"
24 -CAKEWALLET_BUILD_NUMBER=162
23 +CAKEWALLET_VERSION="4.8.0"
24 +CAKEWALLET_BUILD_NUMBER=167
25 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
26 CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
27
scripts/ios/app_env.sh
+4 -4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13 APP_IOS_TYPE=$1
14
15 MONERO_COM_NAME="Monero.com"
16 -MONERO_COM_VERSION="1.4.0"
17 -MONERO_COM_BUILD_NUMBER=50
16 +MONERO_COM_VERSION="1.5.0"
17 +MONERO_COM_BUILD_NUMBER=52
18 MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20 CAKEWALLET_NAME="Cake Wallet"
21 -CAKEWALLET_VERSION="4.7.0"
22 -CAKEWALLET_BUILD_NUMBER=165
21 +CAKEWALLET_VERSION="4.8.0"
22 +CAKEWALLET_BUILD_NUMBER=175
23 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25 HAVEN_NAME="Haven"
scripts/macos/app_config.sh
+1 -1
@@ -23,7 +23,7 @@ CONFIG_ARGS=""
23
24 case $APP_MACOS_TYPE in
25 $CAKEWALLET)
26 - CONFIG_ARGS="--monero --bitcoin";; #--haven
26 + CONFIG_ARGS="--monero --bitcoin --ethereum";; #--haven
27 esac
28
29 cp -rf pubspec_description.yaml pubspec.yaml
scripts/macos/app_env.sh
+2 -2
@@ -15,8 +15,8 @@ if [ -n "$1" ]; then
15 fi
16
17 CAKEWALLET_NAME="Cake Wallet"
18 -CAKEWALLET_VERSION="1.0.7"
19 -CAKEWALLET_BUILD_NUMBER=26
18 +CAKEWALLET_VERSION="1.1.0"
19 +CAKEWALLET_BUILD_NUMBER=28
20 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
21
22 if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
tool/configure.dart
+3 -3
@@ -477,8 +477,6 @@ Future<void> generateEthereum(bool hasImplementation) async {
477
478 final outputFile = File(ethereumOutputPath);
479 const ethereumCommonHeaders = """
480 -""";
481 - const ethereumCWHeaders = """
480 import 'package:cake_wallet/view_model/send/output.dart';
481 import 'package:cw_core/crypto_amount_format.dart';
482 import 'package:cw_core/crypto_currency.dart';
@@ -490,6 +488,9 @@ import 'package:cw_core/wallet_base.dart';
488 import 'package:cw_core/wallet_credentials.dart';
489 import 'package:cw_core/wallet_info.dart';
490 import 'package:cw_core/wallet_service.dart';
491 +import 'package:hive/hive.dart';
492 +""";
493 + const ethereumCWHeaders = """
494 import 'package:cw_ethereum/ethereum_formatter.dart';
495 import 'package:cw_ethereum/ethereum_mnemonics.dart';
496 import 'package:cw_ethereum/ethereum_transaction_credentials.dart';
@@ -498,7 +499,6 @@ import 'package:cw_ethereum/ethereum_wallet.dart';
499 import 'package:cw_ethereum/ethereum_wallet_creation_credentials.dart';
500 import 'package:cw_ethereum/ethereum_wallet_service.dart';
501 import 'package:cw_ethereum/ethereum_transaction_priority.dart';
501 -import 'package:hive/hive.dart';
502 """;
503 const ethereumCwPart = "part 'cw_ethereum.dart';";
504 const ethereumContent = """