@aztec/bb.js 3.0.0-nightly.20251030 → 3.0.0-nightly.20251031
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/dest/browser/async_map/index.d.ts +10 -0
- package/dest/browser/async_map/index.d.ts.map +1 -0
- package/dest/browser/async_map/index.js +16 -0
- package/dest/browser/barretenberg/backend.d.ts +75 -0
- package/dest/browser/barretenberg/backend.d.ts.map +1 -0
- package/dest/browser/barretenberg/backend.js +301 -0
- package/dest/browser/barretenberg/index.d.ts +67 -0
- package/dest/browser/barretenberg/index.d.ts.map +1 -0
- package/dest/browser/barretenberg/index.js +191 -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 +125 -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 +11 -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 +12 -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 +70 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -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 +170 -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 +11 -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 +12 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -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 +40 -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 +40 -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 +16 -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/index.d.ts +45 -0
- package/dest/browser/bb_backends/index.d.ts.map +1 -0
- package/dest/browser/bb_backends/index.js +15 -0
- package/dest/browser/bb_backends/interface.d.ts +33 -0
- package/dest/browser/bb_backends/interface.d.ts.map +1 -0
- package/dest/browser/bb_backends/interface.js +2 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +15 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.js +20 -0
- package/dest/browser/bb_backends/wasm.d.ts +49 -0
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
- package/dest/browser/bb_backends/wasm.js +83 -0
- package/dest/browser/bbapi_exception.d.ts +7 -0
- package/dest/browser/bbapi_exception.d.ts.map +1 -0
- package/dest/browser/bbapi_exception.js +14 -0
- package/dest/browser/bigint-array/index.d.ts +17 -0
- package/dest/browser/bigint-array/index.d.ts.map +1 -0
- package/dest/browser/bigint-array/index.js +37 -0
- package/dest/browser/cbind/generate.d.ts +5 -0
- package/dest/browser/cbind/generate.d.ts.map +1 -0
- package/dest/browser/cbind/generate.js +151 -0
- package/dest/browser/cbind/generated/api_types.d.ts +2051 -0
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/browser/cbind/generated/api_types.js +2747 -0
- package/dest/browser/cbind/generated/async.d.ts +62 -0
- package/dest/browser/cbind/generated/async.d.ts.map +1 -0
- package/dest/browser/cbind/generated/async.js +662 -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 +62 -0
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
- package/dest/browser/cbind/generated/sync.js +609 -0
- package/dest/browser/cbind/schema_compiler.d.ts +68 -0
- package/dest/browser/cbind/schema_compiler.d.ts.map +1 -0
- package/dest/browser/cbind/schema_compiler.js +599 -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 +90 -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 +85 -0
- package/dest/browser/crs/net_crs.d.ts.map +1 -0
- package/dest/browser/crs/net_crs.js +136 -0
- package/dest/browser/index.d.ts +8 -0
- package/dest/browser/index.d.ts.map +1 -0
- package/dest/browser/index.js +8 -0
- package/dest/browser/log/browser/index.d.ts +6 -0
- package/dest/browser/log/browser/index.d.ts.map +1 -0
- package/dest/browser/log/browser/index.js +28 -0
- package/dest/browser/log/index.d.ts +2 -0
- package/dest/browser/log/index.d.ts.map +1 -0
- package/dest/browser/log/index.js +2 -0
- package/dest/browser/log/types.d.ts +6 -0
- package/dest/browser/log/types.d.ts.map +1 -0
- package/dest/browser/log/types.js +2 -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/browser/serialize/index.d.ts +2 -0
- package/dest/browser/serialize/index.d.ts.map +1 -0
- package/dest/browser/serialize/index.js +2 -0
- package/dest/browser/serialize/serialize.d.ts +18 -0
- package/dest/browser/serialize/serialize.d.ts.map +1 -0
- package/dest/browser/serialize/serialize.js +72 -0
- package/dest/browser/types/fields.d.ts +23 -0
- package/dest/browser/types/fields.d.ts.map +1 -0
- package/dest/browser/types/fields.js +61 -0
- package/dest/browser/types/index.d.ts +3 -0
- package/dest/browser/types/index.d.ts.map +1 -0
- package/dest/browser/types/index.js +3 -0
- package/dest/browser/types/point.d.ts +18 -0
- package/dest/browser/types/point.d.ts.map +1 -0
- package/dest/browser/types/point.js +28 -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 +75 -0
- package/dest/node/barretenberg/backend.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.js +301 -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 +67 -0
- package/dest/node/barretenberg/index.d.ts.map +1 -0
- package/dest/node/barretenberg/index.js +191 -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 +217 -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_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 +125 -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 +11 -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 +12 -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 +21 -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 +16 -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 +70 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -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 +170 -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 +11 -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 +12 -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 +21 -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 +16 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -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 +40 -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 +40 -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 +22 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.js +48 -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 +16 -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/index.d.ts +45 -0
- package/dest/node/bb_backends/index.d.ts.map +1 -0
- package/dest/node/bb_backends/index.js +15 -0
- package/dest/node/bb_backends/interface.d.ts +33 -0
- package/dest/node/bb_backends/interface.d.ts.map +1 -0
- package/dest/node/bb_backends/interface.js +2 -0
- package/dest/node/bb_backends/node/index.d.ts +11 -0
- package/dest/node/bb_backends/node/index.d.ts.map +1 -0
- package/dest/node/bb_backends/node/index.js +80 -0
- package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
- package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_pipe.js +113 -0
- package/dest/node/bb_backends/node/native_shm.d.ts +28 -0
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm.js +150 -0
- package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_socket.js +269 -0
- package/dest/node/bb_backends/node/platform.d.ts +27 -0
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
- package/dest/node/bb_backends/node/platform.js +124 -0
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts +15 -0
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
- package/dest/node/bb_backends/sync_to_async_adapter.js +20 -0
- package/dest/node/bb_backends/wasm.d.ts +49 -0
- package/dest/node/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node/bb_backends/wasm.js +83 -0
- package/dest/node/bbapi_exception.d.ts +7 -0
- package/dest/node/bbapi_exception.d.ts.map +1 -0
- package/dest/node/bbapi_exception.js +14 -0
- package/dest/node/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 +41 -0
- package/dest/node/bigint-array/index.d.ts +17 -0
- package/dest/node/bigint-array/index.d.ts.map +1 -0
- package/dest/node/bigint-array/index.js +37 -0
- package/dest/node/cbind/generate.d.ts +5 -0
- package/dest/node/cbind/generate.d.ts.map +1 -0
- package/dest/node/cbind/generate.js +151 -0
- package/dest/node/cbind/generated/api_types.d.ts +2051 -0
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/node/cbind/generated/api_types.js +2747 -0
- package/dest/node/cbind/generated/async.d.ts +62 -0
- package/dest/node/cbind/generated/async.d.ts.map +1 -0
- package/dest/node/cbind/generated/async.js +662 -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 +62 -0
- package/dest/node/cbind/generated/sync.d.ts.map +1 -0
- package/dest/node/cbind/generated/sync.js +609 -0
- package/dest/node/cbind/schema_compiler.d.ts +68 -0
- package/dest/node/cbind/schema_compiler.d.ts.map +1 -0
- package/dest/node/cbind/schema_compiler.js +599 -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 +90 -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 +85 -0
- package/dest/node/crs/net_crs.d.ts.map +1 -0
- package/dest/node/crs/net_crs.js +136 -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 +102 -0
- package/dest/node/index.d.ts +8 -0
- package/dest/node/index.d.ts.map +1 -0
- package/dest/node/index.js +8 -0
- package/dest/node/log/browser/index.d.ts +6 -0
- package/dest/node/log/browser/index.d.ts.map +1 -0
- package/dest/node/log/browser/index.js +28 -0
- package/dest/node/log/index.d.ts +2 -0
- package/dest/node/log/index.d.ts.map +1 -0
- package/dest/node/log/index.js +2 -0
- package/dest/node/log/node/index.d.ts +6 -0
- package/dest/node/log/node/index.d.ts.map +1 -0
- package/dest/node/log/node/index.js +40 -0
- package/dest/node/log/types.d.ts +6 -0
- package/dest/node/log/types.d.ts.map +1 -0
- package/dest/node/log/types.js +2 -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/node/random/index.js +2 -0
- 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/serialize/index.d.ts +2 -0
- package/dest/node/serialize/index.d.ts.map +1 -0
- package/dest/node/serialize/index.js +2 -0
- package/dest/node/serialize/serialize.d.ts +18 -0
- package/dest/node/serialize/serialize.d.ts.map +1 -0
- package/dest/node/serialize/serialize.js +72 -0
- package/dest/node/types/fields.d.ts +23 -0
- package/dest/node/types/fields.d.ts.map +1 -0
- package/dest/node/types/fields.js +61 -0
- package/dest/node/types/index.d.ts +3 -0
- package/dest/node/types/index.d.ts.map +1 -0
- package/dest/node/types/index.js +3 -0
- package/dest/node/types/point.d.ts +18 -0
- package/dest/node/types/point.d.ts.map +1 -0
- package/dest/node/types/point.js +28 -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 +75 -0
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.js +308 -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 +67 -0
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/index.js +200 -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 +219 -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_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 +129 -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 +14 -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 +14 -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 +24 -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 +18 -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 +74 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -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 +174 -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 +14 -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 +14 -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 +24 -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 +18 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -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 +44 -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 +50 -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 +22 -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 +57 -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 +19 -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/index.d.ts +45 -0
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/index.js +18 -0
- package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
- package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/interface.js +3 -0
- package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/index.js +84 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.js +117 -0
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_shm.js +154 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_socket.js +274 -0
- package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/platform.js +131 -0
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +15 -0
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +24 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/wasm.js +88 -0
- package/dest/node-cjs/bbapi_exception.d.ts +7 -0
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
- package/dest/node-cjs/bbapi_exception.js +18 -0
- package/dest/node-cjs/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 +45 -0
- package/dest/node-cjs/bigint-array/index.d.ts +17 -0
- package/dest/node-cjs/bigint-array/index.d.ts.map +1 -0
- package/dest/node-cjs/bigint-array/index.js +43 -0
- package/dest/node-cjs/cbind/generate.d.ts +5 -0
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generate.js +153 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts +2051 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/api_types.js +2989 -0
- package/dest/node-cjs/cbind/generated/async.d.ts +62 -0
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/async.js +666 -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 +62 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/sync.js +613 -0
- package/dest/node-cjs/cbind/schema_compiler.d.ts +68 -0
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -0
- package/dest/node-cjs/cbind/schema_compiler.js +606 -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 +95 -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 +85 -0
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
- package/dest/node-cjs/crs/net_crs.js +141 -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 +107 -0
- package/dest/node-cjs/index.d.ts +8 -0
- package/dest/node-cjs/index.d.ts.map +1 -0
- package/dest/node-cjs/index.js +37 -0
- package/dest/node-cjs/log/browser/index.d.ts +6 -0
- package/dest/node-cjs/log/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/log/browser/index.js +30 -0
- package/dest/node-cjs/log/index.d.ts +2 -0
- package/dest/node-cjs/log/index.d.ts.map +1 -0
- package/dest/node-cjs/log/index.js +8 -0
- package/dest/node-cjs/log/node/index.d.ts +6 -0
- package/dest/node-cjs/log/node/index.d.ts.map +1 -0
- package/dest/node-cjs/log/node/index.js +42 -0
- package/dest/node-cjs/log/types.d.ts +6 -0
- package/dest/node-cjs/log/types.d.ts.map +1 -0
- package/dest/node-cjs/log/types.js +3 -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/dest/node-cjs/serialize/index.d.ts +2 -0
- package/dest/node-cjs/serialize/index.d.ts.map +1 -0
- package/dest/node-cjs/serialize/index.js +5 -0
- package/dest/node-cjs/serialize/serialize.d.ts +18 -0
- package/dest/node-cjs/serialize/serialize.d.ts.map +1 -0
- package/dest/node-cjs/serialize/serialize.js +82 -0
- package/dest/node-cjs/types/fields.d.ts +23 -0
- package/dest/node-cjs/types/fields.d.ts.map +1 -0
- package/dest/node-cjs/types/fields.js +65 -0
- package/dest/node-cjs/types/index.d.ts +3 -0
- package/dest/node-cjs/types/index.d.ts.map +1 -0
- package/dest/node-cjs/types/index.js +6 -0
- package/dest/node-cjs/types/point.d.ts +18 -0
- package/dest/node-cjs/types/point.d.ts.map +1 -0
- package/dest/node-cjs/types/point.js +32 -0
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BarretenbergWasmBase = void 0;
|
|
4
|
+
const index_js_1 = require("../../log/index.js");
|
|
5
|
+
const index_js_2 = require("../../random/index.js");
|
|
6
|
+
/**
|
|
7
|
+
* Base implementation of BarretenbergWasm.
|
|
8
|
+
* Contains code that is common to the "main thread" implementation and the "child thread" implementation.
|
|
9
|
+
*/
|
|
10
|
+
class BarretenbergWasmBase {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.memStore = {};
|
|
13
|
+
this.logger = (0, index_js_1.createDebugLogger)('bb_wasm_base');
|
|
14
|
+
}
|
|
15
|
+
getImportObj(memory) {
|
|
16
|
+
/* eslint-disable camelcase */
|
|
17
|
+
const importObj = {
|
|
18
|
+
// We need to implement a part of the wasi api:
|
|
19
|
+
// https://github.com/WebAssembly/WASI/blob/main/phases/snapshot/docs.md
|
|
20
|
+
// We literally only need to support random_get, everything else is noop implementated in barretenberg.wasm.
|
|
21
|
+
wasi_snapshot_preview1: {
|
|
22
|
+
random_get: (out, length) => {
|
|
23
|
+
out = out >>> 0;
|
|
24
|
+
const randomData = (0, index_js_2.randomBytes)(length);
|
|
25
|
+
const mem = this.getMemory();
|
|
26
|
+
mem.set(randomData, out);
|
|
27
|
+
},
|
|
28
|
+
clock_time_get: (a1, a2, out) => {
|
|
29
|
+
out = out >>> 0;
|
|
30
|
+
const ts = BigInt(new Date().getTime()) * 1000000n;
|
|
31
|
+
const view = new DataView(this.getMemory().buffer);
|
|
32
|
+
view.setBigUint64(out, ts, true);
|
|
33
|
+
},
|
|
34
|
+
proc_exit: () => {
|
|
35
|
+
this.logger('PANIC: proc_exit was called.');
|
|
36
|
+
throw new Error();
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
// These are functions implementations for imports we've defined are needed.
|
|
40
|
+
// The native C++ build defines these in a module called "env". We must implement TypeScript versions here.
|
|
41
|
+
env: {
|
|
42
|
+
/**
|
|
43
|
+
* The 'info' call we use for logging in C++, calls this under the hood.
|
|
44
|
+
* The native code will just print to std:err (to avoid std::cout which is used for IPC).
|
|
45
|
+
* Here we just emit the log line for the client to decide what to do with.
|
|
46
|
+
*/
|
|
47
|
+
logstr: (addr) => {
|
|
48
|
+
const str = this.stringFromAddress(addr);
|
|
49
|
+
const m = this.getMemory();
|
|
50
|
+
const str2 = `${str} (mem: ${(m.length / (1024 * 1024)).toFixed(2)}MiB)`;
|
|
51
|
+
this.logger(str2);
|
|
52
|
+
},
|
|
53
|
+
throw_or_abort_impl: (addr) => {
|
|
54
|
+
const str = this.stringFromAddress(addr);
|
|
55
|
+
throw new Error(str);
|
|
56
|
+
},
|
|
57
|
+
get_data: (keyAddr, outBufAddr) => {
|
|
58
|
+
const key = this.stringFromAddress(keyAddr);
|
|
59
|
+
outBufAddr = outBufAddr >>> 0;
|
|
60
|
+
const data = this.memStore[key];
|
|
61
|
+
if (!data) {
|
|
62
|
+
this.logger(`get_data miss ${key}`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// this.logger(`get_data hit ${key} size: ${data.length} dest: ${outBufAddr}`);
|
|
66
|
+
// this.logger(Buffer.from(data.slice(0, 64)).toString('hex'));
|
|
67
|
+
this.writeMemory(outBufAddr, data);
|
|
68
|
+
},
|
|
69
|
+
set_data: (keyAddr, dataAddr, dataLength) => {
|
|
70
|
+
const key = this.stringFromAddress(keyAddr);
|
|
71
|
+
dataAddr = dataAddr >>> 0;
|
|
72
|
+
this.memStore[key] = this.getMemorySlice(dataAddr, dataAddr + dataLength);
|
|
73
|
+
// this.logger(`set_data: ${key} length: ${dataLength}`);
|
|
74
|
+
},
|
|
75
|
+
memory,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
/* eslint-enable camelcase */
|
|
79
|
+
return importObj;
|
|
80
|
+
}
|
|
81
|
+
exports() {
|
|
82
|
+
return this.instance.exports;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* When returning values from the WASM, use >>> operator to convert signed representation to unsigned representation.
|
|
86
|
+
*/
|
|
87
|
+
call(name, ...args) {
|
|
88
|
+
if (!this.exports()[name]) {
|
|
89
|
+
throw new Error(`WASM function ${name} not found.`);
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
return this.exports()[name](...args) >>> 0;
|
|
93
|
+
}
|
|
94
|
+
catch (err) {
|
|
95
|
+
const message = `WASM function ${name} aborted, error: ${err}`;
|
|
96
|
+
this.logger(message);
|
|
97
|
+
this.logger(err.stack);
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
memSize() {
|
|
102
|
+
return this.getMemory().length;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Returns a copy of the data, not a view.
|
|
106
|
+
*/
|
|
107
|
+
getMemorySlice(start, end) {
|
|
108
|
+
return this.getMemory().subarray(start, end).slice();
|
|
109
|
+
}
|
|
110
|
+
writeMemory(offset, arr) {
|
|
111
|
+
const mem = this.getMemory();
|
|
112
|
+
mem.set(arr, offset);
|
|
113
|
+
}
|
|
114
|
+
getMemory() {
|
|
115
|
+
return new Uint8Array(this.memory.buffer);
|
|
116
|
+
}
|
|
117
|
+
// PRIVATE METHODS
|
|
118
|
+
stringFromAddress(addr) {
|
|
119
|
+
addr = addr >>> 0;
|
|
120
|
+
const m = this.getMemory();
|
|
121
|
+
let i = addr;
|
|
122
|
+
for (; m[i] !== 0; ++i)
|
|
123
|
+
;
|
|
124
|
+
const textDecoder = new TextDecoder('ascii');
|
|
125
|
+
return textDecoder.decode(m.slice(addr, i));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.BarretenbergWasmBase = BarretenbergWasmBase;
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBdUQ7QUFDdkQsb0RBQW9EO0FBRXBEOzs7R0FHRztBQUNILE1BQWEsb0JBQW9CO0lBQWpDO1FBQ1ksYUFBUSxHQUFrQyxFQUFFLENBQUM7UUFHN0MsV0FBTSxHQUEwQixJQUFBLDRCQUFpQixFQUFDLGNBQWMsQ0FBQyxDQUFDO0lBOEg5RSxDQUFDO0lBNUhXLFlBQVksQ0FBQyxNQUEwQjtRQUMvQyw4QkFBOEI7UUFDOUIsTUFBTSxTQUFTLEdBQUc7WUFDaEIsK0NBQStDO1lBQy9DLHdFQUF3RTtZQUN4RSw0R0FBNEc7WUFDNUcsc0JBQXNCLEVBQUU7Z0JBQ3RCLFVBQVUsRUFBRSxDQUFDLEdBQVEsRUFBRSxNQUFjLEVBQUUsRUFBRTtvQkFDdkMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7b0JBQ2hCLE1BQU0sVUFBVSxHQUFHLElBQUEsc0JBQVcsRUFBQyxNQUFNLENBQUMsQ0FBQztvQkFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxjQUFjLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEdBQVcsRUFBRSxFQUFFO29CQUN0RCxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztvQkFDaEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7b0JBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxN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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,oBAOrC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMainWorker = createMainWorker;
|
|
4
|
+
const index_js_1 = require("../../../../log/index.js");
|
|
5
|
+
const index_js_2 = require("../../../helpers/browser/index.js");
|
|
6
|
+
async function createMainWorker() {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
const worker = new Worker(new URL('./main.worker.js', ""), { type: 'module' });
|
|
10
|
+
worker.postMessage({ log: index_js_1.logOptions });
|
|
11
|
+
await new Promise(resolve => (0, index_js_2.readinessListener)(worker, resolve));
|
|
12
|
+
return worker;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSw0Q0FPQztBQVZELHVEQUFzRDtBQUN0RCxnRUFBc0U7QUFFL0QsS0FBSyxVQUFVLGdCQUFnQjtJQUNwQyw2REFBNkQ7SUFDN0QsYUFBYTtJQUNiLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLHFCQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFBLDRCQUFpQixFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
|
package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const comlink_1 = require("comlink");
|
|
4
|
+
const index_js_1 = require("../../index.js");
|
|
5
|
+
const index_js_2 = require("../../../helpers/browser/index.js");
|
|
6
|
+
const index_js_3 = require("../../../../log/browser/index.js");
|
|
7
|
+
addEventListener('message', e => {
|
|
8
|
+
if (e.data.log) {
|
|
9
|
+
(0, index_js_3.initLogger)(e.data.log);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
(0, comlink_1.expose)(new index_js_1.BarretenbergWasmMain());
|
|
13
|
+
postMessage(index_js_2.Ready);
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L2Jyb3dzZXIvbWFpbi53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBaUM7QUFDakMsNkNBQXNEO0FBQ3RELGdFQUEwRDtBQUMxRCwrREFBOEQ7QUFFOUQsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQzlCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNmLElBQUEscUJBQVUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsZ0JBQU0sRUFBQyxJQUFJLCtCQUFvQixFQUFFLENBQUMsQ0FBQztBQUNuQyxXQUFXLENBQUMsZ0JBQUssQ0FBQyxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAexC,wBAAgB,gBAAgB,oBAK/B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMainWorker = createMainWorker;
|
|
4
|
+
const worker_threads_1 = require("worker_threads");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const url_1 = require("url");
|
|
7
|
+
const index_js_1 = require("../../../../log/index.js");
|
|
8
|
+
function getCurrentDir() {
|
|
9
|
+
if (typeof __dirname !== 'undefined') {
|
|
10
|
+
return __dirname;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
return (0, path_1.dirname)((0, url_1.fileURLToPath)(""));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function createMainWorker() {
|
|
19
|
+
const __dirname = getCurrentDir();
|
|
20
|
+
const worker = new worker_threads_1.Worker(__dirname + `/main.worker.js`);
|
|
21
|
+
worker.postMessage({ log: index_js_1.logOptions });
|
|
22
|
+
return Promise.resolve(worker);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSw0Q0FLQztBQXBCRCxtREFBd0M7QUFDeEMsK0JBQStCO0FBQy9CLDZCQUFvQztBQUNwQyx1REFBc0Q7QUFFdEQsU0FBUyxhQUFhO0lBQ3BCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTiw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLE9BQU8sSUFBQSxjQUFPLEVBQUMsSUFBQSxtQkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGdCQUFnQjtJQUM5QixNQUFNLFNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxJQUFJLHVCQUFNLENBQUMsU0FBUyxHQUFHLGlCQUFpQixDQUFDLENBQUM7SUFDekQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxxQkFBVSxFQUFFLENBQUMsQ0FBQztJQUN4QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDakMsQ0FBQyJ9
|
package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const worker_threads_1 = require("worker_threads");
|
|
4
|
+
const comlink_1 = require("comlink");
|
|
5
|
+
const index_js_1 = require("../../index.js");
|
|
6
|
+
const node_endpoint_js_1 = require("../../../helpers/node/node_endpoint.js");
|
|
7
|
+
const index_js_2 = require("../../../../log/node/index.js");
|
|
8
|
+
if (!worker_threads_1.parentPort) {
|
|
9
|
+
throw new Error('No parentPort');
|
|
10
|
+
}
|
|
11
|
+
const endpoint = (0, node_endpoint_js_1.nodeEndpoint)(worker_threads_1.parentPort);
|
|
12
|
+
endpoint.addEventListener('message', (e) => {
|
|
13
|
+
if (e.data.log) {
|
|
14
|
+
(0, index_js_2.initLogger)(e.data.log);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
(0, comlink_1.expose)(new index_js_1.BarretenbergWasmMain(), (0, node_endpoint_js_1.nodeEndpoint)(worker_threads_1.parentPort));
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L25vZGUvbWFpbi53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBNEM7QUFDNUMscUNBQWlDO0FBQ2pDLDZDQUFzRDtBQUN0RCw2RUFBc0U7QUFDdEUsNERBQTJEO0FBRTNELElBQUksQ0FBQywyQkFBVSxFQUFFLENBQUM7SUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSwrQkFBWSxFQUFDLDJCQUFVLENBQUMsQ0FBQztBQUUxQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7SUFDOUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2YsSUFBQSxxQkFBVSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUgsSUFBQSxnQkFBTSxFQUFDLElBQUksK0JBQW9CLEVBQUUsRUFBRSxJQUFBLCtCQUFZLEVBQUMsMkJBQVUsQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type BarretenbergWasmMain } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Keeps track of heap allocations so they can be easily freed.
|
|
4
|
+
* The WASM memory layout has 1024 bytes of unused "scratch" space at the start (addresses 0-1023).
|
|
5
|
+
* We can leverage this for IO rather than making expensive bb_malloc bb_free calls.
|
|
6
|
+
* Heap allocations will be created for input/output args that don't fit into the scratch space.
|
|
7
|
+
* Input scratch grows UP from 0, output scratch grows DOWN from 1024, meeting in the middle.
|
|
8
|
+
* This maximizes space utilization while preventing overlap.
|
|
9
|
+
*/
|
|
10
|
+
export declare class HeapAllocator {
|
|
11
|
+
private wasm;
|
|
12
|
+
private allocs;
|
|
13
|
+
private inScratchPtr;
|
|
14
|
+
private outScratchPtr;
|
|
15
|
+
constructor(wasm: BarretenbergWasmMain);
|
|
16
|
+
getInputs(buffers: (Uint8Array | number)[]): number[];
|
|
17
|
+
getOutputPtrs(outLens: (number | undefined)[]): number[];
|
|
18
|
+
addOutputPtr(ptr: number): void;
|
|
19
|
+
freeAll(): void;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=heap_allocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heap_allocator.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAQ;gBAET,IAAI,EAAE,oBAAoB;IAE9C,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE;IAuB1C,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAmB7C,YAAY,CAAC,GAAG,EAAE,MAAM;IAOxB,OAAO;CAKR"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HeapAllocator = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Keeps track of heap allocations so they can be easily freed.
|
|
6
|
+
* The WASM memory layout has 1024 bytes of unused "scratch" space at the start (addresses 0-1023).
|
|
7
|
+
* We can leverage this for IO rather than making expensive bb_malloc bb_free calls.
|
|
8
|
+
* Heap allocations will be created for input/output args that don't fit into the scratch space.
|
|
9
|
+
* Input scratch grows UP from 0, output scratch grows DOWN from 1024, meeting in the middle.
|
|
10
|
+
* This maximizes space utilization while preventing overlap.
|
|
11
|
+
*/
|
|
12
|
+
class HeapAllocator {
|
|
13
|
+
constructor(wasm) {
|
|
14
|
+
this.wasm = wasm;
|
|
15
|
+
this.allocs = [];
|
|
16
|
+
this.inScratchPtr = 0; // Next input starts here, grows UP
|
|
17
|
+
this.outScratchPtr = 1024; // Next output ends here, grows DOWN
|
|
18
|
+
}
|
|
19
|
+
getInputs(buffers) {
|
|
20
|
+
return buffers.map(bufOrNum => {
|
|
21
|
+
if (typeof bufOrNum === 'object') {
|
|
22
|
+
const size = bufOrNum.length;
|
|
23
|
+
// Check if there's room in scratch space (inputs grow up, outputs grow down)
|
|
24
|
+
if (this.inScratchPtr + size <= this.outScratchPtr) {
|
|
25
|
+
const ptr = this.inScratchPtr;
|
|
26
|
+
this.inScratchPtr += size; // Grow UP
|
|
27
|
+
this.wasm.writeMemory(ptr, bufOrNum);
|
|
28
|
+
return ptr;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
// Fall back to heap allocation
|
|
32
|
+
const ptr = this.wasm.call('bbmalloc', size);
|
|
33
|
+
this.wasm.writeMemory(ptr, bufOrNum);
|
|
34
|
+
this.allocs.push(ptr);
|
|
35
|
+
return ptr;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return bufOrNum;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
getOutputPtrs(outLens) {
|
|
44
|
+
return outLens.map(len => {
|
|
45
|
+
// If the obj is variable length, we need a 4 byte ptr to write the serialized data address to.
|
|
46
|
+
// WARNING: 4 only works with WASM as it has 32 bit memory.
|
|
47
|
+
const size = len || 4;
|
|
48
|
+
// Check if there's room in scratch space (inputs grow up, outputs grow down)
|
|
49
|
+
if (this.inScratchPtr + size <= this.outScratchPtr) {
|
|
50
|
+
this.outScratchPtr -= size; // Grow DOWN
|
|
51
|
+
return this.outScratchPtr;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// Fall back to heap allocation
|
|
55
|
+
const ptr = this.wasm.call('bbmalloc', size);
|
|
56
|
+
this.allocs.push(ptr);
|
|
57
|
+
return ptr;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
addOutputPtr(ptr) {
|
|
62
|
+
// Only add to dealloc list if it's a heap allocation (not in scratch space 0-1023)
|
|
63
|
+
if (ptr >= 1024) {
|
|
64
|
+
this.allocs.push(ptr);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
freeAll() {
|
|
68
|
+
for (const ptr of this.allocs) {
|
|
69
|
+
this.wasm.call('bbfree', ptr);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.HeapAllocator = HeapAllocator;
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhcF9hbGxvY2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9oZWFwX2FsbG9jYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7Ozs7OztHQU9HO0FBQ0gsTUFBYSxhQUFhO0lBS3hCLFlBQW9CLElBQTBCO1FBQTFCLFNBQUksR0FBSixJQUFJLENBQXNCO1FBSnRDLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsaUJBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUM7UUFDckQsa0JBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxvQ0FBb0M7SUFFakIsQ0FBQztJQUVsRCxTQUFTLENBQUMsT0FBZ0M7UUFDeEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzVCLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQzdCLDZFQUE2RTtnQkFDN0UsSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ25ELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7b0JBQzlCLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVTtvQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUNyQyxPQUFPLEdBQUcsQ0FBQztnQkFDYixDQUFDO3FCQUFNLENBQUM7b0JBQ04sK0JBQStCO29CQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RCLE9BQU8sR0FBRyxDQUFDO2dCQUNiLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUErQjtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsK0ZBQStGO1lBQy9GLDJEQUEyRDtZQUMzRCxNQUFNLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRXRCLDZFQUE2RTtZQUM3RSxJQUFJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDbkQsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxZQUFZO2dCQUN4QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLCtCQUErQjtnQkFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEIsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQVc7UUFDdEIsbUZBQW1GO1FBQ25GLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBN0RELHNDQTZEQyJ9
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Remote } from 'comlink';
|
|
2
|
+
import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* This is the "main thread" implementation of BarretenbergWasm.
|
|
5
|
+
* It spawns a bunch of "child thread" implementations.
|
|
6
|
+
* In a browser context, this still runs on a worker, as it will block waiting on child threads.
|
|
7
|
+
*/
|
|
8
|
+
export declare class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
9
|
+
static MAX_THREADS: number;
|
|
10
|
+
private workers;
|
|
11
|
+
private remoteWasms;
|
|
12
|
+
private nextWorker;
|
|
13
|
+
private nextThreadId;
|
|
14
|
+
private msgpackInputScratch;
|
|
15
|
+
private msgpackOutputScratch;
|
|
16
|
+
private readonly MSGPACK_SCRATCH_SIZE;
|
|
17
|
+
getNumThreads(): number;
|
|
18
|
+
/**
|
|
19
|
+
* Init as main thread. Spawn child threads.
|
|
20
|
+
*/
|
|
21
|
+
init(module: WebAssembly.Module, threads?: number, logger?: (msg: string) => void, initial?: number, maximum?: number): Promise<void>;
|
|
22
|
+
private getDefaultMaximumMemoryPages;
|
|
23
|
+
/**
|
|
24
|
+
* Called on main thread. Signals child threads to gracefully exit.
|
|
25
|
+
*/
|
|
26
|
+
destroy(): Promise<void>;
|
|
27
|
+
protected getImportObj(memory: WebAssembly.Memory): {
|
|
28
|
+
wasi: {
|
|
29
|
+
'thread-spawn': (arg: number) => number;
|
|
30
|
+
};
|
|
31
|
+
env: {
|
|
32
|
+
env_hardware_concurrency: () => number;
|
|
33
|
+
logstr: (addr: number) => void;
|
|
34
|
+
throw_or_abort_impl: (addr: number) => never;
|
|
35
|
+
get_data: (keyAddr: number, outBufAddr: number) => void;
|
|
36
|
+
set_data: (keyAddr: number, dataAddr: number, dataLength: number) => void;
|
|
37
|
+
memory: WebAssembly.Memory;
|
|
38
|
+
};
|
|
39
|
+
wasi_snapshot_preview1: {
|
|
40
|
+
random_get: (out: any, length: number) => void;
|
|
41
|
+
clock_time_get: (a1: number, a2: number, out: number) => void;
|
|
42
|
+
proc_exit: () => never;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
callWasmExport(funcName: string, inArgs: (Uint8Array | number)[], outLens: (number | undefined)[]): Uint8Array<ArrayBuffer>[];
|
|
46
|
+
private getOutputArgs;
|
|
47
|
+
cbindCall(cbind: string, inputBuffer: Uint8Array): any;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The comlink type that asyncifies the BarretenbergWasmMain api.
|
|
51
|
+
*/
|
|
52
|
+
export type BarretenbergWasmMainWorker = Remote<BarretenbergWasmMain>;
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAI1E;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,WAAW,SAAM;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;IAEjD,aAAa;IAIpB;;OAEG;IACU,IAAI,CACf,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,OAAO,SAA0D,EACjE,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAmC,EAC5D,OAAO,SAAK,EACZ,OAAO,SAAsC;IAwC/C,OAAO,CAAC,4BAA4B;IASpC;;OAEG;IACU,OAAO;IAIpB,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;kCAOrB,MAAM;;;;;;;;;;;;;;;;IAsBlC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAUjG,OAAO,CAAC,aAAa;IAmBrB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,GAAG,GAAG;CA4DvD;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BarretenbergWasmMain = void 0;
|
|
4
|
+
const index_js_1 = require("../helpers/index.js");
|
|
5
|
+
const index_js_2 = require("../barretenberg_wasm_thread/factory/node/index.js");
|
|
6
|
+
const index_js_3 = require("../barretenberg_wasm_base/index.js");
|
|
7
|
+
const heap_allocator_js_1 = require("./heap_allocator.js");
|
|
8
|
+
const index_js_4 = require("../../log/index.js");
|
|
9
|
+
/**
|
|
10
|
+
* This is the "main thread" implementation of BarretenbergWasm.
|
|
11
|
+
* It spawns a bunch of "child thread" implementations.
|
|
12
|
+
* In a browser context, this still runs on a worker, as it will block waiting on child threads.
|
|
13
|
+
*/
|
|
14
|
+
class BarretenbergWasmMain extends index_js_3.BarretenbergWasmBase {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.workers = [];
|
|
18
|
+
this.remoteWasms = [];
|
|
19
|
+
this.nextWorker = 0;
|
|
20
|
+
this.nextThreadId = 1;
|
|
21
|
+
// Pre-allocated scratch buffers for msgpack I/O to avoid malloc/free overhead
|
|
22
|
+
this.msgpackInputScratch = 0; // 8MB input buffer
|
|
23
|
+
this.msgpackOutputScratch = 0; // 8MB output buffer
|
|
24
|
+
this.MSGPACK_SCRATCH_SIZE = 1024 * 1024 * 8; // 8MB
|
|
25
|
+
}
|
|
26
|
+
getNumThreads() {
|
|
27
|
+
return this.workers.length + 1;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Init as main thread. Spawn child threads.
|
|
31
|
+
*/
|
|
32
|
+
async init(module, threads = Math.min((0, index_js_1.getNumCpu)(), BarretenbergWasmMain.MAX_THREADS), logger = (0, index_js_4.createDebugLogger)('bb_wasm'), initial = 33, maximum = this.getDefaultMaximumMemoryPages()) {
|
|
33
|
+
this.logger = logger;
|
|
34
|
+
const initialMb = (initial * 2 ** 16) / (1024 * 1024);
|
|
35
|
+
const maxMb = (maximum * 2 ** 16) / (1024 * 1024);
|
|
36
|
+
const shared = (0, index_js_1.getSharedMemoryAvailable)();
|
|
37
|
+
this.logger(`Initializing bb wasm: initial memory ${initial} pages ${initialMb}MiB; ` +
|
|
38
|
+
`max memory: ${maximum} pages, ${maxMb}MiB; ` +
|
|
39
|
+
`threads: ${threads}; shared memory: ${shared}`);
|
|
40
|
+
this.memory = new WebAssembly.Memory({ initial, maximum, shared });
|
|
41
|
+
const instance = await WebAssembly.instantiate(module, this.getImportObj(this.memory));
|
|
42
|
+
this.instance = instance;
|
|
43
|
+
// Init all global/static data.
|
|
44
|
+
this.call('_initialize');
|
|
45
|
+
// Allocate dedicated msgpack scratch buffers (never freed, reused for all msgpack calls)
|
|
46
|
+
this.msgpackInputScratch = this.call('bbmalloc', this.MSGPACK_SCRATCH_SIZE);
|
|
47
|
+
this.msgpackOutputScratch = this.call('bbmalloc', this.MSGPACK_SCRATCH_SIZE);
|
|
48
|
+
this.logger(`Allocated msgpack scratch buffers: ` +
|
|
49
|
+
`input @ ${this.msgpackInputScratch}, output @ ${this.msgpackOutputScratch} (${this.MSGPACK_SCRATCH_SIZE} bytes each)`);
|
|
50
|
+
// Create worker threads. Create 1 less than requested, as main thread counts as a thread.
|
|
51
|
+
if (threads > 1) {
|
|
52
|
+
this.logger(`Creating ${threads} worker threads`);
|
|
53
|
+
this.workers = await Promise.all(Array.from({ length: threads - 1 }).map(index_js_2.createThreadWorker));
|
|
54
|
+
this.remoteWasms = await Promise.all(this.workers.map((index_js_1.getRemoteBarretenbergWasm)));
|
|
55
|
+
await Promise.all(this.remoteWasms.map(w => w.initThread(module, this.memory)));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getDefaultMaximumMemoryPages() {
|
|
59
|
+
// iOS browser is very aggressive with memory. Check if running in browser and on iOS
|
|
60
|
+
// We at any rate expect the mobile iOS browser to kill us >=1GB, so we don't set a maximum higher than that.
|
|
61
|
+
if (typeof window !== 'undefined' && /iPad|iPhone/.test(navigator.userAgent)) {
|
|
62
|
+
return 2 ** 14;
|
|
63
|
+
}
|
|
64
|
+
return 2 ** 16;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Called on main thread. Signals child threads to gracefully exit.
|
|
68
|
+
*/
|
|
69
|
+
async destroy() {
|
|
70
|
+
await Promise.all(this.workers.map(w => w.terminate()));
|
|
71
|
+
}
|
|
72
|
+
getImportObj(memory) {
|
|
73
|
+
const baseImports = super.getImportObj(memory);
|
|
74
|
+
/* eslint-disable camelcase */
|
|
75
|
+
return {
|
|
76
|
+
...baseImports,
|
|
77
|
+
wasi: {
|
|
78
|
+
'thread-spawn': (arg) => {
|
|
79
|
+
arg = arg >>> 0;
|
|
80
|
+
const id = this.nextThreadId++;
|
|
81
|
+
const worker = this.nextWorker++ % this.remoteWasms.length;
|
|
82
|
+
// this.logger(`spawning thread ${id} on worker ${worker} with arg ${arg >>> 0}`);
|
|
83
|
+
this.remoteWasms[worker].call('wasi_thread_start', id, arg).catch(this.logger);
|
|
84
|
+
// this.remoteWasms[worker].postMessage({ msg: 'thread', data: { id, arg } });
|
|
85
|
+
return id;
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
env: {
|
|
89
|
+
...baseImports.env,
|
|
90
|
+
env_hardware_concurrency: () => {
|
|
91
|
+
// If there are no workers (we're already running as a worker, or the main thread requested no workers)
|
|
92
|
+
// then we return 1, which should cause any algos using threading to just not create a thread.
|
|
93
|
+
return this.remoteWasms.length + 1;
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
/* eslint-enable camelcase */
|
|
98
|
+
}
|
|
99
|
+
callWasmExport(funcName, inArgs, outLens) {
|
|
100
|
+
const alloc = new heap_allocator_js_1.HeapAllocator(this);
|
|
101
|
+
const inPtrs = alloc.getInputs(inArgs);
|
|
102
|
+
const outPtrs = alloc.getOutputPtrs(outLens);
|
|
103
|
+
this.call(funcName, ...inPtrs, ...outPtrs);
|
|
104
|
+
const outArgs = this.getOutputArgs(outLens, outPtrs, alloc);
|
|
105
|
+
alloc.freeAll();
|
|
106
|
+
return outArgs;
|
|
107
|
+
}
|
|
108
|
+
getOutputArgs(outLens, outPtrs, alloc) {
|
|
109
|
+
return outLens.map((len, i) => {
|
|
110
|
+
if (len) {
|
|
111
|
+
return this.getMemorySlice(outPtrs[i], outPtrs[i] + len);
|
|
112
|
+
}
|
|
113
|
+
const slice = this.getMemorySlice(outPtrs[i], outPtrs[i] + 4);
|
|
114
|
+
const ptr = new DataView(slice.buffer, slice.byteOffset, slice.byteLength).getUint32(0, true);
|
|
115
|
+
// Add our heap buffer to the dealloc list.
|
|
116
|
+
alloc.addOutputPtr(ptr);
|
|
117
|
+
// The length will be found in the first 4 bytes of the buffer, big endian. See to_heap_buffer.
|
|
118
|
+
const lslice = this.getMemorySlice(ptr, ptr + 4);
|
|
119
|
+
const length = new DataView(lslice.buffer, lslice.byteOffset, lslice.byteLength).getUint32(0, false);
|
|
120
|
+
return this.getMemorySlice(ptr + 4, ptr + 4 + length);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
cbindCall(cbind, inputBuffer) {
|
|
124
|
+
const needsCustomInputBuffer = inputBuffer.length > this.MSGPACK_SCRATCH_SIZE;
|
|
125
|
+
let inputPtr;
|
|
126
|
+
if (needsCustomInputBuffer) {
|
|
127
|
+
// Allocate temporary buffer for oversized input
|
|
128
|
+
inputPtr = this.call('bbmalloc', inputBuffer.length);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// Use pre-allocated scratch buffer
|
|
132
|
+
inputPtr = this.msgpackInputScratch;
|
|
133
|
+
}
|
|
134
|
+
// Write input to buffer
|
|
135
|
+
this.writeMemory(inputPtr, inputBuffer);
|
|
136
|
+
// Setup output scratch buffer with IN-OUT parameter pattern:
|
|
137
|
+
// Reserve 8 bytes for metadata (pointer + size), rest is scratch data space
|
|
138
|
+
const METADATA_SIZE = 8;
|
|
139
|
+
const outputPtrLocation = this.msgpackOutputScratch;
|
|
140
|
+
const outputSizeLocation = this.msgpackOutputScratch + 4;
|
|
141
|
+
const scratchDataPtr = this.msgpackOutputScratch + METADATA_SIZE;
|
|
142
|
+
const scratchDataSize = this.MSGPACK_SCRATCH_SIZE - METADATA_SIZE;
|
|
143
|
+
// Get memory and create DataView for writing IN values
|
|
144
|
+
let mem = this.getMemory();
|
|
145
|
+
let view = new DataView(mem.buffer);
|
|
146
|
+
// Write IN values: provide scratch buffer pointer and size to C++
|
|
147
|
+
view.setUint32(outputPtrLocation, scratchDataPtr, true);
|
|
148
|
+
view.setUint32(outputSizeLocation, scratchDataSize, true);
|
|
149
|
+
// Call WASM
|
|
150
|
+
this.call(cbind, inputPtr, inputBuffer.length, outputPtrLocation, outputSizeLocation);
|
|
151
|
+
// Free custom input buffer if allocated
|
|
152
|
+
if (needsCustomInputBuffer) {
|
|
153
|
+
this.call('bbfree', inputPtr);
|
|
154
|
+
}
|
|
155
|
+
// Re-fetch memory after WASM call, as the buffer may have been detached if memory grew
|
|
156
|
+
mem = this.getMemory();
|
|
157
|
+
view = new DataView(mem.buffer);
|
|
158
|
+
// Read OUT values: C++ returns actual buffer pointer and size
|
|
159
|
+
const outputDataPtr = view.getUint32(outputPtrLocation, true);
|
|
160
|
+
const outputSize = view.getUint32(outputSizeLocation, true);
|
|
161
|
+
// Check if C++ used scratch (pointer unchanged) or allocated (pointer changed)
|
|
162
|
+
const usedScratch = outputDataPtr === scratchDataPtr;
|
|
163
|
+
// Copy output data from WASM memory
|
|
164
|
+
const encodedResult = this.getMemorySlice(outputDataPtr, outputDataPtr + outputSize);
|
|
165
|
+
// Only free if C++ allocated beyond scratch
|
|
166
|
+
if (!usedScratch) {
|
|
167
|
+
this.call('bbfree', outputDataPtr);
|
|
168
|
+
}
|
|
169
|
+
return encodedResult;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.BarretenbergWasmMain = BarretenbergWasmMain;
|
|
173
|
+
BarretenbergWasmMain.MAX_THREADS = 32;
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxrREFBcUc7QUFDckcsZ0ZBQXVGO0FBRXZGLGlFQUEwRTtBQUMxRSwyREFBb0Q7QUFDcEQsaURBQXVEO0FBRXZEOzs7O0dBSUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLCtCQUFvQjtJQUE5RDs7UUFFVSxZQUFPLEdBQWEsRUFBRSxDQUFDO1FBQ3ZCLGdCQUFXLEdBQW1DLEVBQUUsQ0FBQztRQUNqRCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFFekIsOEVBQThFO1FBQ3RFLHdCQUFtQixHQUFXLENBQUMsQ0FBQyxDQUFDLG1CQUFtQjtRQUNwRCx5QkFBb0IsR0FBVyxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7UUFDN0MseUJBQW9CLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNO0lBNExqRSxDQUFDO0lBMUxRLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FDZixNQUEwQixFQUMxQixPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFBLG9CQUFTLEdBQUUsRUFBRSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFDakUsU0FBZ0MsSUFBQSw0QkFBaUIsRUFBQyxTQUFTLENBQUMsRUFDNUQsT0FBTyxHQUFHLEVBQUUsRUFDWixPQUFPLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1FBRTdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxHQUFHLENB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
|
package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,oBAOvC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createThreadWorker = createThreadWorker;
|
|
4
|
+
const index_js_1 = require("../../../../log/index.js");
|
|
5
|
+
const index_js_2 = require("../../../helpers/browser/index.js");
|
|
6
|
+
async function createThreadWorker() {
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
const worker = new Worker(new URL('./thread.worker.js', ""), { type: 'module' });
|
|
10
|
+
worker.postMessage({ log: index_js_1.logOptions });
|
|
11
|
+
await new Promise(resolve => (0, index_js_2.readinessListener)(worker, resolve));
|
|
12
|
+
return worker;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fdGhyZWFkL2ZhY3RvcnkvYnJvd3Nlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLGdEQU9DO0FBVkQsdURBQXNEO0FBQ3RELGdFQUFzRTtBQUUvRCxLQUFLLFVBQVUsa0JBQWtCO0lBQ3RDLDZEQUE2RDtJQUM3RCxhQUFhO0lBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUscUJBQVUsRUFBRSxDQUFDLENBQUM7SUFDeEMsTUFBTSxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUEsNEJBQWlCLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdkUsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thread.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts"],"names":[],"mappings":""}
|