From b0d1c70718d58509d95e1bee80fb4d4f5b6a2eae Mon Sep 17 00:00:00 2001 From: Trent Nelson Date: Mon, 20 Jul 2020 17:05:22 -0600 Subject: [PATCH] RemoteWallet: Improve DerivationPathComponent FromStr readability --- remote-wallet/src/remote_wallet.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/remote-wallet/src/remote_wallet.rs b/remote-wallet/src/remote_wallet.rs index 11cbd7ac52..59d1fd4156 100644 --- a/remote-wallet/src/remote_wallet.rs +++ b/remote-wallet/src/remote_wallet.rs @@ -345,12 +345,13 @@ impl FromStr for DerivationPathComponent { type Err = RemoteWalletError; fn from_str(s: &str) -> Result { - // Replace str::splitn() with str::strip_suffix() once stabilized - let parts: Vec<_> = s.splitn(2, '\'').collect(); - if parts.len() == 2 { + let index_str = if let Some(stripped) = s.strip_suffix('\'') { eprintln!("all path components are promoted to hardened representation"); - } - parts[0].parse::().map(|ki| ki.into()).map_err(|_| { + stripped + } else { + s + }; + index_str.parse::().map(|ki| ki.into()).map_err(|_| { RemoteWalletError::InvalidDerivationPath(format!( "failed to parse path component: {:?}", s