Describe the bug
The application accepts SOCKS5 proxy settings for its blockchain backends, saves them to config.toml, reloads them while running but never applies them. A user who sets --proxy 127.0.0.1:9050 expecting wallet sync to go over Tor is connecting directly to the electrum/esplora server, with no warning and no error.
To Reproduce
- Configure a wallet to point at
127.0.0.1:50100 server and a proxy 127.0.0.1:50200
bdk-cli --network testnet wallet --wallet tor config --ext-descriptor "<desc>" --int-descriptor "<desc>" \
--client-type electrum --database-type sqlite --url "tcp://127.0.0.1:50100" --proxy "127.0.0.1:50200"
it saves in config.toml.
- Run a sync:
bdk-cli --network testnet wallet --wallet tor sync and the proxy was not used.
Expected behavior
- With --proxy set, electrum and esplora connection goes through the SOCKS5 proxy, and none is made directly.
- If the proxy is unreachable or does not speak SOCKS5, the sync fails with an error rather than falling back to a direct connection.
- If a backend cannot honour the setting, the app should say so explicitly, either rejecting the option at config time or warning instead of accepting and discarding it.
Build environment
- BDK-CLI tag/commit: v4.0.0 20d69a1 (originally reported against 5b3cb00, v4.0.0)
- OS+version: macOS 26.6.2
- Rust/Cargo version: 1.98.1
- Rust/Cargo target: aarch64-apple-darwin
Additional context
Describe the bug
The application accepts SOCKS5 proxy settings for its blockchain backends, saves them to
config.toml, reloads them while running but never applies them. A user who sets--proxy 127.0.0.1:9050expecting wallet sync to go over Tor is connecting directly to the electrum/esplora server, with no warning and no error.To Reproduce
127.0.0.1:50100server and a proxy127.0.0.1:50200it saves in
config.toml.bdk-cli --network testnet wallet --wallet tor syncand the proxy was not used.Expected behavior
Build environment
Additional context