#![warn(clippy::iter_over_hash_type)]

pub mod compile;
#[cfg(feature = "internals")]
pub mod core;
#[cfg(not(feature = "internals"))]
mod core;
mod network_content;
mod preprocess_info;
pub mod profile_info;
pub mod profile_summary;
pub mod traits;
mod types;
pub mod utils;

pub use primitives::algebra::elliptic_curve::{curve::Curve, curve25519::Curve25519Ristretto};
pub use types::{ArcisField, ArcisFloatValue, ArcisValue};

pub type AsyncMPCCircuit = core_utils::circuit::Circuit<Curve25519Ristretto>;

pub const STATISTICAL_SECURITY_FACTOR: usize = 40;

pub use core::{
    circuits::key_recovery::{utils::reed_solomon::KeyRecoveryDesc, MXE_KEYS_ENC_COUNT},
    expressions::{circuit::BaseCircuitId, expr::EvalValue},
    instruction::*,
    mxe_input::*,
};
