@@ -14,7 +14,7 @@ use digest::core_api::BlockSizeUser;
14
14
use digest:: OutputSizeUser ;
15
15
use generic_array:: typenum:: { IsLess , IsLessOrEqual , Sum , U256 } ;
16
16
use generic_array:: ArrayLength ;
17
- use json :: JsonValue ;
17
+ use serde_json :: Value ;
18
18
19
19
use crate :: tests:: mock_rng:: CycleRng ;
20
20
use crate :: tests:: parser:: * ;
@@ -40,7 +40,7 @@ struct VOPRFTestVectorParameters {
40
40
output : Vec < Vec < u8 > > ,
41
41
}
42
42
43
- fn populate_test_vectors ( values : & JsonValue ) -> VOPRFTestVectorParameters {
43
+ fn populate_test_vectors ( values : & Value ) -> VOPRFTestVectorParameters {
44
44
VOPRFTestVectorParameters {
45
45
seed : decode ( values, "Seed" ) ,
46
46
sksm : decode ( values, "skSm" ) ,
@@ -57,14 +57,14 @@ fn populate_test_vectors(values: &JsonValue) -> VOPRFTestVectorParameters {
57
57
}
58
58
}
59
59
60
- fn decode ( values : & JsonValue , key : & str ) -> Vec < u8 > {
60
+ fn decode ( values : & Value , key : & str ) -> Vec < u8 > {
61
61
values[ key]
62
62
. as_str ( )
63
63
. and_then ( |s| hex:: decode ( s) . ok ( ) )
64
64
. unwrap_or_default ( )
65
65
}
66
66
67
- fn decode_vec ( values : & JsonValue , key : & str ) -> Vec < Vec < u8 > > {
67
+ fn decode_vec ( values : & Value , key : & str ) -> Vec < Vec < u8 > > {
68
68
let s = values[ key] . as_str ( ) . unwrap ( ) ;
69
69
let res = match s. contains ( ',' ) {
70
70
true => Some ( s. split ( ',' ) . map ( |x| hex:: decode ( x) . unwrap ( ) ) . collect ( ) ) ,
@@ -76,8 +76,10 @@ fn decode_vec(values: &JsonValue, key: &str) -> Vec<Vec<u8>> {
76
76
macro_rules! json_to_test_vectors {
77
77
( $v: ident, $cs: expr, $mode: expr ) => {
78
78
$v[ $cs] [ $mode]
79
- . members( )
80
- . map( |x| populate_test_vectors( & x) )
79
+ . as_array( )
80
+ . into_iter( )
81
+ . flatten( )
82
+ . map( populate_test_vectors)
81
83
. collect:: <Vec <VOPRFTestVectorParameters >>( )
82
84
} ;
83
85
}
@@ -86,7 +88,7 @@ macro_rules! json_to_test_vectors {
86
88
fn test_vectors ( ) -> Result < ( ) > {
87
89
use p256:: NistP256 ;
88
90
89
- let rfc = json :: parse ( rfc_to_json ( super :: cfrg_vectors:: VECTORS ) . as_str ( ) )
91
+ let rfc: Value = serde_json :: from_str ( rfc_to_json ( super :: cfrg_vectors:: VECTORS ) . as_str ( ) )
90
92
. expect ( "Could not parse json" ) ;
91
93
92
94
#[ cfg( feature = "ristretto255" ) ]
0 commit comments