Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ body:
attributes:
label: Node Version
description: Your Node.js version
placeholder: e.g. 24.15.0
placeholder: e.g. 26.12.0
- type: textarea
id: additional-context
attributes:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branch: ${{ fromJSON('["next", "v5-next"]') }}
branch: ${{ fromJSON('["next", "v5-next", "v6"]') }}
concurrency:
group: ${{ github.workflow }}-${{ github.repository }}-${{ matrix.branch }}
steps:
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v24.15.0
v26.12.0
12 changes: 10 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ bb-ts-cross-copy: bb-ts bb-cpp-cross
# the same barretenberg/ts node_modules. bb-ts additionally emits the bb.js test commands,
# which the test engine runs concurrently with the rest of the build out of that same tree,
# so an unordered npm_install_deps here swaps files under a running node (SIGBUS).
bb-avm-sim: ipc-codegen ipc-runtime bb-cpp-native bb-ts
bb-avm-sim: ipc-codegen ipc-runtime bb-cpp-native bb-cpp-wasm bb-ts
$(call build,$@,barretenberg/ts,build_bb_avm_sim)

# Ordered after bb-cdb (and after bb-ts-cross-copy, which builds bb.js-api's cross copies)
Expand Down Expand Up @@ -312,6 +312,9 @@ bb-sol: bb-cpp-native bb-crs l1-contracts-solc
bb-cpp-native-tests: bb-cpp-native bb-cpp-chonk-inputs
$(call test,$@,barretenberg/cpp,native)

bb-cpp-wasm-tests: bb-cpp-wasm
$(call test,$@,barretenberg/cpp,wasm)

bb-cpp-wasm-threads-tests: bb-cpp-wasm-threads
$(call test,$@,barretenberg/cpp,wasm_threads)

Expand All @@ -327,6 +330,11 @@ bb-acir-tests: bb-acir
bb-ts-tests: bb-ts
$(call test,$@,barretenberg/ts)

# After bb-cdb, the last of the barretenberg/ts targets to install into node_modules, which the
# tests run out of.
bb-avm-sim-tests: bb-avm-sim bb-cdb
$(call test,$@,barretenberg/ts,bb_avm_sim)

bb-sol-tests: bb-sol
$(call test,$@,barretenberg/sol)

Expand All @@ -339,7 +347,7 @@ bb-bbup-tests: bb-bbup
bb-rs-tests: bb-rs
$(call test,$@,barretenberg/rust)

bb-tests: bb-cpp-native-tests bb-acir-tests bb-ts-tests bb-sol-tests bb-bbup-tests bb-docs-tests bb-rs-tests
bb-tests: bb-cpp-native-tests bb-cpp-wasm-tests bb-acir-tests bb-ts-tests bb-avm-sim-tests bb-sol-tests bb-bbup-tests bb-docs-tests bb-rs-tests

bb-full-tests: bb-cpp-wasm-threads-tests bb-cpp-asan-tests bb-cpp-smt-tests

