@@ -76,26 +76,16 @@ pub extern "C" fn credx_create_presentation(
76
76
) ) ;
77
77
}
78
78
79
- let entries = {
80
- let credentials = credentials. as_slice ( ) ;
81
- credentials. into_iter ( ) . try_fold (
82
- Vec :: with_capacity ( credentials. len ( ) ) ,
83
- |mut r, ffi_entry| {
84
- r. push ( ffi_entry. load ( ) ?) ;
85
- Result :: Ok ( r)
86
- } ,
87
- ) ?
88
- } ;
89
-
90
- let schemas = IndyObjectList :: load ( schemas. as_slice ( ) ) ?;
91
- let cred_defs = IndyObjectList :: load ( cred_defs. as_slice ( ) ) ?;
79
+ let entries = credentials. try_collect ( |entry| entry. load ( ) ) ?;
80
+ let schemas = IndyObjectList :: load ( schemas. as_slice ( ) ?) ?;
81
+ let cred_defs = IndyObjectList :: load ( cred_defs. as_slice ( ) ?) ?;
92
82
93
83
let self_attested = if !self_attest_names. is_empty ( ) {
94
84
let mut self_attested = HashMap :: new ( ) ;
95
85
for ( name, raw) in self_attest_names
96
- . as_slice ( )
97
- . into_iter ( )
98
- . zip ( self_attest_values. as_slice ( ) )
86
+ . as_slice ( ) ?
87
+ . iter ( )
88
+ . zip ( self_attest_values. as_slice ( ) ? )
99
89
{
100
90
let name = name
101
91
. as_opt_str ( )
@@ -125,7 +115,7 @@ pub extern "C" fn credx_create_presentation(
125
115
. transpose ( ) ?,
126
116
) ;
127
117
128
- for prove in credentials_prove. as_slice ( ) {
118
+ for prove in credentials_prove. as_slice ( ) ? {
129
119
if prove. entry_idx < 0 {
130
120
return Err ( err_msg ! ( "Invalid credential index" ) ) ;
131
121
}
@@ -239,19 +229,10 @@ fn _credx_verify_presentation(
239
229
result_p : * mut i8 ,
240
230
) -> ErrorCode {
241
231
catch_error ( || {
242
- let schemas = IndyObjectList :: load ( schemas. as_slice ( ) ) ?;
243
- let cred_defs = IndyObjectList :: load ( cred_defs. as_slice ( ) ) ?;
244
- let rev_reg_defs = IndyObjectList :: load ( rev_reg_defs. as_slice ( ) ) ?;
245
- let rev_reg_entries = {
246
- let entries = rev_reg_entries. as_slice ( ) ;
247
- entries. into_iter ( ) . try_fold (
248
- Vec :: with_capacity ( entries. len ( ) ) ,
249
- |mut r, ffi_entry| {
250
- r. push ( ffi_entry. load ( ) ?) ;
251
- Result :: Ok ( r)
252
- } ,
253
- ) ?
254
- } ;
232
+ let schemas = IndyObjectList :: load ( schemas. as_slice ( ) ?) ?;
233
+ let cred_defs = IndyObjectList :: load ( cred_defs. as_slice ( ) ?) ?;
234
+ let rev_reg_defs = IndyObjectList :: load ( rev_reg_defs. as_slice ( ) ?) ?;
235
+ let rev_reg_entries = rev_reg_entries. try_collect ( |entry| entry. load ( ) ) ?;
255
236
let mut rev_regs = HashMap :: new ( ) ;
256
237
for ( idx, entry, timestamp) in rev_reg_entries. iter ( ) {
257
238
if * idx > rev_reg_defs. len ( ) {
0 commit comments