Skip to content

WASM Mavros integration#445

Open
veljkovranic wants to merge 12 commits into
mainfrom
wasm_mavros
Open

WASM Mavros integration#445
veljkovranic wants to merge 12 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 3308b60bf39f
Run #27950025880
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 #27856904893. (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,282 (±0.0%) 258,158 (±0.0%) 2.96 s (-1.0%) 259 MB (+0.9%) 225 MB (-0.1%) 340 ms (-1.0%) 2.76 MB (-0.9%) 807 KB (±0.0%)
keccak_1024 822,870 (±0.0%) 1,543,366 (±0.0%) 6.28 s (-0.9%) 986 MB (±0.0%) 953 MB (±0.0%) 833 ms (-2.0%) 3.15 MB (+0.4%) 6.10 MB (±0.0%)
keccak_128 163,058 (±0.0%) 313,707 (±0.0%) 2.09 s (-0.9%) 276 MB (+0.1%) 241 MB (-0.3%) 363 ms (-1.8%) 2.79 MB (+0.2%) 1.22 MB (±0.0%)
keccak_2048 1,575,606 (±0.0%) 2,945,822 (±0.0%) 11.70 s (-0.7%) 1.81 GB (±0.0%) 1.80 GB (±0.0%) 1.40 s (-2.3%) 3.25 MB (-0.2%) 12.14 MB (±0.0%)
keccak_256 256,206 (±0.0%) 487,012 (±0.0%) 2.28 s (-1.2%) 331 MB (+0.8%) 290 MB (+0.1%) 403 ms (-1.6%) 2.81 MB (-2.1%) 1.97 MB (±0.0%)
keccak_512 445,094 (±0.0%) 839,130 (±0.0%) 3.59 s (-1.0%) 594 MB (±0.0%) 509 MB (-0.1%) 540 ms (-1.2%) 3.03 MB (-0.4%) 3.39 MB (±0.0%)
poseidon2_12 479 (±0.0%) 563 (±0.0%) 350 ms (±0.0%) 24.19 MB (-1.3%) 14.69 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (±0.0%) 437 KB (±0.0%)
poseidon2_16 556 (±0.0%) 719 (±0.0%) 350 ms (-2.8%) 24.56 MB (-0.7%) 14.88 MB (±0.0%) 100 ms (-11.7%) 1.05 MB (-0.3%) 530 KB (±0.0%)
poseidon2_2 231 (±0.0%) 278 (±0.0%) 340 ms (-2.9%) 23.40 MB (-0.9%) 14.11 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (+3.0%) 108 KB (±0.0%)
poseidon2_4 529 (±0.0%) 535 (±0.0%) 340 ms (-1.0%) 23.74 MB (-1.3%) 14.31 MB (±0.0%) 100 ms (±0.0%) 1.05 MB (+0.1%) 31.67 KB (±0.0%)
poseidon2_8 363 (±0.0%) 423 (±0.0%) 350 ms (-0.9%) 24.46 MB (-1.0%) 14.50 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (+0.5%) 365 KB (±0.0%)
poseidon_12 504 (±0.0%) 524 (±0.0%) 350 ms (-0.9%) 24.49 MB (-1.2%) 14.69 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (+4.1%) 409 KB (±0.0%)
poseidon_16 609 (±0.0%) 633 (±0.0%) 353 ms (±0.0%) 24.51 MB (-1.3%) 14.97 MB (±0.0%) 103 ms (±0.0%) 1.04 MB (-0.7%) 537 KB (±0.0%)
poseidon_2 240 (±0.0%) 249 (±0.0%) 343 ms (-1.0%) 23.29 MB (-0.4%) 14.02 MB (±0.0%) 100 ms (±0.0%) 1.02 MB (+0.1%) 53.78 KB (±0.0%)
poseidon_4 297 (±0.0%) 309 (±0.0%) 347 ms (±0.0%) 23.69 MB (-1.4%) 14.31 MB (±0.0%) 100 ms (-3.2%) 1.04 MB (+1.6%) 210 KB (±0.0%)
poseidon_8 402 (±0.0%) 418 (±0.0%) 347 ms (-0.9%) 23.75 MB (-1.1%) 14.50 MB (±0.0%) 100 ms (±0.0%) 1.03 MB (+2.6%) 305 KB (±0.0%)
sha256_1024 196,940 (±0.0%) 339,764 (±0.0%) 2.17 s (-1.1%) 309 MB (+1.3%) 273 MB (+0.1%) 410 ms (-1.6%) 2.78 MB (-1.7%) 1.86 MB (-1.7%)
sha256_128 46,398 (±0.0%) 80,974 (±0.0%) 1.08 s (-1.2%) 100 MB (+0.3%) 83.54 MB (±0.0%) 260 ms (±0.0%) 2.53 MB (-0.2%) 504 KB (-0.9%)
sha256_2048 345,399 (±0.0%) 612,724 (±0.0%) 3.53 s (-1.1%) 548 MB (±0.0%) 483 MB (-0.1%) 590 ms (-1.1%) 3.01 MB (+1.2%) 2.99 MB (-4.8%)
sha256_256 67,904 (±0.0%) 117,944 (±0.0%) 1.37 s (-0.7%) 149 MB (-0.2%) 130 MB (+0.5%) 290 ms (±0.0%) 2.63 MB (-0.6%) 710 KB (-0.3%)
sha256_512 110,916 (±0.0%) 191,884 (±0.0%) 1.50 s (-1.1%) 181 MB (+0.4%) 158 MB (+0.2%) 320 ms (±0.0%) 2.70 MB (+1.4%) 1.12 MB (+0.1%)

@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 Jun 22, 2026 11:41am

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