pub trait CacheableParameters<C, P>{
    // Required method
    fn cache_prefix() -> String;

    // Provided methods
    fn cache_meta(pub_params: &P) -> CacheEntryMetadata { ... }
    fn cache_identifier(pub_params: &P) -> String { ... }
    fn get_param_metadata(
        _circuit: C,
        pub_params: &P,
    ) -> Result<CacheEntryMetadata> { ... }
    fn get_groth_params<R: RngCore>(
        rng: Option<&mut R>,
        circuit: C,
        pub_params: &P,
    ) -> Result<Bls12GrothParams> { ... }
    fn get_inner_product<R: RngCore>(
        rng: Option<&mut R>,
        _circuit: C,
        pub_params: &P,
        num_proofs_to_aggregate: usize,
    ) -> Result<GenericSRS<Bls12>> { ... }
    fn get_verifying_key<R: RngCore>(
        rng: Option<&mut R>,
        circuit: C,
        pub_params: &P,
    ) -> Result<VerifyingKey<Bls12>> { ... }
}

Required Methods§

Provided Methods§

source

fn cache_meta(pub_params: &P) -> CacheEntryMetadata

source

fn cache_identifier(pub_params: &P) -> String

source

fn get_param_metadata(_circuit: C, pub_params: &P) -> Result<CacheEntryMetadata>

source

fn get_groth_params<R: RngCore>( rng: Option<&mut R>, circuit: C, pub_params: &P, ) -> Result<Bls12GrothParams>

If the rng option argument is set, parameters will be generated using it. This is used for testing only, or where parameters are otherwise unavailable (e.g. benches). If rng is not set, an error will result if parameters are not present.

source

fn get_inner_product<R: RngCore>( rng: Option<&mut R>, _circuit: C, pub_params: &P, num_proofs_to_aggregate: usize, ) -> Result<GenericSRS<Bls12>>

If the rng option argument is set, parameters will be generated using it. This is used for testing only, or where parameters are otherwise unavailable (e.g. benches). If rng is not set, an error will result if parameters are not present.

source

fn get_verifying_key<R: RngCore>( rng: Option<&mut R>, circuit: C, pub_params: &P, ) -> Result<VerifyingKey<Bls12>>

If the rng option argument is set, parameters will be generated using it. This is used for testing only, or where parameters are otherwise unavailable (e.g. benches). If rng is not set, an error will result if parameters are not present.

Object Safety§

This trait is not object safe.

Implementors§