#[cfg(all(feature = "proving", not(feature = "zkvm")))]
pub mod zk;
#[cfg(not(feature = "zkvm"))]
pub mod common;
#[cfg(all(feature = "config", not(feature = "zkvm")))]
pub mod config;
#[cfg(feature = "ipfs-cache")]
pub mod ipfs;
#[cfg(not(feature = "zkvm"))]
pub mod keys;
#[cfg(not(feature = "zkvm"))]
pub mod io;
#[cfg(not(feature = "zkvm"))]
pub mod rpc;
pub use newton_rego_kernel::rego;
pub use newton_rego_kernel::eval;
#[cfg(feature = "database")]
pub mod database;
#[cfg(feature = "privacy")]
pub mod crypto;
#[cfg(feature = "threshold")]
pub mod dkg;
#[cfg(feature = "attestation")]
pub mod attestation;
#[cfg(not(feature = "zkvm"))]
pub mod pcr0_sentinels;
#[cfg(not(feature = "zkvm"))]
pub mod pcr0_provider;
pub mod error;
#[cfg(not(feature = "zkvm"))]
pub mod merkle;
#[cfg(not(feature = "zkvm"))]
pub mod version;
#[cfg(feature = "policy-cache")]
pub mod cache;
#[cfg(not(target_os = "zkvm"))]
mod generated;
#[cfg(not(target_os = "zkvm"))]
pub use generated::{
attestation_proof_verifier, attestation_validator, batch_task_manager, bn254_table_calculator, challenge_verifier,
confidential_data_registry, ecdsa_operator_table_updater, eip712_upgradeable, enclave_version_registry,
epoch_registry, identity_registry, mock_newton_policy_client, newton_addresses_provider,
newton_cross_chain_registry, newton_message, newton_policy, newton_policy_client, newton_policy_data,
newton_policy_data_factory, newton_policy_factory, newton_prover_dest_task_manager, newton_prover_service_manager,
newton_prover_task_manager, operator_registry, operator_registry_epoch_governance, operator_table_updater,
policy_client_registry, rego_verifier, state_commit_registry, view_bn254_certificate_verifier,
};
#[cfg(not(target_os = "zkvm"))]
pub use generated::view_bn254_certificate_verifier as bn254_certificate_verifier;
pub use rego::evaluate;
pub type TaskId = alloy::primitives::B256;
pub type PolicyId = alloy::primitives::B256;
alloy::sol! {
struct BN254Certificate {
uint32 referenceTimestamp;
bytes32 messageHash;
}
}