@aztec/bb.js 0.0.1-alpha.7 → 0.0.1-commit.0208eb9
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 +55 -84
- 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/{async_map → browser/async_map}/index.d.ts +1 -1
- package/dest/browser/async_map/index.d.ts.map +1 -0
- package/dest/{async_map → browser/async_map}/index.js +1 -1
- package/dest/browser/barretenberg/backend.d.ts +93 -0
- package/dest/browser/barretenberg/backend.d.ts.map +1 -0
- package/dest/browser/barretenberg/backend.js +350 -0
- package/dest/browser/barretenberg/index.d.ts +65 -0
- package/dest/browser/barretenberg/index.d.ts.map +1 -0
- package/dest/browser/barretenberg/index.js +182 -0
- 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 +45 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +36 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.js +2 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.js +47 -0
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/helpers/index.js +2 -0
- package/dest/browser/barretenberg_wasm/index.d.ts +5 -0
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/index.js +15 -0
- 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/{bindgen → browser/bin}/index.d.ts.map +1 -1
- package/dest/browser/bin/index.js +11 -0
- package/dest/browser/cbind/generate.d.ts +8 -0
- package/dest/browser/cbind/generate.d.ts.map +1 -0
- package/dest/browser/cbind/generate.js +173 -0
- package/dest/browser/cbind/generated/api_types.d.ts +1130 -0
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/browser/cbind/generated/api_types.js +2657 -0
- package/dest/browser/cbind/generated/async.d.ts +60 -0
- package/dest/browser/cbind/generated/async.d.ts.map +1 -0
- package/dest/browser/cbind/generated/async.js +643 -0
- 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 +60 -0
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
- package/dest/browser/cbind/generated/sync.js +592 -0
- 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 +43 -0
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/browser/crs/browser/cached_net_crs.js +95 -0
- package/dest/browser/crs/browser/index.d.ts +2 -0
- package/dest/browser/crs/browser/index.d.ts.map +1 -0
- package/dest/browser/crs/browser/index.js +2 -0
- package/dest/browser/crs/index.d.ts +2 -0
- package/dest/browser/crs/index.d.ts.map +1 -0
- package/dest/browser/crs/index.js +2 -0
- package/dest/browser/crs/net_crs.d.ts +75 -0
- package/dest/browser/crs/net_crs.d.ts.map +1 -0
- package/dest/browser/crs/net_crs.js +164 -0
- package/dest/browser/index.d.ts +9 -0
- package/dest/browser/index.d.ts.map +1 -0
- package/dest/browser/index.js +9 -0
- package/dest/browser/proof/index.d.ts +21 -0
- package/dest/browser/proof/index.d.ts.map +1 -0
- package/dest/browser/proof/index.js +63 -0
- package/dest/browser/random/browser/index.d.ts +2 -0
- package/dest/browser/random/browser/index.d.ts.map +1 -0
- package/dest/browser/random/browser/index.js +31 -0
- package/dest/browser/random/index.d.ts +2 -0
- package/dest/browser/random/index.d.ts.map +1 -0
- package/dest/browser/random/index.js +2 -0
- package/dest/browser/retry/index.d.ts +26 -0
- package/dest/browser/retry/index.d.ts.map +1 -0
- package/dest/browser/retry/index.js +50 -0
- package/dest/node/async_map/index.d.ts +10 -0
- package/dest/node/async_map/index.d.ts.map +1 -0
- package/dest/node/async_map/index.js +16 -0
- package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
- package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
- package/dest/node/barretenberg/backend.d.ts +93 -0
- package/dest/node/barretenberg/backend.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.js +350 -0
- 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 +2 -0
- package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
- package/dest/node/barretenberg/blake2s.test.js +57 -0
- package/dest/node/barretenberg/index.d.ts +65 -0
- package/dest/node/barretenberg/index.d.ts.map +1 -0
- package/dest/node/barretenberg/index.js +182 -0
- package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
- package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
- package/dest/node/barretenberg/pedersen.test.js +62 -0
- 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 +2 -0
- package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
- package/dest/node/barretenberg/poseidon.test.js +35 -0
- 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 +45 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +19 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +19 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +10 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +36 -0
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +35 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +47 -0
- package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +21 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.js +56 -0
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
- package/dest/node/barretenberg_wasm/index.d.ts +5 -0
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/index.js +15 -0
- package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
- package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/index.test.js +39 -0
- 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 +29 -0
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm.js +196 -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 +233 -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 +283 -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 +3 -0
- package/dest/node/benchmark/index.d.ts.map +1 -0
- package/dest/node/benchmark/index.js +25 -0
- package/dest/node/benchmark/timer.d.ts +34 -0
- package/dest/node/benchmark/timer.d.ts.map +1 -0
- package/dest/node/benchmark/timer.js +42 -0
- 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 +8 -0
- package/dest/node/cbind/generate.d.ts.map +1 -0
- package/dest/node/cbind/generate.js +173 -0
- package/dest/node/cbind/generated/api_types.d.ts +1130 -0
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/node/cbind/generated/api_types.js +2657 -0
- package/dest/node/cbind/generated/async.d.ts +60 -0
- package/dest/node/cbind/generated/async.d.ts.map +1 -0
- package/dest/node/cbind/generated/async.js +643 -0
- 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 +60 -0
- package/dest/node/cbind/generated/sync.d.ts.map +1 -0
- package/dest/node/cbind/generated/sync.js +592 -0
- 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 +43 -0
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/node/crs/browser/cached_net_crs.js +95 -0
- package/dest/node/crs/browser/index.d.ts +2 -0
- package/dest/node/crs/browser/index.d.ts.map +1 -0
- package/dest/node/crs/browser/index.js +2 -0
- package/dest/node/crs/index.d.ts +2 -0
- package/dest/node/crs/index.d.ts.map +1 -0
- package/dest/node/crs/index.js +2 -0
- package/dest/node/crs/net_crs.d.ts +75 -0
- package/dest/node/crs/net_crs.d.ts.map +1 -0
- package/dest/node/crs/net_crs.js +164 -0
- package/dest/node/crs/net_crs.test.d.ts +2 -0
- package/dest/node/crs/net_crs.test.d.ts.map +1 -0
- package/dest/node/crs/net_crs.test.js +39 -0
- package/dest/node/crs/node/index.d.ts +38 -0
- package/dest/node/crs/node/index.d.ts.map +1 -0
- package/dest/node/crs/node/index.js +107 -0
- package/dest/node/index.d.ts +9 -0
- package/dest/node/index.d.ts.map +1 -0
- package/dest/node/index.js +9 -0
- package/dest/node/proof/index.d.ts +21 -0
- package/dest/node/proof/index.d.ts.map +1 -0
- package/dest/node/proof/index.js +63 -0
- package/dest/node/random/browser/index.d.ts +2 -0
- package/dest/node/random/browser/index.d.ts.map +1 -0
- package/dest/node/random/browser/index.js +31 -0
- package/dest/node/random/index.d.ts +2 -0
- package/dest/node/random/index.d.ts.map +1 -0
- package/dest/{random → node/random}/index.js +1 -1
- package/dest/node/random/node/index.d.ts +2 -0
- package/dest/node/random/node/index.d.ts.map +1 -0
- package/dest/node/random/node/index.js +5 -0
- package/dest/node/retry/index.d.ts +26 -0
- package/dest/node/retry/index.d.ts.map +1 -0
- package/dest/node/retry/index.js +50 -0
- package/dest/node-cjs/async_map/index.d.ts +10 -0
- package/dest/node-cjs/async_map/index.d.ts.map +1 -0
- package/dest/node-cjs/async_map/index.js +19 -0
- package/dest/node-cjs/barretenberg/backend.d.ts +93 -0
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.js +359 -0
- 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 +2 -0
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/blake2s.test.js +59 -0
- package/dest/node-cjs/barretenberg/index.d.ts +65 -0
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/index.js +193 -0
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/pedersen.test.js +64 -0
- 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 +2 -0
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
- 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 +45 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +128 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +12 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +8 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +22 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +11 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +75 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +201 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +12 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +8 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +22 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +12 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +45 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +40 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +39 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +57 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +21 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +65 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +31 -0
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +5 -0
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/index.js +18 -0
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/index.test.js +41 -0
- 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 +29 -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 +200 -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 +237 -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 +288 -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 +3 -0
- package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
- package/dest/node-cjs/benchmark/index.js +29 -0
- package/dest/node-cjs/benchmark/timer.d.ts +34 -0
- package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
- package/dest/node-cjs/benchmark/timer.js +46 -0
- 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 +8 -0
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generate.js +175 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts +1130 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/api_types.js +2889 -0
- package/dest/node-cjs/cbind/generated/async.d.ts +60 -0
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/async.js +647 -0
- 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 +60 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/sync.js +596 -0
- 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 +43 -0
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/node-cjs/crs/browser/cached_net_crs.js +100 -0
- package/dest/node-cjs/crs/browser/index.d.ts +2 -0
- package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/crs/browser/index.js +7 -0
- package/dest/node-cjs/crs/index.d.ts +2 -0
- package/dest/node-cjs/crs/index.d.ts.map +1 -0
- package/dest/node-cjs/crs/index.js +7 -0
- package/dest/node-cjs/crs/net_crs.d.ts +75 -0
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
- package/dest/node-cjs/crs/net_crs.js +170 -0
- package/dest/node-cjs/crs/net_crs.test.d.ts +2 -0
- package/dest/node-cjs/crs/net_crs.test.d.ts.map +1 -0
- package/dest/node-cjs/crs/net_crs.test.js +41 -0
- package/dest/node-cjs/crs/node/index.d.ts +38 -0
- package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
- package/dest/node-cjs/crs/node/index.js +112 -0
- package/dest/node-cjs/index.d.ts +9 -0
- package/dest/node-cjs/index.d.ts.map +1 -0
- package/dest/node-cjs/index.js +41 -0
- package/dest/node-cjs/package.json +3 -0
- package/dest/node-cjs/proof/index.d.ts +21 -0
- package/dest/node-cjs/proof/index.d.ts.map +1 -0
- package/dest/node-cjs/proof/index.js +72 -0
- package/dest/node-cjs/random/browser/index.d.ts +2 -0
- package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/random/browser/index.js +35 -0
- package/dest/node-cjs/random/index.d.ts +2 -0
- package/dest/node-cjs/random/index.d.ts.map +1 -0
- package/dest/node-cjs/random/index.js +5 -0
- package/dest/node-cjs/random/node/index.d.ts +2 -0
- package/dest/node-cjs/random/node/index.d.ts.map +1 -0
- package/dest/node-cjs/random/node/index.js +8 -0
- package/dest/node-cjs/retry/index.d.ts +26 -0
- package/dest/node-cjs/retry/index.d.ts.map +1 -0
- package/dest/node-cjs/retry/index.js +55 -0
- package/package.json +59 -46
- package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +156 -0
- package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +40 -0
- package/src/barretenberg/backend.test.ts +122 -0
- package/src/barretenberg/backend.ts +438 -0
- package/src/barretenberg/blake2s.test.ts +69 -0
- package/src/barretenberg/index.ts +220 -0
- package/src/barretenberg/pedersen.test.ts +69 -0
- package/src/barretenberg/poseidon.bench.test.ts +271 -0
- package/src/barretenberg/poseidon.test.ts +39 -0
- package/src/barretenberg/testing/bigint-buffer.ts +43 -0
- package/src/barretenberg/testing/fields.ts +63 -0
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +137 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +9 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +6 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +19 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +10 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +72 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +251 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +9 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +6 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +19 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +12 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +48 -0
- package/src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts +3 -0
- package/src/barretenberg_wasm/fetch_code/browser/barretenberg.ts +3 -0
- package/src/barretenberg_wasm/fetch_code/browser/index.ts +34 -0
- package/src/barretenberg_wasm/fetch_code/index.ts +1 -0
- package/src/barretenberg_wasm/fetch_code/node/index.ts +34 -0
- package/src/barretenberg_wasm/fetch_code/wasm-module.d.ts +4 -0
- package/src/barretenberg_wasm/helpers/browser/index.ts +54 -0
- package/src/barretenberg_wasm/helpers/index.ts +1 -0
- package/src/barretenberg_wasm/helpers/node/index.ts +62 -0
- package/src/barretenberg_wasm/index.test.ts +46 -0
- package/src/barretenberg_wasm/index.ts +21 -1
- 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 +214 -0
- package/src/bb_backends/node/native_shm_async.ts +262 -0
- package/src/bb_backends/node/native_socket.ts +328 -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/benchmark/index.ts +26 -0
- package/src/benchmark/timer.ts +45 -0
- package/src/bin/index.ts +14 -0
- package/src/cbind/README.md +1 -0
- package/src/cbind/generate.ts +201 -0
- 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/browser/cached_net_crs.ts +41 -1
- package/src/crs/browser/index.ts +1 -1
- package/src/crs/index.ts +1 -1
- package/src/crs/net_crs.test.ts +47 -0
- package/src/crs/net_crs.ts +145 -19
- package/src/crs/node/index.ts +95 -26
- package/src/index.html +1 -1
- package/src/index.ts +47 -5
- package/src/proof/index.ts +94 -0
- package/src/random/browser/index.ts +1 -1
- package/src/retry/index.ts +50 -0
- package/dest/async_map/index.d.ts.map +0 -1
- package/dest/barretenberg-threads.wasm +0 -0
- package/dest/barretenberg.wasm +0 -0
- package/dest/barretenberg_api/blake2s.test.d.ts +0 -2
- package/dest/barretenberg_api/blake2s.test.d.ts.map +0 -1
- package/dest/barretenberg_api/blake2s.test.js +0 -30
- package/dest/barretenberg_api/common.test.d.ts +0 -2
- package/dest/barretenberg_api/common.test.d.ts.map +0 -1
- package/dest/barretenberg_api/common.test.js +0 -18
- package/dest/barretenberg_api/index.d.ts +0 -103
- package/dest/barretenberg_api/index.d.ts.map +0 -1
- package/dest/barretenberg_api/index.js +0 -379
- package/dest/barretenberg_api/pedersen.test.d.ts +0 -2
- package/dest/barretenberg_api/pedersen.test.d.ts.map +0 -1
- package/dest/barretenberg_api/pedersen.test.js +0 -69
- package/dest/barretenberg_api/schnorr.test.d.ts +0 -2
- package/dest/barretenberg_api/schnorr.test.d.ts.map +0 -1
- package/dest/barretenberg_api/schnorr.test.js +0 -113
- package/dest/barretenberg_binder/heap_allocator.d.ts +0 -22
- package/dest/barretenberg_binder/heap_allocator.d.ts.map +0 -1
- package/dest/barretenberg_binder/heap_allocator.js +0 -59
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts +0 -22
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
- package/dest/barretenberg_binder/heap_allocator_sync.js +0 -58
- package/dest/barretenberg_binder/index.d.ts +0 -32
- package/dest/barretenberg_binder/index.d.ts.map +0 -1
- package/dest/barretenberg_binder/index.js +0 -73
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts +0 -50
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
- package/dest/barretenberg_wasm/barretenberg_wasm.js +0 -212
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts +0 -2
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
- package/dest/barretenberg_wasm/barretenberg_wasm.test.js +0 -43
- package/dest/barretenberg_wasm/browser/index.d.ts +0 -8
- package/dest/barretenberg_wasm/browser/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/browser/index.js +0 -26
- package/dest/barretenberg_wasm/browser/worker.d.ts +0 -2
- package/dest/barretenberg_wasm/browser/worker.d.ts.map +0 -1
- package/dest/barretenberg_wasm/browser/worker.js +0 -11
- package/dest/barretenberg_wasm/index.d.ts +0 -2
- package/dest/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/index.js +0 -2
- package/dest/barretenberg_wasm/node/index.d.ts +0 -17
- package/dest/barretenberg_wasm/node/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/index.js +0 -40
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts +0 -8
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/node_endpoint.js +0 -28
- package/dest/barretenberg_wasm/node/worker.d.ts +0 -2
- package/dest/barretenberg_wasm/node/worker.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/worker.js +0 -9
- package/dest/barretenberg_wasm.js +0 -2
- package/dest/barretenberg_wasm.js.LICENSE.txt +0 -5
- package/dest/bigint-array/index.d.ts +0 -3
- package/dest/bigint-array/index.d.ts.map +0 -1
- package/dest/bigint-array/index.js +0 -21
- package/dest/bindgen/function_declaration.d.ts +0 -11
- package/dest/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/bindgen/function_declaration.js +0 -2
- package/dest/bindgen/index.d.ts +0 -2
- package/dest/bindgen/index.js +0 -15
- package/dest/bindgen/mappings.d.ts +0 -4
- package/dest/bindgen/mappings.d.ts.map +0 -1
- package/dest/bindgen/mappings.js +0 -63
- package/dest/bindgen/rust.d.ts +0 -2
- package/dest/bindgen/rust.d.ts.map +0 -1
- package/dest/bindgen/rust.js +0 -43
- package/dest/bindgen/to_camel_case.d.ts +0 -2
- package/dest/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/bindgen/to_camel_case.js +0 -11
- package/dest/bindgen/typescript.d.ts +0 -2
- package/dest/bindgen/typescript.d.ts.map +0 -1
- package/dest/bindgen/typescript.js +0 -80
- package/dest/crs/browser/cached_net_crs.d.ts +0 -25
- package/dest/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/crs/browser/cached_net_crs.js +0 -54
- package/dest/crs/browser/index.d.ts +0 -2
- package/dest/crs/browser/index.d.ts.map +0 -1
- package/dest/crs/browser/index.js +0 -2
- package/dest/crs/index.d.ts +0 -2
- package/dest/crs/index.d.ts.map +0 -1
- package/dest/crs/index.js +0 -2
- package/dest/crs/net_crs.d.ts +0 -36
- package/dest/crs/net_crs.d.ts.map +0 -1
- package/dest/crs/net_crs.js +0 -59
- package/dest/crs/node/ignition_files_crs.d.ts +0 -37
- package/dest/crs/node/ignition_files_crs.d.ts.map +0 -1
- package/dest/crs/node/ignition_files_crs.js +0 -51
- package/dest/crs/node/index.d.ts +0 -21
- package/dest/crs/node/index.d.ts.map +0 -1
- package/dest/crs/node/index.js +0 -54
- package/dest/examples/simple.rawtest.d.ts +0 -2
- package/dest/examples/simple.rawtest.d.ts.map +0 -1
- package/dest/examples/simple.rawtest.js +0 -29
- package/dest/examples/simple.test.d.ts +0 -2
- package/dest/examples/simple.test.d.ts.map +0 -1
- package/dest/examples/simple.test.js +0 -22
- package/dest/factory/index.d.ts +0 -21
- package/dest/factory/index.d.ts.map +0 -1
- package/dest/factory/index.js +0 -34
- package/dest/index.d.ts +0 -6
- package/dest/index.d.ts.map +0 -1
- package/dest/index.html +0 -1
- package/dest/index.js +0 -6
- package/dest/main.d.ts +0 -10
- package/dest/main.d.ts.map +0 -1
- package/dest/main.js +0 -275
- package/dest/random/browser/index.d.ts +0 -2
- package/dest/random/browser/index.d.ts.map +0 -1
- package/dest/random/browser/index.js +0 -31
- package/dest/random/index.d.ts +0 -2
- package/dest/random/index.d.ts.map +0 -1
- package/dest/random/node/index.d.ts +0 -2
- package/dest/random/node/index.d.ts.map +0 -1
- package/dest/random/node/index.js +0 -5
- package/dest/serialize/buffer_reader.d.ts +0 -28
- package/dest/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.js +0 -66
- package/dest/serialize/index.d.ts +0 -4
- package/dest/serialize/index.d.ts.map +0 -1
- package/dest/serialize/index.js +0 -4
- package/dest/serialize/output_type.d.ts +0 -11
- package/dest/serialize/output_type.d.ts.map +0 -1
- package/dest/serialize/output_type.js +0 -44
- package/dest/serialize/serialize.d.ts +0 -53
- package/dest/serialize/serialize.d.ts.map +0 -1
- package/dest/serialize/serialize.js +0 -139
- package/dest/simple_test.js +0 -2
- package/dest/simple_test.js.LICENSE.txt +0 -14
- package/dest/types/fields.d.ts +0 -33
- package/dest/types/fields.d.ts.map +0 -1
- package/dest/types/fields.js +0 -86
- package/dest/types/fixed_size_buffer.d.ts +0 -26
- package/dest/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/types/fixed_size_buffer.js +0 -54
- package/dest/types/index.d.ts +0 -6
- package/dest/types/index.d.ts.map +0 -1
- package/dest/types/index.js +0 -6
- package/dest/types/point.d.ts +0 -17
- package/dest/types/point.d.ts.map +0 -1
- package/dest/types/point.js +0 -32
- package/dest/types/ptr.d.ts +0 -13
- package/dest/types/ptr.d.ts.map +0 -1
- package/dest/types/ptr.js +0 -20
- package/dest/types/raw_buffer.d.ts +0 -3
- package/dest/types/raw_buffer.d.ts.map +0 -1
- package/dest/types/raw_buffer.js +0 -5
- package/src/barretenberg_api/blake2s.test.ts +0 -39
- package/src/barretenberg_api/common.test.ts +0 -21
- package/src/barretenberg_api/index.ts +0 -649
- package/src/barretenberg_api/pedersen.test.ts +0 -84
- package/src/barretenberg_api/schnorr.test.ts +0 -169
- package/src/barretenberg_binder/heap_allocator.ts +0 -62
- package/src/barretenberg_binder/heap_allocator_sync.ts +0 -61
- package/src/barretenberg_binder/index.ts +0 -76
- package/src/barretenberg_wasm/barretenberg_wasm.test.ts +0 -52
- package/src/barretenberg_wasm/barretenberg_wasm.ts +0 -246
- package/src/barretenberg_wasm/browser/index.ts +0 -32
- package/src/barretenberg_wasm/browser/worker.ts +0 -13
- package/src/barretenberg_wasm/node/index.ts +0 -46
- package/src/barretenberg_wasm/node/worker.ts +0 -10
- package/src/bigint-array/index.ts +0 -21
- package/src/bindgen/function_declaration.ts +0 -11
- package/src/bindgen/index.ts +0 -17
- package/src/bindgen/mappings.ts +0 -66
- package/src/bindgen/rust.ts +0 -52
- package/src/bindgen/to_camel_case.ts +0 -10
- package/src/bindgen/typescript.ts +0 -91
- package/src/crs/node/ignition_files_crs.ts +0 -60
- package/src/examples/simple.rawtest.ts +0 -37
- package/src/examples/simple.test.ts +0 -27
- package/src/factory/index.ts +0 -36
- package/src/main.ts +0 -311
- package/src/serialize/buffer_reader.ts +0 -82
- 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 -98
- package/src/types/fixed_size_buffer.ts +0 -59
- package/src/types/index.ts +0 -5
- package/src/types/point.ts +0 -35
- package/src/types/ptr.ts +0 -20
- package/src/types/raw_buffer.ts +0 -3
- /package/src/barretenberg_wasm/{node → helpers/node}/node_endpoint.ts +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import pako from 'pako';
|
|
2
|
+
|
|
3
|
+
// Annoyingly the wasm declares if it's memory is shared or not. So now we need two wasms if we want to be
|
|
4
|
+
// able to fallback on "non shared memory" situations.
|
|
5
|
+
export async function fetchCode(multithreaded: boolean, wasmPath?: string) {
|
|
6
|
+
let url: string;
|
|
7
|
+
if (wasmPath) {
|
|
8
|
+
const suffix = multithreaded ? '-threads' : '';
|
|
9
|
+
const filePath = wasmPath.split('/').slice(0, -1).join('/');
|
|
10
|
+
const fileNameWithExtensions = wasmPath.split('/').pop();
|
|
11
|
+
const [fileName, ...extensions] = fileNameWithExtensions!.split('.');
|
|
12
|
+
url = `${filePath}/${fileName}${suffix}.${extensions.join('.')}`;
|
|
13
|
+
} else {
|
|
14
|
+
url = multithreaded
|
|
15
|
+
? (await import('./barretenberg-threads.js')).default
|
|
16
|
+
: (await import('./barretenberg.js')).default;
|
|
17
|
+
}
|
|
18
|
+
const res = await fetch(url);
|
|
19
|
+
// Default bb wasm is compressed, but user could point it to a non-compressed version
|
|
20
|
+
const maybeCompressedData = await res.arrayBuffer();
|
|
21
|
+
const buffer = new Uint8Array(maybeCompressedData);
|
|
22
|
+
const isGzip =
|
|
23
|
+
// Check magic number
|
|
24
|
+
buffer[0] === 0x1f &&
|
|
25
|
+
buffer[1] === 0x8b &&
|
|
26
|
+
// Check compression method:
|
|
27
|
+
buffer[2] === 0x08;
|
|
28
|
+
if (isGzip) {
|
|
29
|
+
const decompressedData = pako.ungzip(buffer);
|
|
30
|
+
return decompressedData.buffer as unknown as Uint8Array<ArrayBuffer>;
|
|
31
|
+
} else {
|
|
32
|
+
return buffer;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './node/index.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { readFile } from 'fs/promises';
|
|
2
|
+
import { dirname } from 'path';
|
|
3
|
+
import { fileURLToPath } from 'url';
|
|
4
|
+
import pako from 'pako';
|
|
5
|
+
|
|
6
|
+
function getCurrentDir() {
|
|
7
|
+
if (typeof __dirname !== 'undefined') {
|
|
8
|
+
return __dirname;
|
|
9
|
+
} else {
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
11
|
+
// @ts-ignore
|
|
12
|
+
return dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
+
export async function fetchCode(multithreaded: boolean, wasmPath?: string) {
|
|
18
|
+
const path = wasmPath ?? getCurrentDir() + '/../../barretenberg-threads.wasm.gz';
|
|
19
|
+
// Default bb wasm is compressed, but user could point it to a non-compressed version
|
|
20
|
+
const maybeCompressedData = await readFile(path);
|
|
21
|
+
const buffer = new Uint8Array(maybeCompressedData);
|
|
22
|
+
const isGzip =
|
|
23
|
+
// Check magic number
|
|
24
|
+
buffer[0] === 0x1f &&
|
|
25
|
+
buffer[1] === 0x8b &&
|
|
26
|
+
// Check compression method:
|
|
27
|
+
buffer[2] === 0x08;
|
|
28
|
+
if (isGzip) {
|
|
29
|
+
const decompressedData = pako.ungzip(buffer);
|
|
30
|
+
return decompressedData.buffer as unknown as Uint8Array<ArrayBuffer>;
|
|
31
|
+
} else {
|
|
32
|
+
return buffer;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { wrap } from 'comlink';
|
|
2
|
+
|
|
3
|
+
export function getSharedMemoryAvailable() {
|
|
4
|
+
const globalScope = typeof window !== 'undefined' ? window : globalThis;
|
|
5
|
+
return typeof SharedArrayBuffer !== 'undefined' && globalScope.crossOriginIsolated;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function getRemoteBarretenbergWasm<T>(worker: Worker) {
|
|
9
|
+
return wrap<T>(worker);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function getNumCpu() {
|
|
13
|
+
return navigator.hardwareConcurrency;
|
|
14
|
+
}
|
|
15
|
+
|
|
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
|
|
24
|
+
return console.log;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function killSelf() {
|
|
28
|
+
self.close();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function getAvailableThreads(logger: (msg: string) => void): number {
|
|
32
|
+
if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
|
|
33
|
+
return navigator.hardwareConcurrency;
|
|
34
|
+
} else {
|
|
35
|
+
logger(`Could not detect environment to query number of threads. Falling back to one thread.`);
|
|
36
|
+
return 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Solution to async initialization of workers, taken from
|
|
41
|
+
// https://github.com/GoogleChromeLabs/comlink/issues/635#issuecomment-1598913044
|
|
42
|
+
|
|
43
|
+
/** The message expected by the `readinessListener`. */
|
|
44
|
+
export const Ready = { ready: true };
|
|
45
|
+
|
|
46
|
+
/** Listen for the readiness message from the Worker and call the `callback` once. */
|
|
47
|
+
export function readinessListener(worker: Worker, callback: () => void) {
|
|
48
|
+
worker.addEventListener('message', function ready(event: MessageEvent<typeof Ready>) {
|
|
49
|
+
if (!!event.data && event.data.ready === true) {
|
|
50
|
+
worker.removeEventListener('message', ready);
|
|
51
|
+
callback();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './node/index.js';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Worker, parentPort } from 'worker_threads';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import { wrap } from 'comlink';
|
|
4
|
+
import { nodeEndpoint } from './node_endpoint.js';
|
|
5
|
+
import { writeSync } from 'fs';
|
|
6
|
+
|
|
7
|
+
export function getSharedMemoryAvailable() {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Comlink allows you to produce a Proxy to the worker, enabling you to call methods as if it were a normal class.
|
|
13
|
+
* Note we give it the type information it needs so the returned Proxy object looks like that type.
|
|
14
|
+
* Node has a different implementation, needing this nodeEndpoint wrapper, hence this function exists here.
|
|
15
|
+
*/
|
|
16
|
+
export function getRemoteBarretenbergWasm<T>(worker: Worker) {
|
|
17
|
+
return wrap<T>(nodeEndpoint(worker));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Returns number of cpus as reported by the system, unless overriden by HARDWARE_CONCURRENCY env var.
|
|
22
|
+
*/
|
|
23
|
+
export function getNumCpu() {
|
|
24
|
+
return +process.env.HARDWARE_CONCURRENCY! || os.cpus().length;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
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.
|
|
31
|
+
*/
|
|
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
|
|
41
|
+
return (msg: string) => {
|
|
42
|
+
writeSync(1, msg + '\n');
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export function killSelf(): never {
|
|
47
|
+
// Extordinarily hard process termination. Due to how parent threads block on child threads etc, even process.exit
|
|
48
|
+
// doesn't seem to be able to abort the process. The following does.
|
|
49
|
+
process.kill(process.pid);
|
|
50
|
+
throw new Error();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function getAvailableThreads(logger: (msg: string) => void): number {
|
|
54
|
+
try {
|
|
55
|
+
return os.cpus().length;
|
|
56
|
+
} catch (e: any) {
|
|
57
|
+
logger(
|
|
58
|
+
`Could not detect environment to query number of threads. Falling back to one thread. Error: ${e.message ?? e}`,
|
|
59
|
+
);
|
|
60
|
+
return 1;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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';
|
|
6
|
+
|
|
7
|
+
describe('barretenberg wasm', () => {
|
|
8
|
+
let wasm: BarretenbergWasmMainWorker;
|
|
9
|
+
let worker: Worker;
|
|
10
|
+
|
|
11
|
+
beforeAll(async () => {
|
|
12
|
+
worker = await createMainWorker();
|
|
13
|
+
wasm = getRemoteBarretenbergWasm<BarretenbergWasmMainWorker>(worker);
|
|
14
|
+
const { module, threads } = await fetchModuleAndThreads(2);
|
|
15
|
+
await wasm.init(module, threads);
|
|
16
|
+
}, 20000);
|
|
17
|
+
|
|
18
|
+
afterAll(async () => {
|
|
19
|
+
await wasm.destroy();
|
|
20
|
+
await worker.terminate();
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('should new malloc, transfer and slice mem', async () => {
|
|
24
|
+
const length = 1024;
|
|
25
|
+
const ptr = await wasm.call('bbmalloc', length);
|
|
26
|
+
const buf = Buffer.alloc(length, 128);
|
|
27
|
+
await wasm.writeMemory(ptr, Uint8Array.from(buf));
|
|
28
|
+
const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
|
|
29
|
+
await wasm.call('bbfree', ptr);
|
|
30
|
+
expect(result).toStrictEqual(buf);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('test abort', async () => {
|
|
34
|
+
await expect(() => wasm.call('test_abort')).rejects.toThrow();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('should new malloc, transfer and slice mem', async () => {
|
|
38
|
+
const length = 1024;
|
|
39
|
+
const ptr = await wasm.call('bbmalloc', length);
|
|
40
|
+
const buf = Buffer.alloc(length, 128);
|
|
41
|
+
await wasm.writeMemory(ptr, Uint8Array.from(buf));
|
|
42
|
+
const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
|
|
43
|
+
await wasm.call('bbfree', ptr);
|
|
44
|
+
expect(result).toStrictEqual(buf);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -1 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import { getSharedMemoryAvailable, getAvailableThreads } from './helpers/node/index.js';
|
|
2
|
+
import { fetchCode } from './fetch_code/index.js';
|
|
3
|
+
|
|
4
|
+
export async function fetchModuleAndThreads(
|
|
5
|
+
desiredThreads = 32,
|
|
6
|
+
wasmPath?: string,
|
|
7
|
+
logger: (msg: string) => void = () => {},
|
|
8
|
+
) {
|
|
9
|
+
const shared = getSharedMemoryAvailable();
|
|
10
|
+
|
|
11
|
+
const availableThreads = shared ? await getAvailableThreads(logger) : 1;
|
|
12
|
+
// We limit the number of threads to 32 as we do not benefit from greater numbers.
|
|
13
|
+
const limitedThreads = Math.min(desiredThreads, availableThreads, 32);
|
|
14
|
+
|
|
15
|
+
logger(`Fetching bb wasm from ${wasmPath ?? 'default location'}`);
|
|
16
|
+
const code = await fetchCode(shared, wasmPath);
|
|
17
|
+
logger(`Compiling bb wasm of ${code.byteLength} bytes`);
|
|
18
|
+
const module = await WebAssembly.compile(code);
|
|
19
|
+
logger('Compilation of bb wasm complete');
|
|
20
|
+
return { module, threads: limitedThreads };
|
|
21
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { spawn, ChildProcess } from 'child_process';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import { IMsgpackBackendSync, IMsgpackBackendAsync } from '../interface.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Asynchronous native backend that communicates with bb binary via stdin/stdout.
|
|
7
|
+
* Uses event-based I/O with a state machine to handle partial reads.
|
|
8
|
+
*
|
|
9
|
+
* Protocol:
|
|
10
|
+
* - Request: 4-byte little-endian length + msgpack buffer
|
|
11
|
+
* - Response: 4-byte little-endian length + msgpack buffer
|
|
12
|
+
*/
|
|
13
|
+
export class BarretenbergNativePipeAsyncBackend implements IMsgpackBackendAsync {
|
|
14
|
+
private process: ChildProcess;
|
|
15
|
+
private pendingResolve: ((data: Uint8Array) => void) | null = null;
|
|
16
|
+
private pendingReject: ((error: Error) => void) | null = null;
|
|
17
|
+
|
|
18
|
+
// State machine for reading responses
|
|
19
|
+
private readingLength: boolean = true;
|
|
20
|
+
private lengthBuffer: Buffer = Buffer.alloc(4);
|
|
21
|
+
private lengthBytesRead: number = 0;
|
|
22
|
+
private responseLength: number = 0;
|
|
23
|
+
private responseBuffer: Buffer | null = null;
|
|
24
|
+
private responseBytesRead: number = 0;
|
|
25
|
+
|
|
26
|
+
constructor(bbBinaryPath: string) {
|
|
27
|
+
this.process = spawn(bbBinaryPath, ['msgpack', 'run'], {
|
|
28
|
+
stdio: ['pipe', 'pipe', 'inherit'],
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
this.process.stdout!.on('data', (chunk: Buffer) => {
|
|
32
|
+
this.handleData(chunk);
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
this.process.on('error', err => {
|
|
36
|
+
if (this.pendingReject) {
|
|
37
|
+
this.pendingReject(new Error(`Native backend process error: ${err.message}`));
|
|
38
|
+
this.pendingReject = null;
|
|
39
|
+
this.pendingResolve = null;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
this.process.on('exit', (code, signal) => {
|
|
44
|
+
if (this.pendingReject) {
|
|
45
|
+
if (code !== null && code !== 0) {
|
|
46
|
+
this.pendingReject(new Error(`Native backend process exited with code ${code}`));
|
|
47
|
+
} else if (signal) {
|
|
48
|
+
if (signal != 'SIGTERM') {
|
|
49
|
+
this.pendingReject(new Error(`Native backend process killed with signal ${signal}`));
|
|
50
|
+
}
|
|
51
|
+
} else {
|
|
52
|
+
this.pendingReject(new Error('Native backend process exited unexpectedly'));
|
|
53
|
+
}
|
|
54
|
+
this.pendingReject = null;
|
|
55
|
+
this.pendingResolve = null;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
private handleData(chunk: Buffer): void {
|
|
61
|
+
let offset = 0;
|
|
62
|
+
|
|
63
|
+
while (offset < chunk.length) {
|
|
64
|
+
if (this.readingLength) {
|
|
65
|
+
// Reading 4-byte length prefix
|
|
66
|
+
const bytesToCopy = Math.min(4 - this.lengthBytesRead, chunk.length - offset);
|
|
67
|
+
chunk.copy(this.lengthBuffer, this.lengthBytesRead, offset, offset + bytesToCopy);
|
|
68
|
+
this.lengthBytesRead += bytesToCopy;
|
|
69
|
+
offset += bytesToCopy;
|
|
70
|
+
|
|
71
|
+
if (this.lengthBytesRead === 4) {
|
|
72
|
+
// Length is complete, switch to reading data
|
|
73
|
+
this.responseLength = this.lengthBuffer.readUInt32LE(0);
|
|
74
|
+
this.responseBuffer = Buffer.alloc(this.responseLength);
|
|
75
|
+
this.responseBytesRead = 0;
|
|
76
|
+
this.readingLength = false;
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
// Reading response data
|
|
80
|
+
const bytesToCopy = Math.min(this.responseLength - this.responseBytesRead, chunk.length - offset);
|
|
81
|
+
chunk.copy(this.responseBuffer!, this.responseBytesRead, offset, offset + bytesToCopy);
|
|
82
|
+
this.responseBytesRead += bytesToCopy;
|
|
83
|
+
offset += bytesToCopy;
|
|
84
|
+
|
|
85
|
+
if (this.responseBytesRead === this.responseLength) {
|
|
86
|
+
// Response is complete
|
|
87
|
+
if (this.pendingResolve) {
|
|
88
|
+
this.pendingResolve(new Uint8Array(this.responseBuffer!));
|
|
89
|
+
this.pendingResolve = null;
|
|
90
|
+
this.pendingReject = null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Reset state for next message
|
|
94
|
+
this.readingLength = true;
|
|
95
|
+
this.lengthBytesRead = 0;
|
|
96
|
+
this.responseLength = 0;
|
|
97
|
+
this.responseBuffer = null;
|
|
98
|
+
this.responseBytesRead = 0;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
async call(inputBuffer: Uint8Array): Promise<Uint8Array> {
|
|
105
|
+
if (this.pendingResolve) {
|
|
106
|
+
throw new Error('Cannot call while another call is pending (no pipelining supported)');
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
this.pendingResolve = resolve;
|
|
111
|
+
this.pendingReject = reject;
|
|
112
|
+
|
|
113
|
+
// Write request: 4-byte little-endian length + msgpack data
|
|
114
|
+
const lengthBuf = Buffer.alloc(4);
|
|
115
|
+
lengthBuf.writeUInt32LE(inputBuffer.length, 0);
|
|
116
|
+
this.process.stdin!.write(lengthBuf);
|
|
117
|
+
this.process.stdin!.write(inputBuffer);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
async destroy(): Promise<void> {
|
|
122
|
+
this.process.kill();
|
|
123
|
+
return new Promise(resolve => {
|
|
124
|
+
this.process.once('exit', () => resolve());
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|