]> Untitled Git - bdk-cli/commitdiff
Apply SOCKS5 config and other minor changes
authorcodeShark149 <rajarshi149@gmail.com>
Sun, 16 May 2021 10:55:26 +0000 (16:25 +0530)
committercodeShark149 <rajarshi149@gmail.com>
Sat, 22 May 2021 16:37:51 +0000 (22:07 +0530)
src/bdk_cli.rs

index 242c8cdcfdb52bc75646250815412cd1a83c5c19..45b5bfc9686ce4130b1655fdb03a5f4f8b21991b 100644 (file)
@@ -79,7 +79,11 @@ fn prepare_home_dir() -> PathBuf {
         fs::create_dir(&dir).unwrap();
     }
 
+    #[cfg(not(feature = "compact_filters"))]
     dir.push("database.sled");
+
+    #[cfg(feature = "compact_filters")]
+    dir.push("compact_filters");
     dir
 }
 
@@ -120,31 +124,36 @@ where
     });
 
     #[cfg(feature = "compact_filters")]
-    let compact_filter_config: Option<AnyBlockchainConfig> = {
+    let config_compact_filters: Option<AnyBlockchainConfig> = {
         let peerconfig = BitcoinPeerConfig {
             address: wallet_opts.compactfilter_opts.address.clone(),
-            socks5: None,
-            socks5_credentials: None,
+            socks5: wallet_opts.compactfilter_opts.proxy.clone(),
+            socks5_credentials: match (
+                wallet_opts.compactfilter_opts.user.clone(),
+                wallet_opts.compactfilter_opts.passwd.clone(),
+            ) {
+                (Some(user), Some(passwd)) => Some((user, passwd)),
+                _ => None,
+            },
         };
 
         Some(AnyBlockchainConfig::CompactFilters(
             CompactFiltersBlockchainConfig {
                 peers: vec![peerconfig],
                 network,
-                storage_dir: wallet_opts.wallet.clone(),
-                skip_blocks: wallet_opts.compactfilter_opts.skip_blocks,
+                storage_dir: prepare_home_dir().into_os_string().into_string().unwrap(),
+                skip_blocks: Some(wallet_opts.compactfilter_opts.skip_blocks),
             },
         ))
     };
 
     #[cfg(not(feature = "compact_filters"))]
-    let compact_filter_config = None;
+    let config_compact_filters = None;
 
     // Fall back to Electrum config if Esplora or Compact Filter config isn't provided
-    let config = config_esplora.unwrap_or_else(|| match compact_filter_config {
-        Some(config) => config,
-        None => config_electrum,
-    });
+    let config = config_esplora
+        .or(config_compact_filters)
+        .unwrap_or(config_electrum);
 
     let descriptor = wallet_opts.descriptor.as_str();
     let change_descriptor = wallet_opts.change_descriptor.as_deref();