Skip to content

Commit c84e3cf

Browse files
committed
Merge branch 'native/napi' into florian/napi-proof
2 parents f66ba9a + 4768e85 commit c84e3cf

File tree

95 files changed

+4854
-975
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+4854
-975
lines changed

.config/cspell.json

Lines changed: 271 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,286 @@
22
// Version of the setting file. Always 0.2
33
"version": "0.2",
44
// language - current active spelling language
5-
"language": "en",
5+
"language": "en, lorem, lorem-ipsum",
66
// words - list of words to be always considered correct
77
"words": [
8+
"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",
9+
"ABCDEFGHJKLMNPQRSTUVWXY",
10+
"accs",
811
"ACMRT",
9-
"arkworks",
12+
"adic",
13+
"adicity",
14+
"aggreg",
15+
"Alph",
16+
"Aminus",
17+
"Analysable",
18+
"Approvable",
19+
"arithmetization",
20+
"Babybear",
21+
"backendless",
22+
"behaviour",
23+
"behaviours",
24+
"bigints",
25+
"bigstring",
26+
"Bijective",
27+
"Binable",
28+
"binaryen",
29+
"bindgen",
30+
"bitlength",
31+
"BLABLA",
32+
"blakejs",
33+
"blsp",
34+
"brainpool",
35+
"cachedir",
36+
"callforest",
1037
"caml",
38+
"Cfgs",
39+
"Chal",
40+
"chals",
41+
"coeff",
1142
"coeffs",
12-
"Napi",
43+
"Cofactor",
44+
"Coinbases",
45+
"combinators",
46+
"Comdex",
47+
"consectetuer",
48+
"conv",
49+
"CPPFLAGS",
50+
"ctypes",
51+
"descr",
52+
"devnet",
53+
"devshell",
54+
"direnv",
55+
"disattach",
56+
"divmod",
57+
"Dlog",
58+
"doccomments",
59+
"docstrings",
60+
"dont",
61+
"dtolnay",
62+
"dxdy",
63+
"dynlink",
64+
"eddsa",
65+
"Eeuo",
66+
"Eeuxo",
67+
"efgh",
68+
"egcd",
69+
"Elems",
70+
"elgamal",
71+
"Elts",
72+
"emul",
73+
"endline",
74+
"Endo",
75+
"endomul",
76+
"endoscalar",
77+
"Endoscale",
78+
"envrc",
79+
"eqsign",
80+
"erdigo",
81+
"errorf",
82+
"esbuild",
83+
"Evals",
84+
"failwith",
85+
"failwithf",
86+
"feepayer",
87+
"feepayers",
88+
"ffadd",
89+
"ffffn",
90+
"ffmul",
91+
"fieldvar",
92+
"fieldy",
93+
"fileset",
94+
"Flagsfrom",
95+
"foldl",
96+
"formedness",
97+
"Freeable",
98+
"Fseqp",
99+
"gitmodules",
100+
"gretke's",
101+
"hardfork",
102+
"Hlist",
103+
"homomorphic",
104+
"Impls",
105+
"importmap",
106+
"incircuit",
107+
"Incrementer",
108+
"influxdata",
109+
"Initia",
110+
"initialroot",
111+
"intf",
112+
"Intfs",
113+
"Iseconds",
114+
"iteri",
115+
"jslib",
116+
"jsoo",
117+
"jsstring",
118+
"jstat",
119+
"keccak",
120+
"Keypair",
121+
"kmax",
122+
"LDFLAGS",
123+
"LEFTSHIFT",
124+
"lessthan",
125+
"libiconv",
126+
"libsodium",
127+
"liconv",
128+
"Lightnet",
129+
"lincom",
130+
"linkall",
131+
"loglog",
132+
"LuffySama",
133+
"maht",
134+
"marekyggdrasil",
135+
"MAXINT",
136+
"Merkle",
137+
"Merkleization",
138+
"Merkleized",
139+
"merkletree",
140+
"merklewitness",
141+
"mgmt",
142+
"minaprotocol",
143+
"minascan",
144+
"modul",
145+
"Muls",
146+
"napi",
147+
"Nexts",
13148
"nixbuild",
149+
"nixfmt",
150+
"nixos",
151+
"nixpkgs",
152+
"noautolink",
153+
"Ntest",
154+
"nullglob",
155+
"numtide",
156+
"ocamlc",
157+
"offchain",
158+
"opam",
159+
"Optdef",
160+
"optimise",
161+
"optimised",
162+
"optin",
163+
"otherdata",
164+
"otherstrin",
14165
"Oxlint",
15-
"tarides"
166+
"paramtypes",
167+
"permissioned",
168+
"Permuts",
169+
"pkgs",
170+
"plonkish",
171+
"pname",
172+
"popd",
173+
"Pornin",
174+
"potenti",
175+
"pplusonedivfour",
176+
"Prechallenges",
177+
"preimage",
178+
"Prevs",
179+
"primality",
180+
"Profier",
181+
"progn",
182+
"provables",
183+
"pushd",
184+
"remanants",
185+
"repr",
186+
"reraise",
187+
"reraised",
188+
"revspec",
189+
"RIGHTSHIFT",
190+
"rimraf",
191+
"Rminus",
192+
"rnew",
193+
"rngs",
194+
"rotr",
195+
"rpanic",
196+
"rustc",
197+
"RUSTDIR",
198+
"rustlib",
199+
"rustup",
200+
"SBOX",
201+
"Schnorr",
202+
"Schönhage",
203+
"secp",
204+
"secq",
205+
"seqp",
206+
"sexp",
207+
"sexplib",
208+
"shellcheck",
209+
"Shigoto",
210+
"sideloaded",
211+
"signz",
212+
"snarked",
213+
"snarking",
214+
"snew",
215+
"sprintf",
216+
"stdenv",
217+
"stefanzweifel",
218+
"Strassen",
219+
"studentt",
220+
"submethod",
221+
"substituters",
222+
"sumchain",
223+
"summands",
224+
"svgs",
225+
"tarides",
226+
"TJSON",
227+
"tmpcache",
228+
"Tock",
229+
"Tokenomics",
230+
"Tonelli",
231+
"toplevel",
232+
"totient",
233+
"TRIV",
234+
"tweakable",
235+
"twoadic",
236+
"twoadicity",
237+
"uints",
238+
"underconstraint",
239+
"underflowed",
240+
"underflows",
241+
"unew",
242+
"unhash",
243+
"unhashing",
244+
"unintuitively",
245+
"unpackaging",
246+
"unreconstructable",
247+
"Unshifted",
248+
"untar",
249+
"Vanstone",
250+
"Varbase",
251+
"varfields",
252+
"verifys",
253+
"vnew",
254+
"wasnt",
255+
"wbindgen",
256+
"Weierstraß",
257+
"wizicer",
258+
"xffff",
259+
"xored",
260+
"Xtoken",
261+
"yinv",
262+
"yojson",
263+
"Zabcdefghijkmnopqrstuvwxyz",
264+
"zarith",
265+
"zinv",
266+
"Zkapp",
267+
"zkapps",
268+
"zkfunction",
269+
"zkprogram",
270+
"zkprograms",
271+
"zksecurity's"
16272
],
17273
// flagWords - list of words to be always considered incorrect
18274
// This is useful for offensive words and common spelling errors.
19275
// For example "hte" should be "the"
20-
"flagWords": []
276+
"flagWords": [],
277+
"ignorePaths": [
278+
"_build/",
279+
"dist/",
280+
"node_modules/",
281+
"src/mina/",
282+
"src/bindings/compiled/",
283+
"src/bindings/crypto/constants.ts"
284+
],
285+
"ignoreRandomStrings": true,
286+
"allowCompoundWords": true
21287
}

