Skip to content

Commit e5099af

Browse files
author
blu3beri
committed
Remove the V1 suffix from the cred_def
Work funded by the Government of Ontario. Signed-off-by: blu3beri <[email protected]>
1 parent 8ab13dd commit e5099af

File tree

7 files changed

+24
-66
lines changed

7 files changed

+24
-66
lines changed

anoncreds/src/data_types/anoncreds/cred_def.rs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,15 @@ pub struct CredentialDefinitionData {
3333
}
3434

3535
#[derive(Debug, Serialize, Deserialize)]
36-
#[serde(tag = "ver")]
37-
pub enum CredentialDefinition {
38-
#[serde(rename = "1.0")]
39-
CredentialDefinitionV1(CredentialDefinitionV1),
40-
}
41-
42-
#[derive(Debug, Serialize, Deserialize)]
43-
#[serde(rename_all = "camelCase")]
44-
pub struct CredentialDefinitionV1 {
36+
pub struct CredentialDefinition {
4537
pub schema_id: SchemaId,
4638
#[serde(rename = "type")]
4739
pub signature_type: SignatureType,
4840
pub tag: String,
4941
pub value: CredentialDefinitionData,
5042
}
5143

52-
impl CredentialDefinitionV1 {
44+
impl CredentialDefinition {
5345
pub fn get_public_key(&self) -> Result<ursa::cl::CredentialPublicKey, ConversionError> {
5446
let key = ursa::cl::CredentialPublicKey::build_from_parts(
5547
&self.value.primary,
@@ -60,7 +52,7 @@ impl CredentialDefinitionV1 {
6052
}
6153
}
6254

63-
impl Validatable for CredentialDefinitionV1 {
55+
impl Validatable for CredentialDefinition {
6456
fn validate(&self) -> Result<(), ValidationError> {
6557
self.schema_id.validate()
6658
}

anoncreds/src/ffi/cred_def.rs

Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
use std::ffi::c_char;
21
use std::str::FromStr;
32

4-
use ffi_support::{rust_string_to_c, FfiStr};
3+
use ffi_support::FfiStr;
54

65
use super::error::{catch_error, ErrorCode};
76
use super::object::ObjectHandle;
7+
use crate::data_types::anoncreds::cred_def::CredentialDefinition;
88
use crate::services::{
99
issuer::create_credential_definition,
1010
types::{
11-
CredentialDefinition, CredentialDefinitionConfig, CredentialDefinitionPrivate,
11+
CredentialDefinitionConfig, CredentialDefinitionPrivate,
1212
CredentialKeyCorrectnessProof as KeyCorrectnessProof, SignatureType,
1313
},
1414
};
@@ -59,29 +59,6 @@ pub extern "C" fn anoncreds_create_credential_definition(
5959
})
6060
}
6161

62-
#[no_mangle]
63-
pub extern "C" fn anoncreds_credential_definition_get_attribute(
64-
handle: ObjectHandle,
65-
name: FfiStr,
66-
result_p: *mut *const c_char,
67-
) -> ErrorCode {
68-
catch_error(|| {
69-
check_useful_c_ptr!(result_p);
70-
let cred_def = handle.load()?;
71-
let cred_def = cred_def.cast_ref::<CredentialDefinition>()?;
72-
let val = match name.as_opt_str().unwrap_or_default() {
73-
"schema_id" => match cred_def {
74-
CredentialDefinition::CredentialDefinitionV1(cred_def) => {
75-
cred_def.schema_id.to_owned()
76-
}
77-
},
78-
s => return Err(err_msg!("Unsupported attribute: {}", s)),
79-
};
80-
unsafe { *result_p = rust_string_to_c(val) };
81-
Ok(())
82-
})
83-
}
84-
8562
impl_anoncreds_object!(CredentialDefinition, "CredentialDefinition");
8663
impl_anoncreds_object_from_json!(
8764
CredentialDefinition,

anoncreds/src/services/issuer.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::data_types::anoncreds::cred_def::CredentialDefinitionId;
88
use crate::data_types::anoncreds::rev_reg::RevocationRegistryId;
99
use crate::data_types::anoncreds::schema::SchemaId;
1010
use crate::data_types::anoncreds::{
11-
cred_def::{CredentialDefinitionData, CredentialDefinitionV1},
11+
cred_def::{CredentialDefinition, CredentialDefinitionData},
1212
nonce::Nonce,
1313
rev_reg::{RevocationRegistryDeltaV1, RevocationRegistryV1},
1414
rev_reg_def::{
@@ -77,15 +77,15 @@ where
7777
config.support_revocation,
7878
)?;
7979

80-
let cred_def = CredentialDefinition::CredentialDefinitionV1(CredentialDefinitionV1 {
80+
let cred_def = CredentialDefinition {
8181
schema_id,
8282
signature_type,
8383
tag: tag.to_owned(),
8484
value: CredentialDefinitionData {
8585
primary: credential_public_key.get_primary_key()?.try_clone()?,
8686
revocation: credential_public_key.get_revocation_key()?,
8787
},
88-
});
88+
};
8989

9090
let cred_def_private = CredentialDefinitionPrivate {
9191
value: credential_private_key,
@@ -124,7 +124,6 @@ where
124124
cred_def, tag, max_cred_num, rev_reg_type, issuance_type);
125125
let cred_def_id = cred_def_id.try_into()?;
126126

127-
let CredentialDefinition::CredentialDefinitionV1(cred_def) = cred_def;
128127
let credential_pub_key = cred_def.get_public_key().map_err(err_map!(
129128
Unexpected,
130129
"Error fetching public key from credential definition"
@@ -263,14 +262,10 @@ pub fn create_credential(
263262
cred_def, secret!(&cred_def_private), &cred_offer.nonce, &cred_request, secret!(&cred_values), revocation_config,
264263
);
265264

266-
let cred_public_key = match cred_def {
267-
CredentialDefinition::CredentialDefinitionV1(cd) => {
268-
cd.get_public_key().map_err(err_map!(
269-
Unexpected,
270-
"Error fetching public key from credential definition"
271-
))?
272-
}
273-
};
265+
let cred_public_key = cred_def.get_public_key().map_err(err_map!(
266+
Unexpected,
267+
"Error fetching public key from credential definition"
268+
))?;
274269
let credential_values = build_credential_values(&cred_values.0, None)?;
275270

276271
let (credential_signature, signature_correctness_proof, rev_reg, rev_reg_delta, witness) =

anoncreds/src/services/prover.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::collections::{HashMap, HashSet};
22

33
use super::types::*;
44
use crate::data_types::anoncreds::{
5-
cred_def::CredentialDefinitionId,
5+
cred_def::{CredentialDefinition, CredentialDefinitionId},
66
credential::AttributeValues,
77
pres_request::{PresentationRequestPayload, RequestedAttributeInfo, RequestedPredicateInfo},
88
presentation::{
@@ -40,7 +40,6 @@ pub fn create_credential_request(
4040
credential_offer
4141
);
4242

43-
let CredentialDefinition::CredentialDefinitionV1(cred_def) = cred_def;
4443
let credential_pub_key = CredentialPublicKey::build_from_parts(
4544
&cred_def.value.primary,
4645
cred_def.value.revocation.as_ref(),
@@ -93,7 +92,6 @@ pub fn process_credential(
9392
trace!("process_credential >>> credential: {:?}, cred_request_metadata: {:?}, master_secret: {:?}, cred_def: {:?}, rev_reg_def: {:?}",
9493
credential, cred_request_metadata, secret!(&master_secret), cred_def, rev_reg_def);
9594

96-
let CredentialDefinition::CredentialDefinitionV1(cred_def) = cred_def;
9795
let credential_pub_key = CredentialPublicKey::build_from_parts(
9896
&cred_def.value.primary,
9997
cred_def.value.revocation.as_ref(),
@@ -179,7 +177,6 @@ pub fn create_presentation(
179177
)
180178
})?;
181179

182-
let CredentialDefinition::CredentialDefinitionV1(cred_def) = cred_def;
183180
let credential_pub_key = CredentialPublicKey::build_from_parts(
184181
&cred_def.value.primary,
185182
cred_def.value.revocation.as_ref(),

anoncreds/src/services/types.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,7 @@ use std::collections::HashSet;
22

33
use super::tails::TailsReader;
44
pub use crate::data_types::anoncreds::{
5-
cred_def::{
6-
CredentialDefinition, CredentialDefinitionPrivate, CredentialKeyCorrectnessProof,
7-
SignatureType,
8-
},
5+
cred_def::{CredentialDefinitionPrivate, CredentialKeyCorrectnessProof, SignatureType},
96
cred_offer::CredentialOffer,
107
cred_request::{CredentialRequest, CredentialRequestMetadata},
118
credential::{AttributeValues, Credential, CredentialValues},

anoncreds/src/services/verifier.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use regex::Regex;
55

66
use super::helpers::*;
77
use super::types::*;
8+
use crate::data_types::anoncreds::cred_def::CredentialDefinition;
89
use crate::data_types::anoncreds::cred_def::CredentialDefinitionId;
910
use crate::data_types::anoncreds::rev_reg::RevocationRegistryId;
1011
use crate::data_types::anoncreds::rev_reg_def::RevocationRegistryDefinitionId;
@@ -89,13 +90,12 @@ pub fn verify_presentation(
8990
.ok_or_else(|| err_msg!("Schema not provided for ID: {:?}", identifier.schema_id))?;
9091

9192
let cred_def_id = CredentialDefinitionId::new(identifier.cred_def_id.clone())?;
92-
let CredentialDefinition::CredentialDefinitionV1(cred_def) =
93-
cred_defs.get(&cred_def_id).ok_or_else(|| {
94-
err_msg!(
95-
"Credential Definition not provided for ID: {:?}",
96-
identifier.cred_def_id
97-
)
98-
})?;
93+
let cred_def = cred_defs.get(&cred_def_id).ok_or_else(|| {
94+
err_msg!(
95+
"Credential Definition not provided for ID: {:?}",
96+
identifier.cred_def_id
97+
)
98+
})?;
9999

100100
let (rev_reg_def, rev_reg) = if let Some(timestamp) = identifier.timestamp {
101101
let rev_reg_id = identifier.rev_reg_id.clone().ok_or_else(|| {

anoncreds/tests/utils/anoncreds.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ use anoncreds::data_types::anoncreds::credential::Credential;
55
use anoncreds::data_types::anoncreds::master_secret::MasterSecret;
66
use indy_utils::did::DidValue;
77

8-
pub const ISSUER_DID: &'static str = "NcYxiDXkpYi6ov5FcYDi1e";
9-
pub const PROVER_DID: &'static str = "VsKV7grR1BUE29mG2Fm2kX";
8+
pub const ISSUER_DID: &str = "NcYxiDXkpYi6ov5FcYDi1e";
9+
pub const PROVER_DID: &str = "VsKV7grR1BUE29mG2Fm2kX";
1010

1111
pub struct StoredCredDef {
1212
pub public: CredentialDefinition,

0 commit comments

Comments
 (0)