Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
84f3a55
refactor: unify IPC codegen into shared service_codegen infrastructure
charlielye Mar 25, 2026
5247a23
docs: add IPC schema format specification
charlielye Mar 25, 2026
9253b06
feat: add schema version hash to generated code
charlielye Mar 25, 2026
23f0fd4
test: add WSDB wire-format compatibility tests
charlielye Mar 25, 2026
d7c550f
feat: add per-service Rust IPC client generation and aztec-ipc crate
charlielye Mar 25, 2026
a66cf20
feat: add Zig code generator and wire into service configs
charlielye Mar 25, 2026
5be503f
feat: add Zig build system with zig-msgpack dependency
charlielye Mar 25, 2026
18f7349
chore: gitignore zig cache, remove cached build artifacts
charlielye Mar 25, 2026
872fc4b
feat: add server-side dispatch codegen for all four languages
charlielye Mar 25, 2026
771fc2a
docs: update cbind README with multi-language codegen architecture
charlielye Mar 25, 2026
776c0f5
feat: add echo wire-compat test schema with working Rust round-trip
charlielye Mar 25, 2026
2b04366
chore: gitignore Rust target dir in wire_compat tests
charlielye Mar 25, 2026
2cceb35
feat: add TS echo server/client and cross-language test orchestrator
charlielye Mar 25, 2026
57c44e1
feat: add golden file tests and complete wire compat test suite
charlielye Mar 25, 2026
b18ad90
feat: add C++ echo server/client, expand matrix to 9 pairs (3x3)
charlielye Mar 25, 2026
503f017
feat: add Zig echo server/client, complete 4x4 cross-language matrix
charlielye Mar 25, 2026
dd9f544
chore: remove temp zig test binaries
charlielye Mar 25, 2026
4337a38
fix: skip codegen for services whose binaries are not built yet
charlielye Mar 25, 2026
a2e4a3b
fix: don't delete generated dirs in yarn clean
charlielye Mar 25, 2026
e58f8a7
fix: commit generated TS files to git, break circular build dependency
charlielye Mar 25, 2026
5689846
fix: commit Rust generated files to git (same pattern as TS)
charlielye Mar 25, 2026
9e0b0be
docs: plan for extracting codegen into standalone top-level project
charlielye Mar 25, 2026
fdef7fe
feat: extract codegen into standalone barretenberg/codegen/ package
charlielye Mar 25, 2026
32a6a40
feat: add codegen bootstrap.sh with build and generate functions
charlielye Mar 25, 2026
87b36fc
feat: wire codegen into Makefile and update consumer bootstraps
charlielye Mar 25, 2026
651a208
fix: revert committed generated files, restore gitignore
charlielye Mar 25, 2026
95f6075
feat: commit IPC schemas as static JSON files
charlielye Mar 25, 2026
4341e09
feat: codegen reads from committed JSON schemas, no binary dependency
charlielye Mar 25, 2026
ff921de
feat: add update_schemas.sh and validate_schemas.sh
charlielye Mar 25, 2026
afaab30
feat: bb-generate has no C++ dependency, uses committed schemas
charlielye Mar 25, 2026
6e6decc
fix: use npm ci instead of npm_install_deps in codegen bootstrap
charlielye Mar 25, 2026
d286d7d
fix: consumer bootstraps invoke codegen generate if files missing
charlielye Mar 25, 2026
5b5ce08
fix: always run codegen generate in consumer bootstraps (not conditio…
charlielye Mar 25, 2026
cad4274
feat: replace hand-written WSDB server dispatch with generated handler
charlielye Mar 25, 2026
850c5d4
Revert "feat: replace hand-written WSDB server dispatch with generate…
charlielye Mar 25, 2026
d6557b9
fix: always run codegen generate, don't cache generated output
charlielye Mar 25, 2026
733f19c
fix: add verbose codegen diagnostics and error handling
charlielye Mar 25, 2026
73350d9
fix: use \$cmd from source_bootstrap, not \$1 (was consumed by shift)
charlielye Mar 25, 2026
abd8295
fix: update CDB schema with forkId fields in checkpoint commands
charlielye Mar 25, 2026
6faef6f
feat: remove msgpackr from codegen runtime, use JSON for curve constants
charlielye Mar 25, 2026
2b9c98e
fix: exclude aztec-ipc from Rust workspace until codegen handles all …
charlielye Mar 25, 2026
dbd7466
chore: remove old codegen files from ts/src/cbind/ (moved to codegen/)
charlielye Mar 25, 2026
8391c9b
feat: codegen is now zero-dep, runs with just Node.js
charlielye Mar 25, 2026
9f1a170
feat: C++ echo tests now use generated types, add standalone C++ codegen
charlielye Mar 25, 2026
cafbf66
feat: TS echo server uses generated Handler interface and dispatch()
charlielye Mar 25, 2026
9995e6e
feat: field elements as typed Fr in all languages, not opaque bytes
charlielye Mar 27, 2026
ebcaf7d
feat: replace hand-written C++ server dispatch with generated handlers
charlielye Mar 27, 2026
1ca4bed
feat: CDB TS server uses generated dispatch from codegen
charlielye Mar 27, 2026
9a5ed6f
feat: generate standalone C++ command/response types for all services
charlielye Mar 27, 2026
88c4136
feat: Zig codegen produces working serialization via zig-msgpack Payl…
charlielye Mar 27, 2026
145ad40
feat: add Zig WSDB server example using generated types end-to-end
charlielye Mar 27, 2026
88b958c
chore: remove dead weight from PR
charlielye Mar 27, 2026
d0782a0
feat: codegen CLI supports single-schema mode, remove custom generate…
charlielye Mar 27, 2026
32076c2
feat: wire_compat tests use codegen CLI, remove custom generate.ts
charlielye Mar 27, 2026
576341e
feat: auto-detect prefix from command names, remove --prefix flag
charlielye Mar 27, 2026
863d878
feat: rename cpp-types to cpp for consistent CLI language names
charlielye Mar 27, 2026
a323752
feat: codegen CLI --server/--client flags, generic IPC templates
charlielye Mar 27, 2026
4a43738
feat: generic IPC templates for all 4 languages, wire_compat uses --s…
charlielye Mar 27, 2026
44c83d5
feat: consistent _gen suffix on all generated filenames across languages
charlielye Mar 27, 2026
0f0e605
feat: C++ codegen now generates server dispatch and typed client
charlielye Mar 27, 2026
d73bcc4
fix: gitignore all generated C++/Zig/Rust files, remove from tracking
charlielye Mar 27, 2026
6691960
fix: rename barretenberg C++ generated files from _generated to _gen
charlielye Mar 27, 2026
454e074
fix: remove accidentally committed _generated files, gitignore both p…
charlielye Mar 27, 2026
351f191
chore: remove unnecessary _generated gitignore pattern
charlielye Mar 27, 2026
6a53ff7
fix: simplify gitignore to **/*_gen.*, rename Rust generated files
charlielye Mar 27, 2026
708fa81
refactor: replace hand-written IPC with fully generated codegen
charlielye Mar 27, 2026
7526747
refactor: bb binary uses generated codegen dispatch, eliminate NamedU…
charlielye Mar 28, 2026
364959a
refactor: use unordered_map dispatch instead of if/else chain, add bb…
charlielye Mar 28, 2026
bad4e2a
feat: wire/domain type split for bb — codegen dispatch calls handler …
charlielye Mar 28, 2026
6f79cf1
refactor: strip serialization from bb domain types, use wire types fo…
charlielye Mar 28, 2026
dc49b46
feat: self-contained SERIALIZATION_FIELDS in generated types, restore…
charlielye Mar 28, 2026
9c80432
refactor: wsdb uses wire types everywhere, removes externals from cod…
charlielye Mar 28, 2026
374081c
refactor: cdb uses wire types, removes externals from codegen
charlielye Mar 28, 2026
380933e
refactor: avm uses wire types, removes cppCommandsTarget
charlielye Mar 28, 2026
b7e5183
refactor: add from_wire/to_wire methods to domain types
charlielye Mar 28, 2026
d4d532e
refactor: template<Ctx> dispatch — codegen is fully context-agnostic
charlielye Mar 30, 2026
bd2671e
refactor: rewrite codegen CLI, delete service_codegen.ts
charlielye Mar 30, 2026
b8658bd
feat: codegen bootstrap.sh uses CLI for all services
charlielye Mar 30, 2026
07a7dec
fix: add Rust generation to codegen bootstrap, fix paths
charlielye Mar 30, 2026
c8adb34
fix: remove --server from Rust codegen (client-only crate)
charlielye Mar 30, 2026
3ed3a40
feat: replace Rust PipeBackend with UdsBackend
charlielye Mar 30, 2026
be430bd
feat: backends as templates — --uds and --ffi flags for Rust/Zig
charlielye Mar 30, 2026
ab8cdda
feat: align Zig with Rust — comptime backend abstraction, service exa…
charlielye Mar 31, 2026
f8a228c
feat: skeleton generation for all 4 languages, rewrite wire compat tests
charlielye Mar 31, 2026
d4689d5
feat: Zig in 4x4 wire compat matrix — 18/18 tests pass
charlielye Mar 31, 2026
3071450
fix: TS filename consistency — use api_types.ts/async.ts/server.ts
charlielye Mar 31, 2026
38af2b6
refactor: merge wire compat tests into service-examples
charlielye Mar 31, 2026
1d258b9
iterate pr skill
charlielye Mar 31, 2026
bfb6da4
merge: resolve cl/wsdb_cdb into cl/more_ipc
charlielye Mar 31, 2026
bc90a58
fix: CI build failures — update tests and benchmarks for wire/domain …
charlielye Mar 31, 2026
8136ab0
fix: clang-format
charlielye Mar 31, 2026
3bd25b9
fix: update avm-transpiler Cargo.lock after merge
charlielye Mar 31, 2026
74e034a
fix: void* cast for memcpy into non-trivially-copyable types (GCC)
charlielye Mar 31, 2026
3815b05
fix: WASM guard for ipc_server, nfds_t cast, void* for all memcpy int…
charlielye Mar 31, 2026
1b35cd8
fix: THROW/RETHROW macros in generated dispatch, void* in response.hp…
charlielye Mar 31, 2026
5b5f40e
fix: run codegen before all C++ build presets (gcc, fuzzing, cross, w…
charlielye Mar 31, 2026
022bf2e
fix: clang-format c_bind.cpp
charlielye Mar 31, 2026
d0d4ce3
fix: BB_NO_EXCEPTIONS guard in generated dispatch (WASM -fno-exceptions)
charlielye Mar 31, 2026
53a7e0e
fix: update noir submodule to match next branch (fixes keccak::f1600)
charlielye Mar 31, 2026
6e34514
fix: void* cast for remaining memcpy in indexed_leaf to_wire()
charlielye Mar 31, 2026
c07249d
fix: TS build, Rust crate, schema test, CDB exports
charlielye Mar 31, 2026
45de7d2
fix: SERIALIZATION_FIELDS undef+redefine ensures barretenberg NVP ver…
charlielye Mar 31, 2026
393dccb
fix: update msgpack_schema_sanity test for new fr schema format (arra…
charlielye Mar 31, 2026
686c3b3
fix: clang-format schema test
charlielye Mar 31, 2026
a9af5e7
fix: update yarn.lock for CDB exports, fix Rust test feature name (na…
charlielye Mar 31, 2026
c550566
fix: wire_convert field serialization (big-endian canonical ↔ Montgom…
charlielye Mar 31, 2026
f05dd1c
fix: regenerate yarn-project/yarn.lock after noir submodule update
charlielye Mar 31, 2026
02cce7c
fix: wire_convert uses serialize_from_buffer/serialize_to_buffer (not…
charlielye Mar 31, 2026
60cfc91
chore: retrigger CI after wire_convert fix
charlielye Apr 1, 2026
14842e2
fix: include C++ hash in bb-ts cache key
charlielye Apr 1, 2026
98ff60b
fix: update Rust tests for new generated API (UdsBackend, BbApi, Fr)
charlielye Apr 1, 2026
a00b990
fix: lint errors in cdb_ipc_server.ts (require-await, duplicate imports)
charlielye Apr 1, 2026
3436371
fix: update Rust FFI tests and ffi_backend for new API (partial)
charlielye Apr 1, 2026
544ba37
fix: complete Rust FFI test updates for new generated API
charlielye Apr 1, 2026
61a8f33
fix: update grumpkinGetRandomFr/secp256k1GetRandomFr to use pointsBuf…
charlielye Apr 1, 2026
94d1dda
fix: update ffi_backend.rs template for new API (BbApi, generated imp…
charlielye Apr 1, 2026
0670fc0
fix: include codegen templates in rebuild patterns for cache busting
charlielye Apr 1, 2026
50cedf8
chore: retrigger CI (fuzzing null byte not reproducible locally)
charlielye Apr 1, 2026
1dcfb61
fix: merge cl/wsdb_cdb, resolve conflict in bbapi.test.cpp
charlielye Apr 1, 2026
6377bf7
fix: use camelCase field names in ipc_world_state_instance.ts
charlielye Apr 1, 2026
b6179b3
fix: add missing includes and namespace for bbapi.test.cpp after merge
charlielye Apr 1, 2026
7844316
fix: remaining camelCase field names in ipc_world_state_instance.ts
charlielye Apr 1, 2026
dc4a432
fix: bn254 G2 readonly cast and missing proposedCheckpoint in tx_pool…
charlielye Apr 1, 2026
b3ac06b
fix: uint256 endianness in wire conversion (use from_buffer/to_buffer…
charlielye Apr 1, 2026
df84dba
fix: wsdb CLI subcommand name and JSON parser quote handling
charlielye Apr 1, 2026
ea0c201
chore: retrigger CI
charlielye Apr 1, 2026
99703f0
fix: wsdb handlers use serialize_from/to_buffer instead of raw memcpy
charlielye Apr 1, 2026
f294188
fix: replace remaining memcpy with serialize_from/to_buffer in domain…
charlielye Apr 1, 2026
6ac42e4
fix: replace memcpy with serialize_from/to_buffer in CDB and AVM IPC …
charlielye Apr 1, 2026
df8dd9f
chore: retrigger CI (single e2e failure - bad_cast in undeployed cont…
charlielye Apr 1, 2026
f8d94b4
fix: encode null optionals as msgpack nil, not undefined (which gets …
charlielye Apr 1, 2026
c8e0522
fix: use T | null (not T | undefined) for optional TS types
charlielye Apr 1, 2026
5c252cb
fix: accept null (not undefined) for optional SiblingPathAndIndex
charlielye Apr 1, 2026
82b23b1
fix: validate compressed x-coordinate is within field range
charlielye Apr 1, 2026
52a196a
fix: use throw_or_abort for ECC errors + fix sync client error varian…
charlielye Apr 1, 2026
789a88d
chore: retrigger CI (playground chromium test - investigate if transi…
charlielye Apr 2, 2026
8a108b9
fix: remove getppid()==1 race check in parent_monitor (false positive…
charlielye Apr 2, 2026
02715d5
chore: retrigger CI (previous run timed out at 75min, all tests passed)
charlielye Apr 2, 2026
e62f285
fix: merge cl/wsdb_cdb, resolve conflict in bbapi_chonk.cpp (memory p…
charlielye Apr 3, 2026
03bef5b
fix: merge cl/wsdb_cdb into cl/more_ipc
charlielye Apr 18, 2026
63c5856
fix: update merged test code to use Bb-prefixed type names
charlielye Apr 18, 2026
f666792
fix: use template parameter instead of auto in generated SERIALIZATIO…
charlielye Apr 18, 2026
f669a8c
fix: use template parameter instead of auto in generated SERIALIZATIO…
charlielye Apr 18, 2026
e5ba460
chore: retrigger CI
charlielye Apr 18, 2026
2a7101f
chore: retrigger CI
charlielye Apr 18, 2026
c4f9716
chore: retrigger CI
charlielye Apr 18, 2026
33b8f98
chore: retrigger CI
charlielye Apr 18, 2026
9e93356
chore: retrigger CI
charlielye Apr 18, 2026
caa9f0d
chore: retrigger CI after base branch CI3 completed
charlielye Apr 18, 2026
d8783e6
chore: retrigger CI
charlielye Apr 18, 2026
6c72fc1
chore: trigger CI after base branch toggle
charlielye Apr 18, 2026
8c7f1a6
chore: retrigger CI
charlielye Apr 18, 2026
2b29b21
chore: trigger CI with next as base
charlielye Apr 18, 2026
0b04c15
chore: trigger CI (base back to cl/wsdb_cdb)
charlielye Apr 18, 2026
93c3ac6
chore: retrigger CI
charlielye Apr 18, 2026
6438045
chore: retrigger CI
charlielye Apr 18, 2026
de016d7
chore: retrigger CI
charlielye Apr 18, 2026
646152c
chore: retrigger CI
charlielye Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
88 changes: 88 additions & 0 deletions .claude/skills/iterate-on-pr/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
---
name: iterate-on-pr
description: Iterate on a PR until CI passes. Use when fixing CI failures, debugging test issues, or waiting for CI results. Enforces local testing before pushing.
---

# Iterate on PR

Workflow for getting a PR to green CI.

## Golden Rule

**NEVER push and pray.** Always run the failing test locally first.

## Building

**Full repo build:**
```bash
./bootstrap.sh # In repo root
```

**Targeted builds:**
```bash
# Project-specific bootstrap scripts
./yarn-project/bootstrap.sh
./barretenberg/bootstrap.sh

# Or use make for specific targets + deps
make <target> # Check Makefile for available targets
```

## Testing

**Run the exact command CI reports as failed.** These are usually project-specific:
```bash
# Look at CI failure output for the actual command, typically:
./yarn-project/run_tests.sh <test-name>
./barretenberg/run_tests.sh <test-name>

# Or for Jest tests with timeout (hang detection):
timeout 120 yarn test <package> --testNamePattern="<test-name>"
```

Only push when the test passes locally.

## CI Iteration Loop

1. **CI fails** → Read the failure logs (use analyze-logs agent if needed)
2. **Identify root cause** → Understand what broke
3. **Fix locally** → Make the code change
4. **Build** → Run bootstrap.sh or targeted make
5. **Test locally** → Run the exact CI command that failed
6. **Push** → Immediately after local tests pass. Do not ask the user for permission to push.
7. **Monitor CI** → Set up a cron to poll every 5 min until pass/fail
8. **Repeat** if CI fails again

## Monitoring CI

Poll PR checks every 5 minutes:
```bash
gh pr checks <PR_NUMBER> --json name,state | jq '.[] | select(.state != "SUCCESS" and .state != "SKIPPED")'
```

## Handling Flaky Tests

**Do NOT immediately rerun CI.** Follow this process:

1. **Try to replicate locally first** — run the failing test
2. **If it passes locally**: Check if the failure seems related to your changes
3. **Only rerun CI if**: Test passes locally AND failure appears unrelated to your changes
4. **If it fails locally**: Debug and fix it, don't assume it's flaky

## Common Failures

- **Lint errors**: Fix and verify with `yarn lint <package>`
- **Type errors**: Fix and verify with `yarn build` or `tsc --noEmit`
- **Test hangs (Jest)**: Usually resource leaks — check for unclosed handles, missing `.close()` calls
- **Build failures**: Run bootstrap.sh to rebuild everything

## When to Ask for Help

- Architectural decisions ("should I use approach A or B?")
- Unclear requirements
- CI infrastructure issues (not code problems)

Do NOT ask for help with:
- Simple lint/type errors
- Obvious fixes
- Things you can figure out by reading the code
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,7 @@ bb-cpp-release-dir: bb-cpp-native bb-cpp-cross
bb-cpp-full: bb-cpp bb-cpp-gcc bb-cpp-fuzzing bb-cpp-asan bb-cpp-smt bb-cpp-cross-arm64-macos bb-cpp-cross-arm64-ios bb-cpp-cross-arm64-android

# BB TypeScript - TypeScript bindings
# Codegen runs inline as a pre-build step in ts/bootstrap.sh (reads committed JSON schemas)
bb-ts: bb-cpp-wasm bb-cpp-wasm-threads bb-cpp-native
$(call build,$@,barretenberg/ts)

Expand All @@ -216,7 +217,8 @@ bb-ts-cross-copy: bb-ts bb-cpp-cross
$(call build,$@,barretenberg/ts,cross_copy)

# BB Rust - barretenberg-rs FFI crate
bb-rs: bb-ts bb-cpp-native
# Codegen runs inline as a pre-build step in rust/bootstrap.sh (reads committed JSON schemas)
bb-rs: bb-cpp-native
$(call build,$@,barretenberg/rust)

# BB ACIR Tests - ACIR compatibility tests
Expand Down
6 changes: 2 additions & 4 deletions barretenberg/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,5 @@ cmake-build-debug
*_opt.pil
bench-out

# Generated code from msgpack schema (run `yarn generate` in ts/)
rust/barretenberg-rs/src/generated_types.rs
rust/barretenberg-rs/src/api.rs
ts/src/cbind/generated/
# Generated code (produced by barretenberg/codegen, not committed)
**/generated/
5 changes: 5 additions & 0 deletions barretenberg/codegen/.rebuild_patterns
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
^barretenberg/codegen/src/.*\.ts$
^barretenberg/codegen/schemas/.*\.(json|msgpack)$
^barretenberg/codegen/templates/
^barretenberg/codegen/package\.json$
^barretenberg/codegen/bootstrap\.sh$
71 changes: 71 additions & 0 deletions barretenberg/codegen/bootstrap.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/usr/bin/env bash
# Codegen tool: generates bindings from committed JSON schemas.
# Zero npm dependencies — runs with just Node.js (v22+).
#
# Usage:
# ./bootstrap.sh # Run codegen (generate all bindings)
# ./bootstrap.sh generate # Same
# ./bootstrap.sh hash # Print content hash

source $(git rev-parse --show-toplevel)/ci3/source_bootstrap

# Hash includes codegen source AND committed schema files.
export hash=$(cache_content_hash .rebuild_patterns)

NODE_FLAGS="--experimental-strip-types --experimental-transform-types --no-warnings"

gen() { node $NODE_FLAGS src/generate.ts "$@"; }

function generate {
echo_header "codegen generate"
local S="schemas"
local CPP="../cpp/src/barretenberg"
local TS="../ts/src"
local ZIG="../zig/aztec-ipc/src"

# --- BB ---
gen --schema $S/bb_schema.json --lang cpp --out $CPP/bbapi/generated \
--server --cpp-namespace bb::bbapi --prefix Bb --cpp-include-dir barretenberg/bbapi/generated
gen --schema $S/bb_schema.json --lang ts --out $TS/cbind/generated \
--server --client --prefix Bb --strip-method-prefix --curve-constants
gen --schema $S/bb_schema.json --lang rust --out ../rust/barretenberg-rs/src/generated \
--client --uds --ffi --prefix Bb
gen --schema $S/bb_schema.json --lang zig --out $ZIG/bb \
--client --uds --ffi --prefix Bb

# --- WSDB ---
gen --schema $S/wsdb_schema.json --lang cpp --out $CPP/wsdb/generated \
--server --client --cpp-namespace bb::wsdb --prefix Wsdb --cpp-include-dir barretenberg/wsdb/generated
gen --schema $S/wsdb_schema.json --lang ts --out $TS/aztec-wsdb/generated \
--server --client --prefix Wsdb
gen --schema $S/wsdb_schema.json --lang zig --out $ZIG/wsdb \
--server --client --uds --ffi --prefix Wsdb

# --- CDB ---
gen --schema $S/cdb_schema.json --lang cpp --out $CPP/cdb/generated \
--client --cpp-namespace bb::cdb --prefix Cdb --cpp-include-dir barretenberg/cdb/generated
gen --schema $S/cdb_schema.json --lang ts --out $TS/aztec-cdb/generated \
--server --client --prefix Cdb
gen --schema $S/cdb_schema.json --lang zig --out $ZIG/cdb \
--client --uds --ffi --prefix Cdb

# --- AVM ---
gen --schema $S/avm_schema.json --lang cpp --out $CPP/avm/generated \
--server --cpp-namespace bb::avm --prefix Avm --cpp-include-dir barretenberg/avm/generated
gen --schema $S/avm_schema.json --lang ts --out $TS/aztec-avm/generated \
--server --client --prefix Avm
gen --schema $S/avm_schema.json --lang zig --out $ZIG/avm \
--server --client --uds --ffi --prefix Avm
}

case "$cmd" in
""|generate)
generate
;;
hash)
echo $hash
;;
*)
default_cmd_handler "$@"
;;
esac
2 changes: 2 additions & 0 deletions barretenberg/codegen/schemas/avm_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{"__typename":"AvmApi","commands":["named_union",[["AvmSimulate",{"__typename":"AvmSimulate","inputs":["vector",["unsigned char"]]}],["AvmSimulateWithHints",{"__typename":"AvmSimulateWithHints","inputs":["vector",["unsigned char"]]}],["AvmShutdown",{"__typename":"AvmShutdown"}]]],"responses":["named_union",[["AvmErrorResponse",{"__typename":"AvmErrorResponse","message":"string"}],["AvmSimulateResponse",{"__typename":"AvmSimulateResponse","result":["vector",["unsigned char"]]}],["AvmSimulateWithHintsResponse",{"__typename":"AvmSimulateWithHintsResponse","result":["vector",["unsigned char"]]}],["AvmShutdownResponse",{"__typename":"AvmShutdownResponse"}]]]}

36 changes: 36 additions & 0 deletions barretenberg/codegen/schemas/bb_curve_constants.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"bn254_fr_modulus": "30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
"bn254_fq_modulus": "30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47",
"bn254_g1_generator": {
"x": "0000000000000000000000000000000000000000000000000000000000000001",
"y": "0000000000000000000000000000000000000000000000000000000000000002"
},
"bn254_g2_generator": {
"x": [
"1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed",
"198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2"
],
"y": [
"12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b"
]
},
"grumpkin_fr_modulus": "30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47",
"grumpkin_fq_modulus": "30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001",
"grumpkin_g1_generator": {
"x": "0000000000000000000000000000000000000000000000000000000000000001",
"y": "0000000000000002cf135e7506a45d632d270d45f1181294833fc48d823f272c"
},
"secp256k1_fr_modulus": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
"secp256k1_fq_modulus": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"secp256k1_g1_generator": {
"x": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
"y": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
},
"secp256r1_fr_modulus": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
"secp256r1_fq_modulus": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
"secp256r1_g1_generator": {
"x": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
"y": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
}
}
Loading
Loading