Remove node.moneroworld.com (#1667)

* Remove node.moneroworld.com from default nodes and apply settings migration * Small fix

tuxsudo committed Sep 5, 2024 at 10:32 UTC 580bd013457e40719f07ff22838467c02a1562d8
3 files changed +25 -13
assets/node_list.yml
-3
@@ -17,6 +17,3 @@
17 -
18 uri: node.community.rino.io:18081
19 is_default: false
20 --
21 - uri: node.moneroworld.com:18089
22 - is_default: false
lib/entities/default_settings_migration.dart
+24 -9
@@ -40,6 +40,7 @@ const solanaDefaultNodeUri = 'rpc.ankr.com';
40 const tronDefaultNodeUri = 'trx.nownodes.io';
41 const newCakeWalletBitcoinUri = 'btc-electrum.cakewallet.com:50002';
42 const wowneroDefaultNodeUri = 'node3.monerodevs.org:34568';
43 +const moneroWorldNodeUri = '.moneroworld.com';
44
45 Future<void> defaultSettingsMigration(
46 {required int version,
@@ -245,6 +246,9 @@ Future<void> defaultSettingsMigration(
246 _fixNodesUseSSLFlag(nodes);
247 await changeDefaultNanoNode(nodes, sharedPreferences);
248 break;
249 + case 40:
250 + await removeMoneroWorld(sharedPreferences: sharedPreferences, nodes: nodes);
251 + break;
252 default:
253 break;
254 }
@@ -488,15 +492,7 @@ Node? getBitcoinCashDefaultElectrumServer({required Box<Node> nodes}) {
492
493 Node getMoneroDefaultNode({required Box<Node> nodes}) {
494 final timeZone = DateTime.now().timeZoneOffset.inHours;
491 - var nodeUri = '';
492 -
493 - if (timeZone >= 1) {
494 - // Eurasia
495 - nodeUri = 'xmr-node-eu.cakewallet.com:18081';
496 - } else if (timeZone <= -4) {
497 - // America
498 - nodeUri = 'xmr-node-usa-east.cakewallet.com:18081';
499 - }
495 + var nodeUri = newCakeWalletMoneroUri;
496
497 try {
498 return nodes.values.firstWhere((Node node) => node.uriRaw == nodeUri);
@@ -1260,3 +1256,22 @@ Future<void> replaceTronDefaultNode({
1256 // If it's not, we switch user to the new default node: NowNodes
1257 await changeTronCurrentNodeToDefault(sharedPreferences: sharedPreferences, nodes: nodes);
1258 }
1259 +
1260 +Future<void> removeMoneroWorld(
1261 + {required SharedPreferences sharedPreferences, required Box<Node> nodes}) async {
1262 + const cakeWalletMoneroNodeUriPattern = '.moneroworld.com';
1263 + final currentMoneroNodeId = sharedPreferences.getInt(PreferencesKey.currentNodeIdKey);
1264 + final currentMoneroNode = nodes.values.firstWhere((node) => node.key == currentMoneroNodeId);
1265 + final needToReplaceCurrentMoneroNode = currentMoneroNode.uri.toString().contains(cakeWalletMoneroNodeUriPattern);
1266 +
1267 + nodes.values.forEach((node) async {
1268 + if (node.type == WalletType.monero &&
1269 + node.uri.toString().contains(cakeWalletMoneroNodeUriPattern)) {
1270 + await node.delete();
1271 + }
1272 + });
1273 +
1274 + if (needToReplaceCurrentMoneroNode) {
1275 + await changeMoneroCurrentNodeToDefault(sharedPreferences: sharedPreferences, nodes: nodes);
1276 + }
1277 +}
lib/main.dart
+1 -1
@@ -186,7 +186,7 @@ Future<void> initializeAppConfigs() async {
186 transactionDescriptions: transactionDescriptions,
187 secureStorage: secureStorage,
188 anonpayInvoiceInfo: anonpayInvoiceInfo,
189 - initialMigrationVersion: 39,
189 + initialMigrationVersion: 40,
190 );
191 }
192