@aztec/bb.js 0.87.1 → 0.87.2-nightly.20250523
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 +63 -0
- package/dest/browser/barretenberg/backend.d.ts.map +1 -0
- package/dest/browser/barretenberg/backend.js +236 -0
- package/dest/browser/barretenberg/index.d.ts +53 -0
- package/dest/browser/barretenberg/index.d.ts.map +1 -0
- package/dest/browser/barretenberg/index.js +95 -0
- package/dest/browser/barretenberg/verifier.d.ts +14 -0
- package/dest/browser/barretenberg/verifier.d.ts.map +1 -0
- package/dest/browser/barretenberg/verifier.js +30 -0
- package/dest/browser/barretenberg_api/index.d.ts +109 -0
- package/dest/browser/barretenberg_api/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_api/index.js +699 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +44 -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 +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 +62 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +47 -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 +105 -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 +28 -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/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/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 +6 -0
- package/dest/browser/index.d.ts.map +1 -0
- package/dest/browser/index.js +6 -13285
- 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 +19 -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/buffer_reader.d.ts +28 -0
- package/dest/browser/serialize/buffer_reader.d.ts.map +1 -0
- package/dest/browser/serialize/buffer_reader.js +66 -0
- package/dest/browser/serialize/index.d.ts +4 -0
- package/dest/browser/serialize/index.d.ts.map +1 -0
- package/dest/browser/serialize/index.js +4 -0
- package/dest/browser/serialize/output_type.d.ts +11 -0
- package/dest/browser/serialize/output_type.d.ts.map +1 -0
- package/dest/browser/serialize/output_type.js +44 -0
- package/dest/browser/serialize/serialize.d.ts +53 -0
- package/dest/browser/serialize/serialize.d.ts.map +1 -0
- package/dest/browser/serialize/serialize.js +139 -0
- package/dest/browser/types/fields.d.ts +43 -0
- package/dest/browser/types/fields.d.ts.map +1 -0
- package/dest/browser/types/fields.js +102 -0
- package/dest/browser/types/fixed_size_buffer.d.ts +26 -0
- package/dest/browser/types/fixed_size_buffer.d.ts.map +1 -0
- package/dest/browser/types/fixed_size_buffer.js +51 -0
- package/dest/browser/types/index.d.ts +6 -0
- package/dest/browser/types/index.d.ts.map +1 -0
- package/dest/browser/types/index.js +6 -0
- package/dest/browser/types/point.d.ts +16 -0
- package/dest/browser/types/point.d.ts.map +1 -0
- package/dest/browser/types/point.js +31 -0
- package/dest/browser/types/ptr.d.ts +13 -0
- package/dest/browser/types/ptr.d.ts.map +1 -0
- package/dest/browser/types/ptr.js +19 -0
- package/dest/browser/types/raw_buffer.d.ts +3 -0
- package/dest/browser/types/raw_buffer.d.ts.map +1 -0
- package/dest/browser/types/raw_buffer.js +5 -0
- package/dest/node/barretenberg/backend.d.ts +6 -1
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +24 -14
- package/dest/node/barretenberg/index.js +5 -5
- package/dest/node/barretenberg_api/index.d.ts +15 -6
- package/dest/node/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node/barretenberg_api/index.js +72 -9
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +3 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +4 -8
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +4 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +5 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +8 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +3 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +4 -8
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +4 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +5 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +9 -2
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +3 -3
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +1 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +10 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.js +10 -1
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +1 -1
- package/dest/node/barretenberg_wasm/index.js +4 -19
- package/dest/node/bigint-array/index.d.ts +0 -2
- package/dest/node/bigint-array/index.d.ts.map +1 -1
- package/dest/node/crs/net_crs.d.ts +3 -3
- package/dest/node/crs/node/index.js +6 -6
- package/dest/node/index.d.ts +1 -0
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +2 -1
- 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 +32 -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/main.d.ts.map +1 -1
- package/dest/node/main.js +33 -45
- package/dest/node/random/browser/index.d.ts +1 -1
- package/dest/node/random/browser/index.d.ts.map +1 -1
- package/dest/node/random/node/index.d.ts +1 -1
- package/dest/node/random/node/index.d.ts.map +1 -1
- package/dest/node/serialize/buffer_reader.d.ts +1 -1
- package/dest/node/serialize/serialize.d.ts +12 -12
- package/dest/node/serialize/serialize.d.ts.map +1 -1
- package/dest/node/types/fields.d.ts +2 -4
- package/dest/node/types/fields.d.ts.map +1 -1
- package/dest/node/types/fixed_size_buffer.d.ts +3 -3
- package/dest/node/types/point.d.ts +1 -3
- package/dest/node/types/point.d.ts.map +1 -1
- package/dest/node/types/ptr.d.ts +1 -1
- package/dest/node-cjs/async_map/index.js +2 -3
- package/dest/node-cjs/barretenberg/backend.d.ts +6 -1
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +24 -14
- package/dest/node-cjs/barretenberg/index.js +5 -6
- package/dest/node-cjs/barretenberg_api/index.d.ts +15 -6
- package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_api/index.js +72 -9
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +7 -13
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +4 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +6 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +8 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +3 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +7 -13
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +4 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +6 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +9 -2
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +4 -5
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -3
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +18 -8
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +16 -7
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +2 -3
- package/dest/node-cjs/barretenberg_wasm/index.js +5 -22
- package/dest/node-cjs/benchmark/index.js +2 -3
- package/dest/node-cjs/bigint-array/index.d.ts +0 -2
- package/dest/node-cjs/bigint-array/index.d.ts.map +1 -1
- package/dest/node-cjs/bigint-array/index.js +5 -6
- package/dest/node-cjs/bindgen/mappings.js +4 -4
- package/dest/node-cjs/bindgen/rust.js +2 -3
- package/dest/node-cjs/bindgen/to_camel_case.js +2 -3
- package/dest/node-cjs/bindgen/typescript.js +2 -3
- package/dest/node-cjs/crs/net_crs.d.ts +3 -3
- package/dest/node-cjs/crs/node/index.js +6 -7
- package/dest/node-cjs/index.d.ts +1 -0
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +11 -9
- 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 +34 -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/main.d.ts.map +1 -1
- package/dest/node-cjs/main.js +41 -55
- package/dest/node-cjs/proof/index.js +6 -6
- package/dest/node-cjs/random/browser/index.d.ts +1 -1
- package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/random/node/index.d.ts +1 -1
- package/dest/node-cjs/random/node/index.d.ts.map +1 -1
- package/dest/node-cjs/random/node/index.js +2 -3
- package/dest/node-cjs/retry/index.js +4 -5
- package/dest/node-cjs/serialize/buffer_reader.d.ts +1 -1
- package/dest/node-cjs/serialize/output_type.js +6 -7
- package/dest/node-cjs/serialize/serialize.d.ts +12 -12
- package/dest/node-cjs/serialize/serialize.d.ts.map +1 -1
- package/dest/node-cjs/serialize/serialize.js +20 -21
- package/dest/node-cjs/types/fields.d.ts +2 -4
- package/dest/node-cjs/types/fields.d.ts.map +1 -1
- package/dest/node-cjs/types/fixed_size_buffer.d.ts +3 -3
- package/dest/node-cjs/types/point.d.ts +1 -3
- package/dest/node-cjs/types/point.d.ts.map +1 -1
- package/dest/node-cjs/types/ptr.d.ts +1 -1
- package/package.json +6 -15
- package/src/barretenberg/backend.ts +29 -14
- package/src/barretenberg/index.ts +4 -4
- package/src/barretenberg_api/index.ts +116 -8
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +2 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +3 -7
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +3 -3
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +4 -1
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +9 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +2 -2
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +3 -7
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +3 -3
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +4 -1
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +10 -1
- package/src/barretenberg_wasm/fetch_code/browser/index.ts +3 -3
- package/src/barretenberg_wasm/fetch_code/node/index.ts +1 -1
- package/src/barretenberg_wasm/helpers/browser/index.ts +9 -0
- package/src/barretenberg_wasm/helpers/node/index.ts +11 -0
- package/src/barretenberg_wasm/index.ts +3 -19
- package/src/crs/node/index.ts +5 -5
- package/src/index.ts +1 -0
- package/src/log/browser/index.ts +35 -0
- package/src/log/index.ts +1 -0
- package/src/log/node/index.ts +41 -0
- package/src/log/types.ts +6 -0
- package/src/main.ts +33 -50
- package/dest/browser/barretenberg-threads.js +0 -5
- package/dest/browser/barretenberg.js +0 -5
- package/dest/browser/index.js.LICENSE.txt +0 -16
- package/dest/browser/main.worker.js +0 -1316
- package/dest/browser/main.worker.js.LICENSE.txt +0 -5
- package/dest/browser/thread.worker.js +0 -1200
- package/dest/browser/thread.worker.js.LICENSE.txt +0 -5
|
@@ -408,7 +408,7 @@ export class BarretenbergApi {
|
|
|
408
408
|
return out[0];
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
async
|
|
411
|
+
async acirProveUltraKeccakZkHonk(acirVec: Uint8Array, witnessVec: Uint8Array): Promise<Uint8Array> {
|
|
412
412
|
const inArgs = [acirVec, witnessVec].map(serializeBufferable);
|
|
413
413
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
414
414
|
const result = await this.wasm.callWasmExport(
|
|
@@ -432,6 +432,18 @@ export class BarretenbergApi {
|
|
|
432
432
|
return out[0];
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
+
async acirProveUltraStarknetZkHonk(acirVec: Uint8Array, witnessVec: Uint8Array): Promise<Uint8Array> {
|
|
436
|
+
const inArgs = [acirVec, witnessVec].map(serializeBufferable);
|
|
437
|
+
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
438
|
+
const result = await this.wasm.callWasmExport(
|
|
439
|
+
'acir_prove_ultra_starknet_zk_honk',
|
|
440
|
+
inArgs,
|
|
441
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
442
|
+
);
|
|
443
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
444
|
+
return out[0];
|
|
445
|
+
}
|
|
446
|
+
|
|
435
447
|
async acirVerifyUltraHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): Promise<boolean> {
|
|
436
448
|
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
437
449
|
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
@@ -456,7 +468,7 @@ export class BarretenbergApi {
|
|
|
456
468
|
return out[0];
|
|
457
469
|
}
|
|
458
470
|
|
|
459
|
-
async
|
|
471
|
+
async acirVerifyUltraKeccakZkHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): Promise<boolean> {
|
|
460
472
|
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
461
473
|
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
462
474
|
const result = await this.wasm.callWasmExport(
|
|
@@ -480,6 +492,18 @@ export class BarretenbergApi {
|
|
|
480
492
|
return out[0];
|
|
481
493
|
}
|
|
482
494
|
|
|
495
|
+
async acirVerifyUltraStarknetZkHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): Promise<boolean> {
|
|
496
|
+
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
497
|
+
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
498
|
+
const result = await this.wasm.callWasmExport(
|
|
499
|
+
'acir_verify_ultra_starknet_zk_honk',
|
|
500
|
+
inArgs,
|
|
501
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
502
|
+
);
|
|
503
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
504
|
+
return out[0];
|
|
505
|
+
}
|
|
506
|
+
|
|
483
507
|
async acirWriteVkUltraHonk(acirVec: Uint8Array): Promise<Uint8Array> {
|
|
484
508
|
const inArgs = [acirVec].map(serializeBufferable);
|
|
485
509
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
@@ -504,7 +528,7 @@ export class BarretenbergApi {
|
|
|
504
528
|
return out[0];
|
|
505
529
|
}
|
|
506
530
|
|
|
507
|
-
async
|
|
531
|
+
async acirWriteVkUltraKeccakZkHonk(acirVec: Uint8Array): Promise<Uint8Array> {
|
|
508
532
|
const inArgs = [acirVec].map(serializeBufferable);
|
|
509
533
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
510
534
|
const result = await this.wasm.callWasmExport(
|
|
@@ -528,6 +552,18 @@ export class BarretenbergApi {
|
|
|
528
552
|
return out[0];
|
|
529
553
|
}
|
|
530
554
|
|
|
555
|
+
async acirWriteVkUltraStarknetZkHonk(acirVec: Uint8Array): Promise<Uint8Array> {
|
|
556
|
+
const inArgs = [acirVec].map(serializeBufferable);
|
|
557
|
+
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
558
|
+
const result = await this.wasm.callWasmExport(
|
|
559
|
+
'acir_write_vk_ultra_starknet_zk_honk',
|
|
560
|
+
inArgs,
|
|
561
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
562
|
+
);
|
|
563
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
564
|
+
return out[0];
|
|
565
|
+
}
|
|
566
|
+
|
|
531
567
|
async acirProofAsFieldsUltraHonk(proofBuf: Uint8Array): Promise<Fr[]> {
|
|
532
568
|
const inArgs = [proofBuf].map(serializeBufferable);
|
|
533
569
|
const outTypes: OutputType[] = [VectorDeserializer(Fr)];
|
|
@@ -964,7 +1000,7 @@ export class BarretenbergApiSync {
|
|
|
964
1000
|
return out[0];
|
|
965
1001
|
}
|
|
966
1002
|
|
|
967
|
-
|
|
1003
|
+
acirProveUltraKeccakZkHonk(acirVec: Uint8Array, witnessVec: Uint8Array): Uint8Array {
|
|
968
1004
|
const inArgs = [acirVec, witnessVec].map(serializeBufferable);
|
|
969
1005
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
970
1006
|
const result = this.wasm.callWasmExport(
|
|
@@ -976,11 +1012,23 @@ export class BarretenbergApiSync {
|
|
|
976
1012
|
return out[0];
|
|
977
1013
|
}
|
|
978
1014
|
|
|
979
|
-
|
|
1015
|
+
acirProveUltraStarknetHonk(acirVec: Uint8Array, witnessVec: Uint8Array): Uint8Array {
|
|
980
1016
|
const inArgs = [acirVec, witnessVec].map(serializeBufferable);
|
|
981
1017
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
982
1018
|
const result = this.wasm.callWasmExport(
|
|
983
|
-
'
|
|
1019
|
+
'acir_prove_ultra_starknet_honk',
|
|
1020
|
+
inArgs,
|
|
1021
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
1022
|
+
);
|
|
1023
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
1024
|
+
return out[0];
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
acirProveUltraStarknetZkHonk(acirVec: Uint8Array, witnessVec: Uint8Array): Uint8Array {
|
|
1028
|
+
const inArgs = [acirVec, witnessVec].map(serializeBufferable);
|
|
1029
|
+
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
1030
|
+
const result = this.wasm.callWasmExport(
|
|
1031
|
+
'acir_prove_ultra_starknet_zk_honk',
|
|
984
1032
|
inArgs,
|
|
985
1033
|
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
986
1034
|
);
|
|
@@ -1000,7 +1048,19 @@ export class BarretenbergApiSync {
|
|
|
1000
1048
|
return out[0];
|
|
1001
1049
|
}
|
|
1002
1050
|
|
|
1003
|
-
|
|
1051
|
+
acirVerifyUltraKeccakHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): boolean {
|
|
1052
|
+
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
1053
|
+
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
1054
|
+
const result = this.wasm.callWasmExport(
|
|
1055
|
+
'acir_verify_ultra_keccak_honk',
|
|
1056
|
+
inArgs,
|
|
1057
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
1058
|
+
);
|
|
1059
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
1060
|
+
return out[0];
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
acirVerifyUltraKeccakZkHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): boolean {
|
|
1004
1064
|
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
1005
1065
|
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
1006
1066
|
const result = this.wasm.callWasmExport(
|
|
@@ -1012,6 +1072,30 @@ export class BarretenbergApiSync {
|
|
|
1012
1072
|
return out[0];
|
|
1013
1073
|
}
|
|
1014
1074
|
|
|
1075
|
+
acirVerifyUltraStarknetHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): boolean {
|
|
1076
|
+
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
1077
|
+
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
1078
|
+
const result = this.wasm.callWasmExport(
|
|
1079
|
+
'acir_verify_ultra_starknet_honk',
|
|
1080
|
+
inArgs,
|
|
1081
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
1082
|
+
);
|
|
1083
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
1084
|
+
return out[0];
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
acirVerifyUltraStarknetZkHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): boolean {
|
|
1088
|
+
const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
|
|
1089
|
+
const outTypes: OutputType[] = [BoolDeserializer()];
|
|
1090
|
+
const result = this.wasm.callWasmExport(
|
|
1091
|
+
'acir_verify_ultra_starknet_zk_honk',
|
|
1092
|
+
inArgs,
|
|
1093
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
1094
|
+
);
|
|
1095
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
1096
|
+
return out[0];
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1015
1099
|
acirWriteVkUltraHonk(acirVec: Uint8Array): Uint8Array {
|
|
1016
1100
|
const inArgs = [acirVec].map(serializeBufferable);
|
|
1017
1101
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
@@ -1036,7 +1120,7 @@ export class BarretenbergApiSync {
|
|
|
1036
1120
|
return out[0];
|
|
1037
1121
|
}
|
|
1038
1122
|
|
|
1039
|
-
|
|
1123
|
+
acirWriteVkUltraKeccakZkHonk(acirVec: Uint8Array): Uint8Array {
|
|
1040
1124
|
const inArgs = [acirVec].map(serializeBufferable);
|
|
1041
1125
|
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
1042
1126
|
const result = this.wasm.callWasmExport(
|
|
@@ -1048,6 +1132,30 @@ export class BarretenbergApiSync {
|
|
|
1048
1132
|
return out[0];
|
|
1049
1133
|
}
|
|
1050
1134
|
|
|
1135
|
+
acirWriteVkUltraStarknetHonk(acirVec: Uint8Array): Uint8Array {
|
|
1136
|
+
const inArgs = [acirVec].map(serializeBufferable);
|
|
1137
|
+
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
1138
|
+
const result = this.wasm.callWasmExport(
|
|
1139
|
+
'acir_write_vk_ultra_starknet_honk',
|
|
1140
|
+
inArgs,
|
|
1141
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
1142
|
+
);
|
|
1143
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
1144
|
+
return out[0];
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
acirWriteVkUltraStarknetZkHonk(acirVec: Uint8Array): Uint8Array {
|
|
1148
|
+
const inArgs = [acirVec].map(serializeBufferable);
|
|
1149
|
+
const outTypes: OutputType[] = [BufferDeserializer()];
|
|
1150
|
+
const result = this.wasm.callWasmExport(
|
|
1151
|
+
'acir_write_vk_ultra_starknet_zk_honk',
|
|
1152
|
+
inArgs,
|
|
1153
|
+
outTypes.map(t => t.SIZE_IN_BYTES),
|
|
1154
|
+
);
|
|
1155
|
+
const out = result.map((r, i) => outTypes[i].fromBuffer(r));
|
|
1156
|
+
return out[0];
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1051
1159
|
acirProofAsFieldsUltraHonk(proofBuf: Uint8Array): Fr[] {
|
|
1052
1160
|
const inArgs = [proofBuf].map(serializeBufferable);
|
|
1053
1161
|
const outTypes: OutputType[] = [VectorDeserializer(Fr)];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createDebugLogger } from '../../log/index.js';
|
|
2
2
|
import { randomBytes } from '../../random/index.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -9,7 +9,7 @@ export class BarretenbergWasmBase {
|
|
|
9
9
|
protected memStore: { [key: string]: Uint8Array } = {};
|
|
10
10
|
protected memory!: WebAssembly.Memory;
|
|
11
11
|
protected instance!: WebAssembly.Instance;
|
|
12
|
-
protected logger: (msg: string) => void =
|
|
12
|
+
protected logger: (msg: string) => void = createDebugLogger('bb_wasm_base');
|
|
13
13
|
|
|
14
14
|
protected getImportObj(memory: WebAssembly.Memory) {
|
|
15
15
|
/* eslint-disable camelcase */
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logOptions } from '../../../../log/index.js';
|
|
2
2
|
import { readinessListener } from '../../../helpers/browser/index.js';
|
|
3
3
|
|
|
4
4
|
export async function createMainWorker() {
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
6
|
// @ts-ignore
|
|
7
|
-
const worker = new Worker(new URL(
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
const debugStr = debug.disable();
|
|
11
|
-
debug.enable(debugStr);
|
|
12
|
-
worker.postMessage({ debug: debugStr });
|
|
7
|
+
const worker = new Worker(new URL('./main.worker.js', import.meta.url), { type: 'module' });
|
|
8
|
+
worker.postMessage({ log: logOptions });
|
|
13
9
|
await new Promise<void>(resolve => readinessListener(worker, resolve));
|
|
14
10
|
return worker;
|
|
15
11
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { expose } from 'comlink';
|
|
2
2
|
import { BarretenbergWasmMain } from '../../index.js';
|
|
3
|
-
import debug from 'debug';
|
|
4
3
|
import { Ready } from '../../../helpers/browser/index.js';
|
|
4
|
+
import { initLogger } from '../../../../log/browser/index.js';
|
|
5
5
|
|
|
6
6
|
addEventListener('message', e => {
|
|
7
|
-
if (e.data.
|
|
8
|
-
|
|
7
|
+
if (e.data.log) {
|
|
8
|
+
initLogger(e.data.log);
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Worker } from 'worker_threads';
|
|
2
2
|
import { dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
+
import { logOptions } from '../../../../log/index.js';
|
|
4
5
|
|
|
5
6
|
function getCurrentDir() {
|
|
6
7
|
if (typeof __dirname !== 'undefined') {
|
|
@@ -14,5 +15,7 @@ function getCurrentDir() {
|
|
|
14
15
|
|
|
15
16
|
export function createMainWorker() {
|
|
16
17
|
const __dirname = getCurrentDir();
|
|
17
|
-
|
|
18
|
+
const worker = new Worker(__dirname + `/main.worker.js`);
|
|
19
|
+
worker.postMessage({ log: logOptions });
|
|
20
|
+
return Promise.resolve(worker);
|
|
18
21
|
}
|
|
@@ -2,9 +2,18 @@ import { parentPort } from 'worker_threads';
|
|
|
2
2
|
import { expose } from 'comlink';
|
|
3
3
|
import { BarretenbergWasmMain } from '../../index.js';
|
|
4
4
|
import { nodeEndpoint } from '../../../helpers/node/node_endpoint.js';
|
|
5
|
+
import { initLogger } from '../../../../log/node/index.js';
|
|
5
6
|
|
|
6
7
|
if (!parentPort) {
|
|
7
8
|
throw new Error('No parentPort');
|
|
8
9
|
}
|
|
9
10
|
|
|
11
|
+
const endpoint = nodeEndpoint(parentPort);
|
|
12
|
+
|
|
13
|
+
endpoint.addEventListener('message', (e: any) => {
|
|
14
|
+
if (e.data.log) {
|
|
15
|
+
initLogger(e.data.log);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
10
19
|
expose(new BarretenbergWasmMain(), nodeEndpoint(parentPort));
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type Worker } from 'worker_threads';
|
|
2
|
-
import createDebug from 'debug';
|
|
3
2
|
import { Remote } from 'comlink';
|
|
4
3
|
import { getNumCpu, getRemoteBarretenbergWasm, getSharedMemoryAvailable } from '../helpers/index.js';
|
|
5
4
|
import { createThreadWorker } from '../barretenberg_wasm_thread/factory/node/index.js';
|
|
6
5
|
import { type BarretenbergWasmThreadWorker } from '../barretenberg_wasm_thread/index.js';
|
|
7
6
|
import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
|
|
8
7
|
import { HeapAllocator } from './heap_allocator.js';
|
|
8
|
+
import { createDebugLogger } from '../../log/index.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* This is the "main thread" implementation of BarretenbergWasm.
|
|
@@ -29,7 +29,7 @@ export class BarretenbergWasmMain extends BarretenbergWasmBase {
|
|
|
29
29
|
public async init(
|
|
30
30
|
module: WebAssembly.Module,
|
|
31
31
|
threads = Math.min(getNumCpu(), BarretenbergWasmMain.MAX_THREADS),
|
|
32
|
-
logger: (msg: string) => void =
|
|
32
|
+
logger: (msg: string) => void = createDebugLogger('bb_wasm'),
|
|
33
33
|
initial = 32,
|
|
34
34
|
maximum = 2 ** 16,
|
|
35
35
|
) {
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { logOptions } from '../../../../log/index.js';
|
|
2
2
|
import { readinessListener } from '../../../helpers/browser/index.js';
|
|
3
3
|
|
|
4
4
|
export async function createThreadWorker() {
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6
6
|
// @ts-ignore
|
|
7
|
-
const worker = new Worker(new URL(
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
const debugStr = debug.disable();
|
|
11
|
-
debug.enable(debugStr);
|
|
12
|
-
worker.postMessage({ debug: debugStr });
|
|
7
|
+
const worker = new Worker(new URL('./thread.worker.js', import.meta.url), { type: 'module' });
|
|
8
|
+
worker.postMessage({ log: logOptions });
|
|
13
9
|
await new Promise<void>(resolve => readinessListener(worker, resolve));
|
|
14
10
|
return worker;
|
|
15
11
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { expose } from 'comlink';
|
|
2
2
|
import { BarretenbergWasmThread } from '../../index.js';
|
|
3
|
-
import debug from 'debug';
|
|
4
3
|
import { Ready } from '../../../helpers/browser/index.js';
|
|
4
|
+
import { initLogger } from '../../../../log/browser/index.js';
|
|
5
5
|
|
|
6
6
|
addEventListener('message', e => {
|
|
7
|
-
if (e.data.
|
|
8
|
-
|
|
7
|
+
if (e.data.log) {
|
|
8
|
+
initLogger(e.data.log);
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Worker } from 'worker_threads';
|
|
2
2
|
import { dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
|
+
import { logOptions } from '../../../../log/index.js';
|
|
4
5
|
|
|
5
6
|
function getCurrentDir() {
|
|
6
7
|
if (typeof __dirname !== 'undefined') {
|
|
@@ -14,5 +15,7 @@ function getCurrentDir() {
|
|
|
14
15
|
|
|
15
16
|
export function createThreadWorker() {
|
|
16
17
|
const __dirname = getCurrentDir();
|
|
17
|
-
|
|
18
|
+
const worker = new Worker(__dirname + `/thread.worker.js`);
|
|
19
|
+
worker.postMessage({ log: logOptions });
|
|
20
|
+
return Promise.resolve(worker);
|
|
18
21
|
}
|
|
@@ -2,9 +2,18 @@ import { parentPort } from 'worker_threads';
|
|
|
2
2
|
import { expose } from 'comlink';
|
|
3
3
|
import { BarretenbergWasmThread } from '../../index.js';
|
|
4
4
|
import { nodeEndpoint } from '../../../helpers/node/node_endpoint.js';
|
|
5
|
+
import { initLogger } from '../../../../log/node/index.js';
|
|
5
6
|
|
|
6
7
|
if (!parentPort) {
|
|
7
8
|
throw new Error('No parentPort');
|
|
8
9
|
}
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
const endpoint = nodeEndpoint(parentPort);
|
|
12
|
+
|
|
13
|
+
endpoint.addEventListener('message', (e: any) => {
|
|
14
|
+
if (e.data.log) {
|
|
15
|
+
initLogger(e.data.log);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
expose(new BarretenbergWasmThread(), endpoint);
|
|
@@ -12,8 +12,8 @@ export async function fetchCode(multithreaded: boolean, wasmPath?: string) {
|
|
|
12
12
|
url = `${filePath}/${fileName}${suffix}.${extensions.join('.')}`;
|
|
13
13
|
} else {
|
|
14
14
|
url = multithreaded
|
|
15
|
-
? (await import(
|
|
16
|
-
: (await import(
|
|
15
|
+
? (await import('./barretenberg-threads.js')).default
|
|
16
|
+
: (await import('./barretenberg.js')).default;
|
|
17
17
|
}
|
|
18
18
|
const res = await fetch(url);
|
|
19
19
|
// Default bb wasm is compressed, but user could point it to a non-compressed version
|
|
@@ -27,7 +27,7 @@ export async function fetchCode(multithreaded: boolean, wasmPath?: string) {
|
|
|
27
27
|
buffer[2] === 0x08;
|
|
28
28
|
if (isGzip) {
|
|
29
29
|
const decompressedData = pako.ungzip(buffer);
|
|
30
|
-
return decompressedData.buffer
|
|
30
|
+
return decompressedData.buffer as unknown as Uint8Array<ArrayBuffer>;
|
|
31
31
|
} else {
|
|
32
32
|
return buffer;
|
|
33
33
|
}
|
|
@@ -27,7 +27,7 @@ export async function fetchCode(multithreaded: boolean, wasmPath?: string) {
|
|
|
27
27
|
buffer[2] === 0x08;
|
|
28
28
|
if (isGzip) {
|
|
29
29
|
const decompressedData = pako.ungzip(buffer);
|
|
30
|
-
return decompressedData.buffer
|
|
30
|
+
return decompressedData.buffer as unknown as Uint8Array<ArrayBuffer>;
|
|
31
31
|
} else {
|
|
32
32
|
return buffer;
|
|
33
33
|
}
|
|
@@ -21,6 +21,15 @@ export function killSelf() {
|
|
|
21
21
|
self.close();
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
export function getAvailableThreads(logger: (msg: string) => void): number {
|
|
25
|
+
if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
|
|
26
|
+
return navigator.hardwareConcurrency;
|
|
27
|
+
} else {
|
|
28
|
+
logger(`Could not detect environment to query number of threads. Falling back to one thread.`);
|
|
29
|
+
return 1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
24
33
|
// Solution to async initialization of workers, taken from
|
|
25
34
|
// https://github.com/GoogleChromeLabs/comlink/issues/635#issuecomment-1598913044
|
|
26
35
|
|
|
@@ -42,3 +42,14 @@ export function killSelf(): never {
|
|
|
42
42
|
process.kill(process.pid);
|
|
43
43
|
throw new Error();
|
|
44
44
|
}
|
|
45
|
+
|
|
46
|
+
export function getAvailableThreads(logger: (msg: string) => void): number {
|
|
47
|
+
try {
|
|
48
|
+
return os.cpus().length;
|
|
49
|
+
} catch (e: any) {
|
|
50
|
+
logger(
|
|
51
|
+
`Could not detect environment to query number of threads. Falling back to one thread. Error: ${e.message ?? e}`,
|
|
52
|
+
);
|
|
53
|
+
return 1;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { getSharedMemoryAvailable } from './helpers/node/index.js';
|
|
1
|
+
import { getSharedMemoryAvailable, getAvailableThreads } from './helpers/node/index.js';
|
|
3
2
|
import { fetchCode } from './fetch_code/index.js';
|
|
3
|
+
import { createDebugLogger } from '../log/index.js';
|
|
4
4
|
|
|
5
5
|
export async function fetchModuleAndThreads(
|
|
6
6
|
desiredThreads = 32,
|
|
7
7
|
wasmPath?: string,
|
|
8
|
-
logger: (msg: string) => void =
|
|
8
|
+
logger: (msg: string) => void = createDebugLogger('fetch_mat'),
|
|
9
9
|
) {
|
|
10
10
|
const shared = getSharedMemoryAvailable();
|
|
11
11
|
|
|
@@ -20,19 +20,3 @@ export async function fetchModuleAndThreads(
|
|
|
20
20
|
logger('Compilation of bb wasm complete');
|
|
21
21
|
return { module, threads: limitedThreads };
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
async function getAvailableThreads(logger: (msg: string) => void): Promise<number> {
|
|
25
|
-
if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
|
|
26
|
-
return navigator.hardwareConcurrency;
|
|
27
|
-
} else {
|
|
28
|
-
try {
|
|
29
|
-
const os = await import('os');
|
|
30
|
-
return os.cpus().length;
|
|
31
|
-
} catch (e: any) {
|
|
32
|
-
logger(
|
|
33
|
-
`Could not detect environment to query number of threads. Falling back to one thread. Error: ${e.message ?? e}`,
|
|
34
|
-
);
|
|
35
|
-
return 1;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
package/src/crs/node/index.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { NetCrs, NetGrumpkinCrs } from '../net_crs.js';
|
|
|
2
2
|
import { closeSync, mkdirSync, openSync, readFileSync, readSync, writeFileSync, createWriteStream } from 'fs';
|
|
3
3
|
import { stat } from 'fs/promises';
|
|
4
4
|
import { Readable } from 'stream';
|
|
5
|
-
import createDebug from 'debug';
|
|
6
5
|
import { homedir } from 'os';
|
|
7
6
|
import { finished } from 'stream/promises';
|
|
7
|
+
import { createDebugLogger } from '../../log/index.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Generic CRS finder utility class.
|
|
@@ -13,13 +13,13 @@ export class Crs {
|
|
|
13
13
|
constructor(
|
|
14
14
|
public readonly numPoints: number,
|
|
15
15
|
public readonly path: string,
|
|
16
|
-
private readonly logger: (msg: string) => void =
|
|
16
|
+
private readonly logger: (msg: string) => void = createDebugLogger('crs'),
|
|
17
17
|
) {}
|
|
18
18
|
|
|
19
19
|
static async new(
|
|
20
20
|
numPoints: number,
|
|
21
21
|
crsPath = homedir() + '/.bb-crs',
|
|
22
|
-
logger: (msg: string) => void =
|
|
22
|
+
logger: (msg: string) => void = createDebugLogger('crs'),
|
|
23
23
|
) {
|
|
24
24
|
const crs = new Crs(numPoints, crsPath, logger);
|
|
25
25
|
await crs.init();
|
|
@@ -82,13 +82,13 @@ export class GrumpkinCrs {
|
|
|
82
82
|
constructor(
|
|
83
83
|
public readonly numPoints: number,
|
|
84
84
|
public readonly path: string,
|
|
85
|
-
private readonly logger: (msg: string) => void =
|
|
85
|
+
private readonly logger: (msg: string) => void = createDebugLogger('crs'),
|
|
86
86
|
) {}
|
|
87
87
|
|
|
88
88
|
static async new(
|
|
89
89
|
numPoints: number,
|
|
90
90
|
crsPath = homedir() + '/.bb-crs',
|
|
91
|
-
logger: (msg: string) => void =
|
|
91
|
+
logger: (msg: string) => void = createDebugLogger('crs'),
|
|
92
92
|
) {
|
|
93
93
|
const crs = new GrumpkinCrs(numPoints, crsPath, logger);
|
|
94
94
|
await crs.init();
|
package/src/index.ts
CHANGED
|
@@ -8,5 +8,6 @@ export {
|
|
|
8
8
|
AztecClientBackend,
|
|
9
9
|
} from './barretenberg/index.js';
|
|
10
10
|
|
|
11
|
+
export { randomBytes } from './random/index.js';
|
|
11
12
|
export { RawBuffer, Fr } from './types/index.js';
|
|
12
13
|
export { splitHonkProof, reconstructHonkProof, deflattenFields, type ProofData } from './proof/index.js';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { pino } from 'pino';
|
|
2
|
+
import { LogOptions } from '../types.js';
|
|
3
|
+
import { Logger } from 'pino';
|
|
4
|
+
|
|
5
|
+
const defaultOptions = {
|
|
6
|
+
name: 'bb.js',
|
|
7
|
+
useOnlyCustomLevels: false,
|
|
8
|
+
customLevels: { verbose: 25 },
|
|
9
|
+
browser: { asObject: false },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
// Options must be exposed so they can be provided to threads upon creation
|
|
13
|
+
// This way we ensure all loggers are spawned with the same options
|
|
14
|
+
export let logOptions: LogOptions | undefined;
|
|
15
|
+
|
|
16
|
+
let logger: Logger<'verbose'> | undefined;
|
|
17
|
+
|
|
18
|
+
export function initLogger({ level = 'info' }: LogOptions = { level: 'info', useStdErr: false }) {
|
|
19
|
+
if (logger) {
|
|
20
|
+
return logger;
|
|
21
|
+
}
|
|
22
|
+
logOptions = { level, useStdErr: false };
|
|
23
|
+
logger = pino({ ...defaultOptions, level });
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function createDebugLogger(name: string) {
|
|
27
|
+
initLogger();
|
|
28
|
+
|
|
29
|
+
const sublogger = logger!.child({
|
|
30
|
+
name,
|
|
31
|
+
});
|
|
32
|
+
return (msg: string) => {
|
|
33
|
+
sublogger.debug(msg);
|
|
34
|
+
};
|
|
35
|
+
}
|
package/src/log/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { initLogger, createDebugLogger, logOptions } from './node/index.js';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Logger, pino } from 'pino';
|
|
2
|
+
import { LogLevels, LogOptions } from '../types.js';
|
|
3
|
+
|
|
4
|
+
const defaultOptions = {
|
|
5
|
+
name: 'bb.js',
|
|
6
|
+
useOnlyCustomLevels: false,
|
|
7
|
+
customLevels: { verbose: 25 },
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const defaultLevel = (process.env.LOG_LEVEL || 'info') as LogLevels;
|
|
11
|
+
|
|
12
|
+
// Options must be exposed so they can be provided to threads upon creation
|
|
13
|
+
// This way we ensure all loggers are spawned with the same options
|
|
14
|
+
export let logOptions: LogOptions | undefined;
|
|
15
|
+
|
|
16
|
+
let logger: Logger<'verbose'> | undefined;
|
|
17
|
+
|
|
18
|
+
export function initLogger(
|
|
19
|
+
{ level = defaultLevel, useStdErr = false }: LogOptions = { level: defaultLevel, useStdErr: false },
|
|
20
|
+
) {
|
|
21
|
+
if (logger) {
|
|
22
|
+
return logger;
|
|
23
|
+
}
|
|
24
|
+
logOptions = { level, useStdErr };
|
|
25
|
+
const transport = pino.transport({
|
|
26
|
+
target: 'pino/file',
|
|
27
|
+
options: { destination: useStdErr ? 2 : 1 },
|
|
28
|
+
});
|
|
29
|
+
logger = pino({ ...defaultOptions, level }, transport);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function createDebugLogger(name: string) {
|
|
33
|
+
initLogger();
|
|
34
|
+
|
|
35
|
+
const sublogger = logger!.child({
|
|
36
|
+
name,
|
|
37
|
+
});
|
|
38
|
+
return (msg: string) => {
|
|
39
|
+
sublogger.debug(msg);
|
|
40
|
+
};
|
|
41
|
+
}
|