Expand Down
38 changes: 19 additions & 19 deletions avm-transpiler/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion barretenberg/.claude/skills/benchmark-chonk/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ HARDWARE_CONCURRENCY=8 BB_BENCH=1 \
```

The wasmtime wrapper sets:
- `-Wthreads=y -Sthreads=y` — enable WASM threads and shared memory
- `-Wthreads=y -Wshared-memory=y -Wexceptions=y -Sthreads=y` — enable WASM threads, shared memory and exception handling
- `--env HARDWARE_CONCURRENCY` — thread count
- `--env BB_BENCH` — enable operation counting (requires configuring with `-DENABLE_WASM_BENCH=ON`; it is OFF by default in the `wasm-threads` preset to keep the shipped wasm fast)
- `--dir=$HOME/.bb-crs --dir=.` — filesystem access for CRS and working directory
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/.claude/skills/profile-chonk/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ ssh $BB_SSH_KEY $BB_SSH_INSTANCE "
cd $REMOTE_DIR
HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY \
/home/ubuntu/.wasmtime/bin/wasmtime run \
-Wthreads=y -Sthreads=y -Wshared-memory=y \
-Wthreads=y -Wexceptions=y -Sthreads=y -Wshared-memory=y \
--env HARDWARE_CONCURRENCY --env HOME --env BB_BENCH=1 \
--dir=\$HOME/.bb-crs --dir=. \
./bin/bb prove \
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/.claude/skills/remote-bench/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ ssh $BB_SSH_KEY $BB_SSH_INSTANCE \
"cd $BB_SSH_CPP_PATH/build-wasm-threads && \
HARDWARE_CONCURRENCY=16 \
/home/ubuntu/.wasmtime/bin/wasmtime run \
-Wthreads=y -Sthreads=y \
-Wthreads=y -Wshared-memory=y -Wexceptions=y -Sthreads=y \
--env HARDWARE_CONCURRENCY \
--env HOME \
--env BB_BENCH=1 \
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/acir_tests/headless-test/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"dependencies": {
"chalk": "^5.3.0",
"commander": "^12.1.0",
"playwright": "1.49.0",
"playwright": "1.63.0",
"puppeteer": "^24.22.3"
},
"devDependencies": {
Expand Down
43 changes: 10 additions & 33 deletions barretenberg/acir_tests/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2514,16 +2514,6 @@ __metadata:
languageName: node
linkType: hard

"fsevents@npm:2.3.2":
version: 2.3.2
resolution: "fsevents@npm:2.3.2"
dependencies:
node-gyp: "npm:latest"
checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b
conditions: os=darwin
languageName: node
linkType: hard

"fsevents@npm:~2.3.2":
version: 2.3.3
resolution: "fsevents@npm:2.3.3"
Expand All @@ -2534,15 +2524,6 @@ __metadata:
languageName: node
linkType: hard

"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin<compat/fsevents>":
version: 2.3.2
resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin<compat/fsevents>::version=2.3.2&hash=df0bf1"
dependencies:
node-gyp: "npm:latest"
conditions: os=darwin
languageName: node
linkType: hard

"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin<compat/fsevents>":
version: 2.3.3
resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin<compat/fsevents>::version=2.3.3&hash=df0bf1"
Expand Down Expand Up @@ -2723,7 +2704,7 @@ __metadata:
dependencies:
chalk: "npm:^5.3.0"
commander: "npm:^12.1.0"
playwright: "npm:1.49.0"
playwright: "npm:1.63.0"
puppeteer: "npm:^24.22.3"
ts-node: "npm:^10.9.2"
typescript: "npm:^5.4.2"
Expand Down Expand Up @@ -4145,27 +4126,23 @@ __metadata:
languageName: node
linkType: hard

"playwright-core@npm:1.49.0":
version: 1.49.0
resolution: "playwright-core@npm:1.49.0"
"playwright-core@npm:1.63.0":
version: 1.63.0
resolution: "playwright-core@npm:1.63.0"
bin:
playwright-core: cli.js
checksum: 10c0/22c1a72fabdcc87bd1cd4d40a032d2c5b94cf94ba7484dc182048c3fa1c8ec26180b559d8cac4ca9870e8fd6bdf5ef9d9f54e7a31fd60d67d098fcffc5e4253b
checksum: 10c0/39c1ebae4029ca2e9371e00a5588d962038e24b6e0bdb7d0d27374dde04838f349b83ae0c8b3b648653d0935cba7fb9011f1201adaab9dd0db7801ad6c75e9aa
languageName: node
linkType: hard

"playwright@npm:1.49.0":
version: 1.49.0
resolution: "playwright@npm:1.49.0"
"playwright@npm:1.63.0":
version: 1.63.0
resolution: "playwright@npm:1.63.0"
dependencies:
fsevents: "npm:2.3.2"
playwright-core: "npm:1.49.0"
dependenciesMeta:
fsevents:
optional: true
playwright-core: "npm:1.63.0"
bin:
playwright: cli.js
checksum: 10c0/e94d662747cd147d0573570fec90dadc013c1097595714036fc8934a075c5a82ab04a49111b03b1f762ea86429bdb7c94460901896901e20970b30ce817cc93f
checksum: 10c0/d1fd048a89be27c9aba6757dc4f70eff4a5163b49f439ad691767be8b2a482327d0dd1928b4f73c8fe0d8b33aab2c9dc2670424ab60f112d9e98e91b94e3b090
languageName: node
linkType: hard

Expand Down
2 changes: 1 addition & 1 deletion barretenberg/cpp/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ clang-format-20 -i <files>
These are load-bearing: violating them will compile on native but break WASM, or skew test output in CI. Use the listed alternative unconditionally.

- **Logging: use `info(...)` / `vinfo(...)` from `barretenberg/common/log.hpp`, never `std::cout` or `std::cerr`.** The macros route through `log_function` and respect `bb_log_level`; direct `std::cout` is unfiltered, uncaptured in CI logs, and skews benchmark output.
- **Aborts and exceptions: use `throw_or_abort(msg)` from `barretenberg/common/throw_or_abort.hpp`, never bare `throw` or `std::abort()`.** WASM builds set `BB_NO_EXCEPTIONS`, which turns `throw` into `abort()` — bare `throw` compiles differently and misformats the message, and raw `std::abort()` drops the message entirely. For header-only libraries that must use exception syntax, use the `THROW`/`RETHROW` macros from `common/try_catch_shim.hpp`.
- **Aborts and exceptions: use `throw_or_abort(msg)` from `barretenberg/common/throw_or_abort.hpp`, never bare `throw` or `std::abort()`.** Builds that set `BB_NO_EXCEPTIONS` (the `clang20-no-exceptions` preset; WASM builds now use wasm exception handling) turn `throw_or_abort` into `abort()`, and raw `std::abort()` drops the message entirely. For header-only libraries that must use exception syntax, use the `THROW`/`RETHROW` macros from `common/try_catch_shim.hpp`.
- **Assertions: use `BB_ASSERT(cond, msg)` / `BB_ASSERT_EQ` / `BB_ASSERT_NEQ` / `BB_ASSERT_GT` / etc. from `barretenberg/common/assert.hpp`, never bare `assert(...)`.** `BB_ASSERT` hooks into the benchmark-assertion framework and has distinct debug/release behavior; `assert` is stripped in release builds and silently diverges in WASM.
- **Release builds: do not reach for the `release` CMake preset unless the user is reproducing a performance issue.** Debug/default presets are much faster to compile and sufficient for correctness work.

Expand Down
6 changes: 4 additions & 2 deletions barretenberg/cpp/CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@
"CMAKE_C_COMPILER_WORKS": "ON",
"CMAKE_CXX_COMPILER_WORKS": "ON",
"MULTITHREADING": "OFF",
"CMAKE_CXX_FLAGS": "-DBB_NO_EXCEPTIONS"
"AVM": "OFF"
}
},
{
Expand Down Expand Up @@ -768,7 +768,9 @@
"targets": [
"barretenberg.wasm",
"barretenberg.wasm.gz",
"barretenberg-debug.wasm"
"barretenberg-debug.wasm",
"bb-avm-sim.wasm",
"avm_ffi_tests"
]
},
{
Expand Down
6 changes: 6 additions & 0 deletions barretenberg/cpp/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,11 @@ function test_cmds_wasm_threads {
echo "$hash:CPUS=8 HARDWARE_CONCURRENCY=8 barretenberg/cpp/scripts/wasmtime.sh barretenberg/cpp/build-wasm-threads/bin/ecc_tests"
}

function test_cmds_wasm {
# The AVM simulator's in-process service, from the single-threaded build bb-avm-sim.wasm comes from.
echo "$hash SINGLE_THREADED=1 barretenberg/cpp/scripts/wasmtime.sh barretenberg/cpp/build-wasm/bin/avm_ffi_tests"
}

function test_cmds_asan {
local prefix="$hash:CPUS=4:MEM=8g"

Expand Down Expand Up @@ -395,6 +400,7 @@ function test_cmds_nightly {
function test_cmds {
if [ -z "${1:-}" ]; then
test_cmds_native
test_cmds_wasm
if [ "$CI_FULL" -eq 1 ]; then
test_cmds_wasm_threads
test_cmds_asan
Expand Down
Loading
Loading