aboutsummaryrefslogtreecommitdiffstats
path: root/crates/atuin-client/src/login.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-client/src/login.rs')
-rw-r--r--crates/atuin-client/src/login.rs26
1 files changed, 9 insertions, 17 deletions
diff --git a/crates/atuin-client/src/login.rs b/crates/atuin-client/src/login.rs
index ab265928..d72d1c09 100644
--- a/crates/atuin-client/src/login.rs
+++ b/crates/atuin-client/src/login.rs
@@ -23,24 +23,16 @@ pub async fn login(
let key = match bip39::Mnemonic::from_phrase(&key, bip39::Language::English) {
Ok(mnemonic) => encode_key(Key::from_slice(mnemonic.entropy()))?,
Err(err) => {
- match err.downcast_ref::<bip39::ErrorKind>() {
- Some(err) => {
- match err {
- // assume they copied in the base64 key
- bip39::ErrorKind::InvalidWord => key,
- bip39::ErrorKind::InvalidChecksum => {
- bail!("key mnemonic was not valid")
- }
- bip39::ErrorKind::InvalidKeysize(_)
- | bip39::ErrorKind::InvalidWordLength(_)
- | bip39::ErrorKind::InvalidEntropyLength(_, _) => {
- bail!("key was not the correct length")
- }
- }
+ match err {
+ // assume they copied in the base64 key
+ bip39::ErrorKind::InvalidWord(_) => key,
+ bip39::ErrorKind::InvalidChecksum => {
+ bail!("key mnemonic was not valid")
}
- _ => {
- // unknown error. assume they copied the base64 key
- key
+ bip39::ErrorKind::InvalidKeysize(_)
+ | bip39::ErrorKind::InvalidWordLength(_)
+ | bip39::ErrorKind::InvalidEntropyLength(_, _) => {
+ bail!("key was not the correct length")
}
}
}