@aztec/bb.js 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- 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 +16 -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/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
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
downloadG1Data(): Promise<Uint8Array>;
|
|
21
|
+
/**
|
|
22
|
+
* Download the G2 points data.
|
|
23
|
+
*/
|
|
24
|
+
downloadG2Data(): Promise<Uint8Array>;
|
|
25
|
+
/**
|
|
26
|
+
* G1 points data for prover key.
|
|
27
|
+
* @returns The points data.
|
|
28
|
+
*/
|
|
29
|
+
getG1Data(): Uint8Array;
|
|
30
|
+
/**
|
|
31
|
+
* G2 points data for verification key.
|
|
32
|
+
* @returns The points data.
|
|
33
|
+
*/
|
|
34
|
+
getG2Data(): Uint8Array;
|
|
35
|
+
}
|
|
36
|
+
//# 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":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Downloader for CRS from the web or local.
|
|
3
|
+
*/
|
|
4
|
+
export class NetCrs {
|
|
5
|
+
constructor(
|
|
6
|
+
/**
|
|
7
|
+
* The number of circuit gates.
|
|
8
|
+
*/
|
|
9
|
+
numPoints) {
|
|
10
|
+
this.numPoints = numPoints;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Download the data.
|
|
14
|
+
*/
|
|
15
|
+
async init() {
|
|
16
|
+
await this.downloadG1Data();
|
|
17
|
+
await this.downloadG2Data();
|
|
18
|
+
}
|
|
19
|
+
async downloadG1Data() {
|
|
20
|
+
const g1Start = 28;
|
|
21
|
+
const g1End = g1Start + this.numPoints * 64 - 1;
|
|
22
|
+
const response = await fetch('https://aztec-ignition.s3.amazonaws.com/MAIN%20IGNITION/monomial/transcript00.dat', {
|
|
23
|
+
headers: {
|
|
24
|
+
Range: `bytes=${g1Start}-${g1End}`,
|
|
25
|
+
},
|
|
26
|
+
cache: 'force-cache',
|
|
27
|
+
});
|
|
28
|
+
return (this.data = new Uint8Array(await response.arrayBuffer()));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Download the G2 points data.
|
|
32
|
+
*/
|
|
33
|
+
async downloadG2Data() {
|
|
34
|
+
const g2Start = 28 + 5040000 * 64;
|
|
35
|
+
const g2End = g2Start + 128 - 1;
|
|
36
|
+
const response2 = await fetch('https://aztec-ignition.s3.amazonaws.com/MAIN%20IGNITION/sealed/transcript00.dat', {
|
|
37
|
+
headers: {
|
|
38
|
+
Range: `bytes=${g2Start}-${g2End}`,
|
|
39
|
+
},
|
|
40
|
+
cache: 'force-cache',
|
|
41
|
+
});
|
|
42
|
+
return (this.g2Data = new Uint8Array(await response2.arrayBuffer()));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* G1 points data for prover key.
|
|
46
|
+
* @returns The points data.
|
|
47
|
+
*/
|
|
48
|
+
getG1Data() {
|
|
49
|
+
return this.data;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* G2 points data for verification key.
|
|
53
|
+
* @returns The points data.
|
|
54
|
+
*/
|
|
55
|
+
getG2Data() {
|
|
56
|
+
return this.g2Data;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnMvbmV0X2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxNQUFNO0lBSWpCO0lBQ0U7O09BRUc7SUFDYSxTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ2hDLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLEtBQUssR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWhELE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLG1GQUFtRixFQUFFO1lBQ2hILE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsU0FBUyxPQUFPLElBQUksS0FBSyxFQUFFO2FBQ25DO1lBQ0QsS0FBSyxFQUFFLGFBQWE7U0FDckIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRWhDLE1BQU0sU0FBUyxHQUFHLE1BQU0sS0FBSyxDQUFDLGlGQUFpRixFQUFFO1lBQy9HLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsU0FBUyxPQUFPLElBQUksS0FBSyxFQUFFO2FBQ25DO1lBQ0QsS0FBSyxFQUFFLGFBQWE7U0FDckIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The path to our SRS object, assuming that we are in barretenberg/ts folder.
|
|
3
|
+
*/
|
|
4
|
+
export declare const SRS_DEV_PATH: string;
|
|
5
|
+
/**
|
|
6
|
+
* Downloader for CRS from a local file (for Node).
|
|
7
|
+
*/
|
|
8
|
+
export declare class IgnitionFilesCrs {
|
|
9
|
+
/**
|
|
10
|
+
* The number of circuit gates.
|
|
11
|
+
*/
|
|
12
|
+
readonly numPoints: number;
|
|
13
|
+
private path;
|
|
14
|
+
private data;
|
|
15
|
+
private g2Data;
|
|
16
|
+
constructor(
|
|
17
|
+
/**
|
|
18
|
+
* The number of circuit gates.
|
|
19
|
+
*/
|
|
20
|
+
numPoints: number, path?: string);
|
|
21
|
+
static defaultExists(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Read the data file.
|
|
24
|
+
*/
|
|
25
|
+
init(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* G1 points data for prover key.
|
|
28
|
+
* @returns The points data.
|
|
29
|
+
*/
|
|
30
|
+
getG1Data(): Uint8Array;
|
|
31
|
+
/**
|
|
32
|
+
* G2 points data for verification key.
|
|
33
|
+
* @returns The points data.
|
|
34
|
+
*/
|
|
35
|
+
getG2Data(): Uint8Array;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=ignition_files_crs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { existsSync } from 'fs';
|
|
2
|
+
import { readFile } from 'fs/promises';
|
|
3
|
+
import { dirname } from 'path';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
5
|
+
/**
|
|
6
|
+
* The path to our SRS object, assuming that we are in barretenberg/ts folder.
|
|
7
|
+
*/
|
|
8
|
+
export const SRS_DEV_PATH = dirname(fileURLToPath(import.meta.url)) + '/../../../cpp/srs_db/ignition/monomial';
|
|
9
|
+
/**
|
|
10
|
+
* Downloader for CRS from a local file (for Node).
|
|
11
|
+
*/
|
|
12
|
+
export class IgnitionFilesCrs {
|
|
13
|
+
constructor(
|
|
14
|
+
/**
|
|
15
|
+
* The number of circuit gates.
|
|
16
|
+
*/
|
|
17
|
+
numPoints, path = SRS_DEV_PATH) {
|
|
18
|
+
this.numPoints = numPoints;
|
|
19
|
+
this.path = path;
|
|
20
|
+
}
|
|
21
|
+
static defaultExists() {
|
|
22
|
+
return existsSync(SRS_DEV_PATH);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Read the data file.
|
|
26
|
+
*/
|
|
27
|
+
async init() {
|
|
28
|
+
// We need this.numPoints number of g1 points.
|
|
29
|
+
// numPoints should be circuitSize + 1.
|
|
30
|
+
const g1Start = 28;
|
|
31
|
+
const g1End = g1Start + this.numPoints * 64;
|
|
32
|
+
const data = await readFile(this.path + '/transcript00.dat');
|
|
33
|
+
this.data = data.subarray(g1Start, g1End);
|
|
34
|
+
this.g2Data = await readFile(this.path + '/g2.dat');
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* G1 points data for prover key.
|
|
38
|
+
* @returns The points data.
|
|
39
|
+
*/
|
|
40
|
+
getG1Data() {
|
|
41
|
+
return this.data;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* G2 points data for verification key.
|
|
45
|
+
* @returns The points data.
|
|
46
|
+
*/
|
|
47
|
+
getG2Data() {
|
|
48
|
+
return this.g2Data;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWduaXRpb25fZmlsZXNfY3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nycy9ub2RlL2lnbml0aW9uX2ZpbGVzX2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLHdDQUF3QyxDQUFDO0FBRS9HOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQjtJQUNFOztPQUVHO0lBQ2EsU0FBaUIsRUFDekIsT0FBTyxZQUFZO1FBRFgsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFlO0lBQzFCLENBQUM7SUFFSixNQUFNLENBQUMsYUFBYTtRQUNsQixPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsSUFBSTtRQUNSLDhDQUE4QztRQUM5Qyx1Q0FBdUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLE1BQU0sS0FBSyxHQUFHLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUU1QyxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic CRS finder utility class.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Crs {
|
|
5
|
+
readonly numPoints: number;
|
|
6
|
+
readonly path: string;
|
|
7
|
+
constructor(numPoints: number, path: string);
|
|
8
|
+
static new(numPoints: number, crsPath?: string): Promise<Crs>;
|
|
9
|
+
init(): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* G1 points data for prover key.
|
|
12
|
+
* @returns The points data.
|
|
13
|
+
*/
|
|
14
|
+
getG1Data(): Uint8Array;
|
|
15
|
+
/**
|
|
16
|
+
* G2 points data for verification key.
|
|
17
|
+
* @returns The points data.
|
|
18
|
+
*/
|
|
19
|
+
getG2Data(): Uint8Array;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3JzL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFFaEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLEdBQUc7SUFDZCxZQUE0QixTQUFpQixFQUFrQixJQUFZO1FBQS9DLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBUTtJQUFHLENBQUM7SUFFL0UsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBaUIsRUFBRSxPQUFPLEdBQUcsT0FBTztRQUNuRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEMsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ25DLEtBQUssQ0FBQyw2QkFBNkIsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqSCxJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7WUFDekIsS0FBSyxDQUFDLDRCQUE0QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsS0FBSyxDQUFDLHFDQUFxQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUM5RDtRQUNELE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDOUQsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple.test.d.ts","sourceRoot":"","sources":["../../../src/examples/simple.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsQyxPQUFPLEVBQXdCLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO0lBQ3RCLElBQUksR0FBeUIsQ0FBQztJQUU5QixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsR0FBRyxHQUFHLE1BQU0sdUJBQXVCLEVBQUUsQ0FBQztRQUV0Qyx3RkFBd0Y7UUFDeEYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRCxNQUFNLEtBQUssR0FBRyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQzdELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BarretenbergApi, BarretenbergApiSync } from '../barretenberg_api/index.js';
|
|
2
|
+
import { BarretenbergWasmWorker } from '../barretenberg_wasm/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Returns a single threaded, synchronous, barretenberg api.
|
|
5
|
+
* Can be used on the main thread to perform small light-weight requests like hashing etc.
|
|
6
|
+
*/
|
|
7
|
+
export declare function newBarretenbergApiSync(): Promise<BarretenbergApiSync>;
|
|
8
|
+
export declare class BarretenbergApiAsync extends BarretenbergApi {
|
|
9
|
+
private worker;
|
|
10
|
+
private wasm;
|
|
11
|
+
constructor(worker: any, wasm: BarretenbergWasmWorker);
|
|
12
|
+
getNumThreads(): Promise<number>;
|
|
13
|
+
destroy(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Returns a multi threaded, asynchronous, barretenberg api.
|
|
17
|
+
* It runs in a worker, and so can be used within the browser to execute long running, multi-threaded requests
|
|
18
|
+
* like proof construction etc.
|
|
19
|
+
*/
|
|
20
|
+
export declare function newBarretenbergApiAsync(threads?: number): Promise<BarretenbergApiAsync>;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BarretenbergApi, BarretenbergApiSync } from '../barretenberg_api/index.js';
|
|
2
|
+
import { BarretenbergBinder, BarretenbergBinderSync } from '../barretenberg_binder/index.js';
|
|
3
|
+
import { BarretenbergWasm } from '../barretenberg_wasm/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Returns a single threaded, synchronous, barretenberg api.
|
|
6
|
+
* Can be used on the main thread to perform small light-weight requests like hashing etc.
|
|
7
|
+
*/
|
|
8
|
+
export async function newBarretenbergApiSync() {
|
|
9
|
+
return new BarretenbergApiSync(new BarretenbergBinderSync(await BarretenbergWasm.new()));
|
|
10
|
+
}
|
|
11
|
+
export class BarretenbergApiAsync extends BarretenbergApi {
|
|
12
|
+
constructor(worker, wasm) {
|
|
13
|
+
super(new BarretenbergBinder(wasm));
|
|
14
|
+
this.worker = worker;
|
|
15
|
+
this.wasm = wasm;
|
|
16
|
+
}
|
|
17
|
+
async getNumThreads() {
|
|
18
|
+
return await this.wasm.getNumThreads();
|
|
19
|
+
}
|
|
20
|
+
async destroy() {
|
|
21
|
+
await this.wasm.destroy();
|
|
22
|
+
await this.worker.terminate();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns a multi threaded, asynchronous, barretenberg api.
|
|
27
|
+
* It runs in a worker, and so can be used within the browser to execute long running, multi-threaded requests
|
|
28
|
+
* like proof construction etc.
|
|
29
|
+
*/
|
|
30
|
+
export async function newBarretenbergApiAsync(threads) {
|
|
31
|
+
const { wasm, worker } = await BarretenbergWasm.newWorker(threads);
|
|
32
|
+
return new BarretenbergApiAsync(worker, wasm);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLCtCQUErQixDQUFDO0FBRXpGOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCO0lBQzFDLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLHNCQUFzQixDQUFDLE1BQU0sZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNGLENBQUM7QUFFRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQUN2RCxZQUFvQixNQUFXLEVBQVUsSUFBNEI7UUFDbkUsS0FBSyxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQURsQixXQUFNLEdBQU4sTUFBTSxDQUFLO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBd0I7SUFFckUsQ0FBQztJQUVELEtBQUssQ0FBQyxhQUFhO1FBQ2pCLE9BQU8sTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsdUJBQXVCLENBQUMsT0FBZ0I7SUFDNUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRSxPQUFPLElBQUksb0JBQW9CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMifQ==
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './crs/index.js';
|
|
2
|
+
export * from './barretenberg_wasm/index.js';
|
|
3
|
+
export * from './barretenberg_api/index.js';
|
|
4
|
+
export * from './factory/index.js';
|
|
5
|
+
export { RawBuffer } from './types/index.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUMifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export declare function proveAndVerify(jsonPath: string, witnessPath: string, crsPath: string, isRecursive: boolean): Promise<boolean>;
|
|
3
|
+
export declare function prove(jsonPath: string, witnessPath: string, crsPath: string, isRecursive: boolean, outputPath: string): Promise<void>;
|
|
4
|
+
export declare function gateCount(jsonPath: string): Promise<void>;
|
|
5
|
+
export declare function verify(proofPath: string, isRecursive: boolean, vkPath: string): Promise<boolean>;
|
|
6
|
+
export declare function contract(outputPath: string, vkPath: string): Promise<void>;
|
|
7
|
+
export declare function writeVk(jsonPath: string, crsPath: string, outputPath: string): Promise<void>;
|
|
8
|
+
export declare function proofAsFields(proofPath: string, numInnerPublicInputs: number, outputPath: string): Promise<void>;
|
|
9
|
+
export declare function vkAsFields(vkPath: string, vkeyOutputPath: string): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=main.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|