BlsOpsGasCost

Trait BlsOpsGasCost 

Source
pub trait BlsOpsGasCost {
    // Required methods
    fn decode_bytes(len: u32) -> u64;
    fn bls12_381_multi_miller_loop(count: u32) -> u64;
    fn bls12_381_final_exponentiation() -> u64;
    fn bls12_381_msm_g1(count: u32) -> u64;
    fn bls12_381_msm_g2(count: u32) -> u64;
    fn bls12_381_mul_projective_g1(count: u32) -> u64;
    fn bls12_381_mul_projective_g2(count: u32) -> u64;
    fn bls12_381_aggregate_g1(count: u32) -> u64;
    fn bls12_381_map_to_g2affine(len: u32) -> u64;
}
Expand description

BLS12-381 operations gas cost trait.

Depending on the environment (e.g., runtime or tests), different values for gas costs can be provided by implementing this trait accordingly.

Required Methods§

Source

fn decode_bytes(len: u32) -> u64

Returns gas cost for decoding bytes.

Source

fn bls12_381_multi_miller_loop(count: u32) -> u64

Returns gas cost for BLS12-381 multi Miller loop operation.

Source

fn bls12_381_final_exponentiation() -> u64

Returns gas cost for BLS12-381 final exponentiation operation.

Source

fn bls12_381_msm_g1(count: u32) -> u64

Returns gas cost for BLS12-381 MSM G1 operation.

Source

fn bls12_381_msm_g2(count: u32) -> u64

Returns gas cost for BLS12-381 MSM G2 operation.

Source

fn bls12_381_mul_projective_g1(count: u32) -> u64

Returns gas cost for BLS12-381 projective multiplication G1 operation.

Source

fn bls12_381_mul_projective_g2(count: u32) -> u64

Returns gas cost for BLS12-381 projective multiplication G2 operation.

Source

fn bls12_381_aggregate_g1(count: u32) -> u64

Returns gas cost for BLS12-381 G1 aggregation operation.

Source

fn bls12_381_map_to_g2affine(len: u32) -> u64

Returns gas cost for BLS12-381 map to G2Affine operation.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§