@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,359 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AztecClientBackend = exports.UltraHonkBackend = exports.UltraHonkVerifierBackend = exports.AztecClientBackendError = void 0;
|
|
4
|
+
exports.fieldToString = fieldToString;
|
|
5
|
+
exports.fieldsToStrings = fieldsToStrings;
|
|
6
|
+
const index_js_1 = require("../proof/index.js");
|
|
7
|
+
const api_types_js_1 = require("../cbind/generated/api_types.js");
|
|
8
|
+
const pako_1 = require("pako");
|
|
9
|
+
const msgpackr_1 = require("msgpackr");
|
|
10
|
+
class AztecClientBackendError extends Error {
|
|
11
|
+
constructor(message) {
|
|
12
|
+
super(message);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.AztecClientBackendError = AztecClientBackendError;
|
|
16
|
+
function getProofSettingsFromOptions(options) {
|
|
17
|
+
// Check for conflicting options - verifierTarget should not be combined with legacy options
|
|
18
|
+
if (options?.verifierTarget) {
|
|
19
|
+
const legacyOptions = [options.keccak, options.keccakZK, options.starknet, options.starknetZK].filter(Boolean);
|
|
20
|
+
if (legacyOptions.length > 0) {
|
|
21
|
+
throw new Error('Cannot use verifierTarget with legacy options (keccak, keccakZK, starknet, starknetZK). ' +
|
|
22
|
+
'Use verifierTarget alone.');
|
|
23
|
+
}
|
|
24
|
+
switch (options.verifierTarget) {
|
|
25
|
+
case 'evm':
|
|
26
|
+
return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: false, optimizedSolidityVerifier: false };
|
|
27
|
+
case 'evm-no-zk':
|
|
28
|
+
return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: true, optimizedSolidityVerifier: false };
|
|
29
|
+
case 'noir-recursive':
|
|
30
|
+
return {
|
|
31
|
+
ipaAccumulation: false,
|
|
32
|
+
oracleHashType: 'poseidon2',
|
|
33
|
+
disableZk: false,
|
|
34
|
+
optimizedSolidityVerifier: false,
|
|
35
|
+
};
|
|
36
|
+
case 'noir-recursive-no-zk':
|
|
37
|
+
return {
|
|
38
|
+
ipaAccumulation: false,
|
|
39
|
+
oracleHashType: 'poseidon2',
|
|
40
|
+
disableZk: true,
|
|
41
|
+
optimizedSolidityVerifier: false,
|
|
42
|
+
};
|
|
43
|
+
case 'noir-rollup':
|
|
44
|
+
return {
|
|
45
|
+
ipaAccumulation: true,
|
|
46
|
+
oracleHashType: 'poseidon2',
|
|
47
|
+
disableZk: false,
|
|
48
|
+
optimizedSolidityVerifier: false,
|
|
49
|
+
};
|
|
50
|
+
case 'noir-rollup-no-zk':
|
|
51
|
+
return {
|
|
52
|
+
ipaAccumulation: true,
|
|
53
|
+
oracleHashType: 'poseidon2',
|
|
54
|
+
disableZk: true,
|
|
55
|
+
optimizedSolidityVerifier: false,
|
|
56
|
+
};
|
|
57
|
+
case 'starknet':
|
|
58
|
+
return {
|
|
59
|
+
ipaAccumulation: false,
|
|
60
|
+
oracleHashType: 'starknet',
|
|
61
|
+
disableZk: false,
|
|
62
|
+
optimizedSolidityVerifier: false,
|
|
63
|
+
};
|
|
64
|
+
case 'starknet-no-zk':
|
|
65
|
+
return {
|
|
66
|
+
ipaAccumulation: false,
|
|
67
|
+
oracleHashType: 'starknet',
|
|
68
|
+
disableZk: true,
|
|
69
|
+
optimizedSolidityVerifier: false,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Legacy options support (deprecated)
|
|
74
|
+
return {
|
|
75
|
+
ipaAccumulation: false,
|
|
76
|
+
oracleHashType: options?.keccak || options?.keccakZK
|
|
77
|
+
? 'keccak'
|
|
78
|
+
: options?.starknet || options?.starknetZK
|
|
79
|
+
? 'starknet'
|
|
80
|
+
: 'poseidon2',
|
|
81
|
+
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
82
|
+
optimizedSolidityVerifier: false,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
class UltraHonkVerifierBackend {
|
|
86
|
+
api;
|
|
87
|
+
constructor(api) {
|
|
88
|
+
this.api = api;
|
|
89
|
+
}
|
|
90
|
+
async verifyProof(proofData, options) {
|
|
91
|
+
const proofFrs = [];
|
|
92
|
+
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
93
|
+
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
94
|
+
}
|
|
95
|
+
const { verified } = await this.api.circuitVerify({
|
|
96
|
+
verificationKey: proofData.verificationKey,
|
|
97
|
+
publicInputs: proofData.publicInputs.map(index_js_1.hexToUint8Array),
|
|
98
|
+
proof: proofFrs,
|
|
99
|
+
settings: getProofSettingsFromOptions(options),
|
|
100
|
+
});
|
|
101
|
+
return verified;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.UltraHonkVerifierBackend = UltraHonkVerifierBackend;
|
|
105
|
+
class UltraHonkBackend {
|
|
106
|
+
api;
|
|
107
|
+
// These type assertions are used so that we don't
|
|
108
|
+
// have to initialize `api` in the constructor.
|
|
109
|
+
// These are initialized asynchronously in the `init` function,
|
|
110
|
+
// constructors cannot be asynchronous which is why we do this.
|
|
111
|
+
acirUncompressedBytecode;
|
|
112
|
+
constructor(acirBytecode, api) {
|
|
113
|
+
this.api = api;
|
|
114
|
+
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
115
|
+
}
|
|
116
|
+
async generateProof(compressedWitness, options) {
|
|
117
|
+
const witness = (0, pako_1.ungzip)(compressedWitness);
|
|
118
|
+
const { proof, publicInputs } = await this.api.circuitProve({
|
|
119
|
+
witness,
|
|
120
|
+
circuit: {
|
|
121
|
+
name: 'circuit',
|
|
122
|
+
bytecode: this.acirUncompressedBytecode,
|
|
123
|
+
verificationKey: new Uint8Array(0), // Empty VK - lower performance.
|
|
124
|
+
},
|
|
125
|
+
settings: getProofSettingsFromOptions(options),
|
|
126
|
+
});
|
|
127
|
+
console.log(`Generated proof for circuit with ${publicInputs.length} public inputs and ${proof.length} fields.`);
|
|
128
|
+
// We return ProofData as a flat buffer and an array of strings to match the current ProofData class.
|
|
129
|
+
const flatProof = new Uint8Array(proof.length * 32);
|
|
130
|
+
proof.forEach((fr, i) => {
|
|
131
|
+
flatProof.set(fr, i * 32);
|
|
132
|
+
});
|
|
133
|
+
return { proof: flatProof, publicInputs: publicInputs.map(index_js_1.uint8ArrayToHex) };
|
|
134
|
+
}
|
|
135
|
+
async verifyProof(proofData, options) {
|
|
136
|
+
const proofFrs = [];
|
|
137
|
+
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
138
|
+
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
139
|
+
}
|
|
140
|
+
// TODO reconsider API - computing the VK at this point is not optimal
|
|
141
|
+
const vkResult = await this.api.circuitComputeVk({
|
|
142
|
+
circuit: {
|
|
143
|
+
name: 'circuit',
|
|
144
|
+
bytecode: this.acirUncompressedBytecode,
|
|
145
|
+
},
|
|
146
|
+
settings: getProofSettingsFromOptions(options),
|
|
147
|
+
});
|
|
148
|
+
const { verified } = await this.api.circuitVerify({
|
|
149
|
+
verificationKey: vkResult.bytes,
|
|
150
|
+
publicInputs: proofData.publicInputs.map(index_js_1.hexToUint8Array),
|
|
151
|
+
proof: proofFrs,
|
|
152
|
+
settings: getProofSettingsFromOptions(options),
|
|
153
|
+
});
|
|
154
|
+
return verified;
|
|
155
|
+
}
|
|
156
|
+
async getVerificationKey(options) {
|
|
157
|
+
const vkResult = await this.api.circuitComputeVk({
|
|
158
|
+
circuit: {
|
|
159
|
+
name: 'circuit',
|
|
160
|
+
bytecode: this.acirUncompressedBytecode,
|
|
161
|
+
},
|
|
162
|
+
settings: getProofSettingsFromOptions(options),
|
|
163
|
+
});
|
|
164
|
+
return vkResult.bytes;
|
|
165
|
+
}
|
|
166
|
+
/** @description Returns a solidity verifier */
|
|
167
|
+
async getSolidityVerifier(vk, options) {
|
|
168
|
+
const result = await this.api.circuitWriteSolidityVerifier({
|
|
169
|
+
verificationKey: vk,
|
|
170
|
+
settings: getProofSettingsFromOptions(options),
|
|
171
|
+
});
|
|
172
|
+
return result.solidityCode;
|
|
173
|
+
}
|
|
174
|
+
// 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
|
|
175
|
+
async generateRecursiveProofArtifacts(
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
177
|
+
_proof,
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
179
|
+
_numOfPublicInputs, options) {
|
|
180
|
+
// TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
|
|
181
|
+
// There is still a proofAsFields method but we could consider getting rid of it as the proof itself
|
|
182
|
+
// is a list of field elements.
|
|
183
|
+
// UltraHonk also does not have public inputs directly prepended to the proof and they are still instead
|
|
184
|
+
// inserted at an offset.
|
|
185
|
+
// const proof = reconstructProofWithPublicInputs(proofData);
|
|
186
|
+
// const proofAsFields = (await this.api.acirProofAsFieldsUltraHonk(proof)).slice(numOfPublicInputs);
|
|
187
|
+
const vkResult = await this.api.circuitComputeVk({
|
|
188
|
+
circuit: {
|
|
189
|
+
name: 'circuit',
|
|
190
|
+
bytecode: this.acirUncompressedBytecode,
|
|
191
|
+
},
|
|
192
|
+
settings: getProofSettingsFromOptions(options),
|
|
193
|
+
});
|
|
194
|
+
// Convert VK bytes to field elements (32-byte chunks)
|
|
195
|
+
const vkAsFields = [];
|
|
196
|
+
for (let i = 0; i < vkResult.bytes.length; i += 32) {
|
|
197
|
+
const chunk = vkResult.bytes.slice(i, i + 32);
|
|
198
|
+
vkAsFields.push((0, index_js_1.uint8ArrayToHex)(chunk));
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
// TODO(https://github.com/noir-lang/noir/issues/5661)
|
|
202
|
+
proofAsFields: [],
|
|
203
|
+
vkAsFields,
|
|
204
|
+
// We use an empty string for the vk hash here as it is unneeded as part of the recursive artifacts
|
|
205
|
+
// The user can be expected to hash the vk inside their circuit to check whether the vk is the circuit
|
|
206
|
+
// they expect
|
|
207
|
+
vkHash: (0, index_js_1.uint8ArrayToHex)(vkResult.hash),
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
exports.UltraHonkBackend = UltraHonkBackend;
|
|
212
|
+
class AztecClientBackend {
|
|
213
|
+
acirBuf;
|
|
214
|
+
api;
|
|
215
|
+
// These type assertions are used so that we don't
|
|
216
|
+
// have to initialize `api` in the constructor.
|
|
217
|
+
// These are initialized asynchronously in the `init` function,
|
|
218
|
+
// constructors cannot be asynchronous which is why we do this.
|
|
219
|
+
constructor(acirBuf, api) {
|
|
220
|
+
this.acirBuf = acirBuf;
|
|
221
|
+
this.api = api;
|
|
222
|
+
}
|
|
223
|
+
async prove(witnessBuf, vksBuf = []) {
|
|
224
|
+
if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
|
|
225
|
+
throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!');
|
|
226
|
+
}
|
|
227
|
+
if (vksBuf.length !== 0 && vksBuf.length !== witnessBuf.length) {
|
|
228
|
+
// NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
|
|
229
|
+
throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
|
|
230
|
+
}
|
|
231
|
+
// Queue IVC start with the number of circuits
|
|
232
|
+
this.api.chonkStart({ numCircuits: this.acirBuf.length });
|
|
233
|
+
// Queue load and accumulate for each circuit
|
|
234
|
+
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
235
|
+
const bytecode = this.acirBuf[i];
|
|
236
|
+
const witness = witnessBuf[i] || new Uint8Array(0);
|
|
237
|
+
const vk = vksBuf[i] || new Uint8Array(0);
|
|
238
|
+
const functionName = `unknown_wasm_${i}`;
|
|
239
|
+
// Load the circuit
|
|
240
|
+
this.api.chonkLoad({
|
|
241
|
+
circuit: {
|
|
242
|
+
name: functionName,
|
|
243
|
+
bytecode: bytecode,
|
|
244
|
+
verificationKey: vk,
|
|
245
|
+
},
|
|
246
|
+
});
|
|
247
|
+
// Accumulate with witness
|
|
248
|
+
this.api.chonkAccumulate({
|
|
249
|
+
witness,
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
// Generate the proof (and wait for all previous steps to finish)
|
|
253
|
+
const proveResult = await this.api.chonkProve({});
|
|
254
|
+
// The API currently expects a msgpack-encoded API.
|
|
255
|
+
const proof = new msgpackr_1.Encoder({ useRecords: false }).encode((0, api_types_js_1.fromChonkProof)(proveResult.proof));
|
|
256
|
+
// Generate the VK
|
|
257
|
+
const vkResult = await this.api.chonkComputeVk({
|
|
258
|
+
circuit: {
|
|
259
|
+
name: 'hiding',
|
|
260
|
+
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
261
|
+
},
|
|
262
|
+
});
|
|
263
|
+
const proofFields = [
|
|
264
|
+
proveResult.proof.megaProof,
|
|
265
|
+
proveResult.proof.goblinProof.mergeProof,
|
|
266
|
+
proveResult.proof.goblinProof.eccvmProof,
|
|
267
|
+
proveResult.proof.goblinProof.ipaProof,
|
|
268
|
+
proveResult.proof.goblinProof.translatorProof,
|
|
269
|
+
].flat();
|
|
270
|
+
// Verify using native proof directly to avoid redundant encode/decode cycle
|
|
271
|
+
if (!(await this.verifyNative(proveResult.proof, vkResult.bytes))) {
|
|
272
|
+
throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
|
|
273
|
+
}
|
|
274
|
+
return [proofFields, proof, vkResult.bytes];
|
|
275
|
+
}
|
|
276
|
+
async verify(proof, vk) {
|
|
277
|
+
const result = await this.api.chonkVerify({
|
|
278
|
+
proof: (0, api_types_js_1.toChonkProof)(new msgpackr_1.Decoder({ useRecords: false }).decode(proof)),
|
|
279
|
+
vk,
|
|
280
|
+
});
|
|
281
|
+
return result.valid;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Internal verification using native ChonkProof type.
|
|
285
|
+
* Avoids encode/decode cycle when called from prove().
|
|
286
|
+
*/
|
|
287
|
+
async verifyNative(proof, vk) {
|
|
288
|
+
const result = await this.api.chonkVerify({
|
|
289
|
+
proof,
|
|
290
|
+
vk,
|
|
291
|
+
});
|
|
292
|
+
return result.valid;
|
|
293
|
+
}
|
|
294
|
+
async gates() {
|
|
295
|
+
const circuitSizes = [];
|
|
296
|
+
for (const buf of this.acirBuf) {
|
|
297
|
+
const gates = await this.api.chonkStats({
|
|
298
|
+
circuit: {
|
|
299
|
+
name: 'circuit',
|
|
300
|
+
bytecode: buf,
|
|
301
|
+
},
|
|
302
|
+
includeGatesPerOpcode: false,
|
|
303
|
+
});
|
|
304
|
+
circuitSizes.push(gates.circuitSize);
|
|
305
|
+
}
|
|
306
|
+
return circuitSizes;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
exports.AztecClientBackend = AztecClientBackend;
|
|
310
|
+
// Converts bytecode from a base64 string to a Uint8Array
|
|
311
|
+
function acirToUint8Array(base64EncodedBytecode) {
|
|
312
|
+
const compressedByteCode = base64Decode(base64EncodedBytecode);
|
|
313
|
+
return (0, pako_1.ungzip)(compressedByteCode);
|
|
314
|
+
}
|
|
315
|
+
// Base64 decode using atob (works in both browser and Node.js 18+)
|
|
316
|
+
function base64Decode(input) {
|
|
317
|
+
if (typeof atob === 'function') {
|
|
318
|
+
return Uint8Array.from(atob(input), c => c.charCodeAt(0));
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
throw new Error('atob is not available. Node.js 18+ or browser required.');
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Convert a field element (32-byte Uint8Array) to a string.
|
|
326
|
+
*
|
|
327
|
+
* @param field - A 32-byte field element
|
|
328
|
+
* @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
|
|
329
|
+
* @returns The field value as a string in the specified radix
|
|
330
|
+
*
|
|
331
|
+
* @example
|
|
332
|
+
* const decimal = fieldToString(field); // "12345678"
|
|
333
|
+
* const hex = fieldToString(field, 16); // "bc614e"
|
|
334
|
+
*/
|
|
335
|
+
function fieldToString(field, radix = 10) {
|
|
336
|
+
let result = 0n;
|
|
337
|
+
for (const byte of field) {
|
|
338
|
+
result <<= 8n;
|
|
339
|
+
result += BigInt(byte);
|
|
340
|
+
}
|
|
341
|
+
return result.toString(radix);
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Convert an array of field elements to an array of strings.
|
|
345
|
+
* Useful for passing VK fields to Noir circuits.
|
|
346
|
+
*
|
|
347
|
+
* @param fields - Array of 32-byte field elements
|
|
348
|
+
* @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
|
|
349
|
+
* @returns Array of strings in the specified radix
|
|
350
|
+
*
|
|
351
|
+
* @example
|
|
352
|
+
* const vkAsFields = await barretenbergAPI.vkAsFields({ verificationKey: vk });
|
|
353
|
+
* const vkDecimalStrings = fieldsToStrings(vkAsFields.fields); // ["12345678", "87654321", ...]
|
|
354
|
+
* const vkHexStrings = fieldsToStrings(vkAsFields.fields, 16); // ["bc614e", "5397fb1", ...]
|
|
355
|
+
*/
|
|
356
|
+
function fieldsToStrings(fields, radix = 10) {
|
|
357
|
+
return fields.map(field => fieldToString(field, radix));
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGdEQUFnRjtBQUNoRixrRUFBMkY7QUFDM0YsK0JBQThCO0FBQzlCLHVDQUE0QztBQUU1Qyw2QkFBcUMsU0FBUSxLQUFLO0lBQ2hELFlBQVksT0FBZSxFQUFFO1FBQzNCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUFBLENBQ2hCO0NBQ0Y7O0FBNkNELFNBQVMsMkJBQTJCLENBQUMsT0FBaUMsRUFLcEU7SUFDQSw0RkFBNEY7SUFDNUYsSUFBSSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDNUIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9HLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUNiLDBGQUEwRjtnQkFDeEYsMkJBQTJCLENBQzlCLENBQUM7UUFDSixDQUFDO1FBRUQsUUFBUSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDL0IsS0FBSyxLQUFLO2dCQUNSLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNsSCxLQUFLLFdBQVc7Z0JBQ2QsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2pILEtBQUssZ0JBQWdCO2dCQUNu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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backend.test.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/backend.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const backend_js_1 = require("./backend.js");
|
|
4
|
+
describe('field helper functions', () => {
|
|
5
|
+
describe('fieldToString', () => {
|
|
6
|
+
it('converts zero field to "0"', () => {
|
|
7
|
+
const zeroField = new Uint8Array(32).fill(0);
|
|
8
|
+
expect((0, backend_js_1.fieldToString)(zeroField)).toBe('0');
|
|
9
|
+
});
|
|
10
|
+
it('converts field with value 1 to "1"', () => {
|
|
11
|
+
const oneField = new Uint8Array(32).fill(0);
|
|
12
|
+
oneField[31] = 1;
|
|
13
|
+
expect((0, backend_js_1.fieldToString)(oneField)).toBe('1');
|
|
14
|
+
});
|
|
15
|
+
it('converts field with value 256 to "256"', () => {
|
|
16
|
+
const field = new Uint8Array(32).fill(0);
|
|
17
|
+
field[30] = 1;
|
|
18
|
+
field[31] = 0;
|
|
19
|
+
expect((0, backend_js_1.fieldToString)(field)).toBe('256');
|
|
20
|
+
});
|
|
21
|
+
it('converts field with max uint8 in last byte to "255"', () => {
|
|
22
|
+
const field = new Uint8Array(32).fill(0);
|
|
23
|
+
field[31] = 255;
|
|
24
|
+
expect((0, backend_js_1.fieldToString)(field)).toBe('255');
|
|
25
|
+
});
|
|
26
|
+
it('converts larger values correctly', () => {
|
|
27
|
+
// 0x0100 = 256 in decimal
|
|
28
|
+
const field = new Uint8Array(32).fill(0);
|
|
29
|
+
field[30] = 0x01;
|
|
30
|
+
field[31] = 0x00;
|
|
31
|
+
expect((0, backend_js_1.fieldToString)(field)).toBe('256');
|
|
32
|
+
});
|
|
33
|
+
it('handles multi-byte values', () => {
|
|
34
|
+
// 0x010203 = 66051 in decimal
|
|
35
|
+
const field = new Uint8Array(32).fill(0);
|
|
36
|
+
field[29] = 0x01;
|
|
37
|
+
field[30] = 0x02;
|
|
38
|
+
field[31] = 0x03;
|
|
39
|
+
expect((0, backend_js_1.fieldToString)(field)).toBe('66051');
|
|
40
|
+
});
|
|
41
|
+
it('handles large field values', () => {
|
|
42
|
+
// A known value: all bytes set to 1
|
|
43
|
+
const field = new Uint8Array(32).fill(1);
|
|
44
|
+
const result = (0, backend_js_1.fieldToString)(field);
|
|
45
|
+
// Verify it's a valid decimal string
|
|
46
|
+
expect(result).toMatch(/^\d+$/);
|
|
47
|
+
// Verify the length is reasonable for a 256-bit number
|
|
48
|
+
expect(result.length).toBeGreaterThan(70);
|
|
49
|
+
});
|
|
50
|
+
it('converts to hex with radix 16', () => {
|
|
51
|
+
const field = new Uint8Array(32).fill(0);
|
|
52
|
+
field[31] = 255;
|
|
53
|
+
expect((0, backend_js_1.fieldToString)(field, 16)).toBe('ff');
|
|
54
|
+
});
|
|
55
|
+
it('converts to hex for multi-byte values', () => {
|
|
56
|
+
// 0x010203
|
|
57
|
+
const field = new Uint8Array(32).fill(0);
|
|
58
|
+
field[29] = 0x01;
|
|
59
|
+
field[30] = 0x02;
|
|
60
|
+
field[31] = 0x03;
|
|
61
|
+
expect((0, backend_js_1.fieldToString)(field, 16)).toBe('10203');
|
|
62
|
+
});
|
|
63
|
+
it('converts to binary with radix 2', () => {
|
|
64
|
+
const field = new Uint8Array(32).fill(0);
|
|
65
|
+
field[31] = 5;
|
|
66
|
+
expect((0, backend_js_1.fieldToString)(field, 2)).toBe('101');
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
describe('fieldsToStrings', () => {
|
|
70
|
+
it('converts empty array to empty array', () => {
|
|
71
|
+
expect((0, backend_js_1.fieldsToStrings)([])).toEqual([]);
|
|
72
|
+
});
|
|
73
|
+
it('converts single field', () => {
|
|
74
|
+
const oneField = new Uint8Array(32).fill(0);
|
|
75
|
+
oneField[31] = 42;
|
|
76
|
+
expect((0, backend_js_1.fieldsToStrings)([oneField])).toEqual(['42']);
|
|
77
|
+
});
|
|
78
|
+
it('converts multiple fields', () => {
|
|
79
|
+
const field1 = new Uint8Array(32).fill(0);
|
|
80
|
+
field1[31] = 1;
|
|
81
|
+
const field2 = new Uint8Array(32).fill(0);
|
|
82
|
+
field2[31] = 2;
|
|
83
|
+
const field3 = new Uint8Array(32).fill(0);
|
|
84
|
+
field3[31] = 3;
|
|
85
|
+
expect((0, backend_js_1.fieldsToStrings)([field1, field2, field3])).toEqual(['1', '2', '3']);
|
|
86
|
+
});
|
|
87
|
+
it('preserves order of fields', () => {
|
|
88
|
+
const fields = [10, 20, 30, 40, 50].map(v => {
|
|
89
|
+
const field = new Uint8Array(32).fill(0);
|
|
90
|
+
field[31] = v;
|
|
91
|
+
return field;
|
|
92
|
+
});
|
|
93
|
+
expect((0, backend_js_1.fieldsToStrings)(fields)).toEqual(['10', '20', '30', '40', '50']);
|
|
94
|
+
});
|
|
95
|
+
it('converts to hex with radix 16', () => {
|
|
96
|
+
const fields = [15, 16, 255].map(v => {
|
|
97
|
+
const field = new Uint8Array(32).fill(0);
|
|
98
|
+
field[31] = v;
|
|
99
|
+
return field;
|
|
100
|
+
});
|
|
101
|
+
expect((0, backend_js_1.fieldsToStrings)(fields, 16)).toEqual(['f', '10', 'ff']);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZy9iYWNrZW5kLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBOEQ7QUFFOUQsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3ZDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDOUIsRUFBRSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxNQUFNLENBQUMsSUFBQSwwQkFBYSxFQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQUEsQ0FDNUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG9DQUFvQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQzdDLE1BQU0sUUFBUSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFBLDBCQUFhLEVBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFBQSxDQUMzQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDakQsTUFBTSxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZCxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blake2s.test.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/blake2s.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const index_js_1 = require("./index.js");
|
|
4
|
+
const fields_js_1 = require("./testing/fields.js");
|
|
5
|
+
describe('blake2s async', () => {
|
|
6
|
+
let api;
|
|
7
|
+
beforeAll(async () => {
|
|
8
|
+
// We're going to test over a worker backend to cover more code paths.
|
|
9
|
+
api = await index_js_1.Barretenberg.new({ threads: 1, backend: index_js_1.BackendType.WasmWorker });
|
|
10
|
+
});
|
|
11
|
+
afterAll(async () => {
|
|
12
|
+
await api.destroy();
|
|
13
|
+
});
|
|
14
|
+
it('blake2s', async () => {
|
|
15
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
16
|
+
const expected = new Uint8Array([
|
|
17
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c, 0x2a,
|
|
18
|
+
0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
19
|
+
]);
|
|
20
|
+
const response = await api.blake2s({ data: input });
|
|
21
|
+
expect(response.hash).toEqual(expected);
|
|
22
|
+
});
|
|
23
|
+
it('blake2sToField', async () => {
|
|
24
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
25
|
+
const expected = fields_js_1.Fr.fromBufferReduce(new Uint8Array([
|
|
26
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
27
|
+
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
28
|
+
]));
|
|
29
|
+
const response = await api.blake2sToField({ data: input });
|
|
30
|
+
const result = fields_js_1.Fr.fromBuffer(response.field);
|
|
31
|
+
expect(result).toEqual(expected);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
describe('blake2s sync', () => {
|
|
35
|
+
let api;
|
|
36
|
+
beforeAll(async () => {
|
|
37
|
+
api = await index_js_1.BarretenbergSync.initSingleton();
|
|
38
|
+
});
|
|
39
|
+
it('blake2s', () => {
|
|
40
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
41
|
+
const expected = new Uint8Array([
|
|
42
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c, 0x2a,
|
|
43
|
+
0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
44
|
+
]);
|
|
45
|
+
const response = api.blake2s({ data: input });
|
|
46
|
+
expect(response.hash).toEqual(expected);
|
|
47
|
+
});
|
|
48
|
+
it('blake2sToField', () => {
|
|
49
|
+
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
50
|
+
const expected = fields_js_1.Fr.fromBufferReduce(new Uint8Array([
|
|
51
|
+
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
52
|
+
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
53
|
+
]));
|
|
54
|
+
const response = api.blake2sToField({ data: input });
|
|
55
|
+
const result = fields_js_1.Fr.fromBuffer(response.field);
|
|
56
|
+
expect(result).toEqual(expected);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxha2Uycy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZy9ibGFrZTJzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5Q0FBeUU7QUFDekUsbURBQXlDO0FBRXpDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDOUIsSUFBSSxHQUFpQixDQUFDO0lBRXRCLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3BCLHNFQUFzRTtRQUN0RSxHQUFHLEdBQUcsTUFBTSx1QkFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUFBLENBQy9FLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLE1BQU0sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQUEsQ0FDckIsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEVBQTBFLENBQUMsQ0FBQztRQUN0RyxNQUFNLFFBQVEsR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUM5QixJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJO1lBQ2hILElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJ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
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { AsyncApi } from '../cbind/generated/async.js';
|
|
2
|
+
import { SyncApi } from '../cbind/generated/sync.js';
|
|
3
|
+
import { IMsgpackBackendSync, IMsgpackBackendAsync } from '../bb_backends/interface.js';
|
|
4
|
+
import { BackendOptions } from '../bb_backends/index.js';
|
|
5
|
+
export { UltraHonkBackend, UltraHonkVerifierBackend, AztecClientBackend, fieldToString, fieldsToStrings, type UltraHonkBackendOptions, type VerifierTarget, } from './backend.js';
|
|
6
|
+
export * from '../bb_backends/index.js';
|
|
7
|
+
export type CircuitOptions = {
|
|
8
|
+
/** @description Whether to produce SNARK friendly proofs */
|
|
9
|
+
recursive: boolean;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The main class library consumers interact with.
|
|
13
|
+
* It extends the generated api, and provides a static constructor "new" to compose components.
|
|
14
|
+
*/
|
|
15
|
+
export declare class Barretenberg extends AsyncApi {
|
|
16
|
+
private options;
|
|
17
|
+
constructor(backend: IMsgpackBackendAsync, options: BackendOptions);
|
|
18
|
+
/**
|
|
19
|
+
* Constructs an instance of Barretenberg.
|
|
20
|
+
*
|
|
21
|
+
* If options.backend is set: uses that specific backend (throws if unavailable)
|
|
22
|
+
* If options.backend is unset: tries backends in order with fallback:
|
|
23
|
+
* 1. NativeUnixSocket (if bb binary available)
|
|
24
|
+
* 2. WasmWorker (in browser) or Wasm (in Node.js)
|
|
25
|
+
*/
|
|
26
|
+
static new(options?: BackendOptions): Promise<Barretenberg>;
|
|
27
|
+
initSRSChonk(srsSize?: number): Promise<void>;
|
|
28
|
+
getDefaultSrsSize(): number;
|
|
29
|
+
acirGetCircuitSizes(bytecode: Uint8Array, recursive: boolean, honkRecursion: boolean): Promise<[number, number]>;
|
|
30
|
+
destroy(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Initialize the singleton instance of Barretenberg.
|
|
33
|
+
* @param options Backend configuration options
|
|
34
|
+
*/
|
|
35
|
+
static initSingleton(options?: BackendOptions): Promise<Barretenberg>;
|
|
36
|
+
static destroySingleton(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Get the singleton instance of Barretenberg.
|
|
39
|
+
* Must call initSingleton() first.
|
|
40
|
+
*/
|
|
41
|
+
static getSingleton(): Barretenberg;
|
|
42
|
+
}
|
|
43
|
+
export declare class BarretenbergSync extends SyncApi {
|
|
44
|
+
constructor(backend: IMsgpackBackendSync);
|
|
45
|
+
/**
|
|
46
|
+
* Create a new BarretenbergSync instance.
|
|
47
|
+
*
|
|
48
|
+
* If options.backend is set: uses that specific backend (throws if unavailable)
|
|
49
|
+
* If options.backend is unset: tries backends in order with fallback:
|
|
50
|
+
* 1. NativeSharedMem (if bb binary + NAPI module available)
|
|
51
|
+
* 2. Wasm
|
|
52
|
+
*
|
|
53
|
+
* Supported backends: Wasm, NativeSharedMem
|
|
54
|
+
* Not supported: WasmWorker (no workers in sync), NativeUnixSocket (async only)
|
|
55
|
+
*/
|
|
56
|
+
static new(options?: BackendOptions): Promise<BarretenbergSync>;
|
|
57
|
+
/**
|
|
58
|
+
* Initialize the singleton instance.
|
|
59
|
+
* @param options Backend configuration options
|
|
60
|
+
*/
|
|
61
|
+
static initSingleton(options?: BackendOptions): Promise<BarretenbergSync>;
|
|
62
|
+
static destroySingleton(): void;
|
|
63
|
+
static getSingleton(): BarretenbergSync;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RixPQUFPLEVBQUUsY0FBYyxFQUFlLE1BQU0seUJBQXlCLENBQUM7QUFHdEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixlQUFlLEVBQ2YsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxjQUFjLEdBQ3BCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQiw0REFBNEQ7SUFDNUQsU0FBUyxFQUFFLE9BQU8sQ0FBQztDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBQ0gscUJBQWEsWUFBYSxTQUFRLFFBQVE7SUFDeEMsT0FBTyxDQUFDLE9BQU8sQ0FBaUI7SUFFaEMsWUFBWSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFHakU7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsT0FBYSxHQUFHLENBQUMsT0FBTyxHQUFFLGNBQW1CLHlCQTJCNUM7SUFFSyxZQUFZLENBQUMsT0FBTyxTQUEyQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FTcEU7SUFFRCxpQkFBaUIsSUFBSSxNQUFNLENBTzFCO0lBRUssbUJBQW1CLENBQ3ZCLFFBQVEsRUFBRSxVQUFVLEVBQ3BCLFNBQVMsRUFBRSxPQUFPLEVBQ2xCLGFBQWEsRUFBRSxPQUFPLEdBQ3JCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQVkzQjtJQUVLLE9BQU8sa0JBRVo7SUFFRDs7O09BR0c7SUFDSCxPQUFhLGFBQWEsQ0FBQyxPQUFPLEdBQUUsY0FBbUIseUJBYXREO0lBRUQsT0FBYSxnQkFBZ0Isa0JBTTVCO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLFlBQVksaUJBS2xCO0NBQ0Y7QUFRRCxxQkFBYSxnQkFBaUIsU0FBUSxPQUFPO0lBQzNDLFlBQVksT0FBTyxFQUFFLG1CQUFtQixFQUV2QztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxPQUFhLEdBQUcsQ0FBQyxPQUFPLEdBQUUsY0FBbUIsNkJBZTVDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBYSxhQUFhLENBQUMsT0FBTyxHQUFFLGNBQW1CLDZCQU90RDtJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsU0FNdEI7SUFFRCxNQUFNLENBQUMsWUFBWSxxQkFLbEI7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,cAAc,EAAe,MAAM,yBAAyB,CAAC;AAGtE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,KAAK,uBAAuB,EAC5B,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AACtB,cAAc,yBAAyB,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,QAAQ;IACxC,OAAO,CAAC,OAAO,CAAiB;IAEhC,YAAY,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAGjE;IAED;;;;;;;OAOG;IACH,OAAa,GAAG,CAAC,OAAO,GAAE,cAAmB,yBA2B5C;IAEK,YAAY,CAAC,OAAO,SAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CASpE;IAED,iBAAiB,IAAI,MAAM,CAO1B;IAEK,mBAAmB,CACvB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAY3B;IAEK,OAAO,kBAEZ;IAED;;;OAGG;IACH,OAAa,aAAa,CAAC,OAAO,GAAE,cAAmB,yBAatD;IAED,OAAa,gBAAgB,kBAM5B;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY,iBAKlB;CACF;AAQD,qBAAa,gBAAiB,SAAQ,OAAO;IAC3C,YAAY,OAAO,EAAE,mBAAmB,EAEvC;IAED;;;;;;;;;;OAUG;IACH,OAAa,GAAG,CAAC,OAAO,GAAE,cAAmB,6BAe5C;IAED;;;OAGG;IACH,OAAa,aAAa,CAAC,OAAO,GAAE,cAAmB,6BAOtD;IAED,MAAM,CAAC,gBAAgB,SAMtB;IAED,MAAM,CAAC,YAAY,qBAKlB;CACF"}
|