Expand description
§Samaharam (സമാഹാരം)
Scalable heterogeneous zero-knowledge proof aggregation for EVM chains.
§Features
- Heterogeneous aggregation: Aggregate proofs from different circuits
- EVM-compatible: BN254 curve with Solidity verifier generation
- Type-safe: TypeState pattern for compile-time proof lifecycle
- Scalable: Parallel processing and batched aggregation
§Quick Start
ⓘ
use samaharam::{Aggregator, Bn254};
let aggregator = Aggregator::<Bn254>::builder()
.with_srs(srs)
.max_batch_size(32)
.build()?;
let vk_id = aggregator.register_circuit("transfer", vk);
let proof = Proof::new(data, public_inputs, vk_id);
let verified = proof.verify(&aggregator.registry())?;
aggregator.submit(verified)?;
let aggregated = aggregator.aggregate()?;Re-exports§
pub use aggregator::Aggregator;pub use backend::bn254::Bn254;pub use config::AggregatorBuilder;pub use crypto::TRANSCRIPT_VERSION;pub use error::ConfigError;pub use error::Error;pub use proof::Aggregated;pub use proof::Batched;pub use proof::Pending;pub use proof::Proof;pub use proof::Verified;pub use registry::VkId;pub use registry::VkRegistry;pub use traits::PairingEngine;
Modules§
- adapters
- External proof adapters for aggregating proofs from other systems. External proof adapters for aggregation.
- aggregator
- Main aggregator for heterogeneous proof aggregation.
- backend
- Curve backends for proof aggregation.
- circuit
- Aggregation circuit for heterogeneous proof verification.
- client
- High-level client API for proof aggregation.
- config
- Aggregator configuration using the Builder pattern.
- crypto
- Cryptographic primitives for proof aggregation.
- error
- Error types for samaharam.
- proof
- Proof state types using the TypeState pattern.
- registry
- Verification key registry for heterogeneous proof types.
- srs
- SRS utilities for loading trusted setup ceremony data. SRS (Structured Reference String) utilities.
- traits
- Core traits for proof aggregation.
Type Aliases§
- Bn254
Aggregator - Type alias for the primary BN254-based aggregator