@aztec/bb.js 0.87.2 → 0.87.3
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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/index.ts"],"names":[],"mappings":"AAIA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,oCA6BxE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import pako from 'pako';
|
|
2
|
+
// Annoyingly the wasm declares if it's memory is shared or not. So now we need two wasms if we want to be
|
|
3
|
+
// able to fallback on "non shared memory" situations.
|
|
4
|
+
export async function fetchCode(multithreaded, wasmPath) {
|
|
5
|
+
let url;
|
|
6
|
+
if (wasmPath) {
|
|
7
|
+
const suffix = multithreaded ? '-threads' : '';
|
|
8
|
+
const filePath = wasmPath.split('/').slice(0, -1).join('/');
|
|
9
|
+
const fileNameWithExtensions = wasmPath.split('/').pop();
|
|
10
|
+
const [fileName, ...extensions] = fileNameWithExtensions.split('.');
|
|
11
|
+
url = `${filePath}/${fileName}${suffix}.${extensions.join('.')}`;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
url = multithreaded
|
|
15
|
+
? (await import('./barretenberg-threads.js')).default
|
|
16
|
+
: (await import('./barretenberg.js')).default;
|
|
17
|
+
}
|
|
18
|
+
const res = await fetch(url);
|
|
19
|
+
// Default bb wasm is compressed, but user could point it to a non-compressed version
|
|
20
|
+
const maybeCompressedData = await res.arrayBuffer();
|
|
21
|
+
const buffer = new Uint8Array(maybeCompressedData);
|
|
22
|
+
const isGzip =
|
|
23
|
+
// Check magic number
|
|
24
|
+
buffer[0] === 0x1f &&
|
|
25
|
+
buffer[1] === 0x8b &&
|
|
26
|
+
// Check compression method:
|
|
27
|
+
buffer[2] === 0x08;
|
|
28
|
+
if (isGzip) {
|
|
29
|
+
const decompressedData = pako.ungzip(buffer);
|
|
30
|
+
return decompressedData.buffer;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return buffer;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QiwwR0FBMEc7QUFDMUcsc0RBQXNEO0FBQ3RELE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUyxDQUFDLGFBQXNCLEVBQUUsUUFBaUI7SUFDdkUsSUFBSSxHQUFXLENBQUM7SUFDaEIsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN6RCxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsVUFBVSxDQUFDLEdBQUcsc0JBQXVCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLEdBQUcsR0FBRyxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNuRSxDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsR0FBRyxhQUFhO1lBQ2pCLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQ3JELENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbEQsQ0FBQztJQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLHFGQUFxRjtJQUNyRixNQUFNLG1CQUFtQixHQUFHLE1BQU0sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNO0lBQ1YscUJBQXFCO0lBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJO1FBQ2xCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJO1FBQ2xCLDRCQUE0QjtRQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ3JCLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxnQkFBZ0IsQ0FBQyxNQUE0QyxDQUFDO0lBQ3ZFLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/fetch_code/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './browser/index.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function getSharedMemoryAvailable(): boolean;
|
|
2
|
+
export declare function getRemoteBarretenbergWasm<T>(worker: Worker): import("comlink").Remote<T>;
|
|
3
|
+
export declare function getNumCpu(): number;
|
|
4
|
+
export declare function threadLogger(): ((msg: string) => void) | undefined;
|
|
5
|
+
export declare function killSelf(): void;
|
|
6
|
+
export declare function getAvailableThreads(logger: (msg: string) => void): number;
|
|
7
|
+
/** The message expected by the `readinessListener`. */
|
|
8
|
+
export declare const Ready: {
|
|
9
|
+
ready: boolean;
|
|
10
|
+
};
|
|
11
|
+
/** Listen for the readiness message from the Worker and call the `callback` once. */
|
|
12
|
+
export declare function readinessListener(worker: Worker, callback: () => void): void;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/browser/index.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,YAGvC;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,+BAE1D;AAED,wBAAgB,SAAS,WAExB;AAED,wBAAgB,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAElE;AAED,wBAAgB,QAAQ,SAEvB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAOzE;AAKD,uDAAuD;AACvD,eAAO,MAAM,KAAK;;CAAkB,CAAC;AAErC,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,QAOrE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { wrap } from 'comlink';
|
|
2
|
+
export function getSharedMemoryAvailable() {
|
|
3
|
+
const globalScope = typeof window !== 'undefined' ? window : globalThis;
|
|
4
|
+
return typeof SharedArrayBuffer !== 'undefined' && globalScope.crossOriginIsolated;
|
|
5
|
+
}
|
|
6
|
+
export function getRemoteBarretenbergWasm(worker) {
|
|
7
|
+
return wrap(worker);
|
|
8
|
+
}
|
|
9
|
+
export function getNumCpu() {
|
|
10
|
+
return navigator.hardwareConcurrency;
|
|
11
|
+
}
|
|
12
|
+
export function threadLogger() {
|
|
13
|
+
return console.log;
|
|
14
|
+
}
|
|
15
|
+
export function killSelf() {
|
|
16
|
+
self.close();
|
|
17
|
+
}
|
|
18
|
+
export function getAvailableThreads(logger) {
|
|
19
|
+
if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
|
|
20
|
+
return navigator.hardwareConcurrency;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
logger(`Could not detect environment to query number of threads. Falling back to one thread.`);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// Solution to async initialization of workers, taken from
|
|
28
|
+
// https://github.com/GoogleChromeLabs/comlink/issues/635#issuecomment-1598913044
|
|
29
|
+
/** The message expected by the `readinessListener`. */
|
|
30
|
+
export const Ready = { ready: true };
|
|
31
|
+
/** Listen for the readiness message from the Worker and call the `callback` once. */
|
|
32
|
+
export function readinessListener(worker, callback) {
|
|
33
|
+
worker.addEventListener('message', function ready(event) {
|
|
34
|
+
if (!!event.data && event.data.ready === true) {
|
|
35
|
+
worker.removeEventListener('message', ready);
|
|
36
|
+
callback();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFL0IsTUFBTSxVQUFVLHdCQUF3QjtJQUN0QyxNQUFNLFdBQVcsR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ3hFLE9BQU8sT0FBTyxpQkFBaUIsS0FBSyxXQUFXLElBQUksV0FBVyxDQUFDLG1CQUFtQixDQUFDO0FBQ3JGLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCLENBQUksTUFBYztJQUN6RCxPQUFPLElBQUksQ0FBSSxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDdkIsT0FBTyxTQUFTLENBQUMsbUJBQW1CLENBQUM7QUFDdkMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZO0lBQzFCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUE2QjtJQUMvRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN0RSxPQUFPLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztJQUN2QyxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxzRkFBc0YsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztBQUNILENBQUM7QUFFRCwwREFBMEQ7QUFDMUQsaUZBQWlGO0FBRWpGLHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFckMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsUUFBb0I7SUFDcEUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxTQUFTLEtBQUssQ0FBQyxLQUFpQztRQUNqRixJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsUUFBUSxFQUFFLENBQUM7UUFDYixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './browser/index.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.ts"],"names":[],"mappings":"AAIA,wBAAsB,qBAAqB,CACzC,cAAc,SAAK,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAqC;;;GAc/D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { getSharedMemoryAvailable, getAvailableThreads } from './helpers/browser/index.js';
|
|
2
|
+
import { fetchCode } from './fetch_code/index.js';
|
|
3
|
+
import { createDebugLogger } from '../log/index.js';
|
|
4
|
+
export async function fetchModuleAndThreads(desiredThreads = 32, wasmPath, logger = createDebugLogger('fetch_mat')) {
|
|
5
|
+
const shared = getSharedMemoryAvailable();
|
|
6
|
+
const availableThreads = shared ? await getAvailableThreads(logger) : 1;
|
|
7
|
+
// We limit the number of threads to 32 as we do not benefit from greater numbers.
|
|
8
|
+
const limitedThreads = Math.min(desiredThreads, availableThreads, 32);
|
|
9
|
+
logger(`Fetching bb wasm from ${wasmPath ?? 'default location'}`);
|
|
10
|
+
const code = await fetchCode(shared, wasmPath);
|
|
11
|
+
logger(`Compiling bb wasm of ${code.byteLength} bytes`);
|
|
12
|
+
const module = await WebAssembly.compile(code);
|
|
13
|
+
logger('Compilation of bb wasm complete');
|
|
14
|
+
return { module, threads: limitedThreads };
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLGNBQWMsR0FBRyxFQUFFLEVBQ25CLFFBQWlCLEVBQ2pCLFNBQWdDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztJQUU5RCxNQUFNLE1BQU0sR0FBRyx3QkFBd0IsRUFBRSxDQUFDO0lBRTFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsa0ZBQWtGO0lBQ2xGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sQ0FBQyx5QkFBeUIsUUFBUSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUNsRSxNQUFNLElBQUksR0FBRyxNQUFNLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsTUFBTSxDQUFDLHdCQUF3QixJQUFJLENBQUMsVUFBVSxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsTUFBTSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDN0MsQ0FBQyJ9
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a 32-byte BE Buffer to a BigInt.
|
|
3
|
+
*/
|
|
4
|
+
export declare function buffer32BytesToBigIntBE(buf: Buffer): bigint;
|
|
5
|
+
/**
|
|
6
|
+
* Convert a BE Uint8Array to a BigInt.
|
|
7
|
+
*/
|
|
8
|
+
export declare function uint8ArrayToBigIntBE(bytes: Uint8Array): bigint;
|
|
9
|
+
/**
|
|
10
|
+
* Convert a BigInt to a 32-byte BE Buffer.
|
|
11
|
+
*/
|
|
12
|
+
export declare function bigIntToBufferBE(value: bigint, byteLength?: number): Buffer;
|
|
13
|
+
/**
|
|
14
|
+
* Convert a BigInt to a 32-byte BE Uint8Array.
|
|
15
|
+
*/
|
|
16
|
+
export declare function bigIntToUint8ArrayBE(value: bigint, byteLength?: number): Uint8Array;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigint-array/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,MAAM,CAYvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,UAAU,CAE/E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a 32-byte BE Buffer to a BigInt.
|
|
3
|
+
*/
|
|
4
|
+
export function buffer32BytesToBigIntBE(buf) {
|
|
5
|
+
return ((buf.readBigUInt64BE(0) << 192n) +
|
|
6
|
+
(buf.readBigUInt64BE(8) << 128n) +
|
|
7
|
+
(buf.readBigUInt64BE(16) << 64n) +
|
|
8
|
+
buf.readBigUInt64BE(24));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Convert a BE Uint8Array to a BigInt.
|
|
12
|
+
*/
|
|
13
|
+
export function uint8ArrayToBigIntBE(bytes) {
|
|
14
|
+
const buffer = Buffer.from(bytes);
|
|
15
|
+
return buffer32BytesToBigIntBE(buffer);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Convert a BigInt to a 32-byte BE Buffer.
|
|
19
|
+
*/
|
|
20
|
+
export function bigIntToBufferBE(value, byteLength = 32) {
|
|
21
|
+
if (byteLength != 32) {
|
|
22
|
+
throw new Error(`Only 32 bytes supported for conversion from bigint to buffer, attempted byte length: ${byteLength}`);
|
|
23
|
+
}
|
|
24
|
+
const buf = Buffer.alloc(byteLength);
|
|
25
|
+
buf.writeBigUInt64BE(value >> 192n, 0);
|
|
26
|
+
buf.writeBigUInt64BE((value >> 128n) & 0xffffffffffffffffn, 8);
|
|
27
|
+
buf.writeBigUInt64BE((value >> 64n) & 0xffffffffffffffffn, 16);
|
|
28
|
+
buf.writeBigUInt64BE(value & 0xffffffffffffffffn, 24);
|
|
29
|
+
return buf;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Convert a BigInt to a 32-byte BE Uint8Array.
|
|
33
|
+
*/
|
|
34
|
+
export function bigIntToUint8ArrayBE(value, byteLength = 32) {
|
|
35
|
+
return new Uint8Array(bigIntToBufferBE(value, byteLength));
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmlnaW50LWFycmF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEdBQVc7SUFDakQsT0FBTyxDQUNMLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBaUI7SUFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsVUFBVSxHQUFHLEVBQUU7SUFDN0QsSUFBSSxVQUFVLElBQUksRUFBRSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYix3RkFBd0YsVUFBVSxFQUFFLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxHQUFHLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYSxFQUFFLFVBQVUsR0FBRyxFQUFFO0lBQ2pFLE9BQU8sSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQyJ9
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Downloader for CRS from the web or local.
|
|
3
|
+
*/
|
|
4
|
+
export declare class CachedNetCrs {
|
|
5
|
+
readonly numPoints: number;
|
|
6
|
+
private g1Data;
|
|
7
|
+
private g2Data;
|
|
8
|
+
constructor(numPoints: number);
|
|
9
|
+
static new(numPoints: number): Promise<CachedNetCrs>;
|
|
10
|
+
/**
|
|
11
|
+
* Download the data.
|
|
12
|
+
*/
|
|
13
|
+
init(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* G1 points data for prover key.
|
|
16
|
+
* @returns The points data.
|
|
17
|
+
*/
|
|
18
|
+
getG1Data(): Uint8Array;
|
|
19
|
+
/**
|
|
20
|
+
* G2 points data for verification key.
|
|
21
|
+
* @returns The points data.
|
|
22
|
+
*/
|
|
23
|
+
getG2Data(): Uint8Array;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Downloader for CRS from the web or local.
|
|
27
|
+
*/
|
|
28
|
+
export declare class CachedNetGrumpkinCrs {
|
|
29
|
+
readonly numPoints: number;
|
|
30
|
+
private g1Data;
|
|
31
|
+
constructor(numPoints: number);
|
|
32
|
+
static new(numPoints: number): Promise<CachedNetGrumpkinCrs>;
|
|
33
|
+
/**
|
|
34
|
+
* Download the data.
|
|
35
|
+
*/
|
|
36
|
+
init(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* G1 points data for prover key.
|
|
39
|
+
* @returns The points data.
|
|
40
|
+
*/
|
|
41
|
+
getG1Data(): Uint8Array;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=cached_net_crs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached_net_crs.d.ts","sourceRoot":"","sources":["../../../../src/crs/browser/cached_net_crs.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,YAAY;aAIK,SAAS,EAAE,MAAM;IAH7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAc;gBAEA,SAAS,EAAE,MAAM;WAEhC,GAAG,CAAC,SAAS,EAAE,MAAM;IAMlC;;OAEG;IACG,IAAI;IAsBV;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB;AAED;;GAEG;AACH,qBAAa,oBAAoB;aAGH,SAAS,EAAE,MAAM;IAF7C,OAAO,CAAC,MAAM,CAAc;gBAEA,SAAS,EAAE,MAAM;WAEhC,GAAG,CAAC,SAAS,EAAE,MAAM;IAMlC;;OAEG;IACG,IAAI;IAcV;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { NetCrs, NetGrumpkinCrs } from '../net_crs.js';
|
|
2
|
+
import { get, set } from 'idb-keyval';
|
|
3
|
+
/**
|
|
4
|
+
* Downloader for CRS from the web or local.
|
|
5
|
+
*/
|
|
6
|
+
export class CachedNetCrs {
|
|
7
|
+
constructor(numPoints) {
|
|
8
|
+
this.numPoints = numPoints;
|
|
9
|
+
}
|
|
10
|
+
static async new(numPoints) {
|
|
11
|
+
const crs = new CachedNetCrs(numPoints);
|
|
12
|
+
await crs.init();
|
|
13
|
+
return crs;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Download the data.
|
|
17
|
+
*/
|
|
18
|
+
async init() {
|
|
19
|
+
// Check if data is in IndexedDB
|
|
20
|
+
const g1Data = await get('g1Data');
|
|
21
|
+
const g2Data = await get('g2Data');
|
|
22
|
+
const netCrs = new NetCrs(this.numPoints);
|
|
23
|
+
const g1DataLength = this.numPoints * 64;
|
|
24
|
+
if (!g1Data || g1Data.length < g1DataLength) {
|
|
25
|
+
this.g1Data = await netCrs.downloadG1Data();
|
|
26
|
+
await set('g1Data', this.g1Data);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.g1Data = g1Data;
|
|
30
|
+
}
|
|
31
|
+
if (!g2Data) {
|
|
32
|
+
this.g2Data = await netCrs.downloadG2Data();
|
|
33
|
+
await set('g2Data', this.g2Data);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.g2Data = g2Data;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* G1 points data for prover key.
|
|
41
|
+
* @returns The points data.
|
|
42
|
+
*/
|
|
43
|
+
getG1Data() {
|
|
44
|
+
return this.g1Data;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* G2 points data for verification key.
|
|
48
|
+
* @returns The points data.
|
|
49
|
+
*/
|
|
50
|
+
getG2Data() {
|
|
51
|
+
return this.g2Data;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Downloader for CRS from the web or local.
|
|
56
|
+
*/
|
|
57
|
+
export class CachedNetGrumpkinCrs {
|
|
58
|
+
constructor(numPoints) {
|
|
59
|
+
this.numPoints = numPoints;
|
|
60
|
+
}
|
|
61
|
+
static async new(numPoints) {
|
|
62
|
+
const crs = new CachedNetGrumpkinCrs(numPoints);
|
|
63
|
+
await crs.init();
|
|
64
|
+
return crs;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Download the data.
|
|
68
|
+
*/
|
|
69
|
+
async init() {
|
|
70
|
+
// Check if data is in IndexedDB
|
|
71
|
+
const g1Data = await get('grumpkinG1Data');
|
|
72
|
+
const netGrumpkinCrs = new NetGrumpkinCrs(this.numPoints);
|
|
73
|
+
const g1DataLength = this.numPoints * 64;
|
|
74
|
+
if (!g1Data || g1Data.length < g1DataLength) {
|
|
75
|
+
this.g1Data = await netGrumpkinCrs.downloadG1Data();
|
|
76
|
+
await set('grumpkinG1Data', this.g1Data);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
this.g1Data = g1Data;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* G1 points data for prover key.
|
|
84
|
+
* @returns The points data.
|
|
85
|
+
*/
|
|
86
|
+
getG1Data() {
|
|
87
|
+
return this.g1Data;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkX25ldF9jcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3JzL2Jyb3dzZXIvY2FjaGVkX25ldF9jcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUl2QixZQUE0QixTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQUcsQ0FBQztJQUVqRCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFpQjtRQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsZ0NBQWdDO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsWUFBWSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDNUMsTUFBTSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFBNEIsU0FBaUI7UUFBakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUFHLENBQUM7SUFFakQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBaUI7UUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsZ0NBQWdDO1FBQ2hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crs/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,GAAG,EAAE,oBAAoB,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { CachedNetCrs as Crs, CachedNetGrumpkinCrs as GrumpkinCrs } from './cached_net_crs.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3JzL2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksSUFBSSxHQUFHLEVBQUUsb0JBQW9CLElBQUksV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { Crs, GrumpkinCrs } from './browser/index.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ==
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Downloader for CRS from the web or local.
|
|
3
|
+
*/
|
|
4
|
+
export declare class NetCrs {
|
|
5
|
+
/**
|
|
6
|
+
* The number of circuit gates.
|
|
7
|
+
*/
|
|
8
|
+
readonly numPoints: number;
|
|
9
|
+
private data;
|
|
10
|
+
private g2Data;
|
|
11
|
+
constructor(
|
|
12
|
+
/**
|
|
13
|
+
* The number of circuit gates.
|
|
14
|
+
*/
|
|
15
|
+
numPoints: number);
|
|
16
|
+
/**
|
|
17
|
+
* Download the data.
|
|
18
|
+
*/
|
|
19
|
+
init(): Promise<void>;
|
|
20
|
+
/**
|
|
21
|
+
* Opens up a ReadableStream to the points data
|
|
22
|
+
*/
|
|
23
|
+
streamG1Data(): Promise<ReadableStream<Uint8Array>>;
|
|
24
|
+
/**
|
|
25
|
+
* Opens up a ReadableStream to the points data
|
|
26
|
+
*/
|
|
27
|
+
streamG2Data(): Promise<ReadableStream<Uint8Array>>;
|
|
28
|
+
downloadG1Data(): Promise<Uint8Array<ArrayBuffer>>;
|
|
29
|
+
/**
|
|
30
|
+
* Download the G2 points data.
|
|
31
|
+
*/
|
|
32
|
+
downloadG2Data(): Promise<Uint8Array<ArrayBuffer>>;
|
|
33
|
+
/**
|
|
34
|
+
* G1 points data for prover key.
|
|
35
|
+
* @returns The points data.
|
|
36
|
+
*/
|
|
37
|
+
getG1Data(): Uint8Array;
|
|
38
|
+
/**
|
|
39
|
+
* G2 points data for verification key.
|
|
40
|
+
* @returns The points data.
|
|
41
|
+
*/
|
|
42
|
+
getG2Data(): Uint8Array;
|
|
43
|
+
/**
|
|
44
|
+
* Fetches the appropriate range of points from a remote source
|
|
45
|
+
*/
|
|
46
|
+
private fetchG1Data;
|
|
47
|
+
/**
|
|
48
|
+
* Fetches the appropriate range of points from a remote source
|
|
49
|
+
*/
|
|
50
|
+
private fetchG2Data;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Downloader for CRS from the web or local.
|
|
54
|
+
*/
|
|
55
|
+
export declare class NetGrumpkinCrs {
|
|
56
|
+
/**
|
|
57
|
+
* The number of circuit gates.
|
|
58
|
+
*/
|
|
59
|
+
readonly numPoints: number;
|
|
60
|
+
private data;
|
|
61
|
+
constructor(
|
|
62
|
+
/**
|
|
63
|
+
* The number of circuit gates.
|
|
64
|
+
*/
|
|
65
|
+
numPoints: number);
|
|
66
|
+
/**
|
|
67
|
+
* Download the data.
|
|
68
|
+
*/
|
|
69
|
+
init(): Promise<void>;
|
|
70
|
+
downloadG1Data(): Promise<Uint8Array<ArrayBuffer>>;
|
|
71
|
+
/**
|
|
72
|
+
* Opens up a ReadableStream to the points data
|
|
73
|
+
*/
|
|
74
|
+
streamG1Data(): Promise<ReadableStream<Uint8Array>>;
|
|
75
|
+
/**
|
|
76
|
+
* G1 points data for prover key.
|
|
77
|
+
* @returns The points data.
|
|
78
|
+
*/
|
|
79
|
+
getG1Data(): Uint8Array;
|
|
80
|
+
/**
|
|
81
|
+
* Fetches the appropriate range of points from a remote source
|
|
82
|
+
*/
|
|
83
|
+
private fetchG1Data;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=net_crs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,MAAM;IAKf;;OAEG;aACa,SAAS,EAAE,MAAM;IAPnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;;IAG1B;;OAEG;IACa,SAAS,EAAE,MAAM;IAGnC;;OAEG;IACG,IAAI;IAKV;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAKzD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAKnD,cAAc;IAKpB;;OAEG;IACG,cAAc;IAKpB;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;OAEG;YACW,WAAW;IAmBzB;;OAEG;YACW,WAAW;CAS1B;AAED;;GAEG;AACH,qBAAa,cAAc;IAIvB;;OAEG;aACa,SAAS,EAAE,MAAM;IANnC,OAAO,CAAC,IAAI,CAAc;;IAGxB;;OAEG;IACa,SAAS,EAAE,MAAM;IAGnC;;OAEG;IACG,IAAI;IAIJ,cAAc;IAKpB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAKzD;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;OAEG;YACW,WAAW;CAe1B"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { retry, makeBackoff } from '../retry/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Downloader for CRS from the web or local.
|
|
4
|
+
*/
|
|
5
|
+
export class NetCrs {
|
|
6
|
+
constructor(
|
|
7
|
+
/**
|
|
8
|
+
* The number of circuit gates.
|
|
9
|
+
*/
|
|
10
|
+
numPoints) {
|
|
11
|
+
this.numPoints = numPoints;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Download the data.
|
|
15
|
+
*/
|
|
16
|
+
async init() {
|
|
17
|
+
await this.downloadG1Data();
|
|
18
|
+
await this.downloadG2Data();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Opens up a ReadableStream to the points data
|
|
22
|
+
*/
|
|
23
|
+
async streamG1Data() {
|
|
24
|
+
const response = await this.fetchG1Data();
|
|
25
|
+
return response.body;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Opens up a ReadableStream to the points data
|
|
29
|
+
*/
|
|
30
|
+
async streamG2Data() {
|
|
31
|
+
const response = await this.fetchG2Data();
|
|
32
|
+
return response.body;
|
|
33
|
+
}
|
|
34
|
+
async downloadG1Data() {
|
|
35
|
+
const response = await this.fetchG1Data();
|
|
36
|
+
return (this.data = new Uint8Array(await response.arrayBuffer()));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Download the G2 points data.
|
|
40
|
+
*/
|
|
41
|
+
async downloadG2Data() {
|
|
42
|
+
const response2 = await this.fetchG2Data();
|
|
43
|
+
return (this.g2Data = new Uint8Array(await response2.arrayBuffer()));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* G1 points data for prover key.
|
|
47
|
+
* @returns The points data.
|
|
48
|
+
*/
|
|
49
|
+
getG1Data() {
|
|
50
|
+
return this.data;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* G2 points data for verification key.
|
|
54
|
+
* @returns The points data.
|
|
55
|
+
*/
|
|
56
|
+
getG2Data() {
|
|
57
|
+
return this.g2Data;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Fetches the appropriate range of points from a remote source
|
|
61
|
+
*/
|
|
62
|
+
async fetchG1Data() {
|
|
63
|
+
// Skip the download if numPoints is 0 (would download the entire file due to bad range header otherwise)
|
|
64
|
+
if (this.numPoints === 0) {
|
|
65
|
+
return new Response(new Uint8Array([]));
|
|
66
|
+
}
|
|
67
|
+
const g1End = this.numPoints * 64 - 1;
|
|
68
|
+
return await retry(() => fetch('https://crs.aztec.network/g1.dat', {
|
|
69
|
+
headers: {
|
|
70
|
+
Range: `bytes=0-${g1End}`,
|
|
71
|
+
},
|
|
72
|
+
cache: 'force-cache',
|
|
73
|
+
}), makeBackoff([5, 5, 5]));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Fetches the appropriate range of points from a remote source
|
|
77
|
+
*/
|
|
78
|
+
async fetchG2Data() {
|
|
79
|
+
return await retry(() => fetch('https://crs.aztec.network/g2.dat', {
|
|
80
|
+
cache: 'force-cache',
|
|
81
|
+
}), makeBackoff([5, 5, 5]));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Downloader for CRS from the web or local.
|
|
86
|
+
*/
|
|
87
|
+
export class NetGrumpkinCrs {
|
|
88
|
+
constructor(
|
|
89
|
+
/**
|
|
90
|
+
* The number of circuit gates.
|
|
91
|
+
*/
|
|
92
|
+
numPoints) {
|
|
93
|
+
this.numPoints = numPoints;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Download the data.
|
|
97
|
+
*/
|
|
98
|
+
async init() {
|
|
99
|
+
await this.downloadG1Data();
|
|
100
|
+
}
|
|
101
|
+
async downloadG1Data() {
|
|
102
|
+
const response = await this.fetchG1Data();
|
|
103
|
+
return (this.data = new Uint8Array(await response.arrayBuffer()));
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Opens up a ReadableStream to the points data
|
|
107
|
+
*/
|
|
108
|
+
async streamG1Data() {
|
|
109
|
+
const response = await this.fetchG1Data();
|
|
110
|
+
return response.body;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* G1 points data for prover key.
|
|
114
|
+
* @returns The points data.
|
|
115
|
+
*/
|
|
116
|
+
getG1Data() {
|
|
117
|
+
return this.data;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Fetches the appropriate range of points from a remote source
|
|
121
|
+
*/
|
|
122
|
+
async fetchG1Data() {
|
|
123
|
+
// Skip the download if numPoints is 0 (would download the entire file due to bad range header otherwise)
|
|
124
|
+
if (this.numPoints === 0) {
|
|
125
|
+
return new Response(new Uint8Array([]));
|
|
126
|
+
}
|
|
127
|
+
const g1End = this.numPoints * 64 - 1;
|
|
128
|
+
return await fetch('https://crs.aztec.network/grumpkin_g1.dat', {
|
|
129
|
+
headers: {
|
|
130
|
+
Range: `bytes=0-${g1End}`,
|
|
131
|
+
},
|
|
132
|
+
cache: 'force-cache',
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnMvbmV0X2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFJakI7SUFDRTs7T0FFRztJQUNhLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFDaEMsQ0FBQztJQUVKOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQVk7UUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGNBQWM7UUFDbEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLEtBQUssQ0FBQyxXQUFXO1FBQ3ZCLHlHQUF5RztRQUN6RyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsT0FBTyxNQUFNLEtBQUssQ0FDaEIsR0FBRyxFQUFFLENBQ0gsS0FBSyxDQUFDLGtDQUFrQyxFQUFFO1lBQ3hDLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsV0FBVyxLQUFLLEVBQUU7YUFDMUI7WUFDRCxLQUFLLEVBQUUsYUFBYTtTQUNyQixDQUFDLEVBQ0osV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN2QixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSyxDQUFDLFdBQVc7UUFDdkIsT0FBTyxNQUFNLEtBQUssQ0FDaEIsR0FBRyxFQUFFLENBQ0gsS0FBSyxDQUFDLGtDQUFrQyxFQUFFO1lBQ3hDLEtBQUssRUFBRSxhQUFhO1NBQ3JCLENBQUMsRUFDSixXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3ZCLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBR3pCO0lBQ0U7O09BRUc7SUFDYSxTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssS0FBSyxDQUFDLFdBQVc7UUFDdkIseUdBQXlHO1FBQ3pHLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0QyxPQUFPLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxFQUFFO1lBQzlELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsV0FBVyxLQUFLLEVBQUU7YUFDMUI7WUFDRCxLQUFLLEVBQUUsYUFBYTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Crs, GrumpkinCrs } from './crs/index.js';
|
|
2
|
+
export { type BackendOptions, Barretenberg, BarretenbergSync, BarretenbergVerifier, UltraHonkBackend, AztecClientBackend, } from './barretenberg/index.js';
|
|
3
|
+
export { randomBytes } from './random/index.js';
|
|
4
|
+
export { RawBuffer, Fr } from './types/index.js';
|
|
5
|
+
export { splitHonkProof, reconstructHonkProof, deflattenFields, type ProofData } from './proof/index.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,KAAK,cAAc,EACnB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|