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;