refactor(barretenberg-rs): migrate to ipc-codegen + ipc-runtime; drop PipeBackend - #23613
Closed
charlielye wants to merge 5 commits into
Closed
refactor(barretenberg-rs): migrate to ipc-codegen + ipc-runtime; drop PipeBackend#23613charlielye wants to merge 5 commits into
charlielye wants to merge 5 commits into
Conversation
charlielye
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 06:19
a4bbaea to
14f9b51
Compare
charlielye
requested review from
IlyasRidhuan,
MirandaWood and
jeanmon
as code owners
May 28, 2026 06:19
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 06:19
e77abcf to
7e96565
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 07:10
14f9b51 to
c1eac55
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 07:10
7e96565 to
1613aa0
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 09:26
c1eac55 to
3ae8af4
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 09:26
1613aa0 to
c0dc6a8
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 09:40
3ae8af4 to
34d56b4
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 09:40
c0dc6a8 to
fc07715
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 10:43
34d56b4 to
66ffb2b
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 10:43
fc07715 to
be7439e
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 11:07
66ffb2b to
2793608
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
2 times, most recently
from
May 28, 2026 11:07
be7439e to
e456007
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 11:24
2793608 to
e4043d1
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 11:25
e456007 to
9f87d9a
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 11:39
e4043d1 to
ecae1fa
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 11:39
9f87d9a to
bfa811c
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 12:23
ecae1fa to
396a0f4
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
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 17:35
02d0e6f to
bf22e83
Compare
charlielye
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 28, 2026 17:37
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
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 17:37
bf22e83 to
e40c637
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
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 28, 2026 18:03
e40c637 to
418aa6a
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 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.
charlielye
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 29, 2026 12:09
7afda83 to
8188c34
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 29, 2026 12:09
e220e59 to
0c02156
Compare
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
force-pushed
the
cl/ipc-bb-migrate
branch
from
May 29, 2026 12:17
8188c34 to
fb1beea
Compare
charlielye
force-pushed
the
cl/ipc-bb-rs-migrate
branch
from
May 29, 2026 12:17
0c02156 to
6f36fc6
Compare
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.
This was referenced Jun 10, 2026
Addresses the full ipc-codegen/ipc-runtime review (68 findings): - runtime: NAPI lifecycle (close/join, TSFN leak, sync deadline), zero-length response deadlock, u64 timeout truncation, max-frame guards, crash cleanup, unified constants, UDS timeouts, new cpp/rust/ts test suites - codegen: schema validation (required error variant, name pairing, reserved words), unified server error wrapping, zig comptime handler injection, uniform --strip-method-prefix, skeleton/dead-code removal - wire fixes: rust Option<bytes>/[bytes;N] serde, ts u64 bigint bridging + bin32 guards, zig signed-int tolerance, cpp union ordering + PrimAlias so schema reflection of generated types round-trips aliases - tests: golden corpus extended (error variant pinned) with cpp/zig runners, error-path + boundary-value steps in every matrix combo, FFI compile checks
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
barretenberg-rsto the generated bb API client from #23612 and the shared/ipc-runtimeRust bindings from #23610.This PR sits between the bb server migration and the bb.js migration.
Stack
cl/ipc-foundationcl/ipc-wsdb-migratecl/ipc-bb-migratecl/ipc-bb-rs-migrate— this PRcl/ipc-bb-js-migratecl/ipc-3-avm-wsdb-cutovercl/ipc-4-avm-binarycl/ipc-5-avm-cutoverWhat changes
bb_schema.json.BbApioveripc_runtime::IpcClient.PipeBackend; Rust clients now use the IPC runtime path.bin32/alias handling from the schema.Validation
barretenberg-rsrelease build with localBB_LIB_DIR.