diff --git a/src/ecc_compact/mod.rs b/src/ecc_compact/mod.rs index 7d0f4e8..51f7e57 100644 --- a/src/ecc_compact/mod.rs +++ b/src/ecc_compact/mod.rs @@ -4,11 +4,7 @@ use p256::{ elliptic_curve::{ecdh, sec1::ToCompactEncodedPoint, DecompactPoint}, FieldBytes, }; -use std::{ - convert::TryFrom, - hash::{Hash, Hasher}, - ops::Deref, -}; +use std::{hash::Hasher, ops::Deref}; #[derive(Debug, Clone)] pub struct PublicKey(pub(crate) p256::PublicKey); diff --git a/src/ed25519/mod.rs b/src/ed25519/mod.rs index 6ec6b9b..cc0e1f2 100644 --- a/src/ed25519/mod.rs +++ b/src/ed25519/mod.rs @@ -1,8 +1,5 @@ use crate::*; -use std::{ - convert::TryFrom, - hash::{Hash, Hasher}, -}; +use std::hash::Hasher; #[derive(Debug, Clone)] pub struct PublicKey(pub(crate) ed25519_compact::PublicKey); @@ -100,9 +97,10 @@ impl Keypair { impl signature::Signature for Signature { fn from_bytes(input: &[u8]) -> std::result::Result { - let signature = - ed25519_compact::Signature::try_from(input).map_err(signature::Error::from_source)?; - Ok(Signature(signature)) + Ok(Signature( + ed25519_compact::Signature::from_slice(input) + .map_err(|_| signature::Error::default())?, + )) } fn as_bytes(&self) -> &[u8] { @@ -140,8 +138,7 @@ impl signature::Signer for Keypair { impl Signature { pub fn from_bytes(bytes: &[u8]) -> Result { - let signature = ed25519_compact::Signature::try_from(bytes)?; - Ok(Signature(signature)) + Ok(Signature(ed25519_compact::Signature::from_slice(bytes)?)) } pub fn to_vec(&self) -> Vec { @@ -153,8 +150,9 @@ impl TryFrom<&[u8]> for Signature { type Error = Error; fn try_from(input: &[u8]) -> Result { - let signature = ed25519_compact::Signature::try_from(input)?; - Ok(Signature(signature)) + ed25519_compact::Signature::from_slice(input) + .map(Signature) + .map_err(Error::from) } } diff --git a/src/public_key.rs b/src/public_key.rs index 5b95edd..bf3c567 100644 --- a/src/public_key.rs +++ b/src/public_key.rs @@ -3,7 +3,6 @@ //! since a client will need to be able to parse and use a public key from any //! keypair. use crate::*; -use std::{convert::TryFrom, hash::Hash}; ///Verify a given message against a given signature slice. Public keys are ///expected to implemt this trait to verify signed messages. diff --git a/src/secp256k1/mod.rs b/src/secp256k1/mod.rs index 7b0d581..b29bf91 100644 --- a/src/secp256k1/mod.rs +++ b/src/secp256k1/mod.rs @@ -1,10 +1,7 @@ use crate::*; use base64::{engine::general_purpose::STANDARD, Engine}; use k256::{ecdsa, elliptic_curve::sec1::ToEncodedPoint}; -use std::{ - convert::TryFrom, - hash::{Hash, Hasher}, -}; +use std::hash::Hasher; use thiserror::Error; #[derive(Debug, Clone)]