Repository navigation
Conversation
…roposed) Records a GraalVM 25.3 Web Image and native-image --shared proof of concept on released 0.1.0-pre13 and proposes opt-in zeroj-wasm and zeroj-native bindings, tiered exports, and four core fixes: WebCrypto randomness with a fail-closed guard, conditional blst metadata, pure-Java Cardano point compression, and in-memory proving-key loading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and-native-bindings
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ZeroJ's Java APIs can now run through experimental TypeScript/JavaScript wrappers in browser workers and Node worker threads. Applications select only the physical Wasm images they need, or an optional shared image when using many capabilities. ADR-0057 r2 records the architecture, security boundaries and measured scope.
Implemented in this PR:
Core changes are limited to a guarded default-RNG factory and existing default-construction sites, public access to existing unkeyed BLAKE2b methods, and a tightening-only zkey allocation-limits overload. Cryptographic equations, profiles and parameters are unchanged. WebCrypto supplies entropy; actual-image tests reject missing/failing entropy and the compiler's unapproved default with no observed Math.random calls. Native blst and setup paths have reachability guards.
Validation:
Measured on M4 Max: separate images ~3.3–3.4 MiB Brotli each; optional combined image ~3.52 MiB. The 3-constraint Node tutorial proof plus self-check has a three-sample median of 265 ms. These are experimental examples, not large-circuit or mobile performance claims. See
bindings/REPORT.mdfor measurement boundaries and reproduction.Limits and release gates are explicit: browser/Node secret paths remain unassessed for side channels; the proving transport is bounded; DKG network transport, durable restart and external context admission are not provided; note opening is not a complete private ledger. Safari, WASI, native C ABI and automatic framework bundler integration are unvalidated. No production or post-quantum claim is made.
The supplied Oracle GraalVM runtime introduces terms beyond ZeroJ's MIT license. Generated physical bundles are private pending distribution/corresponding-source review; no npm publication is performed.
bindings/DISTRIBUTION.mdrecords the finding and unvalidated source-build alternative. Generated images, keys, raw logs and tarballs remain out of Git.Main
65412c40is merged and was re-fetched unchanged before completion. All milestones and implementation self-reviews remain in this PR. External cryptographic/security review remains a release gate.