@@ -45,6 +45,7 @@ pub enum Selector {
45
45
Groth16V2_0 = 0x9f39696c ,
46
46
SetVerifierV0_1 = 0xbfca9ccb ,
47
47
SetVerifierV0_2 = 0x16a15cc8 ,
48
+ SetVerifierV0_4 = 0xf443ad7b ,
48
49
}
49
50
50
51
impl Display for Selector {
@@ -64,6 +65,7 @@ impl TryFrom<u32> for Selector {
64
65
0x9f39696c => Ok ( Selector :: Groth16V2_0 ) ,
65
66
0xbfca9ccb => Ok ( Selector :: SetVerifierV0_1 ) ,
66
67
0x16a15cc8 => Ok ( Selector :: SetVerifierV0_2 ) ,
68
+ 0xf443ad7b => Ok ( Selector :: SetVerifierV0_4 ) ,
67
69
_ => Err ( SelectorError :: UnsupportedSelector ) ,
68
70
}
69
71
}
@@ -95,6 +97,10 @@ impl Selector {
95
97
"16a15cc8c94a59dc3e4e41226bc560ecda596a371a487b7ecc6b65d9516dfbdb" ,
96
98
)
97
99
. unwrap ( ) ) ,
100
+ Selector :: SetVerifierV0_4 => Ok ( Digest :: from_hex (
101
+ "f443ad7bfe538ec90fa38498afd30b27b7d06336f20249b620a6d85ab3c615b6" ,
102
+ )
103
+ . unwrap ( ) ) ,
98
104
}
99
105
}
100
106
@@ -104,7 +110,9 @@ impl Selector {
104
110
Selector :: Groth16V1_1 | Selector :: Groth16V1_2 | Selector :: Groth16V2_0 => {
105
111
SelectorType :: Groth16
106
112
}
107
- Selector :: SetVerifierV0_1 | Selector :: SetVerifierV0_2 => SelectorType :: SetVerifier ,
113
+ Selector :: SetVerifierV0_1 | Selector :: SetVerifierV0_2 | Selector :: SetVerifierV0_4 => {
114
+ SelectorType :: SetVerifier
115
+ }
108
116
}
109
117
}
110
118
@@ -122,8 +130,8 @@ mod tests {
122
130
Groth16ReceiptVerifierParameters ,
123
131
} ;
124
132
125
- // SetBuilder image ID v0.2 .0 (built using RISC0_USE_DOCKER )
126
- const SET_BUILDER_ID : & str = "a0a8e6243e40f65bbf8a5258a88591699df2fa5d6fc6495876992e53de08bbe5 " ;
133
+ // SetBuilder image ID v0.4 .0 (built using cargo risczero build v2.0.0 )
134
+ const SET_BUILDER_ID : & str = "8888bf20b2be0ca935e166325578c336cc16355f9b63e7e5279c71a0a97f4df9 " ;
127
135
128
136
#[ test]
129
137
fn print_verifier_parameters ( ) {
0 commit comments