pub mod file;
mod interner;
mod noir_proof_scheme;
pub mod prefix_covector;
mod prover;
mod r1cs;
pub mod sparse_matrix;
pub mod utils;
mod verifier;
mod whir_r1cs;
pub mod witness;
use crate::{
interner::{InternedFieldElement, Interner},
sparse_matrix::{HydratedSparseMatrix, SparseMatrix},
};
pub use {
acir::FieldElement as NoirElement,
ark_bn254::Fr as FieldElement,
noir_proof_scheme::{NoirProof, NoirProofScheme},
noirc_abi::{
input_parser::{Format, InputValue},
InputMap,
},
prefix_covector::{OffsetCovector, PrefixCovector, SparseCovector},
prover::Prover,
r1cs::R1CS,
verifier::Verifier,
whir_r1cs::{
WhirConfig, WhirDomainSeparator, WhirProof, WhirProverState, WhirR1CSProof, WhirR1CSScheme,
WhirZkConfig,
},
witness::PublicInputs,
};
pub type TranscriptSponge = spongefish::instantiations::SHA256;
pub fn register_ntt() {
use std::sync::{Arc, Once};
static INIT: Once = Once::new();
INIT.call_once(|| {
let ntt: Arc<dyn whir::algebra::ntt::ReedSolomon<FieldElement>> =
Arc::new(whir::algebra::ntt::ArkNtt::<FieldElement>::default());
whir::algebra::ntt::NTT.insert(ntt);
});
}