33//! This module manages different proof verification systems based on prover type.
44//! Each verifier implements cryptographic proof verification for a specific zkVM or proof system.
55
6+ pub mod airbender;
67pub mod fallback;
78pub mod openvm;
89pub mod pico;
@@ -37,6 +38,9 @@ pub mod ethproofs_ids {
3738 /// Used for dummy proofs when Ethproofs API fails or times out
3839 pub const FALLBACK_UUID : & str = "00000000-0000-0000-0000-000000000000" ;
3940
41+ /// Airbender verifier UUID (proof_id = 1)
42+ pub const AIRBENDER_UUID : & str = "b18507c4-50f3-4638-854a-ed625c7e685a" ;
43+
4044 /// OpenVM verifier UUID (proof_id = 2)
4145 pub const OPENVM_UUID : & str = "9b6768c0-831d-488c-ba72-05f93975a3be" ;
4246
@@ -60,6 +64,11 @@ pub mod ethproofs_ids {
6064 Uuid :: parse_str ( FALLBACK_UUID ) . expect ( "Valid UUID" )
6165 }
6266
67+ /// Parse an Airbender UUID
68+ pub fn airbender ( ) -> Uuid {
69+ Uuid :: parse_str ( AIRBENDER_UUID ) . expect ( "Valid UUID" )
70+ }
71+
6372 /// Parse an OpenVM UUID
6473 pub fn openvm ( ) -> Uuid {
6574 Uuid :: parse_str ( OPENVM_UUID ) . expect ( "Valid UUID" )
@@ -174,7 +183,7 @@ impl VerifierStore {
174183 let id = proof_id. as_u8 ( ) as u32 ;
175184 match id {
176185 0 => Some ( ethproofs_ids:: fallback ( ) ) ,
177- 1 => None , // Reserved for Airbender
186+ 1 => Some ( ethproofs_ids :: airbender ( ) ) ,
178187 2 => Some ( ethproofs_ids:: openvm ( ) ) ,
179188 3 => Some ( ethproofs_ids:: pico ( ) ) ,
180189 4 => Some ( ethproofs_ids:: sp1_hypercube ( ) ) ,
@@ -198,7 +207,12 @@ impl VerifierStore {
198207 fallback:: FallbackVerifier :: verify,
199208 ) ;
200209
201- // proof_id 1 reserved for Airbender
210+ // Register Airbender verifier (proof_id 1)
211+ store. register (
212+ ethproofs_ids:: airbender ( ) ,
213+ airbender:: AirbenderVerifier :: name ( ) ,
214+ airbender:: AirbenderVerifier :: verify,
215+ ) ;
202216
203217 // Register OpenVM verifier (proof_id 2)
204218 store. register (
0 commit comments