Skip to content
Merged
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 .devcontainer/dev/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Development",
"image": "aztecprotocol/devbox:3.1",
"image": "aztecprotocol/devbox:3.2",
"features": {
// Use custom fork with noble added to list of supported distros.
"./docker-in-docker": {}
Expand Down
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 .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v24.15.0
v26.12.0
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 @@ -2466,16 +2466,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 @@ -2486,15 +2476,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 @@ -2675,7 +2656,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 @@ -4097,27 +4078,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
3 changes: 1 addition & 2 deletions barretenberg/cpp/CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -421,8 +421,7 @@
"CMAKE_FIND_ROOT_PATH_MODE_PACKAGE": "ONLY",
"CMAKE_C_COMPILER_WORKS": "ON",
"CMAKE_CXX_COMPILER_WORKS": "ON",
"MULTITHREADING": "OFF",
"CMAKE_CXX_FLAGS": "-DBB_NO_EXCEPTIONS"
"MULTITHREADING": "OFF"
}
},
{
Expand Down
6 changes: 5 additions & 1 deletion barretenberg/cpp/cmake/arch.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ if(WASM)
# Disable SLP vectorization on WASM as it's brokenly slow. To give an idea, with this off it still takes
# 2m:18s to compile scalar_multiplication.cpp, and with it on I estimate it's 50-100 times longer. I never
# had the patience to wait it out...
add_compile_options(-fno-exceptions -fno-slp-vectorize)
add_compile_options(-fno-slp-vectorize)
# Standard (exnref) wasm exception handling. wasi-sdk 33+ ships a sysroot built with it, selected by
# -fwasm-exceptions at link time; libunwind provides the unwinder.
add_compile_options(-fwasm-exceptions -mllvm -wasm-use-legacy-eh=false)
add_link_options(-fwasm-exceptions -lunwind)
endif()

# Target skylake on x86 for AVX2 etc. ARM is handled by the zig wrapper scripts
Expand Down
4 changes: 4 additions & 0 deletions barretenberg/cpp/cmake/benchmark.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,7 @@ if(NOT benchmark_FOUND)
set_property(DIRECTORY ${benchmark_SOURCE_DIR} PROPERTY EXCLUDE_FROM_ALL)
set_property(DIRECTORY ${benchmark_BINARY_DIR} PROPERTY EXCLUDE_FROM_ALL)
endif()
# The library builds with -pedantic-errors, and clang 23 (wasi-sdk 34) flags its __COUNTER__ as a C2y extension.
if(TARGET benchmark AND CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 23)
target_compile_options(benchmark PRIVATE -Wno-c2y-extensions)
endif()
4 changes: 2 additions & 2 deletions barretenberg/cpp/cmake/threading.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ if(MULTITHREADING)
add_compile_options(-pthread)
add_link_options(-pthread)
if(WASM)
add_compile_options(--target=wasm32-wasi-threads)
add_link_options(--target=wasm32-wasi-threads -Wl,--shared-memory)
add_compile_options(--target=wasm32-wasip1-threads)
add_link_options(--target=wasm32-wasip1-threads -Wl,--shared-memory)
# Prevent indirect call type mismatch errors in thread_local destructors
# (without this the benchmark flow fails at destruction point for WASM)
add_compile_options(-fno-c++-static-destructors)
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/cpp/scripts/benchmark_wasm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ cmake --build --preset wasm-threads --target $BENCHMARK
cd build-wasm-threads
# Consistency with _wasm.sh targets / shorter $COMMAND.
cp ./bin/$BENCHMARK .
wasmtime run --env HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY -Wthreads=y -Sthreads=y --dir=.. $COMMAND
wasmtime run --env HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY -Wthreads=y -Wshared-memory=y -Wexceptions=y -Sthreads=y --dir=.. $COMMAND
2 changes: 1 addition & 1 deletion barretenberg/cpp/scripts/benchmark_wasm_remote.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@ ssh $BB_SSH_KEY $BB_SSH_INSTANCE "mkdir -p $BB_SSH_CPP_PATH/build-wasm-threads"
scp $BB_SSH_KEY ./bin/$BENCHMARK $BB_SSH_INSTANCE:$BB_SSH_CPP_PATH/build-wasm-threads
# run wasm benchmarking
ssh $BB_SSH_KEY $BB_SSH_INSTANCE \
"cd $BB_SSH_CPP_PATH/build-wasm-threads ; /home/ubuntu/.wasmtime/bin/wasmtime run --env HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY -Wthreads=y -Sthreads=y --dir=.. $COMMAND"
"cd $BB_SSH_CPP_PATH/build-wasm-threads ; /home/ubuntu/.wasmtime/bin/wasmtime run --env HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY -Wthreads=y -Wshared-memory=y -Wexceptions=y -Sthreads=y --dir=.. $COMMAND"
2 changes: 1 addition & 1 deletion barretenberg/cpp/scripts/profile_wasm_samply.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ cmake --build --preset wasm-threads --target $BENCHMARK
cd build-wasm-threads
# Consistency with _wasm.sh targets / shorter $COMMAND.
cp ./bin/$BENCHMARK .
samply record wasmtime run --profile=perfmap --env HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY -Wthreads=y -Sthreads=y --dir=.. $COMMAND
samply record wasmtime run --profile=perfmap --env HARDWARE_CONCURRENCY=$HARDWARE_CONCURRENCY -Wthreads=y -Wshared-memory=y -Wexceptions=y -Sthreads=y --dir=.. $COMMAND
2 changes: 2 additions & 0 deletions barretenberg/cpp/scripts/wasmtime.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ set -eu
export WASMTIME_BACKTRACE_DETAILS=1
exec wasmtime run \
-Wthreads=y \
-Wshared-memory=y \
-Wexceptions=y \
-Sthreads=y \
${HARDWARE_CONCURRENCY:+--env HARDWARE_CONCURRENCY} \
--env HOME \
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/cpp/src/barretenberg/bbapi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ if(NOT FUZZING)
)
add_custom_command(
OUTPUT ${BB_GEN_OUTPUTS}
COMMAND node --experimental-strip-types --experimental-transform-types --no-warnings
COMMAND node --experimental-strip-types --no-warnings
${IPC_CODEGEN_DIR}/src/generate.ts
--schema ${BB_SCHEMA}
--lang cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -615,7 +615,7 @@ template <typename Curve> class ShplonkVerifier_ {
*
*/
template <typename Fr>
static std::vector<Fr> compute_shplonk_batching_challenge_powers(const Fr& shplonk_batching_challenge,
inline std::vector<Fr> compute_shplonk_batching_challenge_powers(const Fr& shplonk_batching_challenge,
const size_t virtual_log_n,
bool has_zk = false,
bool committed_sumcheck = false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ template <typename Curve> class SmallSubgroupIPAVerifier {
* @return Polynomial<FF>
*/
template <typename Curve>
static std::vector<typename Curve::ScalarField> compute_challenge_polynomial_coeffs(
inline std::vector<typename Curve::ScalarField> compute_challenge_polynomial_coeffs(
const std::vector<typename Curve::ScalarField>& multivariate_challenge)
{

Expand Down
2 changes: 1 addition & 1 deletion barretenberg/cpp/src/barretenberg/common/ref_vector.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ template <typename T> RefVector<T> concatenate(const RefVector<T>& ref_vector, c
}

/* @details Ensures a nested vector holds reference objects */
template <typename T> static std::vector<RefVector<T>> to_vector_of_ref_vectors(std::vector<std::vector<T>>& vec)
template <typename T> inline std::vector<RefVector<T>> to_vector_of_ref_vectors(std::vector<std::vector<T>>& vec)
{
std::vector<RefVector<T>> result;
for (std::vector<T>& inner : vec) {
Expand Down
7 changes: 7 additions & 0 deletions barretenberg/cpp/src/barretenberg/common/throw_or_abort.hpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
#pragma once
#include "barretenberg/env/throw_or_abort_impl.hpp"
#include "log.hpp"
#include <stdexcept>
#include <string>

inline void throw_or_abort [[noreturn]] (std::string const& err)
{
#if defined(__wasm__) && !defined(BB_NO_EXCEPTIONS)
// Throw inside the module, so catch blocks such as bbapi's error responses see it. The JavaScript environment's
// throw_or_abort_impl throws a JS error, which unwinds the module without running them or any destructors.
throw std::runtime_error(err);
#else
throw_or_abort_impl(err.c_str());
#endif
}
2 changes: 2 additions & 0 deletions barretenberg/cpp/src/barretenberg/common/utils.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#include "./utils.hpp"

#include <cstdlib>

namespace bb::utils {

std::vector<uint8_t> hex_to_bytes(const std::string& hex)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ template <typename Fq> static inline Fq compute_schnorr_challenge_dst()
* @return e as a bb::fr element
*/
template <typename G1>
static typename G1::Fq schnorr_generate_challenge(const typename G1::Fq& message_field,
inline typename G1::Fq schnorr_generate_challenge(const typename G1::Fq& message_field,
const typename G1::affine_element& pubkey,
const typename G1::affine_element& R)
{
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/rust/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ hash=$(hash_str $(cache_content_hash .rebuild_patterns))
# generated client never depends on hand-maintained copies of them.
function generate {
local root=$(git rev-parse --show-toplevel)
(cd barretenberg-rs && node --experimental-strip-types --experimental-transform-types --no-warnings \
(cd barretenberg-rs && node --experimental-strip-types --no-warnings \
"$root/ipc-codegen/src/generate.ts" \
--schema "$root/barretenberg/cpp/src/barretenberg/bbapi/bb_schema.json" \
--lang rust \
Expand Down
2 changes: 1 addition & 1 deletion barretenberg/ts/bb.js/scripts/generate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ BBAPI="$ROOT/barretenberg/cpp/src/barretenberg/bbapi"

# bb.js keeps its historical API surface (poseidon2Hash, Poseidon2Hash), so the
# Bb service prefix is stripped from identifiers; wire tags keep it.
node --experimental-strip-types --experimental-transform-types --no-warnings \
node --experimental-strip-types --no-warnings \
"$ROOT/ipc-codegen/src/generate.ts" \
--schema "$BBAPI/bb_schema.json" \
--lang ts \
Expand Down
23 changes: 20 additions & 3 deletions barretenberg/ts/bb.js/src/bbapi/exception_handling.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,8 @@ describe('BBApi Exception Handling from bb.js', () => {
g2Point: new Uint8Array(10), // Only 10 bytes (needs 128) - will cause exception
};

// In WASM builds, throw_or_abort calls abort directly which throws a generic Error
// In native builds with exceptions, our try-catch in bbapi converts it to ErrorResponse
// This test verifies that errors are catchable from bb.js (even if as generic Error in WASM)
// The wasm builds with exception handling, so bbapi's try-catch converts the C++ exception to an ErrorResponse,
// as it does natively.
expect(() => {
api.srsInitSrs(invalidCommand);
}).toThrow();
Expand All @@ -49,4 +48,22 @@ describe('BBApi Exception Handling from bb.js', () => {
expect((error as Error).message).toContain('invalid points_buf size');
}
});

it('answers with an error response rather than aborting the module', async () => {
const logs: string[] = [];
const loggingBackend = await BarretenbergWasmSyncBackend.new(undefined, msg => logs.push(msg));
try {
expect(() =>
new SyncApi(loggingBackend).srsInitSrs({
numPoints: 100,
pointsBuf: new Uint8Array(10),
g2Point: new Uint8Array(10),
}),
).toThrow('invalid points_buf size');
// The JS environment logs this when the module aborts rather than catching the exception itself.
expect(logs.filter(log => log.includes('aborted'))).toEqual([]);
} finally {
loggingBackend.destroy();
}
}, 60000);
});
8 changes: 4 additions & 4 deletions bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
# Expected toolchain versions.
export expected_min_clang_version=20.0.0
export expected_min_cmake_version=3.24
export expected_min_node_version=24.12.0
export expected_min_node_version=26.12.0
export expected_min_zig_version=0.15.1
export expected_abs_rust_version=1.89.0
export expected_abs_wasi_version=27.0
export expected_abs_wasi_version=34.0
export expected_abs_foundry_version=1.8.5
export expected_abs_yarn_version=4.13.0

Expand Down Expand Up @@ -66,8 +66,8 @@ function install_node {
curl -s -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash
. "$HOME/.nvm/nvm.sh" --no-use
fi
nvm install --lts
nvm alias default lts/*
nvm install $expected_min_node_version
nvm alias default $expected_min_node_version
}

function install_node_utils {
Expand Down
2 changes: 1 addition & 1 deletion build-images/bootstrap.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
source $(git rev-parse --show-toplevel)/ci3/source_bootstrap

version="3.1"
version="3.2"
arch=$(arch)
branch=${BRANCH:-$(git rev-parse --abbrev-ref HEAD)}

Expand Down
2 changes: 1 addition & 1 deletion build-images/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@ else
-vdevbox-var-lib-docker:/var/lib/docker \
-v$HOME/.ssh/id_rsa:/home/aztec-dev/.ssh/id_rsa:ro \
--privileged \
aztecprotocol/devbox:3.1
aztecprotocol/devbox:3.2
fi
Loading
Loading