garaga-rs crate
Overview
Module Structure
tools/garaga_rs/src/
├── lib.rs # Crate entry point
├── definitions.rs # Curve definitions (6 curves)
├── io.rs # Field element serialization
├── algebra/ # EC operations
│ ├── g1point.rs # G1 point arithmetic
│ ├── g2point.rs # G2 point arithmetic
│ ├── polynomial.rs # Polynomial operations
│ └── extf_mul.rs # Extension field multiplication
├── calldata/ # Proof serialization
│ ├── msm_calldata.rs # MSM calldata generation
│ ├── mpc_calldata.rs # Multi-pairing check calldata
│ └── full_proof_with_hints/
│ ├── groth16.rs # Groth16 (+ RISC0, SP1)
│ └── zk_honk.rs # ZK Honk calldata
├── pairing/ # Pairing operations
│ ├── multi_miller_loop.rs
│ └── final_exp_witness/
├── ecip/ # ECIP protocol
│ ├── core.rs # ECIP hint generation
│ └── ff.rs # Function field arithmetic
├── hints/ # Cryptographic hints
│ ├── fake_glv.rs # GLV decomposition
│ └── eisenstein.rs # Eisenstein integers
├── crypto/ # Hash functions
│ ├── poseidon_bn254.rs # Poseidon hash
│ └── mmr/ # Merkle Mountain Range
├── python_bindings/ # PyO3 bindings
└── wasm_bindings.rs # WASM bindingsSupported Curves
ID
Curve
Use Cases
Feature Flags
Key Exports
Python Bindings
WASM Bindings
Building
For Python (via maturin)
For WASM
Docker build (reproducible)
Testing
Dependencies
Next Steps
Last updated
Was this helpful?