From 2e5406692c2655f68770c00b6978df5daec2f575 Mon Sep 17 00:00:00 2001 From: Zane Schepke Date: Thu, 20 Jun 2024 07:00:48 -0400 Subject: [PATCH 1/2] add expiry returned on import --- common/nym-id/src/import_credential.rs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/common/nym-id/src/import_credential.rs b/common/nym-id/src/import_credential.rs index f5058dfe2a..f96df3a477 100644 --- a/common/nym-id/src/import_credential.rs +++ b/common/nym-id/src/import_credential.rs @@ -6,6 +6,7 @@ use nym_credential_storage::models::StorableIssuedCredential; use nym_credential_storage::storage::Storage; use nym_credentials::coconut::bandwidth::issued::BandwidthCredentialIssuedDataVariant; use nym_credentials::IssuedBandwidthCredential; +use std::time::SystemTime; use tracing::{debug, warn}; use zeroize::Zeroizing; @@ -13,7 +14,7 @@ pub async fn import_credential( credentials_store: S, raw_credential: Vec, credential_version: impl Into>, -) -> Result<(), NymIdError> +) -> Result, NymIdError> where S: Storage, ::StorageError: Send + Sync + 'static, @@ -29,9 +30,10 @@ where credential.typ() ); - match credential.variant_data() { + let expiry_date = match credential.variant_data() { BandwidthCredentialIssuedDataVariant::Voucher(voucher_info) => { - debug!("with value of {}", voucher_info.value()) + debug!("with value of {}", voucher_info.value()); + None } BandwidthCredentialIssuedDataVariant::FreePass(freepass_info) => { debug!("with expiry at {}", freepass_info.expiry_date()); @@ -42,9 +44,11 @@ where return Err(NymIdError::ExpiredCredentialImport { expiration: freepass_info.expiry_date(), }); + } else { + Some(SystemTime::from(freepass_info.expiry_date())) } } - } + }; // SAFETY: // for the epoch to run over u32::MAX, we'd have to advance it for few centuries every block... @@ -67,5 +71,5 @@ where .map_err(|source| NymIdError::StorageError { source: Box::new(source), })?; - Ok(()) + Ok(expiry_date) } From 589074360dfa5e3f5c1706f565b0bda9ed9d4527 Mon Sep 17 00:00:00 2001 From: Zane Schepke Date: Thu, 20 Jun 2024 09:15:00 -0400 Subject: [PATCH 2/2] change to OffsetDateTime --- common/nym-id/src/import_credential.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/nym-id/src/import_credential.rs b/common/nym-id/src/import_credential.rs index f96df3a477..0d3a9abce4 100644 --- a/common/nym-id/src/import_credential.rs +++ b/common/nym-id/src/import_credential.rs @@ -6,7 +6,7 @@ use nym_credential_storage::models::StorableIssuedCredential; use nym_credential_storage::storage::Storage; use nym_credentials::coconut::bandwidth::issued::BandwidthCredentialIssuedDataVariant; use nym_credentials::IssuedBandwidthCredential; -use std::time::SystemTime; +use time::OffsetDateTime; use tracing::{debug, warn}; use zeroize::Zeroizing; @@ -14,7 +14,7 @@ pub async fn import_credential( credentials_store: S, raw_credential: Vec, credential_version: impl Into>, -) -> Result, NymIdError> +) -> Result, NymIdError> where S: Storage, ::StorageError: Send + Sync + 'static, @@ -45,7 +45,7 @@ where expiration: freepass_info.expiry_date(), }); } else { - Some(SystemTime::from(freepass_info.expiry_date())) + Some(freepass_info.expiry_date()) } } };