From e3092da551103438c3bde2715497b2d4be183f2d Mon Sep 17 00:00:00 2001 From: Piotr Roslaniec Date: Thu, 20 Jan 2022 12:46:20 +0100 Subject: [PATCH] Add constructors where fields are private --- umbral-pre/src/bindings_wasm.rs | 18 +++++++++++++++++- umbral-pre/src/capsule.rs | 6 +++--- umbral-pre/src/serde.rs | 1 - 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/umbral-pre/src/bindings_wasm.rs b/umbral-pre/src/bindings_wasm.rs index ab4b9d11..f2899ad0 100644 --- a/umbral-pre/src/bindings_wasm.rs +++ b/umbral-pre/src/bindings_wasm.rs @@ -153,6 +153,10 @@ impl PublicKey { } impl PublicKey { + pub fn new(pk: umbral_pre::PublicKey) -> Self { + PublicKey(pk) + } + pub fn inner(&self) -> &umbral_pre::PublicKey { &self.0 } @@ -263,6 +267,10 @@ impl Capsule { } impl Capsule { + pub fn new(capsule: umbral_pre::Capsule) -> Self { + Capsule(capsule) + } + pub fn inner(&self) -> &umbral_pre::Capsule { &self.0 } @@ -347,6 +355,10 @@ impl VerifiedCapsuleFrag { } impl VerifiedCapsuleFrag { + pub fn new(verified_cfrag: umbral_pre::VerifiedCapsuleFrag) -> Self { + VerifiedCapsuleFrag(verified_cfrag) + } + pub fn inner(&self) -> umbral_pre::VerifiedCapsuleFrag { self.0.clone() } @@ -378,7 +390,7 @@ impl CapsuleWithFrags { ciphertext: &[u8], ) -> Result, JsValue> { let backend_cfrags: Vec = - self.cfrags.iter().map(|x| x.0.clone()).collect(); + self.cfrags.iter().cloned().map(|x| x.0).collect(); umbral_pre::decrypt_reencrypted( &receiving_sk.0, &delegating_pk.0, @@ -552,6 +564,10 @@ impl VerifiedKeyFrag { } impl VerifiedKeyFrag { + pub fn new(vkfrag: umbral_pre::VerifiedKeyFrag) -> Self { + Self(vkfrag) + } + pub fn inner(&self) -> &umbral_pre::VerifiedKeyFrag { &self.0 } diff --git a/umbral-pre/src/capsule.rs b/umbral-pre/src/capsule.rs index 13927511..bc877142 100644 --- a/umbral-pre/src/capsule.rs +++ b/umbral-pre/src/capsule.rs @@ -315,7 +315,7 @@ mod tests { // Empty cfrag vector let result = capsule.open_reencrypted(&receiving_sk, &delegating_pk, &[]); assert_eq!( - result.map(|x| x.as_secret().clone()), + result.map(|x| *x.as_secret()), Err(OpenReencryptedError::NoCapsuleFrags) ); @@ -334,7 +334,7 @@ mod tests { let result = capsule.open_reencrypted(&receiving_sk, &delegating_pk, &mismatched_cfrags); assert_eq!( - result.map(|x| x.as_secret().clone()), + result.map(|x| *x.as_secret()), Err(OpenReencryptedError::MismatchedCapsuleFrags) ); @@ -342,7 +342,7 @@ mod tests { let (capsule2, _key_seed) = Capsule::from_public_key(&mut OsRng, &delegating_pk); let result = capsule2.open_reencrypted(&receiving_sk, &delegating_pk, &cfrags); assert_eq!( - result.map(|x| x.as_secret().clone()), + result.map(|x| *x.as_secret()), Err(OpenReencryptedError::ValidationFailed) ); } diff --git a/umbral-pre/src/serde.rs b/umbral-pre/src/serde.rs index c5f2e194..7a7fdf00 100644 --- a/umbral-pre/src/serde.rs +++ b/umbral-pre/src/serde.rs @@ -132,7 +132,6 @@ pub(crate) mod tests { use serde::de::DeserializeOwned; use serde::Serialize; - use serde_json; use super::Representation; use crate::SerializableToArray;