diff --git a/bitcoin/examples/bip32.rs b/bitcoin/examples/bip32.rs index ff95e7b6a..18a11fc76 100644 --- a/bitcoin/examples/bip32.rs +++ b/bitcoin/examples/bip32.rs @@ -1,6 +1,5 @@ extern crate bitcoin; -use std::str::FromStr; use std::{env, process}; use bitcoin::address::{Address, KnownHrp}; @@ -40,7 +39,7 @@ fn main() { println!("Root key: {}", root); // derive child xpub - let path = DerivationPath::from_str("84h/0h/0h").unwrap(); + let path = "84h/0h/0h".parse::().unwrap(); let child = root.derive_priv(&secp, &path); println!("Child at {}: {}", path, child); let xpub = Xpub::from_priv(&secp, &child); diff --git a/bitcoin/src/crypto/key.rs b/bitcoin/src/crypto/key.rs index fdde8452a..e2ab25fca 100644 --- a/bitcoin/src/crypto/key.rs +++ b/bitcoin/src/crypto/key.rs @@ -538,7 +538,7 @@ impl<'de> serde::Deserialize<'de> for PrivateKey { E: serde::de::Error, { if let Ok(s) = core::str::from_utf8(v) { - PrivateKey::from_str(s).map_err(E::custom) + s.parse::().map_err(E::custom) } else { Err(E::invalid_value(::serde::de::Unexpected::Bytes(v), &self)) } @@ -548,7 +548,7 @@ impl<'de> serde::Deserialize<'de> for PrivateKey { where E: serde::de::Error, { - PrivateKey::from_str(v).map_err(E::custom) + v.parse::().map_err(E::custom) } } @@ -586,7 +586,7 @@ impl<'de> serde::Deserialize<'de> for PublicKey { E: serde::de::Error, { if let Ok(hex) = core::str::from_utf8(v) { - PublicKey::from_str(hex).map_err(E::custom) + hex.parse::().map_err(E::custom) } else { Err(E::invalid_value(::serde::de::Unexpected::Bytes(v), &self)) } @@ -596,7 +596,7 @@ impl<'de> serde::Deserialize<'de> for PublicKey { where E: serde::de::Error, { - PublicKey::from_str(v).map_err(E::custom) + v.parse::().map_err(E::custom) } } d.deserialize_str(HexVisitor) @@ -652,7 +652,7 @@ impl<'de> serde::Deserialize<'de> for CompressedPublicKey { E: serde::de::Error, { if let Ok(hex) = core::str::from_utf8(v) { - CompressedPublicKey::from_str(hex).map_err(E::custom) + hex.parse::().map_err(E::custom) } else { Err(E::invalid_value(::serde::de::Unexpected::Bytes(v), &self)) } @@ -662,7 +662,7 @@ impl<'de> serde::Deserialize<'de> for CompressedPublicKey { where E: serde::de::Error, { - CompressedPublicKey::from_str(v).map_err(E::custom) + v.parse::().map_err(E::custom) } } d.deserialize_str(HexVisitor) diff --git a/bitcoin/src/psbt/map/input.rs b/bitcoin/src/psbt/map/input.rs index e52c8389c..fd9e22480 100644 --- a/bitcoin/src/psbt/map/input.rs +++ b/bitcoin/src/psbt/map/input.rs @@ -170,7 +170,7 @@ impl FromStr for PsbtSighashType { // NB: some of Taproot sighash types are non-standard for pre-Taproot // inputs. We also do not support SIGHASH_RESERVED in verbatim form // ("0xFF" string should be used instead). - if let Ok(ty) = TapSighashType::from_str(s) { + if let Ok(ty) = s.parse::() { return Ok(ty.into()); } diff --git a/bitcoin/tests/bip_174.rs b/bitcoin/tests/bip_174.rs index f712af925..7a674728f 100644 --- a/bitcoin/tests/bip_174.rs +++ b/bitcoin/tests/bip_174.rs @@ -2,7 +2,6 @@ //! defined at use std::collections::BTreeMap; -use std::str::FromStr; use bitcoin::bip32::{Fingerprint, IntoDerivationPath, KeySource, Xpriv, Xpub}; use bitcoin::consensus::encode::{deserialize, serialize_hex}; @@ -118,7 +117,7 @@ fn build_extended_private_key() -> Xpriv { let extended_private_key = "tprv8ZgxMBicQKsPd9TeAdPADNnSyH9SSUUbTVeFszDE23Ki6TBB5nCefAdHkK8Fm3qMQR6sHwA56zqRmKmxnHk37JkiFzvncDqoKmPWubu7hDF"; let seed = "cUkG8i1RFfWGWy5ziR11zJ5V4U4W3viSFCfyJmZnvQaUsd1xuF3T"; - let xpriv = Xpriv::from_str(extended_private_key).unwrap(); + let xpriv = extended_private_key.parse::().unwrap(); let sk = PrivateKey::from_wif(seed).unwrap(); let seeded = Xpriv::new_master(NetworkKind::Test, &sk.inner.secret_bytes()).unwrap(); @@ -276,7 +275,7 @@ fn bip32_derivation( let pk = pk_path[i].0; let path = pk_path[i].1; - let pk = PublicKey::from_str(pk).unwrap(); + let pk = pk.parse::().unwrap(); let path = path.into_derivation_path().unwrap(); tree.insert(pk.inner, (fingerprint, path)); @@ -290,7 +289,7 @@ fn update_psbt_with_sighash_all(mut psbt: Psbt) -> Psbt { let expected_psbt_hex = include_str!("data/update_2_psbt_hex"); let expected_psbt: Psbt = hex_psbt(expected_psbt_hex); - let ty = PsbtSighashType::from_str("SIGHASH_ALL").unwrap(); + let ty = "SIGHASH_ALL".parse::().unwrap(); let mut input_0 = psbt.inputs[0].clone(); input_0.sighash_type = Some(ty); diff --git a/hashes/embedded/src/main.rs b/hashes/embedded/src/main.rs index 738940ac6..f5d916307 100644 --- a/hashes/embedded/src/main.rs +++ b/hashes/embedded/src/main.rs @@ -49,7 +49,7 @@ fn check_result(engine: sha256::HashEngine) { let hash = TestType(sha256::Hash::from_engine(engine)); let hash_check = - TestType::from_str("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad") + "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad".parse::() .unwrap(); hprintln!("hash:{} hash_check:{}", hash, hash_check).unwrap(); if hash != hash_check { diff --git a/hashes/src/serde_macros.rs b/hashes/src/serde_macros.rs index 4a0801a8c..2782e961c 100644 --- a/hashes/src/serde_macros.rs +++ b/hashes/src/serde_macros.rs @@ -29,7 +29,7 @@ pub mod serde_details { E: de::Error, { if let Ok(hex) = str::from_utf8(v) { - Self::Value::from_str(hex).map_err(E::custom) + hex.parse::().map_err(E::custom) } else { return Err(E::invalid_value(de::Unexpected::Bytes(v), &self)); } @@ -39,7 +39,7 @@ pub mod serde_details { where E: de::Error, { - Self::Value::from_str(v).map_err(E::custom) + v.parse::().map_err(E::custom) } } diff --git a/internals/src/serde.rs b/internals/src/serde.rs index 3e4e64656..e2366d367 100644 --- a/internals/src/serde.rs +++ b/internals/src/serde.rs @@ -135,7 +135,6 @@ macro_rules! serde_struct_human_string_impl { { if deserializer.is_human_readable() { use core::fmt::Formatter; - use core::str::FromStr; struct Visitor; impl<'de> $crate::serde::de::Visitor<'de> for Visitor { @@ -149,7 +148,7 @@ macro_rules! serde_struct_human_string_impl { where E: $crate::serde::de::Error, { - $name::from_str(v).map_err(E::custom) + v.parse::<$name>().map_err(E::custom) } } diff --git a/units/src/amount.rs b/units/src/amount.rs index 724e5fd21..9d5118c3b 100644 --- a/units/src/amount.rs +++ b/units/src/amount.rs @@ -935,7 +935,7 @@ impl Amount { /// Please be aware of the risk of using floating-point numbers. #[cfg(feature = "alloc")] pub fn to_float_in(self, denom: Denomination) -> f64 { - f64::from_str(&self.to_string_in(denom)).unwrap() + self.to_string_in(denom).parse::().unwrap() } /// Expresses this [`Amount`] as a floating-point value in Bitcoin. @@ -1308,7 +1308,7 @@ impl SignedAmount { /// Please be aware of the risk of using floating-point numbers. #[cfg(feature = "alloc")] pub fn to_float_in(self, denom: Denomination) -> f64 { - f64::from_str(&self.to_string_in(denom)).unwrap() + self.to_string_in(denom).parse::().unwrap() } /// Express this [`SignedAmount`] as a floating-point value in Bitcoin.