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