diff --git a/lib/models/exchange/exchange_form_state.dart b/lib/models/exchange/exchange_form_state.dart
index 2e237dd1c..62509f7bb 100644
--- a/lib/models/exchange/exchange_form_state.dart
+++ b/lib/models/exchange/exchange_form_state.dart
@@ -276,6 +276,12 @@ class ExchangeFormState extends ChangeNotifier {
 
   void _onExchangeRateTypeChanged() {
     print("_onExchangeRateTypeChanged");
+    updateRanges(shouldNotifyListeners: true).then(
+      (_) => updateEstimate(
+        shouldNotifyListeners: true,
+        reversed: reversed,
+      ),
+    );
   }
 
   void _onExchangeTypeChanged() {
diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart
index 0edc110be..76e74fa14 100644
--- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart
+++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/restore_options_view.dart
@@ -144,6 +144,8 @@ class _RestoreOptionsViewState extends ConsumerState<RestoreOptionsView> {
 
   Future<void> chooseDate() async {
     final height = MediaQuery.of(context).size.height;
+    final fetchedColor =
+        Theme.of(context).extension<StackColors>()!.accentColorDark;
     // check and hide keyboard
     if (FocusScope.of(context).hasFocus) {
       FocusScope.of(context).unfocus();
@@ -155,8 +157,7 @@ class _RestoreOptionsViewState extends ConsumerState<RestoreOptionsView> {
       initialDate: DateTime.now(),
       height: height * 0.5,
       theme: ThemeData(
-        primarySwatch: Util.createMaterialColor(
-            Theme.of(context).extension<StackColors>()!.accentColorDark),
+        primarySwatch: Util.createMaterialColor(fetchedColor),
       ),
       //TODO pick a better initial date
       // 2007 chosen as that is just before bitcoin launched
@@ -272,6 +273,7 @@ class _RestoreOptionsViewState extends ConsumerState<RestoreOptionsView> {
                 // if (!isDesktop)
                 RestoreFromDatePicker(
                   onTap: chooseDate,
+                  controller: _dateController,
                 ),
 
               // if (isDesktop)
diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart
index 8a24e95bb..e5637cfc6 100644
--- a/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart
+++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_options_view/sub_widgets/restore_from_date_picker.dart
@@ -5,10 +5,14 @@ import 'package:stackwallet/utilities/text_styles.dart';
 import 'package:stackwallet/utilities/theme/stack_colors.dart';
 
 class RestoreFromDatePicker extends StatefulWidget {
-  const RestoreFromDatePicker({Key? key, required this.onTap})
-      : super(key: key);
+  const RestoreFromDatePicker({
+    Key? key,
+    required this.onTap,
+    required this.controller,
+  }) : super(key: key);
 
   final VoidCallback onTap;
+  final TextEditingController controller;
 
   @override
   State<RestoreFromDatePicker> createState() => _RestoreFromDatePickerState();
@@ -21,17 +25,11 @@ class _RestoreFromDatePickerState extends State<RestoreFromDatePicker> {
   @override
   void initState() {
     onTap = widget.onTap;
-    _dateController = TextEditingController();
+    _dateController = widget.controller;
 
     super.initState();
   }
 
-  @override
-  void dispose() {
-    _dateController.dispose();
-    super.dispose();
-  }
-
   @override
   Widget build(BuildContext context) {
     return Container(
diff --git a/lib/services/node_service.dart b/lib/services/node_service.dart
index 06c8c40ea..5b9fe5063 100644
--- a/lib/services/node_service.dart
+++ b/lib/services/node_service.dart
@@ -39,6 +39,19 @@ class NodeService extends ChangeNotifier {
             key: savedNode.id,
             value: defaultNode.copyWith(enabled: savedNode.enabled));
       }
+
+      // check if a default node is the primary node for the crypto currency
+      // and update it if needed
+      final coin = coinFromPrettyName(defaultNode.coinName);
+      final primaryNode = getPrimaryNodeFor(coin: coin);
+      if (primaryNode != null && primaryNode.id == defaultNode.id) {
+        await setPrimaryNodeFor(
+          coin: coin,
+          node: defaultNode.copyWith(
+            enabled: primaryNode.enabled,
+          ),
+        );
+      }
     }
   }
 
diff --git a/lib/utilities/default_nodes.dart b/lib/utilities/default_nodes.dart
index b09787d33..566b829ce 100644
--- a/lib/utilities/default_nodes.dart
+++ b/lib/utilities/default_nodes.dart
@@ -70,28 +70,24 @@ abstract class DefaultNodes {
         isDown: false,
       );
 
-  // TODO: eventually enable ssl and set scheme to https
-  // currently get certificate failure
   static NodeModel get monero => NodeModel(
-        host: "http://monero.stackwallet.com",
+        host: "https://monero.stackwallet.com",
         port: 18081,
         name: defaultName,
         id: _nodeId(Coin.monero),
-        useSSL: false,
+        useSSL: true,
         enabled: true,
         coinName: Coin.monero.name,
         isFailover: true,
         isDown: false,
       );
 
-  // TODO: eventually enable ssl and set scheme to https
-  // currently get certificate failure
   static NodeModel get wownero => NodeModel(
-        host: "http://eu-west-2.wow.xmr.pm",
+        host: "https://wownero.stackwallet.com",
         port: 34568,
         name: defaultName,
         id: _nodeId(Coin.wownero),
-        useSSL: false,
+        useSSL: true,
         enabled: true,
         coinName: Coin.wownero.name,
         isFailover: true,
diff --git a/lib/utilities/enums/coin_enum.dart b/lib/utilities/enums/coin_enum.dart
index 78a04e220..c25a5ca4e 100644
--- a/lib/utilities/enums/coin_enum.dart
+++ b/lib/utilities/enums/coin_enum.dart
@@ -181,25 +181,32 @@ Coin coinFromPrettyName(String name) {
     case "Bitcoin":
     case "bitcoin":
       return Coin.bitcoin;
+
     case "Bitcoincash":
     case "bitcoincash":
     case "Bitcoin Cash":
       return Coin.bitcoincash;
+
     case "Dogecoin":
     case "dogecoin":
       return Coin.dogecoin;
+
     case "Epic Cash":
     case "epicCash":
       return Coin.epicCash;
+
     case "Firo":
     case "firo":
       return Coin.firo;
+
     case "Monero":
     case "monero":
       return Coin.monero;
+
     case "Namecoin":
     case "namecoin":
       return Coin.namecoin;
+
     case "Bitcoin Testnet":
     case "tBitcoin":
     case "bitcoinTestNet":
@@ -208,19 +215,24 @@ Coin coinFromPrettyName(String name) {
     case "Bitcoincash Testnet":
     case "tBitcoin Cash":
     case "Bitcoin Cash Testnet":
+    case "bitcoincashTestnet":
       return Coin.bitcoincashTestnet;
+
     case "Firo Testnet":
     case "tFiro":
     case "firoTestNet":
       return Coin.firoTestNet;
+
     case "Dogecoin Testnet":
     case "tDogecoin":
     case "dogecoinTestNet":
       return Coin.dogecoinTestNet;
+
     case "Wownero":
     case "tWownero":
     case "wownero":
       return Coin.wownero;
+
     default:
       throw ArgumentError.value(
           name, "name", "No Coin enum value with that prettyName");
diff --git a/lib/widgets/node_options_sheet.dart b/lib/widgets/node_options_sheet.dart
index 58a5bf30a..effe97097 100644
--- a/lib/widgets/node_options_sheet.dart
+++ b/lib/widgets/node_options_sheet.dart
@@ -306,10 +306,10 @@ class NodeOptionsSheet extends ConsumerWidget {
                         style: status == "Connected"
                             ? Theme.of(context)
                                 .extension<StackColors>()!
-                                .getPrimaryEnabledButtonColor(context)
+                                .getPrimaryDisabledButtonColor(context)
                             : Theme.of(context)
                                 .extension<StackColors>()!
-                                .getPrimaryDisabledButtonColor(context),
+                                .getPrimaryEnabledButtonColor(context),
                         onPressed: status == "Connected"
                             ? null
                             : () async {