@aztec/bb.js 0.5.0 → 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
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Barretenberg } from '../barretenberg/index.js';
|
|
2
2
|
import { Fr } from '../types/index.js';
|
|
3
3
|
describe('pedersen', () => {
|
|
4
4
|
let api;
|
|
5
5
|
beforeAll(async () => {
|
|
6
|
-
api = await
|
|
7
|
-
api.pedersenHashInit();
|
|
8
|
-
});
|
|
6
|
+
api = await Barretenberg.new(1);
|
|
7
|
+
await api.pedersenHashInit();
|
|
8
|
+
}, 30000);
|
|
9
9
|
afterAll(async () => {
|
|
10
10
|
await api.destroy();
|
|
11
11
|
});
|
|
12
|
-
it('pedersenCompressFields', () => {
|
|
13
|
-
const result = api.pedersenCompressFields(new Fr(4n), new Fr(8n));
|
|
12
|
+
it('pedersenCompressFields', async () => {
|
|
13
|
+
const result = await api.pedersenCompressFields(new Fr(4n), new Fr(8n));
|
|
14
14
|
expect(result).toEqual(new Fr(16672613430297770667465722499387909817686322516130512258122141976728892914370n));
|
|
15
15
|
});
|
|
16
|
-
it('pedersenPlookupCompressFields', () => {
|
|
17
|
-
const result = api.pedersenPlookupCompressFields(new Fr(4n), new Fr(8n));
|
|
16
|
+
it('pedersenPlookupCompressFields', async () => {
|
|
17
|
+
const result = await api.pedersenPlookupCompressFields(new Fr(4n), new Fr(8n));
|
|
18
18
|
expect(result).toEqual(new Fr(21568810706345846819294487214368613840251909831689369685420108292337497444070n));
|
|
19
19
|
});
|
|
20
|
-
it('pedersenCompress', () => {
|
|
21
|
-
const result = api.pedersenCompress([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
20
|
+
it('pedersenCompress', async () => {
|
|
21
|
+
const result = await api.pedersenCompress([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
22
22
|
expect(result).toEqual(new Fr(20749503715308760529311051818180468653739005441229560405092292242074298877245n));
|
|
23
23
|
});
|
|
24
|
-
it('pedersenPlookupCompress', () => {
|
|
25
|
-
const result = api.pedersenPlookupCompress([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
24
|
+
it('pedersenPlookupCompress', async () => {
|
|
25
|
+
const result = await api.pedersenPlookupCompress([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
26
26
|
expect(result).toEqual(new Fr(4213911891650716450883144878301329379460622830501147795631256054071351353887n));
|
|
27
27
|
});
|
|
28
|
-
it('pedersenCompressWithHashIndex', () => {
|
|
29
|
-
const result = api.pedersenCompressWithHashIndex([new Fr(4n), new Fr(8n)], 7);
|
|
28
|
+
it('pedersenCompressWithHashIndex', async () => {
|
|
29
|
+
const result = await api.pedersenCompressWithHashIndex([new Fr(4n), new Fr(8n)], 7);
|
|
30
30
|
expect(result).toEqual(new Fr(11068631634751286805527305272746775861010877976108429785597565355072506728435n));
|
|
31
31
|
});
|
|
32
|
-
it('pedersenCommit', () => {
|
|
33
|
-
const result = api.pedersenCommit([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
32
|
+
it('pedersenCommit', async () => {
|
|
33
|
+
const result = await api.pedersenCommit([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
34
34
|
expect(result).toEqual(new Fr(20749503715308760529311051818180468653739005441229560405092292242074298877245n));
|
|
35
35
|
});
|
|
36
|
-
it('pedersenPlookupCommit', () => {
|
|
37
|
-
const result = api.pedersenPlookupCommit([new Fr(4n), new Fr(8n)]);
|
|
36
|
+
it('pedersenPlookupCommit', async () => {
|
|
37
|
+
const result = await api.pedersenPlookupCommit([new Fr(4n), new Fr(8n)]);
|
|
38
38
|
expect(result).toEqual(new Fr(21568810706345846819294487214368613840251909831689369685420108292337497444070n));
|
|
39
39
|
});
|
|
40
|
-
it('pedersenBufferToField', () => {
|
|
41
|
-
const result = api.pedersenBufferToField(Buffer.from('Hello world! I am a buffer to be converted to a field!'));
|
|
40
|
+
it('pedersenBufferToField', async () => {
|
|
41
|
+
const result = await api.pedersenBufferToField(Buffer.from('Hello world! I am a buffer to be converted to a field!'));
|
|
42
42
|
expect(result).toEqual(new Fr(4923399520610513632896240312051201308554838580477778325691012985962614653619n));
|
|
43
43
|
});
|
|
44
|
-
it('pedersenHashPair', () => {
|
|
45
|
-
const result = api.pedersenHashPair(new Fr(4n), new Fr(8n));
|
|
44
|
+
it('pedersenHashPair', async () => {
|
|
45
|
+
const result = await api.pedersenHashPair(new Fr(4n), new Fr(8n));
|
|
46
46
|
expect(result).toEqual(new Fr(7508407170365331152493586290597472346478280823936748458450026785528968221772n));
|
|
47
47
|
});
|
|
48
|
-
it('pedersenHashMultiple', () => {
|
|
49
|
-
const result = api.pedersenHashMultiple([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
48
|
+
it('pedersenHashMultiple', async () => {
|
|
49
|
+
const result = await api.pedersenHashMultiple([new Fr(4n), new Fr(8n), new Fr(12n)]);
|
|
50
50
|
expect(result).toEqual(new Fr(641613987782189905475142047603559162464012327378197326488471789040703504911n));
|
|
51
51
|
});
|
|
52
|
-
it('pedersenHashMultipleWithHashIndex', () => {
|
|
53
|
-
const result = api.pedersenHashMultipleWithHashIndex([new Fr(4n), new Fr(8n)], 7);
|
|
52
|
+
it('pedersenHashMultipleWithHashIndex', async () => {
|
|
53
|
+
const result = await api.pedersenHashMultipleWithHashIndex([new Fr(4n), new Fr(8n)], 7);
|
|
54
54
|
expect(result).toEqual(new Fr(14181105996307540196932058280391669339364159586581375348016341320932872505408n));
|
|
55
55
|
});
|
|
56
|
-
it('pedersenHashToTree', () => {
|
|
57
|
-
const result = api.pedersenHashToTree([new Fr(4n), new Fr(8n), new Fr(12n), new Fr(16n)]);
|
|
56
|
+
it('pedersenHashToTree', async () => {
|
|
57
|
+
const result = await api.pedersenHashToTree([new Fr(4n), new Fr(8n), new Fr(12n), new Fr(16n)]);
|
|
58
58
|
expect(result).toEqual([
|
|
59
59
|
new Fr(4n),
|
|
60
60
|
new Fr(8n),
|
|
@@ -66,4 +66,4 @@ describe('pedersen', () => {
|
|
|
66
66
|
]);
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfYXBpL3BlZGVyc2VuLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2QyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtJQUN4QixJQUFJLEdBQWlCLENBQUM7SUFFdEIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ25CLEdBQUcsR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsTUFBTSxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMvQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFVixRQUFRLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbEIsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLDhFQUE4RSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJ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
|
|
@@ -1,113 +1,114 @@
|
|
|
1
1
|
import { TextEncoder } from 'util';
|
|
2
2
|
import { Buffer128, Buffer32, Fr, Point } from '../types/index.js';
|
|
3
|
-
import {
|
|
3
|
+
import { Barretenberg } from '../barretenberg/index.js';
|
|
4
|
+
import { asyncMap } from '../async_map/index.js';
|
|
4
5
|
describe('schnorr', () => {
|
|
5
6
|
const msg = Buffer.from(new TextEncoder().encode('The quick brown dog jumped over the lazy fox.'));
|
|
6
7
|
let api;
|
|
7
8
|
beforeAll(async () => {
|
|
8
|
-
api = await
|
|
9
|
-
api.pedersenInit();
|
|
10
|
-
});
|
|
9
|
+
api = await Barretenberg.new(1);
|
|
10
|
+
await api.pedersenInit();
|
|
11
|
+
}, 30000);
|
|
11
12
|
afterAll(async () => {
|
|
12
13
|
await api.destroy();
|
|
13
14
|
});
|
|
14
|
-
it('should verify signature', () => {
|
|
15
|
+
it('should verify signature', async () => {
|
|
15
16
|
const pk = Fr.fromBuffer(new Uint8Array([
|
|
16
17
|
0x0b, 0x9b, 0x3a, 0xde, 0xe6, 0xb3, 0xd8, 0x1b, 0x28, 0xa0, 0x88, 0x6b, 0x2a, 0x84, 0x15, 0xc7, 0xda, 0x31,
|
|
17
18
|
0x29, 0x1a, 0x5e, 0x96, 0xbb, 0x7a, 0x56, 0x63, 0x9e, 0x17, 0x7d, 0x30, 0x1b, 0xeb,
|
|
18
19
|
]));
|
|
19
|
-
const pubKey = api.schnorrComputePublicKey(pk);
|
|
20
|
-
const [s, e] = api.schnorrConstructSignature(msg, pk);
|
|
21
|
-
const verified = api.schnorrVerifySignature(msg, pubKey, s, e);
|
|
20
|
+
const pubKey = await api.schnorrComputePublicKey(pk);
|
|
21
|
+
const [s, e] = await api.schnorrConstructSignature(msg, pk);
|
|
22
|
+
const verified = await api.schnorrVerifySignature(msg, pubKey, s, e);
|
|
22
23
|
expect(verified).toBe(true);
|
|
23
24
|
});
|
|
24
|
-
it('public key negation should work', () => {
|
|
25
|
+
it('public key negation should work', async () => {
|
|
25
26
|
const publicKeyStr = '0x164f01b1011a1b292217acf53eef4d74f625f6e9bd5edfdb74c56fd81aafeebb21912735f9266a3719f61c1eb747ddee0cac9917f5c807485d356709b529b62c';
|
|
26
27
|
const publicKey = Point.fromString(publicKeyStr);
|
|
27
28
|
// hardcoded expected negated public key
|
|
28
29
|
const expectedInvertedStr = '0x164f01b1011a1b292217acf53eef4d74f625f6e9bd5edfdb74c56fd81aafeebb0ed3273ce80b35f29e5a2997ca397a6f1b874f3083f16948e6ac8e8a3ad649d5';
|
|
29
30
|
const expectedInverted = Point.fromString(expectedInvertedStr);
|
|
30
31
|
// negate - should match expected negated key
|
|
31
|
-
const negatedPublicKey = api.schnorrNegatePublicKey(publicKey);
|
|
32
|
+
const negatedPublicKey = await api.schnorrNegatePublicKey(publicKey);
|
|
32
33
|
expect(negatedPublicKey.equals(expectedInverted)).toEqual(true);
|
|
33
34
|
// negate again - should be original public key now
|
|
34
|
-
expect(api.schnorrNegatePublicKey(negatedPublicKey).equals(publicKey)).toEqual(true);
|
|
35
|
+
expect((await api.schnorrNegatePublicKey(negatedPublicKey)).equals(publicKey)).toEqual(true);
|
|
35
36
|
});
|
|
36
|
-
it('should create + verify multi signature', () => {
|
|
37
|
+
it('should create + verify multi signature', async () => {
|
|
37
38
|
// set up multisig accounts
|
|
38
39
|
const numSigners = 7;
|
|
39
40
|
const pks = [...Array(numSigners)].map(() => Fr.random());
|
|
40
|
-
const pubKeys = pks
|
|
41
|
+
const pubKeys = await asyncMap(pks, pk => api.schnorrMultisigCreateMultisigPublicKey(pk));
|
|
41
42
|
// round one
|
|
42
43
|
const roundOnePublicOutputs = [];
|
|
43
44
|
const roundOnePrivateOutputs = [];
|
|
44
45
|
for (let i = 0; i < numSigners; ++i) {
|
|
45
|
-
const [publicOutput, privateOutput] = api.schnorrMultisigConstructSignatureRound1();
|
|
46
|
+
const [publicOutput, privateOutput] = await api.schnorrMultisigConstructSignatureRound1();
|
|
46
47
|
roundOnePublicOutputs.push(publicOutput);
|
|
47
48
|
roundOnePrivateOutputs.push(privateOutput);
|
|
48
49
|
}
|
|
49
50
|
// round two
|
|
50
|
-
const roundTwoOutputs = pks
|
|
51
|
+
const roundTwoOutputs = await asyncMap(pks, async (pk, i) => (await api.schnorrMultisigConstructSignatureRound2(msg, pk, roundOnePrivateOutputs[i], pubKeys, roundOnePublicOutputs))[0]);
|
|
51
52
|
// generate signature
|
|
52
|
-
const [s, e] = api.schnorrMultisigCombineSignatures(msg, pubKeys, roundOnePublicOutputs, roundTwoOutputs);
|
|
53
|
-
const [combinedKey] = api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys);
|
|
53
|
+
const [s, e] = await api.schnorrMultisigCombineSignatures(msg, pubKeys, roundOnePublicOutputs, roundTwoOutputs);
|
|
54
|
+
const [combinedKey] = await api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys);
|
|
54
55
|
expect(combinedKey).not.toEqual(Buffer.alloc(64));
|
|
55
|
-
const verified = api.schnorrVerifySignature(msg, combinedKey, s, e);
|
|
56
|
+
const verified = await api.schnorrVerifySignature(msg, combinedKey, s, e);
|
|
56
57
|
expect(verified).toBe(true);
|
|
57
58
|
});
|
|
58
|
-
it('should identify invalid multi signature', () => {
|
|
59
|
+
it('should identify invalid multi signature', async () => {
|
|
59
60
|
const pks = [...Array(3)].map(() => Fr.random());
|
|
60
|
-
const pubKeys = pks
|
|
61
|
-
const [combinedKey] = api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys);
|
|
62
|
-
const verified = api.schnorrVerifySignature(msg, combinedKey, Buffer32.random(), Buffer32.random());
|
|
61
|
+
const pubKeys = await asyncMap(pks, pk => api.schnorrMultisigCreateMultisigPublicKey(pk));
|
|
62
|
+
const [combinedKey] = await api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys);
|
|
63
|
+
const verified = await api.schnorrVerifySignature(msg, combinedKey, Buffer32.random(), Buffer32.random());
|
|
63
64
|
expect(verified).toBe(false);
|
|
64
65
|
});
|
|
65
|
-
it('should not construct invalid multi signature', () => {
|
|
66
|
+
it('should not construct invalid multi signature', async () => {
|
|
66
67
|
// set up multisig accounts
|
|
67
68
|
const numSigners = 7;
|
|
68
69
|
const pks = [...Array(numSigners)].map(() => Fr.random());
|
|
69
|
-
const pubKeys = pks
|
|
70
|
+
const pubKeys = await asyncMap(pks, pk => api.schnorrMultisigCreateMultisigPublicKey(pk));
|
|
70
71
|
// round one
|
|
71
72
|
const roundOnePublicOutputs = [];
|
|
72
73
|
const roundOnePrivateOutputs = [];
|
|
73
74
|
for (let i = 0; i < numSigners; ++i) {
|
|
74
|
-
const [publicOutput, privateOutput] = api.schnorrMultisigConstructSignatureRound1();
|
|
75
|
+
const [publicOutput, privateOutput] = await api.schnorrMultisigConstructSignatureRound1();
|
|
75
76
|
roundOnePublicOutputs.push(publicOutput);
|
|
76
77
|
roundOnePrivateOutputs.push(privateOutput);
|
|
77
78
|
}
|
|
78
79
|
// round two
|
|
79
|
-
const roundTwoOutputs = pks
|
|
80
|
+
const roundTwoOutputs = await asyncMap(pks, async (pk, i) => (await api.schnorrMultisigConstructSignatureRound2(msg, pk, roundOnePrivateOutputs[i], pubKeys, roundOnePublicOutputs))[0]);
|
|
80
81
|
// wrong number of data
|
|
81
82
|
{
|
|
82
|
-
expect(api.schnorrMultisigCombineSignatures(msg, pubKeys.slice(0, -1), roundOnePublicOutputs.slice(0, -1), roundTwoOutputs.slice(0, -1))[2]).toBe(false);
|
|
83
|
+
expect((await api.schnorrMultisigCombineSignatures(msg, pubKeys.slice(0, -1), roundOnePublicOutputs.slice(0, -1), roundTwoOutputs.slice(0, -1)))[2]).toBe(false);
|
|
83
84
|
}
|
|
84
85
|
// invalid round two output
|
|
85
86
|
{
|
|
86
87
|
const invalidOutputs = [...roundTwoOutputs];
|
|
87
|
-
invalidOutputs[1] = api.schnorrMultisigConstructSignatureRound2(msg, pks[2], // <- Wrong private key.
|
|
88
|
-
roundOnePrivateOutputs[1], pubKeys, roundOnePublicOutputs)[0];
|
|
89
|
-
expect(api.schnorrMultisigCombineSignatures(msg, pubKeys, roundOnePublicOutputs, invalidOutputs)[2]).toBe(false);
|
|
88
|
+
invalidOutputs[1] = (await api.schnorrMultisigConstructSignatureRound2(msg, pks[2], // <- Wrong private key.
|
|
89
|
+
roundOnePrivateOutputs[1], pubKeys, roundOnePublicOutputs))[0];
|
|
90
|
+
expect((await api.schnorrMultisigCombineSignatures(msg, pubKeys, roundOnePublicOutputs, invalidOutputs))[2]).toBe(false);
|
|
90
91
|
}
|
|
91
92
|
// contains duplicates
|
|
92
93
|
{
|
|
93
94
|
const invalidOutputs = [...roundTwoOutputs];
|
|
94
95
|
invalidOutputs[1] = roundTwoOutputs[2];
|
|
95
|
-
expect(api.schnorrMultisigCombineSignatures(msg, pubKeys, roundOnePublicOutputs, invalidOutputs)[2]).toBe(false);
|
|
96
|
+
expect((await api.schnorrMultisigCombineSignatures(msg, pubKeys, roundOnePublicOutputs, invalidOutputs))[2]).toBe(false);
|
|
96
97
|
}
|
|
97
98
|
});
|
|
98
|
-
it('should not create combined key from public keys containing invalid key', () => {
|
|
99
|
+
it('should not create combined key from public keys containing invalid key', async () => {
|
|
99
100
|
const pks = [...Array(5)].map(() => Fr.random());
|
|
100
|
-
const pubKeys = pks
|
|
101
|
+
const pubKeys = await asyncMap(pks, pk => api.schnorrMultisigCreateMultisigPublicKey(pk));
|
|
101
102
|
// not a valid point
|
|
102
103
|
{
|
|
103
104
|
pubKeys[1] = new Buffer128(Buffer.alloc(128));
|
|
104
|
-
expect(api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys)[1]).toBe(false);
|
|
105
|
+
expect((await api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys))[1]).toBe(false);
|
|
105
106
|
}
|
|
106
107
|
// contains duplicates
|
|
107
108
|
{
|
|
108
109
|
pubKeys[1] = pubKeys[2];
|
|
109
|
-
expect(api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys)[1]).toBe(false);
|
|
110
|
+
expect((await api.schnorrMultisigValidateAndCombineSignerPubkeys(pubKeys))[1]).toBe(false);
|
|
110
111
|
}
|
|
111
112
|
});
|
|
112
113
|
});
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nobm9yci50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZ19hcGkvc2Nobm9yci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakQsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDdkIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDLENBQUM7SUFDbkcsSUFBSSxHQUFpQixDQUFDO0lBRXRCLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNuQixHQUFHLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUN0QixJQUFJLFVBQVUsQ0FBQztZQUNiLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Bufferable, OutputType } from '../serialize/index.js';
|
|
2
|
-
import { BarretenbergWasm, BarretenbergWasmWorker } from '../barretenberg_wasm/
|
|
2
|
+
import { BarretenbergWasm, BarretenbergWasmWorker } from '../barretenberg_wasm/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Keeps track of heap allocations so they can be easily freed.
|
|
5
5
|
* The WASM memory layout has 1024 bytes of unused "scratch" space at the start (addresses 0-1023).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heap_allocator.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_binder/heap_allocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"heap_allocator.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_binder/heap_allocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAuB,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAGzF;;;;;;;GAOG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,IAAI,EAAE,gBAAgB,GAAG,sBAAsB;IAE7D,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE;IAerC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE;IAgBtC,YAAY,CAAC,GAAG,EAAE,MAAM;IAMlB,OAAO;CAKd"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BarretenbergWasm, BarretenbergWasmWorker } from '../barretenberg_wasm/
|
|
1
|
+
import { BarretenbergWasm, BarretenbergWasmWorker } from '../barretenberg_wasm/index.js';
|
|
2
2
|
import { Bufferable, OutputType } from '../serialize/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Calls a WASM export function, handles allocating/freeing of memory, and serializing/deserializing to types.
|
|
@@ -23,10 +23,4 @@ export declare class BarretenbergBinder {
|
|
|
23
23
|
callWasmExport(funcName: string, inArgs: Bufferable[], outTypes: OutputType[]): Promise<any[]>;
|
|
24
24
|
private deserializeOutputArgs;
|
|
25
25
|
}
|
|
26
|
-
export declare class BarretenbergBinderSync {
|
|
27
|
-
wasm: BarretenbergWasm;
|
|
28
|
-
constructor(wasm: BarretenbergWasm);
|
|
29
|
-
callWasmExport(funcName: string, inArgs: Bufferable[], outTypes: OutputType[]): any[];
|
|
30
|
-
private deserializeOutputArgs;
|
|
31
|
-
}
|
|
32
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_binder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_binder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAM/D;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAkB;IACV,IAAI,EAAE,gBAAgB,GAAG,sBAAsB;gBAA/C,IAAI,EAAE,gBAAgB,GAAG,sBAAsB;IAE5D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAUnF,OAAO,CAAC,qBAAqB;CAoB9B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HeapAllocator } from './heap_allocator.js';
|
|
2
2
|
import { asyncMap } from '../async_map/index.js';
|
|
3
|
-
import
|
|
3
|
+
// import createDebug from 'debug';
|
|
4
|
+
// const debug = createDebug('bb.js:barretenberg_binder');
|
|
4
5
|
/**
|
|
5
6
|
* Calls a WASM export function, handles allocating/freeing of memory, and serializing/deserializing to types.
|
|
6
7
|
*
|
|
@@ -27,7 +28,7 @@ export class BarretenbergBinder {
|
|
|
27
28
|
const inPtrs = await alloc.copyToMemory(inArgs);
|
|
28
29
|
const outPtrs = await alloc.getOutputPtrs(outTypes);
|
|
29
30
|
await this.wasm.call(funcName, ...inPtrs, ...outPtrs);
|
|
30
|
-
const outArgs = this.deserializeOutputArgs(outTypes, outPtrs, alloc);
|
|
31
|
+
const outArgs = await this.deserializeOutputArgs(outTypes, outPtrs, alloc);
|
|
31
32
|
await alloc.freeAll();
|
|
32
33
|
return outArgs;
|
|
33
34
|
}
|
|
@@ -39,35 +40,14 @@ export class BarretenbergBinder {
|
|
|
39
40
|
}
|
|
40
41
|
const slice = await this.wasm.getMemorySlice(outPtrs[i], outPtrs[i] + 4);
|
|
41
42
|
const ptr = new DataView(slice.buffer, slice.byteOffset, slice.byteLength).getUint32(0, true);
|
|
43
|
+
// Add our heap buffer to the dealloc list.
|
|
42
44
|
alloc.addOutputPtr(ptr);
|
|
43
|
-
|
|
45
|
+
// The length will be found in the first 4 bytes of the buffer, big endian. See to_heap_buffer.
|
|
46
|
+
const lslice = await this.wasm.getMemorySlice(ptr, ptr + 4);
|
|
47
|
+
const length = new DataView(lslice.buffer, lslice.byteOffset, lslice.byteLength).getUint32(0, false);
|
|
48
|
+
const buf = await this.wasm.getMemorySlice(ptr + 4, ptr + 4 + length);
|
|
49
|
+
return t.fromBuffer(buf);
|
|
44
50
|
});
|
|
45
51
|
}
|
|
46
52
|
}
|
|
47
|
-
|
|
48
|
-
constructor(wasm) {
|
|
49
|
-
this.wasm = wasm;
|
|
50
|
-
}
|
|
51
|
-
callWasmExport(funcName, inArgs, outTypes) {
|
|
52
|
-
const alloc = new HeapAllocatorSync(this.wasm);
|
|
53
|
-
const inPtrs = alloc.copyToMemory(inArgs);
|
|
54
|
-
const outPtrs = alloc.getOutputPtrs(outTypes);
|
|
55
|
-
this.wasm.call(funcName, ...inPtrs, ...outPtrs);
|
|
56
|
-
const outArgs = this.deserializeOutputArgs(outTypes, outPtrs, alloc);
|
|
57
|
-
alloc.freeAll();
|
|
58
|
-
return outArgs;
|
|
59
|
-
}
|
|
60
|
-
deserializeOutputArgs(outTypes, outPtrs, alloc) {
|
|
61
|
-
return outTypes.map((t, i) => {
|
|
62
|
-
if (t.SIZE_IN_BYTES) {
|
|
63
|
-
const slice = this.wasm.getMemorySlice(outPtrs[i], outPtrs[i] + t.SIZE_IN_BYTES);
|
|
64
|
-
return t.fromBuffer(slice);
|
|
65
|
-
}
|
|
66
|
-
const slice = this.wasm.getMemorySlice(outPtrs[i], outPtrs[i] + 4);
|
|
67
|
-
const ptr = new DataView(slice.buffer, slice.byteOffset, slice.byteLength).getUint32(0, true);
|
|
68
|
-
alloc.addOutputPtr(ptr);
|
|
69
|
-
return t.fromBuffer(this.wasm.getMemorySlice(ptr));
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX2JpbmRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdEOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFtQixJQUErQztRQUEvQyxTQUFJLEdBQUosSUFBSSxDQUEyQztJQUFHLENBQUM7SUFFdEUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFnQixFQUFFLE1BQW9CLEVBQUUsUUFBc0I7UUFDakYsTUFBTSxLQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLE1BQU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUN0RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRSxNQUFNLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8scUJBQXFCLENBQUMsUUFBc0IsRUFBRSxPQUFpQixFQUFFLEtBQW9CO1FBQzNGLE9BQU8sUUFBUSxDQUFDLFFBQVEs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
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX2JpbmRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELG1DQUFtQztBQUVuQywwREFBMEQ7QUFFMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW1CLElBQStDO1FBQS9DLFNBQUksR0FBSixJQUFJLENBQTJDO0lBQUcsQ0FBQztJQUV0RSxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWdCLEVBQUUsTUFBb0IsRUFBRSxRQUFzQjtRQUNqRixNQUFNLEtBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsTUFBTSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFFBQXNCLEVBQUUsT0FBaUIsRUFBRSxLQUFvQjtRQUMzRixPQUFPLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ25CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3ZGLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1QjtZQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFOUYsMkNBQTJDO1lBQzNDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFeEIsK0ZBQStGO1lBQy9GLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFckcsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare class BarretenbergWasmBase {
|
|
2
|
+
protected memStore: {
|
|
3
|
+
[key: string]: Uint8Array;
|
|
4
|
+
};
|
|
5
|
+
protected memory: WebAssembly.Memory;
|
|
6
|
+
protected instance: WebAssembly.Instance;
|
|
7
|
+
protected logger: (msg: string) => void;
|
|
8
|
+
protected getImportObj(memory: WebAssembly.Memory): {
|
|
9
|
+
wasi_snapshot_preview1: {
|
|
10
|
+
random_get: (out: any, length: number) => void;
|
|
11
|
+
clock_time_get: (a1: number, a2: number, out: number) => void;
|
|
12
|
+
proc_exit: () => never;
|
|
13
|
+
};
|
|
14
|
+
env: {
|
|
15
|
+
/**
|
|
16
|
+
* The 'info' call we use for logging in C++, calls this under the hood.
|
|
17
|
+
* The native code will just print to std:err (to avoid std::cout which is used for IPC).
|
|
18
|
+
* Here we just emit the log line for the client to decide what to do with.
|
|
19
|
+
*/
|
|
20
|
+
logstr: (addr: number) => void;
|
|
21
|
+
get_data: (keyAddr: number, outBufAddr: number) => void;
|
|
22
|
+
set_data: (keyAddr: number, dataAddr: number, dataLength: number) => void;
|
|
23
|
+
memory: WebAssembly.Memory;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
exports(): any;
|
|
27
|
+
/**
|
|
28
|
+
* When returning values from the WASM, use >>> operator to convert signed representation to unsigned representation.
|
|
29
|
+
*/
|
|
30
|
+
call(name: string, ...args: any): number;
|
|
31
|
+
memSize(): number;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a copy of the data, not a view.
|
|
34
|
+
*/
|
|
35
|
+
getMemorySlice(start: number, end: number): Uint8Array;
|
|
36
|
+
writeMemory(offset: number, arr: Uint8Array): void;
|
|
37
|
+
private getMemory;
|
|
38
|
+
private stringFromAddress;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_base/index.ts"],"names":[],"mappings":"AAMA,qBAAa,oBAAoB;IAC/B,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAM;IACvD,SAAS,CAAC,MAAM,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,EAAG,WAAW,CAAC,QAAQ,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAS;IAEhD,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;8BAOzB,GAAG,UAAU,MAAM;iCAMhB,MAAM,MAAM,MAAM,OAAO,MAAM;;;;YAgBpD;;;;eAIG;2BACY,MAAM;gCAUD,MAAM,cAAc,MAAM;gCAa1B,MAAM,YAAY,MAAM,cAAc,MAAM;;;;IAe/D,OAAO,IAAI,GAAG;IAIrB;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG;IAc/B,OAAO;IAId;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAIzC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;CAQ1B"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import createDebug from 'debug';
|
|
2
|
+
import { randomBytes } from '../../random/index.js';
|
|
3
|
+
import { killSelf } from '../helpers/index.js';
|
|
4
|
+
const debug = createDebug('bb.js:wasm');
|
|
5
|
+
export class BarretenbergWasmBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.memStore = {};
|
|
8
|
+
this.logger = debug;
|
|
9
|
+
}
|
|
10
|
+
getImportObj(memory) {
|
|
11
|
+
/* eslint-disable camelcase */
|
|
12
|
+
const importObj = {
|
|
13
|
+
// We need to implement a part of the wasi api:
|
|
14
|
+
// https://github.com/WebAssembly/WASI/blob/main/phases/snapshot/docs.md
|
|
15
|
+
// We literally only need to support random_get, everything else is noop implementated in barretenberg.wasm.
|
|
16
|
+
wasi_snapshot_preview1: {
|
|
17
|
+
random_get: (out, length) => {
|
|
18
|
+
out = out >>> 0;
|
|
19
|
+
const randomData = randomBytes(length);
|
|
20
|
+
const mem = this.getMemory();
|
|
21
|
+
mem.set(randomData, out);
|
|
22
|
+
},
|
|
23
|
+
clock_time_get: (a1, a2, out) => {
|
|
24
|
+
out = out >>> 0;
|
|
25
|
+
const ts = BigInt(new Date().getTime()) * 1000000n;
|
|
26
|
+
const view = new DataView(this.getMemory().buffer);
|
|
27
|
+
view.setBigUint64(out, ts, true);
|
|
28
|
+
},
|
|
29
|
+
proc_exit: () => {
|
|
30
|
+
this.logger('PANIC: proc_exit was called. This is maybe caused by "joining" with unstable wasi pthreads.');
|
|
31
|
+
this.logger(new Error().stack);
|
|
32
|
+
killSelf();
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
// These are functions implementations for imports we've defined are needed.
|
|
36
|
+
// The native C++ build defines these in a module called "env". We must implement TypeScript versions here.
|
|
37
|
+
env: {
|
|
38
|
+
/**
|
|
39
|
+
* The 'info' call we use for logging in C++, calls this under the hood.
|
|
40
|
+
* The native code will just print to std:err (to avoid std::cout which is used for IPC).
|
|
41
|
+
* Here we just emit the log line for the client to decide what to do with.
|
|
42
|
+
*/
|
|
43
|
+
logstr: (addr) => {
|
|
44
|
+
const str = this.stringFromAddress(addr);
|
|
45
|
+
const m = this.getMemory();
|
|
46
|
+
const str2 = `${str} (mem: ${(m.length / (1024 * 1024)).toFixed(2)}MiB)`;
|
|
47
|
+
this.logger(str2);
|
|
48
|
+
if (str2.startsWith('WARNING:')) {
|
|
49
|
+
this.logger(new Error().stack);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
get_data: (keyAddr, outBufAddr) => {
|
|
53
|
+
const key = this.stringFromAddress(keyAddr);
|
|
54
|
+
outBufAddr = outBufAddr >>> 0;
|
|
55
|
+
const data = this.memStore[key];
|
|
56
|
+
if (!data) {
|
|
57
|
+
this.logger(`get_data miss ${key}`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// this.logger(`get_data hit ${key} size: ${data.length} dest: ${outBufAddr}`);
|
|
61
|
+
// this.logger(Buffer.from(data.slice(0, 64)).toString('hex'));
|
|
62
|
+
this.writeMemory(outBufAddr, data);
|
|
63
|
+
},
|
|
64
|
+
set_data: (keyAddr, dataAddr, dataLength) => {
|
|
65
|
+
const key = this.stringFromAddress(keyAddr);
|
|
66
|
+
dataAddr = dataAddr >>> 0;
|
|
67
|
+
this.memStore[key] = this.getMemorySlice(dataAddr, dataAddr + dataLength);
|
|
68
|
+
// this.logger(`set_data: ${key} length: ${dataLength}`);
|
|
69
|
+
},
|
|
70
|
+
memory,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
/* eslint-enable camelcase */
|
|
74
|
+
return importObj;
|
|
75
|
+
}
|
|
76
|
+
exports() {
|
|
77
|
+
return this.instance.exports;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* When returning values from the WASM, use >>> operator to convert signed representation to unsigned representation.
|
|
81
|
+
*/
|
|
82
|
+
call(name, ...args) {
|
|
83
|
+
if (!this.exports()[name]) {
|
|
84
|
+
throw new Error(`WASM function ${name} not found.`);
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
return this.exports()[name](...args) >>> 0;
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
const message = `WASM function ${name} aborted, error: ${err}`;
|
|
91
|
+
this.logger(message);
|
|
92
|
+
this.logger(err.stack);
|
|
93
|
+
throw err;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
memSize() {
|
|
97
|
+
return this.getMemory().length;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns a copy of the data, not a view.
|
|
101
|
+
*/
|
|
102
|
+
getMemorySlice(start, end) {
|
|
103
|
+
return this.getMemory().subarray(start, end).slice();
|
|
104
|
+
}
|
|
105
|
+
writeMemory(offset, arr) {
|
|
106
|
+
const mem = this.getMemory();
|
|
107
|
+
mem.set(arr, offset);
|
|
108
|
+
}
|
|
109
|
+
// PRIVATE METHODS
|
|
110
|
+
getMemory() {
|
|
111
|
+
return new Uint8Array(this.memory.buffer);
|
|
112
|
+
}
|
|
113
|
+
stringFromAddress(addr) {
|
|
114
|
+
addr = addr >>> 0;
|
|
115
|
+
const m = this.getMemory();
|
|
116
|
+
let i = addr;
|
|
117
|
+
for (; m[i] !== 0; ++i)
|
|
118
|
+
;
|
|
119
|
+
const textDecoder = new TextDecoder('ascii');
|
|
120
|
+
return textDecoder.decode(m.slice(addr, i));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFeEMsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNZLGFBQVEsR0FBa0MsRUFBRSxDQUFDO1FBRzdDLFdBQU0sR0FBMEIsS0FBSyxDQUFDO0lBNkhsRCxDQUFDO0lBM0hXLFlBQVksQ0FBQyxNQUEwQjtRQUMvQyw4QkFBOEI7UUFDOUIsTUFBTSxTQUFTLEdBQUc7WUFDaEIsK0NBQStDO1lBQy9DLHdFQUF3RTtZQUN4RSw0R0FBNEc7WUFDNUcsc0JBQXNCLEVBQUU7Z0JBQ3RCLFVBQVUsRUFBRSxDQUFDLEdBQVEsRUFBRSxNQUFjLEVBQUUsRUFBRTtvQkFDdkMsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7b0JBQ2hCLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxjQUFjLEVBQUUsQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLEdBQVcsRUFBRSxFQUFFO29CQUN0RCxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztvQkFDaEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7b0JBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO2dCQUNELFNBQVMsRUFBRSxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2RkFBNkYsQ0FBQyxDQUFDO29CQUMzRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsS0FBTSxDQUFDLENBQUM7b0JBQ2hDLFFBQVEsRUFBRSxDQUFDO2dCQUNiLENBQUM7YUFDRjtZQUVELDRFQUE0RTtZQUM1RSwyR0FBMkc7WUFDM0csR0FBRyxFQUFFO2dCQUNIOzs7O21CQUlHO2dCQUNILE1BQU0sRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO29CQUN2QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDM0IsTUFBTSxJQUFJLEdBQUcsR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7b0JBQ3pFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTt3QkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQU0sQ0FBQyxDQUFDO3FCQUNqQztnQkFDSCxDQUFDO2dCQUVELFFBQVEsRUFBRSxDQUFDLE9BQWUsRUFBRSxVQUFrQixFQUFFLEVBQUU7b0JBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDNUMsVUFBVSxHQUFHLFVBQVUsS0FBSyxDQUFDLENBQUM7b0JBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQUU7d0JBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFDcEMsT0FBTztxQkFDUjtvQkFDRCwrRUFBK0U7b0JBQy9FLCtEQUErRDtvQkFDL0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLENBQUM7Z0JBRUQsUUFBUSxFQUFFLENBQUMsT0FBZSxFQUFFLFFBQWdCLEVBQUUsVUFBa0IsRUFBRSxFQUFFO29CQUNsRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzVDLFFBQVEsR0FBRyxRQUFRLEtBQUssQ0FBQyxDQUFDO29CQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQztvQkFDMUUseURBQXlEO2dCQUMzRCxDQUFDO2dCQUVELE1BQU07YUFDUDtTQUNGLENBQUM7UUFDRiw2QkFBNkI7UUFFN0IsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUksQ0FBQyxJQUFZLEVBQUUsR0FBRyxJQUFTO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxhQUFhLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUk7WUFDRixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QztRQUFDLE9BQU8sR0FBUSxFQUFFO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLGlCQUFpQixJQUFJLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sR0FBRyxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsS0FBYSxFQUFFLEdBQVc7UUFDOUMsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQWMsRUFBRSxHQUFlO1FBQ2hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM3QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsa0JBQWtCO0lBRVYsU0FBUztRQUNmLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBWTtRQUNwQyxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQztRQUNsQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUFDLENBQUM7UUFDeEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,QAM/B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import debug from 'debug';
|
|
2
|
+
import MainWorker from './main.worker.js';
|
|
3
|
+
export function createMainWorker() {
|
|
4
|
+
const worker = new MainWorker();
|
|
5
|
+
const debugStr = debug.disable();
|
|
6
|
+
debug.enable(debugStr);
|
|
7
|
+
worker.postMessage({ debug: debugStr });
|
|
8
|
+
return worker;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNoQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDeEMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
|
package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts"],"names":[],"mappings":";AAcA,wBAA2B"}
|