Trait franklin_crypto::jubjub::JubjubParams
source · pub trait JubjubParams<E: JubjubEngine>: Sized {
// Required methods
fn edwards_d(&self) -> &E::Fr;
fn montgomery_a(&self) -> &E::Fr;
fn montgomery_2a(&self) -> &E::Fr;
fn scale(&self) -> &E::Fr;
fn pedersen_hash_generators(&self) -> &[Point<E, PrimeOrder>];
fn pedersen_hash_exp_table(&self) -> &[Vec<Vec<Point<E, PrimeOrder>>>];
fn pedersen_hash_chunks_per_generator(&self) -> usize;
fn pedersen_circuit_generators(&self) -> &[Vec<Vec<(E::Fr, E::Fr)>>];
fn fixed_base_chunks_per_generator(&self) -> usize;
fn generator(&self, base: FixedGenerators) -> &Point<E, PrimeOrder>;
fn circuit_generators(
&self,
base: FixedGenerators,
) -> &[Vec<(E::Fr, E::Fr)>];
fn pedersen_hash_exp_window_size(&self) -> u32;
}
Expand description
The pre-computed parameters for Jubjub, including curve constants and various limits and window tables.
Required Methods§
sourcefn montgomery_a(&self) -> &E::Fr
fn montgomery_a(&self) -> &E::Fr
The A
constant of the birationally equivalent Montgomery curve.
sourcefn montgomery_2a(&self) -> &E::Fr
fn montgomery_2a(&self) -> &E::Fr
The A
constant, doubled.
sourcefn pedersen_hash_generators(&self) -> &[Point<E, PrimeOrder>]
fn pedersen_hash_generators(&self) -> &[Point<E, PrimeOrder>]
Returns the generators (for each segment) used in all Pedersen commitments.
sourcefn pedersen_hash_exp_table(&self) -> &[Vec<Vec<Point<E, PrimeOrder>>>]
fn pedersen_hash_exp_table(&self) -> &[Vec<Vec<Point<E, PrimeOrder>>>]
Returns the exp table for Pedersen hashes.
sourcefn pedersen_hash_chunks_per_generator(&self) -> usize
fn pedersen_hash_chunks_per_generator(&self) -> usize
Returns the maximum number of chunks per segment of the Pedersen hash.
sourcefn pedersen_circuit_generators(&self) -> &[Vec<Vec<(E::Fr, E::Fr)>>]
fn pedersen_circuit_generators(&self) -> &[Vec<Vec<(E::Fr, E::Fr)>>]
Returns the pre-computed window tables [-4, 3, 2, 1, 1, 2, 3, 4] of different magnitudes of the Pedersen hash segment generators.
sourcefn fixed_base_chunks_per_generator(&self) -> usize
fn fixed_base_chunks_per_generator(&self) -> usize
Returns the number of chunks needed to represent a full scalar during fixed-base exponentiation.
sourcefn generator(&self, base: FixedGenerators) -> &Point<E, PrimeOrder>
fn generator(&self, base: FixedGenerators) -> &Point<E, PrimeOrder>
Returns a fixed generator.
sourcefn circuit_generators(&self, base: FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>]
fn circuit_generators(&self, base: FixedGenerators) -> &[Vec<(E::Fr, E::Fr)>]
Returns a window table [0, 1, …, 8] for different magnitudes of some fixed generator.
sourcefn pedersen_hash_exp_window_size(&self) -> u32
fn pedersen_hash_exp_window_size(&self) -> u32
Returns the window size for exponentiation of Pedersen hash generators outside the circuit