diff --git a/nym-api/src/coconut/storage/manager.rs b/nym-api/src/coconut/storage/manager.rs index 8cea9ef898..2454829015 100644 --- a/nym-api/src/coconut/storage/manager.rs +++ b/nym-api/src/coconut/storage/manager.rs @@ -69,7 +69,7 @@ pub trait CoconutStorageManagerExt { bs58_partial_credential: String, bs58_signature: String, joined_private_commitments: String, - joined_public_attributes: String, + expiration_date: i64, ) -> Result; /// Attempts to retrieve issued credentials from the data store using provided ids. @@ -247,7 +247,7 @@ impl CoconutStorageManagerExt for StorageManager { sqlx::query_as!( IssuedCredential, r#" - SELECT id, epoch_id as "epoch_id: u32", tx_hash, bs58_partial_credential, bs58_signature,joined_private_commitments, joined_public_attributes + SELECT id, epoch_id as "epoch_id: u32", tx_hash, bs58_partial_credential, bs58_signature,joined_private_commitments, expiration_date as "expiration_date: i64" FROM issued_credential WHERE id = ? "#, @@ -269,7 +269,7 @@ impl CoconutStorageManagerExt for StorageManager { sqlx::query_as!( IssuedCredential, r#" - SELECT id, epoch_id as "epoch_id: u32", tx_hash, bs58_partial_credential, bs58_signature,joined_private_commitments, joined_public_attributes + SELECT id, epoch_id as "epoch_id: u32", tx_hash, bs58_partial_credential, bs58_signature,joined_private_commitments, expiration_date as "expiration_date: i64" FROM issued_credential WHERE tx_hash = ? "#, @@ -291,16 +291,16 @@ impl CoconutStorageManagerExt for StorageManager { bs58_partial_credential: String, bs58_signature: String, joined_private_commitments: String, - joined_public_attributes: String, + expiration_date: i64, ) -> Result { let row_id = sqlx::query!( r#" INSERT INTO issued_credential - (epoch_id, tx_hash, bs58_partial_credential, bs58_signature, joined_private_commitments, joined_public_attributes) + (epoch_id, tx_hash, bs58_partial_credential, bs58_signature, joined_private_commitments, expiration_date) VALUES (?, ?, ?, ?, ?, ?) "#, - epoch_id, tx_hash, bs58_partial_credential, bs58_signature, joined_private_commitments, joined_public_attributes + epoch_id, tx_hash, bs58_partial_credential, bs58_signature, joined_private_commitments, expiration_date ).execute(&self.connection_pool).await?.last_insert_rowid(); Ok(row_id) @@ -341,7 +341,7 @@ impl CoconutStorageManagerExt for StorageManager { sqlx::query_as!( IssuedCredential, r#" - SELECT id, epoch_id as "epoch_id: u32", tx_hash, bs58_partial_credential, bs58_signature,joined_private_commitments, joined_public_attributes + SELECT id, epoch_id as "epoch_id: u32", tx_hash, bs58_partial_credential, bs58_signature,joined_private_commitments, expiration_date as "expiration_date: i64" FROM issued_credential WHERE id > ? ORDER BY id diff --git a/nym-api/src/coconut/storage/mod.rs b/nym-api/src/coconut/storage/mod.rs index 1b29f51b43..bde37ed2e4 100644 --- a/nym-api/src/coconut/storage/mod.rs +++ b/nym-api/src/coconut/storage/mod.rs @@ -8,6 +8,8 @@ use crate::support::storage::NymApiStorage; use nym_api_requests::coconut::models::Pagination; use nym_coconut::{Base58, BlindedSignature}; use nym_coconut_dkg_common::types::EpochId; +use nym_compact_ecash::utils::BlindedSignature; +use nym_compact_ecash::Base58; use nym_crypto::asymmetric::identity; use nym_validator_client::nyxd::Hash; @@ -52,7 +54,7 @@ pub trait CoconutStorageExt { partial_credential: &BlindedSignature, signature: identity::Signature, private_commitments: Vec, - public_attributes: Vec, + expiration_date: i64, ) -> Result; async fn get_issued_credentials( @@ -122,7 +124,7 @@ impl CoconutStorageExt for NymApiStorage { partial_credential: &BlindedSignature, signature: identity::Signature, private_commitments: Vec, - public_attributes: Vec, + expiration_date: i64, ) -> Result { Ok(self .manager @@ -132,7 +134,7 @@ impl CoconutStorageExt for NymApiStorage { partial_credential.to_bs58(), signature.to_base58_string(), join_attributes(private_commitments), - join_attributes(public_attributes), + expiration_date, ) .await?) } diff --git a/nym-api/src/coconut/storage/models.rs b/nym-api/src/coconut/storage/models.rs index 4d2935c057..33248d48ae 100644 --- a/nym-api/src/coconut/storage/models.rs +++ b/nym-api/src/coconut/storage/models.rs @@ -7,7 +7,7 @@ use nym_api_requests::coconut::models::{ IssuedCredentialBody as ApiIssuedCredentialInner, }; use nym_api_requests::coconut::BlindedSignatureResponse; -use nym_coconut::{Base58, BlindedSignature}; +use nym_compact_ecash::{utils::BlindedSignature, Base58}; use sqlx::FromRow; use std::fmt::Display; @@ -48,8 +48,7 @@ pub struct IssuedCredential { // i.e. "'attr1','attr2',..." pub joined_private_commitments: String, - // i.e. "'attr1','attr2',..." - pub joined_public_attributes: String, + pub expiration_date: i64, } impl TryFrom for ApiIssuedCredentialInner { @@ -70,7 +69,7 @@ impl TryFrom for ApiIssuedCredentialInner { bs58_encoded_private_attributes_commitments: split_attributes( &value.joined_private_commitments, ), - public_attributes: split_attributes(&value.joined_public_attributes), + expiration_date: value.expiration_date, }, signature: value.bs58_signature.parse()?, })