revm_primitives/kzg.rs
1cfg_if::cfg_if! {
2 if #[cfg(feature = "c-kzg")] {
3 pub use c_kzg::KzgSettings;
4 /// KZG Settings that allow us to specify a custom trusted setup.
5 /// or use hardcoded default settings.
6 #[derive(Debug, Clone, Default, PartialEq, Eq )]
7 pub enum EnvKzgSettings {
8 /// Default mainnet trusted setup
9 #[default]
10 Default,
11 /// Custom trusted setup.
12 Custom(std::sync::Arc<c_kzg::KzgSettings>),
13 }
14
15 impl EnvKzgSettings {
16 /// Return set KZG settings.
17 ///
18 /// In will initialize the default settings if it is not already loaded.
19 pub fn get(&self) -> &c_kzg::KzgSettings {
20 match self {
21 Self::Default => {
22 c_kzg::ethereum_kzg_settings()
23 }
24 Self::Custom(settings) => settings,
25 }
26 }
27 }
28 } else if #[cfg(feature = "kzg-rs")] {
29 pub use kzg_rs::{KzgSettings,EnvKzgSettings};
30 }
31}