@aztec/bb.js 3.0.0-nightly.20251016 → 3.0.0-nightly.20251022
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 +12 -78
- package/dest/browser/barretenberg/backend.d.ts +1 -1
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +21 -13
- package/dest/browser/barretenberg/index.d.ts +44 -43
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +130 -79
- 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 +51 -13
- 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 +56 -0
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
- package/dest/browser/bb_backends/wasm.js +90 -0
- package/dest/browser/cbind/generate.js +2 -7
- package/dest/browser/cbind/generated/api_types.d.ts +1167 -0
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +1609 -47
- package/dest/browser/cbind/generated/async.d.ts +38 -4
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +327 -21
- package/dest/browser/cbind/generated/sync.d.ts +39 -5
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +294 -21
- 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 +74 -178
- package/dest/browser/index.d.ts +2 -2
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +3 -3
- package/dest/browser/serialize/index.d.ts +0 -1
- package/dest/browser/serialize/index.d.ts.map +1 -1
- package/dest/browser/serialize/index.js +1 -2
- 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.map +1 -1
- package/dest/browser/types/fields.js +3 -3
- 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/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 +1 -1
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +21 -13
- package/dest/node/barretenberg/blake2s.test.js +21 -18
- package/dest/node/barretenberg/index.d.ts +44 -43
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +130 -79
- 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 +216 -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 +51 -13
- 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 +56 -0
- package/dest/node/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node/bb_backends/wasm.js +90 -0
- package/dest/node/cbind/generate.js +2 -7
- package/dest/node/cbind/generated/api_types.d.ts +1167 -0
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +1609 -47
- package/dest/node/cbind/generated/async.d.ts +38 -4
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +327 -21
- package/dest/node/cbind/generated/sync.d.ts +39 -5
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +294 -21
- 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 +74 -178
- package/dest/node/index.d.ts +2 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +3 -3
- package/dest/node/serialize/index.d.ts +0 -1
- package/dest/node/serialize/index.d.ts.map +1 -1
- package/dest/node/serialize/index.js +1 -2
- 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.map +1 -1
- package/dest/node/types/fields.js +3 -3
- 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-cjs/barretenberg/backend.d.ts +1 -1
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +20 -12
- package/dest/node-cjs/barretenberg/blake2s.test.js +19 -16
- package/dest/node-cjs/barretenberg/index.d.ts +44 -43
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +136 -84
- 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 +218 -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 +51 -13
- 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 +56 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/wasm.js +95 -0
- package/dest/node-cjs/cbind/generate.js +1 -6
- package/dest/node-cjs/cbind/generated/api_types.d.ts +1167 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +1747 -47
- package/dest/node-cjs/cbind/generated/async.d.ts +38 -4
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +326 -20
- package/dest/node-cjs/cbind/generated/sync.d.ts +39 -5
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +293 -20
- 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 +74 -179
- package/dest/node-cjs/index.d.ts +2 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +3 -3
- package/dest/node-cjs/serialize/index.d.ts +0 -1
- package/dest/node-cjs/serialize/index.d.ts.map +1 -1
- package/dest/node-cjs/serialize/index.js +1 -2
- 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.map +1 -1
- package/dest/node-cjs/types/fields.js +2 -2
- 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/package.json +3 -4
- 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 +37 -32
- package/src/barretenberg/blake2s.test.ts +20 -21
- package/src/barretenberg/index.ts +136 -117
- package/src/barretenberg/pedersen.test.ts +23 -16
- package/src/barretenberg/poseidon.bench.test.ts +267 -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 +62 -15
- 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 +110 -0
- package/src/cbind/README.md +1 -1
- package/src/cbind/generate.ts +0 -6
- package/src/cbind/schema_compiler.ts +131 -241
- package/src/index.ts +2 -1
- package/src/serialize/index.ts +0 -1
- package/src/serialize/serialize.ts +0 -82
- package/src/types/fields.ts +2 -2
- package/src/types/index.ts +0 -3
- 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/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/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/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/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
package/README.md
CHANGED
|
@@ -1,75 +1,21 @@
|
|
|
1
1
|
# bb.js
|
|
2
2
|
|
|
3
|
-
Prover/verifier
|
|
4
|
-
project structures.
|
|
3
|
+
Prover/verifier library for barretenberg. It bundles support for the following:
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
- x86_64 on linux.
|
|
6
|
+
- aarch64 on linux.
|
|
7
|
+
- x86_64 on macos.
|
|
8
|
+
- aarch64 on macos.
|
|
9
|
+
- Single-threaded WASM.
|
|
10
|
+
- Multi-threaded WASM.
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
If running
|
|
12
|
-
Note there are two independent WASM builds, one with threading enabled and one without. This is because the shared
|
|
13
|
-
memory flag is set within the WASM itself. If you're running in a context where you can't have shared memory, we want
|
|
14
|
-
to fallback to single threaded performance.
|
|
15
|
-
|
|
16
|
-
Table represents time in ms to build circuit and proof for each test on n threads.
|
|
17
|
-
Ignores proving key construction.
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
+--------------------------+------------+---------------+-----------+-----------+-----------+-----------+-----------+
|
|
21
|
-
| Test | Gate Count | Subgroup Size | 1 | 4 | 16 | 32 | 64 |
|
|
22
|
-
+--------------------------+------------+---------------+-----------+-----------+-----------+-----------+-----------+
|
|
23
|
-
| sha256 | 38799 | 65536 | 18764 | 5116 | 1854 | 1524 | 1635 |
|
|
24
|
-
| ecdsa_secp256k1 | 41049 | 65536 | 19129 | 5595 | 2255 | 2097 | 2166 |
|
|
25
|
-
| ecdsa_secp256r1 | 67331 | 131072 | 38815 | 11257 | 4744 | 3633 | 3702 |
|
|
26
|
-
| schnorr | 33740 | 65536 | 18649 | 5244 | 2019 | 1498 | 1702 |
|
|
27
|
-
| double_verify_proof | 505513 | 524288 | 149652 | 45702 | 20811 | 16979 | 15679 |
|
|
28
|
-
+--------------------------+------------+---------------+-----------+-----------+-----------+-----------+-----------+
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Using as a standalone binary
|
|
32
|
-
|
|
33
|
-
### Installing
|
|
34
|
-
|
|
35
|
-
To install the package globally for running as a terminal application:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
npm install -g @aztec/bb.js
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Assuming `$(npm prefix -g)/bin` is in your `PATH`, you can now run the command `bb.js`.
|
|
42
|
-
|
|
43
|
-
### Usage
|
|
44
|
-
|
|
45
|
-
Run `bb.js` for further usage information, you'll see e.g.
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
% bb.js
|
|
49
|
-
Usage: bb.js [options] [command]
|
|
50
|
-
|
|
51
|
-
Options:
|
|
52
|
-
-v, --verbose enable verbose logging (default: false)
|
|
53
|
-
-h, --help display help for command
|
|
54
|
-
|
|
55
|
-
Commands:
|
|
56
|
-
prove_and_verify [options] Generate a proof and verify it. Process exits with success or failure code.
|
|
57
|
-
prove [options] Generate a proof and write it to a file.
|
|
58
|
-
gates [options] Print gate count to standard output.
|
|
59
|
-
verify [options] Verify a proof. Process exists with success or failure code.
|
|
60
|
-
contract [options] Output solidity verification key contract.
|
|
61
|
-
write_vk [options] Output verification key.
|
|
62
|
-
proof_as_fields [options] Return the proof as fields elements
|
|
63
|
-
vk_as_fields [options] Return the verification key represented as field elements. Also return the verification key hash.
|
|
64
|
-
help [command] display help for command
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Using as a library
|
|
12
|
+
If running within node.js on a support os/architecture we will use appropriate native code.
|
|
13
|
+
If running within node.js on an unsupported architecture we will fallback to multi-threaded WASM.
|
|
14
|
+
If running within the browser and served without COOP/COEP headers, we use the single-threaded WASM.
|
|
15
|
+
If running within the browser served with COOP/COEP headers, we use the multi-threaded WASM.
|
|
68
16
|
|
|
69
17
|
### Installing
|
|
70
18
|
|
|
71
|
-
To install as a package to be used as a library:
|
|
72
|
-
|
|
73
19
|
```
|
|
74
20
|
npm install @aztec/bb.js
|
|
75
21
|
```
|
|
@@ -87,7 +33,7 @@ To create the API and do a blake2s hash:
|
|
|
87
33
|
```typescript
|
|
88
34
|
import { Crs, Barretenberg, RawBuffer } from './index.js';
|
|
89
35
|
|
|
90
|
-
const api = await Barretenberg.new(
|
|
36
|
+
const api = await Barretenberg.new({ threads: 1 });
|
|
91
37
|
const input = Buffer.from('hello world!');
|
|
92
38
|
const result = await api.blake2s(input);
|
|
93
39
|
await api.destroy();
|
|
@@ -134,18 +80,6 @@ Note that adding COOP and COEP headers will disable loading of external scripts,
|
|
|
134
80
|
|
|
135
81
|
You can enable these headers for specific pages that perform proof generation, but this may be challenging, especially in single-page applications. One workaround is to move the proof generation to a separate page, load it in an invisible iframe within your main application, and then use `postMessage` to communicate between the pages for generating proofs.
|
|
136
82
|
|
|
137
|
-
## Development
|
|
138
|
-
|
|
139
|
-
Create a symlink to the root script `bb.js-dev` in your path. You can now run the current state of the code from
|
|
140
|
-
anywhere in your filesystem with no `yarn build` required.
|
|
141
|
-
|
|
142
|
-
If you change the C++ code run `yarn build:wasm` to rebuild the webassembly.
|
|
143
|
-
|
|
144
|
-
To run the tests run `yarn test`.
|
|
145
|
-
|
|
146
|
-
To run a continuous "stress test" run `yarn simple_test` to do 10 full pk/proof/vk iterations. This is useful for
|
|
147
|
-
inspecting memory growth as we continuously use the library.
|
|
148
|
-
|
|
149
83
|
## Debugging
|
|
150
84
|
|
|
151
85
|
Got an unhelpful stack trace in wasm? Run:
|
|
@@ -52,7 +52,7 @@ export declare class UltraHonkBackend {
|
|
|
52
52
|
verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean>;
|
|
53
53
|
getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array>;
|
|
54
54
|
/** @description Returns a solidity verifier */
|
|
55
|
-
getSolidityVerifier(vk?:
|
|
55
|
+
getSolidityVerifier(vk: Uint8Array, options?: UltraHonkBackendOptions): Promise<string>;
|
|
56
56
|
generateRecursiveProofArtifacts(_proof: Uint8Array, _numOfPublicInputs: number): Promise<{
|
|
57
57
|
proofAsFields: string[];
|
|
58
58
|
vkAsFields: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAoC,MAAM,mBAAmB,CAAC;AAMhF,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAG5B;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAsBF,qBAAa,wBAAwB;IAIjC,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,cAAc,EAAE,cAAc;IAJ1C,SAAS,CAAC,GAAG,EAAG,YAAY,CAAC;gBAGjB,cAAc,GAAE,cAA+B,EAC/C,cAAc,GAAE,cAAqC;IAEjE,cAAc;YACA,WAAW;IAUnB,WAAW,CACf,SAAS,EAAE,SAAS,GAAG;QAAE,eAAe,EAAE,UAAU,CAAA;KAAE,EACtD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,OAAO,CAAC;IAenB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMzB;AAED,qBAAa,gBAAgB;IAWzB,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,cAAc,EAAE,cAAc;IAN1C,SAAS,CAAC,GAAG,EAAG,YAAY,CAAC;IAC7B,SAAS,CAAC,wBAAwB,EAAE,UAAU,CAAC;gBAG7C,YAAY,EAAE,MAAM,EACV,cAAc,GAAE,cAA+B,EAC/C,cAAc,GAAE,cAAqC;IAIjE,cAAc;YACA,WAAW;IAUnB,aAAa,CAAC,iBAAiB,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBnG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBtF,kBAAkB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAahF,+CAA+C;IACzC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,+BAA+B,CAEnC,MAAM,EAAE,UAAU,EAElB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCvE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAED,qBAAa,kBAAkB;IAS3B,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE;IAC/B,SAAS,CAAC,OAAO,EAAE,cAAc;IAJnC,SAAS,CAAC,GAAG,EAAG,YAAY,CAAC;gBAGjB,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,GAAE,cAA+B;IAGpD,cAAc;YACA,WAAW;IAQnB,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IA8D3G,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3D,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Barretenberg } from './index.js';
|
|
2
|
-
import {
|
|
3
|
-
import { uint8ArrayToHex, hexToUint8Array, } from '../proof/index.js';
|
|
2
|
+
import { uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
|
|
4
3
|
import { fromClientIVCProof, toClientIVCProof } from '../cbind/generated/api_types.js';
|
|
5
4
|
import { ungzip } from 'pako';
|
|
6
5
|
import { Buffer } from 'buffer';
|
|
@@ -13,7 +12,11 @@ export class AztecClientBackendError extends Error {
|
|
|
13
12
|
function getProofSettingsFromOptions(options) {
|
|
14
13
|
return {
|
|
15
14
|
ipaAccumulation: false,
|
|
16
|
-
oracleHashType: options?.keccak || options?.keccakZK
|
|
15
|
+
oracleHashType: options?.keccak || options?.keccakZK
|
|
16
|
+
? 'keccak'
|
|
17
|
+
: options?.starknet || options?.starknetZK
|
|
18
|
+
? 'starknet'
|
|
19
|
+
: 'poseidon2',
|
|
17
20
|
// TODO no current way to target non-zk poseidon2 hash
|
|
18
21
|
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
19
22
|
optimizedSolidityVerifier: false,
|
|
@@ -79,7 +82,7 @@ export class UltraHonkBackend {
|
|
|
79
82
|
bytecode: Buffer.from(this.acirUncompressedBytecode),
|
|
80
83
|
verificationKey: Buffer.from([]), // Empty VK - lower performance.
|
|
81
84
|
},
|
|
82
|
-
settings: getProofSettingsFromOptions(options)
|
|
85
|
+
settings: getProofSettingsFromOptions(options),
|
|
83
86
|
});
|
|
84
87
|
console.log(`Generated proof for circuit with ${publicInputs.length} public inputs and ${proof.length} fields.`);
|
|
85
88
|
// We return ProofData as a flat buffer and an array of strings to match the current ProofData class.
|
|
@@ -123,10 +126,13 @@ export class UltraHonkBackend {
|
|
|
123
126
|
return vkResult.bytes;
|
|
124
127
|
}
|
|
125
128
|
/** @description Returns a solidity verifier */
|
|
126
|
-
async getSolidityVerifier(vk) {
|
|
129
|
+
async getSolidityVerifier(vk, options) {
|
|
127
130
|
await this.instantiate();
|
|
128
|
-
const
|
|
129
|
-
|
|
131
|
+
const result = await this.api.circuitWriteSolidityVerifier({
|
|
132
|
+
verificationKey: vk,
|
|
133
|
+
settings: getProofSettingsFromOptions(options),
|
|
134
|
+
});
|
|
135
|
+
return result.solidityCode;
|
|
130
136
|
}
|
|
131
137
|
// TODO(https://github.com/noir-lang/noir/issues/5661): Update this to handle Honk recursive aggregation in the browser once it is ready in the backend itself
|
|
132
138
|
async generateRecursiveProofArtifacts(
|
|
@@ -164,7 +170,7 @@ export class UltraHonkBackend {
|
|
|
164
170
|
// We use an empty string for the vk hash here as it is unneeded as part of the recursive artifacts
|
|
165
171
|
// The user can be expected to hash the vk inside their circuit to check whether the vk is the circuit
|
|
166
172
|
// they expect
|
|
167
|
-
vkHash: uint8ArrayToHex(vkResult.hash)
|
|
173
|
+
vkHash: uint8ArrayToHex(vkResult.hash),
|
|
168
174
|
};
|
|
169
175
|
}
|
|
170
176
|
async destroy() {
|
|
@@ -210,7 +216,7 @@ export class AztecClientBackend {
|
|
|
210
216
|
name: functionName,
|
|
211
217
|
bytecode: Buffer.from(bytecode),
|
|
212
218
|
verificationKey: Buffer.from(vk),
|
|
213
|
-
}
|
|
219
|
+
},
|
|
214
220
|
});
|
|
215
221
|
// Accumulate with witness
|
|
216
222
|
this.api.clientIvcAccumulate({
|
|
@@ -222,10 +228,12 @@ export class AztecClientBackend {
|
|
|
222
228
|
// The API currently expects a msgpack-encoded API.
|
|
223
229
|
const proof = new Encoder({ useRecords: false }).encode(fromClientIVCProof(proveResult.proof));
|
|
224
230
|
// Generate the VK
|
|
225
|
-
const vkResult = await this.api.clientIvcComputeIvcVk({
|
|
231
|
+
const vkResult = await this.api.clientIvcComputeIvcVk({
|
|
232
|
+
circuit: {
|
|
226
233
|
name: 'hiding',
|
|
227
234
|
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
228
|
-
}
|
|
235
|
+
},
|
|
236
|
+
});
|
|
229
237
|
const proofFields = [
|
|
230
238
|
proveResult.proof.megaProof,
|
|
231
239
|
proveResult.proof.goblinProof.mergeProof,
|
|
@@ -256,7 +264,7 @@ export class AztecClientBackend {
|
|
|
256
264
|
name: 'circuit',
|
|
257
265
|
bytecode: buf,
|
|
258
266
|
},
|
|
259
|
-
includeGatesPerOpcode: false
|
|
267
|
+
includeGatesPerOpcode: false,
|
|
260
268
|
});
|
|
261
269
|
circuitSizes.push(gates.circuitSize);
|
|
262
270
|
}
|
|
@@ -290,4 +298,4 @@ function base64Decode(input) {
|
|
|
290
298
|
throw new Error('No implementation found for base64 decoding.');
|
|
291
299
|
}
|
|
292
300
|
}
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFlBQVksRUFBa0IsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFLTCxlQUFlLEVBQ2YsZUFBZSxHQUNoQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBa0Isa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFNUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUE0QkQsU0FBUywyQkFBMkIsQ0FDbEMsT0FBaUM7SUFFakMsT0FBTztRQUNMLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQ3ZJLHNEQUFzRDtRQUN0RCxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDOUQseUJBQXlCLEVB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
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFlBQVksRUFBa0IsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFhLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFNUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUE0QkQsU0FBUywyQkFBMkIsQ0FBQyxPQUFpQztJQU1wRSxPQUFPO1FBQ0wsZUFBZSxFQUFFLEtBQUs7UUFDdEIsY0FBYyxFQUNaLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLFFBQVE7WUFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxPQUFPLEVBQUUsVUFBVTtnQkFDeEMsQ0FBQyxDQUFDLFVBQVU7Z0JBQ1osQ0FBQyxDQUFDLFdBQVc7UUFDbkIsc0RBQXNEO1FBQ3RELFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztRQUM5RCx5QkFBeUIsRUFBRSxLQUFLO0tBQ2pDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJ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
|
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { AsyncApi } from '../cbind/generated/async.js';
|
|
2
|
+
import { SyncApi } from '../cbind/generated/sync.js';
|
|
3
|
+
import { IMsgpackBackendSync, IMsgpackBackendAsync } from '../bb_backends/interface.js';
|
|
4
|
+
import { BackendOptions } from '../bb_backends/index.js';
|
|
4
5
|
export { UltraHonkBackend, UltraHonkVerifierBackend, AztecClientBackend } from './backend.js';
|
|
5
|
-
export
|
|
6
|
-
/** @description Number of threads to run the backend worker on */
|
|
7
|
-
threads?: number;
|
|
8
|
-
/** @description Initial and Maximum memory to be alloted to the backend worker */
|
|
9
|
-
memory?: {
|
|
10
|
-
initial?: number;
|
|
11
|
-
maximum?: number;
|
|
12
|
-
};
|
|
13
|
-
/** @description Path to download CRS files */
|
|
14
|
-
crsPath?: string;
|
|
15
|
-
/** @description Path to download WASM files */
|
|
16
|
-
wasmPath?: string;
|
|
17
|
-
/** @description Logging function */
|
|
18
|
-
logger?: (msg: string) => void;
|
|
19
|
-
};
|
|
6
|
+
export * from '../bb_backends/index.js';
|
|
20
7
|
export type CircuitOptions = {
|
|
21
8
|
/** @description Whether to produce SNARK friendly proofs */
|
|
22
9
|
recursive: boolean;
|
|
@@ -25,42 +12,56 @@ export type CircuitOptions = {
|
|
|
25
12
|
* The main class library consumers interact with.
|
|
26
13
|
* It extends the generated api, and provides a static constructor "new" to compose components.
|
|
27
14
|
*/
|
|
28
|
-
export declare class Barretenberg extends
|
|
29
|
-
private worker;
|
|
15
|
+
export declare class Barretenberg extends AsyncApi {
|
|
30
16
|
private options;
|
|
31
|
-
|
|
32
|
-
private constructor();
|
|
17
|
+
constructor(backend: IMsgpackBackendAsync, options: BackendOptions);
|
|
33
18
|
/**
|
|
34
19
|
* Constructs an instance of Barretenberg.
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
20
|
+
*
|
|
21
|
+
* If options.backend is set: uses that specific backend (throws if unavailable)
|
|
22
|
+
* If options.backend is unset: tries backends in order with fallback:
|
|
23
|
+
* 1. NativeSharedMemory (if bb binary available)
|
|
24
|
+
* 2. WasmWorker (in browser) or Wasm (in Node.js)
|
|
38
25
|
*/
|
|
39
26
|
static new(options?: BackendOptions): Promise<Barretenberg>;
|
|
40
|
-
getNumThreads(): Promise<number>;
|
|
41
27
|
initSRSForCircuitSize(circuitSize: number): Promise<void>;
|
|
42
28
|
initSRSClientIVC(srsSize?: number): Promise<void>;
|
|
43
29
|
getDefaultSrsSize(): number;
|
|
30
|
+
acirGetCircuitSizes(bytecode: Uint8Array, recursive: boolean, honkRecursion: boolean): Promise<[number, number]>;
|
|
44
31
|
acirInitSRS(bytecode: Uint8Array, recursive: boolean, honkRecursion: boolean): Promise<void>;
|
|
45
32
|
destroy(): Promise<void>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
vkAsFields(command: VkAsFields): Promise<import("../cbind/generated/api_types.js").VkAsFieldsResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Initialize the singleton instance of Barretenberg.
|
|
35
|
+
* @param options Backend configuration options
|
|
36
|
+
*/
|
|
37
|
+
static initSingleton(options?: BackendOptions): Promise<Barretenberg>;
|
|
38
|
+
static destroySingleton(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Get the singleton instance of Barretenberg.
|
|
41
|
+
* Must call initSingleton() first.
|
|
42
|
+
*/
|
|
43
|
+
static getSingleton(): Barretenberg;
|
|
58
44
|
}
|
|
59
|
-
export declare class BarretenbergSync extends
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
45
|
+
export declare class BarretenbergSync extends SyncApi {
|
|
46
|
+
constructor(backend: IMsgpackBackendSync);
|
|
47
|
+
/**
|
|
48
|
+
* Create a new BarretenbergSync instance.
|
|
49
|
+
*
|
|
50
|
+
* If options.backend is set: uses that specific backend (throws if unavailable)
|
|
51
|
+
* If options.backend is unset: tries backends in order with fallback:
|
|
52
|
+
* 1. NativeSharedMem (if bb binary + NAPI module available)
|
|
53
|
+
* 2. Wasm
|
|
54
|
+
*
|
|
55
|
+
* Supported backends: Wasm, NativeSharedMem
|
|
56
|
+
* Not supported: WasmWorker (no workers in sync), NativeUnixSocket (async only)
|
|
57
|
+
*/
|
|
58
|
+
static new(options?: BackendOptions): Promise<BarretenbergSync>;
|
|
59
|
+
/**
|
|
60
|
+
* Initialize the singleton instance.
|
|
61
|
+
* @param options Backend configuration options
|
|
62
|
+
*/
|
|
63
|
+
static initSingleton(options?: BackendOptions): Promise<BarretenbergSync>;
|
|
64
|
+
static destroySingleton(): void;
|
|
63
65
|
static getSingleton(): BarretenbergSync;
|
|
64
|
-
getWasm(): BarretenbergWasmMain;
|
|
65
66
|
}
|
|
66
67
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAe,MAAM,yBAAyB,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC9F,cAAc,yBAAyB,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,OAAO,CAAiB;gBAEpB,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc;IAKlE;;;;;;;OAOG;WACU,GAAG,CAAC,OAAO,GAAE,cAAmB;IA0BvC,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,gBAAgB,CAAC,OAAO,SAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzE,iBAAiB,IAAI,MAAM;IASrB,mBAAmB,CACvB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IActB,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5F,OAAO;IAIb;;;OAGG;WACU,aAAa,CAAC,OAAO,GAAE,cAAmB;WAe1C,gBAAgB;IAQ7B;;;OAGG;IACH,MAAM,CAAC,YAAY;CAMpB;AAQD,qBAAa,gBAAiB,SAAQ,OAAO;gBAC/B,OAAO,EAAE,mBAAmB;IAIxC;;;;;;;;;;OAUG;WACU,GAAG,CAAC,OAAO,GAAE,cAAmB;IAiB7C;;;OAGG;WACU,aAAa,CAAC,OAAO,GAAE,cAAmB;IASvD,MAAM,CAAC,gBAAgB;IAQvB,MAAM,CAAC,YAAY;CAMpB"}
|