@@ -23,7 +23,6 @@ use crate::services::helpers::build_sub_proof_request;
23
23
use crate :: services:: helpers:: get_predicates_for_credential;
24
24
use crate :: services:: helpers:: get_revealed_attributes_for_credential;
25
25
use crate :: utils:: query:: Query ;
26
- use crate :: utils:: ref_map:: ReferencesMap ;
27
26
use crate :: utils:: validation:: LEGACY_DID_IDENTIFIER ;
28
27
29
28
use once_cell:: sync:: Lazy ;
@@ -44,23 +43,17 @@ static INTERNAL_TAG_MATCHER: Lazy<Regex> =
44
43
Lazy :: new ( || Regex :: new ( "^attr::([^:]+)::(value|marker)$" ) . unwrap ( ) ) ;
45
44
46
45
/// Verify an incoming proof presentation
47
- pub fn verify_presentation < ' a , T , U , V , I , Z > (
46
+ pub fn verify_presentation (
48
47
presentation : & Presentation ,
49
48
pres_req : & PresentationRequest ,
50
- schemas : & T ,
51
- cred_defs : & U ,
52
- rev_reg_defs : Option < & V > ,
53
- rev_status_lists : Option < I > ,
54
- nonrevoke_interval_override : Option < & Z > ,
55
- ) -> Result < bool >
56
- where
57
- T : ReferencesMap < SchemaId , Schema > + std:: fmt:: Debug ,
58
- U : ReferencesMap < CredentialDefinitionId , CredentialDefinition > + std:: fmt:: Debug ,
59
- V : ReferencesMap < RevocationRegistryDefinitionId , RevocationRegistryDefinition >
60
- + std:: fmt:: Debug ,
61
- I : IntoIterator < Item = & ' a RevocationStatusList > + Clone + std:: fmt:: Debug ,
62
- Z : ReferencesMap < RevocationRegistryDefinitionId , HashMap < u64 , u64 > > + std:: fmt:: Debug ,
63
- {
49
+ schemas : & HashMap < SchemaId , Schema > ,
50
+ cred_defs : & HashMap < CredentialDefinitionId , CredentialDefinition > ,
51
+ rev_reg_defs : Option < & HashMap < RevocationRegistryDefinitionId , RevocationRegistryDefinition > > ,
52
+ rev_status_lists : Option < Vec < RevocationStatusList > > ,
53
+ nonrevoke_interval_override : Option <
54
+ & HashMap < RevocationRegistryDefinitionId , HashMap < u64 , u64 > > ,
55
+ > ,
56
+ ) -> Result < bool > {
64
57
trace ! ( "verify >>> presentation: {:?}, pres_req: {:?}, schemas: {:?}, cred_defs: {:?}, rev_reg_defs: {:?} rev_status_lists: {:?}" ,
65
58
presentation, pres_req, schemas, cred_defs, rev_reg_defs, rev_status_lists) ;
66
59
@@ -105,11 +98,11 @@ where
105
98
let identifier = presentation. identifiers [ sub_proof_index] . clone ( ) ;
106
99
107
100
let schema = schemas
108
- . get_ref ( & identifier. schema_id )
101
+ . get ( & identifier. schema_id )
109
102
. ok_or_else ( || err_msg ! ( "Schema not provided for ID: {:?}" , identifier. schema_id) ) ?;
110
103
111
104
let cred_def_id = CredentialDefinitionId :: new ( identifier. cred_def_id . clone ( ) ) ?;
112
- let cred_def = cred_defs. get_ref ( & cred_def_id) . ok_or_else ( || {
105
+ let cred_def = cred_defs. get ( & cred_def_id) . ok_or_else ( || {
113
106
err_msg ! (
114
107
"Credential Definition not provided for ID: {:?}" ,
115
108
identifier. cred_def_id
@@ -129,7 +122,7 @@ where
129
122
. timestamp ( )
130
123
. ok_or_else ( || err_msg ! ( Unexpected , "RevStatusList missing timestamp" ) ) ?;
131
124
132
- let rev_reg: Option < RevocationRegistry > = list. into ( ) ;
125
+ let rev_reg: Option < RevocationRegistry > = ( & list) . into ( ) ;
133
126
let rev_reg = rev_reg. ok_or_else ( || {
134
127
err_msg ! ( Unexpected , "Revocation status list missing accumulator" )
135
128
} ) ?;
@@ -210,7 +203,7 @@ where
210
203
211
204
// Override Interval if an earlier `from` value is accepted by the verifier
212
205
nonrevoke_interval_override. map ( |maps| {
213
- maps. get_ref ( & rev_reg_def_id) . map ( |map| {
206
+ maps. get ( & rev_reg_def_id) . map ( |map| {
214
207
cred_nonrevoked_interval
215
208
. as_mut ( )
216
209
. map ( |int| int. update_with_override ( map) )
@@ -225,7 +218,7 @@ where
225
218
let rev_reg_def = Some (
226
219
rev_reg_defs
227
220
. ok_or_else ( || err_msg ! ( "Could not load the Revocation Registry Definition" ) ) ?
228
- . get_ref ( & rev_reg_def_id)
221
+ . get ( & rev_reg_def_id)
229
222
. ok_or_else ( || {
230
223
err_msg ! (
231
224
"Revocation Registry Definition not provided for ID: {:?}" ,
@@ -500,20 +493,16 @@ fn verify_revealed_attribute_value(
500
493
}
501
494
502
495
#[ allow( clippy:: too_many_arguments) ]
503
- fn verify_requested_restrictions < T , U > (
496
+ fn verify_requested_restrictions (
504
497
pres_req : & PresentationRequestPayload ,
505
- schemas : & T ,
506
- cred_defs : & U ,
498
+ schemas : & HashMap < SchemaId , Schema > ,
499
+ cred_defs : & HashMap < CredentialDefinitionId , CredentialDefinition > ,
507
500
requested_proof : & RequestedProof ,
508
501
received_revealed_attrs : & HashMap < String , Identifier > ,
509
502
received_unrevealed_attrs : & HashMap < String , Identifier > ,
510
503
received_predicates : & HashMap < String , Identifier > ,
511
504
self_attested_attrs : & HashSet < String > ,
512
- ) -> Result < ( ) >
513
- where
514
- T : ReferencesMap < SchemaId , Schema > ,
515
- U : ReferencesMap < CredentialDefinitionId , CredentialDefinition > ,
516
- {
505
+ ) -> Result < ( ) > {
517
506
let proof_attr_identifiers: HashMap < String , Identifier > = received_revealed_attrs
518
507
. iter ( )
519
508
. chain ( received_unrevealed_attrs)
@@ -671,16 +660,12 @@ fn is_self_attested(
671
660
}
672
661
}
673
662
674
- fn gather_filter_info < T , U > (
663
+ fn gather_filter_info (
675
664
referent : & str ,
676
665
identifiers : & HashMap < String , Identifier > ,
677
- schemas : & T ,
678
- cred_defs : & U ,
679
- ) -> Result < Filter >
680
- where
681
- T : ReferencesMap < SchemaId , Schema > ,
682
- U : ReferencesMap < CredentialDefinitionId , CredentialDefinition > ,
683
- {
666
+ schemas : & HashMap < SchemaId , Schema > ,
667
+ cred_defs : & HashMap < CredentialDefinitionId , CredentialDefinition > ,
668
+ ) -> Result < Filter > {
684
669
let identifier = identifiers. get ( referent) . ok_or_else ( || {
685
670
err_msg ! (
686
671
InvalidState ,
@@ -693,11 +678,11 @@ where
693
678
let cred_def_id = & identifier. cred_def_id ;
694
679
695
680
let schema = schemas
696
- . get_ref ( schema_id)
681
+ . get ( schema_id)
697
682
. ok_or_else ( || err_msg ! ( "schema_id {schema_id} could not be found in the schemas" ) ) ?;
698
683
699
684
let cred_def = cred_defs
700
- . get_ref ( cred_def_id)
685
+ . get ( cred_def_id)
701
686
. ok_or_else ( || err_msg ! ( "cred_def_id {cred_def_id} could not be found in the cred_defs" ) ) ?;
702
687
703
688
Ok ( Filter {
0 commit comments