11#![ allow( static_mut_refs) ]
22
3- mod euclid;
43mod euclidv2;
5-
64use anyhow:: { bail, Result } ;
7- use euclid:: EuclidVerifier ;
85use euclidv2:: EuclidV2Verifier ;
96use serde:: { Deserialize , Serialize } ;
107use std:: { cell:: OnceCell , path:: Path , rc:: Rc } ;
@@ -42,26 +39,14 @@ pub struct VerifierConfig {
4239type HardForkName = String ;
4340
4441struct VerifierPair ( HardForkName , Rc < Box < dyn ProofVerifier > > ) ;
45-
46- static mut VERIFIER_LOW : OnceCell < VerifierPair > = OnceCell :: new ( ) ;
4742static mut VERIFIER_HIGH : OnceCell < VerifierPair > = OnceCell :: new ( ) ;
4843
4944pub fn init ( config : VerifierConfig ) {
50- let verifier = EuclidVerifier :: new ( & config. high_version_circuit . assets_path ) ;
51- unsafe {
52- VERIFIER_LOW
53- . set ( VerifierPair (
54- "euclid" . to_string ( ) ,
55- Rc :: new ( Box :: new ( verifier) ) ,
56- ) )
57- . unwrap_unchecked ( ) ;
58- }
59-
6045 let verifier = EuclidV2Verifier :: new ( & config. high_version_circuit . assets_path ) ;
6146 unsafe {
6247 VERIFIER_HIGH
6348 . set ( VerifierPair (
64- "euclidV2" . to_string ( ) ,
49+ config . high_version_circuit . fork_name ,
6550 Rc :: new ( Box :: new ( verifier) ) ,
6651 ) )
6752 . unwrap_unchecked ( ) ;
@@ -70,12 +55,6 @@ pub fn init(config: VerifierConfig) {
7055
7156pub fn get_verifier ( fork_name : & str ) -> Result < Rc < Box < dyn ProofVerifier > > > {
7257 unsafe {
73- if let Some ( verifier) = VERIFIER_LOW . get ( ) {
74- if verifier. 0 == fork_name {
75- return Ok ( verifier. 1 . clone ( ) ) ;
76- }
77- }
78-
7958 if let Some ( verifier) = VERIFIER_HIGH . get ( ) {
8059 if verifier. 0 == fork_name {
8160 return Ok ( verifier. 1 . clone ( ) ) ;
0 commit comments