From c8f6a6c5e83736813e95277e82f546bff55ae90a Mon Sep 17 00:00:00 2001 From: Lucas Meier Date: Wed, 7 Feb 2024 13:23:45 -0800 Subject: [PATCH] Remove FieldExt --- src/field_ext.rs | 31 ------------------------------- src/fields/fp.rs | 4 ++++ src/fields/fq.rs | 4 ++++ src/fields/fr.rs | 4 ++++ src/lib.rs | 2 -- 5 files changed, 12 insertions(+), 33 deletions(-) delete mode 100644 src/field_ext.rs diff --git a/src/field_ext.rs b/src/field_ext.rs deleted file mode 100644 index b8380a4..0000000 --- a/src/field_ext.rs +++ /dev/null @@ -1,31 +0,0 @@ -use crate::{EncodingError, Fq, Fr}; - -/// An extension trait for easy conversion of [`Fr`] and [`Fq`] elements to and from bytes. -pub trait FieldExt: Sized { - /// Serializes an element to 32 bytes. - fn to_bytes(&self) -> [u8; 32]; - /// Deserializes an element from 32 bytes. - fn from_bytes(bytes: [u8; 32]) -> Result; -} - -impl FieldExt for Fr { - fn to_bytes(&self) -> [u8; 32] { - self.to_bytes_le() - } - - fn from_bytes(bytes: [u8; 32]) -> Result { - Fr::from_bytes_checked(&bytes) - } -} - -impl FieldExt for Fq { - fn to_bytes(&self) -> [u8; 32] { - let bytes = self.to_bytes_le(); - debug_assert!(bytes[31] >> 5 == 0u8); - bytes - } - - fn from_bytes(bytes: [u8; 32]) -> Result { - Fq::from_bytes_checked(&bytes) - } -} diff --git a/src/fields/fp.rs b/src/fields/fp.rs index e0aa1b0..37661fd 100644 --- a/src/fields/fp.rs +++ b/src/fields/fp.rs @@ -128,6 +128,10 @@ impl Fp { Err(EncodingError::InvalidEncoding) } } + + pub fn to_bytes(&self) -> [u8; N_8] { + self.to_bytes_le() + } } #[cfg(test)] diff --git a/src/fields/fq.rs b/src/fields/fq.rs index 653a823..c513e44 100644 --- a/src/fields/fq.rs +++ b/src/fields/fq.rs @@ -112,6 +112,10 @@ impl Fq { Err(EncodingError::InvalidEncoding) } } + + pub fn to_bytes(&self) -> [u8; N_8] { + self.to_bytes_le() + } } #[cfg(test)] diff --git a/src/fields/fr.rs b/src/fields/fr.rs index 8602ffa..48eac4b 100644 --- a/src/fields/fr.rs +++ b/src/fields/fr.rs @@ -104,6 +104,10 @@ impl Fr { Err(EncodingError::InvalidEncoding) } } + + pub fn to_bytes(&self) -> [u8; N_8] { + self.to_bytes_le() + } } #[cfg(test)] diff --git a/src/lib.rs b/src/lib.rs index 31792d2..abb4d1b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,8 +6,6 @@ use cfg_if::cfg_if; pub mod fields; pub use fields::{fp::Fp, fq::Fq, fr::Fr}; -mod field_ext; -pub use field_ext::FieldExt; mod sign; mod error;