@aztec/bb.js 3.0.0-canary.a9708bd → 3.0.0-manual.20251030
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -79
- package/dest/browser/barretenberg/backend.d.ts +2 -2
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +40 -25
- package/dest/browser/barretenberg/index.d.ts +45 -44
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +131 -80
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +2 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +4 -4
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +18 -10
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +55 -14
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/bb_backends/browser/index.d.ts +11 -0
- package/dest/browser/bb_backends/browser/index.d.ts.map +1 -0
- package/dest/browser/bb_backends/browser/index.js +39 -0
- package/dest/browser/bb_backends/index.d.ts +45 -0
- package/dest/browser/bb_backends/index.d.ts.map +1 -0
- package/dest/browser/bb_backends/index.js +15 -0
- package/dest/browser/bb_backends/interface.d.ts +33 -0
- package/dest/browser/bb_backends/interface.d.ts.map +1 -0
- package/dest/browser/bb_backends/interface.js +2 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +15 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.js +20 -0
- package/dest/browser/bb_backends/wasm.d.ts +49 -0
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
- package/dest/browser/bb_backends/wasm.js +83 -0
- package/dest/browser/bbapi_exception.d.ts +7 -0
- package/dest/browser/bbapi_exception.d.ts.map +1 -0
- package/dest/browser/bbapi_exception.js +14 -0
- package/dest/browser/cbind/generate.js +94 -7
- package/dest/browser/cbind/generated/api_types.d.ts +1640 -227
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +2366 -478
- package/dest/browser/cbind/generated/async.d.ts +52 -13
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +586 -72
- package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/browser/cbind/generated/curve_constants.js +45 -0
- package/dest/browser/cbind/generated/sync.d.ts +53 -14
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +548 -72
- package/dest/browser/cbind/schema_compiler.d.ts +2 -4
- package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/browser/cbind/schema_compiler.js +97 -181
- package/dest/browser/index.d.ts +4 -2
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +5 -3
- package/dest/browser/serialize/index.d.ts +0 -2
- package/dest/browser/serialize/index.d.ts.map +1 -1
- package/dest/browser/serialize/index.js +1 -3
- package/dest/browser/serialize/serialize.d.ts +0 -35
- package/dest/browser/serialize/serialize.d.ts.map +1 -1
- package/dest/browser/serialize/serialize.js +1 -68
- package/dest/browser/types/fields.d.ts +6 -26
- package/dest/browser/types/fields.d.ts.map +1 -1
- package/dest/browser/types/fields.js +16 -57
- package/dest/browser/types/index.d.ts +0 -3
- package/dest/browser/types/index.d.ts.map +1 -1
- package/dest/browser/types/index.js +1 -4
- package/dest/browser/types/point.d.ts +8 -6
- package/dest/browser/types/point.d.ts.map +1 -1
- package/dest/browser/types/point.js +12 -15
- package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +2 -2
- package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +3 -3
- package/dest/node/barretenberg/backend.d.ts +2 -2
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +40 -25
- package/dest/node/barretenberg/blake2s.test.js +21 -18
- package/dest/node/barretenberg/index.d.ts +45 -44
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +131 -80
- package/dest/node/barretenberg/pedersen.test.js +24 -17
- package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
- package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
- package/dest/node/barretenberg/poseidon.bench.test.js +217 -0
- package/dest/node/barretenberg/poseidon.test.js +15 -15
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +2 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +4 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +18 -10
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +3 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +55 -14
- package/dest/node/barretenberg_wasm/index.test.js +11 -10
- package/dest/node/bb_backends/browser/index.d.ts +11 -0
- package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
- package/dest/node/bb_backends/browser/index.js +39 -0
- package/dest/node/bb_backends/index.d.ts +45 -0
- package/dest/node/bb_backends/index.d.ts.map +1 -0
- package/dest/node/bb_backends/index.js +15 -0
- package/dest/node/bb_backends/interface.d.ts +33 -0
- package/dest/node/bb_backends/interface.d.ts.map +1 -0
- package/dest/node/bb_backends/interface.js +2 -0
- package/dest/node/bb_backends/node/index.d.ts +11 -0
- package/dest/node/bb_backends/node/index.d.ts.map +1 -0
- package/dest/node/bb_backends/node/index.js +80 -0
- package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
- package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_pipe.js +113 -0
- package/dest/node/bb_backends/node/native_shm.d.ts +28 -0
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm.js +150 -0
- package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_socket.js +269 -0
- package/dest/node/bb_backends/node/platform.d.ts +27 -0
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
- package/dest/node/bb_backends/node/platform.js +124 -0
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts +15 -0
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
- package/dest/node/bb_backends/sync_to_async_adapter.js +20 -0
- package/dest/node/bb_backends/wasm.d.ts +49 -0
- package/dest/node/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node/bb_backends/wasm.js +83 -0
- package/dest/node/bbapi_exception.d.ts +7 -0
- package/dest/node/bbapi_exception.d.ts.map +1 -0
- package/dest/node/bbapi_exception.js +14 -0
- package/dest/node/cbind/generate.js +94 -7
- package/dest/node/cbind/generated/api_types.d.ts +1640 -227
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +2366 -478
- package/dest/node/cbind/generated/async.d.ts +52 -13
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +586 -72
- package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node/cbind/generated/curve_constants.js +45 -0
- package/dest/node/cbind/generated/sync.d.ts +53 -14
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +548 -72
- package/dest/node/cbind/schema_compiler.d.ts +2 -4
- package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node/cbind/schema_compiler.js +97 -181
- package/dest/node/index.d.ts +4 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +5 -3
- package/dest/node/serialize/index.d.ts +0 -2
- package/dest/node/serialize/index.d.ts.map +1 -1
- package/dest/node/serialize/index.js +1 -3
- package/dest/node/serialize/serialize.d.ts +0 -35
- package/dest/node/serialize/serialize.d.ts.map +1 -1
- package/dest/node/serialize/serialize.js +1 -68
- package/dest/node/types/fields.d.ts +6 -26
- package/dest/node/types/fields.d.ts.map +1 -1
- package/dest/node/types/fields.js +16 -57
- package/dest/node/types/index.d.ts +0 -3
- package/dest/node/types/index.d.ts.map +1 -1
- package/dest/node/types/index.js +1 -4
- package/dest/node/types/point.d.ts +8 -6
- package/dest/node/types/point.d.ts.map +1 -1
- package/dest/node/types/point.js +12 -15
- package/dest/node-cjs/barretenberg/backend.d.ts +2 -2
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +38 -23
- package/dest/node-cjs/barretenberg/blake2s.test.js +19 -16
- package/dest/node-cjs/barretenberg/index.d.ts +45 -44
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +137 -85
- package/dest/node-cjs/barretenberg/pedersen.test.js +24 -17
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +219 -0
- package/dest/node-cjs/barretenberg/poseidon.test.js +15 -15
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +4 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +18 -10
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +55 -14
- package/dest/node-cjs/barretenberg_wasm/index.test.js +11 -10
- package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
- package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/browser/index.js +43 -0
- package/dest/node-cjs/bb_backends/index.d.ts +45 -0
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/index.js +18 -0
- package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
- package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/interface.js +3 -0
- package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/index.js +84 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.js +117 -0
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_shm.js +154 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_socket.js +274 -0
- package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/platform.js +131 -0
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +15 -0
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +24 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/wasm.js +88 -0
- package/dest/node-cjs/bbapi_exception.d.ts +7 -0
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
- package/dest/node-cjs/bbapi_exception.js +18 -0
- package/dest/node-cjs/cbind/generate.js +93 -6
- package/dest/node-cjs/cbind/generated/api_types.d.ts +1640 -227
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +2572 -516
- package/dest/node-cjs/cbind/generated/async.d.ts +52 -13
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +585 -71
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts +53 -14
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +547 -71
- package/dest/node-cjs/cbind/schema_compiler.d.ts +2 -4
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node-cjs/cbind/schema_compiler.js +97 -182
- package/dest/node-cjs/index.d.ts +4 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +24 -9
- package/dest/node-cjs/serialize/index.d.ts +0 -2
- package/dest/node-cjs/serialize/index.d.ts.map +1 -1
- package/dest/node-cjs/serialize/index.js +1 -3
- package/dest/node-cjs/serialize/serialize.d.ts +0 -35
- package/dest/node-cjs/serialize/serialize.d.ts.map +1 -1
- package/dest/node-cjs/serialize/serialize.js +1 -79
- package/dest/node-cjs/types/fields.d.ts +6 -26
- package/dest/node-cjs/types/fields.d.ts.map +1 -1
- package/dest/node-cjs/types/fields.js +16 -58
- package/dest/node-cjs/types/index.d.ts +0 -3
- package/dest/node-cjs/types/index.d.ts.map +1 -1
- package/dest/node-cjs/types/index.js +1 -4
- package/dest/node-cjs/types/point.d.ts +8 -6
- package/dest/node-cjs/types/point.d.ts.map +1 -1
- package/dest/node-cjs/types/point.js +13 -16
- package/package.json +6 -6
- package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +2 -2
- package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +3 -3
- package/src/barretenberg/backend.ts +54 -42
- package/src/barretenberg/blake2s.test.ts +20 -21
- package/src/barretenberg/index.ts +137 -118
- package/src/barretenberg/pedersen.test.ts +23 -16
- package/src/barretenberg/poseidon.bench.test.ts +268 -0
- package/src/barretenberg/poseidon.test.ts +14 -14
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +3 -3
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +17 -9
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +67 -16
- package/src/barretenberg_wasm/index.test.ts +12 -11
- package/src/bb_backends/browser/index.ts +50 -0
- package/src/bb_backends/index.ts +49 -0
- package/src/bb_backends/interface.ts +35 -0
- package/src/bb_backends/node/index.ts +94 -0
- package/src/bb_backends/node/native_pipe.ts +127 -0
- package/src/bb_backends/node/native_shm.ts +171 -0
- package/src/bb_backends/node/native_socket.ts +312 -0
- package/src/bb_backends/node/platform.ts +151 -0
- package/src/bb_backends/sync_to_async_adapter.ts +21 -0
- package/src/bb_backends/wasm.ts +103 -0
- package/src/bbapi_exception.ts +13 -0
- package/src/cbind/README.md +1 -1
- package/src/cbind/generate.ts +99 -6
- package/src/cbind/schema_compiler.ts +156 -244
- package/src/index.ts +29 -1
- package/src/serialize/index.ts +0 -2
- package/src/serialize/serialize.ts +0 -82
- package/src/types/fields.ts +15 -64
- package/src/types/index.ts +0 -3
- package/src/types/point.ts +13 -19
- package/dest/browser/barretenberg_api/index.d.ts +0 -109
- package/dest/browser/barretenberg_api/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/index.js +0 -699
- package/dest/browser/cbind/generated/native.d.ts +0 -31
- package/dest/browser/cbind/generated/native.d.ts.map +0 -1
- package/dest/browser/cbind/generated/native.js +0 -234
- package/dest/browser/serialize/buffer_reader.d.ts +0 -28
- package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/browser/serialize/buffer_reader.js +0 -66
- package/dest/browser/serialize/output_type.d.ts +0 -11
- package/dest/browser/serialize/output_type.d.ts.map +0 -1
- package/dest/browser/serialize/output_type.js +0 -44
- package/dest/browser/types/fixed_size_buffer.d.ts +0 -26
- package/dest/browser/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/browser/types/fixed_size_buffer.js +0 -51
- package/dest/browser/types/ptr.d.ts +0 -13
- package/dest/browser/types/ptr.d.ts.map +0 -1
- package/dest/browser/types/ptr.js +0 -19
- package/dest/browser/types/raw_buffer.d.ts +0 -3
- package/dest/browser/types/raw_buffer.d.ts.map +0 -1
- package/dest/browser/types/raw_buffer.js +0 -5
- package/dest/node/barretenberg/common.test.d.ts +0 -2
- package/dest/node/barretenberg/common.test.d.ts.map +0 -1
- package/dest/node/barretenberg/common.test.js +0 -20
- package/dest/node/barretenberg_api/index.d.ts +0 -109
- package/dest/node/barretenberg_api/index.d.ts.map +0 -1
- package/dest/node/barretenberg_api/index.js +0 -699
- package/dest/node/bindgen/function_declaration.d.ts +0 -11
- package/dest/node/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/node/bindgen/function_declaration.js +0 -2
- package/dest/node/bindgen/index.d.ts +0 -2
- package/dest/node/bindgen/index.d.ts.map +0 -1
- package/dest/node/bindgen/index.js +0 -15
- package/dest/node/bindgen/mappings.d.ts +0 -4
- package/dest/node/bindgen/mappings.d.ts.map +0 -1
- package/dest/node/bindgen/mappings.js +0 -64
- package/dest/node/bindgen/rust.d.ts +0 -2
- package/dest/node/bindgen/rust.d.ts.map +0 -1
- package/dest/node/bindgen/rust.js +0 -43
- package/dest/node/bindgen/to_camel_case.d.ts +0 -2
- package/dest/node/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/node/bindgen/to_camel_case.js +0 -11
- package/dest/node/bindgen/typescript.d.ts +0 -2
- package/dest/node/bindgen/typescript.d.ts.map +0 -1
- package/dest/node/bindgen/typescript.js +0 -100
- package/dest/node/cbind/generated/native.d.ts +0 -31
- package/dest/node/cbind/generated/native.d.ts.map +0 -1
- package/dest/node/cbind/generated/native.js +0 -234
- package/dest/node/main.d.ts +0 -13
- package/dest/node/main.d.ts.map +0 -1
- package/dest/node/main.js +0 -459
- package/dest/node/serialize/buffer_reader.d.ts +0 -28
- package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node/serialize/buffer_reader.js +0 -66
- package/dest/node/serialize/output_type.d.ts +0 -11
- package/dest/node/serialize/output_type.d.ts.map +0 -1
- package/dest/node/serialize/output_type.js +0 -44
- package/dest/node/types/fixed_size_buffer.d.ts +0 -26
- package/dest/node/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/node/types/fixed_size_buffer.js +0 -51
- package/dest/node/types/ptr.d.ts +0 -13
- package/dest/node/types/ptr.d.ts.map +0 -1
- package/dest/node/types/ptr.js +0 -19
- package/dest/node/types/raw_buffer.d.ts +0 -3
- package/dest/node/types/raw_buffer.d.ts.map +0 -1
- package/dest/node/types/raw_buffer.js +0 -5
- package/dest/node-cjs/barretenberg/common.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/common.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/common.test.js +0 -22
- package/dest/node-cjs/barretenberg_api/index.d.ts +0 -109
- package/dest/node-cjs/barretenberg_api/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_api/index.js +0 -704
- package/dest/node-cjs/bindgen/function_declaration.d.ts +0 -11
- package/dest/node-cjs/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/function_declaration.js +0 -3
- package/dest/node-cjs/bindgen/index.d.ts +0 -2
- package/dest/node-cjs/bindgen/index.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/index.js +0 -17
- package/dest/node-cjs/bindgen/mappings.d.ts +0 -4
- package/dest/node-cjs/bindgen/mappings.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/mappings.js +0 -69
- package/dest/node-cjs/bindgen/rust.d.ts +0 -2
- package/dest/node-cjs/bindgen/rust.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/rust.js +0 -47
- package/dest/node-cjs/bindgen/to_camel_case.d.ts +0 -2
- package/dest/node-cjs/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/to_camel_case.js +0 -14
- package/dest/node-cjs/bindgen/typescript.d.ts +0 -2
- package/dest/node-cjs/bindgen/typescript.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/typescript.js +0 -104
- package/dest/node-cjs/cbind/generated/native.d.ts +0 -31
- package/dest/node-cjs/cbind/generated/native.d.ts.map +0 -1
- package/dest/node-cjs/cbind/generated/native.js +0 -238
- package/dest/node-cjs/main.d.ts +0 -13
- package/dest/node-cjs/main.d.ts.map +0 -1
- package/dest/node-cjs/main.js +0 -470
- package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
- package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node-cjs/serialize/buffer_reader.js +0 -70
- package/dest/node-cjs/serialize/output_type.d.ts +0 -11
- package/dest/node-cjs/serialize/output_type.d.ts.map +0 -1
- package/dest/node-cjs/serialize/output_type.js +0 -51
- package/dest/node-cjs/types/fixed_size_buffer.d.ts +0 -26
- package/dest/node-cjs/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/node-cjs/types/fixed_size_buffer.js +0 -57
- package/dest/node-cjs/types/ptr.d.ts +0 -13
- package/dest/node-cjs/types/ptr.d.ts.map +0 -1
- package/dest/node-cjs/types/ptr.js +0 -23
- package/dest/node-cjs/types/raw_buffer.d.ts +0 -3
- package/dest/node-cjs/types/raw_buffer.d.ts.map +0 -1
- package/dest/node-cjs/types/raw_buffer.js +0 -9
- package/src/barretenberg/common.test.ts +0 -23
- package/src/barretenberg_api/index.ts +0 -1216
- package/src/bindgen/function_declaration.ts +0 -11
- package/src/bindgen/index.ts +0 -17
- package/src/bindgen/mappings.ts +0 -67
- package/src/bindgen/rust.ts +0 -52
- package/src/bindgen/to_camel_case.ts +0 -10
- package/src/bindgen/typescript.ts +0 -116
- package/src/main.ts +0 -534
- package/src/serialize/buffer_reader.ts +0 -85
- package/src/serialize/output_type.ts +0 -53
- package/src/types/fixed_size_buffer.ts +0 -59
- package/src/types/ptr.ts +0 -20
- package/src/types/raw_buffer.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync_to_async_adapter.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/sync_to_async_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;IACjD,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,mBAAmB;IAE9C,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAKlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter that wraps a synchronous backend to provide an async interface.
|
|
3
|
+
* The sync backend's blocking calls are simply wrapped in Promise.resolve().
|
|
4
|
+
*
|
|
5
|
+
* This is useful for backends like shared memory where the call is actually
|
|
6
|
+
* synchronous but we want to use it with the async API.
|
|
7
|
+
*/
|
|
8
|
+
export class SyncToAsyncAdapter {
|
|
9
|
+
constructor(syncBackend) {
|
|
10
|
+
this.syncBackend = syncBackend;
|
|
11
|
+
}
|
|
12
|
+
async call(inputBuffer) {
|
|
13
|
+
// The sync backend blocks until complete, so just wrap in a resolved promise
|
|
14
|
+
return Promise.resolve(this.syncBackend.call(inputBuffer));
|
|
15
|
+
}
|
|
16
|
+
async destroy() {
|
|
17
|
+
this.syncBackend.destroy();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY190b19hc3luY19hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JiX2JhY2tlbmRzL3N5bmNfdG9fYXN5bmNfYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLFdBQWdDO1FBQWhDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtJQUFHLENBQUM7SUFFeEQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF1QjtRQUNoQyw2RUFBNkU7UUFDN0UsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { IMsgpackBackendSync, IMsgpackBackendAsync } from './interface.js';
|
|
2
|
+
/**
|
|
3
|
+
* Synchronous WASM backend that wraps BarretenbergWasmMain.
|
|
4
|
+
* Encapsulates all WASM initialization and memory management.
|
|
5
|
+
*/
|
|
6
|
+
export declare class BarretenbergWasmSyncBackend implements IMsgpackBackendSync {
|
|
7
|
+
private wasm;
|
|
8
|
+
private constructor();
|
|
9
|
+
/**
|
|
10
|
+
* Create and initialize a synchronous WASM backend.
|
|
11
|
+
* @param wasmPath Optional path to WASM files
|
|
12
|
+
* @param logger Optional logging function
|
|
13
|
+
*/
|
|
14
|
+
static new(wasmPath?: string, logger?: (msg: string) => void): Promise<BarretenbergWasmSyncBackend>;
|
|
15
|
+
call(inputBuffer: Uint8Array): Uint8Array;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Asynchronous WASM backend that supports both direct WASM and worker-based modes.
|
|
20
|
+
*
|
|
21
|
+
* Worker mode (default): Runs WASM on a worker thread to avoid blocking the main thread. Used in browsers.
|
|
22
|
+
* Direct mode: Runs WASM directly on the calling thread. Used by node.js for better performance.
|
|
23
|
+
*/
|
|
24
|
+
export declare class BarretenbergWasmAsyncBackend implements IMsgpackBackendAsync {
|
|
25
|
+
private wasm;
|
|
26
|
+
private worker?;
|
|
27
|
+
private constructor();
|
|
28
|
+
/**
|
|
29
|
+
* Create and initialize an asynchronous WASM backend.
|
|
30
|
+
* @param options.threads Number of threads (defaults to hardware max, up to 32 for parallel proving)
|
|
31
|
+
* @param options.wasmPath Optional path to WASM files
|
|
32
|
+
* @param options.logger Optional logging function
|
|
33
|
+
* @param options.memory Optional initial and maximum memory configuration
|
|
34
|
+
* @param options.useWorker Run on worker thread (default: true for browser safety)
|
|
35
|
+
*/
|
|
36
|
+
static new(options?: {
|
|
37
|
+
threads?: number;
|
|
38
|
+
wasmPath?: string;
|
|
39
|
+
logger?: (msg: string) => void;
|
|
40
|
+
memory?: {
|
|
41
|
+
initial?: number;
|
|
42
|
+
maximum?: number;
|
|
43
|
+
};
|
|
44
|
+
useWorker?: boolean;
|
|
45
|
+
}): Promise<BarretenbergWasmAsyncBackend>;
|
|
46
|
+
call(inputBuffer: Uint8Array): Promise<Uint8Array>;
|
|
47
|
+
destroy(): Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=wasm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAM3E;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACjD,OAAO,CAAC,IAAI;IAAhC,OAAO;IAEP;;;;OAIG;WACU,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAOzG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU;IAIzC,OAAO,IAAI,IAAI;CAKhB;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,oBAAoB;IAErE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM,CAAC;IAFjB,OAAO;IAKP;;;;;;;OAOG;WACU,GAAG,CACd,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB,GACL,OAAO,CAAC,4BAA4B,CAAC;IA0BlC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAIlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { BarretenbergWasmMain } from '../barretenberg_wasm/barretenberg_wasm_main/index.js';
|
|
2
|
+
import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
|
|
3
|
+
import { createMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js';
|
|
4
|
+
import { getRemoteBarretenbergWasm } from '../barretenberg_wasm/helpers/index.js';
|
|
5
|
+
import { createDebugLogger } from '../log/index.js';
|
|
6
|
+
import { proxy } from 'comlink';
|
|
7
|
+
/**
|
|
8
|
+
* Synchronous WASM backend that wraps BarretenbergWasmMain.
|
|
9
|
+
* Encapsulates all WASM initialization and memory management.
|
|
10
|
+
*/
|
|
11
|
+
export class BarretenbergWasmSyncBackend {
|
|
12
|
+
constructor(wasm) {
|
|
13
|
+
this.wasm = wasm;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create and initialize a synchronous WASM backend.
|
|
17
|
+
* @param wasmPath Optional path to WASM files
|
|
18
|
+
* @param logger Optional logging function
|
|
19
|
+
*/
|
|
20
|
+
static async new(wasmPath, logger) {
|
|
21
|
+
const wasm = new BarretenbergWasmMain();
|
|
22
|
+
const { module, threads } = await fetchModuleAndThreads(1, wasmPath, logger);
|
|
23
|
+
await wasm.init(module, threads, logger);
|
|
24
|
+
return new BarretenbergWasmSyncBackend(wasm);
|
|
25
|
+
}
|
|
26
|
+
call(inputBuffer) {
|
|
27
|
+
return this.wasm.cbindCall('bbapi', inputBuffer);
|
|
28
|
+
}
|
|
29
|
+
destroy() {
|
|
30
|
+
// BarretenbergWasmMain has async destroy, but for sync API we call it without awaiting
|
|
31
|
+
// This is consistent with the synchronous semantics expected by the caller
|
|
32
|
+
void this.wasm.destroy();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Asynchronous WASM backend that supports both direct WASM and worker-based modes.
|
|
37
|
+
*
|
|
38
|
+
* Worker mode (default): Runs WASM on a worker thread to avoid blocking the main thread. Used in browsers.
|
|
39
|
+
* Direct mode: Runs WASM directly on the calling thread. Used by node.js for better performance.
|
|
40
|
+
*/
|
|
41
|
+
export class BarretenbergWasmAsyncBackend {
|
|
42
|
+
constructor(wasm, worker) {
|
|
43
|
+
this.wasm = wasm;
|
|
44
|
+
this.worker = worker;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create and initialize an asynchronous WASM backend.
|
|
48
|
+
* @param options.threads Number of threads (defaults to hardware max, up to 32 for parallel proving)
|
|
49
|
+
* @param options.wasmPath Optional path to WASM files
|
|
50
|
+
* @param options.logger Optional logging function
|
|
51
|
+
* @param options.memory Optional initial and maximum memory configuration
|
|
52
|
+
* @param options.useWorker Run on worker thread (default: true for browser safety)
|
|
53
|
+
*/
|
|
54
|
+
static async new(options = {}) {
|
|
55
|
+
// Default to worker mode for browser safety
|
|
56
|
+
const useWorker = options.useWorker ?? true;
|
|
57
|
+
if (useWorker) {
|
|
58
|
+
// Worker-based mode: runs on worker thread (browser-safe)
|
|
59
|
+
const worker = await createMainWorker();
|
|
60
|
+
const wasm = getRemoteBarretenbergWasm(worker);
|
|
61
|
+
const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath, options.logger);
|
|
62
|
+
await wasm.init(module, threads, proxy(options.logger ?? createDebugLogger('bb_wasm_async')), options.memory?.initial, options.memory?.maximum);
|
|
63
|
+
return new BarretenbergWasmAsyncBackend(wasm, worker);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
// Direct mode: runs on calling thread (faster but blocks thread)
|
|
67
|
+
const wasm = new BarretenbergWasmMain();
|
|
68
|
+
const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath, options.logger);
|
|
69
|
+
await wasm.init(module, threads, options.logger, options.memory?.initial, options.memory?.maximum);
|
|
70
|
+
return new BarretenbergWasmAsyncBackend(wasm);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
async call(inputBuffer) {
|
|
74
|
+
return this.wasm.cbindCall('bbapi', inputBuffer);
|
|
75
|
+
}
|
|
76
|
+
async destroy() {
|
|
77
|
+
await this.wasm.destroy();
|
|
78
|
+
if (this.worker) {
|
|
79
|
+
await this.worker.terminate();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy93YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBOEIsTUFBTSxzREFBc0QsQ0FBQztBQUN4SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBNEIsSUFBMEI7UUFBMUIsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFBRyxDQUFDO0lBRTFEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFpQixFQUFFLE1BQThCO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxXQUF1QjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bbapi_exception.d.ts","sourceRoot":"","sources":["../../src/bbapi_exception.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAQ5B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exception thrown when barretenberg API operations fail
|
|
3
|
+
*/
|
|
4
|
+
export class BBApiException extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'BBApiException';
|
|
8
|
+
// Maintains proper stack trace for where our error was thrown (only available on V8)
|
|
9
|
+
if (Error.captureStackTrace) {
|
|
10
|
+
Error.captureStackTrace(this, BBApiException);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJhcGlfZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JiYXBpX2V4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUM3QixxRkFBcUY7UUFDckYsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -6,7 +6,8 @@ import { dirname, join } from 'path';
|
|
|
6
6
|
import { exec } from 'child_process';
|
|
7
7
|
import { promisify } from 'util';
|
|
8
8
|
import { fileURLToPath } from 'url';
|
|
9
|
-
import {
|
|
9
|
+
import { unpack } from 'msgpackr';
|
|
10
|
+
import { createSharedTypesCompiler, createSyncApiCompiler, createAsyncApiCompiler, } from './schema_compiler.js';
|
|
10
11
|
const execAsync = promisify(exec);
|
|
11
12
|
const GENERATORS = [
|
|
12
13
|
{
|
|
@@ -24,11 +25,6 @@ const GENERATORS = [
|
|
|
24
25
|
outputFile: 'generated/async.ts',
|
|
25
26
|
createCompiler: createAsyncApiCompiler,
|
|
26
27
|
},
|
|
27
|
-
{
|
|
28
|
-
name: 'Native API',
|
|
29
|
-
outputFile: 'generated/native.ts',
|
|
30
|
-
createCompiler: createNativeApiCompiler,
|
|
31
|
-
},
|
|
32
28
|
];
|
|
33
29
|
// @ts-ignore
|
|
34
30
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
@@ -54,11 +50,102 @@ async function generate() {
|
|
|
54
50
|
writeFileSync(outputPath, content);
|
|
55
51
|
console.log(`✓ ${config.name}: ${outputPath}`);
|
|
56
52
|
}
|
|
53
|
+
// Generate curve constants
|
|
54
|
+
console.log('\nGenerating curve constants...');
|
|
55
|
+
await generateCurveConstants(bbBuildPath, outputDir);
|
|
57
56
|
console.log('\nGeneration complete!');
|
|
58
57
|
}
|
|
58
|
+
async function generateCurveConstants(bbBuildPath, outputDir) {
|
|
59
|
+
// Get curve constants from bb as msgpack binary
|
|
60
|
+
const { stdout: constantsBuffer } = await execAsync(`${bbBuildPath} msgpack curve_constants`, {
|
|
61
|
+
encoding: 'buffer',
|
|
62
|
+
maxBuffer: 10 * 1024 * 1024, // 10MB buffer
|
|
63
|
+
});
|
|
64
|
+
// Decode msgpack
|
|
65
|
+
const constants = unpack(constantsBuffer);
|
|
66
|
+
// Helper to convert Uint8Array to hex string
|
|
67
|
+
const toHex = (bytes) => '0x' + Buffer.from(bytes).toString('hex');
|
|
68
|
+
// Helper to convert Uint8Array to bigint (big-endian)
|
|
69
|
+
const toBigInt = (bytes) => {
|
|
70
|
+
let result = 0n;
|
|
71
|
+
for (const byte of bytes) {
|
|
72
|
+
result = (result << 8n) | BigInt(byte);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
};
|
|
76
|
+
// Helper to serialize point coordinate (handles both Uint8Array and array of Uint8Array for field2)
|
|
77
|
+
const serializeCoordinate = (coord) => {
|
|
78
|
+
if (Array.isArray(coord)) {
|
|
79
|
+
// For field2 (like BN254 G2), we have array of two Uint8Arrays
|
|
80
|
+
return `[${coord.map(c => `new Uint8Array([${Array.from(c).join(', ')}])`).join(', ')}]`;
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
// For regular fields, single Uint8Array
|
|
84
|
+
return `new Uint8Array([${Array.from(coord).join(', ')}])`;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
// Generate TypeScript file
|
|
88
|
+
const content = `/**
|
|
89
|
+
* Curve constants generated from barretenberg native binary.
|
|
90
|
+
* DO NOT EDIT - This file is auto-generated by generate.ts
|
|
91
|
+
*/
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* BN254 curve constants
|
|
95
|
+
*/
|
|
96
|
+
export const BN254_FR_MODULUS = ${toBigInt(constants.bn254_fr_modulus)}n;
|
|
97
|
+
export const BN254_FQ_MODULUS = ${toBigInt(constants.bn254_fq_modulus)}n;
|
|
98
|
+
|
|
99
|
+
export const BN254_G1_GENERATOR = {
|
|
100
|
+
x: ${serializeCoordinate(constants.bn254_g1_generator.x)},
|
|
101
|
+
y: ${serializeCoordinate(constants.bn254_g1_generator.y)},
|
|
102
|
+
} as const;
|
|
103
|
+
|
|
104
|
+
export const BN254_G2_GENERATOR = {
|
|
105
|
+
x: ${serializeCoordinate(constants.bn254_g2_generator.x)},
|
|
106
|
+
y: ${serializeCoordinate(constants.bn254_g2_generator.y)},
|
|
107
|
+
} as const;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Grumpkin curve constants
|
|
111
|
+
*/
|
|
112
|
+
export const GRUMPKIN_FR_MODULUS = ${toBigInt(constants.grumpkin_fr_modulus)}n;
|
|
113
|
+
export const GRUMPKIN_FQ_MODULUS = ${toBigInt(constants.grumpkin_fq_modulus)}n;
|
|
114
|
+
|
|
115
|
+
export const GRUMPKIN_G1_GENERATOR = {
|
|
116
|
+
x: ${serializeCoordinate(constants.grumpkin_g1_generator.x)},
|
|
117
|
+
y: ${serializeCoordinate(constants.grumpkin_g1_generator.y)},
|
|
118
|
+
} as const;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Secp256k1 curve constants
|
|
122
|
+
*/
|
|
123
|
+
export const SECP256K1_FR_MODULUS = ${toBigInt(constants.secp256k1_fr_modulus)}n;
|
|
124
|
+
export const SECP256K1_FQ_MODULUS = ${toBigInt(constants.secp256k1_fq_modulus)}n;
|
|
125
|
+
|
|
126
|
+
export const SECP256K1_G1_GENERATOR = {
|
|
127
|
+
x: ${serializeCoordinate(constants.secp256k1_g1_generator.x)},
|
|
128
|
+
y: ${serializeCoordinate(constants.secp256k1_g1_generator.y)},
|
|
129
|
+
} as const;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Secp256r1 curve constants
|
|
133
|
+
*/
|
|
134
|
+
export const SECP256R1_FR_MODULUS = ${toBigInt(constants.secp256r1_fr_modulus)}n;
|
|
135
|
+
export const SECP256R1_FQ_MODULUS = ${toBigInt(constants.secp256r1_fq_modulus)}n;
|
|
136
|
+
|
|
137
|
+
export const SECP256R1_G1_GENERATOR = {
|
|
138
|
+
x: ${serializeCoordinate(constants.secp256r1_g1_generator.x)},
|
|
139
|
+
y: ${serializeCoordinate(constants.secp256r1_g1_generator.y)},
|
|
140
|
+
} as const;
|
|
141
|
+
`;
|
|
142
|
+
const outputPath = join(outputDir, 'curve_constants.ts');
|
|
143
|
+
writeFileSync(outputPath, content);
|
|
144
|
+
console.log(`✓ Curve constants: ${outputPath}`);
|
|
145
|
+
}
|
|
59
146
|
// Run the generator
|
|
60
147
|
generate().catch(error => {
|
|
61
148
|
console.error('Generation failed:', error);
|
|
62
149
|
process.exit(1);
|
|
63
150
|
});
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHNCQUFzQixHQUV2QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQVFsQyxNQUFNLFVBQVUsR0FBc0I7SUFDcEM7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixVQUFVLEVBQUUsd0JBQXdCO1FBQ3BDLGNBQWMsRUFBRSx5QkFBeUI7S0FDMUM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxtQkFBbUI7UUFDL0IsY0FBYyxFQUFFLHFCQUFxQjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxjQUFjLEVBQUUsc0JBQXNCO0tBQ3ZDO0NBQ0YsQ0FBQztBQUVGLGFBQWE7QUFDYixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUUxRCxLQUFLLFVBQVUsUUFBUTtJQUNyQixNQUFNLFdB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
|