@aztec/bb.js 0.0.1-commit.24de95ac → 0.0.1-commit.2ed92850
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/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 +58 -40
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +143 -94
- package/dest/browser/barretenberg/index.d.ts +3 -5
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +19 -28
- 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 +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
- 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 +1 -1
- 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 +5 -4
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -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 +45 -18
- 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 +1 -1
- package/dest/browser/bb_backends/browser/index.js +1 -1
- 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 +12 -7
- package/dest/browser/bb_backends/index.d.ts.map +1 -1
- package/dest/browser/bb_backends/index.js +8 -7
- package/dest/browser/bb_backends/interface.d.ts +1 -1
- package/dest/browser/bb_backends/wasm.d.ts +1 -1
- package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
- package/dest/browser/bb_backends/wasm.js +5 -3
- package/dest/browser/bbapi_exception.d.ts +1 -1
- package/dest/browser/bbapi_exception.d.ts.map +1 -1
- package/dest/browser/bbapi_exception.js +1 -1
- package/dest/browser/bin/index.d.ts +3 -0
- package/dest/browser/bin/index.d.ts.map +1 -0
- package/dest/browser/bin/index.js +11 -0
- package/dest/browser/cbind/generate.d.ts +5 -2
- package/dest/browser/cbind/generate.d.ts.map +1 -1
- package/dest/browser/cbind/generate.js +47 -25
- package/dest/browser/cbind/generated/api_types.d.ts +766 -1687
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +1465 -1555
- package/dest/browser/cbind/generated/async.d.ts +3 -5
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +14 -33
- package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
- package/dest/browser/cbind/generated/sync.d.ts +3 -5
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +14 -31
- 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 +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 +3 -2
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +3 -2
- 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/backend.d.ts +58 -40
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +143 -94
- 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 +1 -1
- package/dest/node/barretenberg/blake2s.test.js +2 -2
- package/dest/node/barretenberg/index.d.ts +3 -5
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +19 -28
- package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node/barretenberg/pedersen.test.js +2 -2
- package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
- package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
- package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
- package/dest/node/barretenberg/poseidon.test.js +2 -2
- 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 +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
- 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 +1 -1
- 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 +5 -4
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -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 +45 -18
- 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 +1 -1
- package/dest/node/bb_backends/browser/index.d.ts +1 -1
- package/dest/node/bb_backends/browser/index.js +1 -1
- 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 +12 -7
- package/dest/node/bb_backends/index.d.ts.map +1 -1
- package/dest/node/bb_backends/index.js +8 -7
- package/dest/node/bb_backends/interface.d.ts +1 -1
- package/dest/node/bb_backends/node/index.d.ts +1 -1
- package/dest/node/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.js +17 -11
- package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
- package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_pipe.js +11 -10
- package/dest/node/bb_backends/node/native_shm.d.ts +4 -3
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm.js +85 -39
- 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 +2 -2
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_socket.js +46 -32
- package/dest/node/bb_backends/node/platform.d.ts +1 -1
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node/bb_backends/node/platform.js +7 -2
- package/dest/node/bb_backends/wasm.d.ts +1 -1
- package/dest/node/bb_backends/wasm.d.ts.map +1 -1
- package/dest/node/bb_backends/wasm.js +5 -3
- 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 +1 -1
- package/dest/node/bbapi_exception.d.ts.map +1 -1
- package/dest/node/bbapi_exception.js +1 -1
- 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 +5 -2
- package/dest/node/cbind/generate.d.ts.map +1 -1
- package/dest/node/cbind/generate.js +47 -25
- package/dest/node/cbind/generated/api_types.d.ts +766 -1687
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +1465 -1555
- package/dest/node/cbind/generated/async.d.ts +3 -5
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +14 -33
- package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
- package/dest/node/cbind/generated/sync.d.ts +3 -5
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +14 -31
- 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 +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 +3 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +3 -2
- 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 +58 -40
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +151 -100
- 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 +1 -1
- package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
- package/dest/node-cjs/barretenberg/index.d.ts +3 -5
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +27 -34
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
- package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
- 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 +1 -1
- 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 +7 -8
- 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 +1 -1
- 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 +5 -4
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -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 +45 -18
- 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 +1 -1
- package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
- package/dest/node-cjs/bb_backends/browser/index.js +1 -1
- 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 +12 -7
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/index.js +6 -6
- package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.js +17 -11
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +4 -3
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm.js +85 -39
- 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 +2 -2
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.js +46 -32
- package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/platform.js +8 -3
- package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/wasm.js +5 -3
- 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 +1 -1
- package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
- package/dest/node-cjs/bbapi_exception.js +1 -1
- 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/bin/index.d.ts.map +1 -0
- package/dest/node-cjs/bin/index.js +13 -0
- package/dest/node-cjs/cbind/generate.d.ts +5 -2
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generate.js +47 -25
- package/dest/node-cjs/cbind/generated/api_types.d.ts +766 -1687
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +1671 -1771
- package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +13 -32
- package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
- package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +13 -30
- 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 +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 +3 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +12 -8
- 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 +8 -6
- package/src/barretenberg/backend.test.ts +122 -0
- package/src/barretenberg/backend.ts +170 -122
- package/src/barretenberg/blake2s.test.ts +1 -1
- package/src/barretenberg/index.ts +25 -28
- package/src/barretenberg/pedersen.test.ts +1 -1
- package/src/barretenberg/poseidon.bench.test.ts +160 -157
- package/src/barretenberg/poseidon.test.ts +1 -1
- package/src/{types → barretenberg/testing}/fields.ts +12 -26
- package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
- 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/index.ts +38 -5
- 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.ts +1 -2
- package/src/bb_backends/browser/platform.ts +11 -0
- package/src/bb_backends/index.ts +12 -6
- package/src/bb_backends/node/index.ts +23 -10
- package/src/bb_backends/node/native_shm.ts +81 -38
- package/src/bb_backends/node/native_shm_async.ts +262 -0
- package/src/bb_backends/node/native_socket.ts +35 -19
- package/src/bb_backends/node/platform.ts +6 -1
- package/src/bb_backends/wasm.ts +1 -2
- package/src/bbapi/exception_handling.test.ts +54 -0
- package/src/bin/index.ts +14 -0
- package/src/cbind/generate.ts +51 -32
- 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/node/index.ts +4 -5
- package/src/index.ts +6 -0
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
- package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
- package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
- 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/schema_compiler.d.ts +0 -68
- package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/browser/cbind/schema_compiler.js +0 -599
- 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/index.d.ts +0 -2
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/index.js +0 -2
- package/dest/browser/serialize/serialize.d.ts +0 -18
- package/dest/browser/serialize/serialize.d.ts.map +0 -1
- package/dest/browser/serialize/serialize.js +0 -72
- package/dest/browser/types/fields.d.ts +0 -23
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fields.js +0 -61
- package/dest/browser/types/index.d.ts +0 -3
- package/dest/browser/types/index.d.ts.map +0 -1
- package/dest/browser/types/index.js +0 -3
- package/dest/browser/types/point.d.ts +0 -18
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/point.js +0 -28
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
- package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
- package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
- 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/cbind/schema_compiler.d.ts +0 -68
- package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node/cbind/schema_compiler.js +0 -599
- 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/serialize/index.d.ts +0 -2
- package/dest/node/serialize/index.d.ts.map +0 -1
- package/dest/node/serialize/index.js +0 -2
- package/dest/node/serialize/serialize.d.ts +0 -18
- package/dest/node/serialize/serialize.d.ts.map +0 -1
- package/dest/node/serialize/serialize.js +0 -72
- package/dest/node/types/fields.d.ts +0 -23
- package/dest/node/types/fields.d.ts.map +0 -1
- package/dest/node/types/fields.js +0 -61
- package/dest/node/types/index.d.ts +0 -3
- package/dest/node/types/index.d.ts.map +0 -1
- package/dest/node/types/index.js +0 -3
- package/dest/node/types/point.d.ts +0 -18
- package/dest/node/types/point.d.ts.map +0 -1
- package/dest/node/types/point.js +0 -28
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
- 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/cbind/schema_compiler.d.ts +0 -68
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node-cjs/cbind/schema_compiler.js +0 -606
- 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/serialize/index.d.ts +0 -2
- package/dest/node-cjs/serialize/index.d.ts.map +0 -1
- package/dest/node-cjs/serialize/index.js +0 -5
- package/dest/node-cjs/serialize/serialize.d.ts +0 -18
- package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
- package/dest/node-cjs/serialize/serialize.js +0 -82
- package/dest/node-cjs/types/fields.d.ts +0 -23
- package/dest/node-cjs/types/fields.d.ts.map +0 -1
- package/dest/node-cjs/types/fields.js +0 -65
- package/dest/node-cjs/types/index.d.ts +0 -3
- package/dest/node-cjs/types/index.d.ts.map +0 -1
- package/dest/node-cjs/types/index.js +0 -6
- package/dest/node-cjs/types/point.d.ts +0 -18
- package/dest/node-cjs/types/point.d.ts.map +0 -1
- package/dest/node-cjs/types/point.js +0 -32
- package/src/bb_backends/sync_to_async_adapter.ts +0 -21
- package/src/cbind/generated/api_types.ts +0 -4271
- package/src/cbind/generated/async.ts +0 -717
- package/src/cbind/generated/curve_constants.ts +0 -53
- package/src/cbind/generated/sync.ts +0 -663
- package/src/cbind/schema_compiler.ts +0 -745
- 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/serialize/index.ts +0 -1
- package/src/serialize/serialize.ts +0 -75
- package/src/types/index.ts +0 -2
- package/src/types/point.ts +0 -32
- /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AztecClientBackend = exports.UltraHonkBackend = exports.UltraHonkVerifierBackend = exports.AztecClientBackendError = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
exports.fieldToString = fieldToString;
|
|
5
|
+
exports.fieldsToStrings = fieldsToStrings;
|
|
6
|
+
const index_js_1 = require("../proof/index.js");
|
|
6
7
|
const api_types_js_1 = require("../cbind/generated/api_types.js");
|
|
7
8
|
const pako_1 = require("pako");
|
|
8
|
-
const buffer_1 = require("buffer");
|
|
9
9
|
const msgpackr_1 = require("msgpackr");
|
|
10
10
|
class AztecClientBackendError extends Error {
|
|
11
11
|
constructor(message) {
|
|
@@ -14,6 +14,63 @@ class AztecClientBackendError extends Error {
|
|
|
14
14
|
}
|
|
15
15
|
exports.AztecClientBackendError = AztecClientBackendError;
|
|
16
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)
|
|
17
74
|
return {
|
|
18
75
|
ipaAccumulation: false,
|
|
19
76
|
oracleHashType: options?.keccak || options?.keccakZK
|
|
@@ -21,71 +78,49 @@ function getProofSettingsFromOptions(options) {
|
|
|
21
78
|
: options?.starknet || options?.starknetZK
|
|
22
79
|
? 'starknet'
|
|
23
80
|
: 'poseidon2',
|
|
24
|
-
// TODO no current way to target non-zk poseidon2 hash
|
|
25
81
|
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
26
82
|
optimizedSolidityVerifier: false,
|
|
27
83
|
};
|
|
28
84
|
}
|
|
29
85
|
class UltraHonkVerifierBackend {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.
|
|
33
|
-
}
|
|
34
|
-
/** @ignore */
|
|
35
|
-
async instantiate() {
|
|
36
|
-
if (!this.api) {
|
|
37
|
-
const api = await index_js_1.Barretenberg.new(this.backendOptions);
|
|
38
|
-
const honkRecursion = true;
|
|
39
|
-
await api.initSRSForCircuitSize(0);
|
|
40
|
-
this.api = api;
|
|
41
|
-
}
|
|
86
|
+
api;
|
|
87
|
+
constructor(api) {
|
|
88
|
+
this.api = api;
|
|
42
89
|
}
|
|
43
90
|
async verifyProof(proofData, options) {
|
|
44
|
-
await this.instantiate();
|
|
45
91
|
const proofFrs = [];
|
|
46
92
|
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
47
93
|
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
48
94
|
}
|
|
49
95
|
const { verified } = await this.api.circuitVerify({
|
|
50
96
|
verificationKey: proofData.verificationKey,
|
|
51
|
-
publicInputs: proofData.publicInputs.map(
|
|
97
|
+
publicInputs: proofData.publicInputs.map(index_js_1.hexToUint8Array),
|
|
52
98
|
proof: proofFrs,
|
|
53
99
|
settings: getProofSettingsFromOptions(options),
|
|
54
100
|
});
|
|
55
101
|
return verified;
|
|
56
102
|
}
|
|
57
|
-
destroy() {
|
|
58
|
-
if (!this.api) {
|
|
59
|
-
return Promise.resolve();
|
|
60
|
-
}
|
|
61
|
-
return this.api.destroy();
|
|
62
|
-
}
|
|
63
103
|
}
|
|
64
104
|
exports.UltraHonkVerifierBackend = UltraHonkVerifierBackend;
|
|
65
105
|
class UltraHonkBackend {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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;
|
|
69
114
|
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
70
115
|
}
|
|
71
|
-
/** @ignore */
|
|
72
|
-
async instantiate() {
|
|
73
|
-
if (!this.api) {
|
|
74
|
-
const api = await index_js_1.Barretenberg.new(this.backendOptions);
|
|
75
|
-
const honkRecursion = true;
|
|
76
|
-
await api.acirInitSRS(this.acirUncompressedBytecode, this.circuitOptions.recursive, honkRecursion);
|
|
77
|
-
this.api = api;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
116
|
async generateProof(compressedWitness, options) {
|
|
81
|
-
await this.instantiate();
|
|
82
117
|
const witness = (0, pako_1.ungzip)(compressedWitness);
|
|
83
118
|
const { proof, publicInputs } = await this.api.circuitProve({
|
|
84
119
|
witness,
|
|
85
120
|
circuit: {
|
|
86
121
|
name: 'circuit',
|
|
87
|
-
bytecode:
|
|
88
|
-
verificationKey:
|
|
122
|
+
bytecode: this.acirUncompressedBytecode,
|
|
123
|
+
verificationKey: new Uint8Array(0), // Empty VK - lower performance.
|
|
89
124
|
},
|
|
90
125
|
settings: getProofSettingsFromOptions(options),
|
|
91
126
|
});
|
|
@@ -95,10 +130,9 @@ class UltraHonkBackend {
|
|
|
95
130
|
proof.forEach((fr, i) => {
|
|
96
131
|
flatProof.set(fr, i * 32);
|
|
97
132
|
});
|
|
98
|
-
return { proof: flatProof, publicInputs: publicInputs.map(
|
|
133
|
+
return { proof: flatProof, publicInputs: publicInputs.map(index_js_1.uint8ArrayToHex) };
|
|
99
134
|
}
|
|
100
135
|
async verifyProof(proofData, options) {
|
|
101
|
-
await this.instantiate();
|
|
102
136
|
const proofFrs = [];
|
|
103
137
|
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
104
138
|
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
@@ -113,18 +147,17 @@ class UltraHonkBackend {
|
|
|
113
147
|
});
|
|
114
148
|
const { verified } = await this.api.circuitVerify({
|
|
115
149
|
verificationKey: vkResult.bytes,
|
|
116
|
-
publicInputs: proofData.publicInputs.map(
|
|
150
|
+
publicInputs: proofData.publicInputs.map(index_js_1.hexToUint8Array),
|
|
117
151
|
proof: proofFrs,
|
|
118
152
|
settings: getProofSettingsFromOptions(options),
|
|
119
153
|
});
|
|
120
154
|
return verified;
|
|
121
155
|
}
|
|
122
156
|
async getVerificationKey(options) {
|
|
123
|
-
await this.instantiate();
|
|
124
157
|
const vkResult = await this.api.circuitComputeVk({
|
|
125
158
|
circuit: {
|
|
126
159
|
name: 'circuit',
|
|
127
|
-
bytecode:
|
|
160
|
+
bytecode: this.acirUncompressedBytecode,
|
|
128
161
|
},
|
|
129
162
|
settings: getProofSettingsFromOptions(options),
|
|
130
163
|
});
|
|
@@ -132,7 +165,6 @@ class UltraHonkBackend {
|
|
|
132
165
|
}
|
|
133
166
|
/** @description Returns a solidity verifier */
|
|
134
167
|
async getSolidityVerifier(vk, options) {
|
|
135
|
-
await this.instantiate();
|
|
136
168
|
const result = await this.api.circuitWriteSolidityVerifier({
|
|
137
169
|
verificationKey: vk,
|
|
138
170
|
settings: getProofSettingsFromOptions(options),
|
|
@@ -144,8 +176,7 @@ class UltraHonkBackend {
|
|
|
144
176
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
145
177
|
_proof,
|
|
146
178
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
147
|
-
_numOfPublicInputs) {
|
|
148
|
-
await this.instantiate();
|
|
179
|
+
_numOfPublicInputs, options) {
|
|
149
180
|
// TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
|
|
150
181
|
// There is still a proofAsFields method but we could consider getting rid of it as the proof itself
|
|
151
182
|
// is a list of field elements.
|
|
@@ -153,20 +184,18 @@ class UltraHonkBackend {
|
|
|
153
184
|
// inserted at an offset.
|
|
154
185
|
// const proof = reconstructProofWithPublicInputs(proofData);
|
|
155
186
|
// const proofAsFields = (await this.api.acirProofAsFieldsUltraHonk(proof)).slice(numOfPublicInputs);
|
|
156
|
-
// TODO: perhaps we should put this in the init function. Need to benchmark
|
|
157
|
-
// TODO how long it takes.
|
|
158
187
|
const vkResult = await this.api.circuitComputeVk({
|
|
159
188
|
circuit: {
|
|
160
189
|
name: 'circuit',
|
|
161
|
-
bytecode:
|
|
190
|
+
bytecode: this.acirUncompressedBytecode,
|
|
162
191
|
},
|
|
163
|
-
settings: getProofSettingsFromOptions(
|
|
192
|
+
settings: getProofSettingsFromOptions(options),
|
|
164
193
|
});
|
|
165
194
|
// Convert VK bytes to field elements (32-byte chunks)
|
|
166
195
|
const vkAsFields = [];
|
|
167
196
|
for (let i = 0; i < vkResult.bytes.length; i += 32) {
|
|
168
197
|
const chunk = vkResult.bytes.slice(i, i + 32);
|
|
169
|
-
vkAsFields.push((0,
|
|
198
|
+
vkAsFields.push((0, index_js_1.uint8ArrayToHex)(chunk));
|
|
170
199
|
}
|
|
171
200
|
return {
|
|
172
201
|
// TODO(https://github.com/noir-lang/noir/issues/5661)
|
|
@@ -175,29 +204,21 @@ class UltraHonkBackend {
|
|
|
175
204
|
// We use an empty string for the vk hash here as it is unneeded as part of the recursive artifacts
|
|
176
205
|
// The user can be expected to hash the vk inside their circuit to check whether the vk is the circuit
|
|
177
206
|
// they expect
|
|
178
|
-
vkHash: (0,
|
|
207
|
+
vkHash: (0, index_js_1.uint8ArrayToHex)(vkResult.hash),
|
|
179
208
|
};
|
|
180
209
|
}
|
|
181
|
-
async destroy() {
|
|
182
|
-
if (!this.api) {
|
|
183
|
-
return;
|
|
184
|
-
}
|
|
185
|
-
await this.api.destroy();
|
|
186
|
-
}
|
|
187
210
|
}
|
|
188
211
|
exports.UltraHonkBackend = UltraHonkBackend;
|
|
189
212
|
class AztecClientBackend {
|
|
190
|
-
|
|
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) {
|
|
191
220
|
this.acirBuf = acirBuf;
|
|
192
|
-
this.
|
|
193
|
-
}
|
|
194
|
-
/** @ignore */
|
|
195
|
-
async instantiate() {
|
|
196
|
-
if (!this.api) {
|
|
197
|
-
const api = await index_js_1.Barretenberg.new(this.options);
|
|
198
|
-
await api.initSRSChonk();
|
|
199
|
-
this.api = api;
|
|
200
|
-
}
|
|
221
|
+
this.api = api;
|
|
201
222
|
}
|
|
202
223
|
async prove(witnessBuf, vksBuf = []) {
|
|
203
224
|
if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
|
|
@@ -207,26 +228,25 @@ class AztecClientBackend {
|
|
|
207
228
|
// NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
|
|
208
229
|
throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
|
|
209
230
|
}
|
|
210
|
-
await this.instantiate();
|
|
211
231
|
// Queue IVC start with the number of circuits
|
|
212
232
|
this.api.chonkStart({ numCircuits: this.acirBuf.length });
|
|
213
233
|
// Queue load and accumulate for each circuit
|
|
214
234
|
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
215
235
|
const bytecode = this.acirBuf[i];
|
|
216
|
-
const witness = witnessBuf[i] ||
|
|
217
|
-
const vk = vksBuf[i] ||
|
|
236
|
+
const witness = witnessBuf[i] || new Uint8Array(0);
|
|
237
|
+
const vk = vksBuf[i] || new Uint8Array(0);
|
|
218
238
|
const functionName = `unknown_wasm_${i}`;
|
|
219
239
|
// Load the circuit
|
|
220
240
|
this.api.chonkLoad({
|
|
221
241
|
circuit: {
|
|
222
242
|
name: functionName,
|
|
223
|
-
bytecode:
|
|
224
|
-
verificationKey:
|
|
243
|
+
bytecode: bytecode,
|
|
244
|
+
verificationKey: vk,
|
|
225
245
|
},
|
|
226
246
|
});
|
|
227
247
|
// Accumulate with witness
|
|
228
248
|
this.api.chonkAccumulate({
|
|
229
|
-
witness
|
|
249
|
+
witness,
|
|
230
250
|
});
|
|
231
251
|
}
|
|
232
252
|
// Generate the proof (and wait for all previous steps to finish)
|
|
@@ -234,7 +254,7 @@ class AztecClientBackend {
|
|
|
234
254
|
// The API currently expects a msgpack-encoded API.
|
|
235
255
|
const proof = new msgpackr_1.Encoder({ useRecords: false }).encode((0, api_types_js_1.fromChonkProof)(proveResult.proof));
|
|
236
256
|
// Generate the VK
|
|
237
|
-
const vkResult = await this.api.
|
|
257
|
+
const vkResult = await this.api.chonkComputeVk({
|
|
238
258
|
circuit: {
|
|
239
259
|
name: 'hiding',
|
|
240
260
|
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
@@ -243,26 +263,35 @@ class AztecClientBackend {
|
|
|
243
263
|
const proofFields = [
|
|
244
264
|
proveResult.proof.megaProof,
|
|
245
265
|
proveResult.proof.goblinProof.mergeProof,
|
|
246
|
-
proveResult.proof.goblinProof.eccvmProof
|
|
247
|
-
proveResult.proof.goblinProof.
|
|
266
|
+
proveResult.proof.goblinProof.eccvmProof,
|
|
267
|
+
proveResult.proof.goblinProof.ipaProof,
|
|
248
268
|
proveResult.proof.goblinProof.translatorProof,
|
|
249
269
|
].flat();
|
|
250
|
-
//
|
|
251
|
-
if (!(await this.
|
|
270
|
+
// Verify using native proof directly to avoid redundant encode/decode cycle
|
|
271
|
+
if (!(await this.verifyNative(proveResult.proof, vkResult.bytes))) {
|
|
252
272
|
throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
|
|
253
273
|
}
|
|
254
274
|
return [proofFields, proof, vkResult.bytes];
|
|
255
275
|
}
|
|
256
276
|
async verify(proof, vk) {
|
|
257
|
-
await this.instantiate();
|
|
258
277
|
const result = await this.api.chonkVerify({
|
|
259
278
|
proof: (0, api_types_js_1.toChonkProof)(new msgpackr_1.Decoder({ useRecords: false }).decode(proof)),
|
|
260
|
-
vk
|
|
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,
|
|
261
291
|
});
|
|
262
292
|
return result.valid;
|
|
263
293
|
}
|
|
264
294
|
async gates() {
|
|
265
|
-
await this.instantiate();
|
|
266
295
|
const circuitSizes = [];
|
|
267
296
|
for (const buf of this.acirBuf) {
|
|
268
297
|
const gates = await this.api.chonkStats({
|
|
@@ -276,12 +305,6 @@ class AztecClientBackend {
|
|
|
276
305
|
}
|
|
277
306
|
return circuitSizes;
|
|
278
307
|
}
|
|
279
|
-
async destroy() {
|
|
280
|
-
if (!this.api) {
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
await this.api.destroy();
|
|
284
|
-
}
|
|
285
308
|
}
|
|
286
309
|
exports.AztecClientBackend = AztecClientBackend;
|
|
287
310
|
// Converts bytecode from a base64 string to a Uint8Array
|
|
@@ -289,20 +312,48 @@ function acirToUint8Array(base64EncodedBytecode) {
|
|
|
289
312
|
const compressedByteCode = base64Decode(base64EncodedBytecode);
|
|
290
313
|
return (0, pako_1.ungzip)(compressedByteCode);
|
|
291
314
|
}
|
|
292
|
-
//
|
|
293
|
-
// see if we are in the nodeJs environment or the browser environment.
|
|
315
|
+
// Base64 decode using atob (works in both browser and Node.js 18+)
|
|
294
316
|
function base64Decode(input) {
|
|
295
|
-
if (typeof
|
|
296
|
-
// Node.js environment
|
|
297
|
-
const b = buffer_1.Buffer.from(input, 'base64');
|
|
298
|
-
return new Uint8Array(b.buffer, b.byteOffset, b.byteLength);
|
|
299
|
-
}
|
|
300
|
-
else if (typeof atob === 'function') {
|
|
301
|
-
// Browser environment
|
|
317
|
+
if (typeof atob === 'function') {
|
|
302
318
|
return Uint8Array.from(atob(input), c => c.charCodeAt(0));
|
|
303
319
|
}
|
|
304
320
|
else {
|
|
305
|
-
throw new Error('
|
|
321
|
+
throw new Error('atob is not available. Node.js 18+ or browser required.');
|
|
306
322
|
}
|
|
307
323
|
}
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBMEU7QUFDMUUsZ0RBQWdGO0FBQ2hGLGtFQUErRTtBQUMvRSwrQkFBOEI7QUFDOUIsbUNBQWdDO0FBQ2hDLHVDQUE0QztBQUU1QyxNQUFhLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFKRCwwREFJQztBQTRCRCxTQUFTLDJCQUEyQixDQUFDLE9BQWlDO0lBTXBFLE9BQU87UUFDTCxlQUFlLEVBQUUsS0FBSztRQUN0QixjQUFjLEVBQ1osT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsUUFBUTtZQUNsQyxDQUFDLENBQUMsUUFBUTtZQUNWLENBQUMsQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLE9BQU8sRUFBRSxVQUFVO2dCQUN4QyxDQUFDLENBQUMsVUFBVTtnQkFDWixDQUFDLENBQUMsV0FBVztRQUNuQixzREFBc0Q7UUFDdEQsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1FBQzlELHlCQUF5QixFQUFFLEtBQUs7S0FDakMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFhLHdCQUF3QjtJQUduQyxZQUNZLGlCQUFpQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFDL0MsaUJBQWlDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtRQURyRCxtQkFBYyxHQUFkLGNBQWMsQ0FBaUM7UUFDL0MsbUJBQWMsR0FBZCxjQUFjLENBQXVDO0lBQzlELENBQUM7SUFDSixjQUFjO0lBQ04sS0FBSyxDQUFDLFdBQVc7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxH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
|
|
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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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxha2Uycy50ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnL2JsYWtlMnMudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|