1#[cfg(not(target_arch = "wasm32"))]
2pub mod file;
3mod interner;
4mod noir_proof_scheme;
5pub mod prefix_covector;
6mod prover;
7mod r1cs;
8pub mod sparse_matrix;
10pub mod utils;
11mod verifier;
12mod whir_r1cs;
13pub mod witness;
14
15use crate::{
16 interner::{InternedFieldElement, Interner},
17 sparse_matrix::{HydratedSparseMatrix, SparseMatrix},
18};
19pub use {
20 acir::FieldElement as NoirElement,
21 ark_bn254::Fr as FieldElement,
22 noir_proof_scheme::{NoirProof, NoirProofScheme},
23 noirc_abi::{
24 input_parser::{Format, InputValue},
25 InputMap,
26 },
27 prefix_covector::{OffsetCovector, PrefixCovector, SparseCovector},
28 prover::Prover,
29 r1cs::R1CS,
30 verifier::Verifier,
31 whir_r1cs::{
32 WhirConfig, WhirDomainSeparator, WhirProof, WhirProverState, WhirR1CSProof, WhirR1CSScheme,
33 WhirZkConfig,
34 },
35 witness::PublicInputs,
36};
37
38pub type TranscriptSponge = spongefish::instantiations::SHA256;
40
41pub fn register_ntt() {
46 use std::sync::{Arc, Once};
47 static INIT: Once = Once::new();
48 INIT.call_once(|| {
49 let ntt: Arc<dyn whir::algebra::ntt::ReedSolomon<FieldElement>> =
50 Arc::new(whir::algebra::ntt::ArkNtt::<FieldElement>::default());
51 whir::algebra::ntt::NTT.insert(ntt);
52
53 });
57}