openvm_stark_sdk/config/
mod.rs

1use derive_more::Display;
2use serde::{Deserialize, Serialize};
3use tracing::Level;
4use tracing_forest::ForestLayer;
5use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter, Registry};
6
7pub mod baby_bear_blake3;
8pub mod baby_bear_bytehash;
9pub mod baby_bear_keccak;
10pub mod baby_bear_poseidon2;
11/// Stark Config for root stark, which field is BabyBear but polynomials are committed in Bn254.
12pub mod baby_bear_poseidon2_root;
13pub mod fri_params;
14pub mod goldilocks_poseidon;
15pub mod instrument;
16pub mod log_up_params;
17
18pub use fri_params::FriParameters;
19
20pub fn setup_tracing() {
21    setup_tracing_with_log_level(Level::INFO);
22}
23
24pub fn setup_tracing_with_log_level(level: Level) {
25    // Set up tracing:
26    let env_filter = EnvFilter::try_from_default_env()
27        .unwrap_or_else(|_| EnvFilter::new(format!("{},p3_=warn", level)));
28    let _ = Registry::default()
29        .with(env_filter)
30        .with(ForestLayer::default())
31        .try_init();
32}
33
34#[derive(Clone, Copy, Default, Display, Debug, Serialize, Deserialize)]
35#[serde(rename_all = "PascalCase")]
36pub enum EngineType {
37    #[default]
38    BabyBearPoseidon2,
39    BabyBearBlake3,
40    BabyBearKeccak,
41    GoldilocksPoseidon,
42}