Skip to main content

groth16_proofs/
lib.rs

1//! Orbinum Proof Generator Library
2//!
3//! Generates Groth16 proofs from pre-calculated witness using arkworks.
4//!
5//! # Architecture
6//!
7//! - `utils`: Utility functions (hex conversions)
8//! - `circuit`: Circuit wrapper for arkworks
9//! - `proof`: Proof generation logic (native Rust)
10//! - `wasm`: WASM bindings for browser usage
11
12// Modules
13mod circuit;
14mod proof;
15mod utils;
16
17#[cfg(feature = "wasm")]
18pub mod wasm;
19
20// Public exports
21pub use circuit::WitnessCircuit;
22pub use proof::generate_proof_from_witness;
23pub use utils::{decimal_to_field, hex_to_field};
24
25// Re-export WASM functions when feature is enabled
26#[cfg(feature = "wasm")]
27pub use wasm::{compress_snarkjs_proof_wasm, generate_proof_from_decimal_wasm, init_panic_hook};