Skip to content

Commit 1a570f5

Browse files
authored
Merge pull request #118 from AbsaOSS/cleanup/disclosed-proof
Remove legacy disclosed proof
2 parents e8ce4b9 + 66c8487 commit 1a570f5

File tree

8 files changed

+1335
-1782
lines changed

8 files changed

+1335
-1782
lines changed

libvcx/src/disclosed_proof.rs

Lines changed: 81 additions & 1753 deletions
Large diffs are not rendered by default.

libvcx/src/disclosed_proof_utils.rs

Lines changed: 952 additions & 0 deletions
Large diffs are not rendered by default.

libvcx/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ pub mod disclosed_proof;
5050

5151
pub mod v3;
5252
mod proof_utils;
53+
mod disclosed_proof_utils;
5354

5455
#[allow(unused_imports)]
5556
#[allow(dead_code)]

libvcx/src/messages/proofs/proof_message.rs

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use serde_json::Value;
33

44
use api::VcxStateType;
55
use error::prelude::*;
6+
use messages::proofs::proof_request::NonRevokedInterval;
67

78
#[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
89
pub struct ProofMessage {
@@ -16,13 +17,26 @@ pub struct ProofMessage {
1617
}
1718

1819
#[derive(Debug, Deserialize, Serialize, PartialEq)]
19-
pub struct CredInfo {
20+
pub struct CredInfoVerifier {
2021
pub schema_id: String,
2122
pub cred_def_id: String,
2223
pub rev_reg_id: Option<String>,
2324
pub timestamp: Option<u64>,
2425
}
2526

27+
#[derive(Debug, Deserialize, Serialize, PartialEq)]
28+
pub struct CredInfoProver {
29+
pub requested_attr: String,
30+
pub referent: String,
31+
pub schema_id: String,
32+
pub cred_def_id: String,
33+
pub rev_reg_id: Option<String>,
34+
pub cred_rev_id: Option<String>,
35+
pub revocation_interval: Option<NonRevokedInterval>,
36+
pub tails_file: Option<String>,
37+
pub timestamp: Option<u64>,
38+
}
39+
2640
impl ProofMessage {
2741
pub fn new() -> ProofMessage {
2842
ProofMessage {
@@ -56,12 +70,12 @@ impl ProofMessage {
5670
.map_err(|err| VcxError::from_msg(VcxErrorKind::InvalidProof, format!("Cannot deserialize proof: {}", err)))
5771
}
5872

59-
pub fn get_credential_info(&self) -> VcxResult<Vec<CredInfo>> {
73+
pub fn get_credential_info(&self) -> VcxResult<Vec<CredInfoVerifier>> {
6074
get_credential_info(&self.libindy_proof)
6175
}
6276
}
6377

64-
pub fn get_credential_info(proof: &str) -> VcxResult<Vec<CredInfo>> {
78+
pub fn get_credential_info(proof: &str) -> VcxResult<Vec<CredInfoVerifier>> {
6579
let mut rtn = Vec::new();
6680

6781
let credentials: Value = serde_json::from_str(&proof)
@@ -77,7 +91,7 @@ pub fn get_credential_info(proof: &str) -> VcxResult<Vec<CredInfo>> {
7791

7892
let timestamp = identifier["timestamp"].as_u64();
7993
rtn.push(
80-
CredInfo {
94+
CredInfoVerifier {
8195
schema_id: schema_id.to_string(),
8296
cred_def_id: cred_def_id.to_string(),
8397
rev_reg_id,
@@ -162,7 +176,7 @@ pub mod tests {
162176
"schema_id": SCHEMA_ID,
163177
"cred_def_id": CRED_DEF_ID,
164178
}]}).to_string();
165-
let mut cred_info = CredInfo {
179+
let mut cred_info = CredInfoVerifier {
166180
schema_id: SCHEMA_ID.to_string(),
167181
cred_def_id: CRED_DEF_ID.to_string(),
168182
rev_reg_id: None,

libvcx/src/proof.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use serde_json;
22
use serde_json::Value;
33

44
use error::prelude::*;
5-
use messages::proofs::proof_message::{CredInfo, get_credential_info};
5+
use messages::proofs::proof_message::{CredInfoVerifier, get_credential_info};
66
use object_cache::ObjectCache;
77
use settings;
88
use settings::get_config_value;

libvcx/src/proof_utils.rs

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ use serde_json;
22
use serde_json::Value;
33

44
use error::prelude::*;
5-
use messages::proofs::proof_message::{CredInfo, get_credential_info};
5+
use messages::proofs::proof_message::{
6+
CredInfoVerifier,
7+
get_credential_info
8+
};
69
use object_cache::ObjectCache;
710
use settings;
811
use settings::get_config_value;
@@ -37,7 +40,7 @@ fn validate_proof_revealed_attributes(proof_json: &str) -> VcxResult<()> {
3740
Ok(())
3841
}
3942

40-
fn build_credential_defs_json(credential_data: &Vec<CredInfo>) -> VcxResult<String> {
43+
fn build_cred_defs_json_verifier(credential_data: &Vec<CredInfoVerifier>) -> VcxResult<String> {
4144
debug!("building credential_def_json for proof validation");
4245
let mut credential_json = json!({});
4346

@@ -55,7 +58,7 @@ fn build_credential_defs_json(credential_data: &Vec<CredInfo>) -> VcxResult<Stri
5558
Ok(credential_json.to_string())
5659
}
5760

58-
fn build_schemas_json(credential_data: &Vec<CredInfo>) -> VcxResult<String> {
61+
fn build_schemas_json_verifier(credential_data: &Vec<CredInfoVerifier>) -> VcxResult<String> {
5962
debug!("building schemas json for proof validation");
6063

6164
let mut schemas_json = json!({});
@@ -75,7 +78,7 @@ fn build_schemas_json(credential_data: &Vec<CredInfo>) -> VcxResult<String> {
7578
Ok(schemas_json.to_string())
7679
}
7780

78-
fn build_rev_reg_defs_json(credential_data: &Vec<CredInfo>) -> VcxResult<String> {
81+
fn build_rev_reg_defs_json(credential_data: &Vec<CredInfoVerifier>) -> VcxResult<String> {
7982
debug!("building rev_reg_def_json for proof validation");
8083

8184
let mut rev_reg_defs_json = json!({});
@@ -100,7 +103,7 @@ fn build_rev_reg_defs_json(credential_data: &Vec<CredInfo>) -> VcxResult<String>
100103
Ok(rev_reg_defs_json.to_string())
101104
}
102105

103-
fn build_rev_reg_json(credential_data: &Vec<CredInfo>) -> VcxResult<String> {
106+
fn build_rev_reg_json(credential_data: &Vec<CredInfoVerifier>) -> VcxResult<String> {
104107
debug!("building rev_reg_json for proof validation");
105108

106109
let mut rev_regs_json = json!({});
@@ -140,9 +143,9 @@ pub fn validate_indy_proof(proof_json: &str, proof_req_json: &str) -> VcxResult<
140143

141144
let credential_data = get_credential_info(&proof_json)?;
142145

143-
let credential_defs_json = build_credential_defs_json(&credential_data)
146+
let credential_defs_json = build_cred_defs_json_verifier(&credential_data)
144147
.unwrap_or(json!({}).to_string());
145-
let schemas_json = build_schemas_json(&credential_data)
148+
let schemas_json = build_schemas_json_verifier(&credential_data)
146149
.unwrap_or(json!({}).to_string());
147150
let rev_reg_defs_json = build_rev_reg_defs_json(&credential_data)
148151
.unwrap_or(json!({}).to_string());
@@ -178,23 +181,23 @@ pub mod tests {
178181

179182
#[test]
180183
#[cfg(feature = "general_test")]
181-
fn test_build_credential_defs_json_with_multiple_credentials() {
184+
fn test_build_cred_defs_json_verifier_with_multiple_credentials() {
182185
let _setup = SetupStrictAriesMocks::init();
183186

184-
let cred1 = CredInfo {
187+
let cred1 = CredInfoVerifier {
185188
schema_id: "schema_key1".to_string(),
186189
cred_def_id: "cred_def_key1".to_string(),
187190
rev_reg_id: None,
188191
timestamp: None,
189192
};
190-
let cred2 = CredInfo {
193+
let cred2 = CredInfoVerifier {
191194
schema_id: "schema_key2".to_string(),
192195
cred_def_id: "cred_def_key2".to_string(),
193196
rev_reg_id: None,
194197
timestamp: None,
195198
};
196199
let credentials = vec![cred1, cred2];
197-
let credential_json = build_credential_defs_json(&credentials).unwrap();
200+
let credential_json = build_cred_defs_json_verifier(&credentials).unwrap();
198201

199202
let json: Value = serde_json::from_str(CRED_DEF_JSON).unwrap();
200203
let expected = json!({CRED_DEF_ID:json}).to_string();
@@ -203,23 +206,23 @@ pub mod tests {
203206

204207
#[test]
205208
#[cfg(feature = "general_test")]
206-
fn test_build_schemas_json_with_multiple_schemas() {
209+
fn test_build_schemas_json_verifier_with_multiple_schemas() {
207210
let _setup = SetupStrictAriesMocks::init();
208211

209-
let cred1 = CredInfo {
212+
let cred1 = CredInfoVerifier {
210213
schema_id: "schema_key1".to_string(),
211214
cred_def_id: "cred_def_key1".to_string(),
212215
rev_reg_id: None,
213216
timestamp: None,
214217
};
215-
let cred2 = CredInfo {
218+
let cred2 = CredInfoVerifier {
216219
schema_id: "schema_key2".to_string(),
217220
cred_def_id: "cred_def_key2".to_string(),
218221
rev_reg_id: None,
219222
timestamp: None,
220223
};
221224
let credentials = vec![cred1, cred2];
222-
let schema_json = build_schemas_json(&credentials).unwrap();
225+
let schema_json = build_schemas_json_verifier(&credentials).unwrap();
223226

224227
let json: Value = serde_json::from_str(SCHEMA_JSON).unwrap();
225228
let expected = json!({SCHEMA_ID:json}).to_string();
@@ -231,13 +234,13 @@ pub mod tests {
231234
fn test_build_rev_reg_defs_json() {
232235
let _setup = SetupStrictAriesMocks::init();
233236

234-
let cred1 = CredInfo {
237+
let cred1 = CredInfoVerifier {
235238
schema_id: "schema_key1".to_string(),
236239
cred_def_id: "cred_def_key1".to_string(),
237240
rev_reg_id: Some("id1".to_string()),
238241
timestamp: None,
239242
};
240-
let cred2 = CredInfo {
243+
let cred2 = CredInfoVerifier {
241244
schema_id: "schema_key2".to_string(),
242245
cred_def_id: "cred_def_key2".to_string(),
243246
rev_reg_id: Some("id2".to_string()),
@@ -256,13 +259,13 @@ pub mod tests {
256259
fn test_build_rev_reg_json() {
257260
let _setup = SetupStrictAriesMocks::init();
258261

259-
let cred1 = CredInfo {
262+
let cred1 = CredInfoVerifier {
260263
schema_id: "schema_key1".to_string(),
261264
cred_def_id: "cred_def_key1".to_string(),
262265
rev_reg_id: Some("id1".to_string()),
263266
timestamp: Some(1),
264267
};
265-
let cred2 = CredInfo {
268+
let cred2 = CredInfoVerifier {
266269
schema_id: "schema_key2".to_string(),
267270
cred_def_id: "cred_def_key2".to_string(),
268271
rev_reg_id: Some("id2".to_string()),

0 commit comments

Comments
 (0)