@aztec/bb.js 0.0.1-alpha.7 → 0.0.1-commit.0208eb9
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 +55 -84
- package/build/amd64-linux/bb +0 -0
- package/build/amd64-linux/nodejs_module.node +0 -0
- package/build/amd64-macos/bb +0 -0
- package/build/amd64-macos/nodejs_module.node +0 -0
- package/build/arm64-linux/bb +0 -0
- package/build/arm64-linux/nodejs_module.node +0 -0
- package/build/arm64-macos/bb +0 -0
- package/build/arm64-macos/nodejs_module.node +0 -0
- package/dest/{async_map → browser/async_map}/index.d.ts +1 -1
- package/dest/browser/async_map/index.d.ts.map +1 -0
- package/dest/{async_map → browser/async_map}/index.js +1 -1
- package/dest/browser/barretenberg/backend.d.ts +93 -0
- package/dest/browser/barretenberg/backend.d.ts.map +1 -0
- package/dest/browser/barretenberg/backend.js +350 -0
- package/dest/browser/barretenberg/index.d.ts +65 -0
- package/dest/browser/barretenberg/index.d.ts.map +1 -0
- package/dest/browser/barretenberg/index.js +182 -0
- package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
- package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
- package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
- package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/browser/barretenberg/testing/fields.js +47 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +36 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/fetch_code/index.js +2 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/helpers/browser/index.js +47 -0
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/helpers/index.js +2 -0
- package/dest/browser/barretenberg_wasm/index.d.ts +5 -0
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/browser/barretenberg_wasm/index.js +15 -0
- package/dest/browser/bb_backends/browser/index.d.ts +11 -0
- package/dest/browser/bb_backends/browser/index.d.ts.map +1 -0
- package/dest/browser/bb_backends/browser/index.js +39 -0
- package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
- package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
- package/dest/browser/bb_backends/browser/platform.js +10 -0
- package/dest/browser/bb_backends/index.d.ts +50 -0
- package/dest/browser/bb_backends/index.d.ts.map +1 -0
- package/dest/browser/bb_backends/index.js +16 -0
- package/dest/browser/bb_backends/interface.d.ts +33 -0
- package/dest/browser/bb_backends/interface.d.ts.map +1 -0
- package/dest/browser/bb_backends/interface.js +2 -0
- package/dest/browser/bb_backends/wasm.d.ts +49 -0
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
- package/dest/browser/bb_backends/wasm.js +85 -0
- package/dest/browser/bbapi_exception.d.ts +7 -0
- package/dest/browser/bbapi_exception.d.ts.map +1 -0
- package/dest/browser/bbapi_exception.js +14 -0
- package/dest/browser/bin/index.d.ts +3 -0
- package/dest/{bindgen → browser/bin}/index.d.ts.map +1 -1
- package/dest/browser/bin/index.js +11 -0
- package/dest/browser/cbind/generate.d.ts +8 -0
- package/dest/browser/cbind/generate.d.ts.map +1 -0
- package/dest/browser/cbind/generate.js +173 -0
- package/dest/browser/cbind/generated/api_types.d.ts +1130 -0
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/browser/cbind/generated/api_types.js +2657 -0
- package/dest/browser/cbind/generated/async.d.ts +60 -0
- package/dest/browser/cbind/generated/async.d.ts.map +1 -0
- package/dest/browser/cbind/generated/async.js +643 -0
- package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/browser/cbind/generated/curve_constants.js +45 -0
- package/dest/browser/cbind/generated/sync.d.ts +60 -0
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
- package/dest/browser/cbind/generated/sync.js +592 -0
- package/dest/browser/cbind/naming.d.ts +16 -0
- package/dest/browser/cbind/naming.d.ts.map +1 -0
- package/dest/browser/cbind/naming.js +24 -0
- package/dest/browser/cbind/rust_codegen.d.ts +26 -0
- package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/rust_codegen.js +461 -0
- package/dest/browser/cbind/schema_visitor.d.ts +47 -0
- package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/browser/cbind/schema_visitor.js +158 -0
- package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
- package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/typescript_codegen.js +365 -0
- package/dest/browser/crs/browser/cached_net_crs.d.ts +43 -0
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/browser/crs/browser/cached_net_crs.js +95 -0
- package/dest/browser/crs/browser/index.d.ts +2 -0
- package/dest/browser/crs/browser/index.d.ts.map +1 -0
- package/dest/browser/crs/browser/index.js +2 -0
- package/dest/browser/crs/index.d.ts +2 -0
- package/dest/browser/crs/index.d.ts.map +1 -0
- package/dest/browser/crs/index.js +2 -0
- package/dest/browser/crs/net_crs.d.ts +75 -0
- package/dest/browser/crs/net_crs.d.ts.map +1 -0
- package/dest/browser/crs/net_crs.js +164 -0
- package/dest/browser/index.d.ts +9 -0
- package/dest/browser/index.d.ts.map +1 -0
- package/dest/browser/index.js +9 -0
- package/dest/browser/proof/index.d.ts +21 -0
- package/dest/browser/proof/index.d.ts.map +1 -0
- package/dest/browser/proof/index.js +63 -0
- package/dest/browser/random/browser/index.d.ts +2 -0
- package/dest/browser/random/browser/index.d.ts.map +1 -0
- package/dest/browser/random/browser/index.js +31 -0
- package/dest/browser/random/index.d.ts +2 -0
- package/dest/browser/random/index.d.ts.map +1 -0
- package/dest/browser/random/index.js +2 -0
- package/dest/browser/retry/index.d.ts +26 -0
- package/dest/browser/retry/index.d.ts.map +1 -0
- package/dest/browser/retry/index.js +50 -0
- package/dest/node/async_map/index.d.ts +10 -0
- package/dest/node/async_map/index.d.ts.map +1 -0
- package/dest/node/async_map/index.js +16 -0
- package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
- package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
- package/dest/node/barretenberg/backend.d.ts +93 -0
- package/dest/node/barretenberg/backend.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.js +350 -0
- package/dest/node/barretenberg/backend.test.d.ts +2 -0
- package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.test.js +103 -0
- package/dest/node/barretenberg/blake2s.test.d.ts +2 -0
- package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
- package/dest/node/barretenberg/blake2s.test.js +57 -0
- package/dest/node/barretenberg/index.d.ts +65 -0
- package/dest/node/barretenberg/index.d.ts.map +1 -0
- package/dest/node/barretenberg/index.js +182 -0
- package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
- package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
- package/dest/node/barretenberg/pedersen.test.js +62 -0
- package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
- package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
- package/dest/node/barretenberg/poseidon.bench.test.js +218 -0
- package/dest/node/barretenberg/poseidon.test.d.ts +2 -0
- package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
- package/dest/node/barretenberg/poseidon.test.js +35 -0
- package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
- package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
- package/dest/node/barretenberg/testing/fields.d.ts +16 -0
- package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/node/barretenberg/testing/fields.js +47 -0
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -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 +124 -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 +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -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 +6 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -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 +19 -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/heap_allocator.d.ts +21 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -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 +197 -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 +9 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -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 +6 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -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 +19 -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 +10 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -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 +41 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -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 +36 -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 +2 -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 +35 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +47 -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/node/barretenberg_wasm/helpers/node/index.d.ts +21 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/helpers/node/index.js +56 -0
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
- 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 +5 -0
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/node/barretenberg_wasm/index.js +15 -0
- 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 +39 -0
- package/dest/node/bb_backends/browser/index.d.ts +11 -0
- package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
- package/dest/node/bb_backends/browser/index.js +39 -0
- package/dest/node/bb_backends/browser/platform.d.ts +4 -0
- package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
- package/dest/node/bb_backends/browser/platform.js +10 -0
- package/dest/node/bb_backends/index.d.ts +50 -0
- package/dest/node/bb_backends/index.d.ts.map +1 -0
- package/dest/node/bb_backends/index.js +16 -0
- package/dest/node/bb_backends/interface.d.ts +33 -0
- package/dest/node/bb_backends/interface.d.ts.map +1 -0
- package/dest/node/bb_backends/interface.js +2 -0
- package/dest/node/bb_backends/node/index.d.ts +11 -0
- package/dest/node/bb_backends/node/index.d.ts.map +1 -0
- package/dest/node/bb_backends/node/index.js +86 -0
- package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
- package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_pipe.js +114 -0
- package/dest/node/bb_backends/node/native_shm.d.ts +29 -0
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm.js +196 -0
- package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
- package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm_async.js +233 -0
- package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_socket.js +283 -0
- package/dest/node/bb_backends/node/platform.d.ts +27 -0
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
- package/dest/node/bb_backends/node/platform.js +129 -0
- package/dest/node/bb_backends/wasm.d.ts +49 -0
- package/dest/node/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node/bb_backends/wasm.js +85 -0
- package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
- package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
- package/dest/node/bbapi/exception_handling.test.js +48 -0
- package/dest/node/bbapi_exception.d.ts +7 -0
- package/dest/node/bbapi_exception.d.ts.map +1 -0
- package/dest/node/bbapi_exception.js +14 -0
- package/dest/node/benchmark/index.d.ts +3 -0
- package/dest/node/benchmark/index.d.ts.map +1 -0
- package/dest/node/benchmark/index.js +25 -0
- package/dest/node/benchmark/timer.d.ts +34 -0
- package/dest/node/benchmark/timer.d.ts.map +1 -0
- package/dest/node/benchmark/timer.js +42 -0
- package/dest/node/bin/index.d.ts +3 -0
- package/dest/node/bin/index.d.ts.map +1 -0
- package/dest/node/bin/index.js +11 -0
- package/dest/node/cbind/generate.d.ts +8 -0
- package/dest/node/cbind/generate.d.ts.map +1 -0
- package/dest/node/cbind/generate.js +173 -0
- package/dest/node/cbind/generated/api_types.d.ts +1130 -0
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/node/cbind/generated/api_types.js +2657 -0
- package/dest/node/cbind/generated/async.d.ts +60 -0
- package/dest/node/cbind/generated/async.d.ts.map +1 -0
- package/dest/node/cbind/generated/async.js +643 -0
- package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node/cbind/generated/curve_constants.js +45 -0
- package/dest/node/cbind/generated/sync.d.ts +60 -0
- package/dest/node/cbind/generated/sync.d.ts.map +1 -0
- package/dest/node/cbind/generated/sync.js +592 -0
- package/dest/node/cbind/naming.d.ts +16 -0
- package/dest/node/cbind/naming.d.ts.map +1 -0
- package/dest/node/cbind/naming.js +24 -0
- package/dest/node/cbind/rust_codegen.d.ts +26 -0
- package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node/cbind/rust_codegen.js +461 -0
- package/dest/node/cbind/schema_visitor.d.ts +47 -0
- package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node/cbind/schema_visitor.js +158 -0
- package/dest/node/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node/cbind/typescript_codegen.js +365 -0
- package/dest/node/crs/browser/cached_net_crs.d.ts +43 -0
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/node/crs/browser/cached_net_crs.js +95 -0
- package/dest/node/crs/browser/index.d.ts +2 -0
- package/dest/node/crs/browser/index.d.ts.map +1 -0
- package/dest/node/crs/browser/index.js +2 -0
- package/dest/node/crs/index.d.ts +2 -0
- package/dest/node/crs/index.d.ts.map +1 -0
- package/dest/node/crs/index.js +2 -0
- package/dest/node/crs/net_crs.d.ts +75 -0
- package/dest/node/crs/net_crs.d.ts.map +1 -0
- package/dest/node/crs/net_crs.js +164 -0
- package/dest/node/crs/net_crs.test.d.ts +2 -0
- package/dest/node/crs/net_crs.test.d.ts.map +1 -0
- package/dest/node/crs/net_crs.test.js +39 -0
- package/dest/node/crs/node/index.d.ts +38 -0
- package/dest/node/crs/node/index.d.ts.map +1 -0
- package/dest/node/crs/node/index.js +107 -0
- package/dest/node/index.d.ts +9 -0
- package/dest/node/index.d.ts.map +1 -0
- package/dest/node/index.js +9 -0
- package/dest/node/proof/index.d.ts +21 -0
- package/dest/node/proof/index.d.ts.map +1 -0
- package/dest/node/proof/index.js +63 -0
- package/dest/node/random/browser/index.d.ts +2 -0
- package/dest/node/random/browser/index.d.ts.map +1 -0
- package/dest/node/random/browser/index.js +31 -0
- package/dest/node/random/index.d.ts +2 -0
- package/dest/node/random/index.d.ts.map +1 -0
- package/dest/{random → node/random}/index.js +1 -1
- package/dest/node/random/node/index.d.ts +2 -0
- package/dest/node/random/node/index.d.ts.map +1 -0
- package/dest/node/random/node/index.js +5 -0
- package/dest/node/retry/index.d.ts +26 -0
- package/dest/node/retry/index.d.ts.map +1 -0
- package/dest/node/retry/index.js +50 -0
- package/dest/node-cjs/async_map/index.d.ts +10 -0
- package/dest/node-cjs/async_map/index.d.ts.map +1 -0
- package/dest/node-cjs/async_map/index.js +19 -0
- package/dest/node-cjs/barretenberg/backend.d.ts +93 -0
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.js +359 -0
- package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.test.js +105 -0
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/blake2s.test.js +59 -0
- package/dest/node-cjs/barretenberg/index.d.ts +65 -0
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/index.js +193 -0
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/pedersen.test.js +64 -0
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +220 -0
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
- package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
- package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +128 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +12 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +8 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +22 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +11 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +75 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +201 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +12 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +8 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +22 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +12 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +45 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +40 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +39 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +57 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +21 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +65 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +31 -0
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +5 -0
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/index.js +18 -0
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg_wasm/index.test.js +41 -0
- package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
- package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/browser/index.js +43 -0
- package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
- package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
- package/dest/node-cjs/bb_backends/index.d.ts +50 -0
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/index.js +18 -0
- package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
- package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/interface.js +3 -0
- package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/index.js +90 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_pipe.js +118 -0
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +29 -0
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_shm.js +200 -0
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_shm_async.js +237 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/native_socket.js +288 -0
- package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/node/platform.js +136 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
- package/dest/node-cjs/bb_backends/wasm.js +90 -0
- package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
- package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
- package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
- package/dest/node-cjs/bbapi_exception.d.ts +7 -0
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
- package/dest/node-cjs/bbapi_exception.js +18 -0
- package/dest/node-cjs/benchmark/index.d.ts +3 -0
- package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
- package/dest/node-cjs/benchmark/index.js +29 -0
- package/dest/node-cjs/benchmark/timer.d.ts +34 -0
- package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
- package/dest/node-cjs/benchmark/timer.js +46 -0
- package/dest/node-cjs/bin/index.d.ts +3 -0
- package/dest/node-cjs/bin/index.d.ts.map +1 -0
- package/dest/node-cjs/bin/index.js +13 -0
- package/dest/node-cjs/cbind/generate.d.ts +8 -0
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generate.js +175 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts +1130 -0
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/api_types.js +2889 -0
- package/dest/node-cjs/cbind/generated/async.d.ts +60 -0
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/async.js +647 -0
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts +60 -0
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
- package/dest/node-cjs/cbind/generated/sync.js +596 -0
- package/dest/node-cjs/cbind/naming.d.ts +16 -0
- package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
- package/dest/node-cjs/cbind/naming.js +28 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/rust_codegen.js +465 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node-cjs/cbind/schema_visitor.js +162 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +43 -0
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
- package/dest/node-cjs/crs/browser/cached_net_crs.js +100 -0
- package/dest/node-cjs/crs/browser/index.d.ts +2 -0
- package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/crs/browser/index.js +7 -0
- package/dest/node-cjs/crs/index.d.ts +2 -0
- package/dest/node-cjs/crs/index.d.ts.map +1 -0
- package/dest/node-cjs/crs/index.js +7 -0
- package/dest/node-cjs/crs/net_crs.d.ts +75 -0
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
- package/dest/node-cjs/crs/net_crs.js +170 -0
- package/dest/node-cjs/crs/net_crs.test.d.ts +2 -0
- package/dest/node-cjs/crs/net_crs.test.d.ts.map +1 -0
- package/dest/node-cjs/crs/net_crs.test.js +41 -0
- package/dest/node-cjs/crs/node/index.d.ts +38 -0
- package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
- package/dest/node-cjs/crs/node/index.js +112 -0
- package/dest/node-cjs/index.d.ts +9 -0
- package/dest/node-cjs/index.d.ts.map +1 -0
- package/dest/node-cjs/index.js +41 -0
- package/dest/node-cjs/package.json +3 -0
- package/dest/node-cjs/proof/index.d.ts +21 -0
- package/dest/node-cjs/proof/index.d.ts.map +1 -0
- package/dest/node-cjs/proof/index.js +72 -0
- package/dest/node-cjs/random/browser/index.d.ts +2 -0
- package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
- package/dest/node-cjs/random/browser/index.js +35 -0
- package/dest/node-cjs/random/index.d.ts +2 -0
- package/dest/node-cjs/random/index.d.ts.map +1 -0
- package/dest/node-cjs/random/index.js +5 -0
- package/dest/node-cjs/random/node/index.d.ts +2 -0
- package/dest/node-cjs/random/node/index.d.ts.map +1 -0
- package/dest/node-cjs/random/node/index.js +8 -0
- package/dest/node-cjs/retry/index.d.ts +26 -0
- package/dest/node-cjs/retry/index.d.ts.map +1 -0
- package/dest/node-cjs/retry/index.js +55 -0
- package/package.json +59 -46
- package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +156 -0
- package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +40 -0
- package/src/barretenberg/backend.test.ts +122 -0
- package/src/barretenberg/backend.ts +438 -0
- package/src/barretenberg/blake2s.test.ts +69 -0
- package/src/barretenberg/index.ts +220 -0
- package/src/barretenberg/pedersen.test.ts +69 -0
- package/src/barretenberg/poseidon.bench.test.ts +271 -0
- package/src/barretenberg/poseidon.test.ts +39 -0
- package/src/barretenberg/testing/bigint-buffer.ts +43 -0
- package/src/barretenberg/testing/fields.ts +63 -0
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +137 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +9 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +6 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +19 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +10 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +72 -0
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +251 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +9 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +6 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +19 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +12 -0
- package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +48 -0
- package/src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts +3 -0
- package/src/barretenberg_wasm/fetch_code/browser/barretenberg.ts +3 -0
- package/src/barretenberg_wasm/fetch_code/browser/index.ts +34 -0
- package/src/barretenberg_wasm/fetch_code/index.ts +1 -0
- package/src/barretenberg_wasm/fetch_code/node/index.ts +34 -0
- package/src/barretenberg_wasm/fetch_code/wasm-module.d.ts +4 -0
- package/src/barretenberg_wasm/helpers/browser/index.ts +54 -0
- package/src/barretenberg_wasm/helpers/index.ts +1 -0
- package/src/barretenberg_wasm/helpers/node/index.ts +62 -0
- package/src/barretenberg_wasm/index.test.ts +46 -0
- package/src/barretenberg_wasm/index.ts +21 -1
- package/src/bb_backends/browser/index.ts +50 -0
- package/src/bb_backends/browser/platform.ts +11 -0
- package/src/bb_backends/index.ts +55 -0
- package/src/bb_backends/interface.ts +35 -0
- package/src/bb_backends/node/index.ts +107 -0
- package/src/bb_backends/node/native_pipe.ts +127 -0
- package/src/bb_backends/node/native_shm.ts +214 -0
- package/src/bb_backends/node/native_shm_async.ts +262 -0
- package/src/bb_backends/node/native_socket.ts +328 -0
- package/src/bb_backends/node/platform.ts +156 -0
- package/src/bb_backends/wasm.ts +102 -0
- package/src/bbapi/exception_handling.test.ts +54 -0
- package/src/bbapi_exception.ts +13 -0
- package/src/benchmark/index.ts +26 -0
- package/src/benchmark/timer.ts +45 -0
- package/src/bin/index.ts +14 -0
- package/src/cbind/README.md +1 -0
- package/src/cbind/generate.ts +201 -0
- package/src/cbind/naming.ts +27 -0
- package/src/cbind/rust_codegen.ts +504 -0
- package/src/cbind/schema_visitor.ts +219 -0
- package/src/cbind/typescript_codegen.ts +419 -0
- package/src/crs/browser/cached_net_crs.ts +41 -1
- package/src/crs/browser/index.ts +1 -1
- package/src/crs/index.ts +1 -1
- package/src/crs/net_crs.test.ts +47 -0
- package/src/crs/net_crs.ts +145 -19
- package/src/crs/node/index.ts +95 -26
- package/src/index.html +1 -1
- package/src/index.ts +47 -5
- package/src/proof/index.ts +94 -0
- package/src/random/browser/index.ts +1 -1
- package/src/retry/index.ts +50 -0
- package/dest/async_map/index.d.ts.map +0 -1
- package/dest/barretenberg-threads.wasm +0 -0
- package/dest/barretenberg.wasm +0 -0
- package/dest/barretenberg_api/blake2s.test.d.ts +0 -2
- package/dest/barretenberg_api/blake2s.test.d.ts.map +0 -1
- package/dest/barretenberg_api/blake2s.test.js +0 -30
- package/dest/barretenberg_api/common.test.d.ts +0 -2
- package/dest/barretenberg_api/common.test.d.ts.map +0 -1
- package/dest/barretenberg_api/common.test.js +0 -18
- package/dest/barretenberg_api/index.d.ts +0 -103
- package/dest/barretenberg_api/index.d.ts.map +0 -1
- package/dest/barretenberg_api/index.js +0 -379
- package/dest/barretenberg_api/pedersen.test.d.ts +0 -2
- package/dest/barretenberg_api/pedersen.test.d.ts.map +0 -1
- package/dest/barretenberg_api/pedersen.test.js +0 -69
- package/dest/barretenberg_api/schnorr.test.d.ts +0 -2
- package/dest/barretenberg_api/schnorr.test.d.ts.map +0 -1
- package/dest/barretenberg_api/schnorr.test.js +0 -113
- package/dest/barretenberg_binder/heap_allocator.d.ts +0 -22
- package/dest/barretenberg_binder/heap_allocator.d.ts.map +0 -1
- package/dest/barretenberg_binder/heap_allocator.js +0 -59
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts +0 -22
- package/dest/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
- package/dest/barretenberg_binder/heap_allocator_sync.js +0 -58
- package/dest/barretenberg_binder/index.d.ts +0 -32
- package/dest/barretenberg_binder/index.d.ts.map +0 -1
- package/dest/barretenberg_binder/index.js +0 -73
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts +0 -50
- package/dest/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
- package/dest/barretenberg_wasm/barretenberg_wasm.js +0 -212
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts +0 -2
- package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
- package/dest/barretenberg_wasm/barretenberg_wasm.test.js +0 -43
- package/dest/barretenberg_wasm/browser/index.d.ts +0 -8
- package/dest/barretenberg_wasm/browser/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/browser/index.js +0 -26
- package/dest/barretenberg_wasm/browser/worker.d.ts +0 -2
- package/dest/barretenberg_wasm/browser/worker.d.ts.map +0 -1
- package/dest/barretenberg_wasm/browser/worker.js +0 -11
- package/dest/barretenberg_wasm/index.d.ts +0 -2
- package/dest/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/index.js +0 -2
- package/dest/barretenberg_wasm/node/index.d.ts +0 -17
- package/dest/barretenberg_wasm/node/index.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/index.js +0 -40
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts +0 -8
- package/dest/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/node_endpoint.js +0 -28
- package/dest/barretenberg_wasm/node/worker.d.ts +0 -2
- package/dest/barretenberg_wasm/node/worker.d.ts.map +0 -1
- package/dest/barretenberg_wasm/node/worker.js +0 -9
- package/dest/barretenberg_wasm.js +0 -2
- package/dest/barretenberg_wasm.js.LICENSE.txt +0 -5
- package/dest/bigint-array/index.d.ts +0 -3
- package/dest/bigint-array/index.d.ts.map +0 -1
- package/dest/bigint-array/index.js +0 -21
- package/dest/bindgen/function_declaration.d.ts +0 -11
- package/dest/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/bindgen/function_declaration.js +0 -2
- package/dest/bindgen/index.d.ts +0 -2
- package/dest/bindgen/index.js +0 -15
- package/dest/bindgen/mappings.d.ts +0 -4
- package/dest/bindgen/mappings.d.ts.map +0 -1
- package/dest/bindgen/mappings.js +0 -63
- package/dest/bindgen/rust.d.ts +0 -2
- package/dest/bindgen/rust.d.ts.map +0 -1
- package/dest/bindgen/rust.js +0 -43
- package/dest/bindgen/to_camel_case.d.ts +0 -2
- package/dest/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/bindgen/to_camel_case.js +0 -11
- package/dest/bindgen/typescript.d.ts +0 -2
- package/dest/bindgen/typescript.d.ts.map +0 -1
- package/dest/bindgen/typescript.js +0 -80
- package/dest/crs/browser/cached_net_crs.d.ts +0 -25
- package/dest/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/crs/browser/cached_net_crs.js +0 -54
- package/dest/crs/browser/index.d.ts +0 -2
- package/dest/crs/browser/index.d.ts.map +0 -1
- package/dest/crs/browser/index.js +0 -2
- package/dest/crs/index.d.ts +0 -2
- package/dest/crs/index.d.ts.map +0 -1
- package/dest/crs/index.js +0 -2
- package/dest/crs/net_crs.d.ts +0 -36
- package/dest/crs/net_crs.d.ts.map +0 -1
- package/dest/crs/net_crs.js +0 -59
- package/dest/crs/node/ignition_files_crs.d.ts +0 -37
- package/dest/crs/node/ignition_files_crs.d.ts.map +0 -1
- package/dest/crs/node/ignition_files_crs.js +0 -51
- package/dest/crs/node/index.d.ts +0 -21
- package/dest/crs/node/index.d.ts.map +0 -1
- package/dest/crs/node/index.js +0 -54
- package/dest/examples/simple.rawtest.d.ts +0 -2
- package/dest/examples/simple.rawtest.d.ts.map +0 -1
- package/dest/examples/simple.rawtest.js +0 -29
- package/dest/examples/simple.test.d.ts +0 -2
- package/dest/examples/simple.test.d.ts.map +0 -1
- package/dest/examples/simple.test.js +0 -22
- package/dest/factory/index.d.ts +0 -21
- package/dest/factory/index.d.ts.map +0 -1
- package/dest/factory/index.js +0 -34
- package/dest/index.d.ts +0 -6
- package/dest/index.d.ts.map +0 -1
- package/dest/index.html +0 -1
- package/dest/index.js +0 -6
- package/dest/main.d.ts +0 -10
- package/dest/main.d.ts.map +0 -1
- package/dest/main.js +0 -275
- package/dest/random/browser/index.d.ts +0 -2
- package/dest/random/browser/index.d.ts.map +0 -1
- package/dest/random/browser/index.js +0 -31
- package/dest/random/index.d.ts +0 -2
- package/dest/random/index.d.ts.map +0 -1
- package/dest/random/node/index.d.ts +0 -2
- package/dest/random/node/index.d.ts.map +0 -1
- package/dest/random/node/index.js +0 -5
- package/dest/serialize/buffer_reader.d.ts +0 -28
- package/dest/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.js +0 -66
- package/dest/serialize/index.d.ts +0 -4
- package/dest/serialize/index.d.ts.map +0 -1
- package/dest/serialize/index.js +0 -4
- package/dest/serialize/output_type.d.ts +0 -11
- package/dest/serialize/output_type.d.ts.map +0 -1
- package/dest/serialize/output_type.js +0 -44
- package/dest/serialize/serialize.d.ts +0 -53
- package/dest/serialize/serialize.d.ts.map +0 -1
- package/dest/serialize/serialize.js +0 -139
- package/dest/simple_test.js +0 -2
- package/dest/simple_test.js.LICENSE.txt +0 -14
- package/dest/types/fields.d.ts +0 -33
- package/dest/types/fields.d.ts.map +0 -1
- package/dest/types/fields.js +0 -86
- package/dest/types/fixed_size_buffer.d.ts +0 -26
- package/dest/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/types/fixed_size_buffer.js +0 -54
- package/dest/types/index.d.ts +0 -6
- package/dest/types/index.d.ts.map +0 -1
- package/dest/types/index.js +0 -6
- package/dest/types/point.d.ts +0 -17
- package/dest/types/point.d.ts.map +0 -1
- package/dest/types/point.js +0 -32
- package/dest/types/ptr.d.ts +0 -13
- package/dest/types/ptr.d.ts.map +0 -1
- package/dest/types/ptr.js +0 -20
- package/dest/types/raw_buffer.d.ts +0 -3
- package/dest/types/raw_buffer.d.ts.map +0 -1
- package/dest/types/raw_buffer.js +0 -5
- package/src/barretenberg_api/blake2s.test.ts +0 -39
- package/src/barretenberg_api/common.test.ts +0 -21
- package/src/barretenberg_api/index.ts +0 -649
- package/src/barretenberg_api/pedersen.test.ts +0 -84
- package/src/barretenberg_api/schnorr.test.ts +0 -169
- package/src/barretenberg_binder/heap_allocator.ts +0 -62
- package/src/barretenberg_binder/heap_allocator_sync.ts +0 -61
- package/src/barretenberg_binder/index.ts +0 -76
- package/src/barretenberg_wasm/barretenberg_wasm.test.ts +0 -52
- package/src/barretenberg_wasm/barretenberg_wasm.ts +0 -246
- package/src/barretenberg_wasm/browser/index.ts +0 -32
- package/src/barretenberg_wasm/browser/worker.ts +0 -13
- package/src/barretenberg_wasm/node/index.ts +0 -46
- package/src/barretenberg_wasm/node/worker.ts +0 -10
- package/src/bigint-array/index.ts +0 -21
- package/src/bindgen/function_declaration.ts +0 -11
- package/src/bindgen/index.ts +0 -17
- package/src/bindgen/mappings.ts +0 -66
- package/src/bindgen/rust.ts +0 -52
- package/src/bindgen/to_camel_case.ts +0 -10
- package/src/bindgen/typescript.ts +0 -91
- package/src/crs/node/ignition_files_crs.ts +0 -60
- package/src/examples/simple.rawtest.ts +0 -37
- package/src/examples/simple.test.ts +0 -27
- package/src/factory/index.ts +0 -36
- package/src/main.ts +0 -311
- package/src/serialize/buffer_reader.ts +0 -82
- package/src/serialize/index.ts +0 -3
- package/src/serialize/output_type.ts +0 -53
- package/src/serialize/serialize.ts +0 -157
- package/src/types/fields.ts +0 -98
- package/src/types/fixed_size_buffer.ts +0 -59
- package/src/types/index.ts +0 -5
- package/src/types/point.ts +0 -35
- package/src/types/ptr.ts +0 -20
- package/src/types/raw_buffer.ts +0 -3
- /package/src/barretenberg_wasm/{node → helpers/node}/node_endpoint.ts +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
+
|
|
3
|
+
exports[`poseidon sync poseidonHash 1`] = `
|
|
4
|
+
{
|
|
5
|
+
"hash": Uint8Array [
|
|
6
|
+
43,
|
|
7
|
+
202,
|
|
8
|
+
235,
|
|
9
|
+
109,
|
|
10
|
+
88,
|
|
11
|
+
187,
|
|
12
|
+
56,
|
|
13
|
+
186,
|
|
14
|
+
247,
|
|
15
|
+
83,
|
|
16
|
+
213,
|
|
17
|
+
140,
|
|
18
|
+
60,
|
|
19
|
+
150,
|
|
20
|
+
97,
|
|
21
|
+
143,
|
|
22
|
+
234,
|
|
23
|
+
130,
|
|
24
|
+
22,
|
|
25
|
+
51,
|
|
26
|
+
69,
|
|
27
|
+
41,
|
|
28
|
+
94,
|
|
29
|
+
180,
|
|
30
|
+
14,
|
|
31
|
+
136,
|
|
32
|
+
52,
|
|
33
|
+
78,
|
|
34
|
+
235,
|
|
35
|
+
12,
|
|
36
|
+
226,
|
|
37
|
+
161,
|
|
38
|
+
],
|
|
39
|
+
}
|
|
40
|
+
`;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { fieldToString, fieldsToStrings } from './backend.js';
|
|
2
|
+
|
|
3
|
+
describe('field helper functions', () => {
|
|
4
|
+
describe('fieldToString', () => {
|
|
5
|
+
it('converts zero field to "0"', () => {
|
|
6
|
+
const zeroField = new Uint8Array(32).fill(0);
|
|
7
|
+
expect(fieldToString(zeroField)).toBe('0');
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
it('converts field with value 1 to "1"', () => {
|
|
11
|
+
const oneField = new Uint8Array(32).fill(0);
|
|
12
|
+
oneField[31] = 1;
|
|
13
|
+
expect(fieldToString(oneField)).toBe('1');
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('converts field with value 256 to "256"', () => {
|
|
17
|
+
const field = new Uint8Array(32).fill(0);
|
|
18
|
+
field[30] = 1;
|
|
19
|
+
field[31] = 0;
|
|
20
|
+
expect(fieldToString(field)).toBe('256');
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('converts field with max uint8 in last byte to "255"', () => {
|
|
24
|
+
const field = new Uint8Array(32).fill(0);
|
|
25
|
+
field[31] = 255;
|
|
26
|
+
expect(fieldToString(field)).toBe('255');
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
it('converts larger values correctly', () => {
|
|
30
|
+
// 0x0100 = 256 in decimal
|
|
31
|
+
const field = new Uint8Array(32).fill(0);
|
|
32
|
+
field[30] = 0x01;
|
|
33
|
+
field[31] = 0x00;
|
|
34
|
+
expect(fieldToString(field)).toBe('256');
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('handles multi-byte values', () => {
|
|
38
|
+
// 0x010203 = 66051 in decimal
|
|
39
|
+
const field = new Uint8Array(32).fill(0);
|
|
40
|
+
field[29] = 0x01;
|
|
41
|
+
field[30] = 0x02;
|
|
42
|
+
field[31] = 0x03;
|
|
43
|
+
expect(fieldToString(field)).toBe('66051');
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
it('handles large field values', () => {
|
|
47
|
+
// A known value: all bytes set to 1
|
|
48
|
+
const field = new Uint8Array(32).fill(1);
|
|
49
|
+
const result = fieldToString(field);
|
|
50
|
+
// Verify it's a valid decimal string
|
|
51
|
+
expect(result).toMatch(/^\d+$/);
|
|
52
|
+
// Verify the length is reasonable for a 256-bit number
|
|
53
|
+
expect(result.length).toBeGreaterThan(70);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('converts to hex with radix 16', () => {
|
|
57
|
+
const field = new Uint8Array(32).fill(0);
|
|
58
|
+
field[31] = 255;
|
|
59
|
+
expect(fieldToString(field, 16)).toBe('ff');
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('converts to hex for multi-byte values', () => {
|
|
63
|
+
// 0x010203
|
|
64
|
+
const field = new Uint8Array(32).fill(0);
|
|
65
|
+
field[29] = 0x01;
|
|
66
|
+
field[30] = 0x02;
|
|
67
|
+
field[31] = 0x03;
|
|
68
|
+
expect(fieldToString(field, 16)).toBe('10203');
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
it('converts to binary with radix 2', () => {
|
|
72
|
+
const field = new Uint8Array(32).fill(0);
|
|
73
|
+
field[31] = 5;
|
|
74
|
+
expect(fieldToString(field, 2)).toBe('101');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
describe('fieldsToStrings', () => {
|
|
79
|
+
it('converts empty array to empty array', () => {
|
|
80
|
+
expect(fieldsToStrings([])).toEqual([]);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it('converts single field', () => {
|
|
84
|
+
const oneField = new Uint8Array(32).fill(0);
|
|
85
|
+
oneField[31] = 42;
|
|
86
|
+
expect(fieldsToStrings([oneField])).toEqual(['42']);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('converts multiple fields', () => {
|
|
90
|
+
const field1 = new Uint8Array(32).fill(0);
|
|
91
|
+
field1[31] = 1;
|
|
92
|
+
|
|
93
|
+
const field2 = new Uint8Array(32).fill(0);
|
|
94
|
+
field2[31] = 2;
|
|
95
|
+
|
|
96
|
+
const field3 = new Uint8Array(32).fill(0);
|
|
97
|
+
field3[31] = 3;
|
|
98
|
+
|
|
99
|
+
expect(fieldsToStrings([field1, field2, field3])).toEqual(['1', '2', '3']);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it('preserves order of fields', () => {
|
|
103
|
+
const fields = [10, 20, 30, 40, 50].map(v => {
|
|
104
|
+
const field = new Uint8Array(32).fill(0);
|
|
105
|
+
field[31] = v;
|
|
106
|
+
return field;
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
expect(fieldsToStrings(fields)).toEqual(['10', '20', '30', '40', '50']);
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
it('converts to hex with radix 16', () => {
|
|
113
|
+
const fields = [15, 16, 255].map(v => {
|
|
114
|
+
const field = new Uint8Array(32).fill(0);
|
|
115
|
+
field[31] = v;
|
|
116
|
+
return field;
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
expect(fieldsToStrings(fields, 16)).toEqual(['f', '10', 'ff']);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
});
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
import { Barretenberg } from './index.js';
|
|
2
|
+
import { ProofData, uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
|
|
3
|
+
import { fromChonkProof, toChonkProof, ChonkProof } from '../cbind/generated/api_types.js';
|
|
4
|
+
import { ungzip } from 'pako';
|
|
5
|
+
import { Decoder, Encoder } from 'msgpackr';
|
|
6
|
+
|
|
7
|
+
export class AztecClientBackendError extends Error {
|
|
8
|
+
constructor(message: string) {
|
|
9
|
+
super(message);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Target verification environment for proof generation.
|
|
15
|
+
* This determines the hash function used and whether zero-knowledge is enabled.
|
|
16
|
+
*/
|
|
17
|
+
export type VerifierTarget =
|
|
18
|
+
| 'evm' // Ethereum/Solidity verification (keccak, ZK enabled)
|
|
19
|
+
| 'evm-no-zk' // Ethereum/Solidity without zero-knowledge
|
|
20
|
+
| 'noir-recursive' // Recursive verification in Noir circuits (poseidon2, ZK enabled)
|
|
21
|
+
| 'noir-recursive-no-zk' // Recursive verification without ZK
|
|
22
|
+
| 'noir-rollup' // Rollup circuits with IPA accumulation (poseidon2, ZK enabled)
|
|
23
|
+
| 'noir-rollup-no-zk' // Rollup circuits without ZK
|
|
24
|
+
| 'starknet' // Starknet verification via Garaga (ZK enabled)
|
|
25
|
+
| 'starknet-no-zk'; // Starknet without zero-knowledge
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Options for the UltraHonkBackend.
|
|
29
|
+
*/
|
|
30
|
+
export type UltraHonkBackendOptions = {
|
|
31
|
+
/**
|
|
32
|
+
* Target verification environment. Determines hash function and ZK settings.
|
|
33
|
+
* This is the recommended way to configure proof generation.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // For EVM/Solidity verification
|
|
37
|
+
* backend.generateProof(witness, { verifierTarget: 'evm' });
|
|
38
|
+
*
|
|
39
|
+
* // For recursive verification in Noir
|
|
40
|
+
* backend.generateProof(witness, { verifierTarget: 'noir-recursive' });
|
|
41
|
+
*/
|
|
42
|
+
verifierTarget?: VerifierTarget;
|
|
43
|
+
|
|
44
|
+
// Legacy options - prefer using verifierTarget instead
|
|
45
|
+
|
|
46
|
+
/** @deprecated Use verifierTarget: 'evm-no-zk' instead */
|
|
47
|
+
keccak?: boolean;
|
|
48
|
+
/** @deprecated Use verifierTarget: 'evm' instead */
|
|
49
|
+
keccakZK?: boolean;
|
|
50
|
+
/** @deprecated Use verifierTarget: 'starknet-no-zk' instead */
|
|
51
|
+
starknet?: boolean;
|
|
52
|
+
/** @deprecated Use verifierTarget: 'starknet' instead */
|
|
53
|
+
starknetZK?: boolean;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
function getProofSettingsFromOptions(options?: UltraHonkBackendOptions): {
|
|
57
|
+
ipaAccumulation: boolean;
|
|
58
|
+
oracleHashType: string;
|
|
59
|
+
disableZk: boolean;
|
|
60
|
+
optimizedSolidityVerifier: boolean;
|
|
61
|
+
} {
|
|
62
|
+
// Check for conflicting options - verifierTarget should not be combined with legacy options
|
|
63
|
+
if (options?.verifierTarget) {
|
|
64
|
+
const legacyOptions = [options.keccak, options.keccakZK, options.starknet, options.starknetZK].filter(Boolean);
|
|
65
|
+
if (legacyOptions.length > 0) {
|
|
66
|
+
throw new Error(
|
|
67
|
+
'Cannot use verifierTarget with legacy options (keccak, keccakZK, starknet, starknetZK). ' +
|
|
68
|
+
'Use verifierTarget alone.',
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
switch (options.verifierTarget) {
|
|
73
|
+
case 'evm':
|
|
74
|
+
return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: false, optimizedSolidityVerifier: false };
|
|
75
|
+
case 'evm-no-zk':
|
|
76
|
+
return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: true, optimizedSolidityVerifier: false };
|
|
77
|
+
case 'noir-recursive':
|
|
78
|
+
return {
|
|
79
|
+
ipaAccumulation: false,
|
|
80
|
+
oracleHashType: 'poseidon2',
|
|
81
|
+
disableZk: false,
|
|
82
|
+
optimizedSolidityVerifier: false,
|
|
83
|
+
};
|
|
84
|
+
case 'noir-recursive-no-zk':
|
|
85
|
+
return {
|
|
86
|
+
ipaAccumulation: false,
|
|
87
|
+
oracleHashType: 'poseidon2',
|
|
88
|
+
disableZk: true,
|
|
89
|
+
optimizedSolidityVerifier: false,
|
|
90
|
+
};
|
|
91
|
+
case 'noir-rollup':
|
|
92
|
+
return {
|
|
93
|
+
ipaAccumulation: true,
|
|
94
|
+
oracleHashType: 'poseidon2',
|
|
95
|
+
disableZk: false,
|
|
96
|
+
optimizedSolidityVerifier: false,
|
|
97
|
+
};
|
|
98
|
+
case 'noir-rollup-no-zk':
|
|
99
|
+
return {
|
|
100
|
+
ipaAccumulation: true,
|
|
101
|
+
oracleHashType: 'poseidon2',
|
|
102
|
+
disableZk: true,
|
|
103
|
+
optimizedSolidityVerifier: false,
|
|
104
|
+
};
|
|
105
|
+
case 'starknet':
|
|
106
|
+
return {
|
|
107
|
+
ipaAccumulation: false,
|
|
108
|
+
oracleHashType: 'starknet',
|
|
109
|
+
disableZk: false,
|
|
110
|
+
optimizedSolidityVerifier: false,
|
|
111
|
+
};
|
|
112
|
+
case 'starknet-no-zk':
|
|
113
|
+
return {
|
|
114
|
+
ipaAccumulation: false,
|
|
115
|
+
oracleHashType: 'starknet',
|
|
116
|
+
disableZk: true,
|
|
117
|
+
optimizedSolidityVerifier: false,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// Legacy options support (deprecated)
|
|
123
|
+
return {
|
|
124
|
+
ipaAccumulation: false,
|
|
125
|
+
oracleHashType:
|
|
126
|
+
options?.keccak || options?.keccakZK
|
|
127
|
+
? 'keccak'
|
|
128
|
+
: options?.starknet || options?.starknetZK
|
|
129
|
+
? 'starknet'
|
|
130
|
+
: 'poseidon2',
|
|
131
|
+
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
132
|
+
optimizedSolidityVerifier: false,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export class UltraHonkVerifierBackend {
|
|
137
|
+
constructor(private api: Barretenberg) {}
|
|
138
|
+
|
|
139
|
+
async verifyProof(
|
|
140
|
+
proofData: ProofData & { verificationKey: Uint8Array },
|
|
141
|
+
options?: UltraHonkBackendOptions,
|
|
142
|
+
): Promise<boolean> {
|
|
143
|
+
const proofFrs: Uint8Array[] = [];
|
|
144
|
+
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
145
|
+
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
146
|
+
}
|
|
147
|
+
const { verified } = await this.api.circuitVerify({
|
|
148
|
+
verificationKey: proofData.verificationKey,
|
|
149
|
+
publicInputs: proofData.publicInputs.map(hexToUint8Array),
|
|
150
|
+
proof: proofFrs,
|
|
151
|
+
settings: getProofSettingsFromOptions(options),
|
|
152
|
+
});
|
|
153
|
+
return verified;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export class UltraHonkBackend {
|
|
158
|
+
// These type assertions are used so that we don't
|
|
159
|
+
// have to initialize `api` in the constructor.
|
|
160
|
+
// These are initialized asynchronously in the `init` function,
|
|
161
|
+
// constructors cannot be asynchronous which is why we do this.
|
|
162
|
+
|
|
163
|
+
private acirUncompressedBytecode: Uint8Array;
|
|
164
|
+
|
|
165
|
+
constructor(
|
|
166
|
+
acirBytecode: string,
|
|
167
|
+
private api: Barretenberg,
|
|
168
|
+
) {
|
|
169
|
+
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
async generateProof(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofData> {
|
|
173
|
+
const witness = ungzip(compressedWitness);
|
|
174
|
+
const { proof, publicInputs } = await this.api.circuitProve({
|
|
175
|
+
witness,
|
|
176
|
+
circuit: {
|
|
177
|
+
name: 'circuit',
|
|
178
|
+
bytecode: this.acirUncompressedBytecode,
|
|
179
|
+
verificationKey: new Uint8Array(0), // Empty VK - lower performance.
|
|
180
|
+
},
|
|
181
|
+
settings: getProofSettingsFromOptions(options),
|
|
182
|
+
});
|
|
183
|
+
console.log(`Generated proof for circuit with ${publicInputs.length} public inputs and ${proof.length} fields.`);
|
|
184
|
+
|
|
185
|
+
// We return ProofData as a flat buffer and an array of strings to match the current ProofData class.
|
|
186
|
+
const flatProof = new Uint8Array(proof.length * 32);
|
|
187
|
+
proof.forEach((fr, i) => {
|
|
188
|
+
flatProof.set(fr, i * 32);
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
return { proof: flatProof, publicInputs: publicInputs.map(uint8ArrayToHex) };
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
async verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean> {
|
|
195
|
+
const proofFrs: Uint8Array[] = [];
|
|
196
|
+
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
197
|
+
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
198
|
+
}
|
|
199
|
+
// TODO reconsider API - computing the VK at this point is not optimal
|
|
200
|
+
const vkResult = await this.api.circuitComputeVk({
|
|
201
|
+
circuit: {
|
|
202
|
+
name: 'circuit',
|
|
203
|
+
bytecode: this.acirUncompressedBytecode,
|
|
204
|
+
},
|
|
205
|
+
settings: getProofSettingsFromOptions(options),
|
|
206
|
+
});
|
|
207
|
+
const { verified } = await this.api.circuitVerify({
|
|
208
|
+
verificationKey: vkResult.bytes,
|
|
209
|
+
publicInputs: proofData.publicInputs.map(hexToUint8Array),
|
|
210
|
+
proof: proofFrs,
|
|
211
|
+
settings: getProofSettingsFromOptions(options),
|
|
212
|
+
});
|
|
213
|
+
return verified;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
async getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array> {
|
|
217
|
+
const vkResult = await this.api.circuitComputeVk({
|
|
218
|
+
circuit: {
|
|
219
|
+
name: 'circuit',
|
|
220
|
+
bytecode: this.acirUncompressedBytecode,
|
|
221
|
+
},
|
|
222
|
+
settings: getProofSettingsFromOptions(options),
|
|
223
|
+
});
|
|
224
|
+
return vkResult.bytes;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/** @description Returns a solidity verifier */
|
|
228
|
+
async getSolidityVerifier(vk: Uint8Array, options?: UltraHonkBackendOptions): Promise<string> {
|
|
229
|
+
const result = await this.api.circuitWriteSolidityVerifier({
|
|
230
|
+
verificationKey: vk,
|
|
231
|
+
settings: getProofSettingsFromOptions(options),
|
|
232
|
+
});
|
|
233
|
+
return result.solidityCode;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// TODO(https://github.com/noir-lang/noir/issues/5661): Update this to handle Honk recursive aggregation in the browser once it is ready in the backend itself
|
|
237
|
+
async generateRecursiveProofArtifacts(
|
|
238
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
239
|
+
_proof: Uint8Array,
|
|
240
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
241
|
+
_numOfPublicInputs: number,
|
|
242
|
+
options?: UltraHonkBackendOptions,
|
|
243
|
+
): Promise<{ proofAsFields: string[]; vkAsFields: string[]; vkHash: string }> {
|
|
244
|
+
// TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
|
|
245
|
+
// There is still a proofAsFields method but we could consider getting rid of it as the proof itself
|
|
246
|
+
// is a list of field elements.
|
|
247
|
+
// UltraHonk also does not have public inputs directly prepended to the proof and they are still instead
|
|
248
|
+
// inserted at an offset.
|
|
249
|
+
// const proof = reconstructProofWithPublicInputs(proofData);
|
|
250
|
+
// const proofAsFields = (await this.api.acirProofAsFieldsUltraHonk(proof)).slice(numOfPublicInputs);
|
|
251
|
+
|
|
252
|
+
const vkResult = await this.api.circuitComputeVk({
|
|
253
|
+
circuit: {
|
|
254
|
+
name: 'circuit',
|
|
255
|
+
bytecode: this.acirUncompressedBytecode,
|
|
256
|
+
},
|
|
257
|
+
settings: getProofSettingsFromOptions(options),
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
// Convert VK bytes to field elements (32-byte chunks)
|
|
261
|
+
const vkAsFields: string[] = [];
|
|
262
|
+
for (let i = 0; i < vkResult.bytes.length; i += 32) {
|
|
263
|
+
const chunk = vkResult.bytes.slice(i, i + 32);
|
|
264
|
+
vkAsFields.push(uint8ArrayToHex(chunk));
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
return {
|
|
268
|
+
// TODO(https://github.com/noir-lang/noir/issues/5661)
|
|
269
|
+
proofAsFields: [],
|
|
270
|
+
vkAsFields,
|
|
271
|
+
// We use an empty string for the vk hash here as it is unneeded as part of the recursive artifacts
|
|
272
|
+
// The user can be expected to hash the vk inside their circuit to check whether the vk is the circuit
|
|
273
|
+
// they expect
|
|
274
|
+
vkHash: uint8ArrayToHex(vkResult.hash),
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
export class AztecClientBackend {
|
|
280
|
+
// These type assertions are used so that we don't
|
|
281
|
+
// have to initialize `api` in the constructor.
|
|
282
|
+
// These are initialized asynchronously in the `init` function,
|
|
283
|
+
// constructors cannot be asynchronous which is why we do this.
|
|
284
|
+
|
|
285
|
+
constructor(
|
|
286
|
+
private acirBuf: Uint8Array[],
|
|
287
|
+
private api: Barretenberg,
|
|
288
|
+
) {}
|
|
289
|
+
|
|
290
|
+
async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array[], Uint8Array, Uint8Array]> {
|
|
291
|
+
if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
|
|
292
|
+
throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!');
|
|
293
|
+
}
|
|
294
|
+
if (vksBuf.length !== 0 && vksBuf.length !== witnessBuf.length) {
|
|
295
|
+
// NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
|
|
296
|
+
throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Queue IVC start with the number of circuits
|
|
300
|
+
this.api.chonkStart({ numCircuits: this.acirBuf.length });
|
|
301
|
+
|
|
302
|
+
// Queue load and accumulate for each circuit
|
|
303
|
+
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
304
|
+
const bytecode = this.acirBuf[i];
|
|
305
|
+
const witness = witnessBuf[i] || new Uint8Array(0);
|
|
306
|
+
const vk = vksBuf[i] || new Uint8Array(0);
|
|
307
|
+
const functionName = `unknown_wasm_${i}`;
|
|
308
|
+
|
|
309
|
+
// Load the circuit
|
|
310
|
+
this.api.chonkLoad({
|
|
311
|
+
circuit: {
|
|
312
|
+
name: functionName,
|
|
313
|
+
bytecode: bytecode,
|
|
314
|
+
verificationKey: vk,
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
// Accumulate with witness
|
|
319
|
+
this.api.chonkAccumulate({
|
|
320
|
+
witness,
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// Generate the proof (and wait for all previous steps to finish)
|
|
325
|
+
const proveResult = await this.api.chonkProve({});
|
|
326
|
+
// The API currently expects a msgpack-encoded API.
|
|
327
|
+
const proof = new Encoder({ useRecords: false }).encode(fromChonkProof(proveResult.proof));
|
|
328
|
+
// Generate the VK
|
|
329
|
+
const vkResult = await this.api.chonkComputeVk({
|
|
330
|
+
circuit: {
|
|
331
|
+
name: 'hiding',
|
|
332
|
+
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
333
|
+
},
|
|
334
|
+
});
|
|
335
|
+
|
|
336
|
+
const proofFields = [
|
|
337
|
+
proveResult.proof.megaProof,
|
|
338
|
+
proveResult.proof.goblinProof.mergeProof,
|
|
339
|
+
proveResult.proof.goblinProof.eccvmProof,
|
|
340
|
+
proveResult.proof.goblinProof.ipaProof,
|
|
341
|
+
proveResult.proof.goblinProof.translatorProof,
|
|
342
|
+
].flat();
|
|
343
|
+
|
|
344
|
+
// Verify using native proof directly to avoid redundant encode/decode cycle
|
|
345
|
+
if (!(await this.verifyNative(proveResult.proof, vkResult.bytes))) {
|
|
346
|
+
throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
|
|
347
|
+
}
|
|
348
|
+
return [proofFields, proof, vkResult.bytes];
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
async verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean> {
|
|
352
|
+
const result = await this.api.chonkVerify({
|
|
353
|
+
proof: toChonkProof(new Decoder({ useRecords: false }).decode(proof)),
|
|
354
|
+
vk,
|
|
355
|
+
});
|
|
356
|
+
return result.valid;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Internal verification using native ChonkProof type.
|
|
361
|
+
* Avoids encode/decode cycle when called from prove().
|
|
362
|
+
*/
|
|
363
|
+
private async verifyNative(proof: ChonkProof, vk: Uint8Array): Promise<boolean> {
|
|
364
|
+
const result = await this.api.chonkVerify({
|
|
365
|
+
proof,
|
|
366
|
+
vk,
|
|
367
|
+
});
|
|
368
|
+
return result.valid;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
async gates(): Promise<number[]> {
|
|
372
|
+
const circuitSizes: number[] = [];
|
|
373
|
+
for (const buf of this.acirBuf) {
|
|
374
|
+
const gates = await this.api.chonkStats({
|
|
375
|
+
circuit: {
|
|
376
|
+
name: 'circuit',
|
|
377
|
+
bytecode: buf,
|
|
378
|
+
},
|
|
379
|
+
includeGatesPerOpcode: false,
|
|
380
|
+
});
|
|
381
|
+
circuitSizes.push(gates.circuitSize);
|
|
382
|
+
}
|
|
383
|
+
return circuitSizes;
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// Converts bytecode from a base64 string to a Uint8Array
|
|
388
|
+
function acirToUint8Array(base64EncodedBytecode: string): Uint8Array {
|
|
389
|
+
const compressedByteCode = base64Decode(base64EncodedBytecode);
|
|
390
|
+
return ungzip(compressedByteCode);
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
// Base64 decode using atob (works in both browser and Node.js 18+)
|
|
394
|
+
function base64Decode(input: string): Uint8Array {
|
|
395
|
+
if (typeof atob === 'function') {
|
|
396
|
+
return Uint8Array.from(atob(input), c => c.charCodeAt(0));
|
|
397
|
+
} else {
|
|
398
|
+
throw new Error('atob is not available. Node.js 18+ or browser required.');
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Convert a field element (32-byte Uint8Array) to a string.
|
|
404
|
+
*
|
|
405
|
+
* @param field - A 32-byte field element
|
|
406
|
+
* @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
|
|
407
|
+
* @returns The field value as a string in the specified radix
|
|
408
|
+
*
|
|
409
|
+
* @example
|
|
410
|
+
* const decimal = fieldToString(field); // "12345678"
|
|
411
|
+
* const hex = fieldToString(field, 16); // "bc614e"
|
|
412
|
+
*/
|
|
413
|
+
export function fieldToString(field: Uint8Array, radix: number = 10): string {
|
|
414
|
+
let result = 0n;
|
|
415
|
+
for (const byte of field) {
|
|
416
|
+
result <<= 8n;
|
|
417
|
+
result += BigInt(byte);
|
|
418
|
+
}
|
|
419
|
+
return result.toString(radix);
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Convert an array of field elements to an array of strings.
|
|
424
|
+
* Useful for passing VK fields to Noir circuits.
|
|
425
|
+
*
|
|
426
|
+
* @param fields - Array of 32-byte field elements
|
|
427
|
+
* @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
|
|
428
|
+
* @returns Array of strings in the specified radix
|
|
429
|
+
*
|
|
430
|
+
* @example
|
|
431
|
+
* const vkAsFields = await barretenbergAPI.vkAsFields({ verificationKey: vk });
|
|
432
|
+
* const vkDecimalStrings = fieldsToStrings(vkAsFields.fields); // ["12345678", "87654321", ...]
|
|
433
|
+
* const vkHexStrings = fieldsToStrings(vkAsFields.fields, 16); // ["bc614e", "5397fb1", ...]
|
|
434
|
+
*/
|
|
435
|
+
export function fieldsToStrings(fields: Uint8Array[], radix: number = 10): string[] {
|
|
436
|
+
return fields.map(field => fieldToString(field, radix));
|
|
437
|
+
}
|
|
438
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { BackendType, Barretenberg, BarretenbergSync } from './index.js';
|
|
2
|
+
import { Fr } from './testing/fields.js';
|
|
3
|
+
|
|
4
|
+
describe('blake2s async', () => {
|
|
5
|
+
let api: Barretenberg;
|
|
6
|
+
|
|
7
|
+
beforeAll(async () => {
|
|
8
|
+
// We're going to test over a worker backend to cover more code paths.
|
|
9
|
+
api = await Barretenberg.new({ threads: 1, backend: BackendType.WasmWorker });
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
afterAll(async () => {
|
|
13
|
+
await api.destroy();
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
it('blake2s', async () => {
|
|
17
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
18
|
+
const expected = new Uint8Array([
|
|
19
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c, 0x2a,
|
|
20
|
+
0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
21
|
+
]);
|
|
22
|
+
const response = await api.blake2s({ data: input });
|
|
23
|
+
expect(response.hash).toEqual(expected);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
it('blake2sToField', async () => {
|
|
27
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
28
|
+
const expected = Fr.fromBufferReduce(
|
|
29
|
+
new Uint8Array([
|
|
30
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
31
|
+
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
32
|
+
]),
|
|
33
|
+
);
|
|
34
|
+
const response = await api.blake2sToField({ data: input });
|
|
35
|
+
const result = Fr.fromBuffer(response.field);
|
|
36
|
+
expect(result).toEqual(expected);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
describe('blake2s sync', () => {
|
|
41
|
+
let api: BarretenbergSync;
|
|
42
|
+
|
|
43
|
+
beforeAll(async () => {
|
|
44
|
+
api = await BarretenbergSync.initSingleton();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('blake2s', () => {
|
|
48
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
49
|
+
const expected = new Uint8Array([
|
|
50
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c, 0x2a,
|
|
51
|
+
0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
52
|
+
]);
|
|
53
|
+
const response = api.blake2s({ data: input });
|
|
54
|
+
expect(response.hash).toEqual(expected);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('blake2sToField', () => {
|
|
58
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
59
|
+
const expected = Fr.fromBufferReduce(
|
|
60
|
+
new Uint8Array([
|
|
61
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
62
|
+
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
63
|
+
]),
|
|
64
|
+
);
|
|
65
|
+
const response = api.blake2sToField({ data: input });
|
|
66
|
+
const result = Fr.fromBuffer(response.field);
|
|
67
|
+
expect(result).toEqual(expected);
|
|
68
|
+
});
|
|
69
|
+
});
|