@aztec/bb.js 0.3.2 → 0.3.4
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/barretenberg-threads.wasm +0 -0
- package/dest/barretenberg.wasm +0 -0
- package/dest/browser/539.js +1963 -0
- package/dest/browser/995.js +578 -0
- package/dest/browser/async_map/index.d.ts.map +1 -0
- package/dest/{async_map → browser/async_map}/index.js +1 -1
- package/dest/browser/barretenberg_api/blake2s.test.d.ts.map +1 -0
- package/dest/{barretenberg_api → browser/barretenberg_api}/blake2s.test.js +1 -1
- package/dest/browser/barretenberg_api/common.test.d.ts.map +1 -0
- package/dest/browser/barretenberg_api/common.test.js +18 -0
- package/dest/browser/barretenberg_api/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_api/index.js +379 -0
- package/dest/browser/barretenberg_api/pedersen.test.d.ts.map +1 -0
- package/dest/browser/barretenberg_api/pedersen.test.js +69 -0
- package/dest/browser/barretenberg_api/schnorr.test.d.ts.map +1 -0
- package/dest/{barretenberg_api → browser/barretenberg_api}/schnorr.test.js +1 -1
- package/dest/browser/barretenberg_binder/heap_allocator.d.ts.map +1 -0
- package/dest/{barretenberg_binder → browser/barretenberg_binder}/heap_allocator.js +1 -1
- package/dest/browser/barretenberg_binder/heap_allocator_sync.d.ts.map +1 -0
- package/dest/{barretenberg_binder → browser/barretenberg_binder}/heap_allocator_sync.js +1 -1
- package/dest/browser/barretenberg_binder/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_binder/index.js +73 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.d.ts +48 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.js +208 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.test.js +47 -0
- package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/browser/index.js +29 -0
- package/dest/browser/barretenberg_wasm/browser/worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/browser/worker.js +11 -0
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/index.js +1 -1
- package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/node/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/node/index.d.ts.map +1 -0
- package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/node/index.js +3 -3
- package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/node/node_endpoint.d.ts +2 -2
- package/dest/browser/barretenberg_wasm/node/node_endpoint.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/node/node_endpoint.js +28 -0
- package/dest/browser/barretenberg_wasm/node/worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/node/worker.js +9 -0
- package/dest/browser/bigint-array/index.d.ts.map +1 -0
- package/dest/browser/bigint-array/index.js +21 -0
- package/dest/browser/bindgen/function_declaration.d.ts.map +1 -0
- package/dest/{bindgen → browser/bindgen}/function_declaration.js +1 -1
- package/dest/{bindgen → browser/bindgen}/index.d.ts.map +1 -1
- package/dest/browser/bindgen/index.js +15 -0
- package/dest/browser/bindgen/mappings.d.ts.map +1 -0
- package/dest/{bindgen → browser/bindgen}/mappings.js +1 -1
- package/dest/browser/bindgen/rust.d.ts.map +1 -0
- package/dest/browser/bindgen/rust.js +43 -0
- package/dest/browser/bindgen/to_camel_case.d.ts.map +1 -0
- package/dest/browser/bindgen/to_camel_case.js +11 -0
- package/dest/browser/bindgen/typescript.d.ts.map +1 -0
- package/dest/browser/bindgen/typescript.js +80 -0
- package/dest/{crs → browser/crs}/browser/cached_net_crs.d.ts +1 -1
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/browser/crs/browser/cached_net_crs.js +56 -0
- package/dest/browser/crs/browser/index.d.ts.map +1 -0
- package/dest/{crs → browser/crs}/browser/index.js +1 -1
- 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.map +1 -0
- package/dest/{crs → browser/crs}/net_crs.js +1 -1
- package/dest/browser/crs/node/ignition_files_crs.d.ts.map +1 -0
- package/dest/{crs → browser/crs}/node/ignition_files_crs.js +1 -1
- package/dest/browser/crs/node/index.d.ts.map +1 -0
- package/dest/browser/crs/node/index.js +54 -0
- package/dest/browser/examples/simple.test.d.ts.map +1 -0
- package/dest/browser/examples/simple.test.js +22 -0
- package/dest/browser/factory/index.d.ts.map +1 -0
- package/dest/{factory → browser/factory}/index.js +1 -1
- package/dest/browser/index.d.ts.map +1 -0
- package/dest/{index.js → browser/index.js} +1 -1
- package/dest/browser/main.d.ts.map +1 -0
- package/dest/browser/main.js +6535 -0
- package/dest/browser/random/browser/index.d.ts.map +1 -0
- package/dest/{random → browser/random}/browser/index.js +1 -1
- 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/random/node/index.d.ts.map +1 -0
- package/dest/browser/random/node/index.js +5 -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.map +1 -0
- package/dest/{serialize → browser/serialize}/index.js +1 -1
- 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.map +1 -0
- package/dest/browser/serialize/serialize.js +139 -0
- package/dest/browser/types/browser/index.d.ts +2 -0
- package/dest/browser/types/browser/index.d.ts.map +1 -0
- package/dest/browser/types/browser/index.js +2 -0
- package/dest/browser/types/browser/point.d.ts +16 -0
- package/dest/browser/types/browser/point.d.ts.map +1 -0
- package/dest/browser/types/browser/point.js +46 -0
- package/dest/browser/types/fields.d.ts.map +1 -0
- package/dest/browser/types/fields.js +84 -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/node/index.d.ts +2 -0
- package/dest/browser/types/node/index.d.ts.map +1 -0
- package/dest/browser/types/node/index.js +2 -0
- package/dest/{types → browser/types/node}/point.d.ts +2 -2
- package/dest/browser/types/node/point.d.ts.map +1 -0
- package/dest/browser/types/node/point.js +31 -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.map +1 -0
- package/dest/{types → browser/types}/raw_buffer.js +1 -1
- package/dest/node/async_map/index.d.ts +10 -0
- package/dest/node/async_map/index.d.ts.map +1 -0
- package/dest/node/async_map/index.js +16 -0
- package/dest/node/barretenberg_api/blake2s.test.d.ts +2 -0
- package/dest/node/barretenberg_api/blake2s.test.d.ts.map +1 -0
- package/dest/node/barretenberg_api/blake2s.test.js +30 -0
- package/dest/node/barretenberg_api/common.test.d.ts +2 -0
- package/dest/node/barretenberg_api/common.test.d.ts.map +1 -0
- package/dest/node/barretenberg_api/common.test.js +18 -0
- package/dest/node/barretenberg_api/index.d.ts +103 -0
- package/dest/node/barretenberg_api/index.d.ts.map +1 -0
- package/dest/node/barretenberg_api/index.js +379 -0
- package/dest/node/barretenberg_api/pedersen.test.d.ts +2 -0
- package/dest/node/barretenberg_api/pedersen.test.d.ts.map +1 -0
- package/dest/node/barretenberg_api/pedersen.test.js +69 -0
- package/dest/node/barretenberg_api/schnorr.test.d.ts +2 -0
- package/dest/node/barretenberg_api/schnorr.test.d.ts.map +1 -0
- package/dest/node/barretenberg_api/schnorr.test.js +113 -0
- package/dest/node/barretenberg_binder/heap_allocator.d.ts +22 -0
- package/dest/node/barretenberg_binder/heap_allocator.d.ts.map +1 -0
- package/dest/node/barretenberg_binder/heap_allocator.js +59 -0
- package/dest/node/barretenberg_binder/heap_allocator_sync.d.ts +22 -0
- package/dest/node/barretenberg_binder/heap_allocator_sync.d.ts.map +1 -0
- package/dest/node/barretenberg_binder/heap_allocator_sync.js +58 -0
- package/dest/node/barretenberg_binder/index.d.ts +32 -0
- package/dest/node/barretenberg_binder/index.d.ts.map +1 -0
- package/dest/node/barretenberg_binder/index.js +73 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm.js +208 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm.test.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm.test.js +47 -0
- package/dest/node/barretenberg_wasm/browser/index.d.ts +8 -0
- package/dest/node/barretenberg_wasm/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/browser/index.js +29 -0
- package/dest/node/barretenberg_wasm/browser/worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/browser/worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/browser/worker.js +11 -0
- package/dest/node/barretenberg_wasm/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/index.js +2 -0
- package/dest/node/barretenberg_wasm/node/index.d.ts +17 -0
- package/dest/node/barretenberg_wasm/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/node/index.js +40 -0
- package/dest/node/barretenberg_wasm/node/node_endpoint.d.ts +8 -0
- package/dest/node/barretenberg_wasm/node/node_endpoint.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/node/node_endpoint.js +28 -0
- package/dest/node/barretenberg_wasm/node/worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/node/worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/node/worker.js +9 -0
- package/dest/node/bigint-array/index.d.ts +3 -0
- package/dest/node/bigint-array/index.d.ts.map +1 -0
- package/dest/node/bigint-array/index.js +21 -0
- package/dest/node/bindgen/function_declaration.d.ts +11 -0
- package/dest/node/bindgen/function_declaration.d.ts.map +1 -0
- package/dest/node/bindgen/function_declaration.js +2 -0
- package/dest/node/bindgen/index.d.ts +2 -0
- package/dest/node/bindgen/index.d.ts.map +1 -0
- package/dest/node/bindgen/index.js +15 -0
- package/dest/node/bindgen/mappings.d.ts +4 -0
- package/dest/node/bindgen/mappings.d.ts.map +1 -0
- package/dest/node/bindgen/mappings.js +63 -0
- package/dest/node/bindgen/rust.d.ts +2 -0
- package/dest/node/bindgen/rust.d.ts.map +1 -0
- package/dest/node/bindgen/rust.js +43 -0
- package/dest/node/bindgen/to_camel_case.d.ts +2 -0
- package/dest/node/bindgen/to_camel_case.d.ts.map +1 -0
- package/dest/node/bindgen/to_camel_case.js +11 -0
- package/dest/node/bindgen/typescript.d.ts +2 -0
- package/dest/node/bindgen/typescript.d.ts.map +1 -0
- package/dest/node/bindgen/typescript.js +80 -0
- package/dest/node/crs/browser/cached_net_crs.d.ts +25 -0
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/node/crs/browser/cached_net_crs.js +56 -0
- package/dest/node/crs/browser/index.d.ts +2 -0
- package/dest/node/crs/browser/index.d.ts.map +1 -0
- package/dest/node/crs/browser/index.js +2 -0
- package/dest/node/crs/index.d.ts.map +1 -0
- package/dest/{crs → node/crs}/index.js +1 -1
- package/dest/node/crs/net_crs.d.ts +36 -0
- package/dest/node/crs/net_crs.d.ts.map +1 -0
- package/dest/node/crs/net_crs.js +59 -0
- package/dest/node/crs/node/ignition_files_crs.d.ts +37 -0
- package/dest/node/crs/node/ignition_files_crs.d.ts.map +1 -0
- package/dest/node/crs/node/ignition_files_crs.js +51 -0
- package/dest/node/crs/node/index.d.ts +21 -0
- package/dest/node/crs/node/index.d.ts.map +1 -0
- package/dest/node/crs/node/index.js +54 -0
- package/dest/node/examples/simple.test.d.ts +2 -0
- package/dest/node/examples/simple.test.d.ts.map +1 -0
- package/dest/node/examples/simple.test.js +22 -0
- package/dest/node/factory/index.d.ts +21 -0
- package/dest/node/factory/index.d.ts.map +1 -0
- package/dest/node/factory/index.js +34 -0
- package/dest/node/index.d.ts +6 -0
- package/dest/node/index.d.ts.map +1 -0
- package/dest/node/index.js +6 -0
- package/dest/node/main.d.ts +10 -0
- package/dest/node/main.d.ts.map +1 -0
- package/dest/node/main.js +276 -0
- package/dest/node/random/browser/index.d.ts +2 -0
- package/dest/node/random/browser/index.d.ts.map +1 -0
- package/dest/node/random/browser/index.js +31 -0
- package/dest/node/random/index.d.ts.map +1 -0
- package/dest/{random → node/random}/index.js +1 -1
- package/dest/node/random/node/index.d.ts +2 -0
- package/dest/node/random/node/index.d.ts.map +1 -0
- package/dest/node/random/node/index.js +5 -0
- package/dest/node/serialize/buffer_reader.d.ts +28 -0
- package/dest/node/serialize/buffer_reader.d.ts.map +1 -0
- package/dest/node/serialize/buffer_reader.js +66 -0
- package/dest/node/serialize/index.d.ts +4 -0
- package/dest/node/serialize/index.d.ts.map +1 -0
- package/dest/node/serialize/index.js +4 -0
- package/dest/node/serialize/output_type.d.ts +11 -0
- package/dest/node/serialize/output_type.d.ts.map +1 -0
- package/dest/node/serialize/output_type.js +44 -0
- package/dest/node/serialize/serialize.d.ts +53 -0
- package/dest/node/serialize/serialize.d.ts.map +1 -0
- package/dest/node/serialize/serialize.js +139 -0
- package/dest/node/types/browser/index.d.ts +2 -0
- package/dest/node/types/browser/index.d.ts.map +1 -0
- package/dest/node/types/browser/index.js +2 -0
- package/dest/node/types/browser/point.d.ts +16 -0
- package/dest/node/types/browser/point.d.ts.map +1 -0
- package/dest/node/types/browser/point.js +46 -0
- package/dest/node/types/fields.d.ts +33 -0
- package/dest/node/types/fields.d.ts.map +1 -0
- package/dest/node/types/fields.js +84 -0
- package/dest/node/types/fixed_size_buffer.d.ts +26 -0
- package/dest/node/types/fixed_size_buffer.d.ts.map +1 -0
- package/dest/node/types/fixed_size_buffer.js +51 -0
- package/dest/{types → node/types}/index.d.ts +1 -1
- package/dest/node/types/index.d.ts.map +1 -0
- package/dest/{types → node/types}/index.js +2 -2
- package/dest/node/types/node/index.d.ts +2 -0
- package/dest/node/types/node/index.d.ts.map +1 -0
- package/dest/node/types/node/index.js +2 -0
- package/dest/node/types/node/point.d.ts +17 -0
- package/dest/node/types/node/point.d.ts.map +1 -0
- package/dest/node/types/node/point.js +31 -0
- package/dest/node/types/ptr.d.ts +13 -0
- package/dest/node/types/ptr.d.ts.map +1 -0
- package/dest/node/types/ptr.js +19 -0
- package/dest/node/types/raw_buffer.d.ts +3 -0
- package/dest/node/types/raw_buffer.d.ts.map +1 -0
- package/dest/node/types/raw_buffer.js +5 -0
- package/package.json +15 -25
- package/src/barretenberg_wasm/barretenberg_wasm.test.ts +1 -1
- package/src/barretenberg_wasm/barretenberg_wasm.ts +11 -7
- package/src/barretenberg_wasm/browser/index.ts +6 -3
- package/src/barretenberg_wasm/node/index.ts +2 -2
- package/src/crs/browser/cached_net_crs.ts +3 -1
- package/src/crs/index.ts +1 -1
- package/src/main.ts +6 -6
- package/src/random/index.ts +1 -1
- package/src/types/browser/index.ts +1 -0
- package/src/types/browser/point.ts +50 -0
- package/src/types/index.ts +1 -1
- package/src/types/node/index.ts +1 -0
- package/src/types/{point.ts → node/point.ts} +2 -2
- package/dest/async_map/index.d.ts.map +0 -1
- package/dest/barretenberg_api/blake2s.test.d.ts.map +0 -1
- package/dest/barretenberg_api/common.test.d.ts.map +0 -1
- package/dest/barretenberg_api/common.test.js +0 -18
- package/dest/barretenberg_api/index.d.ts.map +0 -1
- package/dest/barretenberg_api/index.js +0 -379
- package/dest/barretenberg_api/pedersen.test.d.ts.map +0 -1
- package/dest/barretenberg_api/pedersen.test.js +0 -69
- package/dest/barretenberg_api/schnorr.test.d.ts.map +0 -1
- package/dest/barretenberg_binder/heap_allocator.d.ts.map +0 -1
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
- package/dest/barretenberg_binder/index.d.ts.map +0 -1
- package/dest/barretenberg_binder/index.js +0 -73
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
- package/dest/barretenberg_wasm/barretenberg_wasm.js +0 -212
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
- package/dest/barretenberg_wasm/barretenberg_wasm.test.js +0 -47
- package/dest/barretenberg_wasm/browser/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/browser/index.js +0 -26
- package/dest/barretenberg_wasm/browser/worker.d.ts.map +0 -1
- package/dest/barretenberg_wasm/browser/worker.js +0 -11
- package/dest/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/node_endpoint.js +0 -28
- package/dest/barretenberg_wasm/node/worker.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/worker.js +0 -9
- package/dest/barretenberg_wasm.js +0 -2
- package/dest/barretenberg_wasm.js.LICENSE.txt +0 -5
- package/dest/bigint-array/index.d.ts.map +0 -1
- package/dest/bigint-array/index.js +0 -21
- package/dest/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/bindgen/index.js +0 -15
- package/dest/bindgen/mappings.d.ts.map +0 -1
- package/dest/bindgen/rust.d.ts.map +0 -1
- package/dest/bindgen/rust.js +0 -43
- package/dest/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/bindgen/to_camel_case.js +0 -11
- package/dest/bindgen/typescript.d.ts.map +0 -1
- package/dest/bindgen/typescript.js +0 -80
- package/dest/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/crs/browser/cached_net_crs.js +0 -54
- package/dest/crs/browser/index.d.ts.map +0 -1
- package/dest/crs/index.d.ts.map +0 -1
- package/dest/crs/net_crs.d.ts.map +0 -1
- package/dest/crs/node/ignition_files_crs.d.ts.map +0 -1
- package/dest/crs/node/index.d.ts.map +0 -1
- package/dest/crs/node/index.js +0 -54
- package/dest/examples/simple.rawtest.d.ts +0 -2
- package/dest/examples/simple.rawtest.d.ts.map +0 -1
- package/dest/examples/simple.rawtest.js +0 -29
- package/dest/examples/simple.test.d.ts.map +0 -1
- package/dest/examples/simple.test.js +0 -22
- package/dest/factory/index.d.ts.map +0 -1
- package/dest/index.d.ts.map +0 -1
- package/dest/index.html +0 -1
- package/dest/main.d.ts.map +0 -1
- package/dest/main.js +0 -276
- package/dest/random/browser/index.d.ts.map +0 -1
- package/dest/random/index.d.ts.map +0 -1
- package/dest/random/node/index.d.ts.map +0 -1
- package/dest/random/node/index.js +0 -5
- package/dest/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.js +0 -66
- package/dest/serialize/index.d.ts.map +0 -1
- package/dest/serialize/output_type.d.ts.map +0 -1
- package/dest/serialize/output_type.js +0 -44
- package/dest/serialize/serialize.d.ts.map +0 -1
- package/dest/serialize/serialize.js +0 -139
- package/dest/simple_test.js +0 -2
- package/dest/simple_test.js.LICENSE.txt +0 -14
- package/dest/types/fields.d.ts.map +0 -1
- package/dest/types/fields.js +0 -86
- package/dest/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/types/fixed_size_buffer.js +0 -54
- package/dest/types/index.d.ts.map +0 -1
- package/dest/types/point.d.ts.map +0 -1
- package/dest/types/point.js +0 -32
- package/dest/types/ptr.d.ts.map +0 -1
- package/dest/types/ptr.js +0 -20
- package/dest/types/raw_buffer.d.ts.map +0 -1
- package/src/examples/simple.rawtest.ts +0 -37
- /package/dest/{async_map → browser/async_map}/index.d.ts +0 -0
- /package/dest/{barretenberg_api → browser/barretenberg_api}/blake2s.test.d.ts +0 -0
- /package/dest/{barretenberg_api → browser/barretenberg_api}/common.test.d.ts +0 -0
- /package/dest/{barretenberg_api → browser/barretenberg_api}/index.d.ts +0 -0
- /package/dest/{barretenberg_api → browser/barretenberg_api}/pedersen.test.d.ts +0 -0
- /package/dest/{barretenberg_api → browser/barretenberg_api}/schnorr.test.d.ts +0 -0
- /package/dest/{barretenberg_binder → browser/barretenberg_binder}/heap_allocator.d.ts +0 -0
- /package/dest/{barretenberg_binder → browser/barretenberg_binder}/heap_allocator_sync.d.ts +0 -0
- /package/dest/{barretenberg_binder → browser/barretenberg_binder}/index.d.ts +0 -0
- /package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/barretenberg_wasm.test.d.ts +0 -0
- /package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/browser/worker.d.ts +0 -0
- /package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/index.d.ts +0 -0
- /package/dest/{barretenberg_wasm → browser/barretenberg_wasm}/node/worker.d.ts +0 -0
- /package/dest/{bigint-array → browser/bigint-array}/index.d.ts +0 -0
- /package/dest/{bindgen → browser/bindgen}/function_declaration.d.ts +0 -0
- /package/dest/{bindgen → browser/bindgen}/index.d.ts +0 -0
- /package/dest/{bindgen → browser/bindgen}/mappings.d.ts +0 -0
- /package/dest/{bindgen → browser/bindgen}/rust.d.ts +0 -0
- /package/dest/{bindgen → browser/bindgen}/to_camel_case.d.ts +0 -0
- /package/dest/{bindgen → browser/bindgen}/typescript.d.ts +0 -0
- /package/dest/{crs → browser/crs}/browser/index.d.ts +0 -0
- /package/dest/{crs → browser/crs}/net_crs.d.ts +0 -0
- /package/dest/{crs → browser/crs}/node/ignition_files_crs.d.ts +0 -0
- /package/dest/{crs → browser/crs}/node/index.d.ts +0 -0
- /package/dest/{examples → browser/examples}/simple.test.d.ts +0 -0
- /package/dest/{factory → browser/factory}/index.d.ts +0 -0
- /package/dest/{index.d.ts → browser/index.d.ts} +0 -0
- /package/dest/{main.d.ts → browser/main.d.ts} +0 -0
- /package/dest/{random → browser/random}/browser/index.d.ts +0 -0
- /package/dest/{random → browser/random}/node/index.d.ts +0 -0
- /package/dest/{serialize → browser/serialize}/buffer_reader.d.ts +0 -0
- /package/dest/{serialize → browser/serialize}/index.d.ts +0 -0
- /package/dest/{serialize → browser/serialize}/output_type.d.ts +0 -0
- /package/dest/{serialize → browser/serialize}/serialize.d.ts +0 -0
- /package/dest/{types → browser/types}/fields.d.ts +0 -0
- /package/dest/{types → browser/types}/fixed_size_buffer.d.ts +0 -0
- /package/dest/{types → browser/types}/ptr.d.ts +0 -0
- /package/dest/{types → browser/types}/raw_buffer.d.ts +0 -0
- /package/dest/{barretenberg_wasm → node/barretenberg_wasm}/barretenberg_wasm.d.ts +0 -0
- /package/dest/{crs → node/crs}/index.d.ts +0 -0
- /package/dest/{random → node/random}/index.d.ts +0 -0
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import { mapDeserializer, mapType } from './mappings.js';
|
|
3
|
-
import { toCamelCase } from './to_camel_case.js';
|
|
4
|
-
export function generateTypeScriptCode(filename) {
|
|
5
|
-
const fileContent = fs.readFileSync(filename, 'utf-8');
|
|
6
|
-
const functionDeclarations = JSON.parse(fileContent);
|
|
7
|
-
let output = `// WARNING: FILE CODE GENERATED BY BINDGEN UTILITY. DO NOT EDIT!
|
|
8
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
9
|
-
import { BarretenbergBinder, BarretenbergBinderSync } from '../barretenberg_binder/index.js';
|
|
10
|
-
import { BufferDeserializer, NumberDeserializer, VectorDeserializer, BoolDeserializer, StringDeserializer } from '../serialize/index.js';
|
|
11
|
-
import { Fr, Fq, Point, Buffer32, Buffer128, Ptr } from '../types/index.js';
|
|
12
|
-
|
|
13
|
-
export class BarretenbergApi {
|
|
14
|
-
constructor(public binder: BarretenbergBinder) {}
|
|
15
|
-
|
|
16
|
-
async destroy() {
|
|
17
|
-
await this.binder.wasm.destroy();
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
20
|
-
for (const { functionName, inArgs, outArgs } of functionDeclarations) {
|
|
21
|
-
try {
|
|
22
|
-
const parameters = inArgs.map(({ name, type }) => `${toCamelCase(name)}: ${mapType(type)}`).join(', ');
|
|
23
|
-
const inArgsVar = `[${inArgs.map(arg => toCamelCase(arg.name)).join(', ')}]`;
|
|
24
|
-
const outTypesVar = `[${outArgs.map(arg => mapDeserializer(arg.type)).join(', ')}]`;
|
|
25
|
-
const wasmCall = `const result = await this.binder.callWasmExport('${functionName}', ${inArgsVar}, ${outTypesVar});`;
|
|
26
|
-
const n = outArgs.length;
|
|
27
|
-
const returnStmt = n === 0 ? 'return;' : n === 1 ? 'return result[0];' : 'return result as any;';
|
|
28
|
-
const returnType = outArgs.length === 0
|
|
29
|
-
? 'void'
|
|
30
|
-
: outArgs.length === 1
|
|
31
|
-
? `${mapType(outArgs[0].type)}`
|
|
32
|
-
: `[${outArgs.map(a => mapType(a.type)).join(', ')}]`;
|
|
33
|
-
output += `
|
|
34
|
-
async ${toCamelCase(functionName)}(${parameters}): Promise<${returnType}> {
|
|
35
|
-
${wasmCall}
|
|
36
|
-
${returnStmt}
|
|
37
|
-
}
|
|
38
|
-
`;
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
throw new Error(`Function ${functionName}: ${err.message}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
output += `}
|
|
45
|
-
|
|
46
|
-
export class BarretenbergApiSync {
|
|
47
|
-
constructor(public binder: BarretenbergBinderSync) {}
|
|
48
|
-
|
|
49
|
-
async destroy() {
|
|
50
|
-
await this.binder.wasm.destroy();
|
|
51
|
-
}
|
|
52
|
-
`;
|
|
53
|
-
for (const { functionName, inArgs, outArgs } of functionDeclarations) {
|
|
54
|
-
try {
|
|
55
|
-
const parameters = inArgs.map(({ name, type }) => `${toCamelCase(name)}: ${mapType(type)}`).join(', ');
|
|
56
|
-
const inArgsVar = `[${inArgs.map(arg => toCamelCase(arg.name)).join(', ')}]`;
|
|
57
|
-
const outTypesVar = `[${outArgs.map(arg => mapDeserializer(arg.type)).join(', ')}]`;
|
|
58
|
-
const wasmCall = `const result = this.binder.callWasmExport('${functionName}', ${inArgsVar}, ${outTypesVar});`;
|
|
59
|
-
const n = outArgs.length;
|
|
60
|
-
const returnStmt = n === 0 ? 'return;' : n === 1 ? 'return result[0];' : 'return result as any;';
|
|
61
|
-
const returnType = outArgs.length === 0
|
|
62
|
-
? 'void'
|
|
63
|
-
: outArgs.length === 1
|
|
64
|
-
? `${mapType(outArgs[0].type)}`
|
|
65
|
-
: `[${outArgs.map(a => mapType(a.type)).join(', ')}]`;
|
|
66
|
-
output += `
|
|
67
|
-
${toCamelCase(functionName)}(${parameters}): ${returnType} {
|
|
68
|
-
${wasmCall}
|
|
69
|
-
${returnStmt}
|
|
70
|
-
}
|
|
71
|
-
`;
|
|
72
|
-
}
|
|
73
|
-
catch (err) {
|
|
74
|
-
throw new Error(`Function ${functionName}: ${err.message}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
output += '}';
|
|
78
|
-
return output;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW5kZ2VuL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBZ0I7SUFDckQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsTUFBTSxvQkFBb0IsR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1RSxJQUFJLE1BQU0sR0FBRzs7Ozs7Ozs7Ozs7O0NBWWQsQ0FBQztJQUVBLEtBQUssTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksb0JBQW9CLEVBQUU7UUFDcEUsSUFBSTtZQUNGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkcsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzdFLE1BQU0sV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFD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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { NetCrs } 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
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkX25ldF9jcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3JzL2Jyb3dzZXIvY2FjaGVkX25ldF9jcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQTRCLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFBRyxDQUFDO0lBRWpELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixnQ0FBZ0M7UUFDaEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN0QjtRQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crs/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,GAAG,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dest/crs/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../src/crs/net_crs.ts"],"names":[],"mappings":"AAAA;;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;IAKJ,cAAc;IAcpB;;OAEG;IACG,cAAc;IAcpB;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ignition_files_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/node/ignition_files_crs.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,YAAY,QAAqF,CAAC;AAE/G;;GAEG;AACH,qBAAa,gBAAgB;IAKzB;;OAEG;aACa,SAAS,EAAE,MAAM;IACjC,OAAO,CAAC,IAAI;IARd,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;;IAG1B;;OAEG;IACa,SAAS,EAAE,MAAM,EACzB,IAAI,SAAe;IAG7B,MAAM,CAAC,aAAa;IAIpB;;OAEG;IACG,IAAI;IAYV;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crs/node/index.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,qBAAa,GAAG;aACc,SAAS,EAAE,MAAM;aAAkB,IAAI,EAAE,MAAM;gBAA/C,SAAS,EAAE,MAAM,EAAkB,IAAI,EAAE,MAAM;WAE9D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,SAAU;IAM/C,IAAI;IAoBV;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}
|
package/dest/crs/node/index.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { NetCrs } from '../net_crs.js';
|
|
2
|
-
import { IgnitionFilesCrs } from './ignition_files_crs.js';
|
|
3
|
-
import { mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
4
|
-
import { readFile } from 'fs/promises';
|
|
5
|
-
import createDebug from 'debug';
|
|
6
|
-
const debug = createDebug('bb.js:crs');
|
|
7
|
-
/**
|
|
8
|
-
* Generic CRS finder utility class.
|
|
9
|
-
*/
|
|
10
|
-
export class Crs {
|
|
11
|
-
constructor(numPoints, path) {
|
|
12
|
-
this.numPoints = numPoints;
|
|
13
|
-
this.path = path;
|
|
14
|
-
}
|
|
15
|
-
static async new(numPoints, crsPath = './crs') {
|
|
16
|
-
const crs = new Crs(numPoints, crsPath);
|
|
17
|
-
await crs.init();
|
|
18
|
-
return crs;
|
|
19
|
-
}
|
|
20
|
-
async init() {
|
|
21
|
-
mkdirSync(this.path, { recursive: true });
|
|
22
|
-
const size = await readFile(this.path + '/size', 'ascii').catch(() => undefined);
|
|
23
|
-
if (size && +size >= this.numPoints) {
|
|
24
|
-
debug(`using cached crs of size: ${size}`);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const crs = IgnitionFilesCrs.defaultExists() ? new IgnitionFilesCrs(this.numPoints) : new NetCrs(this.numPoints);
|
|
28
|
-
if (crs instanceof NetCrs) {
|
|
29
|
-
debug(`downloading crs of size: ${this.numPoints}`);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
debug(`loading igntion file crs of size: ${this.numPoints}`);
|
|
33
|
-
}
|
|
34
|
-
await crs.init();
|
|
35
|
-
writeFileSync(this.path + '/size', this.numPoints.toString());
|
|
36
|
-
writeFileSync(this.path + '/g1.dat', crs.getG1Data());
|
|
37
|
-
writeFileSync(this.path + '/g2.dat', crs.getG2Data());
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* G1 points data for prover key.
|
|
41
|
-
* @returns The points data.
|
|
42
|
-
*/
|
|
43
|
-
getG1Data() {
|
|
44
|
-
return readFileSync(this.path + '/g1.dat');
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* G2 points data for verification key.
|
|
48
|
-
* @returns The points data.
|
|
49
|
-
*/
|
|
50
|
-
getG2Data() {
|
|
51
|
-
return readFileSync(this.path + '/g2.dat');
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3JzL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFFaEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLEdBQUc7SUFDZCxZQUE0QixTQUFpQixFQUFrQixJQUFZO1FBQS9DLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFHLENBQUM7SUFFL0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBaUIsRUFBRSxPQUFPLEdBQUcsT0FBTztRQUNuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25DLEtBQUssQ0FBQyw2QkFBNkIsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqSCxJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7WUFDekIsS0FBSyxDQUFDLDRCQUE0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsS0FBSyxDQUFDLHFDQUFxQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUM5RDtRQUNELE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDOUQsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple.rawtest.d.ts","sourceRoot":"","sources":["../../src/examples/simple.rawtest.ts"],"names":[],"mappings":""}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Crs } from '../crs/index.js';
|
|
2
|
-
import createDebug from 'debug';
|
|
3
|
-
import { newBarretenbergApiAsync } from '../factory/index.js';
|
|
4
|
-
import { RawBuffer } from '../types/index.js';
|
|
5
|
-
createDebug.enable('*');
|
|
6
|
-
const debug = createDebug('simple_test');
|
|
7
|
-
async function main() {
|
|
8
|
-
const CIRCUIT_SIZE = 2 ** 19;
|
|
9
|
-
debug('starting test...');
|
|
10
|
-
const api = await newBarretenbergApiAsync();
|
|
11
|
-
// Important to init slab allocator as first thing, to ensure maximum memory efficiency.
|
|
12
|
-
await api.commonInitSlabAllocator(CIRCUIT_SIZE);
|
|
13
|
-
// Plus 1 needed!
|
|
14
|
-
const crs = await Crs.new(CIRCUIT_SIZE + 1);
|
|
15
|
-
await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
|
|
16
|
-
const iterations = 10;
|
|
17
|
-
let totalTime = 0;
|
|
18
|
-
for (let i = 0; i < iterations; ++i) {
|
|
19
|
-
const start = new Date().getTime();
|
|
20
|
-
debug(`iteration ${i} starting...`);
|
|
21
|
-
await api.examplesSimpleCreateAndVerifyProof();
|
|
22
|
-
totalTime += new Date().getTime() - start;
|
|
23
|
-
}
|
|
24
|
-
await api.destroy();
|
|
25
|
-
debug(`avg iteration time: ${totalTime / iterations}ms`);
|
|
26
|
-
debug('test complete.');
|
|
27
|
-
}
|
|
28
|
-
void main();
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnJhd3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnJhd3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLE9BQU8sQ0FBQztBQUNoQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFekMsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUU3QixLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUF1QixFQUFFLENBQUM7SUFFNUMsd0ZBQXdGO0lBQ3hGLE1BQU0sR0FBRyxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWhELGlCQUFpQjtJQUNqQixNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFcEcsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwQyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQy9DLFNBQVMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztLQUMzQztJQUVELE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXBCLEtBQUssQ0FBQyx1QkFBdUIsU0FBUyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDekQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELEtBQUssSUFBSSxFQUFFLENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple.test.d.ts","sourceRoot":"","sources":["../../src/examples/simple.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Crs } from '../index.js';
|
|
2
|
-
import { newBarretenbergApiAsync } from '../factory/index.js';
|
|
3
|
-
import { RawBuffer } from '../types/index.js';
|
|
4
|
-
describe('simple', () => {
|
|
5
|
-
let api;
|
|
6
|
-
beforeAll(async () => {
|
|
7
|
-
api = await newBarretenbergApiAsync();
|
|
8
|
-
// Important to init slab allocator as first thing, to ensure maximum memory efficiency.
|
|
9
|
-
const CIRCUIT_SIZE = 2 ** 19;
|
|
10
|
-
await api.commonInitSlabAllocator(CIRCUIT_SIZE);
|
|
11
|
-
const crs = await Crs.new(2 ** 19 + 1);
|
|
12
|
-
await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
|
|
13
|
-
}, 30000);
|
|
14
|
-
afterAll(async () => {
|
|
15
|
-
await api.destroy();
|
|
16
|
-
});
|
|
17
|
-
it('should construct 512k gate proof', async () => {
|
|
18
|
-
const valid = await api.examplesSimpleCreateAndVerifyProof();
|
|
19
|
-
expect(valid).toBe(true);
|
|
20
|
-
}, 90000);
|
|
21
|
-
});
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsQyxPQUFPLEVBQXdCLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO0lBQ3RCLElBQUksR0FBeUIsQ0FBQztJQUU5QixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsR0FBRyxHQUFHLE1BQU0sdUJBQXVCLEVBQUUsQ0FBQztRQUV0Qyx3RkFBd0Y7UUFDeEYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzdELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEpF,OAAO,EAAoB,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEzF;;;GAGG;AACH,wBAAsB,sBAAsB,iCAE3C;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IAC3C,OAAO,CAAC,MAAM;IAAO,OAAO,CAAC,IAAI;gBAAzB,MAAM,EAAE,GAAG,EAAU,IAAI,EAAE,sBAAsB;IAI/D,aAAa;IAIb,OAAO;CAId;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,MAAM,iCAG7D"}
|
package/dest/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dest/index.html
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!doctype html><html><head><title>My App</title></head><body><script src="simple_test.js"></script></body></html>
|
package/dest/main.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AA0FA,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,oBAehH;AAED,wBAAsB,KAAK,CACzB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,MAAM,iBAenB;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,iBAO/C;AAED,wBAAsB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAUnF;AAED,wBAAsB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAchE;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAkBlF;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAgBtG;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAatE"}
|
package/dest/main.js
DELETED
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Crs, newBarretenbergApiAsync, RawBuffer } from './index.js';
|
|
3
|
-
import createDebug from 'debug';
|
|
4
|
-
import { readFileSync, writeFileSync } from 'fs';
|
|
5
|
-
import { gunzipSync } from 'zlib';
|
|
6
|
-
import { numToUInt32BE } from './serialize/serialize.js';
|
|
7
|
-
import { Command } from 'commander';
|
|
8
|
-
createDebug.log = console.error.bind(console);
|
|
9
|
-
const debug = createDebug('bb.js');
|
|
10
|
-
// Maximum we support.
|
|
11
|
-
const MAX_CIRCUIT_SIZE = 2 ** 19;
|
|
12
|
-
function getJsonData(jsonPath) {
|
|
13
|
-
const json = readFileSync(jsonPath, 'utf-8');
|
|
14
|
-
const parsed = JSON.parse(json);
|
|
15
|
-
return parsed;
|
|
16
|
-
}
|
|
17
|
-
function getBytecode(jsonPath) {
|
|
18
|
-
const parsed = getJsonData(jsonPath);
|
|
19
|
-
const buffer = Buffer.from(parsed.bytecode, 'base64');
|
|
20
|
-
const decompressed = gunzipSync(buffer);
|
|
21
|
-
return decompressed;
|
|
22
|
-
}
|
|
23
|
-
async function getGates(jsonPath, api) {
|
|
24
|
-
const parsed = getJsonData(jsonPath);
|
|
25
|
-
if (parsed.gates) {
|
|
26
|
-
return +parsed.gates;
|
|
27
|
-
}
|
|
28
|
-
const { total } = await computeCircuitSize(jsonPath, api);
|
|
29
|
-
const jsonData = getJsonData(jsonPath);
|
|
30
|
-
jsonData.gates = total;
|
|
31
|
-
writeFileSync(jsonPath, JSON.stringify(jsonData));
|
|
32
|
-
return total;
|
|
33
|
-
}
|
|
34
|
-
function getWitness(witnessPath) {
|
|
35
|
-
const data = readFileSync(witnessPath);
|
|
36
|
-
return Buffer.concat([numToUInt32BE(data.length / 32), data]);
|
|
37
|
-
}
|
|
38
|
-
async function computeCircuitSize(jsonPath, api) {
|
|
39
|
-
debug(`computing circuit size...`);
|
|
40
|
-
const bytecode = getBytecode(jsonPath);
|
|
41
|
-
const [exact, total, subgroup] = await api.acirGetCircuitSizes(new RawBuffer(bytecode));
|
|
42
|
-
return { exact, total, subgroup };
|
|
43
|
-
}
|
|
44
|
-
async function init(jsonPath, crsPath) {
|
|
45
|
-
const api = await newBarretenbergApiAsync();
|
|
46
|
-
const circuitSize = await getGates(jsonPath, api);
|
|
47
|
-
const subgroupSize = Math.pow(2, Math.ceil(Math.log2(circuitSize)));
|
|
48
|
-
if (subgroupSize > MAX_CIRCUIT_SIZE) {
|
|
49
|
-
throw new Error(`Circuit size of ${subgroupSize} exceeds max supported of ${MAX_CIRCUIT_SIZE}`);
|
|
50
|
-
}
|
|
51
|
-
debug(`circuit size: ${circuitSize}`);
|
|
52
|
-
debug(`subgroup size: ${subgroupSize}`);
|
|
53
|
-
debug('loading crs...');
|
|
54
|
-
// Plus 1 needed! (Move +1 into Crs?)
|
|
55
|
-
const crs = await Crs.new(subgroupSize + 1, crsPath);
|
|
56
|
-
// Important to init slab allocator as first thing, to ensure maximum memory efficiency.
|
|
57
|
-
await api.commonInitSlabAllocator(subgroupSize);
|
|
58
|
-
// Load CRS into wasm global CRS state.
|
|
59
|
-
// TODO: Make RawBuffer be default behaviour, and have a specific Vector type for when wanting length prefixed.
|
|
60
|
-
await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
|
|
61
|
-
const acirComposer = await api.acirNewAcirComposer(subgroupSize);
|
|
62
|
-
return { api, acirComposer, circuitSize: subgroupSize };
|
|
63
|
-
}
|
|
64
|
-
async function initLite() {
|
|
65
|
-
const api = await newBarretenbergApiAsync(1);
|
|
66
|
-
// Plus 1 needed! (Move +1 into Crs?)
|
|
67
|
-
const crs = await Crs.new(1);
|
|
68
|
-
// Load CRS into wasm global CRS state.
|
|
69
|
-
await api.srsInitSrs(new RawBuffer(crs.getG1Data()), crs.numPoints, new RawBuffer(crs.getG2Data()));
|
|
70
|
-
const acirComposer = await api.acirNewAcirComposer(0);
|
|
71
|
-
return { api, acirComposer };
|
|
72
|
-
}
|
|
73
|
-
export async function proveAndVerify(jsonPath, witnessPath, crsPath, isRecursive) {
|
|
74
|
-
const { api, acirComposer } = await init(jsonPath, crsPath);
|
|
75
|
-
try {
|
|
76
|
-
debug(`creating proof...`);
|
|
77
|
-
const bytecode = getBytecode(jsonPath);
|
|
78
|
-
const witness = getWitness(witnessPath);
|
|
79
|
-
const proof = await api.acirCreateProof(acirComposer, new RawBuffer(bytecode), new RawBuffer(witness), isRecursive);
|
|
80
|
-
debug(`verifying...`);
|
|
81
|
-
const verified = await api.acirVerifyProof(acirComposer, proof, isRecursive);
|
|
82
|
-
console.log(`verified: ${verified}`);
|
|
83
|
-
return verified;
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
await api.destroy();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
export async function prove(jsonPath, witnessPath, crsPath, isRecursive, outputPath) {
|
|
90
|
-
const { api, acirComposer } = await init(jsonPath, crsPath);
|
|
91
|
-
try {
|
|
92
|
-
debug(`creating proof...`);
|
|
93
|
-
const bytecode = getBytecode(jsonPath);
|
|
94
|
-
const witness = getWitness(witnessPath);
|
|
95
|
-
const proof = await api.acirCreateProof(acirComposer, new RawBuffer(bytecode), new RawBuffer(witness), isRecursive);
|
|
96
|
-
debug(`done.`);
|
|
97
|
-
writeFileSync(outputPath, proof);
|
|
98
|
-
console.log(`proof written to: ${outputPath}`);
|
|
99
|
-
}
|
|
100
|
-
finally {
|
|
101
|
-
await api.destroy();
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
export async function gateCount(jsonPath) {
|
|
105
|
-
const api = await newBarretenbergApiAsync(1);
|
|
106
|
-
try {
|
|
107
|
-
console.log(`gates: ${await getGates(jsonPath, api)}`);
|
|
108
|
-
}
|
|
109
|
-
finally {
|
|
110
|
-
await api.destroy();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
export async function verify(proofPath, isRecursive, vkPath) {
|
|
114
|
-
const { api, acirComposer } = await initLite();
|
|
115
|
-
try {
|
|
116
|
-
await api.acirLoadVerificationKey(acirComposer, new RawBuffer(readFileSync(vkPath)));
|
|
117
|
-
const verified = await api.acirVerifyProof(acirComposer, readFileSync(proofPath), isRecursive);
|
|
118
|
-
console.log(`verified: ${verified}`);
|
|
119
|
-
return verified;
|
|
120
|
-
}
|
|
121
|
-
finally {
|
|
122
|
-
await api.destroy();
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
export async function contract(outputPath, vkPath) {
|
|
126
|
-
const { api, acirComposer } = await initLite();
|
|
127
|
-
try {
|
|
128
|
-
await api.acirLoadVerificationKey(acirComposer, new RawBuffer(readFileSync(vkPath)));
|
|
129
|
-
const contract = await api.acirGetSolidityVerifier(acirComposer);
|
|
130
|
-
if (outputPath === '-') {
|
|
131
|
-
console.log(contract);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
writeFileSync(outputPath, contract);
|
|
135
|
-
console.log(`contract written to: ${outputPath}`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
finally {
|
|
139
|
-
await api.destroy();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
export async function writeVk(jsonPath, crsPath, outputPath) {
|
|
143
|
-
const { api, acirComposer } = await init(jsonPath, crsPath);
|
|
144
|
-
try {
|
|
145
|
-
debug('initing proving key...');
|
|
146
|
-
const bytecode = getBytecode(jsonPath);
|
|
147
|
-
await api.acirInitProvingKey(acirComposer, new RawBuffer(bytecode));
|
|
148
|
-
debug('initing verification key...');
|
|
149
|
-
const vk = await api.acirGetVerificationKey(acirComposer);
|
|
150
|
-
if (outputPath === '-') {
|
|
151
|
-
process.stdout.write(vk);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
writeFileSync(outputPath, vk);
|
|
155
|
-
console.log(`vk written to: ${outputPath}`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
finally {
|
|
159
|
-
await api.destroy();
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
export async function proofAsFields(proofPath, numInnerPublicInputs, outputPath) {
|
|
163
|
-
const { api, acirComposer } = await initLite();
|
|
164
|
-
try {
|
|
165
|
-
debug('serializing proof byte array into field elements');
|
|
166
|
-
const proofAsFields = await api.acirSerializeProofIntoFields(acirComposer, readFileSync(proofPath), numInnerPublicInputs);
|
|
167
|
-
writeFileSync(outputPath, JSON.stringify(proofAsFields.map(f => f.toString())));
|
|
168
|
-
debug('done.');
|
|
169
|
-
}
|
|
170
|
-
finally {
|
|
171
|
-
await api.destroy();
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
export async function vkAsFields(vkPath, vkeyOutputPath) {
|
|
175
|
-
const { api, acirComposer } = await initLite();
|
|
176
|
-
try {
|
|
177
|
-
debug('serializing vk byte array into field elements');
|
|
178
|
-
await api.acirLoadVerificationKey(acirComposer, new RawBuffer(readFileSync(vkPath)));
|
|
179
|
-
const [vkAsFields, vkHash] = await api.acirSerializeVerificationKeyIntoFields(acirComposer);
|
|
180
|
-
const output = [vkHash, ...vkAsFields].map(f => f.toString());
|
|
181
|
-
writeFileSync(vkeyOutputPath, JSON.stringify(output));
|
|
182
|
-
debug('done.');
|
|
183
|
-
}
|
|
184
|
-
finally {
|
|
185
|
-
await api.destroy();
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
const program = new Command();
|
|
189
|
-
program.option('-v, --verbose', 'enable verbose logging', false);
|
|
190
|
-
program.option('-c, --crs-path <path>', 'set crs path', './crs');
|
|
191
|
-
function handleGlobalOptions() {
|
|
192
|
-
if (program.opts().verbose) {
|
|
193
|
-
createDebug.enable('bb.js*');
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
program
|
|
197
|
-
.command('prove_and_verify')
|
|
198
|
-
.description('Generate a proof and verify it. Process exits with success or failure code.')
|
|
199
|
-
.option('-j, --json-path <path>', 'Specify the JSON path', './target/main.json')
|
|
200
|
-
.option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.tr')
|
|
201
|
-
.option('-r, --recursive', 'prove and verify using recursive prover and verifier', false)
|
|
202
|
-
.action(async ({ jsonPath, witnessPath, recursive, crsPath }) => {
|
|
203
|
-
handleGlobalOptions();
|
|
204
|
-
const result = await proveAndVerify(jsonPath, witnessPath, crsPath, recursive);
|
|
205
|
-
process.exit(result ? 0 : 1);
|
|
206
|
-
});
|
|
207
|
-
program
|
|
208
|
-
.command('prove')
|
|
209
|
-
.description('Generate a proof and write it to a file.')
|
|
210
|
-
.option('-j, --json-path <path>', 'Specify the JSON path', './target/main.json')
|
|
211
|
-
.option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.tr')
|
|
212
|
-
.option('-r, --recursive', 'prove using recursive prover', false)
|
|
213
|
-
.option('-o, --output-path <path>', 'Specify the proof output path', './proofs/proof')
|
|
214
|
-
.action(async ({ jsonPath, witnessPath, recursive, outputPath, crsPath }) => {
|
|
215
|
-
handleGlobalOptions();
|
|
216
|
-
await prove(jsonPath, witnessPath, crsPath, recursive, outputPath);
|
|
217
|
-
});
|
|
218
|
-
program
|
|
219
|
-
.command('gates')
|
|
220
|
-
.description('Print gate count to standard output.')
|
|
221
|
-
.option('-j, --json-path <path>', 'Specify the JSON path', './target/main.json')
|
|
222
|
-
.action(async ({ jsonPath }) => {
|
|
223
|
-
handleGlobalOptions();
|
|
224
|
-
await gateCount(jsonPath);
|
|
225
|
-
});
|
|
226
|
-
program
|
|
227
|
-
.command('verify')
|
|
228
|
-
.description('Verify a proof. Process exists with success or failure code.')
|
|
229
|
-
.requiredOption('-p, --proof-path <path>', 'Specify the path to the proof')
|
|
230
|
-
.option('-r, --recursive', 'prove using recursive prover', false)
|
|
231
|
-
.requiredOption('-k, --vk <path>', 'path to a verification key. avoids recomputation.')
|
|
232
|
-
.action(async ({ proofPath, recursive, vk }) => {
|
|
233
|
-
handleGlobalOptions();
|
|
234
|
-
const result = await verify(proofPath, recursive, vk);
|
|
235
|
-
process.exit(result ? 0 : 1);
|
|
236
|
-
});
|
|
237
|
-
program
|
|
238
|
-
.command('contract')
|
|
239
|
-
.description('Output solidity verification key contract.')
|
|
240
|
-
.option('-j, --json-path <path>', 'Specify the JSON path', './target/main.json')
|
|
241
|
-
.option('-o, --output-path <path>', 'Specify the path to write the contract', '-')
|
|
242
|
-
.requiredOption('-k, --vk <path>', 'path to a verification key. avoids recomputation.')
|
|
243
|
-
.action(async ({ outputPath, vk }) => {
|
|
244
|
-
handleGlobalOptions();
|
|
245
|
-
await contract(outputPath, vk);
|
|
246
|
-
});
|
|
247
|
-
program
|
|
248
|
-
.command('write_vk')
|
|
249
|
-
.description('Output verification key.')
|
|
250
|
-
.option('-j, --json-path <path>', 'Specify the JSON path', './target/main.json')
|
|
251
|
-
.requiredOption('-o, --output-path <path>', 'Specify the path to write the key')
|
|
252
|
-
.action(async ({ jsonPath, outputPath, crsPath }) => {
|
|
253
|
-
handleGlobalOptions();
|
|
254
|
-
await writeVk(jsonPath, crsPath, outputPath);
|
|
255
|
-
});
|
|
256
|
-
program
|
|
257
|
-
.command('proof_as_fields')
|
|
258
|
-
.description('Return the proof as fields elements')
|
|
259
|
-
.requiredOption('-p, --proof-path <path>', 'Specify the proof path')
|
|
260
|
-
.requiredOption('-n, --num-public-inputs <number>', 'Specify the number of public inputs')
|
|
261
|
-
.requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the proof fields')
|
|
262
|
-
.action(async ({ proofPath, numPublicInputs, outputPath }) => {
|
|
263
|
-
handleGlobalOptions();
|
|
264
|
-
await proofAsFields(proofPath, numPublicInputs, outputPath);
|
|
265
|
-
});
|
|
266
|
-
program
|
|
267
|
-
.command('vk_as_fields')
|
|
268
|
-
.description('Return the verifiation key represented as fields elements. Also return the verification key hash.')
|
|
269
|
-
.requiredOption('-i, --input-path <path>', 'Specifies the vk path (output from write_vk)')
|
|
270
|
-
.requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the verification key fields and key hash')
|
|
271
|
-
.action(async ({ inputPath, outputPath }) => {
|
|
272
|
-
handleGlobalOptions();
|
|
273
|
-
await vkAsFields(inputPath, outputPath);
|
|
274
|
-
});
|
|
275
|
-
program.name('bb.js').parse(process.argv);
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUF3Qix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0YsT0FBTyxXQUFXLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsV0FBVyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkMsc0JBQXNCO0FBQ3RCLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUVqQyxTQUFTLFdBQVcsQ0FBQyxRQUFnQjtJQUNuQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLFFBQWdCO0lBQ25DLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxLQUFLLFVBQVUsUUFBUSxDQUFDLFFBQWdCLEVBQUUsR0FBeUI7SUFDakUsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNoQixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUN0QjtJQUNELE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbEQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsV0FBbUI7SUFDckMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEUsQ0FBQztBQUVELEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLEdBQXlCO0lBQzNFLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxLQUFLLFVBQVUsSUFBSSxDQUFDLFFBQWdCLEVBQUUsT0FBZTtJQUNuRCxNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUF1QixFQUFFLENBQUM7SUFFNUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsSUFBSSxZQUFZLEdBQUcsZ0JBQWdCLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsWUFBWSw2QkFBNkIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0tBQ2pHO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLEtBQUssQ0FBQyxrQkFBa0IsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN4QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN4QixxQ0FBcUM7SUFDckMsTUFBTSxHQUFHLEdBQUcsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFckQsd0ZBQXdGO0lBQ3hGLE1BQU0sR0FBRyxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWhELHVDQUF1QztJQUN2QywrR0FBK0c7SUFDL0csTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRyxNQUFNLFlBQVksR0FBRyxNQUFNLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDMUQsQ0FBQztBQUVELEtBQUssVUFBVSxRQUFRO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0MscUNBQXFDO0lBQ3JDLE1BQU0sR0FBRyxHQUFHLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU3Qix1Q0FBdUM7SUFDdkMsTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRyxNQUFNLFlBQVksR0FBRyxNQUFNLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBQyxRQUFnQixFQUFFLFdBQW1CLEVBQUUsT0FBZSxFQUFFLFdBQW9CO0lBQy9HLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELElBQUk7UUFDRixLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFcEgsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLE1BQU0sR0FBRyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO1lBQVM7UUFDUixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLEtBQUssQ0FDekIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFdBQW9CLEVBQ3BCLFVBQWtCO0lBRWxCLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVELElBQUk7UUFDRixLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEgsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsYUFBYSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqQyxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ2hEO1lBQVM7UUFDUixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxRQUFnQjtJQUM5QyxNQUFNLEdBQUcsR0FBRyxNQUFNLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLElBQUk7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsTUFBTSxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUN4RDtZQUFTO1FBQ1IsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDckI7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxNQUFNLENBQUMsU0FBaUIsRUFBRSxXQUFvQixFQUFFLE1BQWM7SUFDbEYsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLFFBQVEsRUFBRSxDQUFDO0lBQy9DLElBQUk7UUFDRixNQUFNLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxTQUFTLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixNQUFNLFFBQVEsR0FBRyxNQUFNLEdBQUcsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRixPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyQyxPQUFPLFFBQVEsQ0FBQztLQUNqQjtZQUFTO1FBQ1IsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDckI7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxRQUFRLENBQUMsVUFBa0IsRUFBRSxNQUFjO0lBQy9ELE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLEdBQUcsTUFBTSxRQUFRLEVBQUUsQ0FBQztJQUMvQyxJQUFJO1FBQ0YsTUFBTSxHQUFHLENBQUMsdUJBQXVCLENBQUMsWUFBWSxFQUFFLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakUsSUFBSSxVQUFVLEtBQUssR0FBRyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdkI7YUFBTTtZQUNMLGFBQWEsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsVUFBVSxFQUFFLENBQUMsQ0FBQztTQUNuRDtLQUNGO1lBQVM7UUFDUixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUNyQjtBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxRQUFnQixFQUFFLE9BQWUsRUFBRSxVQUFrQjtJQUNqRixNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxJQUFJO1FBQ0YsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDaEMsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sR0FBRyxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXBFLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLE1BQU0sR0FBRyxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELElBQUksVUFBVSxLQUFLLEdBQUcsRUFBRTtZQUN0QixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxQjthQUFNO1lBQ0wsYUFBYSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM5QixPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO0tBQ0Y7WUFBUztRQUNSLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3JCO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLFNBQWlCLEVBQUUsb0JBQTRCLEVBQUUsVUFBa0I7SUFDckcsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLFFBQVEsRUFBRSxDQUFDO0lBRS9DLElBQUk7UUFDRixLQUFLLENBQUMsa0RBQWtELENBQUMsQ0FBQztRQUMxRCxNQUFNLGFBQWEsR0FBRyxNQUFNLEdBQUcsQ0FBQyw0QkFBNEIsQ0FDMUQsWUFBWSxFQUNaLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFDdkIsb0JBQW9CLENBQ3JCLENBQUM7UUFFRixhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDaEI7WUFBUztRQUNSLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3JCO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVSxDQUFDLE1BQWMsRUFBRSxjQUFzQjtJQUNyRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sUUFBUSxFQUFFLENBQUM7SUFFL0MsSUFBSTtRQUNGLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sR0FBRyxDQUFDLHVCQUF1QixDQUFDLFlBQVksRUFBRSxJQUFJLFNBQVMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsc0NBQXNDLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM5RCxhQUFhLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN0RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDaEI7WUFBUztRQUNSLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQ3JCO0FBQ0gsQ0FBQztBQUVELE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFFOUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakUsT0FBTyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFFakUsU0FBUyxtQkFBbUI7SUFDMUIsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO1FBQzFCLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUI7QUFDSCxDQUFDO0FBRUQsT0FBTztLQUNKLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztLQUMzQixXQUFXLENBQUMsNkVBQTZFLENBQUM7S0FDMUYsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO0tBQy9FLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsQ0FBQztLQUN0RixNQUFNLENBQUMsaUJBQWlCLEVBQUUsc0RBQXNELEVBQUUsS0FBSyxDQUFDO0tBQ3hGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQzlELG1CQUFtQixFQUFFLENBQUM7SUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDL0UsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUM7QUFFTCxPQUFPO0tBQ0osT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUNoQixXQUFXLENBQUMsMENBQTBDLENBQUM7S0FDdkQsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO0tBQy9FLE1BQU0sQ0FBQywyQkFBMkIsRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsQ0FBQztLQUN0RixNQUFNLENBQUMsaUJBQWlCLEVBQUUsOEJBQThCLEVBQUUsS0FBSyxDQUFDO0tBQ2hFLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSwrQkFBK0IsRUFBRSxnQkFBZ0IsQ0FBQztLQUNyRixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFDMUUsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixNQUFNLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDLENBQUM7QUFFTCxPQUFPO0tBQ0osT0FBTyxDQUFDLE9BQU8sQ0FBQztLQUNoQixXQUFXLENBQUMsc0NBQXNDLENBQUM7S0FDbkQsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO0tBQy9FLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzdCLG1CQUFtQixFQUFFLENBQUM7SUFDdEIsTUFBTSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDLENBQUM7QUFFTCxPQUFPO0tBQ0osT0FBTyxDQUFDLFFBQVEsQ0FBQztLQUNqQixXQUFXLENBQUMsOERBQThELENBQUM7S0FDM0UsY0FBYyxDQUFDLHlCQUF5QixFQUFFLCtCQUErQixDQUFDO0tBQzFFLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSw4QkFBOEIsRUFBRSxLQUFLLENBQUM7S0FDaEUsY0FBYyxDQUFDLGlCQUFpQixFQUFFLG1EQUFtRCxDQUFDO0tBQ3RGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7SUFDN0MsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDO0FBRUwsT0FBTztLQUNKLE9BQU8sQ0FBQyxVQUFVLENBQUM7S0FDbkIsV0FBVyxDQUFDLDRDQUE0QyxDQUFDO0tBQ3pELE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSx1QkFBdUIsRUFBRSxvQkFBb0IsQ0FBQztLQUMvRSxNQUFNLENBQUMsMEJBQTBCLEVBQUUsd0NBQXdDLEVBQUUsR0FBRyxDQUFDO0tBQ2pGLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxtREFBbUQsQ0FBQztLQUN0RixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7SUFDbkMsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixNQUFNLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUM7QUFFTCxPQUFPO0tBQ0osT0FBTyxDQUFDLFVBQVUsQ0FBQztLQUNuQixXQUFXLENBQUMsMEJBQTBCLENBQUM7S0FDdkMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDO0tBQy9FLGNBQWMsQ0FBQywwQkFBMEIsRUFBRSxtQ0FBbUMsQ0FBQztLQUMvRSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ2xELG1CQUFtQixFQUFFLENBQUM7SUFDdEIsTUFBTSxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUMsQ0FBQztBQUVMLE9BQU87S0FDSixPQUFPLENBQUMsaUJBQWlCLENBQUM7S0FDMUIsV0FBVyxDQUFDLHFDQUFxQyxDQUFDO0tBQ2xELGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSx3QkFBd0IsQ0FBQztLQUNuRSxjQUFjLENBQUMsa0NBQWtDLEVBQUUscUNBQXFDLENBQUM7S0FDekYsY0FBYyxDQUFDLDBCQUEwQixFQUFFLGlEQUFpRCxDQUFDO0tBQzdGLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUU7SUFDM0QsbUJBQW1CLEVBQUUsQ0FBQztJQUN0QixNQUFNLGFBQWEsQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzlELENBQUMsQ0FBQyxDQUFDO0FBRUwsT0FBTztLQUNKLE9BQU8sQ0FBQyxjQUFjLENBQUM7S0FDdkIsV0FBVyxDQUFDLG1HQUFtRyxDQUFDO0tBQ2hILGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSw4Q0FBOEMsQ0FBQztLQUN6RixjQUFjLENBQUMsMEJBQTBCLEVBQUUseUVBQXlFLENBQUM7S0FDckgsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzFDLG1CQUFtQixFQUFFLENBQUM7SUFDdEIsTUFBTSxVQUFVLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQyxDQUFDO0FBRUwsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/random/browser/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,QAAS,MAAM,eA+BtC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/random/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/random/node/index.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,cAEtC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { randomBytes as cryptoRandomBytes } from 'crypto';
|
|
2
|
-
export function randomBytes(len) {
|
|
3
|
-
return new Uint8Array(cryptoRandomBytes(len));
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFuZG9tL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUxRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEdBQVc7SUFDckMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,UAAU,EAAE,MAAM,SAAI;WAIpC,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,YAAY;IAIzD,UAAU,IAAI,MAAM;IAMpB,WAAW,IAAI,OAAO;IAKtB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAKhC,gBAAgB,IAAI,MAAM,EAAE;IAM5B,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC,EAAE;IASjF,SAAS,CAAC,CAAC,EAChB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE;QAChB,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,CAAC,EAAE;IAQC,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC;IAI3E,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,UAAU;IAKxB,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAA;KAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;CAUnG"}
|