revm_precompile/
bls12_381.rs1use crate::PrecompileWithAddress;
2
3cfg_if::cfg_if! {
4 if #[cfg(feature = "blst")]{
5 mod blst;
6 use blst as crypto_backend;
7 } else {
8 mod arkworks;
9 use arkworks as crypto_backend;
10 }
11}
12
13pub mod g1_add;
14pub mod g1_msm;
15pub mod g2_add;
16pub mod g2_msm;
17pub mod map_fp2_to_g2;
18pub mod map_fp_to_g1;
19pub mod pairing;
20mod utils;
21
22pub fn precompiles() -> impl Iterator<Item = PrecompileWithAddress> {
24 [
25 g1_add::PRECOMPILE,
26 g1_msm::PRECOMPILE,
27 g2_add::PRECOMPILE,
28 g2_msm::PRECOMPILE,
29 pairing::PRECOMPILE,
30 map_fp_to_g1::PRECOMPILE,
31 map_fp2_to_g2::PRECOMPILE,
32 ]
33 .into_iter()
34}