Skip to content

WASM Mavros integration#445

Open
veljkovranic wants to merge 15 commits into
mainfrom
wasm_mavros
Open

WASM Mavros integration#445
veljkovranic wants to merge 15 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 c3f3835257bd
Run #29021994116
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 #28917281870. (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%) 2.63 s (+0.1%) 256 MB (±0.0%) 225 MB (±0.0%) 343 ms (±0.0%) 2.81 MB (+0.5%) 811 KB (±0.0%)
keccak_1024 788,814 (±0.0%) 1,490,812 (±0.0%) 6.30 s (-0.3%) 974 MB (±0.0%) 939 MB (+0.1%) 820 ms (-0.8%) 3.11 MB (-0.8%) 5.88 MB (±0.0%)
keccak_128 157,522 (±0.0%) 304,529 (±0.0%) 2.12 s (±0.0%) 271 MB (-1.0%) 239 MB (-0.1%) 360 ms (±0.0%) 2.83 MB (+1.7%) 1.26 MB (±0.0%)
keccak_2048 1,507,374 (±0.0%) 2,840,532 (±0.0%) 11.67 s (-0.1%) 1.78 GB (±0.0%) 1.77 GB (±0.0%) 1.41 s (-0.7%) 3.25 MB (±0.0%) 11.97 MB (±0.0%)
keccak_256 247,782 (±0.0%) 474,010 (±0.0%) 2.30 s (-0.4%) 326 MB (-0.1%) 286 MB (-0.1%) 400 ms (-0.8%) 2.84 MB (+0.6%) 1.88 MB (±0.0%)
keccak_512 428,126 (±0.0%) 812,944 (±0.0%) 3.61 s (+0.2%) 581 MB (±0.0%) 502 MB (-0.2%) 543 ms (+1.2%) 2.96 MB (-0.8%) 3.32 MB (±0.0%)
poseidon2_12 479 (±0.0%) 563 (±0.0%) 357 ms (+1.0%) 24.52 MB (+0.2%) 14.69 MB (±0.0%) 100 ms (-3.2%) 1.05 MB (+1.0%) 437 KB (±0.0%)
poseidon2_16 556 (±0.0%) 719 (±0.0%) 360 ms (+2.9%) 24.72 MB (-0.3%) 14.88 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (+0.4%) 530 KB (±0.0%)
poseidon2_2 231 (±0.0%) 278 (±0.0%) 347 ms (+1.0%) 23.67 MB (±0.0%) 14.11 MB (±0.0%) 100 ms (±0.0%) 1.06 MB (-0.8%) 108 KB (±0.0%)
poseidon2_4 529 (±0.0%) 535 (±0.0%) 343 ms (+1.0%) 23.78 MB (-0.4%) 14.31 MB (±0.0%) 100 ms (±0.0%) 1024 KB (-4.2%) 31.67 KB (±0.0%)
poseidon2_8 363 (±0.0%) 423 (±0.0%) 353 ms (±0.0%) 24.79 MB (+0.4%) 14.50 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (+1.6%) 365 KB (±0.0%)
poseidon_12 504 (±0.0%) 524 (±0.0%) 353 ms (-1.0%) 24.68 MB (-0.4%) 14.88 MB (±0.0%) 100 ms (±0.0%) 1.04 MB (-1.8%) 569 KB (±0.0%)
poseidon_16 609 (±0.0%) 633 (±0.0%) 360 ms (±0.0%) 24.98 MB (+0.2%) 15.16 MB (±0.0%) 107 ms (+6.7%) 1.00 MB (-0.9%) 717 KB (±0.0%)
poseidon_2 240 (±0.0%) 249 (±0.0%) 343 ms (-1.0%) 23.51 MB (±0.0%) 14.02 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (+0.9%) 59.19 KB (±0.0%)
poseidon_4 297 (±0.0%) 309 (±0.0%) 350 ms (-0.9%) 24.12 MB (-0.3%) 14.50 MB (±0.0%) 100 ms (±0.0%) 1.02 MB (-1.2%) 332 KB (±0.0%)
poseidon_8 402 (±0.0%) 418 (±0.0%) 350 ms (±0.0%) 24.37 MB (-0.3%) 14.69 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (+2.1%) 448 KB (±0.0%)
sha256_1024 196,940 (±0.0%) 339,764 (±0.0%) 2.22 s (±0.0%) 309 MB (-0.1%) 273 MB (±0.0%) 410 ms (-1.6%) 2.77 MB (-2.1%) 1.86 MB (+0.2%)
sha256_128 46,398 (±0.0%) 80,974 (±0.0%) 1.09 s (±0.0%) 101 MB (-0.7%) 83.35 MB (-0.3%) 260 ms (±0.0%) 2.53 MB (-0.6%) 508 KB (+0.5%)
sha256_2048 345,399 (±0.0%) 612,724 (±0.0%) 3.59 s (-0.5%) 548 MB (±0.0%) 483 MB (-0.1%) 593 ms (-1.7%) 2.99 MB (+2.1%) 3.03 MB (-0.2%)
sha256_256 67,904 (±0.0%) 117,944 (±0.0%) 1.39 s (-0.2%) 150 MB (-0.5%) 130 MB (-0.2%) 290 ms (±0.0%) 2.65 MB (+0.2%) 725 KB (+1.9%)
sha256_512 110,916 (±0.0%) 191,884 (±0.0%) 1.51 s (-0.4%) 179 MB (-0.1%) 158 MB (±0.0%) 323 ms (-1.0%) 2.70 MB (+0.9%) 1.10 MB (-0.9%)

@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 9, 2026 1:36pm

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