Skip to content

WASM Mavros integration#445

Open
veljkovranic wants to merge 16 commits into
mainfrom
wasm_mavros
Open

WASM Mavros integration#445
veljkovranic wants to merge 16 commits into
mainfrom
wasm_mavros

Conversation

@veljkovranic

@veljkovranic veljkovranic commented May 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds the Mavros WASM proving path to ProveKit and wires it into the browser demo via the new TypeScript SDK.

Includes support for loading witgen.wasm / ad.wasm, proving through the WASM bridge, verifying proofs, and lazy-loading Noir JS only for the regular path.

Testing

  • npm run build in playground/wasm-demo
  • Browser prove + verify for regular sha256_35
  • Browser prove + verify for Mavros sha256_35
  • 20-run Mavros LLVM opt comparison, all proofs verified

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown

CSP benchmarks

Metric Value
Workflow status [PASS] success
Commit 490c65ad4e02
Run #29506217248
Circuits benchmarked 21
Iterations averaged per circuit 3

Prover time, peak RSS, peak heap, and verifier time are arithmetic means across the iterations. Peak heap comes from the largest peak memory entry in provekit-cli prove's tracing output; peak RSS is reported by /usr/bin/time -v (max-resident-set-size).

Each metric cell shows the current value followed by the percentage delta against the latest successful main run #29429257697. (new) marks circuits absent from the baseline.

Results
Circuit Constraints Witnesses Prover time Peak RSS Peak heap Verifier time Proof size PKP size
ecdsa_p256 143,321 (±0.0%) 258,215 (±0.0%) 1.74 s (-0.6%) 226 MB (±0.0%) 188 MB (±0.0%) 90 ms (±0.0%) 304 KB (-0.6%) 811 KB (±0.0%)
keccak_1024 788,814 (±0.0%) 1,490,812 (±0.0%) 5.12 s (-0.3%) 897 MB (±0.0%) 874 MB (±0.0%) 447 ms (-0.7%) 371 KB (+0.2%) 5.88 MB (±0.0%)
keccak_128 157,522 (±0.0%) 304,529 (±0.0%) 1.22 s (-0.5%) 236 MB (-1.2%) 202 MB (±0.0%) 110 ms (±0.0%) 306 KB (+1.1%) 1.26 MB (±0.0%)
keccak_2048 1,507,374 (±0.0%) 2,840,532 (±0.0%) 10.14 s (-0.3%) 1.70 GB (±0.0%) 1.68 GB (±0.0%) 857 ms (+0.4%) 387 KB (-1.1%) 11.97 MB (±0.0%)
keccak_256 247,782 (±0.0%) 474,010 (±0.0%) 1.41 s (-0.5%) 290 MB (±0.0%) 249 MB (±0.0%) 150 ms (-2.2%) 330 KB (±0.0%) 1.88 MB (±0.0%)
keccak_512 428,126 (±0.0%) 812,944 (±0.0%) 2.63 s (-0.8%) 541 MB (±0.0%) 455 MB (±0.0%) 250 ms (±0.0%) 350 KB (-0.3%) 3.32 MB (±0.0%)
poseidon2_12 479 (±0.0%) 563 (±0.0%) 40 ms (±0.0%) 12.87 MB (-0.4%) 3.26 MB (±0.0%) 73.05 KB (-0.9%) 436 KB (±0.0%)
poseidon2_16 556 (±0.0%) 719 (±0.0%) 40 ms (-20.0%) 13.36 MB (+0.2%) 3.46 MB (±0.0%) 10 ms (±0.0%) 75.20 KB (+0.8%) 530 KB (±0.0%)
poseidon2_2 231 (±0.0%) 278 (±0.0%) 30 ms (-30.7%) 11.99 MB (±0.0%) 2.72 MB (±0.0%) 67.77 KB (-1.6%) 108 KB (±0.0%)
poseidon2_4 529 (±0.0%) 535 (±0.0%) 30 ms (±0.0%) 12.17 MB (-0.3%) 2.86 MB (±0.0%) 72.51 KB (-1.1%) 31.66 KB (±0.0%)
poseidon2_8 363 (±0.0%) 423 (±0.0%) 30 ms (-9.9%) 12.89 MB (±0.0%) 3.15 MB (±0.0%) 71.20 KB (-0.6%) 365 KB (±0.0%)
poseidon_12 504 (±0.0%) 524 (±0.0%) 40 ms (±0.0%) 13.39 MB (±0.0%) 3.53 MB (±0.0%) 10 ms (±0.0%) 73.59 KB (+0.4%) 569 KB (±0.0%)
poseidon_16 609 (±0.0%) 633 (±0.0%) 40 ms (±0.0%) 13.84 MB (-0.3%) 3.98 MB (±0.0%) 10 ms (±0.0%) 73.05 KB (-1.2%) 717 KB (±0.0%)
poseidon_2 240 (±0.0%) 249 (±0.0%) 30 ms (±0.0%) 11.91 MB (±0.0%) 2.68 MB (±0.0%) 66.51 KB (+2.1%) 59.18 KB (±0.0%)
poseidon_4 297 (±0.0%) 309 (±0.0%) 30 ms (-9.9%) 12.55 MB (-0.1%) 3.10 MB (±0.0%) 70.09 KB (+1.7%) 332 KB (±0.0%)
poseidon_8 402 (±0.0%) 418 (±0.0%) 30 ms (-9.9%) 12.90 MB (+0.3%) 3.29 MB (±0.0%) 10 ms (±0.0%) 70.75 KB (-1.6%) 448 KB (±0.0%)
sha256_1024 196,940 (±0.0%) 339,764 (±0.0%) 1.33 s (-0.2%) 267 MB (-1.3%) 236 MB (±0.0%) 163 ms (±0.0%) 314 KB (+0.5%) 1.87 MB (-1.5%)
sha256_128 46,398 (±0.0%) 80,974 (±0.0%) 327 ms (±0.0%) 77.11 MB (+0.8%) 55.50 MB (±0.0%) 40 ms (±0.0%) 297 KB (-0.1%) 504 KB (-1.2%)
sha256_2048 345,399 (±0.0%) 612,724 (±0.0%) 2.61 s (-0.3%) 516 MB (±0.0%) 436 MB (±0.0%) 303 ms (-1.1%) 341 KB (-0.6%) 3.01 MB (-0.6%)
sha256_256 67,904 (±0.0%) 117,944 (±0.0%) 560 ms (-2.3%) 122 MB (+0.4%) 98.23 MB (±0.0%) 60 ms (±0.0%) 279 KB (+0.5%) 713 KB (+0.2%)
sha256_512 110,916 (±0.0%) 191,884 (±0.0%) 690 ms (-0.5%) 153 MB (+0.1%) 126 MB (±0.0%) 90 ms (±0.0%) 293 KB (-0.3%) 1.08 MB (-2.0%)

@veljkovranic veljkovranic changed the title WIP - Wasm mavros WASM Mavros integration Jun 1, 2026
dcbuild3r and others added 2 commits June 3, 2026 11:11
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	provekit/common/src/mavros.rs
#	provekit/prover/src/lib.rs
@vercel

vercel Bot commented Jun 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-provekit-org Ready Ready Preview Jul 16, 2026 2:21pm

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants