Add onion node to already existing users

OmarHatem committed Nov 30, 2022 at 01:37 UTC 59ee7aa975750ba17071916d4bd71c2a8cb19543
2 files changed +17 -7
lib/entities/default_settings_migration.dart
+16 -6
@@ -135,19 +135,29 @@ Future defaultSettingsMigration(
135 await changeDefaultHavenNode(nodes);
136 break;
137
138 + case 18:
139 + await addOnionNode(nodes);
140 + break;
141 +
142 default:
143 break;
144 }
145
146 await sharedPreferences.setInt(
143 - 'current_default_settings_migration_version', version);
147 + PreferencesKey.currentDefaultSettingsMigrationVersion, version);
148 } catch (e) {
149 print('Migration error: ${e.toString()}');
150 }
151 });
152
153 await sharedPreferences.setInt(
150 - 'current_default_settings_migration_version', version);
154 + PreferencesKey.currentDefaultSettingsMigrationVersion, version);
155 +}
156 +
157 +Future<void> addOnionNode(Box<Node> nodes) async {
158 + final onionNodeUri = "cakexmrl7bonq7ovjka5kuwuyd3f7qnkz6z6s6dmsy3uckwra7bvggyd.onion:18081";
159 +
160 + await nodes.add(Node(uri: onionNodeUri, type: WalletType.monero));
161 }
162
163 Future<void> replaceNodesMigration({required Box<Node> nodes}) async {
@@ -178,7 +188,7 @@ Future<void> changeMoneroCurrentNodeToDefault(
188 final node = getMoneroDefaultNode(nodes: nodes);
189 final nodeId = node?.key as int ?? 0; // 0 - England
190
181 - await sharedPreferences.setInt('current_node_id', nodeId);
191 + await sharedPreferences.setInt(PreferencesKey.currentNodeIdKey, nodeId);
192 }
193
194 Node? getBitcoinDefaultElectrumServer({required Box<Node> nodes}) {
@@ -225,7 +235,7 @@ Future<void> changeBitcoinCurrentElectrumServerToDefault(
235 final server = getBitcoinDefaultElectrumServer(nodes: nodes);
236 final serverId = server?.key as int ?? 0;
237
228 - await sharedPreferences.setInt('current_node_id_btc', serverId);
238 + await sharedPreferences.setInt(PreferencesKey.currentBitcoinElectrumSererIdKey, serverId);
239 }
240
241 Future<void> changeLitecoinCurrentElectrumServerToDefault(
@@ -234,7 +244,7 @@ Future<void> changeLitecoinCurrentElectrumServerToDefault(
244 final server = getLitecoinDefaultElectrumServer(nodes: nodes);
245 final serverId = server?.key as int ?? 0;
246
237 - await sharedPreferences.setInt('current_node_id_ltc', serverId);
247 + await sharedPreferences.setInt(PreferencesKey.currentLitecoinElectrumSererIdKey, serverId);
248 }
249
250 Future<void> changeHavenCurrentNodeToDefault(
@@ -254,7 +264,7 @@ Future<void> replaceDefaultNode(
264 'eu-node.cakewallet.io:18081',
265 'node.cakewallet.io:18081'
266 ];
257 - final currentNodeId = sharedPreferences.getInt('current_node_id');
267 + final currentNodeId = sharedPreferences.getInt(PreferencesKey.currentNodeIdKey);
268 final currentNode =
269 nodes.values.firstWhereOrNull((Node node) => node.key == currentNodeId);
270 final needToReplace =
lib/main.dart
+1 -1
@@ -128,7 +128,7 @@ Future<void> main() async {
128 exchangeTemplates: exchangeTemplates,
129 transactionDescriptions: transactionDescriptions,
130 secureStorage: secureStorage,
131 - initialMigrationVersion: 17);
131 + initialMigrationVersion: 18);
132 runApp(App());
133 } catch (e, stacktrace) {
134 runApp(MaterialApp(