await settings migration

OmarHatem committed Jan 8, 2025 at 05:09 UTC 55005f8b39b2b904507253227d1ff1cb7da5d86d
5 files changed +24 -14
lib/entities/default_settings_migration.dart
+20 -10
@@ -70,8 +70,13 @@ Future<void> defaultSettingsMigration(
70
71 await sharedPreferences.setBool(PreferencesKey.isNewInstall, isNewInstall);
72
73 - final currentVersion =
73 + int currentVersion =
74 sharedPreferences.getInt(PreferencesKey.currentDefaultSettingsMigrationVersion) ?? 0;
75 + // TODO: remove after v4.22.1 is live
76 + /// for beta testers who didn't correctly get the 46 step configured
77 + if (currentVersion == 46) {
78 + currentVersion--;
79 + }
80
81 if (currentVersion >= version) {
82 return;
@@ -334,20 +339,20 @@ Future<void> defaultSettingsMigration(
339 );
340 break;
341 case 46:
337 - _fixNodesUseSSLFlag(nodes);
338 - updateWalletTypeNodesWithNewNode(
342 + await _fixNodesUseSSLFlag(nodes);
343 + await updateWalletTypeNodesWithNewNode(
344 newNodeUri: 'litecoin.stackwallet.com:20063',
345 nodes: nodes,
346 type: WalletType.litecoin,
347 useSSL: true,
348 );
344 - updateWalletTypeNodesWithNewNode(
349 + await updateWalletTypeNodesWithNewNode(
350 newNodeUri: 'electrum-ltc.bysh.me:50002',
351 nodes: nodes,
352 type: WalletType.litecoin,
353 useSSL: true,
354 );
350 - _changeDefaultNode(
355 + await _changeDefaultNode(
356 nodes: nodes,
357 sharedPreferences: sharedPreferences,
358 type: WalletType.solana,
@@ -360,13 +365,13 @@ Future<void> defaultSettingsMigration(
365 'solana-rpc.publicnode.com:443',
366 ],
367 );
363 - _updateNode(
368 + await _updateNode(
369 nodes: nodes,
370 currentUri: "ethereum.publicnode.com",
371 newUri: "ethereum-rpc.publicnode.com",
372 useSSL: true,
373 );
369 - _updateNode(
374 + await _updateNode(
375 nodes: nodes,
376 currentUri: "polygon-bor.publicnode.com",
377 newUri: "polygon-bor-rpc.publicnode.com",
@@ -387,13 +392,16 @@ Future<void> defaultSettingsMigration(
392 await sharedPreferences.setInt(PreferencesKey.currentDefaultSettingsMigrationVersion, version);
393 }
394
390 -void _updateNode({
395 +Future<void> _updateNode({
396 required Box<Node> nodes,
397 required String currentUri,
398 String? newUri,
399 bool? useSSL,
395 -}) {
400 +}) async {
401 for (Node node in nodes.values) {
402 + print("@@@@@@@@@@@@@");
403 + print(node.uriRaw);
404 + print(node.uri);
405 if (node.uriRaw == currentUri) {
406 if (newUri != null) {
407 node.uriRaw = newUri;
@@ -401,6 +409,7 @@ void _updateNode({
409 if (useSSL != null) {
410 node.useSSL = useSSL;
411 }
412 + await node.save();
413 }
414 }
415 }
@@ -481,7 +490,7 @@ void _deselectExchangeProvider(SharedPreferences sharedPreferences, String provi
490 );
491 }
492
484 -void _fixNodesUseSSLFlag(Box<Node> nodes) {
493 +Future<void> _fixNodesUseSSLFlag(Box<Node> nodes) async {
494 for (Node node in nodes.values) {
495 switch (node.uriRaw) {
496 case cakeWalletLitecoinElectrumUri:
@@ -490,6 +499,7 @@ void _fixNodesUseSSLFlag(Box<Node> nodes) {
499 case newCakeWalletMoneroUri:
500 node.useSSL = true;
501 node.trusted = true;
502 + await node.save();
503 }
504 }
505 }
scripts/android/app_env.sh
+1 -1
@@ -23,7 +23,7 @@ MONERO_COM_SCHEME="monero.com"
23
24 CAKEWALLET_NAME="Cake Wallet"
25 CAKEWALLET_VERSION="4.22.1"
26 -CAKEWALLET_BUILD_NUMBER=241
26 +CAKEWALLET_BUILD_NUMBER=242
27 CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
28 CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
29 CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+1 -1
@@ -19,7 +19,7 @@ MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20 CAKEWALLET_NAME="Cake Wallet"
21 CAKEWALLET_VERSION="4.22.1"
22 -CAKEWALLET_BUILD_NUMBER=288
22 +CAKEWALLET_BUILD_NUMBER=289
23 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25 HAVEN_NAME="Haven"
scripts/linux/app_env.sh
+1 -1
@@ -15,7 +15,7 @@ fi
15
16 CAKEWALLET_NAME="Cake Wallet"
17 CAKEWALLET_VERSION="1.12.1"
18 -CAKEWALLET_BUILD_NUMBER=42
18 +CAKEWALLET_BUILD_NUMBER=43
19
20 if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
21 echo "Wrong app type."
scripts/macos/app_env.sh
+1 -1
@@ -22,7 +22,7 @@ MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23 CAKEWALLET_NAME="Cake Wallet"
24 CAKEWALLET_VERSION="1.15.1"
25 -CAKEWALLET_BUILD_NUMBER=100
25 +CAKEWALLET_BUILD_NUMBER=101
26 CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28 if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then