forked from bluealloy/revm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbls12_381.rs
36 lines (34 loc) · 798 Bytes
/
bls12_381.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use crate::PrecompileWithAddress;
mod g1;
#[cfg(feature = "blst")]
pub mod g1_add;
#[cfg(feature = "blst")]
pub mod g1_msm;
mod g2;
#[cfg(feature = "blst")]
pub mod g2_add;
#[cfg(feature = "blst")]
pub mod g2_msm;
#[cfg(feature = "blst")]
pub mod map_fp2_to_g2;
#[cfg(feature = "blst")]
pub mod map_fp_to_g1;
#[cfg(feature = "blst")]
pub mod pairing;
mod utils;
pub mod bls12_381_const;
pub mod msm;
/// Returns the BLS12-381 precompiles with their addresses.
#[cfg(feature = "blst")]
pub fn precompiles() -> impl Iterator<Item = PrecompileWithAddress> {
[
g1_add::PRECOMPILE,
g1_msm::PRECOMPILE,
g2_add::PRECOMPILE,
g2_msm::PRECOMPILE,
pairing::PRECOMPILE,
map_fp_to_g1::PRECOMPILE,
map_fp2_to_g2::PRECOMPILE,
]
.into_iter()
}