@aztec/bb.js 0.0.1-commit.24de95ac → 0.0.1-commit.2ed92850
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/build/amd64-linux/bb +0 -0
- package/build/amd64-linux/nodejs_module.node +0 -0
- package/build/amd64-macos/bb +0 -0
- package/build/amd64-macos/nodejs_module.node +0 -0
- package/build/arm64-linux/bb +0 -0
- package/build/arm64-linux/nodejs_module.node +0 -0
- package/build/arm64-macos/bb +0 -0
- package/build/arm64-macos/nodejs_module.node +0 -0
- package/dest/browser/async_map/index.d.ts +1 -1
- package/dest/browser/async_map/index.js +1 -1
- package/dest/browser/barretenberg/backend.d.ts +58 -40
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +143 -94
- package/dest/browser/barretenberg/index.d.ts +3 -5
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +19 -28
- package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
- package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
- package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
- package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/browser/barretenberg/testing/fields.js +47 -0
- 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 +5 -6
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
- 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 +5 -4
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/helpers/browser/index.js +9 -2
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/index.js +2 -3
- package/dest/browser/bb_backends/browser/index.d.ts +1 -1
- package/dest/browser/bb_backends/browser/index.js +1 -1
- package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
- package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
- package/dest/browser/bb_backends/browser/platform.js +10 -0
- package/dest/browser/bb_backends/index.d.ts +12 -7
- package/dest/browser/bb_backends/index.d.ts.map +1 -1
- package/dest/browser/bb_backends/index.js +8 -7
- package/dest/browser/bb_backends/interface.d.ts +1 -1
- package/dest/browser/bb_backends/wasm.d.ts +1 -1
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
- package/dest/browser/bb_backends/wasm.js +5 -3
- package/dest/browser/bbapi_exception.d.ts +1 -1
- package/dest/browser/bbapi_exception.d.ts.map +1 -1
- package/dest/browser/bbapi_exception.js +1 -1
- package/dest/browser/bin/index.d.ts +3 -0
- package/dest/browser/bin/index.d.ts.map +1 -0
- package/dest/browser/bin/index.js +11 -0
- package/dest/browser/cbind/generate.d.ts +5 -2
- package/dest/browser/cbind/generate.d.ts.map +1 -1
- package/dest/browser/cbind/generate.js +47 -25
- package/dest/browser/cbind/generated/api_types.d.ts +766 -1687
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +1465 -1555
- package/dest/browser/cbind/generated/async.d.ts +3 -5
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +14 -33
- package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
- package/dest/browser/cbind/generated/sync.d.ts +3 -5
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +14 -31
- package/dest/browser/cbind/naming.d.ts +16 -0
- package/dest/browser/cbind/naming.d.ts.map +1 -0
- package/dest/browser/cbind/naming.js +24 -0
- package/dest/browser/cbind/rust_codegen.d.ts +26 -0
- package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/rust_codegen.js +461 -0
- package/dest/browser/cbind/schema_visitor.d.ts +47 -0
- package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/browser/cbind/schema_visitor.js +158 -0
- package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
- package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/typescript_codegen.js +365 -0
- package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/browser/crs/browser/cached_net_crs.js +6 -1
- package/dest/browser/crs/browser/index.d.ts +1 -1
- package/dest/browser/crs/index.d.ts +1 -1
- package/dest/browser/crs/net_crs.d.ts +1 -16
- package/dest/browser/crs/net_crs.d.ts.map +1 -1
- package/dest/browser/crs/net_crs.js +6 -1
- package/dest/browser/index.d.ts +3 -2
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +3 -2
- package/dest/browser/proof/index.d.ts +1 -1
- package/dest/browser/proof/index.js +1 -1
- package/dest/browser/random/browser/index.d.ts +1 -1
- package/dest/browser/random/browser/index.d.ts.map +1 -1
- package/dest/browser/random/browser/index.js +1 -1
- package/dest/browser/random/index.d.ts +1 -1
- package/dest/browser/retry/index.d.ts +1 -1
- package/dest/browser/retry/index.js +1 -1
- package/dest/node/async_map/index.d.ts +1 -1
- package/dest/node/async_map/index.js +1 -1
- package/dest/node/barretenberg/backend.d.ts +58 -40
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +143 -94
- package/dest/node/barretenberg/backend.test.d.ts +2 -0
- package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.test.js +103 -0
- package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
- package/dest/node/barretenberg/blake2s.test.js +2 -2
- package/dest/node/barretenberg/index.d.ts +3 -5
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +19 -28
- package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node/barretenberg/pedersen.test.js +2 -2
- package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
- package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
- package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
- package/dest/node/barretenberg/poseidon.test.js +2 -2
- package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
- package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
- package/dest/node/barretenberg/testing/fields.d.ts +16 -0
- package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/node/barretenberg/testing/fields.js +47 -0
- 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 +5 -6
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
- 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 +5 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
- package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
- package/dest/node/barretenberg_wasm/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/index.js +2 -3
- package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
- package/dest/node/barretenberg_wasm/index.test.js +1 -1
- package/dest/node/bb_backends/browser/index.d.ts +1 -1
- package/dest/node/bb_backends/browser/index.js +1 -1
- package/dest/node/bb_backends/browser/platform.d.ts +4 -0
- package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
- package/dest/node/bb_backends/browser/platform.js +10 -0
- package/dest/node/bb_backends/index.d.ts +12 -7
- package/dest/node/bb_backends/index.d.ts.map +1 -1
- package/dest/node/bb_backends/index.js +8 -7
- package/dest/node/bb_backends/interface.d.ts +1 -1
- package/dest/node/bb_backends/node/index.d.ts +1 -1
- package/dest/node/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.js +17 -11
- package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
- package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_pipe.js +11 -10
- package/dest/node/bb_backends/node/native_shm.d.ts +4 -3
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm.js +85 -39
- package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
- package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm_async.js +233 -0
- package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_socket.js +46 -32
- package/dest/node/bb_backends/node/platform.d.ts +1 -1
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node/bb_backends/node/platform.js +7 -2
- package/dest/node/bb_backends/wasm.d.ts +1 -1
- package/dest/node/bb_backends/wasm.d.ts.map +1 -1
- package/dest/node/bb_backends/wasm.js +5 -3
- package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
- package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
- package/dest/node/bbapi/exception_handling.test.js +48 -0
- package/dest/node/bbapi_exception.d.ts +1 -1
- package/dest/node/bbapi_exception.d.ts.map +1 -1
- package/dest/node/bbapi_exception.js +1 -1
- package/dest/node/benchmark/index.d.ts +1 -1
- package/dest/node/benchmark/index.js +1 -1
- package/dest/node/benchmark/timer.d.ts +1 -1
- package/dest/node/benchmark/timer.d.ts.map +1 -1
- package/dest/node/benchmark/timer.js +2 -1
- package/dest/node/bin/index.d.ts +3 -0
- package/dest/node/bin/index.d.ts.map +1 -0
- package/dest/node/bin/index.js +11 -0
- package/dest/node/cbind/generate.d.ts +5 -2
- package/dest/node/cbind/generate.d.ts.map +1 -1
- package/dest/node/cbind/generate.js +47 -25
- package/dest/node/cbind/generated/api_types.d.ts +766 -1687
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +1465 -1555
- package/dest/node/cbind/generated/async.d.ts +3 -5
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +14 -33
- package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
- package/dest/node/cbind/generated/sync.d.ts +3 -5
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +14 -31
- package/dest/node/cbind/naming.d.ts +16 -0
- package/dest/node/cbind/naming.d.ts.map +1 -0
- package/dest/node/cbind/naming.js +24 -0
- package/dest/node/cbind/rust_codegen.d.ts +26 -0
- package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node/cbind/rust_codegen.js +461 -0
- package/dest/node/cbind/schema_visitor.d.ts +47 -0
- package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node/cbind/schema_visitor.js +158 -0
- package/dest/node/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node/cbind/typescript_codegen.js +365 -0
- package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/node/crs/browser/cached_net_crs.js +6 -1
- package/dest/node/crs/browser/index.d.ts +1 -1
- package/dest/node/crs/index.d.ts +1 -1
- package/dest/node/crs/net_crs.d.ts +1 -16
- package/dest/node/crs/net_crs.d.ts.map +1 -1
- package/dest/node/crs/net_crs.js +6 -1
- package/dest/node/crs/node/index.d.ts +1 -1
- package/dest/node/crs/node/index.d.ts.map +1 -1
- package/dest/node/crs/node/index.js +11 -6
- package/dest/node/index.d.ts +3 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +3 -2
- package/dest/node/proof/index.d.ts +1 -1
- package/dest/node/proof/index.js +1 -1
- package/dest/node/random/browser/index.d.ts +1 -1
- package/dest/node/random/browser/index.d.ts.map +1 -1
- package/dest/node/random/browser/index.js +1 -1
- package/dest/node/random/index.d.ts +1 -1
- package/dest/node/random/node/index.d.ts +1 -1
- package/dest/node/random/node/index.js +1 -1
- package/dest/node/retry/index.d.ts +1 -1
- package/dest/node/retry/index.js +1 -1
- package/dest/node-cjs/async_map/index.d.ts +1 -1
- package/dest/node-cjs/async_map/index.js +1 -1
- package/dest/node-cjs/barretenberg/backend.d.ts +58 -40
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +151 -100
- package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.test.js +105 -0
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
- package/dest/node-cjs/barretenberg/index.d.ts +3 -5
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +27 -34
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
- package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
- package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
- 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 +7 -8
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
- 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 +5 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
- 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 +45 -18
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
- package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
- package/dest/node-cjs/bb_backends/browser/index.js +1 -1
- package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
- package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
- package/dest/node-cjs/bb_backends/index.d.ts +12 -7
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/index.js +6 -6
- package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.js +17 -11
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +4 -3
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm.js +85 -39
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_shm_async.js +237 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.js +46 -32
- package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/platform.js +8 -3
- package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/wasm.js +5 -3
- package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
- package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
- package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
- package/dest/node-cjs/bbapi_exception.d.ts +1 -1
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
- package/dest/node-cjs/bbapi_exception.js +1 -1
- package/dest/node-cjs/benchmark/index.d.ts +1 -1
- package/dest/node-cjs/benchmark/index.js +2 -2
- package/dest/node-cjs/benchmark/timer.d.ts +1 -1
- package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
- package/dest/node-cjs/benchmark/timer.js +2 -1
- package/dest/node-cjs/bin/index.d.ts +3 -0
- package/dest/node-cjs/bin/index.d.ts.map +1 -0
- package/dest/node-cjs/bin/index.js +13 -0
- package/dest/node-cjs/cbind/generate.d.ts +5 -2
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generate.js +47 -25
- package/dest/node-cjs/cbind/generated/api_types.d.ts +766 -1687
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +1671 -1771
- package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +13 -32
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
- package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +13 -30
- package/dest/node-cjs/cbind/naming.d.ts +16 -0
- package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
- package/dest/node-cjs/cbind/naming.js +28 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/rust_codegen.js +465 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node-cjs/cbind/schema_visitor.js +162 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
- package/dest/node-cjs/crs/browser/index.d.ts +1 -1
- package/dest/node-cjs/crs/browser/index.js +2 -2
- package/dest/node-cjs/crs/index.d.ts +1 -1
- package/dest/node-cjs/crs/index.js +2 -2
- package/dest/node-cjs/crs/net_crs.d.ts +1 -16
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/net_crs.js +6 -1
- package/dest/node-cjs/crs/node/index.d.ts +1 -1
- package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
- package/dest/node-cjs/crs/node/index.js +11 -6
- package/dest/node-cjs/index.d.ts +3 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +12 -8
- package/dest/node-cjs/proof/index.d.ts +1 -1
- package/dest/node-cjs/proof/index.js +1 -1
- package/dest/node-cjs/random/browser/index.d.ts +1 -1
- package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/random/browser/index.js +1 -1
- package/dest/node-cjs/random/index.d.ts +1 -1
- package/dest/node-cjs/random/node/index.d.ts +1 -1
- package/dest/node-cjs/random/node/index.js +1 -1
- package/dest/node-cjs/retry/index.d.ts +1 -1
- package/dest/node-cjs/retry/index.js +1 -1
- package/package.json +8 -6
- package/src/barretenberg/backend.test.ts +122 -0
- package/src/barretenberg/backend.ts +170 -122
- package/src/barretenberg/blake2s.test.ts +1 -1
- package/src/barretenberg/index.ts +25 -28
- package/src/barretenberg/pedersen.test.ts +1 -1
- package/src/barretenberg/poseidon.bench.test.ts +160 -157
- package/src/barretenberg/poseidon.test.ts +1 -1
- package/src/{types → barretenberg/testing}/fields.ts +12 -26
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +38 -5
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
- package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
- package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
- package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
- package/src/barretenberg_wasm/index.ts +1 -2
- package/src/bb_backends/browser/platform.ts +11 -0
- package/src/bb_backends/index.ts +12 -6
- package/src/bb_backends/node/index.ts +23 -10
- package/src/bb_backends/node/native_shm.ts +81 -38
- package/src/bb_backends/node/native_shm_async.ts +262 -0
- package/src/bb_backends/node/native_socket.ts +35 -19
- package/src/bb_backends/node/platform.ts +6 -1
- package/src/bb_backends/wasm.ts +1 -2
- package/src/bbapi/exception_handling.test.ts +54 -0
- package/src/bin/index.ts +14 -0
- package/src/cbind/generate.ts +51 -32
- package/src/cbind/naming.ts +27 -0
- package/src/cbind/rust_codegen.ts +504 -0
- package/src/cbind/schema_visitor.ts +219 -0
- package/src/cbind/typescript_codegen.ts +419 -0
- package/src/crs/node/index.ts +4 -5
- package/src/index.ts +6 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
- package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
- package/dest/browser/bigint-array/index.d.ts +0 -17
- package/dest/browser/bigint-array/index.d.ts.map +0 -1
- package/dest/browser/bigint-array/index.js +0 -37
- package/dest/browser/cbind/schema_compiler.d.ts +0 -68
- package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/browser/cbind/schema_compiler.js +0 -599
- package/dest/browser/log/browser/index.d.ts +0 -6
- package/dest/browser/log/browser/index.d.ts.map +0 -1
- package/dest/browser/log/browser/index.js +0 -28
- package/dest/browser/log/index.d.ts +0 -2
- package/dest/browser/log/index.d.ts.map +0 -1
- package/dest/browser/log/index.js +0 -2
- package/dest/browser/log/types.d.ts +0 -6
- package/dest/browser/log/types.d.ts.map +0 -1
- package/dest/browser/log/types.js +0 -2
- package/dest/browser/serialize/index.d.ts +0 -2
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/index.js +0 -2
- package/dest/browser/serialize/serialize.d.ts +0 -18
- package/dest/browser/serialize/serialize.d.ts.map +0 -1
- package/dest/browser/serialize/serialize.js +0 -72
- package/dest/browser/types/fields.d.ts +0 -23
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fields.js +0 -61
- package/dest/browser/types/index.d.ts +0 -3
- package/dest/browser/types/index.d.ts.map +0 -1
- package/dest/browser/types/index.js +0 -3
- package/dest/browser/types/point.d.ts +0 -18
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/point.js +0 -28
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
- package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
- package/dest/node/bigint-array/index.d.ts +0 -17
- package/dest/node/bigint-array/index.d.ts.map +0 -1
- package/dest/node/bigint-array/index.js +0 -37
- package/dest/node/cbind/schema_compiler.d.ts +0 -68
- package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node/cbind/schema_compiler.js +0 -599
- package/dest/node/log/browser/index.d.ts +0 -6
- package/dest/node/log/browser/index.d.ts.map +0 -1
- package/dest/node/log/browser/index.js +0 -28
- package/dest/node/log/index.d.ts +0 -2
- package/dest/node/log/index.d.ts.map +0 -1
- package/dest/node/log/index.js +0 -2
- package/dest/node/log/node/index.d.ts +0 -6
- package/dest/node/log/node/index.d.ts.map +0 -1
- package/dest/node/log/node/index.js +0 -40
- package/dest/node/log/types.d.ts +0 -6
- package/dest/node/log/types.d.ts.map +0 -1
- package/dest/node/log/types.js +0 -2
- package/dest/node/serialize/index.d.ts +0 -2
- package/dest/node/serialize/index.d.ts.map +0 -1
- package/dest/node/serialize/index.js +0 -2
- package/dest/node/serialize/serialize.d.ts +0 -18
- package/dest/node/serialize/serialize.d.ts.map +0 -1
- package/dest/node/serialize/serialize.js +0 -72
- package/dest/node/types/fields.d.ts +0 -23
- package/dest/node/types/fields.d.ts.map +0 -1
- package/dest/node/types/fields.js +0 -61
- package/dest/node/types/index.d.ts +0 -3
- package/dest/node/types/index.d.ts.map +0 -1
- package/dest/node/types/index.js +0 -3
- package/dest/node/types/point.d.ts +0 -18
- package/dest/node/types/point.d.ts.map +0 -1
- package/dest/node/types/point.js +0 -28
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
- package/dest/node-cjs/bigint-array/index.d.ts +0 -17
- package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
- package/dest/node-cjs/bigint-array/index.js +0 -43
- package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node-cjs/cbind/schema_compiler.js +0 -606
- package/dest/node-cjs/log/browser/index.d.ts +0 -6
- package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/log/browser/index.js +0 -30
- package/dest/node-cjs/log/index.d.ts +0 -2
- package/dest/node-cjs/log/index.d.ts.map +0 -1
- package/dest/node-cjs/log/index.js +0 -8
- package/dest/node-cjs/log/node/index.d.ts +0 -6
- package/dest/node-cjs/log/node/index.d.ts.map +0 -1
- package/dest/node-cjs/log/node/index.js +0 -42
- package/dest/node-cjs/log/types.d.ts +0 -6
- package/dest/node-cjs/log/types.d.ts.map +0 -1
- package/dest/node-cjs/log/types.js +0 -3
- package/dest/node-cjs/serialize/index.d.ts +0 -2
- package/dest/node-cjs/serialize/index.d.ts.map +0 -1
- package/dest/node-cjs/serialize/index.js +0 -5
- package/dest/node-cjs/serialize/serialize.d.ts +0 -18
- package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
- package/dest/node-cjs/serialize/serialize.js +0 -82
- package/dest/node-cjs/types/fields.d.ts +0 -23
- package/dest/node-cjs/types/fields.d.ts.map +0 -1
- package/dest/node-cjs/types/fields.js +0 -65
- package/dest/node-cjs/types/index.d.ts +0 -3
- package/dest/node-cjs/types/index.d.ts.map +0 -1
- package/dest/node-cjs/types/index.js +0 -6
- package/dest/node-cjs/types/point.d.ts +0 -18
- package/dest/node-cjs/types/point.d.ts.map +0 -1
- package/dest/node-cjs/types/point.js +0 -32
- package/src/bb_backends/sync_to_async_adapter.ts +0 -21
- package/src/cbind/generated/api_types.ts +0 -4271
- package/src/cbind/generated/async.ts +0 -717
- package/src/cbind/generated/curve_constants.ts +0 -53
- package/src/cbind/generated/sync.ts +0 -663
- package/src/cbind/schema_compiler.ts +0 -745
- package/src/log/browser/index.ts +0 -35
- package/src/log/index.ts +0 -1
- package/src/log/node/index.ts +0 -52
- package/src/log/types.ts +0 -6
- package/src/serialize/index.ts +0 -1
- package/src/serialize/serialize.ts +0 -75
- package/src/types/index.ts +0 -2
- package/src/types/point.ts +0 -32
- /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Barretenberg } from './index.js';
|
|
2
2
|
import { ProofData, uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
|
|
3
|
-
import { fromChonkProof, toChonkProof } from '../cbind/generated/api_types.js';
|
|
3
|
+
import { fromChonkProof, toChonkProof, ChonkProof } from '../cbind/generated/api_types.js';
|
|
4
4
|
import { ungzip } from 'pako';
|
|
5
|
-
import { Buffer } from 'buffer';
|
|
6
5
|
import { Decoder, Encoder } from 'msgpackr';
|
|
7
6
|
|
|
8
7
|
export class AztecClientBackendError extends Error {
|
|
@@ -11,29 +10,46 @@ export class AztecClientBackendError extends Error {
|
|
|
11
10
|
}
|
|
12
11
|
}
|
|
13
12
|
|
|
13
|
+
/**
|
|
14
|
+
* Target verification environment for proof generation.
|
|
15
|
+
* This determines the hash function used and whether zero-knowledge is enabled.
|
|
16
|
+
*/
|
|
17
|
+
export type VerifierTarget =
|
|
18
|
+
| 'evm' // Ethereum/Solidity verification (keccak, ZK enabled)
|
|
19
|
+
| 'evm-no-zk' // Ethereum/Solidity without zero-knowledge
|
|
20
|
+
| 'noir-recursive' // Recursive verification in Noir circuits (poseidon2, ZK enabled)
|
|
21
|
+
| 'noir-recursive-no-zk' // Recursive verification without ZK
|
|
22
|
+
| 'noir-rollup' // Rollup circuits with IPA accumulation (poseidon2, ZK enabled)
|
|
23
|
+
| 'noir-rollup-no-zk' // Rollup circuits without ZK
|
|
24
|
+
| 'starknet' // Starknet verification via Garaga (ZK enabled)
|
|
25
|
+
| 'starknet-no-zk'; // Starknet without zero-knowledge
|
|
26
|
+
|
|
14
27
|
/**
|
|
15
28
|
* Options for the UltraHonkBackend.
|
|
16
29
|
*/
|
|
17
30
|
export type UltraHonkBackendOptions = {
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
31
|
+
/**
|
|
32
|
+
* Target verification environment. Determines hash function and ZK settings.
|
|
33
|
+
* This is the recommended way to configure proof generation.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // For EVM/Solidity verification
|
|
37
|
+
* backend.generateProof(witness, { verifierTarget: 'evm' });
|
|
38
|
+
*
|
|
39
|
+
* // For recursive verification in Noir
|
|
40
|
+
* backend.generateProof(witness, { verifierTarget: 'noir-recursive' });
|
|
21
41
|
*/
|
|
42
|
+
verifierTarget?: VerifierTarget;
|
|
43
|
+
|
|
44
|
+
// Legacy options - prefer using verifierTarget instead
|
|
45
|
+
|
|
46
|
+
/** @deprecated Use verifierTarget: 'evm-no-zk' instead */
|
|
22
47
|
keccak?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* when generating challenges in the proof.
|
|
25
|
-
* Use this when you want to verify the created proof on an EVM chain.
|
|
26
|
-
*/
|
|
48
|
+
/** @deprecated Use verifierTarget: 'evm' instead */
|
|
27
49
|
keccakZK?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* when generating challenges in the proof.
|
|
30
|
-
* Use this when you want to verify the created proof on an Starknet chain with Garaga.
|
|
31
|
-
*/
|
|
50
|
+
/** @deprecated Use verifierTarget: 'starknet-no-zk' instead */
|
|
32
51
|
starknet?: boolean;
|
|
33
|
-
/**
|
|
34
|
-
* when generating challenges in the proof.
|
|
35
|
-
* Use this when you want to verify the created proof on an Starknet chain with Garaga.
|
|
36
|
-
*/
|
|
52
|
+
/** @deprecated Use verifierTarget: 'starknet' instead */
|
|
37
53
|
starknetZK?: boolean;
|
|
38
54
|
};
|
|
39
55
|
|
|
@@ -43,6 +59,67 @@ function getProofSettingsFromOptions(options?: UltraHonkBackendOptions): {
|
|
|
43
59
|
disableZk: boolean;
|
|
44
60
|
optimizedSolidityVerifier: boolean;
|
|
45
61
|
} {
|
|
62
|
+
// Check for conflicting options - verifierTarget should not be combined with legacy options
|
|
63
|
+
if (options?.verifierTarget) {
|
|
64
|
+
const legacyOptions = [options.keccak, options.keccakZK, options.starknet, options.starknetZK].filter(Boolean);
|
|
65
|
+
if (legacyOptions.length > 0) {
|
|
66
|
+
throw new Error(
|
|
67
|
+
'Cannot use verifierTarget with legacy options (keccak, keccakZK, starknet, starknetZK). ' +
|
|
68
|
+
'Use verifierTarget alone.',
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
switch (options.verifierTarget) {
|
|
73
|
+
case 'evm':
|
|
74
|
+
return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: false, optimizedSolidityVerifier: false };
|
|
75
|
+
case 'evm-no-zk':
|
|
76
|
+
return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: true, optimizedSolidityVerifier: false };
|
|
77
|
+
case 'noir-recursive':
|
|
78
|
+
return {
|
|
79
|
+
ipaAccumulation: false,
|
|
80
|
+
oracleHashType: 'poseidon2',
|
|
81
|
+
disableZk: false,
|
|
82
|
+
optimizedSolidityVerifier: false,
|
|
83
|
+
};
|
|
84
|
+
case 'noir-recursive-no-zk':
|
|
85
|
+
return {
|
|
86
|
+
ipaAccumulation: false,
|
|
87
|
+
oracleHashType: 'poseidon2',
|
|
88
|
+
disableZk: true,
|
|
89
|
+
optimizedSolidityVerifier: false,
|
|
90
|
+
};
|
|
91
|
+
case 'noir-rollup':
|
|
92
|
+
return {
|
|
93
|
+
ipaAccumulation: true,
|
|
94
|
+
oracleHashType: 'poseidon2',
|
|
95
|
+
disableZk: false,
|
|
96
|
+
optimizedSolidityVerifier: false,
|
|
97
|
+
};
|
|
98
|
+
case 'noir-rollup-no-zk':
|
|
99
|
+
return {
|
|
100
|
+
ipaAccumulation: true,
|
|
101
|
+
oracleHashType: 'poseidon2',
|
|
102
|
+
disableZk: true,
|
|
103
|
+
optimizedSolidityVerifier: false,
|
|
104
|
+
};
|
|
105
|
+
case 'starknet':
|
|
106
|
+
return {
|
|
107
|
+
ipaAccumulation: false,
|
|
108
|
+
oracleHashType: 'starknet',
|
|
109
|
+
disableZk: false,
|
|
110
|
+
optimizedSolidityVerifier: false,
|
|
111
|
+
};
|
|
112
|
+
case 'starknet-no-zk':
|
|
113
|
+
return {
|
|
114
|
+
ipaAccumulation: false,
|
|
115
|
+
oracleHashType: 'starknet',
|
|
116
|
+
disableZk: true,
|
|
117
|
+
optimizedSolidityVerifier: false,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Legacy options support (deprecated)
|
|
46
123
|
return {
|
|
47
124
|
ipaAccumulation: false,
|
|
48
125
|
oracleHashType:
|
|
@@ -51,36 +128,18 @@ function getProofSettingsFromOptions(options?: UltraHonkBackendOptions): {
|
|
|
51
128
|
: options?.starknet || options?.starknetZK
|
|
52
129
|
? 'starknet'
|
|
53
130
|
: 'poseidon2',
|
|
54
|
-
// TODO no current way to target non-zk poseidon2 hash
|
|
55
131
|
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
56
132
|
optimizedSolidityVerifier: false,
|
|
57
133
|
};
|
|
58
134
|
}
|
|
59
135
|
|
|
60
136
|
export class UltraHonkVerifierBackend {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
constructor(
|
|
64
|
-
protected backendOptions: BackendOptions = { threads: 1 },
|
|
65
|
-
protected circuitOptions: CircuitOptions = { recursive: false },
|
|
66
|
-
) {}
|
|
67
|
-
/** @ignore */
|
|
68
|
-
private async instantiate(): Promise<void> {
|
|
69
|
-
if (!this.api) {
|
|
70
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
71
|
-
const honkRecursion = true;
|
|
72
|
-
await api.initSRSForCircuitSize(0);
|
|
73
|
-
|
|
74
|
-
this.api = api;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
137
|
+
constructor(private api: Barretenberg) {}
|
|
77
138
|
|
|
78
139
|
async verifyProof(
|
|
79
140
|
proofData: ProofData & { verificationKey: Uint8Array },
|
|
80
141
|
options?: UltraHonkBackendOptions,
|
|
81
142
|
): Promise<boolean> {
|
|
82
|
-
await this.instantiate();
|
|
83
|
-
|
|
84
143
|
const proofFrs: Uint8Array[] = [];
|
|
85
144
|
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
86
145
|
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
@@ -93,12 +152,6 @@ export class UltraHonkVerifierBackend {
|
|
|
93
152
|
});
|
|
94
153
|
return verified;
|
|
95
154
|
}
|
|
96
|
-
destroy(): Promise<void> {
|
|
97
|
-
if (!this.api) {
|
|
98
|
-
return Promise.resolve();
|
|
99
|
-
}
|
|
100
|
-
return this.api.destroy();
|
|
101
|
-
}
|
|
102
155
|
}
|
|
103
156
|
|
|
104
157
|
export class UltraHonkBackend {
|
|
@@ -107,37 +160,23 @@ export class UltraHonkBackend {
|
|
|
107
160
|
// These are initialized asynchronously in the `init` function,
|
|
108
161
|
// constructors cannot be asynchronous which is why we do this.
|
|
109
162
|
|
|
110
|
-
|
|
111
|
-
protected acirUncompressedBytecode: Uint8Array;
|
|
163
|
+
private acirUncompressedBytecode: Uint8Array;
|
|
112
164
|
|
|
113
165
|
constructor(
|
|
114
166
|
acirBytecode: string,
|
|
115
|
-
|
|
116
|
-
protected circuitOptions: CircuitOptions = { recursive: false },
|
|
167
|
+
private api: Barretenberg,
|
|
117
168
|
) {
|
|
118
169
|
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
119
170
|
}
|
|
120
|
-
/** @ignore */
|
|
121
|
-
private async instantiate(): Promise<void> {
|
|
122
|
-
if (!this.api) {
|
|
123
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
124
|
-
const honkRecursion = true;
|
|
125
|
-
await api.acirInitSRS(this.acirUncompressedBytecode, this.circuitOptions.recursive, honkRecursion);
|
|
126
|
-
|
|
127
|
-
this.api = api;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
171
|
|
|
131
172
|
async generateProof(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofData> {
|
|
132
|
-
await this.instantiate();
|
|
133
|
-
|
|
134
173
|
const witness = ungzip(compressedWitness);
|
|
135
174
|
const { proof, publicInputs } = await this.api.circuitProve({
|
|
136
175
|
witness,
|
|
137
176
|
circuit: {
|
|
138
177
|
name: 'circuit',
|
|
139
|
-
bytecode:
|
|
140
|
-
verificationKey:
|
|
178
|
+
bytecode: this.acirUncompressedBytecode,
|
|
179
|
+
verificationKey: new Uint8Array(0), // Empty VK - lower performance.
|
|
141
180
|
},
|
|
142
181
|
settings: getProofSettingsFromOptions(options),
|
|
143
182
|
});
|
|
@@ -153,8 +192,6 @@ export class UltraHonkBackend {
|
|
|
153
192
|
}
|
|
154
193
|
|
|
155
194
|
async verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean> {
|
|
156
|
-
await this.instantiate();
|
|
157
|
-
|
|
158
195
|
const proofFrs: Uint8Array[] = [];
|
|
159
196
|
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
160
197
|
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
@@ -177,12 +214,10 @@ export class UltraHonkBackend {
|
|
|
177
214
|
}
|
|
178
215
|
|
|
179
216
|
async getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array> {
|
|
180
|
-
await this.instantiate();
|
|
181
|
-
|
|
182
217
|
const vkResult = await this.api.circuitComputeVk({
|
|
183
218
|
circuit: {
|
|
184
219
|
name: 'circuit',
|
|
185
|
-
bytecode:
|
|
220
|
+
bytecode: this.acirUncompressedBytecode,
|
|
186
221
|
},
|
|
187
222
|
settings: getProofSettingsFromOptions(options),
|
|
188
223
|
});
|
|
@@ -191,7 +226,6 @@ export class UltraHonkBackend {
|
|
|
191
226
|
|
|
192
227
|
/** @description Returns a solidity verifier */
|
|
193
228
|
async getSolidityVerifier(vk: Uint8Array, options?: UltraHonkBackendOptions): Promise<string> {
|
|
194
|
-
await this.instantiate();
|
|
195
229
|
const result = await this.api.circuitWriteSolidityVerifier({
|
|
196
230
|
verificationKey: vk,
|
|
197
231
|
settings: getProofSettingsFromOptions(options),
|
|
@@ -205,8 +239,8 @@ export class UltraHonkBackend {
|
|
|
205
239
|
_proof: Uint8Array,
|
|
206
240
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
207
241
|
_numOfPublicInputs: number,
|
|
242
|
+
options?: UltraHonkBackendOptions,
|
|
208
243
|
): Promise<{ proofAsFields: string[]; vkAsFields: string[]; vkHash: string }> {
|
|
209
|
-
await this.instantiate();
|
|
210
244
|
// TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
|
|
211
245
|
// There is still a proofAsFields method but we could consider getting rid of it as the proof itself
|
|
212
246
|
// is a list of field elements.
|
|
@@ -215,14 +249,12 @@ export class UltraHonkBackend {
|
|
|
215
249
|
// const proof = reconstructProofWithPublicInputs(proofData);
|
|
216
250
|
// const proofAsFields = (await this.api.acirProofAsFieldsUltraHonk(proof)).slice(numOfPublicInputs);
|
|
217
251
|
|
|
218
|
-
// TODO: perhaps we should put this in the init function. Need to benchmark
|
|
219
|
-
// TODO how long it takes.
|
|
220
252
|
const vkResult = await this.api.circuitComputeVk({
|
|
221
253
|
circuit: {
|
|
222
254
|
name: 'circuit',
|
|
223
|
-
bytecode:
|
|
255
|
+
bytecode: this.acirUncompressedBytecode,
|
|
224
256
|
},
|
|
225
|
-
settings: getProofSettingsFromOptions(
|
|
257
|
+
settings: getProofSettingsFromOptions(options),
|
|
226
258
|
});
|
|
227
259
|
|
|
228
260
|
// Convert VK bytes to field elements (32-byte chunks)
|
|
@@ -242,13 +274,6 @@ export class UltraHonkBackend {
|
|
|
242
274
|
vkHash: uint8ArrayToHex(vkResult.hash),
|
|
243
275
|
};
|
|
244
276
|
}
|
|
245
|
-
|
|
246
|
-
async destroy(): Promise<void> {
|
|
247
|
-
if (!this.api) {
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
250
|
-
await this.api.destroy();
|
|
251
|
-
}
|
|
252
277
|
}
|
|
253
278
|
|
|
254
279
|
export class AztecClientBackend {
|
|
@@ -257,22 +282,11 @@ export class AztecClientBackend {
|
|
|
257
282
|
// These are initialized asynchronously in the `init` function,
|
|
258
283
|
// constructors cannot be asynchronous which is why we do this.
|
|
259
284
|
|
|
260
|
-
protected api!: Barretenberg;
|
|
261
|
-
|
|
262
285
|
constructor(
|
|
263
|
-
|
|
264
|
-
|
|
286
|
+
private acirBuf: Uint8Array[],
|
|
287
|
+
private api: Barretenberg,
|
|
265
288
|
) {}
|
|
266
289
|
|
|
267
|
-
/** @ignore */
|
|
268
|
-
private async instantiate(): Promise<void> {
|
|
269
|
-
if (!this.api) {
|
|
270
|
-
const api = await Barretenberg.new(this.options);
|
|
271
|
-
await api.initSRSChonk();
|
|
272
|
-
this.api = api;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
|
|
276
290
|
async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array[], Uint8Array, Uint8Array]> {
|
|
277
291
|
if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
|
|
278
292
|
throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!');
|
|
@@ -281,7 +295,6 @@ export class AztecClientBackend {
|
|
|
281
295
|
// NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
|
|
282
296
|
throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
|
|
283
297
|
}
|
|
284
|
-
await this.instantiate();
|
|
285
298
|
|
|
286
299
|
// Queue IVC start with the number of circuits
|
|
287
300
|
this.api.chonkStart({ numCircuits: this.acirBuf.length });
|
|
@@ -289,22 +302,22 @@ export class AztecClientBackend {
|
|
|
289
302
|
// Queue load and accumulate for each circuit
|
|
290
303
|
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
291
304
|
const bytecode = this.acirBuf[i];
|
|
292
|
-
const witness = witnessBuf[i] ||
|
|
293
|
-
const vk = vksBuf[i] ||
|
|
305
|
+
const witness = witnessBuf[i] || new Uint8Array(0);
|
|
306
|
+
const vk = vksBuf[i] || new Uint8Array(0);
|
|
294
307
|
const functionName = `unknown_wasm_${i}`;
|
|
295
308
|
|
|
296
309
|
// Load the circuit
|
|
297
310
|
this.api.chonkLoad({
|
|
298
311
|
circuit: {
|
|
299
312
|
name: functionName,
|
|
300
|
-
bytecode:
|
|
301
|
-
verificationKey:
|
|
313
|
+
bytecode: bytecode,
|
|
314
|
+
verificationKey: vk,
|
|
302
315
|
},
|
|
303
316
|
});
|
|
304
317
|
|
|
305
318
|
// Accumulate with witness
|
|
306
319
|
this.api.chonkAccumulate({
|
|
307
|
-
witness
|
|
320
|
+
witness,
|
|
308
321
|
});
|
|
309
322
|
}
|
|
310
323
|
|
|
@@ -313,7 +326,7 @@ export class AztecClientBackend {
|
|
|
313
326
|
// The API currently expects a msgpack-encoded API.
|
|
314
327
|
const proof = new Encoder({ useRecords: false }).encode(fromChonkProof(proveResult.proof));
|
|
315
328
|
// Generate the VK
|
|
316
|
-
const vkResult = await this.api.
|
|
329
|
+
const vkResult = await this.api.chonkComputeVk({
|
|
317
330
|
circuit: {
|
|
318
331
|
name: 'hiding',
|
|
319
332
|
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
@@ -323,29 +336,39 @@ export class AztecClientBackend {
|
|
|
323
336
|
const proofFields = [
|
|
324
337
|
proveResult.proof.megaProof,
|
|
325
338
|
proveResult.proof.goblinProof.mergeProof,
|
|
326
|
-
proveResult.proof.goblinProof.eccvmProof
|
|
327
|
-
proveResult.proof.goblinProof.
|
|
339
|
+
proveResult.proof.goblinProof.eccvmProof,
|
|
340
|
+
proveResult.proof.goblinProof.ipaProof,
|
|
328
341
|
proveResult.proof.goblinProof.translatorProof,
|
|
329
342
|
].flat();
|
|
330
343
|
|
|
331
|
-
//
|
|
332
|
-
if (!(await this.
|
|
344
|
+
// Verify using native proof directly to avoid redundant encode/decode cycle
|
|
345
|
+
if (!(await this.verifyNative(proveResult.proof, vkResult.bytes))) {
|
|
333
346
|
throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
|
|
334
347
|
}
|
|
335
348
|
return [proofFields, proof, vkResult.bytes];
|
|
336
349
|
}
|
|
337
350
|
|
|
338
351
|
async verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean> {
|
|
339
|
-
await this.instantiate();
|
|
340
352
|
const result = await this.api.chonkVerify({
|
|
341
353
|
proof: toChonkProof(new Decoder({ useRecords: false }).decode(proof)),
|
|
342
|
-
vk
|
|
354
|
+
vk,
|
|
355
|
+
});
|
|
356
|
+
return result.valid;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Internal verification using native ChonkProof type.
|
|
361
|
+
* Avoids encode/decode cycle when called from prove().
|
|
362
|
+
*/
|
|
363
|
+
private async verifyNative(proof: ChonkProof, vk: Uint8Array): Promise<boolean> {
|
|
364
|
+
const result = await this.api.chonkVerify({
|
|
365
|
+
proof,
|
|
366
|
+
vk,
|
|
343
367
|
});
|
|
344
368
|
return result.valid;
|
|
345
369
|
}
|
|
346
370
|
|
|
347
371
|
async gates(): Promise<number[]> {
|
|
348
|
-
await this.instantiate();
|
|
349
372
|
const circuitSizes: number[] = [];
|
|
350
373
|
for (const buf of this.acirBuf) {
|
|
351
374
|
const gates = await this.api.chonkStats({
|
|
@@ -359,13 +382,6 @@ export class AztecClientBackend {
|
|
|
359
382
|
}
|
|
360
383
|
return circuitSizes;
|
|
361
384
|
}
|
|
362
|
-
|
|
363
|
-
async destroy(): Promise<void> {
|
|
364
|
-
if (!this.api) {
|
|
365
|
-
return;
|
|
366
|
-
}
|
|
367
|
-
await this.api.destroy();
|
|
368
|
-
}
|
|
369
385
|
}
|
|
370
386
|
|
|
371
387
|
// Converts bytecode from a base64 string to a Uint8Array
|
|
@@ -374,17 +390,49 @@ function acirToUint8Array(base64EncodedBytecode: string): Uint8Array {
|
|
|
374
390
|
return ungzip(compressedByteCode);
|
|
375
391
|
}
|
|
376
392
|
|
|
377
|
-
//
|
|
378
|
-
// see if we are in the nodeJs environment or the browser environment.
|
|
393
|
+
// Base64 decode using atob (works in both browser and Node.js 18+)
|
|
379
394
|
function base64Decode(input: string): Uint8Array {
|
|
380
|
-
if (typeof
|
|
381
|
-
// Node.js environment
|
|
382
|
-
const b = Buffer.from(input, 'base64');
|
|
383
|
-
return new Uint8Array(b.buffer, b.byteOffset, b.byteLength);
|
|
384
|
-
} else if (typeof atob === 'function') {
|
|
385
|
-
// Browser environment
|
|
395
|
+
if (typeof atob === 'function') {
|
|
386
396
|
return Uint8Array.from(atob(input), c => c.charCodeAt(0));
|
|
387
397
|
} else {
|
|
388
|
-
throw new Error('
|
|
398
|
+
throw new Error('atob is not available. Node.js 18+ or browser required.');
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Convert a field element (32-byte Uint8Array) to a string.
|
|
404
|
+
*
|
|
405
|
+
* @param field - A 32-byte field element
|
|
406
|
+
* @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
|
|
407
|
+
* @returns The field value as a string in the specified radix
|
|
408
|
+
*
|
|
409
|
+
* @example
|
|
410
|
+
* const decimal = fieldToString(field); // "12345678"
|
|
411
|
+
* const hex = fieldToString(field, 16); // "bc614e"
|
|
412
|
+
*/
|
|
413
|
+
export function fieldToString(field: Uint8Array, radix: number = 10): string {
|
|
414
|
+
let result = 0n;
|
|
415
|
+
for (const byte of field) {
|
|
416
|
+
result <<= 8n;
|
|
417
|
+
result += BigInt(byte);
|
|
389
418
|
}
|
|
419
|
+
return result.toString(radix);
|
|
390
420
|
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Convert an array of field elements to an array of strings.
|
|
424
|
+
* Useful for passing VK fields to Noir circuits.
|
|
425
|
+
*
|
|
426
|
+
* @param fields - Array of 32-byte field elements
|
|
427
|
+
* @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
|
|
428
|
+
* @returns Array of strings in the specified radix
|
|
429
|
+
*
|
|
430
|
+
* @example
|
|
431
|
+
* const vkAsFields = await barretenbergAPI.vkAsFields({ verificationKey: vk });
|
|
432
|
+
* const vkDecimalStrings = fieldsToStrings(vkAsFields.fields); // ["12345678", "87654321", ...]
|
|
433
|
+
* const vkHexStrings = fieldsToStrings(vkAsFields.fields, 16); // ["bc614e", "5397fb1", ...]
|
|
434
|
+
*/
|
|
435
|
+
export function fieldsToStrings(fields: Uint8Array[], radix: number = 10): string[] {
|
|
436
|
+
return fields.map(field => fieldToString(field, radix));
|
|
437
|
+
}
|
|
438
|
+
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import { Crs, GrumpkinCrs } from '../crs/index.js';
|
|
2
|
-
import { createDebugLogger } from '../log/index.js';
|
|
3
2
|
import { AsyncApi } from '../cbind/generated/async.js';
|
|
4
3
|
import { SyncApi } from '../cbind/generated/sync.js';
|
|
5
4
|
import { IMsgpackBackendSync, IMsgpackBackendAsync } from '../bb_backends/interface.js';
|
|
6
5
|
import { BackendOptions, BackendType } from '../bb_backends/index.js';
|
|
7
6
|
import { createAsyncBackend, createSyncBackend } from '../bb_backends/node/index.js';
|
|
8
7
|
|
|
9
|
-
export {
|
|
8
|
+
export {
|
|
9
|
+
UltraHonkBackend,
|
|
10
|
+
UltraHonkVerifierBackend,
|
|
11
|
+
AztecClientBackend,
|
|
12
|
+
fieldToString,
|
|
13
|
+
fieldsToStrings,
|
|
14
|
+
type UltraHonkBackendOptions,
|
|
15
|
+
type VerifierTarget,
|
|
16
|
+
} from './backend.js';
|
|
10
17
|
export * from '../bb_backends/index.js';
|
|
11
18
|
|
|
12
19
|
export type CircuitOptions = {
|
|
@@ -31,43 +38,38 @@ export class Barretenberg extends AsyncApi {
|
|
|
31
38
|
*
|
|
32
39
|
* If options.backend is set: uses that specific backend (throws if unavailable)
|
|
33
40
|
* If options.backend is unset: tries backends in order with fallback:
|
|
34
|
-
* 1.
|
|
41
|
+
* 1. NativeUnixSocket (if bb binary available)
|
|
35
42
|
* 2. WasmWorker (in browser) or Wasm (in Node.js)
|
|
36
43
|
*/
|
|
37
44
|
static async new(options: BackendOptions = {}) {
|
|
38
|
-
const logger = options.logger ??
|
|
45
|
+
const logger = options.logger ?? (() => {});
|
|
39
46
|
|
|
40
47
|
if (options.backend) {
|
|
41
48
|
// Explicit backend required - no fallback
|
|
42
|
-
|
|
49
|
+
const backend = await createAsyncBackend(options.backend, options, logger);
|
|
50
|
+
if (options.backend === BackendType.Wasm || options.backend === BackendType.WasmWorker) {
|
|
51
|
+
await backend.initSRSChonk();
|
|
52
|
+
}
|
|
53
|
+
return backend;
|
|
43
54
|
}
|
|
44
55
|
|
|
45
56
|
if (typeof window === 'undefined') {
|
|
46
57
|
try {
|
|
47
|
-
return await createAsyncBackend(BackendType.
|
|
58
|
+
return await createAsyncBackend(BackendType.NativeUnixSocket, options, logger);
|
|
48
59
|
} catch (err: any) {
|
|
49
|
-
logger(`
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
logger(`Unix socket unavailable (${err.message}), falling back to WASM`);
|
|
54
|
-
return await createAsyncBackend(BackendType.Wasm, options, logger);
|
|
55
|
-
}
|
|
60
|
+
logger(`Unix socket unavailable (${err.message}), falling back to WASM`);
|
|
61
|
+
const backend = await createAsyncBackend(BackendType.Wasm, options, logger);
|
|
62
|
+
await backend.initSRSChonk();
|
|
63
|
+
return backend;
|
|
56
64
|
}
|
|
57
65
|
} else {
|
|
58
66
|
logger(`In browser, using WASM over worker backend.`);
|
|
59
|
-
|
|
67
|
+
const backend = await createAsyncBackend(BackendType.WasmWorker, options, logger);
|
|
68
|
+
await backend.initSRSChonk();
|
|
69
|
+
return backend;
|
|
60
70
|
}
|
|
61
71
|
}
|
|
62
72
|
|
|
63
|
-
async initSRSForCircuitSize(circuitSize: number): Promise<void> {
|
|
64
|
-
const minSRSSize = 2 ** 9; // 2**9 is the dyadic size for the SmallSubgroupIPA MSM.
|
|
65
|
-
const crs = await Crs.new(Math.max(circuitSize, minSRSSize) + 1, this.options.crsPath, this.options.logger);
|
|
66
|
-
// TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
|
|
67
|
-
// await this.commonInitSlabAllocator(circuitSize);
|
|
68
|
-
await this.srsInitSrs({ pointsBuf: crs.getG1Data(), numPoints: crs.numPoints, g2Point: crs.getG2Data() });
|
|
69
|
-
}
|
|
70
|
-
|
|
71
73
|
async initSRSChonk(srsSize = this.getDefaultSrsSize()): Promise<void> {
|
|
72
74
|
// crsPath can be undefined
|
|
73
75
|
const crs = await Crs.new(srsSize + 1, this.options.crsPath, this.options.logger);
|
|
@@ -106,11 +108,6 @@ export class Barretenberg extends AsyncApi {
|
|
|
106
108
|
return [response.numGates, response.numGatesDyadic];
|
|
107
109
|
}
|
|
108
110
|
|
|
109
|
-
async acirInitSRS(bytecode: Uint8Array, recursive: boolean, honkRecursion: boolean): Promise<void> {
|
|
110
|
-
const [_, subgroupSize] = await this.acirGetCircuitSizes(bytecode, recursive, honkRecursion);
|
|
111
|
-
return this.initSRSForCircuitSize(subgroupSize);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
111
|
async destroy() {
|
|
115
112
|
return super.destroy();
|
|
116
113
|
}
|
|
@@ -177,7 +174,7 @@ export class BarretenbergSync extends SyncApi {
|
|
|
177
174
|
* Not supported: WasmWorker (no workers in sync), NativeUnixSocket (async only)
|
|
178
175
|
*/
|
|
179
176
|
static async new(options: BackendOptions = {}) {
|
|
180
|
-
const logger = options.logger ??
|
|
177
|
+
const logger = options.logger ?? (() => {});
|
|
181
178
|
|
|
182
179
|
if (options.backend) {
|
|
183
180
|
return await createSyncBackend(options.backend, options, logger);
|