@aztec/bb.js 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -79
- package/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 +32 -41
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +128 -108
- package/dest/browser/barretenberg/index.d.ts +47 -48
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +132 -90
- 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 +2 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +6 -7
- 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 +5 -5
- 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 +20 -11
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +16 -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 +94 -26
- 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 +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/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 +50 -0
- package/dest/browser/bb_backends/index.d.ts.map +1 -0
- package/dest/browser/bb_backends/index.js +16 -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/wasm.d.ts +49 -0
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
- package/dest/browser/bb_backends/wasm.js +85 -0
- package/dest/browser/bbapi_exception.d.ts +7 -0
- package/dest/browser/bbapi_exception.d.ts.map +1 -0
- package/dest/browser/bbapi_exception.js +14 -0
- package/dest/browser/bin/index.d.ts +3 -0
- package/dest/{node/bindgen → browser/bin}/index.d.ts.map +1 -1
- package/dest/browser/bin/index.js +11 -0
- package/dest/browser/cbind/generate.d.ts +1 -1
- package/dest/browser/cbind/generate.js +94 -7
- package/dest/browser/cbind/generated/api_types.d.ts +1629 -230
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +2349 -479
- package/dest/browser/cbind/generated/async.d.ts +53 -14
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +587 -72
- package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/browser/cbind/generated/curve_constants.js +45 -0
- package/dest/browser/cbind/generated/sync.d.ts +54 -15
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +549 -72
- package/dest/browser/cbind/schema_compiler.d.ts +3 -5
- package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/browser/cbind/schema_compiler.js +102 -185
- 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 +6 -3
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +6 -3
- 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/__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 +32 -41
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +128 -108
- package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
- package/dest/node/barretenberg/blake2s.test.js +21 -18
- package/dest/node/barretenberg/index.d.ts +47 -48
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +132 -90
- package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node/barretenberg/pedersen.test.js +25 -18
- 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 +218 -0
- package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
- package/dest/node/barretenberg/poseidon.test.js +16 -16
- 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 +2 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +6 -7
- 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 +5 -5
- 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 +20 -11
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +16 -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 +94 -26
- 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 +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/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 +50 -0
- package/dest/node/bb_backends/index.d.ts.map +1 -0
- package/dest/node/bb_backends/index.js +16 -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 +86 -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 +114 -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 +172 -0
- 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 +232 -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 +281 -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 +129 -0
- package/dest/node/bb_backends/wasm.d.ts +49 -0
- package/dest/node/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node/bb_backends/wasm.js +85 -0
- 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 +7 -0
- package/dest/node/bbapi_exception.d.ts.map +1 -0
- package/dest/node/bbapi_exception.js +14 -0
- 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 +1 -1
- package/dest/node/cbind/generate.js +94 -7
- package/dest/node/cbind/generated/api_types.d.ts +1629 -230
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +2349 -479
- package/dest/node/cbind/generated/async.d.ts +53 -14
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +587 -72
- package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node/cbind/generated/curve_constants.js +45 -0
- package/dest/node/cbind/generated/sync.d.ts +54 -15
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +549 -72
- package/dest/node/cbind/schema_compiler.d.ts +3 -5
- package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node/cbind/schema_compiler.js +102 -185
- 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 +6 -3
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +6 -3
- 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 +32 -41
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +131 -111
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/blake2s.test.js +22 -19
- package/dest/node-cjs/barretenberg/index.d.ts +47 -48
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +136 -93
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/pedersen.test.js +27 -20
- 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 +220 -0
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/poseidon.test.js +16 -16
- 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 +2 -2
- 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 +8 -9
- 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 +5 -5
- 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 +20 -11
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +16 -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 +94 -26
- 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 +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/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 +50 -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 +90 -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 +118 -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 +176 -0
- 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 +236 -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 +286 -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 +136 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/wasm.js +90 -0
- 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 +7 -0
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
- package/dest/node-cjs/bbapi_exception.js +18 -0
- package/dest/node-cjs/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/{bindgen → bin}/index.d.ts.map +1 -1
- package/dest/node-cjs/bin/index.js +13 -0
- package/dest/node-cjs/cbind/generate.d.ts +1 -1
- package/dest/node-cjs/cbind/generate.js +93 -6
- package/dest/node-cjs/cbind/generated/api_types.d.ts +1629 -230
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +2555 -519
- package/dest/node-cjs/cbind/generated/async.d.ts +53 -14
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +586 -71
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts +54 -15
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +548 -71
- package/dest/node-cjs/cbind/schema_compiler.d.ts +3 -5
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node-cjs/cbind/schema_compiler.js +102 -186
- 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 +6 -3
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +29 -12
- 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 +12 -10
- 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 +165 -154
- package/src/barretenberg/blake2s.test.ts +20 -21
- package/src/barretenberg/index.ts +144 -130
- package/src/barretenberg/pedersen.test.ts +24 -17
- package/src/barretenberg/poseidon.bench.test.ts +271 -0
- package/src/barretenberg/poseidon.test.ts +15 -15
- package/src/barretenberg/testing/fields.ts +63 -0
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +4 -5
- 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/heap_allocator.ts +17 -9
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +104 -20
- 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.test.ts +12 -11
- package/src/barretenberg_wasm/index.ts +1 -2
- package/src/bb_backends/browser/index.ts +50 -0
- package/src/bb_backends/browser/platform.ts +11 -0
- package/src/bb_backends/index.ts +55 -0
- package/src/bb_backends/interface.ts +35 -0
- package/src/bb_backends/node/index.ts +107 -0
- package/src/bb_backends/node/native_pipe.ts +127 -0
- package/src/bb_backends/node/native_shm.ts +190 -0
- package/src/bb_backends/node/native_shm_async.ts +261 -0
- package/src/bb_backends/node/native_socket.ts +325 -0
- package/src/bb_backends/node/platform.ts +156 -0
- package/src/bb_backends/wasm.ts +102 -0
- package/src/bbapi/exception_handling.test.ts +54 -0
- package/src/bbapi_exception.ts +13 -0
- package/src/bin/index.ts +14 -0
- package/src/cbind/README.md +1 -1
- package/src/cbind/generate.ts +99 -6
- package/src/cbind/generated/api_types.ts +4241 -0
- package/src/cbind/generated/async.ts +717 -0
- package/src/cbind/generated/curve_constants.ts +53 -0
- package/src/cbind/generated/sync.ts +663 -0
- package/src/cbind/schema_compiler.ts +156 -244
- package/src/crs/node/index.ts +4 -5
- package/src/index.ts +33 -1
- 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/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/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/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/buffer_reader.d.ts +0 -28
- package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/browser/serialize/buffer_reader.js +0 -66
- package/dest/browser/serialize/index.d.ts +0 -4
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/index.js +0 -4
- 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/serialize/serialize.d.ts +0 -53
- package/dest/browser/serialize/serialize.d.ts.map +0 -1
- package/dest/browser/serialize/serialize.js +0 -139
- package/dest/browser/types/fields.d.ts +0 -43
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fields.js +0 -102
- 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/index.d.ts +0 -6
- package/dest/browser/types/index.d.ts.map +0 -1
- package/dest/browser/types/index.js +0 -6
- package/dest/browser/types/point.d.ts +0 -16
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/point.js +0 -31
- 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/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/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.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/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/main.d.ts +0 -13
- package/dest/node/main.d.ts.map +0 -1
- package/dest/node/main.js +0 -459
- package/dest/node/serialize/buffer_reader.d.ts +0 -28
- package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node/serialize/buffer_reader.js +0 -66
- package/dest/node/serialize/index.d.ts +0 -4
- package/dest/node/serialize/index.d.ts.map +0 -1
- package/dest/node/serialize/index.js +0 -4
- 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/serialize/serialize.d.ts +0 -53
- package/dest/node/serialize/serialize.d.ts.map +0 -1
- package/dest/node/serialize/serialize.js +0 -139
- package/dest/node/types/fields.d.ts +0 -43
- package/dest/node/types/fields.d.ts.map +0 -1
- package/dest/node/types/fields.js +0 -102
- 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/index.d.ts +0 -6
- package/dest/node/types/index.d.ts.map +0 -1
- package/dest/node/types/index.js +0 -6
- package/dest/node/types/point.d.ts +0 -16
- package/dest/node/types/point.d.ts.map +0 -1
- package/dest/node/types/point.js +0 -31
- 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/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/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.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/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/main.d.ts +0 -13
- package/dest/node-cjs/main.d.ts.map +0 -1
- package/dest/node-cjs/main.js +0 -470
- package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
- package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node-cjs/serialize/buffer_reader.js +0 -70
- package/dest/node-cjs/serialize/index.d.ts +0 -4
- package/dest/node-cjs/serialize/index.d.ts.map +0 -1
- package/dest/node-cjs/serialize/index.js +0 -7
- 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/serialize/serialize.d.ts +0 -53
- package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
- package/dest/node-cjs/serialize/serialize.js +0 -160
- package/dest/node-cjs/types/fields.d.ts +0 -43
- package/dest/node-cjs/types/fields.d.ts.map +0 -1
- package/dest/node-cjs/types/fields.js +0 -107
- 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/index.d.ts +0 -6
- package/dest/node-cjs/types/index.d.ts.map +0 -1
- package/dest/node-cjs/types/index.js +0 -9
- package/dest/node-cjs/types/point.d.ts +0 -16
- package/dest/node-cjs/types/point.d.ts.map +0 -1
- package/dest/node-cjs/types/point.js +0 -35
- 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/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/main.ts +0 -534
- package/src/serialize/buffer_reader.ts +0 -85
- package/src/serialize/index.ts +0 -3
- package/src/serialize/output_type.ts +0 -53
- package/src/serialize/serialize.ts +0 -157
- package/src/types/fields.ts +0 -126
- package/src/types/fixed_size_buffer.ts +0 -59
- package/src/types/index.ts +0 -5
- package/src/types/point.ts +0 -38
- package/src/types/ptr.ts +0 -20
- package/src/types/raw_buffer.ts +0 -3
- /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
|
@@ -5,7 +5,6 @@ import { createThreadWorker } from '../barretenberg_wasm_thread/factory/node/ind
|
|
|
5
5
|
import { type BarretenbergWasmThreadWorker } from '../barretenberg_wasm_thread/index.js';
|
|
6
6
|
import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
|
|
7
7
|
import { HeapAllocator } from './heap_allocator.js';
|
|
8
|
-
import { createDebugLogger } from '../../log/index.js';
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
10
|
* This is the "main thread" implementation of BarretenbergWasm.
|
|
@@ -18,6 +17,12 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
18
17
|
private remoteWasms: BarretenbergWasmThreadWorker[] = [];
|
|
19
18
|
private nextWorker = 0;
|
|
20
19
|
private nextThreadId = 1;
|
|
20
|
+
private useCustomLogger = false;
|
|
21
|
+
|
|
22
|
+
// Pre-allocated scratch buffers for msgpack I/O to avoid malloc/free overhead
|
|
23
|
+
private msgpackInputScratch: number = 0; // 8MB input buffer
|
|
24
|
+
private msgpackOutputScratch: number = 0; // 8MB output buffer
|
|
25
|
+
private readonly MSGPACK_SCRATCH_SIZE = 1024 * 1024 * 8; // 8MB
|
|
21
26
|
|
|
22
27
|
public getNumThreads() {
|
|
23
28
|
return this.workers.length + 1;
|
|
@@ -29,11 +34,13 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
29
34
|
public async init(
|
|
30
35
|
module: WebAssembly.Module,
|
|
31
36
|
threads = Math.min(getNumCpu(), BarretenbergWasmMain.MAX_THREADS),
|
|
32
|
-
logger
|
|
33
|
-
initial =
|
|
37
|
+
logger?: (msg: string) => void,
|
|
38
|
+
initial = 33,
|
|
34
39
|
maximum = this.getDefaultMaximumMemoryPages(),
|
|
35
40
|
) {
|
|
36
|
-
|
|
41
|
+
// Track whether a custom logger was provided so workers know whether to postMessage logs
|
|
42
|
+
this.useCustomLogger = logger !== undefined;
|
|
43
|
+
this.logger = logger ?? (() => {});
|
|
37
44
|
|
|
38
45
|
const initialMb = (initial * 2 ** 16) / (1024 * 1024);
|
|
39
46
|
const maxMb = (maximum * 2 ** 16) / (1024 * 1024);
|
|
@@ -54,12 +61,26 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
54
61
|
// Init all global/static data.
|
|
55
62
|
this.call('_initialize');
|
|
56
63
|
|
|
64
|
+
// Allocate dedicated msgpack scratch buffers (never freed, reused for all msgpack calls)
|
|
65
|
+
this.msgpackInputScratch = this.call('bbmalloc', this.MSGPACK_SCRATCH_SIZE);
|
|
66
|
+
this.msgpackOutputScratch = this.call('bbmalloc', this.MSGPACK_SCRATCH_SIZE);
|
|
67
|
+
this.logger(
|
|
68
|
+
`Allocated msgpack scratch buffers: ` +
|
|
69
|
+
`input @ ${this.msgpackInputScratch}, output @ ${this.msgpackOutputScratch} (${this.MSGPACK_SCRATCH_SIZE} bytes each)`,
|
|
70
|
+
);
|
|
71
|
+
|
|
57
72
|
// Create worker threads. Create 1 less than requested, as main thread counts as a thread.
|
|
58
73
|
if (threads > 1) {
|
|
59
74
|
this.logger(`Creating ${threads} worker threads`);
|
|
60
75
|
this.workers = await Promise.all(Array.from({ length: threads - 1 }).map(createThreadWorker));
|
|
76
|
+
|
|
77
|
+
// Set up log message forwarding from workers to our logger (only if custom logger provided)
|
|
78
|
+
if (this.useCustomLogger) {
|
|
79
|
+
this.workers.forEach(worker => this.setupWorkerLogForwarding(worker));
|
|
80
|
+
}
|
|
81
|
+
|
|
61
82
|
this.remoteWasms = await Promise.all(this.workers.map(getRemoteBarretenbergWasm<BarretenbergWasmThreadWorker>));
|
|
62
|
-
await Promise.all(this.remoteWasms.map(w => w.initThread(module, this.memory)));
|
|
83
|
+
await Promise.all(this.remoteWasms.map(w => w.initThread(module, this.memory, this.useCustomLogger)));
|
|
63
84
|
}
|
|
64
85
|
}
|
|
65
86
|
|
|
@@ -72,6 +93,31 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
72
93
|
return 2 ** 16;
|
|
73
94
|
}
|
|
74
95
|
|
|
96
|
+
/**
|
|
97
|
+
* Set up forwarding of log messages from worker threads to our logger.
|
|
98
|
+
* Workers post messages with { type: 'log', msg: string } which we intercept here.
|
|
99
|
+
*/
|
|
100
|
+
private setupWorkerLogForwarding(worker: Worker) {
|
|
101
|
+
const handler = (data: unknown) => {
|
|
102
|
+
if (data && typeof data === 'object' && 'type' in data && data.type === 'log' && 'msg' in data) {
|
|
103
|
+
this.logger(data.msg as string);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// Node Workers use 'on' method, browser Workers use 'addEventListener'
|
|
108
|
+
// The 'worker' variable is typed as Node's Worker, but at runtime in browser
|
|
109
|
+
// it will be a browser Worker (due to browser_postprocess.sh import rewriting)
|
|
110
|
+
if ('on' in worker && typeof worker.on === 'function') {
|
|
111
|
+
// Node.js worker_threads Worker
|
|
112
|
+
worker.on('message', handler);
|
|
113
|
+
} else if ('addEventListener' in worker) {
|
|
114
|
+
// Browser Web Worker
|
|
115
|
+
(worker as unknown as globalThis.Worker).addEventListener('message', (event: MessageEvent) => {
|
|
116
|
+
handler(event.data);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
75
121
|
/**
|
|
76
122
|
* Called on main thread. Signals child threads to gracefully exit.
|
|
77
123
|
*/
|
|
@@ -138,25 +184,63 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
138
184
|
}
|
|
139
185
|
|
|
140
186
|
cbindCall(cbind: string, inputBuffer: Uint8Array): any {
|
|
141
|
-
const
|
|
142
|
-
|
|
187
|
+
const needsCustomInputBuffer = inputBuffer.length > this.MSGPACK_SCRATCH_SIZE;
|
|
188
|
+
let inputPtr: number;
|
|
189
|
+
|
|
190
|
+
if (needsCustomInputBuffer) {
|
|
191
|
+
// Allocate temporary buffer for oversized input
|
|
192
|
+
inputPtr = this.call('bbmalloc', inputBuffer.length);
|
|
193
|
+
} else {
|
|
194
|
+
// Use pre-allocated scratch buffer
|
|
195
|
+
inputPtr = this.msgpackInputScratch;
|
|
196
|
+
}
|
|
143
197
|
|
|
144
|
-
|
|
198
|
+
// Write input to buffer
|
|
145
199
|
this.writeMemory(inputPtr, inputBuffer);
|
|
146
|
-
this.call(cbind, inputPtr, inputBuffer.length, outputMsgpackPtr, outputSizePtr);
|
|
147
200
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
201
|
+
// Setup output scratch buffer with IN-OUT parameter pattern:
|
|
202
|
+
// Reserve 8 bytes for metadata (pointer + size), rest is scratch data space
|
|
203
|
+
const METADATA_SIZE = 8;
|
|
204
|
+
const outputPtrLocation = this.msgpackOutputScratch;
|
|
205
|
+
const outputSizeLocation = this.msgpackOutputScratch + 4;
|
|
206
|
+
const scratchDataPtr = this.msgpackOutputScratch + METADATA_SIZE;
|
|
207
|
+
const scratchDataSize = this.MSGPACK_SCRATCH_SIZE - METADATA_SIZE;
|
|
208
|
+
|
|
209
|
+
// Get memory and create DataView for writing IN values
|
|
210
|
+
let mem = this.getMemory();
|
|
211
|
+
let view = new DataView(mem.buffer);
|
|
212
|
+
|
|
213
|
+
// Write IN values: provide scratch buffer pointer and size to C++
|
|
214
|
+
view.setUint32(outputPtrLocation, scratchDataPtr, true);
|
|
215
|
+
view.setUint32(outputSizeLocation, scratchDataSize, true);
|
|
216
|
+
|
|
217
|
+
// Call WASM
|
|
218
|
+
this.call(cbind, inputPtr, inputBuffer.length, outputPtrLocation, outputSizeLocation);
|
|
219
|
+
|
|
220
|
+
// Free custom input buffer if allocated
|
|
221
|
+
if (needsCustomInputBuffer) {
|
|
222
|
+
this.call('bbfree', inputPtr);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Re-fetch memory after WASM call, as the buffer may have been detached if memory grew
|
|
226
|
+
mem = this.getMemory();
|
|
227
|
+
view = new DataView(mem.buffer);
|
|
228
|
+
|
|
229
|
+
// Read OUT values: C++ returns actual buffer pointer and size
|
|
230
|
+
const outputDataPtr = view.getUint32(outputPtrLocation, true);
|
|
231
|
+
const outputSize = view.getUint32(outputSizeLocation, true);
|
|
232
|
+
|
|
233
|
+
// Check if C++ used scratch (pointer unchanged) or allocated (pointer changed)
|
|
234
|
+
const usedScratch = outputDataPtr === scratchDataPtr;
|
|
235
|
+
|
|
236
|
+
// Copy output data from WASM memory
|
|
237
|
+
const encodedResult = this.getMemorySlice(outputDataPtr, outputDataPtr + outputSize);
|
|
238
|
+
|
|
239
|
+
// Only free if C++ allocated beyond scratch
|
|
240
|
+
if (!usedScratch) {
|
|
241
|
+
this.call('bbfree', outputDataPtr);
|
|
242
|
+
}
|
|
152
243
|
|
|
153
|
-
const encodedResult = this.getMemorySlice(
|
|
154
|
-
readPtr32(outputMsgpackPtr),
|
|
155
|
-
readPtr32(outputMsgpackPtr) + readPtr32(outputSizePtr),
|
|
156
|
-
);
|
|
157
|
-
this.call('bbfree', inputPtr);
|
|
158
|
-
this.call('bbfree', outputSizePtr);
|
|
159
|
-
this.call('bbfree', outputMsgpackPtr);
|
|
160
244
|
return encodedResult;
|
|
161
245
|
}
|
|
162
246
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { logOptions } from '../../../../log/index.js';
|
|
2
1
|
import { readinessListener } from '../../../helpers/browser/index.js';
|
|
3
2
|
|
|
4
3
|
export async function createThreadWorker() {
|
|
5
4
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
5
|
// @ts-ignore
|
|
7
6
|
const worker = new Worker(new URL('./thread.worker.js', import.meta.url), { type: 'module' });
|
|
8
|
-
worker.postMessage({ log: logOptions });
|
|
9
7
|
await new Promise<void>(resolve => readinessListener(worker, resolve));
|
|
10
8
|
return worker;
|
|
11
9
|
}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { expose } from 'comlink';
|
|
2
2
|
import { BarretenbergWasmThread } from '../../index.js';
|
|
3
3
|
import { Ready } from '../../../helpers/browser/index.js';
|
|
4
|
-
import { initLogger } from '../../../../log/browser/index.js';
|
|
5
|
-
|
|
6
|
-
addEventListener('message', e => {
|
|
7
|
-
if (e.data.log) {
|
|
8
|
-
initLogger(e.data.log);
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
4
|
|
|
12
5
|
expose(new BarretenbergWasmThread());
|
|
13
6
|
postMessage(Ready);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Worker } from 'worker_threads';
|
|
2
2
|
import { dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
-
import { logOptions } from '../../../../log/index.js';
|
|
5
4
|
|
|
6
5
|
function getCurrentDir() {
|
|
7
6
|
if (typeof __dirname !== 'undefined') {
|
|
@@ -16,6 +15,5 @@ function getCurrentDir() {
|
|
|
16
15
|
export function createThreadWorker() {
|
|
17
16
|
const __dirname = getCurrentDir();
|
|
18
17
|
const worker = new Worker(__dirname + `/thread.worker.js`);
|
|
19
|
-
worker.postMessage({ log: logOptions });
|
|
20
18
|
return Promise.resolve(worker);
|
|
21
19
|
}
|
|
@@ -2,7 +2,6 @@ import { parentPort } from 'worker_threads';
|
|
|
2
2
|
import { expose } from 'comlink';
|
|
3
3
|
import { BarretenbergWasmThread } from '../../index.js';
|
|
4
4
|
import { nodeEndpoint } from '../../../helpers/node/node_endpoint.js';
|
|
5
|
-
import { initLogger } from '../../../../log/node/index.js';
|
|
6
5
|
|
|
7
6
|
if (!parentPort) {
|
|
8
7
|
throw new Error('No parentPort');
|
|
@@ -10,10 +9,4 @@ if (!parentPort) {
|
|
|
10
9
|
|
|
11
10
|
const endpoint = nodeEndpoint(parentPort);
|
|
12
11
|
|
|
13
|
-
endpoint.addEventListener('message', (e: any) => {
|
|
14
|
-
if (e.data.log) {
|
|
15
|
-
initLogger(e.data.log);
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
12
|
expose(new BarretenbergWasmThread(), endpoint);
|
|
@@ -5,9 +5,10 @@ import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
|
|
|
5
5
|
export class BarretenbergWasmThread extends BarretenbergWasmBase {
|
|
6
6
|
/**
|
|
7
7
|
* Init as worker thread.
|
|
8
|
+
* @param useCustomLogger - If true, logs will be posted back to main thread for custom logger routing
|
|
8
9
|
*/
|
|
9
|
-
public async initThread(module: WebAssembly.Module, memory: WebAssembly.Memory) {
|
|
10
|
-
this.logger = threadLogger() || this.logger;
|
|
10
|
+
public async initThread(module: WebAssembly.Module, memory: WebAssembly.Memory, useCustomLogger = false) {
|
|
11
|
+
this.logger = threadLogger(useCustomLogger) || this.logger;
|
|
11
12
|
this.memory = memory;
|
|
12
13
|
this.instance = await WebAssembly.instantiate(module, this.getImportObj(this.memory));
|
|
13
14
|
}
|
|
@@ -13,7 +13,14 @@ export function getNumCpu() {
|
|
|
13
13
|
return navigator.hardwareConcurrency;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export function threadLogger(): ((msg: string) => void) | undefined {
|
|
16
|
+
export function threadLogger(useCustomLogger: boolean): ((msg: string) => void) | undefined {
|
|
17
|
+
if (useCustomLogger) {
|
|
18
|
+
// Post log messages back to main thread for routing through user-provided logger
|
|
19
|
+
return (msg: string) => {
|
|
20
|
+
postMessage({ type: 'log', msg });
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
// Use console.log directly when no custom logger is provided
|
|
17
24
|
return console.log;
|
|
18
25
|
}
|
|
19
26
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Worker } from 'worker_threads';
|
|
1
|
+
import { Worker, parentPort } from 'worker_threads';
|
|
2
2
|
import os from 'os';
|
|
3
3
|
import { wrap } from 'comlink';
|
|
4
4
|
import { nodeEndpoint } from './node_endpoint.js';
|
|
@@ -25,12 +25,19 @@ export function getNumCpu() {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* To work around this in node, threads will by default write directly to stdout.
|
|
28
|
+
* Returns a logger function for worker threads.
|
|
29
|
+
* When a custom logger is provided, posts messages back to the main thread.
|
|
30
|
+
* Otherwise, writes directly to stdout.
|
|
32
31
|
*/
|
|
33
|
-
export function threadLogger(): ((msg: string) => void) | undefined {
|
|
32
|
+
export function threadLogger(useCustomLogger: boolean): ((msg: string) => void) | undefined {
|
|
33
|
+
if (useCustomLogger) {
|
|
34
|
+
return (msg: string) => {
|
|
35
|
+
if (parentPort) {
|
|
36
|
+
parentPort.postMessage({ type: 'log', msg });
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// Write directly to stdout when no custom logger is provided
|
|
34
41
|
return (msg: string) => {
|
|
35
42
|
writeSync(1, msg + '\n');
|
|
36
43
|
};
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { createMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js';
|
|
2
|
+
import { BarretenbergWasmMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/index.js';
|
|
3
|
+
import { getRemoteBarretenbergWasm } from '../barretenberg_wasm/helpers/index.js';
|
|
4
|
+
import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
|
|
5
|
+
import { Worker } from 'worker_threads';
|
|
3
6
|
|
|
4
7
|
describe('barretenberg wasm', () => {
|
|
5
|
-
let api: Barretenberg;
|
|
6
8
|
let wasm: BarretenbergWasmMainWorker;
|
|
9
|
+
let worker: Worker;
|
|
7
10
|
|
|
8
11
|
beforeAll(async () => {
|
|
9
|
-
|
|
10
|
-
wasm =
|
|
12
|
+
worker = await createMainWorker();
|
|
13
|
+
wasm = getRemoteBarretenbergWasm<BarretenbergWasmMainWorker>(worker);
|
|
14
|
+
const { module, threads } = await fetchModuleAndThreads(2);
|
|
15
|
+
await wasm.init(module, threads);
|
|
11
16
|
}, 20000);
|
|
12
17
|
|
|
13
18
|
afterAll(async () => {
|
|
14
|
-
await
|
|
19
|
+
await wasm.destroy();
|
|
20
|
+
await worker.terminate();
|
|
15
21
|
});
|
|
16
22
|
|
|
17
23
|
it('should new malloc, transfer and slice mem', async () => {
|
|
@@ -28,11 +34,6 @@ describe('barretenberg wasm', () => {
|
|
|
28
34
|
await expect(() => wasm.call('test_abort')).rejects.toThrow();
|
|
29
35
|
});
|
|
30
36
|
|
|
31
|
-
it('test c/c++ stdout/stderr', async () => {
|
|
32
|
-
// We're checking we don't crash, but you can manually confirm you see log lines handled by logstr.
|
|
33
|
-
await wasm.call('test_stdout_stderr');
|
|
34
|
-
});
|
|
35
|
-
|
|
36
37
|
it('should new malloc, transfer and slice mem', async () => {
|
|
37
38
|
const length = 1024;
|
|
38
39
|
const ptr = await wasm.call('bbmalloc', length);
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { getSharedMemoryAvailable, getAvailableThreads } from './helpers/node/index.js';
|
|
2
2
|
import { fetchCode } from './fetch_code/index.js';
|
|
3
|
-
import { createDebugLogger } from '../log/index.js';
|
|
4
3
|
|
|
5
4
|
export async function fetchModuleAndThreads(
|
|
6
5
|
desiredThreads = 32,
|
|
7
6
|
wasmPath?: string,
|
|
8
|
-
logger: (msg: string) => void =
|
|
7
|
+
logger: (msg: string) => void = () => {},
|
|
9
8
|
) {
|
|
10
9
|
const shared = getSharedMemoryAvailable();
|
|
11
10
|
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { BarretenbergWasmSyncBackend, BarretenbergWasmAsyncBackend } from '../wasm.js';
|
|
2
|
+
import { Barretenberg, BarretenbergSync } from '../../barretenberg/index.js';
|
|
3
|
+
import { BackendOptions, BackendType } from '../index.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create backend of specific type (no fallback)
|
|
7
|
+
*/
|
|
8
|
+
export async function createAsyncBackend(
|
|
9
|
+
type: BackendType,
|
|
10
|
+
options: BackendOptions,
|
|
11
|
+
logger: (msg: string) => void,
|
|
12
|
+
): Promise<Barretenberg> {
|
|
13
|
+
switch (type) {
|
|
14
|
+
case BackendType.Wasm:
|
|
15
|
+
case BackendType.WasmWorker: {
|
|
16
|
+
const useWorker = type === BackendType.WasmWorker;
|
|
17
|
+
logger(`Using WASM backend (worker: ${useWorker})`);
|
|
18
|
+
const wasm = await BarretenbergWasmAsyncBackend.new({
|
|
19
|
+
threads: options.threads,
|
|
20
|
+
wasmPath: options.wasmPath,
|
|
21
|
+
logger,
|
|
22
|
+
memory: options.memory,
|
|
23
|
+
useWorker,
|
|
24
|
+
});
|
|
25
|
+
return new Barretenberg(wasm, options);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
default:
|
|
29
|
+
throw new Error(`Unknown backend type: ${type}`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Create backend of specific type (no fallback)
|
|
35
|
+
*/
|
|
36
|
+
export async function createSyncBackend(
|
|
37
|
+
type: BackendType,
|
|
38
|
+
options: BackendOptions,
|
|
39
|
+
logger: (msg: string) => void,
|
|
40
|
+
): Promise<BarretenbergSync> {
|
|
41
|
+
switch (type) {
|
|
42
|
+
case BackendType.Wasm:
|
|
43
|
+
logger('Using WASM backend');
|
|
44
|
+
const wasm = await BarretenbergWasmSyncBackend.new(options.wasmPath, logger);
|
|
45
|
+
return new BarretenbergSync(wasm);
|
|
46
|
+
|
|
47
|
+
default:
|
|
48
|
+
throw new Error(`Backend ${type} not supported for BarretenbergSync`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function findPackageRoot(): string | null {
|
|
2
|
+
throw new Error('Not implemented in browser environment.');
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export function findBbBinary(customPath?: string): string | null {
|
|
6
|
+
throw new Error('Not implemented in browser environment.');
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export function findNapiBinary(customPath?: string): string | null {
|
|
10
|
+
throw new Error('Not implemented in browser environment.');
|
|
11
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backend types for Barretenberg
|
|
3
|
+
*/
|
|
4
|
+
export enum BackendType {
|
|
5
|
+
/** WASM direct execution (no worker) */
|
|
6
|
+
Wasm = 'Wasm',
|
|
7
|
+
/** WASM with worker threads */
|
|
8
|
+
WasmWorker = 'WasmWorker',
|
|
9
|
+
/** Native via Unix domain socket (async only) */
|
|
10
|
+
NativeUnixSocket = 'NativeUnixSocket',
|
|
11
|
+
/** Native via shared memory */
|
|
12
|
+
NativeSharedMemory = 'NativeSharedMemory',
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type BackendOptions = {
|
|
16
|
+
/** @description Number of threads to run the backend worker on */
|
|
17
|
+
threads?: number;
|
|
18
|
+
|
|
19
|
+
/** @description Initial and Maximum memory to be alloted to the backend worker */
|
|
20
|
+
memory?: { initial?: number; maximum?: number };
|
|
21
|
+
|
|
22
|
+
/** @description Path to download CRS files */
|
|
23
|
+
crsPath?: string;
|
|
24
|
+
|
|
25
|
+
/** @description Path to download WASM files */
|
|
26
|
+
wasmPath?: string;
|
|
27
|
+
|
|
28
|
+
/** @description Custom path to bb binary for native backend (overrides automatic detection) */
|
|
29
|
+
bbPath?: string;
|
|
30
|
+
|
|
31
|
+
/** @description Custom path to bb NAPI module for native backend (overrides automatic detection) */
|
|
32
|
+
napiPath?: string;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @description Logging function
|
|
36
|
+
* Warning: Attaching a logger can prevent nodejs from exiting without explicitly destroying the backend.
|
|
37
|
+
*/
|
|
38
|
+
logger?: (msg: string) => void;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @description Maximum concurrent clients for shared memory IPC server (default: 1)
|
|
42
|
+
* Only applies to NativeSharedMemory backend
|
|
43
|
+
*/
|
|
44
|
+
maxClients?: number;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* @description Specify exact backend to use
|
|
48
|
+
* - If unset: tries backends in default order with fallback
|
|
49
|
+
* - If set: must succeed with specified backend or throw error (no fallback)
|
|
50
|
+
*
|
|
51
|
+
* Barretenberg (async) supports: all types
|
|
52
|
+
* BarretenbergSync supports: Wasm, NativeSharedMem only
|
|
53
|
+
*/
|
|
54
|
+
backend?: BackendType;
|
|
55
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic interface for msgpack backend implementations.
|
|
3
|
+
* Both WASM and native binary backends implement this interface.
|
|
4
|
+
*/
|
|
5
|
+
export interface IMsgpackBackend {
|
|
6
|
+
/**
|
|
7
|
+
* Execute a msgpack command and return the msgpack response.
|
|
8
|
+
* @param inputBuffer The msgpack-encoded input buffer
|
|
9
|
+
* @returns The msgpack-encoded response buffer (sync or async)
|
|
10
|
+
*/
|
|
11
|
+
call(inputBuffer: Uint8Array): Uint8Array | Promise<Uint8Array>;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Clean up resources.
|
|
15
|
+
*/
|
|
16
|
+
destroy(): void | Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Synchronous variant of IMsgpackBackend.
|
|
21
|
+
* Used by BarretenbergSync and SyncApi.
|
|
22
|
+
*/
|
|
23
|
+
export interface IMsgpackBackendSync extends IMsgpackBackend {
|
|
24
|
+
call(inputBuffer: Uint8Array): Uint8Array;
|
|
25
|
+
destroy(): void;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Asynchronous variant of IMsgpackBackend.
|
|
30
|
+
* Used by Barretenberg and AsyncApi.
|
|
31
|
+
*/
|
|
32
|
+
export interface IMsgpackBackendAsync extends IMsgpackBackend {
|
|
33
|
+
call(inputBuffer: Uint8Array): Promise<Uint8Array>;
|
|
34
|
+
destroy(): Promise<void>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { BarretenbergNativeSocketAsyncBackend } from './native_socket.js';
|
|
2
|
+
import { BarretenbergWasmSyncBackend, BarretenbergWasmAsyncBackend } from '../wasm.js';
|
|
3
|
+
import { BarretenbergNativeShmSyncBackend } from './native_shm.js';
|
|
4
|
+
import { BarretenbergNativeShmAsyncBackend } from './native_shm_async.js';
|
|
5
|
+
import { findBbBinary, findNapiBinary } from './platform.js';
|
|
6
|
+
import { Barretenberg, BarretenbergSync } from '../../barretenberg/index.js';
|
|
7
|
+
import { BackendOptions, BackendType } from '../index.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Create backend of specific type (no fallback)
|
|
11
|
+
*/
|
|
12
|
+
export async function createAsyncBackend(
|
|
13
|
+
type: BackendType,
|
|
14
|
+
options: BackendOptions,
|
|
15
|
+
logger: (msg: string) => void,
|
|
16
|
+
): Promise<Barretenberg> {
|
|
17
|
+
options = {
|
|
18
|
+
...options,
|
|
19
|
+
wasmPath: options.wasmPath ?? process.env.BB_WASM_PATH,
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
switch (type) {
|
|
23
|
+
case BackendType.NativeUnixSocket: {
|
|
24
|
+
const bbPath = findBbBinary(options.bbPath);
|
|
25
|
+
if (!bbPath) {
|
|
26
|
+
throw new Error('Native backend requires bb binary.');
|
|
27
|
+
}
|
|
28
|
+
logger(`Using native Unix socket backend: ${bbPath}`);
|
|
29
|
+
const socket = new BarretenbergNativeSocketAsyncBackend(bbPath, options.threads, options.logger);
|
|
30
|
+
return new Barretenberg(socket, options);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
case BackendType.NativeSharedMemory: {
|
|
34
|
+
const bbPath = findBbBinary(options.bbPath);
|
|
35
|
+
if (!bbPath) {
|
|
36
|
+
throw new Error('Native backend requires bb binary.');
|
|
37
|
+
}
|
|
38
|
+
const napiPath = findNapiBinary(options.napiPath);
|
|
39
|
+
if (!napiPath) {
|
|
40
|
+
throw new Error('Native async backend requires napi client stub.');
|
|
41
|
+
}
|
|
42
|
+
logger(`Using native shared memory async backend: ${bbPath}`);
|
|
43
|
+
const asyncBackend = await BarretenbergNativeShmAsyncBackend.new(
|
|
44
|
+
bbPath,
|
|
45
|
+
napiPath,
|
|
46
|
+
options.threads,
|
|
47
|
+
options.logger,
|
|
48
|
+
);
|
|
49
|
+
return new Barretenberg(asyncBackend, options);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
case BackendType.Wasm:
|
|
53
|
+
case BackendType.WasmWorker: {
|
|
54
|
+
const useWorker = type === BackendType.WasmWorker;
|
|
55
|
+
logger(`Using WASM backend (worker: ${useWorker})`);
|
|
56
|
+
const wasm = await BarretenbergWasmAsyncBackend.new({
|
|
57
|
+
threads: options.threads,
|
|
58
|
+
wasmPath: options.wasmPath,
|
|
59
|
+
logger: options.logger,
|
|
60
|
+
memory: options.memory,
|
|
61
|
+
useWorker,
|
|
62
|
+
});
|
|
63
|
+
return new Barretenberg(wasm, options);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
default:
|
|
67
|
+
throw new Error(`Unknown backend type: ${type}`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Create backend of specific type (no fallback)
|
|
73
|
+
*/
|
|
74
|
+
export async function createSyncBackend(
|
|
75
|
+
type: BackendType,
|
|
76
|
+
options: BackendOptions,
|
|
77
|
+
logger: (msg: string) => void,
|
|
78
|
+
): Promise<BarretenbergSync> {
|
|
79
|
+
options = {
|
|
80
|
+
...options,
|
|
81
|
+
wasmPath: options.wasmPath ?? process.env.BB_WASM_PATH,
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
switch (type) {
|
|
85
|
+
case BackendType.NativeSharedMemory: {
|
|
86
|
+
const bbPath = findBbBinary(options.bbPath);
|
|
87
|
+
if (!bbPath) {
|
|
88
|
+
throw new Error('Native backend requires bb binary.');
|
|
89
|
+
}
|
|
90
|
+
const napiPath = findNapiBinary(options.napiPath);
|
|
91
|
+
if (!napiPath) {
|
|
92
|
+
throw new Error('Native sync backend requires napi client stub.');
|
|
93
|
+
}
|
|
94
|
+
logger(`Using native shared memory backend: ${bbPath}`);
|
|
95
|
+
const shm = await BarretenbergNativeShmSyncBackend.new(bbPath, napiPath, options.threads, options.logger);
|
|
96
|
+
return new BarretenbergSync(shm);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
case BackendType.Wasm:
|
|
100
|
+
logger('Using WASM backend');
|
|
101
|
+
const wasm = await BarretenbergWasmSyncBackend.new(options.wasmPath, logger);
|
|
102
|
+
return new BarretenbergSync(wasm);
|
|
103
|
+
|
|
104
|
+
default:
|
|
105
|
+
throw new Error(`Backend ${type} not supported for BarretenbergSync`);
|
|
106
|
+
}
|
|
107
|
+
}
|