@aztec/bb.js 0.4.6 → 0.5.1
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 +29 -24
- package/dest/browser/barretenberg/index.d.ts +20 -0
- package/dest/browser/barretenberg/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_api/index.d.ts +1 -51
- package/dest/browser/barretenberg_api/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_binder/heap_allocator.d.ts +1 -1
- package/dest/browser/barretenberg_binder/heap_allocator.d.ts.map +1 -1
- package/dest/browser/barretenberg_binder/index.d.ts +1 -7
- package/dest/browser/barretenberg_binder/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +40 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +4 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +37 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +4 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +28 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +6 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/{node/barretenberg_wasm → browser/barretenberg_wasm/helpers}/node/index.d.ts +7 -5
- package/dest/browser/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/{node → helpers/node}/node_endpoint.d.ts +2 -2
- package/dest/browser/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/index.d.ts +13 -1
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/browser/crs/index.d.ts +1 -1
- package/dest/browser/crs/index.d.ts.map +1 -1
- package/dest/browser/index.d.ts +2 -4
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +2 -6
- package/dest/browser/index.js.LICENSE.txt +14 -0
- package/dest/browser/index.worker.js.LICENSE.txt +5 -0
- package/dest/browser/index.worker.worker.js.LICENSE.txt +5 -0
- package/dest/browser/random/index.d.ts +1 -1
- package/dest/browser/random/index.d.ts.map +1 -1
- package/dest/browser/types/index.d.ts +1 -1
- package/dest/browser/types/index.d.ts.map +1 -1
- package/dest/{node/types/node → browser/types}/point.d.ts +2 -2
- package/dest/browser/types/point.d.ts.map +1 -0
- package/dest/node/barretenberg/index.d.ts +20 -0
- package/dest/node/barretenberg/index.d.ts.map +1 -0
- package/dest/node/barretenberg/index.js +38 -0
- package/dest/node/barretenberg-threads.wasm +0 -0
- package/dest/node/barretenberg_api/blake2s.test.js +7 -7
- package/dest/node/barretenberg_api/common.test.js +3 -3
- package/dest/node/barretenberg_api/index.d.ts +1 -51
- package/dest/node/barretenberg_api/index.d.ts.map +1 -1
- package/dest/node/barretenberg_api/index.js +1 -189
- package/dest/node/barretenberg_api/pedersen.test.js +29 -29
- package/dest/node/barretenberg_api/schnorr.test.js +37 -36
- package/dest/node/barretenberg_binder/heap_allocator.d.ts +1 -1
- package/dest/node/barretenberg_binder/heap_allocator.d.ts.map +1 -1
- package/dest/node/barretenberg_binder/index.d.ts +1 -7
- package/dest/node/barretenberg_binder/index.d.ts.map +1 -1
- package/dest/node/barretenberg_binder/index.js +10 -30
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +40 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +123 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +10 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +3 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +12 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +4 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +8 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +37 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +83 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +10 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +3 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +12 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +4 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +8 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +28 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +40 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +9 -0
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +9 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +6 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +18 -0
- package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
- package/dest/{browser/barretenberg_wasm → node/barretenberg_wasm/helpers}/node/index.d.ts +7 -5
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.js +36 -0
- package/dest/node/barretenberg_wasm/{node → helpers/node}/node_endpoint.d.ts +2 -2
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
- package/dest/node/barretenberg_wasm/index.d.ts +13 -1
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/index.js +19 -2
- package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
- package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/index.test.js +38 -0
- package/dest/node/bindgen/typescript.d.ts.map +1 -1
- package/dest/node/bindgen/typescript.js +2 -35
- package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/node/crs/browser/cached_net_crs.js +2 -4
- package/dest/node/crs/index.d.ts.map +1 -1
- package/dest/node/crs/index.js +1 -1
- package/dest/node/examples/simple.rawtest.d.ts +2 -0
- package/dest/node/examples/simple.rawtest.d.ts.map +1 -0
- package/dest/node/examples/simple.rawtest.js +29 -0
- package/dest/node/examples/simple.test.js +5 -5
- package/dest/node/index.d.ts +2 -4
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +3 -5
- package/dest/node/info.json +22 -0
- package/dest/node/main.d.ts +2 -1
- package/dest/node/main.d.ts.map +1 -1
- package/dest/node/main.js +46 -26
- package/dest/node/random/index.d.ts.map +1 -1
- package/dest/node/random/index.js +1 -1
- package/dest/node/types/fields.js +5 -3
- package/dest/node/types/fixed_size_buffer.js +7 -4
- package/dest/node/types/index.d.ts +1 -1
- package/dest/node/types/index.d.ts.map +1 -1
- package/dest/node/types/index.js +2 -2
- package/dest/{browser/types/node → node/types}/point.d.ts +2 -2
- package/dest/node/types/point.d.ts.map +1 -0
- package/dest/node/types/point.js +32 -0
- package/dest/node/types/ptr.js +3 -2
- package/package.json +35 -27
- package/src/barretenberg/index.ts +42 -0
- package/src/barretenberg_api/blake2s.test.ts +7 -8
- package/src/barretenberg_api/common.test.ts +3 -3
- package/src/barretenberg_api/index.ts +1 -306
- package/src/barretenberg_api/pedersen.test.ts +31 -30
- package/src/barretenberg_api/schnorr.test.ts +73 -59
- package/src/barretenberg_binder/heap_allocator.ts +1 -1
- package/src/barretenberg_binder/index.ts +12 -29
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +136 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +10 -0
- package/src/barretenberg_wasm/{browser/worker.ts → barretenberg_wasm_main/factory/browser/main.worker.ts} +4 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +8 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +10 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +105 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +10 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +15 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +8 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +10 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +47 -0
- package/src/barretenberg_wasm/fetch_code/browser/index.ts +9 -0
- package/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts +4 -0
- package/src/barretenberg_wasm/fetch_code/index.ts +1 -0
- package/src/barretenberg_wasm/fetch_code/node/index.ts +9 -0
- package/src/barretenberg_wasm/helpers/browser/index.ts +22 -0
- package/src/barretenberg_wasm/helpers/index.ts +1 -0
- package/src/barretenberg_wasm/{node → helpers/node}/index.ts +9 -14
- package/src/barretenberg_wasm/{barretenberg_wasm.test.ts → index.test.ts} +15 -27
- package/src/barretenberg_wasm/index.ts +22 -1
- package/src/bindgen/typescript.ts +1 -38
- package/src/crs/browser/cached_net_crs.ts +1 -3
- package/src/crs/index.ts +1 -1
- package/src/examples/simple.rawtest.ts +37 -0
- package/src/examples/simple.test.ts +5 -5
- package/src/index.ts +2 -4
- package/src/info.json +22 -0
- package/src/main.ts +48 -28
- package/src/random/index.ts +1 -1
- package/src/types/index.ts +1 -1
- package/src/types/{node/point.ts → point.ts} +2 -2
- package/dest/barretenberg-threads.wasm +0 -0
- package/dest/barretenberg.wasm +0 -0
- package/dest/browser/539.js +0 -2014
- package/dest/browser/995.js +0 -578
- package/dest/browser/async_map/index.js +0 -16
- package/dest/browser/barretenberg_api/blake2s.test.d.ts +0 -2
- package/dest/browser/barretenberg_api/blake2s.test.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/blake2s.test.js +0 -30
- package/dest/browser/barretenberg_api/common.test.d.ts +0 -2
- package/dest/browser/barretenberg_api/common.test.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/common.test.js +0 -18
- package/dest/browser/barretenberg_api/index.js +0 -379
- package/dest/browser/barretenberg_api/pedersen.test.d.ts +0 -2
- package/dest/browser/barretenberg_api/pedersen.test.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/pedersen.test.js +0 -69
- package/dest/browser/barretenberg_api/schnorr.test.d.ts +0 -2
- package/dest/browser/barretenberg_api/schnorr.test.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/schnorr.test.js +0 -113
- package/dest/browser/barretenberg_binder/heap_allocator.js +0 -59
- package/dest/browser/barretenberg_binder/heap_allocator_sync.d.ts +0 -22
- package/dest/browser/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
- package/dest/browser/barretenberg_binder/heap_allocator_sync.js +0 -58
- package/dest/browser/barretenberg_binder/index.js +0 -73
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.d.ts +0 -48
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.js +0 -208
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.test.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm.test.js +0 -47
- package/dest/browser/barretenberg_wasm/browser/index.d.ts +0 -8
- package/dest/browser/barretenberg_wasm/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/browser/index.js +0 -29
- package/dest/browser/barretenberg_wasm/browser/worker.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/browser/worker.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/browser/worker.js +0 -11
- package/dest/browser/barretenberg_wasm/index.js +0 -2
- package/dest/browser/barretenberg_wasm/node/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/node/index.js +0 -40
- package/dest/browser/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/node/node_endpoint.js +0 -28
- package/dest/browser/barretenberg_wasm/node/worker.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/node/worker.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/node/worker.js +0 -9
- package/dest/browser/bigint-array/index.js +0 -21
- package/dest/browser/bindgen/function_declaration.d.ts +0 -11
- package/dest/browser/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/browser/bindgen/function_declaration.js +0 -2
- package/dest/browser/bindgen/index.d.ts +0 -2
- package/dest/browser/bindgen/index.d.ts.map +0 -1
- package/dest/browser/bindgen/index.js +0 -15
- package/dest/browser/bindgen/mappings.d.ts +0 -4
- package/dest/browser/bindgen/mappings.d.ts.map +0 -1
- package/dest/browser/bindgen/mappings.js +0 -63
- package/dest/browser/bindgen/rust.d.ts +0 -2
- package/dest/browser/bindgen/rust.d.ts.map +0 -1
- package/dest/browser/bindgen/rust.js +0 -43
- package/dest/browser/bindgen/to_camel_case.d.ts +0 -2
- package/dest/browser/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/browser/bindgen/to_camel_case.js +0 -11
- package/dest/browser/bindgen/typescript.d.ts +0 -2
- package/dest/browser/bindgen/typescript.d.ts.map +0 -1
- package/dest/browser/bindgen/typescript.js +0 -80
- package/dest/browser/crs/browser/cached_net_crs.js +0 -56
- package/dest/browser/crs/browser/index.js +0 -2
- package/dest/browser/crs/index.js +0 -2
- package/dest/browser/crs/net_crs.js +0 -59
- package/dest/browser/crs/node/ignition_files_crs.js +0 -51
- package/dest/browser/crs/node/index.js +0 -54
- package/dest/browser/examples/simple.test.d.ts +0 -2
- package/dest/browser/examples/simple.test.d.ts.map +0 -1
- package/dest/browser/examples/simple.test.js +0 -22
- package/dest/browser/factory/index.d.ts +0 -21
- package/dest/browser/factory/index.d.ts.map +0 -1
- package/dest/browser/factory/index.js +0 -34
- package/dest/browser/main.d.ts +0 -10
- package/dest/browser/main.d.ts.map +0 -1
- package/dest/browser/main.js +0 -6586
- package/dest/browser/random/browser/index.js +0 -31
- package/dest/browser/random/index.js +0 -2
- package/dest/browser/random/node/index.js +0 -5
- package/dest/browser/serialize/buffer_reader.js +0 -66
- package/dest/browser/serialize/index.js +0 -4
- package/dest/browser/serialize/output_type.js +0 -44
- package/dest/browser/serialize/serialize.js +0 -139
- package/dest/browser/types/browser/index.d.ts +0 -2
- package/dest/browser/types/browser/index.d.ts.map +0 -1
- package/dest/browser/types/browser/index.js +0 -2
- package/dest/browser/types/browser/point.d.ts +0 -16
- package/dest/browser/types/browser/point.d.ts.map +0 -1
- package/dest/browser/types/browser/point.js +0 -46
- package/dest/browser/types/fields.js +0 -84
- package/dest/browser/types/fixed_size_buffer.js +0 -51
- package/dest/browser/types/index.js +0 -6
- package/dest/browser/types/node/index.d.ts +0 -2
- package/dest/browser/types/node/index.d.ts.map +0 -1
- package/dest/browser/types/node/index.js +0 -2
- package/dest/browser/types/node/point.d.ts.map +0 -1
- package/dest/browser/types/node/point.js +0 -31
- package/dest/browser/types/ptr.js +0 -19
- package/dest/browser/types/raw_buffer.js +0 -5
- package/dest/node/barretenberg_binder/heap_allocator_sync.d.ts +0 -22
- package/dest/node/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
- package/dest/node/barretenberg_binder/heap_allocator_sync.js +0 -58
- package/dest/node/barretenberg_wasm/barretenberg_wasm.d.ts +0 -50
- package/dest/node/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm.js +0 -208
- package/dest/node/barretenberg_wasm/barretenberg_wasm.test.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm.test.js +0 -47
- package/dest/node/barretenberg_wasm/browser/index.d.ts +0 -8
- package/dest/node/barretenberg_wasm/browser/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/browser/index.js +0 -29
- package/dest/node/barretenberg_wasm/browser/worker.d.ts +0 -2
- package/dest/node/barretenberg_wasm/browser/worker.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/browser/worker.js +0 -11
- package/dest/node/barretenberg_wasm/node/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/node/index.js +0 -40
- package/dest/node/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/node/node_endpoint.js +0 -28
- package/dest/node/barretenberg_wasm/node/worker.d.ts +0 -2
- package/dest/node/barretenberg_wasm/node/worker.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/node/worker.js +0 -9
- package/dest/node/factory/index.d.ts +0 -21
- package/dest/node/factory/index.d.ts.map +0 -1
- package/dest/node/factory/index.js +0 -34
- package/dest/node/types/browser/index.d.ts +0 -2
- package/dest/node/types/browser/index.d.ts.map +0 -1
- package/dest/node/types/browser/index.js +0 -2
- package/dest/node/types/browser/point.d.ts +0 -16
- package/dest/node/types/browser/point.d.ts.map +0 -1
- package/dest/node/types/browser/point.js +0 -46
- package/dest/node/types/node/index.d.ts +0 -2
- package/dest/node/types/node/index.d.ts.map +0 -1
- package/dest/node/types/node/index.js +0 -2
- package/dest/node/types/node/point.d.ts.map +0 -1
- package/dest/node/types/node/point.js +0 -31
- package/src/barretenberg_binder/heap_allocator_sync.ts +0 -61
- package/src/barretenberg_wasm/barretenberg_wasm.ts +0 -250
- package/src/barretenberg_wasm/browser/index.ts +0 -35
- package/src/barretenberg_wasm/node/worker.ts +0 -10
- package/src/factory/index.ts +0 -36
- package/src/types/browser/index.ts +0 -1
- package/src/types/browser/point.ts +0 -50
- package/src/types/node/index.ts +0 -1
- /package/src/barretenberg_wasm/{node → helpers/node}/node_endpoint.ts +0 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { BarretenbergWasm } from './index.js';
|
|
2
|
+
describe('barretenberg wasm', () => {
|
|
3
|
+
let worker;
|
|
4
|
+
let wasm;
|
|
5
|
+
beforeAll(async () => {
|
|
6
|
+
({ wasm, worker } = await BarretenbergWasm.new(2));
|
|
7
|
+
}, 20000);
|
|
8
|
+
afterAll(async () => {
|
|
9
|
+
await wasm.destroy();
|
|
10
|
+
await worker.terminate();
|
|
11
|
+
});
|
|
12
|
+
it('should new malloc, transfer and slice mem', async () => {
|
|
13
|
+
const length = 1024;
|
|
14
|
+
const ptr = await wasm.call('bbmalloc', length);
|
|
15
|
+
const buf = Buffer.alloc(length, 128);
|
|
16
|
+
await wasm.writeMemory(ptr, buf);
|
|
17
|
+
const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
|
|
18
|
+
await wasm.call('bbfree', ptr);
|
|
19
|
+
expect(result).toStrictEqual(buf);
|
|
20
|
+
});
|
|
21
|
+
it('test abort', async () => {
|
|
22
|
+
await expect(() => wasm.call('test_abort')).rejects.toThrow();
|
|
23
|
+
});
|
|
24
|
+
it('test c/c++ stdout/stderr', async () => {
|
|
25
|
+
// We're checking we don't crash, but you can manually confirm you see log lines handled by logstr.
|
|
26
|
+
await wasm.call('test_stdout_stderr');
|
|
27
|
+
});
|
|
28
|
+
it('should new malloc, transfer and slice mem', async () => {
|
|
29
|
+
const length = 1024;
|
|
30
|
+
const ptr = await wasm.call('bbmalloc', length);
|
|
31
|
+
const buf = Buffer.alloc(length, 128);
|
|
32
|
+
await wasm.writeMemory(ptr, buf);
|
|
33
|
+
const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
|
|
34
|
+
await wasm.call('bbfree', ptr);
|
|
35
|
+
expect(result).toStrictEqual(buf);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9pbmRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxZQUFZLENBQUM7QUFFdEUsUUFBUSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUNqQyxJQUFJLE1BQWUsQ0FBQztJQUNwQixJQUFJLElBQTZCLENBQUM7SUFFbEMsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsTUFBTSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLFlBQVksRUFBRSxLQUFLLElBQUksRUFBRTtRQUMxQixNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDBCQUEwQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3hDLG1HQUFtRztRQUNuRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/bindgen/typescript.ts"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/bindgen/typescript.ts"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,UAgDtD"}
|
|
@@ -41,40 +41,7 @@ export class BarretenbergApi {
|
|
|
41
41
|
throw new Error(`Function ${functionName}: ${err.message}`);
|
|
42
42
|
}
|
|
43
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 += '}';
|
|
44
|
+
output += `}`;
|
|
78
45
|
return output;
|
|
79
46
|
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW5kZ2VuL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBZ0I7SUFDckQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsTUFBTSxvQkFBb0IsR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1RSxJQUFJLE1BQU0sR0FBRzs7Ozs7Ozs7Ozs7O0NBWWQsQ0FBQztJQUVBLEtBQUssTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksb0JBQW9CLEVBQUU7UUFDcEUsSUFBSTtZQUNGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkcsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzdFLE1BQU0sV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwRixNQUFNLFFBQVEsR0FBRyxvREFBb0QsWUFBWSxNQUFNLFNBQVMsS0FBSyxXQUFXLElBQUksQ0FBQztZQUVySCxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDO1lBQ2pHLE1BQU0sVUFBVSxHQUNkLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQztvQkFDdEIsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDL0IsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUUxRCxNQUFNLElBQUk7VUFDTixXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksVUFBVSxjQUFjLFVBQVU7TUFDbkUsUUFBUTtNQUNSLFVBQVU7O0NBRWYsQ0FBQztTQUNHO1FBQUMsT0FBTyxHQUFRLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLFlBQVksS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUM3RDtLQUNGO0lBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQztJQUVkLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
|
|
@@ -6,7 +6,7 @@ export declare class CachedNetCrs {
|
|
|
6
6
|
private g1Data;
|
|
7
7
|
private g2Data;
|
|
8
8
|
constructor(numPoints: number);
|
|
9
|
-
static new(numPoints: number
|
|
9
|
+
static new(numPoints: number): Promise<CachedNetCrs>;
|
|
10
10
|
/**
|
|
11
11
|
* Download the data.
|
|
12
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cached_net_crs.d.ts","sourceRoot":"","sources":["../../../../src/crs/browser/cached_net_crs.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,YAAY;aAIK,SAAS,EAAE,MAAM;IAH7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAc;gBAEA,SAAS,EAAE,MAAM;
|
|
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"}
|
|
@@ -7,9 +7,7 @@ export class CachedNetCrs {
|
|
|
7
7
|
constructor(numPoints) {
|
|
8
8
|
this.numPoints = numPoints;
|
|
9
9
|
}
|
|
10
|
-
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
|
-
static async new(numPoints, _) {
|
|
10
|
+
static async new(numPoints) {
|
|
13
11
|
const crs = new CachedNetCrs(numPoints);
|
|
14
12
|
await crs.init();
|
|
15
13
|
return crs;
|
|
@@ -53,4 +51,4 @@ export class CachedNetCrs {
|
|
|
53
51
|
return this.g2Data;
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGVkX25ldF9jcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY3JzL2Jyb3dzZXIvY2FjaGVkX25ldF9jcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBSXZCLFlBQTRCLFNBQWlCO1FBQWpCLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFBRyxDQUFDO0lBRWpELE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLElBQUk7UUFDUixnQ0FBZ0M7UUFDaEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN0QjtRQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dest/node/crs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Crs } from './node/index.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple.rawtest.d.ts","sourceRoot":"","sources":["../../../src/examples/simple.rawtest.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Crs } from '../crs/index.js';
|
|
2
|
+
import createDebug from 'debug';
|
|
3
|
+
import { Barretenberg } from '../barretenberg/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 Barretenberg.new();
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnJhd3Rlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnJhd3Rlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sV0FBVyxNQUFNLE9BQU8sQ0FBQztBQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTlDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEIsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFN0IsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDMUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFckMsd0ZBQXdGO0lBQ3hGLE1BQU0sR0FBRyxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRWhELGlCQUFpQjtJQUNqQixNQUFNLEdBQUcsR0FBRyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFcEcsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwQyxNQUFNLEdBQUcsQ0FBQyxrQ0FBa0MsRUFBRSxDQUFDO1FBQy9DLFNBQVMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEtBQUssQ0FBQztLQUMzQztJQUVELE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBRXBCLEtBQUssQ0FBQyx1QkFBdUIsU0FBUyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUM7SUFDekQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVELEtBQUssSUFBSSxFQUFFLENBQUMifQ==
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Crs } from '../index.js';
|
|
2
|
-
import {
|
|
1
|
+
import { Crs } from '../crs/index.js';
|
|
2
|
+
import { Barretenberg } from '../barretenberg/index.js';
|
|
3
3
|
import { RawBuffer } from '../types/index.js';
|
|
4
4
|
describe('simple', () => {
|
|
5
5
|
let api;
|
|
6
6
|
beforeAll(async () => {
|
|
7
|
-
api = await
|
|
7
|
+
api = await Barretenberg.new();
|
|
8
8
|
// Important to init slab allocator as first thing, to ensure maximum memory efficiency.
|
|
9
9
|
const CIRCUIT_SIZE = 2 ** 19;
|
|
10
10
|
await api.commonInitSlabAllocator(CIRCUIT_SIZE);
|
|
@@ -17,6 +17,6 @@ describe('simple', () => {
|
|
|
17
17
|
it('should construct 512k gate proof', async () => {
|
|
18
18
|
const valid = await api.examplesSimpleCreateAndVerifyProof();
|
|
19
19
|
expect(valid).toBe(true);
|
|
20
|
-
},
|
|
20
|
+
}, 300000);
|
|
21
21
|
});
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXhhbXBsZXMvc2ltcGxlLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDdEIsSUFBSSxHQUFpQixDQUFDO0lBRXRCLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNuQixHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFL0Isd0ZBQXdGO1FBQ3hGLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxHQUFHLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsTUFBTSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxHQUFHLENBQUMsa0NBQWtDLEVBQUUsQ0FBQztRQUM3RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDIn0=
|
package/dest/node/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export * from './barretenberg_api/index.js';
|
|
4
|
-
export * from './factory/index.js';
|
|
1
|
+
export { Crs } from './crs/index.js';
|
|
2
|
+
export { Barretenberg } from './barretenberg/index.js';
|
|
5
3
|
export { RawBuffer } from './types/index.js';
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dest/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dest/node/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export * from './barretenberg_api/index.js';
|
|
4
|
-
export * from './factory/index.js';
|
|
1
|
+
export { Crs } from './crs/index.js';
|
|
2
|
+
export { Barretenberg } from './barretenberg/index.js';
|
|
5
3
|
export { RawBuffer } from './types/index.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUMifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": {
|
|
3
|
+
"name": "PLONK-CSAT",
|
|
4
|
+
"width": 3
|
|
5
|
+
},
|
|
6
|
+
"opcodes_supported": ["arithmetic", "directive", "brillig", "memory_init", "memory_op"],
|
|
7
|
+
"black_box_functions_supported": [
|
|
8
|
+
"and",
|
|
9
|
+
"xor",
|
|
10
|
+
"range",
|
|
11
|
+
"sha256",
|
|
12
|
+
"blake2s",
|
|
13
|
+
"keccak256",
|
|
14
|
+
"schnorr_verify",
|
|
15
|
+
"pedersen",
|
|
16
|
+
"hash_to_field_128_security",
|
|
17
|
+
"ecdsa_secp256k1",
|
|
18
|
+
"ecdsa_secp256r1",
|
|
19
|
+
"fixed_base_scalar_mul",
|
|
20
|
+
"recursive_aggregation"
|
|
21
|
+
]
|
|
22
|
+
}
|
package/dest/node/main.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
export declare function proveAndVerify(bytecodePath: string, witnessPath: string, crsPath: string, isRecursive: boolean): Promise<boolean>;
|
|
3
3
|
export declare function prove(bytecodePath: string, witnessPath: string, crsPath: string, isRecursive: boolean, outputPath: string): Promise<void>;
|
|
4
4
|
export declare function gateCount(bytecodePath: string): Promise<void>;
|
|
5
|
+
export declare function acvmInfo(outputPath: string): void;
|
|
5
6
|
export declare function verify(proofPath: string, isRecursive: boolean, vkPath: string): Promise<boolean>;
|
|
6
7
|
export declare function contract(outputPath: string, vkPath: string): Promise<void>;
|
|
7
8
|
export declare function writeVk(bytecodePath: string, crsPath: string, outputPath: string): Promise<void>;
|
|
8
|
-
export declare function proofAsFields(proofPath: string,
|
|
9
|
+
export declare function proofAsFields(proofPath: string, vkPath: string, outputPath: string): Promise<void>;
|
|
9
10
|
export declare function vkAsFields(vkPath: string, vkeyOutputPath: string): Promise<void>;
|
|
10
11
|
//# sourceMappingURL=main.d.ts.map
|
package/dest/node/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAiFA,wBAAsB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,oBAepH;AAED,wBAAsB,KAAK,CACzB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,UAAU,EAAE,MAAM,iBAoBnB;AAED,wBAAsB,SAAS,CAAC,YAAY,EAAE,MAAM,iBAOnD;AAED,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,QAS1C;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,iBAgBhE;AAED,wBAAsB,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAoBtF;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAyBxF;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,iBAsBtE"}
|
package/dest/node/main.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Crs,
|
|
2
|
+
import { Crs, Barretenberg, RawBuffer } from './index.js';
|
|
3
3
|
import createDebug from 'debug';
|
|
4
4
|
import { readFileSync, writeFileSync } from 'fs';
|
|
5
5
|
import { gunzipSync } from 'zlib';
|
|
6
6
|
import { Command } from 'commander';
|
|
7
|
+
import acvmInfoJson from './info.json' assert { type: 'json' };
|
|
7
8
|
createDebug.log = console.error.bind(console);
|
|
8
9
|
const debug = createDebug('bb.js');
|
|
9
10
|
// Maximum we support in node and the browser is 2^19.
|
|
@@ -14,9 +15,8 @@ const debug = createDebug('bb.js');
|
|
|
14
15
|
// creating the same proofs in the node CLI.
|
|
15
16
|
const MAX_CIRCUIT_SIZE = 2 ** 19;
|
|
16
17
|
function getBytecode(bytecodePath) {
|
|
17
|
-
const encodedCircuit = readFileSync(bytecodePath
|
|
18
|
-
const
|
|
19
|
-
const decompressed = gunzipSync(buffer);
|
|
18
|
+
const encodedCircuit = readFileSync(bytecodePath);
|
|
19
|
+
const decompressed = gunzipSync(encodedCircuit);
|
|
20
20
|
return decompressed;
|
|
21
21
|
}
|
|
22
22
|
async function getGates(bytecodePath, api) {
|
|
@@ -35,7 +35,7 @@ async function computeCircuitSize(bytecodePath, api) {
|
|
|
35
35
|
return { exact, total, subgroup };
|
|
36
36
|
}
|
|
37
37
|
async function init(bytecodePath, crsPath) {
|
|
38
|
-
const api = await
|
|
38
|
+
const api = await Barretenberg.new();
|
|
39
39
|
const circuitSize = await getGates(bytecodePath, api);
|
|
40
40
|
const subgroupSize = Math.pow(2, Math.ceil(Math.log2(circuitSize)));
|
|
41
41
|
if (subgroupSize > MAX_CIRCUIT_SIZE) {
|
|
@@ -55,7 +55,7 @@ async function init(bytecodePath, crsPath) {
|
|
|
55
55
|
return { api, acirComposer, circuitSize: subgroupSize };
|
|
56
56
|
}
|
|
57
57
|
async function initLite() {
|
|
58
|
-
const api = await
|
|
58
|
+
const api = await Barretenberg.new(1);
|
|
59
59
|
// Plus 1 needed! (Move +1 into Crs?)
|
|
60
60
|
const crs = await Crs.new(1);
|
|
61
61
|
// Load CRS into wasm global CRS state.
|
|
@@ -101,7 +101,7 @@ export async function prove(bytecodePath, witnessPath, crsPath, isRecursive, out
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
export async function gateCount(bytecodePath) {
|
|
104
|
-
const api = await
|
|
104
|
+
const api = await Barretenberg.new(1);
|
|
105
105
|
try {
|
|
106
106
|
process.stdout.write(`${await getGates(bytecodePath, api)}`);
|
|
107
107
|
}
|
|
@@ -109,6 +109,17 @@ export async function gateCount(bytecodePath) {
|
|
|
109
109
|
await api.destroy();
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
+
export function acvmInfo(outputPath) {
|
|
113
|
+
const stringifiedJson = JSON.stringify(acvmInfoJson, null, 2);
|
|
114
|
+
if (outputPath === '-') {
|
|
115
|
+
process.stdout.write(stringifiedJson);
|
|
116
|
+
debug(`info written to stdout`);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
writeFileSync(outputPath, stringifiedJson);
|
|
120
|
+
debug(`info written to: ${outputPath}`);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
112
123
|
export async function verify(proofPath, isRecursive, vkPath) {
|
|
113
124
|
const { api, acirComposer } = await initLite();
|
|
114
125
|
try {
|
|
@@ -160,11 +171,12 @@ export async function writeVk(bytecodePath, crsPath, outputPath) {
|
|
|
160
171
|
await api.destroy();
|
|
161
172
|
}
|
|
162
173
|
}
|
|
163
|
-
export async function proofAsFields(proofPath,
|
|
174
|
+
export async function proofAsFields(proofPath, vkPath, outputPath) {
|
|
164
175
|
const { api, acirComposer } = await initLite();
|
|
165
176
|
try {
|
|
166
177
|
debug('serializing proof byte array into field elements');
|
|
167
|
-
const
|
|
178
|
+
const numPublicInputs = readFileSync(vkPath).readUint32BE(8);
|
|
179
|
+
const proofAsFields = await api.acirSerializeProofIntoFields(acirComposer, readFileSync(proofPath), numPublicInputs);
|
|
168
180
|
const jsonProofAsFields = JSON.stringify(proofAsFields.map(f => f.toString()));
|
|
169
181
|
if (outputPath === '-') {
|
|
170
182
|
process.stdout.write(jsonProofAsFields);
|
|
@@ -213,8 +225,8 @@ function handleGlobalOptions() {
|
|
|
213
225
|
program
|
|
214
226
|
.command('prove_and_verify')
|
|
215
227
|
.description('Generate a proof and verify it. Process exits with success or failure code.')
|
|
216
|
-
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/
|
|
217
|
-
.option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.
|
|
228
|
+
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/acir.gz')
|
|
229
|
+
.option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
|
|
218
230
|
.option('-r, --recursive', 'prove and verify using recursive prover and verifier', false)
|
|
219
231
|
.action(async ({ bytecodePath, witnessPath, recursive, crsPath }) => {
|
|
220
232
|
handleGlobalOptions();
|
|
@@ -224,8 +236,8 @@ program
|
|
|
224
236
|
program
|
|
225
237
|
.command('prove')
|
|
226
238
|
.description('Generate a proof and write it to a file.')
|
|
227
|
-
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/
|
|
228
|
-
.option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.
|
|
239
|
+
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/acir.gz')
|
|
240
|
+
.option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
|
|
229
241
|
.option('-r, --recursive', 'prove using recursive prover', false)
|
|
230
242
|
.option('-o, --output-path <path>', 'Specify the proof output path', './proofs/proof')
|
|
231
243
|
.action(async ({ bytecodePath, witnessPath, recursive, outputPath, crsPath }) => {
|
|
@@ -235,7 +247,7 @@ program
|
|
|
235
247
|
program
|
|
236
248
|
.command('gates')
|
|
237
249
|
.description('Print gate count to standard output.')
|
|
238
|
-
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/
|
|
250
|
+
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/acir.gz')
|
|
239
251
|
.action(async ({ bytecodePath: bytecodePath }) => {
|
|
240
252
|
handleGlobalOptions();
|
|
241
253
|
await gateCount(bytecodePath);
|
|
@@ -254,17 +266,17 @@ program
|
|
|
254
266
|
program
|
|
255
267
|
.command('contract')
|
|
256
268
|
.description('Output solidity verification key contract.')
|
|
257
|
-
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/
|
|
269
|
+
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/acir.gz')
|
|
258
270
|
.option('-o, --output-path <path>', 'Specify the path to write the contract', './target/contract.sol')
|
|
259
|
-
.requiredOption('-k, --vk <path>', '
|
|
260
|
-
.action(async ({ outputPath,
|
|
271
|
+
.requiredOption('-k, --vk-path <path>', 'Path to a verification key. avoids recomputation.')
|
|
272
|
+
.action(async ({ outputPath, vkPath }) => {
|
|
261
273
|
handleGlobalOptions();
|
|
262
|
-
await contract(outputPath,
|
|
274
|
+
await contract(outputPath, vkPath);
|
|
263
275
|
});
|
|
264
276
|
program
|
|
265
277
|
.command('write_vk')
|
|
266
278
|
.description('Output verification key.')
|
|
267
|
-
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/
|
|
279
|
+
.option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/acir.gz')
|
|
268
280
|
.requiredOption('-o, --output-path <path>', 'Specify the path to write the key')
|
|
269
281
|
.action(async ({ bytecodePath, outputPath, crsPath }) => {
|
|
270
282
|
handleGlobalOptions();
|
|
@@ -274,20 +286,28 @@ program
|
|
|
274
286
|
.command('proof_as_fields')
|
|
275
287
|
.description('Return the proof as fields elements')
|
|
276
288
|
.requiredOption('-p, --proof-path <path>', 'Specify the proof path')
|
|
277
|
-
.requiredOption('-
|
|
289
|
+
.requiredOption('-k, --vk-path <path>', 'Path to verification key.')
|
|
278
290
|
.requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the proof fields')
|
|
279
|
-
.action(async ({ proofPath,
|
|
291
|
+
.action(async ({ proofPath, vkPath, outputPath }) => {
|
|
280
292
|
handleGlobalOptions();
|
|
281
|
-
await proofAsFields(proofPath,
|
|
293
|
+
await proofAsFields(proofPath, vkPath, outputPath);
|
|
282
294
|
});
|
|
283
295
|
program
|
|
284
296
|
.command('vk_as_fields')
|
|
285
297
|
.description('Return the verification key represented as fields elements. Also return the verification key hash.')
|
|
286
|
-
.requiredOption('-
|
|
298
|
+
.requiredOption('-k, --vk-path <path>', 'Path to verification key.')
|
|
287
299
|
.requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the verification key fields and key hash')
|
|
288
|
-
.action(async ({
|
|
300
|
+
.action(async ({ vkPath, outputPath }) => {
|
|
301
|
+
handleGlobalOptions();
|
|
302
|
+
await vkAsFields(vkPath, outputPath);
|
|
303
|
+
});
|
|
304
|
+
program
|
|
305
|
+
.command('info')
|
|
306
|
+
.description('Return ACVM related metadata about the backend')
|
|
307
|
+
.requiredOption('-o, --output-path <path>', 'Specify the path to write the JSON information to')
|
|
308
|
+
.action(({ outputPath }) => {
|
|
289
309
|
handleGlobalOptions();
|
|
290
|
-
|
|
310
|
+
acvmInfo(outputPath);
|
|
291
311
|
});
|
|
292
312
|
program.name('bb.js').parse(process.argv);
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUF3Qix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0YsT0FBTyxXQUFXLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxXQUFXLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUVuQyxzREFBc0Q7QUFDdEQsK0RBQStEO0FBQy9ELEVBQUU7QUFDRiwrREFBK0Q7QUFDL0QsK0RBQStEO0FBQy9ELDRDQUE0QztBQUM1QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7QUFFakMsU0FBUyxXQUFXLENBQUMsWUFBb0I7SUFDdkMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELEtBQUssVUFBVSxRQUFRLENBQUMsWUFBb0IsRUFBRSxHQUF5QjtJQUNyRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFD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
|
|
313
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUQsT0FBTyxXQUFXLE1BQU0sT0FBTyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLFlBQVksTUFBTSxhQUFhLENBQUMsU0FBUyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFDL0QsV0FBVyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFFbkMsc0RBQXNEO0FBQ3RELCtEQUErRDtBQUMvRCxFQUFFO0FBQ0YsK0RBQStEO0FBQy9ELCtEQUErRDtBQUMvRCw0Q0FBNEM7QUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBRWpDLFNBQVMsV0FBVyxDQUFDLFlBQW9CO0lBQ3ZDLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELEtBQUssVUFBVSxRQUFRLENBQUMsWUFBb0IsRUFBRSxHQUFpQjtJQUM3RCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUQsT0FBTyxL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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/random/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/random/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './node/index.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcmFuZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUMifQ==
|
|
@@ -2,7 +2,7 @@ var _a, _b;
|
|
|
2
2
|
import { randomBytes } from '../random/index.js';
|
|
3
3
|
import { toBigIntBE, toBufferBE } from '../bigint-array/index.js';
|
|
4
4
|
import { BufferReader, uint8ArrayToHexString } from '../serialize/index.js';
|
|
5
|
-
|
|
5
|
+
class Fr {
|
|
6
6
|
constructor(value) {
|
|
7
7
|
this.value = value;
|
|
8
8
|
if (value > Fr.MAX_VALUE) {
|
|
@@ -42,7 +42,8 @@ Fr.ZERO = new Fr(0n);
|
|
|
42
42
|
Fr.MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
43
43
|
Fr.MAX_VALUE = _a.MODULUS - 1n;
|
|
44
44
|
Fr.SIZE_IN_BYTES = 32;
|
|
45
|
-
export
|
|
45
|
+
export { Fr };
|
|
46
|
+
class Fq {
|
|
46
47
|
constructor(value) {
|
|
47
48
|
this.value = value;
|
|
48
49
|
if (value > Fq.MAX_VALUE) {
|
|
@@ -81,4 +82,5 @@ _b = Fq;
|
|
|
81
82
|
Fq.MODULUS = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n;
|
|
82
83
|
Fq.MAX_VALUE = _b.MODULUS - 1n;
|
|
83
84
|
Fq.SIZE_IN_BYTES = 32;
|
|
84
|
-
|
|
85
|
+
export { Fq };
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3R5cGVzL2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVFLE1BQWEsRUFBRTtJQU1iLFlBQTRCLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ3ZDLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsS0FBSyxHQUFHLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTTtRQUNYLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBaUM7UUFDakQsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFpQztRQUN2RCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1B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
|