.github/actions/build/action.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
name: Build o1js
22
description: 'All of the building steps for o1js'
33

4-
permissions:
5-
contents: write
6-
74
inputs:
85
proof_systems_commit:
96
description: 'proof_systems commit to use'
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Release pkg-pr version
2+
description: Release a new version of o1js and mina-signer using pkg-pr-new
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
- uses: actions/checkout@v4
8+
- name: Restore repository
9+
uses: actions/cache@v4
10+
with:
11+
path: .
12+
key: repo-${{ github.sha }}
13+
- name: Setup Node.JS 20
14+
uses: actions/setup-node@v4
15+
with:
16+
node-version: 20
17+
- name: build
18+
uses: ./.github/actions/build
19+
- name: Build o1js and mina-signer
20+
shell: bash
21+
run: |
22+
npm ci
23+
npm run prepublish:full
24+
cd src/mina-signer
25+
npm ci
26+
npm run prepublish:full
27+
- name: Publish o1js and mina-signer on pkg-pr-new
28+
shell: bash
29+
run: npx pkg-pr-new publish ./ ./src/mina-signer
30+

.github/workflows/checks.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ jobs:
152152
'Verification Key Regression Check 2',
153153
'CommonJS test',
154154
'Cache Regression',
155+
'Performance Regression',
155156
]
156157
steps:
157158
- name: Checkout repository with submodules
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Dump Performance Regression Baseline
2+
on:
3+
workflow_dispatch: {}
4+
5+
permissions:
6+
contents: write
7+
jobs:
8+
dump_and_commit:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout (current branch)
12+
uses: actions/checkout@v4
13+
with:
14+
ref: ${{ github.ref_name }}
15+
submodules: recursive
16+
- name: Build
17+
uses: ./.github/actions/build
18+
- name: Performance Regression (dump)
19+
env:
20+
TEST_TYPE: Performance Regression
21+
PERF_MODE: --dump
22+
run: |
23+
set -euo pipefail
24+
sh run-ci-tests.sh
25+
- name: Commit and push baseline to current branch
26+
shell: bash
27+
env:
28+
BASELINE_PATH: tests/perf-regression/perf-regression.json
29+
BRANCH_NAME: ${{ github.ref_name }}
30+
run: |
31+
set -euo pipefail
32+
33+
if [[ ! -f "$BASELINE_PATH" ]]; then
34+
echo "ERROR: baseline not found at $BASELINE_PATH"
35+
exit 1
36+
fi
37+
38+
# Configure git identity
39+
git config user.name "github-actions[bot]"
40+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
41+
42+
# Commit only if baseline changed
43+
if git diff --quiet -- "$BASELINE_PATH"; then
44+
echo "No changes in $BASELINE_PATH; nothing to commit."
45+
exit 0
46+
fi
47+
48+
git add "$BASELINE_PATH"
49+
git commit -m "ci(perf): update baseline $BASELINE_PATH"
50+
# Push back to the same branch this workflow was dispatched on
51+
git push origin HEAD:"$BRANCH_NAME"
52+
echo "Baseline committed and pushed to branch: $BRANCH_NAME"

0 commit comments

Comments
 (0)