Skip to content

Commit f35699a

Browse files
Handle keyring specific errors in keyring.rs
1 parent 9d78b43 commit f35699a

2 files changed

Lines changed: 18 additions & 13 deletions

File tree

cmd/soroban-cli/src/config/locator.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -302,19 +302,10 @@ impl Args {
302302

303303
if let Key::Secret(Secret::SecureStore { entry_name }) = identity {
304304
let entry = StellarEntry::new(&entry_name)?;
305-
match entry.delete_seed_phrase() {
306-
Ok(()) => {}
307-
Err(e) => match e {
308-
signer::keyring::Error::Keyring(keyring::Error::NoEntry) => {
309-
print.infoln("This key was already removed from the secure store. Removing the cli config file.");
310-
}
311-
_ => {
312-
return Err(Error::Keyring(e));
313-
}
314-
},
315-
}
305+
entry.delete_seed_phrase(&print)?;
316306
}
317307

308+
print.infoln("Removing the key's cli config file");
318309
KeyType::Identity.remove(name, &self.config_dir()?)
319310
}
320311

cmd/soroban-cli/src/signer/keyring.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,23 @@ impl StellarEntry {
6666
return Err(Error::FeatureNotEnabled);
6767
}
6868

69-
pub fn delete_seed_phrase(&self) -> Result<(), Error> {
69+
pub fn delete_seed_phrase(&self, print: &Print) -> Result<(), Error> {
7070
#[cfg(feature = "additional-libs")]
71-
return Ok(self.keyring.delete_credential()?);
71+
{
72+
return match self.keyring.delete_credential() {
73+
Ok(()) => Ok(()),
74+
Err(e) => match e {
75+
keyring::Error::NoEntry => {
76+
print.infoln("This key was already removed from the secure store.");
77+
Ok(())
78+
}
79+
_ => {
80+
Err(Error::Keyring(e.into()))
81+
}
82+
}
83+
84+
}
85+
}
7286

7387
return Err(Error::FeatureNotEnabled);
7488
}

0 commit comments

Comments
 (0)