From 5a7eaff17ba895418b368deaa74f8ed1b4ac26e7 Mon Sep 17 00:00:00 2001 From: edouard Date: Fri, 16 Dec 2022 18:59:45 +0100 Subject: [PATCH] fix hws: ledger dongle must load wallet --- gui/src/hw.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/gui/src/hw.rs b/gui/src/hw.rs index feb1a78c..ddca12d2 100644 --- a/gui/src/hw.rs +++ b/gui/src/hw.rs @@ -110,8 +110,26 @@ pub async fn list_hardware_wallets( } } match ledger::Ledger::try_connect_hid() { - Ok(device) => match HardwareWallet::new(Arc::new(device)).await { - Ok(hw) => hws.push(hw), + Ok(mut device) => match device.get_master_fingerprint().await { + Ok(fingerprint) => { + if let Some((name, descriptor)) = wallet { + device + .load_wallet( + name, + descriptor, + cfg.iter() + .find(|cfg| cfg.fingerprint == fingerprint.to_string()) + .map(|cfg| cfg.token()), + ) + .expect("Configuration must be correct"); + } + + hws.push(HardwareWallet { + kind: device.device_kind(), + fingerprint, + device: Arc::new(device), + }); + } Err(e) => { debug!("{}", e); }