@aztec/bb.js 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -79
- 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/browser/async_map/index.d.ts +1 -1
- package/dest/browser/async_map/index.js +1 -1
- package/dest/browser/barretenberg/backend.d.ts +32 -41
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +128 -108
- package/dest/browser/barretenberg/index.d.ts +47 -48
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +132 -90
- 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 +2 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +6 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +5 -5
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +20 -11
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +16 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +94 -26
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/helpers/browser/index.js +9 -2
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/index.d.ts +1 -1
- package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/index.js +2 -3
- 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/{node/bindgen → browser/bin}/index.d.ts.map +1 -1
- package/dest/browser/bin/index.js +11 -0
- package/dest/browser/cbind/generate.d.ts +1 -1
- package/dest/browser/cbind/generate.js +94 -7
- package/dest/browser/cbind/generated/api_types.d.ts +1629 -230
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +2349 -479
- package/dest/browser/cbind/generated/async.d.ts +53 -14
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +587 -72
- 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 +54 -15
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +549 -72
- package/dest/browser/cbind/schema_compiler.d.ts +3 -5
- package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/browser/cbind/schema_compiler.js +102 -185
- package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/browser/crs/browser/cached_net_crs.js +6 -1
- package/dest/browser/crs/browser/index.d.ts +1 -1
- package/dest/browser/crs/index.d.ts +1 -1
- package/dest/browser/crs/net_crs.d.ts +1 -16
- package/dest/browser/crs/net_crs.d.ts.map +1 -1
- package/dest/browser/crs/net_crs.js +6 -1
- package/dest/browser/index.d.ts +6 -3
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +6 -3
- package/dest/browser/proof/index.d.ts +1 -1
- package/dest/browser/proof/index.js +1 -1
- package/dest/browser/random/browser/index.d.ts +1 -1
- package/dest/browser/random/browser/index.d.ts.map +1 -1
- package/dest/browser/random/browser/index.js +1 -1
- package/dest/browser/random/index.d.ts +1 -1
- package/dest/browser/retry/index.d.ts +1 -1
- package/dest/browser/retry/index.js +1 -1
- package/dest/node/async_map/index.d.ts +1 -1
- package/dest/node/async_map/index.js +1 -1
- package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +2 -2
- package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +3 -3
- package/dest/node/barretenberg/backend.d.ts +32 -41
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +128 -108
- package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
- package/dest/node/barretenberg/blake2s.test.js +21 -18
- package/dest/node/barretenberg/index.d.ts +47 -48
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +132 -90
- package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node/barretenberg/pedersen.test.js +25 -18
- 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 +1 -1
- package/dest/node/barretenberg/poseidon.test.js +16 -16
- 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 +2 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +6 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +5 -5
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +20 -11
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +16 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +94 -26
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
- package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
- package/dest/node/barretenberg_wasm/index.d.ts +1 -1
- package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/index.js +2 -3
- package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
- package/dest/node/barretenberg_wasm/index.test.js +11 -10
- 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 +28 -0
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
- package/dest/node/bb_backends/node/native_shm.js +172 -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 +232 -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 +281 -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 +1 -1
- package/dest/node/benchmark/index.js +1 -1
- package/dest/node/benchmark/timer.d.ts +1 -1
- package/dest/node/benchmark/timer.d.ts.map +1 -1
- package/dest/node/benchmark/timer.js +2 -1
- 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 +1 -1
- package/dest/node/cbind/generate.js +94 -7
- package/dest/node/cbind/generated/api_types.d.ts +1629 -230
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +2349 -479
- package/dest/node/cbind/generated/async.d.ts +53 -14
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +587 -72
- 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 +54 -15
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +549 -72
- package/dest/node/cbind/schema_compiler.d.ts +3 -5
- package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node/cbind/schema_compiler.js +102 -185
- package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/node/crs/browser/cached_net_crs.js +6 -1
- package/dest/node/crs/browser/index.d.ts +1 -1
- package/dest/node/crs/index.d.ts +1 -1
- package/dest/node/crs/net_crs.d.ts +1 -16
- package/dest/node/crs/net_crs.d.ts.map +1 -1
- package/dest/node/crs/net_crs.js +6 -1
- package/dest/node/crs/node/index.d.ts +1 -1
- package/dest/node/crs/node/index.d.ts.map +1 -1
- package/dest/node/crs/node/index.js +11 -6
- package/dest/node/index.d.ts +6 -3
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +6 -3
- package/dest/node/proof/index.d.ts +1 -1
- package/dest/node/proof/index.js +1 -1
- package/dest/node/random/browser/index.d.ts +1 -1
- package/dest/node/random/browser/index.d.ts.map +1 -1
- package/dest/node/random/browser/index.js +1 -1
- package/dest/node/random/index.d.ts +1 -1
- package/dest/node/random/node/index.d.ts +1 -1
- package/dest/node/random/node/index.js +1 -1
- package/dest/node/retry/index.d.ts +1 -1
- package/dest/node/retry/index.js +1 -1
- package/dest/node-cjs/async_map/index.d.ts +1 -1
- package/dest/node-cjs/async_map/index.js +1 -1
- package/dest/node-cjs/barretenberg/backend.d.ts +32 -41
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +131 -111
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/blake2s.test.js +22 -19
- package/dest/node-cjs/barretenberg/index.d.ts +47 -48
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +136 -93
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/pedersen.test.js +27 -20
- 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 +1 -1
- package/dest/node-cjs/barretenberg/poseidon.test.js +16 -16
- 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 +2 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +8 -9
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +5 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +20 -11
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +16 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +94 -26
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg_wasm/index.test.js +11 -10
- 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 +28 -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 +176 -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 +236 -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 +286 -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 +1 -1
- package/dest/node-cjs/benchmark/index.js +2 -2
- package/dest/node-cjs/benchmark/timer.d.ts +1 -1
- package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
- package/dest/node-cjs/benchmark/timer.js +2 -1
- package/dest/node-cjs/bin/index.d.ts +3 -0
- package/dest/node-cjs/{bindgen → bin}/index.d.ts.map +1 -1
- package/dest/node-cjs/bin/index.js +13 -0
- package/dest/node-cjs/cbind/generate.d.ts +1 -1
- package/dest/node-cjs/cbind/generate.js +93 -6
- package/dest/node-cjs/cbind/generated/api_types.d.ts +1629 -230
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +2555 -519
- package/dest/node-cjs/cbind/generated/async.d.ts +53 -14
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +586 -71
- 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 +54 -15
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +548 -71
- package/dest/node-cjs/cbind/schema_compiler.d.ts +3 -5
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
- package/dest/node-cjs/cbind/schema_compiler.js +102 -186
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
- package/dest/node-cjs/crs/browser/index.d.ts +1 -1
- package/dest/node-cjs/crs/browser/index.js +2 -2
- package/dest/node-cjs/crs/index.d.ts +1 -1
- package/dest/node-cjs/crs/index.js +2 -2
- package/dest/node-cjs/crs/net_crs.d.ts +1 -16
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/net_crs.js +6 -1
- package/dest/node-cjs/crs/node/index.d.ts +1 -1
- package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
- package/dest/node-cjs/crs/node/index.js +11 -6
- package/dest/node-cjs/index.d.ts +6 -3
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +29 -12
- package/dest/node-cjs/proof/index.d.ts +1 -1
- package/dest/node-cjs/proof/index.js +1 -1
- package/dest/node-cjs/random/browser/index.d.ts +1 -1
- package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
- package/dest/node-cjs/random/browser/index.js +1 -1
- package/dest/node-cjs/random/index.d.ts +1 -1
- package/dest/node-cjs/random/node/index.d.ts +1 -1
- package/dest/node-cjs/random/node/index.js +1 -1
- package/dest/node-cjs/retry/index.d.ts +1 -1
- package/dest/node-cjs/retry/index.js +1 -1
- package/package.json +12 -10
- package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +2 -2
- package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +3 -3
- package/src/barretenberg/backend.ts +165 -154
- package/src/barretenberg/blake2s.test.ts +20 -21
- package/src/barretenberg/index.ts +144 -130
- package/src/barretenberg/pedersen.test.ts +24 -17
- package/src/barretenberg/poseidon.bench.test.ts +271 -0
- package/src/barretenberg/poseidon.test.ts +15 -15
- package/src/barretenberg/testing/fields.ts +63 -0
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +4 -5
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +17 -9
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +104 -20
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
- package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
- package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
- package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
- package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
- package/src/barretenberg_wasm/index.test.ts +12 -11
- package/src/barretenberg_wasm/index.ts +1 -2
- 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 +190 -0
- package/src/bb_backends/node/native_shm_async.ts +261 -0
- package/src/bb_backends/node/native_socket.ts +325 -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/bin/index.ts +14 -0
- package/src/cbind/README.md +1 -1
- package/src/cbind/generate.ts +99 -6
- package/src/cbind/generated/api_types.ts +4241 -0
- package/src/cbind/generated/async.ts +717 -0
- package/src/cbind/generated/curve_constants.ts +53 -0
- package/src/cbind/generated/sync.ts +663 -0
- package/src/cbind/schema_compiler.ts +156 -244
- package/src/crs/node/index.ts +4 -5
- package/src/index.ts +33 -1
- package/dest/browser/barretenberg_api/index.d.ts +0 -109
- package/dest/browser/barretenberg_api/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_api/index.js +0 -699
- package/dest/browser/bigint-array/index.d.ts +0 -17
- package/dest/browser/bigint-array/index.d.ts.map +0 -1
- package/dest/browser/bigint-array/index.js +0 -37
- package/dest/browser/cbind/generated/native.d.ts +0 -31
- package/dest/browser/cbind/generated/native.d.ts.map +0 -1
- package/dest/browser/cbind/generated/native.js +0 -234
- package/dest/browser/log/browser/index.d.ts +0 -6
- package/dest/browser/log/browser/index.d.ts.map +0 -1
- package/dest/browser/log/browser/index.js +0 -28
- package/dest/browser/log/index.d.ts +0 -2
- package/dest/browser/log/index.d.ts.map +0 -1
- package/dest/browser/log/index.js +0 -2
- package/dest/browser/log/types.d.ts +0 -6
- package/dest/browser/log/types.d.ts.map +0 -1
- package/dest/browser/log/types.js +0 -2
- package/dest/browser/serialize/buffer_reader.d.ts +0 -28
- package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/browser/serialize/buffer_reader.js +0 -66
- package/dest/browser/serialize/index.d.ts +0 -4
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/index.js +0 -4
- package/dest/browser/serialize/output_type.d.ts +0 -11
- package/dest/browser/serialize/output_type.d.ts.map +0 -1
- package/dest/browser/serialize/output_type.js +0 -44
- package/dest/browser/serialize/serialize.d.ts +0 -53
- package/dest/browser/serialize/serialize.d.ts.map +0 -1
- package/dest/browser/serialize/serialize.js +0 -139
- package/dest/browser/types/fields.d.ts +0 -43
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fields.js +0 -102
- package/dest/browser/types/fixed_size_buffer.d.ts +0 -26
- package/dest/browser/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/browser/types/fixed_size_buffer.js +0 -51
- package/dest/browser/types/index.d.ts +0 -6
- package/dest/browser/types/index.d.ts.map +0 -1
- package/dest/browser/types/index.js +0 -6
- package/dest/browser/types/point.d.ts +0 -16
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/point.js +0 -31
- package/dest/browser/types/ptr.d.ts +0 -13
- package/dest/browser/types/ptr.d.ts.map +0 -1
- package/dest/browser/types/ptr.js +0 -19
- package/dest/browser/types/raw_buffer.d.ts +0 -3
- package/dest/browser/types/raw_buffer.d.ts.map +0 -1
- package/dest/browser/types/raw_buffer.js +0 -5
- package/dest/node/barretenberg/common.test.d.ts +0 -2
- package/dest/node/barretenberg/common.test.d.ts.map +0 -1
- package/dest/node/barretenberg/common.test.js +0 -20
- package/dest/node/barretenberg_api/index.d.ts +0 -109
- package/dest/node/barretenberg_api/index.d.ts.map +0 -1
- package/dest/node/barretenberg_api/index.js +0 -699
- package/dest/node/bigint-array/index.d.ts +0 -17
- package/dest/node/bigint-array/index.d.ts.map +0 -1
- package/dest/node/bigint-array/index.js +0 -37
- package/dest/node/bindgen/function_declaration.d.ts +0 -11
- package/dest/node/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/node/bindgen/function_declaration.js +0 -2
- package/dest/node/bindgen/index.d.ts +0 -2
- package/dest/node/bindgen/index.js +0 -15
- package/dest/node/bindgen/mappings.d.ts +0 -4
- package/dest/node/bindgen/mappings.d.ts.map +0 -1
- package/dest/node/bindgen/mappings.js +0 -64
- package/dest/node/bindgen/rust.d.ts +0 -2
- package/dest/node/bindgen/rust.d.ts.map +0 -1
- package/dest/node/bindgen/rust.js +0 -43
- package/dest/node/bindgen/to_camel_case.d.ts +0 -2
- package/dest/node/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/node/bindgen/to_camel_case.js +0 -11
- package/dest/node/bindgen/typescript.d.ts +0 -2
- package/dest/node/bindgen/typescript.d.ts.map +0 -1
- package/dest/node/bindgen/typescript.js +0 -100
- package/dest/node/cbind/generated/native.d.ts +0 -31
- package/dest/node/cbind/generated/native.d.ts.map +0 -1
- package/dest/node/cbind/generated/native.js +0 -234
- package/dest/node/log/browser/index.d.ts +0 -6
- package/dest/node/log/browser/index.d.ts.map +0 -1
- package/dest/node/log/browser/index.js +0 -28
- package/dest/node/log/index.d.ts +0 -2
- package/dest/node/log/index.d.ts.map +0 -1
- package/dest/node/log/index.js +0 -2
- package/dest/node/log/node/index.d.ts +0 -6
- package/dest/node/log/node/index.d.ts.map +0 -1
- package/dest/node/log/node/index.js +0 -40
- package/dest/node/log/types.d.ts +0 -6
- package/dest/node/log/types.d.ts.map +0 -1
- package/dest/node/log/types.js +0 -2
- package/dest/node/main.d.ts +0 -13
- package/dest/node/main.d.ts.map +0 -1
- package/dest/node/main.js +0 -459
- package/dest/node/serialize/buffer_reader.d.ts +0 -28
- package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node/serialize/buffer_reader.js +0 -66
- package/dest/node/serialize/index.d.ts +0 -4
- package/dest/node/serialize/index.d.ts.map +0 -1
- package/dest/node/serialize/index.js +0 -4
- package/dest/node/serialize/output_type.d.ts +0 -11
- package/dest/node/serialize/output_type.d.ts.map +0 -1
- package/dest/node/serialize/output_type.js +0 -44
- package/dest/node/serialize/serialize.d.ts +0 -53
- package/dest/node/serialize/serialize.d.ts.map +0 -1
- package/dest/node/serialize/serialize.js +0 -139
- package/dest/node/types/fields.d.ts +0 -43
- package/dest/node/types/fields.d.ts.map +0 -1
- package/dest/node/types/fields.js +0 -102
- package/dest/node/types/fixed_size_buffer.d.ts +0 -26
- package/dest/node/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/node/types/fixed_size_buffer.js +0 -51
- package/dest/node/types/index.d.ts +0 -6
- package/dest/node/types/index.d.ts.map +0 -1
- package/dest/node/types/index.js +0 -6
- package/dest/node/types/point.d.ts +0 -16
- package/dest/node/types/point.d.ts.map +0 -1
- package/dest/node/types/point.js +0 -31
- package/dest/node/types/ptr.d.ts +0 -13
- package/dest/node/types/ptr.d.ts.map +0 -1
- package/dest/node/types/ptr.js +0 -19
- package/dest/node/types/raw_buffer.d.ts +0 -3
- package/dest/node/types/raw_buffer.d.ts.map +0 -1
- package/dest/node/types/raw_buffer.js +0 -5
- package/dest/node-cjs/barretenberg/common.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/common.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/common.test.js +0 -22
- package/dest/node-cjs/barretenberg_api/index.d.ts +0 -109
- package/dest/node-cjs/barretenberg_api/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_api/index.js +0 -704
- package/dest/node-cjs/bigint-array/index.d.ts +0 -17
- package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
- package/dest/node-cjs/bigint-array/index.js +0 -43
- package/dest/node-cjs/bindgen/function_declaration.d.ts +0 -11
- package/dest/node-cjs/bindgen/function_declaration.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/function_declaration.js +0 -3
- package/dest/node-cjs/bindgen/index.d.ts +0 -2
- package/dest/node-cjs/bindgen/index.js +0 -17
- package/dest/node-cjs/bindgen/mappings.d.ts +0 -4
- package/dest/node-cjs/bindgen/mappings.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/mappings.js +0 -69
- package/dest/node-cjs/bindgen/rust.d.ts +0 -2
- package/dest/node-cjs/bindgen/rust.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/rust.js +0 -47
- package/dest/node-cjs/bindgen/to_camel_case.d.ts +0 -2
- package/dest/node-cjs/bindgen/to_camel_case.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/to_camel_case.js +0 -14
- package/dest/node-cjs/bindgen/typescript.d.ts +0 -2
- package/dest/node-cjs/bindgen/typescript.d.ts.map +0 -1
- package/dest/node-cjs/bindgen/typescript.js +0 -104
- package/dest/node-cjs/cbind/generated/native.d.ts +0 -31
- package/dest/node-cjs/cbind/generated/native.d.ts.map +0 -1
- package/dest/node-cjs/cbind/generated/native.js +0 -238
- package/dest/node-cjs/log/browser/index.d.ts +0 -6
- package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/log/browser/index.js +0 -30
- package/dest/node-cjs/log/index.d.ts +0 -2
- package/dest/node-cjs/log/index.d.ts.map +0 -1
- package/dest/node-cjs/log/index.js +0 -8
- package/dest/node-cjs/log/node/index.d.ts +0 -6
- package/dest/node-cjs/log/node/index.d.ts.map +0 -1
- package/dest/node-cjs/log/node/index.js +0 -42
- package/dest/node-cjs/log/types.d.ts +0 -6
- package/dest/node-cjs/log/types.d.ts.map +0 -1
- package/dest/node-cjs/log/types.js +0 -3
- package/dest/node-cjs/main.d.ts +0 -13
- package/dest/node-cjs/main.d.ts.map +0 -1
- package/dest/node-cjs/main.js +0 -470
- package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
- package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/node-cjs/serialize/buffer_reader.js +0 -70
- package/dest/node-cjs/serialize/index.d.ts +0 -4
- package/dest/node-cjs/serialize/index.d.ts.map +0 -1
- package/dest/node-cjs/serialize/index.js +0 -7
- package/dest/node-cjs/serialize/output_type.d.ts +0 -11
- package/dest/node-cjs/serialize/output_type.d.ts.map +0 -1
- package/dest/node-cjs/serialize/output_type.js +0 -51
- package/dest/node-cjs/serialize/serialize.d.ts +0 -53
- package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
- package/dest/node-cjs/serialize/serialize.js +0 -160
- package/dest/node-cjs/types/fields.d.ts +0 -43
- package/dest/node-cjs/types/fields.d.ts.map +0 -1
- package/dest/node-cjs/types/fields.js +0 -107
- package/dest/node-cjs/types/fixed_size_buffer.d.ts +0 -26
- package/dest/node-cjs/types/fixed_size_buffer.d.ts.map +0 -1
- package/dest/node-cjs/types/fixed_size_buffer.js +0 -57
- package/dest/node-cjs/types/index.d.ts +0 -6
- package/dest/node-cjs/types/index.d.ts.map +0 -1
- package/dest/node-cjs/types/index.js +0 -9
- package/dest/node-cjs/types/point.d.ts +0 -16
- package/dest/node-cjs/types/point.d.ts.map +0 -1
- package/dest/node-cjs/types/point.js +0 -35
- package/dest/node-cjs/types/ptr.d.ts +0 -13
- package/dest/node-cjs/types/ptr.d.ts.map +0 -1
- package/dest/node-cjs/types/ptr.js +0 -23
- package/dest/node-cjs/types/raw_buffer.d.ts +0 -3
- package/dest/node-cjs/types/raw_buffer.d.ts.map +0 -1
- package/dest/node-cjs/types/raw_buffer.js +0 -9
- package/src/barretenberg/common.test.ts +0 -23
- package/src/barretenberg_api/index.ts +0 -1216
- package/src/bindgen/function_declaration.ts +0 -11
- package/src/bindgen/index.ts +0 -17
- package/src/bindgen/mappings.ts +0 -67
- package/src/bindgen/rust.ts +0 -52
- package/src/bindgen/to_camel_case.ts +0 -10
- package/src/bindgen/typescript.ts +0 -116
- package/src/log/browser/index.ts +0 -35
- package/src/log/index.ts +0 -1
- package/src/log/node/index.ts +0 -52
- package/src/log/types.ts +0 -6
- package/src/main.ts +0 -534
- package/src/serialize/buffer_reader.ts +0 -85
- 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 -126
- package/src/types/fixed_size_buffer.ts +0 -59
- package/src/types/index.ts +0 -5
- package/src/types/point.ts +0 -38
- package/src/types/ptr.ts +0 -20
- package/src/types/raw_buffer.ts +0 -3
- /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
ProofData,
|
|
5
|
-
reconstructHonkProof,
|
|
6
|
-
splitHonkProof,
|
|
7
|
-
PAIRING_POINTS_SIZE,
|
|
8
|
-
uint8ArrayToHex,
|
|
9
|
-
hexToUint8Array,
|
|
10
|
-
} from '../proof/index.js';
|
|
11
|
-
import { fromClientIVCProof, toClientIVCProof } from '../cbind/generated/api_types.js';
|
|
1
|
+
import { Barretenberg } from './index.js';
|
|
2
|
+
import { ProofData, uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
|
|
3
|
+
import { fromChonkProof, toChonkProof } from '../cbind/generated/api_types.js';
|
|
12
4
|
import { ungzip } from 'pako';
|
|
13
|
-
import { Buffer } from 'buffer';
|
|
14
5
|
import { Decoder, Encoder } from 'msgpackr';
|
|
15
6
|
|
|
16
7
|
export class AztecClientBackendError extends Error {
|
|
@@ -19,65 +10,136 @@ export class AztecClientBackendError extends Error {
|
|
|
19
10
|
}
|
|
20
11
|
}
|
|
21
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
|
+
|
|
22
27
|
/**
|
|
23
28
|
* Options for the UltraHonkBackend.
|
|
24
29
|
*/
|
|
25
30
|
export type UltraHonkBackendOptions = {
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
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' });
|
|
29
41
|
*/
|
|
42
|
+
verifierTarget?: VerifierTarget;
|
|
43
|
+
|
|
44
|
+
// Legacy options - prefer using verifierTarget instead
|
|
45
|
+
|
|
46
|
+
/** @deprecated Use verifierTarget: 'evm-no-zk' instead */
|
|
30
47
|
keccak?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* when generating challenges in the proof.
|
|
33
|
-
* Use this when you want to verify the created proof on an EVM chain.
|
|
34
|
-
*/
|
|
48
|
+
/** @deprecated Use verifierTarget: 'evm' instead */
|
|
35
49
|
keccakZK?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
* when generating challenges in the proof.
|
|
38
|
-
* Use this when you want to verify the created proof on an Starknet chain with Garaga.
|
|
39
|
-
*/
|
|
50
|
+
/** @deprecated Use verifierTarget: 'starknet-no-zk' instead */
|
|
40
51
|
starknet?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* when generating challenges in the proof.
|
|
43
|
-
* Use this when you want to verify the created proof on an Starknet chain with Garaga.
|
|
44
|
-
*/
|
|
52
|
+
/** @deprecated Use verifierTarget: 'starknet' instead */
|
|
45
53
|
starknetZK?: boolean;
|
|
46
54
|
};
|
|
47
55
|
|
|
48
|
-
function getProofSettingsFromOptions(
|
|
49
|
-
|
|
50
|
-
|
|
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)
|
|
51
123
|
return {
|
|
52
124
|
ipaAccumulation: false,
|
|
53
|
-
oracleHashType:
|
|
54
|
-
|
|
125
|
+
oracleHashType:
|
|
126
|
+
options?.keccak || options?.keccakZK
|
|
127
|
+
? 'keccak'
|
|
128
|
+
: options?.starknet || options?.starknetZK
|
|
129
|
+
? 'starknet'
|
|
130
|
+
: 'poseidon2',
|
|
55
131
|
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
56
132
|
optimizedSolidityVerifier: false,
|
|
57
133
|
};
|
|
58
134
|
}
|
|
59
135
|
|
|
60
136
|
export class UltraHonkVerifierBackend {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
constructor(
|
|
64
|
-
protected backendOptions: BackendOptions = { threads: 1 },
|
|
65
|
-
protected circuitOptions: CircuitOptions = { recursive: false },
|
|
66
|
-
) {}
|
|
67
|
-
/** @ignore */
|
|
68
|
-
private async instantiate(): Promise<void> {
|
|
69
|
-
if (!this.api) {
|
|
70
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
71
|
-
const honkRecursion = true;
|
|
72
|
-
await api.initSRSForCircuitSize(0);
|
|
73
|
-
|
|
74
|
-
this.api = api;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
async verifyProof(proofData: ProofData & { verificationKey: Uint8Array }, options?: UltraHonkBackendOptions): Promise<boolean> {
|
|
79
|
-
await this.instantiate();
|
|
137
|
+
constructor(private api: Barretenberg) {}
|
|
80
138
|
|
|
139
|
+
async verifyProof(
|
|
140
|
+
proofData: ProofData & { verificationKey: Uint8Array },
|
|
141
|
+
options?: UltraHonkBackendOptions,
|
|
142
|
+
): Promise<boolean> {
|
|
81
143
|
const proofFrs: Uint8Array[] = [];
|
|
82
144
|
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
83
145
|
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
@@ -90,12 +152,6 @@ export class UltraHonkVerifierBackend {
|
|
|
90
152
|
});
|
|
91
153
|
return verified;
|
|
92
154
|
}
|
|
93
|
-
destroy(): Promise<void> {
|
|
94
|
-
if (!this.api) {
|
|
95
|
-
return Promise.resolve();
|
|
96
|
-
}
|
|
97
|
-
return this.api.destroy();
|
|
98
|
-
}
|
|
99
155
|
}
|
|
100
156
|
|
|
101
157
|
export class UltraHonkBackend {
|
|
@@ -104,39 +160,25 @@ export class UltraHonkBackend {
|
|
|
104
160
|
// These are initialized asynchronously in the `init` function,
|
|
105
161
|
// constructors cannot be asynchronous which is why we do this.
|
|
106
162
|
|
|
107
|
-
|
|
108
|
-
protected acirUncompressedBytecode: Uint8Array;
|
|
163
|
+
private acirUncompressedBytecode: Uint8Array;
|
|
109
164
|
|
|
110
165
|
constructor(
|
|
111
166
|
acirBytecode: string,
|
|
112
|
-
|
|
113
|
-
protected circuitOptions: CircuitOptions = { recursive: false },
|
|
167
|
+
private api: Barretenberg,
|
|
114
168
|
) {
|
|
115
169
|
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
116
170
|
}
|
|
117
|
-
/** @ignore */
|
|
118
|
-
private async instantiate(): Promise<void> {
|
|
119
|
-
if (!this.api) {
|
|
120
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
121
|
-
const honkRecursion = true;
|
|
122
|
-
await api.acirInitSRS(this.acirUncompressedBytecode, this.circuitOptions.recursive, honkRecursion);
|
|
123
|
-
|
|
124
|
-
this.api = api;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
171
|
|
|
128
172
|
async generateProof(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofData> {
|
|
129
|
-
await this.instantiate();
|
|
130
|
-
|
|
131
173
|
const witness = ungzip(compressedWitness);
|
|
132
174
|
const { proof, publicInputs } = await this.api.circuitProve({
|
|
133
175
|
witness,
|
|
134
176
|
circuit: {
|
|
135
177
|
name: 'circuit',
|
|
136
|
-
bytecode:
|
|
137
|
-
verificationKey:
|
|
178
|
+
bytecode: this.acirUncompressedBytecode,
|
|
179
|
+
verificationKey: new Uint8Array(0), // Empty VK - lower performance.
|
|
138
180
|
},
|
|
139
|
-
settings: getProofSettingsFromOptions(options)
|
|
181
|
+
settings: getProofSettingsFromOptions(options),
|
|
140
182
|
});
|
|
141
183
|
console.log(`Generated proof for circuit with ${publicInputs.length} public inputs and ${proof.length} fields.`);
|
|
142
184
|
|
|
@@ -150,8 +192,6 @@ export class UltraHonkBackend {
|
|
|
150
192
|
}
|
|
151
193
|
|
|
152
194
|
async verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean> {
|
|
153
|
-
await this.instantiate();
|
|
154
|
-
|
|
155
195
|
const proofFrs: Uint8Array[] = [];
|
|
156
196
|
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
157
197
|
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
@@ -164,7 +204,7 @@ export class UltraHonkBackend {
|
|
|
164
204
|
},
|
|
165
205
|
settings: getProofSettingsFromOptions(options),
|
|
166
206
|
});
|
|
167
|
-
const {verified} = await this.api.circuitVerify({
|
|
207
|
+
const { verified } = await this.api.circuitVerify({
|
|
168
208
|
verificationKey: vkResult.bytes,
|
|
169
209
|
publicInputs: proofData.publicInputs.map(hexToUint8Array),
|
|
170
210
|
proof: proofFrs,
|
|
@@ -174,12 +214,10 @@ export class UltraHonkBackend {
|
|
|
174
214
|
}
|
|
175
215
|
|
|
176
216
|
async getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array> {
|
|
177
|
-
await this.instantiate();
|
|
178
|
-
|
|
179
217
|
const vkResult = await this.api.circuitComputeVk({
|
|
180
218
|
circuit: {
|
|
181
219
|
name: 'circuit',
|
|
182
|
-
bytecode:
|
|
220
|
+
bytecode: this.acirUncompressedBytecode,
|
|
183
221
|
},
|
|
184
222
|
settings: getProofSettingsFromOptions(options),
|
|
185
223
|
});
|
|
@@ -187,10 +225,12 @@ export class UltraHonkBackend {
|
|
|
187
225
|
}
|
|
188
226
|
|
|
189
227
|
/** @description Returns a solidity verifier */
|
|
190
|
-
async getSolidityVerifier(vk?:
|
|
191
|
-
await this.
|
|
192
|
-
|
|
193
|
-
|
|
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;
|
|
194
234
|
}
|
|
195
235
|
|
|
196
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
|
|
@@ -200,7 +240,6 @@ export class UltraHonkBackend {
|
|
|
200
240
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
201
241
|
_numOfPublicInputs: number,
|
|
202
242
|
): Promise<{ proofAsFields: string[]; vkAsFields: string[]; vkHash: string }> {
|
|
203
|
-
await this.instantiate();
|
|
204
243
|
// TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
|
|
205
244
|
// There is still a proofAsFields method but we could consider getting rid of it as the proof itself
|
|
206
245
|
// is a list of field elements.
|
|
@@ -214,7 +253,7 @@ export class UltraHonkBackend {
|
|
|
214
253
|
const vkResult = await this.api.circuitComputeVk({
|
|
215
254
|
circuit: {
|
|
216
255
|
name: 'circuit',
|
|
217
|
-
bytecode:
|
|
256
|
+
bytecode: this.acirUncompressedBytecode,
|
|
218
257
|
},
|
|
219
258
|
settings: getProofSettingsFromOptions({}),
|
|
220
259
|
});
|
|
@@ -233,16 +272,9 @@ export class UltraHonkBackend {
|
|
|
233
272
|
// We use an empty string for the vk hash here as it is unneeded as part of the recursive artifacts
|
|
234
273
|
// The user can be expected to hash the vk inside their circuit to check whether the vk is the circuit
|
|
235
274
|
// they expect
|
|
236
|
-
vkHash: uint8ArrayToHex(vkResult.hash)
|
|
275
|
+
vkHash: uint8ArrayToHex(vkResult.hash),
|
|
237
276
|
};
|
|
238
277
|
}
|
|
239
|
-
|
|
240
|
-
async destroy(): Promise<void> {
|
|
241
|
-
if (!this.api) {
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
await this.api.destroy();
|
|
245
|
-
}
|
|
246
278
|
}
|
|
247
279
|
|
|
248
280
|
export class AztecClientBackend {
|
|
@@ -251,23 +283,12 @@ export class AztecClientBackend {
|
|
|
251
283
|
// These are initialized asynchronously in the `init` function,
|
|
252
284
|
// constructors cannot be asynchronous which is why we do this.
|
|
253
285
|
|
|
254
|
-
protected api!: Barretenberg;
|
|
255
|
-
|
|
256
286
|
constructor(
|
|
257
|
-
|
|
258
|
-
|
|
287
|
+
private acirBuf: Uint8Array[],
|
|
288
|
+
private api: Barretenberg,
|
|
259
289
|
) {}
|
|
260
290
|
|
|
261
|
-
|
|
262
|
-
private async instantiate(): Promise<void> {
|
|
263
|
-
if (!this.api) {
|
|
264
|
-
const api = await Barretenberg.new(this.options);
|
|
265
|
-
await api.initSRSClientIVC();
|
|
266
|
-
this.api = api;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array, Uint8Array]> {
|
|
291
|
+
async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array[], Uint8Array, Uint8Array]> {
|
|
271
292
|
if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
|
|
272
293
|
throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!');
|
|
273
294
|
}
|
|
@@ -275,85 +296,81 @@ export class AztecClientBackend {
|
|
|
275
296
|
// NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
|
|
276
297
|
throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
|
|
277
298
|
}
|
|
278
|
-
await this.instantiate();
|
|
279
299
|
|
|
280
300
|
// Queue IVC start with the number of circuits
|
|
281
|
-
this.api.
|
|
301
|
+
this.api.chonkStart({ numCircuits: this.acirBuf.length });
|
|
282
302
|
|
|
283
303
|
// Queue load and accumulate for each circuit
|
|
284
304
|
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
285
305
|
const bytecode = this.acirBuf[i];
|
|
286
|
-
const witness = witnessBuf[i] ||
|
|
287
|
-
const vk = vksBuf[i] ||
|
|
306
|
+
const witness = witnessBuf[i] || new Uint8Array(0);
|
|
307
|
+
const vk = vksBuf[i] || new Uint8Array(0);
|
|
288
308
|
const functionName = `unknown_wasm_${i}`;
|
|
289
309
|
|
|
290
310
|
// Load the circuit
|
|
291
|
-
this.api.
|
|
311
|
+
this.api.chonkLoad({
|
|
292
312
|
circuit: {
|
|
293
313
|
name: functionName,
|
|
294
|
-
bytecode:
|
|
295
|
-
verificationKey:
|
|
296
|
-
}
|
|
314
|
+
bytecode: bytecode,
|
|
315
|
+
verificationKey: vk,
|
|
316
|
+
},
|
|
297
317
|
});
|
|
298
318
|
|
|
299
319
|
// Accumulate with witness
|
|
300
|
-
this.api.
|
|
301
|
-
witness
|
|
320
|
+
this.api.chonkAccumulate({
|
|
321
|
+
witness,
|
|
302
322
|
});
|
|
303
|
-
|
|
304
323
|
}
|
|
305
324
|
|
|
306
|
-
|
|
307
|
-
|
|
308
325
|
// Generate the proof (and wait for all previous steps to finish)
|
|
309
|
-
const proveResult = await this.api.
|
|
326
|
+
const proveResult = await this.api.chonkProve({});
|
|
310
327
|
// The API currently expects a msgpack-encoded API.
|
|
311
|
-
const proof = new Encoder({useRecords: false}).encode(
|
|
328
|
+
const proof = new Encoder({ useRecords: false }).encode(fromChonkProof(proveResult.proof));
|
|
312
329
|
// Generate the VK
|
|
313
|
-
const vkResult = await this.api.
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
330
|
+
const vkResult = await this.api.chonkComputeIvcVk({
|
|
331
|
+
circuit: {
|
|
332
|
+
name: 'hiding',
|
|
333
|
+
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
334
|
+
},
|
|
335
|
+
});
|
|
317
336
|
|
|
337
|
+
const proofFields = [
|
|
338
|
+
proveResult.proof.megaProof,
|
|
339
|
+
proveResult.proof.goblinProof.mergeProof,
|
|
340
|
+
proveResult.proof.goblinProof.eccvmProof,
|
|
341
|
+
proveResult.proof.goblinProof.ipaProof,
|
|
342
|
+
proveResult.proof.goblinProof.translatorProof,
|
|
343
|
+
].flat();
|
|
318
344
|
|
|
319
345
|
// Note: Verification may not work correctly until we properly serialize the proof
|
|
320
346
|
if (!(await this.verify(proof, vkResult.bytes))) {
|
|
321
|
-
throw new AztecClientBackendError('Failed to verify the private (
|
|
347
|
+
throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
|
|
322
348
|
}
|
|
323
|
-
return [proof, vkResult.bytes];
|
|
349
|
+
return [proofFields, proof, vkResult.bytes];
|
|
324
350
|
}
|
|
325
351
|
|
|
326
352
|
async verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean> {
|
|
327
|
-
await this.
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
vk: Buffer.from(vk),
|
|
353
|
+
const result = await this.api.chonkVerify({
|
|
354
|
+
proof: toChonkProof(new Decoder({ useRecords: false }).decode(proof)),
|
|
355
|
+
vk,
|
|
331
356
|
});
|
|
332
357
|
return result.valid;
|
|
333
358
|
}
|
|
334
359
|
|
|
335
360
|
async gates(): Promise<number[]> {
|
|
336
|
-
await this.instantiate();
|
|
337
361
|
const circuitSizes: number[] = [];
|
|
338
362
|
for (const buf of this.acirBuf) {
|
|
339
|
-
const gates = await this.api.
|
|
363
|
+
const gates = await this.api.chonkStats({
|
|
340
364
|
circuit: {
|
|
341
365
|
name: 'circuit',
|
|
342
366
|
bytecode: buf,
|
|
343
367
|
},
|
|
344
|
-
includeGatesPerOpcode: false
|
|
368
|
+
includeGatesPerOpcode: false,
|
|
345
369
|
});
|
|
346
370
|
circuitSizes.push(gates.circuitSize);
|
|
347
371
|
}
|
|
348
372
|
return circuitSizes;
|
|
349
373
|
}
|
|
350
|
-
|
|
351
|
-
async destroy(): Promise<void> {
|
|
352
|
-
if (!this.api) {
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
await this.api.destroy();
|
|
356
|
-
}
|
|
357
374
|
}
|
|
358
375
|
|
|
359
376
|
// Converts bytecode from a base64 string to a Uint8Array
|
|
@@ -362,17 +379,11 @@ function acirToUint8Array(base64EncodedBytecode: string): Uint8Array {
|
|
|
362
379
|
return ungzip(compressedByteCode);
|
|
363
380
|
}
|
|
364
381
|
|
|
365
|
-
//
|
|
366
|
-
// see if we are in the nodeJs environment or the browser environment.
|
|
382
|
+
// Base64 decode using atob (works in both browser and Node.js 18+)
|
|
367
383
|
function base64Decode(input: string): Uint8Array {
|
|
368
|
-
if (typeof
|
|
369
|
-
// Node.js environment
|
|
370
|
-
const b = Buffer.from(input, 'base64');
|
|
371
|
-
return new Uint8Array(b.buffer, b.byteOffset, b.byteLength);
|
|
372
|
-
} else if (typeof atob === 'function') {
|
|
373
|
-
// Browser environment
|
|
384
|
+
if (typeof atob === 'function') {
|
|
374
385
|
return Uint8Array.from(atob(input), c => c.charCodeAt(0));
|
|
375
386
|
} else {
|
|
376
|
-
throw new Error('
|
|
387
|
+
throw new Error('atob is not available. Node.js 18+ or browser required.');
|
|
377
388
|
}
|
|
378
389
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Barretenberg, BarretenbergSync } from './index.js';
|
|
2
|
-
import {
|
|
1
|
+
import { BackendType, Barretenberg, BarretenbergSync } from './index.js';
|
|
2
|
+
import { Fr } from './testing/fields.js';
|
|
3
3
|
|
|
4
4
|
describe('blake2s async', () => {
|
|
5
5
|
let api: Barretenberg;
|
|
6
6
|
|
|
7
7
|
beforeAll(async () => {
|
|
8
|
-
|
|
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 });
|
|
9
10
|
});
|
|
10
11
|
|
|
11
12
|
afterAll(async () => {
|
|
@@ -14,14 +15,12 @@ describe('blake2s async', () => {
|
|
|
14
15
|
|
|
15
16
|
it('blake2s', async () => {
|
|
16
17
|
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
17
|
-
const expected =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
);
|
|
23
|
-
const result = await api.blake2s(input);
|
|
24
|
-
expect(result).toEqual(expected);
|
|
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);
|
|
25
24
|
});
|
|
26
25
|
|
|
27
26
|
it('blake2sToField', async () => {
|
|
@@ -32,7 +31,8 @@ describe('blake2s async', () => {
|
|
|
32
31
|
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
33
32
|
]),
|
|
34
33
|
);
|
|
35
|
-
const
|
|
34
|
+
const response = await api.blake2sToField({ data: input });
|
|
35
|
+
const result = Fr.fromBuffer(response.field);
|
|
36
36
|
expect(result).toEqual(expected);
|
|
37
37
|
});
|
|
38
38
|
});
|
|
@@ -46,14 +46,12 @@ describe('blake2s sync', () => {
|
|
|
46
46
|
|
|
47
47
|
it('blake2s', () => {
|
|
48
48
|
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
49
|
-
const expected =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
);
|
|
55
|
-
const result = api.blake2s(input);
|
|
56
|
-
expect(result).toEqual(expected);
|
|
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);
|
|
57
55
|
});
|
|
58
56
|
|
|
59
57
|
it('blake2sToField', () => {
|
|
@@ -64,7 +62,8 @@ describe('blake2s sync', () => {
|
|
|
64
62
|
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
65
63
|
]),
|
|
66
64
|
);
|
|
67
|
-
const
|
|
65
|
+
const response = api.blake2sToField({ data: input });
|
|
66
|
+
const result = Fr.fromBuffer(response.field);
|
|
68
67
|
expect(result).toEqual(expected);
|
|
69
68
|
});
|
|
70
69
|
});
|