refactor(bbapi): migrate bb binary to ipc-codegen + ipc-runtime#23612
Open
charlielye wants to merge 1 commit into
Open
refactor(bbapi): migrate bb binary to ipc-codegen + ipc-runtime#23612charlielye wants to merge 1 commit into
charlielye wants to merge 1 commit into
Conversation
f2951d4 to
4948494
Compare
a4bbaea to
14f9b51
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
14f9b51 to
c1eac55
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
cd8adea to
e1d3933
Compare
c1eac55 to
3ae8af4
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
e1d3933 to
5b98d5f
Compare
3ae8af4 to
34d56b4
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
5b98d5f to
08a03c7
Compare
34d56b4 to
66ffb2b
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
4702983 to
e07b17b
Compare
66ffb2b to
2793608
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
2793608 to
e4043d1
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
da691d1 to
dfacac4
Compare
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 28, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 29, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 29, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
charlielye
added a commit
that referenced
this pull request
May 29, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
30fd5bd to
2bab045
Compare
7afda83 to
8188c34
Compare
charlielye
added a commit
that referenced
this pull request
May 29, 2026
… PipeBackend Cuts the Rust crate over to consume the foundation packages (PR #23610). Schema = `bb_schema.json` (committed in PR #23612). The codegen emits `barretenberg-rs/src/generated/{bb_types,bb_client}.rs` on build; `backend.rs`, `error.rs`, `ffi_backend.rs` are template-copied once into the same dir. **Removed**: - `src/backend.rs` and `src/error.rs` (now codegen-emitted templates in `src/generated/`). - `src/types.rs` (replaced by codegen `bb_types.rs`). - `src/backends/ffi.rs` and `src/backends/pipe.rs` (the backends/ directory). The old `PipeBackend` (forked bb subprocess + stdin/stdout pipe transport) is gone in favor of `ipc_runtime::IpcClient` over UDS or SHM. The codegen-emitted `Backend` trait abstracts the transport; `impl Backend for ipc_runtime::IpcClient` lives in the runtime crate. **Modified**: - `Cargo.toml` / `bootstrap.sh` (depend on `ipc-runtime`). - `src/lib.rs` (re-exports updated for the codegen-emitted modules). - `src/fr_ext.rs` (new — extra constructors / accessors on the codegen `Fr` newtype that downstream callers rely on; kept as a separate impl block so `src/generated/bb_types.rs` stays a pure regen target). **Tests**: - `barretenberg/rust/tests/` updated: dropped legacy `blake2s.rs`, `pedersen.rs`, `poseidon.rs`, `utils.rs` and `pipe_test.rs` (the PipeBackend tests). The `ffi/` test modules now exercise the codegen `BbApi<ipc_runtime::IpcClient>` surface. Verification: - `BB_LIB_DIR=… cargo build --release` for `barretenberg-rs/` — clean. - `BB_LIB_DIR=… cargo build --features ffi --release --tests` for `tests/` — pre-existing test compile errors (120) match the stack tip; the schema-visitor change for `array<unsigned char, N != 32>` (now `[u8; N]` instead of `Vec<u8>`) rippled into the test source. Fixing the test crate is a follow-up. The crate's library surface (the part downstream consumers see) is green.
charlielye
added a commit
that referenced
this pull request
May 29, 2026
…bb::ipc Last PR in the IPC migration stack (base: #23613 barretenberg-rs). Cuts bb.js's TS surface + its NAPI substrate over to the foundation packages (PR #23610). Two backends: - WASM (`bb_backends/wasm.ts`): uses `cbindCall('bbapi', bytes)` via WASM exports. The C++ side (in PR #23612) pipes bytes through codegen `make_bb_handler`. No TS-side changes — wire-compatible. - Native UDS / SHM (`bb_backends/node/native_socket.ts`): uses `UdsIpcClient` from `@aztec/ipc-runtime`. **TS**: - `barretenberg/ts/scripts/generate.sh`: regen script that calls `node ipc-codegen/src/generate.ts` for bb (TS + Rust bindings) and for aztec-wsdb (TS bindings). - `barretenberg/ts/src/cbind/`: codegen sources moved into `/ipc-codegen/src/` in PR #23610. The deletions land here. The generated/ subdir is gitignored and regenerated by the bb.js build. - `barretenberg/ts/src/bb_backends/node/native_socket.ts`: uses `UdsIpcClient` from `@aztec/ipc-runtime`. - `barretenberg/ts/package.json` / `yarn.lock`: depend on `@aztec/ipc-runtime`. - `barretenberg/ts/src/bbapi/chonk_pinned_inputs.test.ts` deleted (drift from the original stack rebase — referenced obsolete domain command types). **C++ NAPI substrate**: - `barretenberg/cpp/src/barretenberg/nodejs_module/msgpack_client/`: `msgpack_client_{wrapper,async}.{cpp,hpp}` use `ipc_runtime/ipc_client.hpp` for transport. - `barretenberg/cpp/src/barretenberg/nodejs_module/CMakeLists.txt`: link `ipc_runtime`. **Legacy ipc subdir gone**: - `barretenberg/cpp/src/barretenberg/ipc/` removed entirely. After this PR no consumer references `bb::ipc::` — every transport surface routes through `ipc::` from ipc-runtime. - Top-level `barretenberg/cpp/src/CMakeLists.txt`: drop the `add_subdirectory(barretenberg/ipc)` and the transitional comment about the legacy subdir. Verification: - `ninja bb aztec-wsdb bbapi_tests` clean (legacy bb::ipc gone) - `./bin/bbapi_tests` — 30/30 - `cd barretenberg/ts && yarn build && yarn test` - bb-prover e2e against migrated bb.js End state after the full 5-PR stack: - bb / wsdb servers route through codegen `make_<prefix>_handler` + `ipc::make_server` + `ipc::install_default_signal_handlers`. - bb.js / barretenberg-rs clients route through codegen-emitted typed surfaces over `ipc_runtime::IpcClient` (Rust) / `@aztec/ipc-runtime`'s `UdsIpcClient` (TS). - No `msgpack_roundtrip` at handler boundaries. - No parallel domain command types. - No hand-rolled UDS/SHM transport.
2bab045 to
57b6b45
Compare
8188c34 to
fb1beea
Compare
This was referenced Jun 10, 2026
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.
Summary
Migrates the bb server surface (
bbapi,api_msgpack, bb CLI, WASM cbind, and IPC bench paths) to/ipc-codegen+/ipc-runtime.This PR sits after wsdb migration and before the Rust and bb.js client migrations.
Stack
cl/ipc-foundationcl/ipc-wsdb-migratecl/ipc-bb-migrate— this PRcl/ipc-bb-rs-migratecl/ipc-bb-js-migratecl/ipc-3-avm-wsdb-cutovercl/ipc-4-avm-binarycl/ipc-5-avm-cutoverWhat changes
bb_schema.jsonandbb_curve_constants.jsonbeside bbapi.api_msgpackthrough codegen-emittedmake_bb_handlerandipc_runtimeserver helpers.handle_*functions operating on wire commands, with explicit conversion only where bb domain types are required.BBApiExceptionsemantics for generated error responses.bb msgpack schemafrom codegen schema reflection.bb.jsnative binary resolution to the arch-package model: wrapper code resolvesbbandnodejs_module.nodefrom installed or sibling arch packages, not from mutablebuild/fallbacks.Notes
The legacy
barretenberg/cpp/src/barretenberg/ipc/transport remains until the bb.js NAPI substrate migrates in #23614. This PR migrates the bb server surface but does not yet delete the old transport.Validation
ninja bb bbapi_tests./bin/bbapi_tests./bin/bb msgpack schemabarretenberg/tsnative/ESM/CJS build path for arch-package binary resolution../bootstrap.shpassed on this branch during stack validation after clearing local cache/quota pressure.