@@ -73,7 +73,7 @@ impl<F: Field> PublicKey<F> for RadicalPublicKey<F> {
7373 type CheckingRandomness = ( ) ;
7474 const CHECKING_RANDOMNESS_SIZE : usize = 0 ;
7575 fn challenge_randomness (
76- verifier_state : & mut VerifierState ,
76+ _verifier_state : & mut VerifierState ,
7777 ) -> Result < Self :: CheckingRandomness , ProofError > {
7878 Ok ( ( ) )
7979 }
@@ -100,9 +100,9 @@ impl<F: Field> PublicKey<F> for RadicalPublicKey<F> {
100100 }
101101 fn direct_evaluate_constraints (
102102 & self ,
103- x : F ,
104- randomness : & Self :: CheckingRandomness ,
105- openings : & [ <Self :: Checker as Checker < F > >:: Openings ; 2 ] ,
103+ _x : F ,
104+ _randomness : & Self :: CheckingRandomness ,
105+ _openings : & [ <Self :: Checker as Checker < F > >:: Openings ; 2 ] ,
106106 ) -> F {
107107 F :: ZERO
108108 }
@@ -344,35 +344,36 @@ pub fn expand_keys<const PATH_LENGTH_DIV_64: usize, F: Field>(
344344 )
345345}
346346
347+ #[ inline]
347348pub fn starting_curve < F : Field > ( ) -> ( F , F ) {
348349 ( F :: from ( 0 ) , F :: from ( 251948161 ) )
349350}
350351
352+ #[ inline]
351353pub fn starting_j_invariant < F : Field > ( ) -> F {
352354 let ( a_start, c_start) = starting_curve ( ) ;
353355 compute_j_invariant ( a_start, c_start)
354356}
355357
358+ #[ inline]
356359pub fn build_path < F : Field > ( key : & [ OneOrMinusOne ] ) -> ( Vec < F > , Vec < F > ) {
357360 let mut a: Vec < F > = Vec :: with_capacity ( key. len ( ) ) ;
358361 let mut c: Vec < F > = Vec :: with_capacity ( key. len ( ) ) ;
359362 let ( a_start, c_start) = starting_curve ( ) ;
360363 a. push ( a_start) ;
361364 c. push ( c_start) ;
362365
363- let mut a_curr = a [ 0 ] ;
364- let mut c_curr = c [ 0 ] ;
366+ let mut a_curr = a_start ;
367+ let mut c_curr = c_start ;
365368 for k in key. iter ( ) {
366369 let c_sqrt = k. into_field :: < F > ( )
367370 * ( c_curr
368371 . sqrt ( )
369372 . expect ( "could not follow path - C_i is not a square residue" ) ) ;
370- let a_next = F :: from ( 6 ) * c_sqrt + a_curr;
371- let c_next = F :: from ( 4 ) * c_sqrt * a_curr + F :: from ( 8 ) * c_curr;
372- a. push ( a_next) ;
373- c. push ( c_next) ;
374- a_curr = a_next;
375- c_curr = c_next;
373+ c_curr = ( c_curr + c_curr + c_sqrt * a_curr) * F :: from ( 4 ) ;
374+ a_curr = a_curr + F :: from ( 6 ) * c_sqrt;
375+ a. push ( a_curr) ;
376+ c. push ( c_curr) ;
376377 }
377378
378379 ( a, c)
0 commit comments