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