Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,8 @@ ark-ff = { version = "0.6", features = ["asm", "std"] }
ark-poly = "0.6"
ark-serialize = "0.6"
ark-std = { version = "0.6", features = ["std"] }
mavros-vm = { git = "https://github.com/reilabs/mavros", rev = "a4f2a3d7aa430a27238bef401f772bfb9b2d0d01" }
mavros-artifacts = { git = "https://github.com/reilabs/mavros", rev = "a4f2a3d7aa430a27238bef401f772bfb9b2d0d01" }
mavros-vm = { git = "https://github.com/reilabs/mavros", rev = "42b6c5aead8a18d67a3f760520886f9cf8a01fb8" }
mavros-artifacts = { git = "https://github.com/reilabs/mavros", rev = "42b6c5aead8a18d67a3f760520886f9cf8a01fb8" }
spongefish = { package = "provekit-spongefish", version = "=0.2.0", features = [
"ark-ff",
"sha2",
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ graph LR
Recursive --> Groth16[Groth16 proof]
```

The default Noir frontend reads a package, produces ACIR, lowers that ACIR into R1CS, and writes `.pkp`/`.pkv` key files. Circuits that benefit from a direct R1CS frontend can use [`mavros`](https://github.com/reilabs/mavros) with `prepare --compiler mavros` and an explicit `--r1cs` file. Build the Mavros CLI from the `mavros-vm` revision pinned in `Cargo.toml` to ensure artifact compatibility.
The default Noir frontend reads a package, produces ACIR, lowers that ACIR into R1CS, and writes `.pkp`/`.pkv` key files. Circuits that benefit from a direct R1CS frontend can use [`mavros`](https://github.com/reilabs/mavros) with `prepare --compiler mavros` on the `.mavros` artifact it writes. Build the Mavros CLI from the `mavros-vm` revision pinned in `Cargo.toml` to ensure artifact compatibility.

## Example Circuit

Expand Down Expand Up @@ -114,7 +114,7 @@ Swift, Kotlin, troubleshooting, and deployment checklists, see

## Advanced Usage

- **Direct R1CS frontend:** after generating Mavros artifacts, call `provekit-cli prepare --compiler mavros <artifacts.json> --r1cs <r1cs.bin>`. The circuit computes its return; a `return` entry in `Prover.toml` is optional and, when present, checked against it. The Mavros R1CS digest carried by `r1cs.bin` is verified on load and bound into every proof's transcript. Use `scripts/mavros_parity.sh` to compare both frontends.
- **Direct R1CS frontend:** after `mavros compile`, call `provekit-cli prepare --compiler mavros <target/program.mavros>`. The circuit computes its return; a `return` entry in `Prover.toml` is optional and, when present, checked against it. The artifact's digests are verified on load and its circuit digest is bound into every proof's transcript. Use `scripts/mavros_parity.sh` to compare both frontends.
- **Recursive verifier inputs:** `provekit-cli generate-gnark-inputs <verifier.pkv> <proof.np>` writes `params_for_recursive_verifier` and `r1cs.json` by default; use `--params` and `--r1cs` to override those paths.
- **Inspection commands:** use `circuit-stats` for Noir ACIR/R1CS structure, `analyze-pkp` for Noir prover-key size breakdowns, and `show-inputs` for public inputs.
- **FFI integration:** start in [`tooling/provekit-ffi/`](tooling/provekit-ffi/) for C ABI headers, mobile build targets, and host-language examples.
Expand Down
2 changes: 0 additions & 2 deletions noir-examples/power/.gitignore

This file was deleted.

317 changes: 0 additions & 317 deletions noir-examples/power/basic.json

This file was deleted.

Binary file added noir-examples/power/program.mavros
Binary file not shown.
Binary file removed noir-examples/power/r1cs.bin
Binary file not shown.
1 change: 1 addition & 0 deletions provekit/backend/bn254/src/scheme/mavros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ mod wasm_stubs {
pub algebraic_size: usize,
pub multiplicities_size: usize,
pub challenges_size: usize,
pub logup_repetitions: usize,
pub tables_data_size: usize,
pub lookups_data_size: usize,
}
Expand Down
Loading
Loading