Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
19a920f
Refactor ThreadManager to WorkerSlot identity model with 2-phase term…
OBrezhniev Jun 20, 2026
a9df133
Remove debug console.log from hot paths; increase worker idle timeout…
OBrezhniev Jun 21, 2026
d9c48fc
FFT: reverse bit-reversal permutation in place in a worker, drop WASM…
OBrezhniev Jun 21, 2026
07fc37b
pairingEq: don't transfer input point buffers (fixes detached G1.g/G2.g)
OBrezhniev Jun 21, 2026
73c8448
bn128: load prebuilt wasm with browser-safe APIs (atob, arrayBuffer)
OBrezhniev Jun 21, 2026
61df670
compat: module-local curve cache + runtime/feature env detection (no …
OBrezhniev Jun 23, 2026
7d18ebd
compat (Tier 1): browser field stubs os/crypto so bundlers need no ha…
OBrezhniev Jun 23, 2026
faae41f
Vendor uncompressed prebuilt wasm; drop wasmcurves from runtime deps
OBrezhniev Jun 23, 2026
960a238
SES: lazy worker source + native-preferred base64 decode
OBrezhniev Jun 23, 2026
0d3858c
Add SES lockdown test harness
OBrezhniev Jun 24, 2026
a97b91c
Optimize vendored wasm with wasm-opt -Oz (smaller + faster)
OBrezhniev Jun 24, 2026
624f448
multiexp: add streaming multiExpAffineChunked + dedup the dispatch
OBrezhniev Jun 24, 2026
eaaccc9
BigBuffer: make PAGE_SIZE an explicit 1 GiB constant
OBrezhniev Jun 25, 2026
c10170e
fft/ifft: add a `consume` option to skip the defensive input copy
OBrezhniev Jun 25, 2026
1ca5780
Re-vendor bn128/bls12381 wasm: signed-digit multiexp
OBrezhniev Jul 1, 2026
9b9ccd6
Route affine multiexp through the batch-affine MSM module
OBrezhniev Jul 1, 2026
25eba1a
multiexp: batching mode option (auto/enabled/disabled)
OBrezhniev Jul 1, 2026
9ce14f7
Rebuild bundles: batch-affine MSM + batching mode option
OBrezhniev Jul 1, 2026
7e39235
Re-vendor CIOS-mul wasm; switch vendoring to wasm-opt -O2
OBrezhniev Jul 1, 2026
6c1c704
Rebuild bundles: CIOS Montgomery mul
OBrezhniev Jul 1, 2026
7cae013
Re-vendor wasm: square via CIOS mul
OBrezhniev Jul 1, 2026
789f35e
Rebuild bundles: square via CIOS mul
OBrezhniev Jul 1, 2026
6335c9e
Re-vendor wasm: dedicated CIOS square (f1m_square 62.4 -> 57.2 ns)
OBrezhniev Jul 1, 2026
20cb2ff
Rebuild bundles: dedicated CIOS square
OBrezhniev Jul 1, 2026
00e93a1
Re-vendor wasm: no-carry CIOS mul (54.7 -> 52.0 ns)
OBrezhniev Jul 2, 2026
f84dfd8
Rebuild bundles: no-carry CIOS mul
OBrezhniev Jul 2, 2026
f858121
Wire GLV MSM for bn254 G1 (glv flag -> worker batch dispatch)
OBrezhniev Jul 2, 2026
2770cdf
Rebuild bundles: GLV MSM
OBrezhniev Jul 2, 2026
193fd56
Wire GLS G2 MSM (f_conj import + GLS binding under the glv flag)
OBrezhniev Jul 2, 2026
6db7bf3
Rebuild bundles: GLS G2 MSM
OBrezhniev Jul 2, 2026
924e4ae
threadman: FF_NO_GLS escape hatch (disable G2 GLS binding; A/B aid, m…
OBrezhniev Jul 2, 2026
4cfc20f
Rebuild bundles: FF_NO_GLS guard sync
OBrezhniev Jul 3, 2026
cdd6b28
multiexp: per-call gls option replaces the FF_NO_GLS env var
OBrezhniev Jul 3, 2026
1ac8472
Rebuild bundles: gls option
OBrezhniev Jul 3, 2026
2ec4a7a
multiexp: glv option (G1) + unify endomorphism modes as "auto"/"disab…
OBrezhniev Jul 3, 2026
4d51791
Rebuild bundles: glv/gls endomorphism modes
OBrezhniev Jul 3, 2026
88e415a
bls12-381 advertises glv (G1 GLV constants now in the batch module)
OBrezhniev Jul 3, 2026
b69fb7e
Rebuild bundles: bls12-381 GLV
OBrezhniev Jul 3, 2026
957d50b
SES harness: cover the batch MSM module, GLV/GLS and FFT under lockdown
OBrezhniev Jul 3, 2026
d4329a7
multiexp: drop the FF_NO_BATCH env var
OBrezhniev Jul 3, 2026
c21673e
Rebuild bundles: FF_NO_BATCH removal
OBrezhniev Jul 3, 2026
b3303f0
Browser ESM build: keep wasm codegen toolchain external
OBrezhniev Jul 3, 2026
1356490
Rebuild browser ESM bundle: wasm toolchain external
OBrezhniev Jul 3, 2026
1d80cbf
Update devDependencies: rollup 4, eslint 10, mocha 11, chai 6
OBrezhniev Jul 4, 2026
78ddcfa
Rebuild bundles with rollup 4
OBrezhniev Jul 4, 2026
617f3fd
Pin wasmcurves to a commit ref instead of a local file: path
OBrezhniev Jul 4, 2026
e166d94
Remove debug console output from worker threads
OBrezhniev Jul 4, 2026
1d913e5
Rebuild bundles: silent workers
OBrezhniev Jul 4, 2026
ac82b74
Regenerate lockfile against the pinned commit refs
OBrezhniev Jul 4, 2026
7e0a585
Switch wasmcurves pin to git+https
OBrezhniev Jul 4, 2026
ef6460f
Fix dev-dependency audit findings via overrides
OBrezhniev Jul 4, 2026
0406155
Migrate build/test tooling to Vite + Vitest (build/test only)
OBrezhniev Jul 4, 2026
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
30 changes: 0 additions & 30 deletions .eslintrc.cjs

This file was deleted.

27 changes: 10 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,27 @@
name: Continuous Integration
on:
push:
branches:
- master
pull_request:
on: [push, pull_request]

jobs:
test:
name: Test
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node-version: [lts/*, lts/-1, lts/-2]
timeout-minutes: 15
runs-on: ubuntu-latest

steps:
- name: Checkout project
uses: actions/checkout@v2
uses: actions/checkout@v6

- name: Setup Node.js
uses: actions/setup-node@v3
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
check-latest: true
cache: 'npm'
node-version: "lts/*"
cache: "npm"

- name: Install dependencies
run: npm ci

- name: Install Playwright dependencies
run: npx playwright install --with-deps chromium

- name: Run tests
run: npm test
Loading