@aztec/bb.js 3.0.0-nightly.20251026 → 3.0.0-nightly.20251030
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 +1 -1
- package/package.json +4 -3
- package/src/barretenberg/backend.ts +12 -12
- package/src/barretenberg/index.ts +1 -1
- package/src/barretenberg/poseidon.bench.test.ts +2 -1
- package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +4 -4
- package/src/bb_backends/wasm.ts +2 -9
- package/src/bbapi_exception.ts +13 -0
- package/src/cbind/generate.ts +99 -0
- package/src/cbind/schema_compiler.ts +25 -3
- package/src/index.ts +28 -1
- package/src/serialize/index.ts +0 -1
- package/src/types/fields.ts +14 -63
- package/src/types/point.ts +13 -19
- package/dest/browser/async_map/index.d.ts +0 -10
- package/dest/browser/async_map/index.d.ts.map +0 -1
- package/dest/browser/async_map/index.js +0 -16
- package/dest/browser/barretenberg/backend.d.ts +0 -75
- package/dest/browser/barretenberg/backend.d.ts.map +0 -1
- package/dest/browser/barretenberg/backend.js +0 -301
- package/dest/browser/barretenberg/index.d.ts +0 -67
- package/dest/browser/barretenberg/index.d.ts.map +0 -1
- package/dest/browser/barretenberg/index.js +0 -191
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -45
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +0 -125
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +0 -11
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +0 -12
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +0 -70
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -53
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +0 -170
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +0 -11
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +0 -12
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -29
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +0 -40
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +0 -36
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/fetch_code/index.js +0 -2
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +0 -13
- package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/helpers/browser/index.js +0 -40
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts +0 -2
- package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/helpers/index.js +0 -2
- package/dest/browser/barretenberg_wasm/index.d.ts +0 -5
- package/dest/browser/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/browser/barretenberg_wasm/index.js +0 -16
- package/dest/browser/bb_backends/browser/index.d.ts +0 -11
- package/dest/browser/bb_backends/browser/index.d.ts.map +0 -1
- package/dest/browser/bb_backends/browser/index.js +0 -39
- package/dest/browser/bb_backends/index.d.ts +0 -45
- package/dest/browser/bb_backends/index.d.ts.map +0 -1
- package/dest/browser/bb_backends/index.js +0 -15
- package/dest/browser/bb_backends/interface.d.ts +0 -33
- package/dest/browser/bb_backends/interface.d.ts.map +0 -1
- package/dest/browser/bb_backends/interface.js +0 -2
- 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/bb_backends/wasm.d.ts +0 -56
- package/dest/browser/bb_backends/wasm.d.ts.map +0 -1
- package/dest/browser/bb_backends/wasm.js +0 -90
- 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/generate.d.ts +0 -5
- package/dest/browser/cbind/generate.d.ts.map +0 -1
- package/dest/browser/cbind/generate.js +0 -59
- package/dest/browser/cbind/generated/api_types.d.ts +0 -1805
- package/dest/browser/cbind/generated/api_types.d.ts.map +0 -1
- package/dest/browser/cbind/generated/api_types.js +0 -2421
- package/dest/browser/cbind/generated/async.d.ts +0 -57
- package/dest/browser/cbind/generated/async.d.ts.map +0 -1
- package/dest/browser/cbind/generated/async.js +0 -454
- package/dest/browser/cbind/generated/sync.d.ts +0 -57
- package/dest/browser/cbind/generated/sync.d.ts.map +0 -1
- package/dest/browser/cbind/generated/sync.js +0 -406
- 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 -579
- package/dest/browser/crs/browser/cached_net_crs.d.ts +0 -43
- package/dest/browser/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/browser/crs/browser/cached_net_crs.js +0 -90
- package/dest/browser/crs/browser/index.d.ts +0 -2
- package/dest/browser/crs/browser/index.d.ts.map +0 -1
- package/dest/browser/crs/browser/index.js +0 -2
- package/dest/browser/crs/index.d.ts +0 -2
- package/dest/browser/crs/index.d.ts.map +0 -1
- package/dest/browser/crs/index.js +0 -2
- package/dest/browser/crs/net_crs.d.ts +0 -85
- package/dest/browser/crs/net_crs.d.ts.map +0 -1
- package/dest/browser/crs/net_crs.js +0 -136
- package/dest/browser/index.d.ts +0 -6
- package/dest/browser/index.d.ts.map +0 -1
- package/dest/browser/index.js +0 -6
- 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/proof/index.d.ts +0 -21
- package/dest/browser/proof/index.d.ts.map +0 -1
- package/dest/browser/proof/index.js +0 -63
- package/dest/browser/random/browser/index.d.ts +0 -2
- package/dest/browser/random/browser/index.d.ts.map +0 -1
- package/dest/browser/random/browser/index.js +0 -31
- package/dest/browser/random/index.d.ts +0 -2
- package/dest/browser/random/index.d.ts.map +0 -1
- package/dest/browser/random/index.js +0 -2
- package/dest/browser/retry/index.d.ts +0 -26
- package/dest/browser/retry/index.d.ts.map +0 -1
- package/dest/browser/retry/index.js +0 -50
- 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 -3
- package/dest/browser/serialize/index.d.ts.map +0 -1
- package/dest/browser/serialize/index.js +0 -3
- 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 -43
- package/dest/browser/types/fields.d.ts.map +0 -1
- package/dest/browser/types/fields.js +0 -102
- 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 -16
- package/dest/browser/types/point.d.ts.map +0 -1
- package/dest/browser/types/point.js +0 -31
- package/dest/node/async_map/index.d.ts +0 -10
- package/dest/node/async_map/index.d.ts.map +0 -1
- package/dest/node/async_map/index.js +0 -16
- package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +0 -156
- package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +0 -40
- package/dest/node/barretenberg/backend.d.ts +0 -75
- package/dest/node/barretenberg/backend.d.ts.map +0 -1
- package/dest/node/barretenberg/backend.js +0 -301
- package/dest/node/barretenberg/blake2s.test.d.ts +0 -2
- package/dest/node/barretenberg/blake2s.test.d.ts.map +0 -1
- package/dest/node/barretenberg/blake2s.test.js +0 -57
- package/dest/node/barretenberg/index.d.ts +0 -67
- package/dest/node/barretenberg/index.d.ts.map +0 -1
- package/dest/node/barretenberg/index.js +0 -191
- package/dest/node/barretenberg/pedersen.test.d.ts +0 -2
- package/dest/node/barretenberg/pedersen.test.d.ts.map +0 -1
- package/dest/node/barretenberg/pedersen.test.js +0 -62
- package/dest/node/barretenberg/poseidon.bench.test.d.ts +0 -2
- package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +0 -1
- package/dest/node/barretenberg/poseidon.bench.test.js +0 -216
- package/dest/node/barretenberg/poseidon.test.d.ts +0 -2
- package/dest/node/barretenberg/poseidon.test.d.ts.map +0 -1
- package/dest/node/barretenberg/poseidon.test.js +0 -35
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -45
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +0 -125
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +0 -11
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +0 -12
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +0 -21
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +0 -16
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +0 -70
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -53
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +0 -170
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +0 -11
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +0 -12
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -3
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +0 -21
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +0 -2
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +0 -16
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -29
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +0 -40
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +0 -3
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +0 -3
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +0 -36
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +0 -2
- package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/fetch_code/index.js +0 -2
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +0 -2
- package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/fetch_code/node/index.js +0 -35
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +0 -13
- package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/helpers/browser/index.js +0 -40
- package/dest/node/barretenberg_wasm/helpers/index.d.ts +0 -2
- package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/helpers/index.js +0 -2
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +0 -22
- package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/helpers/node/index.js +0 -48
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +0 -8
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +0 -28
- package/dest/node/barretenberg_wasm/index.d.ts +0 -5
- package/dest/node/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/index.js +0 -16
- package/dest/node/barretenberg_wasm/index.test.d.ts +0 -2
- package/dest/node/barretenberg_wasm/index.test.d.ts.map +0 -1
- package/dest/node/barretenberg_wasm/index.test.js +0 -39
- package/dest/node/bb_backends/browser/index.d.ts +0 -11
- package/dest/node/bb_backends/browser/index.d.ts.map +0 -1
- package/dest/node/bb_backends/browser/index.js +0 -39
- package/dest/node/bb_backends/index.d.ts +0 -45
- package/dest/node/bb_backends/index.d.ts.map +0 -1
- package/dest/node/bb_backends/index.js +0 -15
- package/dest/node/bb_backends/interface.d.ts +0 -33
- package/dest/node/bb_backends/interface.d.ts.map +0 -1
- package/dest/node/bb_backends/interface.js +0 -2
- package/dest/node/bb_backends/node/index.d.ts +0 -11
- package/dest/node/bb_backends/node/index.d.ts.map +0 -1
- package/dest/node/bb_backends/node/index.js +0 -80
- package/dest/node/bb_backends/node/native_pipe.d.ts +0 -25
- package/dest/node/bb_backends/node/native_pipe.d.ts.map +0 -1
- package/dest/node/bb_backends/node/native_pipe.js +0 -113
- package/dest/node/bb_backends/node/native_shm.d.ts +0 -28
- package/dest/node/bb_backends/node/native_shm.d.ts.map +0 -1
- package/dest/node/bb_backends/node/native_shm.js +0 -150
- package/dest/node/bb_backends/node/native_socket.d.ts +0 -34
- package/dest/node/bb_backends/node/native_socket.d.ts.map +0 -1
- package/dest/node/bb_backends/node/native_socket.js +0 -269
- package/dest/node/bb_backends/node/platform.d.ts +0 -27
- package/dest/node/bb_backends/node/platform.d.ts.map +0 -1
- package/dest/node/bb_backends/node/platform.js +0 -124
- 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/bb_backends/wasm.d.ts +0 -56
- package/dest/node/bb_backends/wasm.d.ts.map +0 -1
- package/dest/node/bb_backends/wasm.js +0 -90
- package/dest/node/benchmark/index.d.ts +0 -3
- package/dest/node/benchmark/index.d.ts.map +0 -1
- package/dest/node/benchmark/index.js +0 -25
- package/dest/node/benchmark/timer.d.ts +0 -34
- package/dest/node/benchmark/timer.d.ts.map +0 -1
- package/dest/node/benchmark/timer.js +0 -41
- 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/generate.d.ts +0 -5
- package/dest/node/cbind/generate.d.ts.map +0 -1
- package/dest/node/cbind/generate.js +0 -59
- package/dest/node/cbind/generated/api_types.d.ts +0 -1805
- package/dest/node/cbind/generated/api_types.d.ts.map +0 -1
- package/dest/node/cbind/generated/api_types.js +0 -2421
- package/dest/node/cbind/generated/async.d.ts +0 -57
- package/dest/node/cbind/generated/async.d.ts.map +0 -1
- package/dest/node/cbind/generated/async.js +0 -454
- package/dest/node/cbind/generated/sync.d.ts +0 -57
- package/dest/node/cbind/generated/sync.d.ts.map +0 -1
- package/dest/node/cbind/generated/sync.js +0 -406
- 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 -579
- package/dest/node/crs/browser/cached_net_crs.d.ts +0 -43
- package/dest/node/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/node/crs/browser/cached_net_crs.js +0 -90
- package/dest/node/crs/browser/index.d.ts +0 -2
- package/dest/node/crs/browser/index.d.ts.map +0 -1
- package/dest/node/crs/browser/index.js +0 -2
- package/dest/node/crs/index.d.ts +0 -2
- package/dest/node/crs/index.d.ts.map +0 -1
- package/dest/node/crs/index.js +0 -2
- package/dest/node/crs/net_crs.d.ts +0 -85
- package/dest/node/crs/net_crs.d.ts.map +0 -1
- package/dest/node/crs/net_crs.js +0 -136
- package/dest/node/crs/node/index.d.ts +0 -38
- package/dest/node/crs/node/index.d.ts.map +0 -1
- package/dest/node/crs/node/index.js +0 -102
- package/dest/node/index.d.ts +0 -6
- package/dest/node/index.d.ts.map +0 -1
- package/dest/node/index.js +0 -6
- 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/proof/index.d.ts +0 -21
- package/dest/node/proof/index.d.ts.map +0 -1
- package/dest/node/proof/index.js +0 -63
- package/dest/node/random/browser/index.d.ts +0 -2
- package/dest/node/random/browser/index.d.ts.map +0 -1
- package/dest/node/random/browser/index.js +0 -31
- package/dest/node/random/index.d.ts +0 -2
- package/dest/node/random/index.d.ts.map +0 -1
- package/dest/node/random/index.js +0 -2
- package/dest/node/random/node/index.d.ts +0 -2
- package/dest/node/random/node/index.d.ts.map +0 -1
- package/dest/node/random/node/index.js +0 -5
- package/dest/node/retry/index.d.ts +0 -26
- package/dest/node/retry/index.d.ts.map +0 -1
- package/dest/node/retry/index.js +0 -50
- 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 -3
- package/dest/node/serialize/index.d.ts.map +0 -1
- package/dest/node/serialize/index.js +0 -3
- 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 -43
- package/dest/node/types/fields.d.ts.map +0 -1
- package/dest/node/types/fields.js +0 -102
- 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 -16
- package/dest/node/types/point.d.ts.map +0 -1
- package/dest/node/types/point.js +0 -31
- package/dest/node-cjs/async_map/index.d.ts +0 -10
- package/dest/node-cjs/async_map/index.d.ts.map +0 -1
- package/dest/node-cjs/async_map/index.js +0 -19
- package/dest/node-cjs/barretenberg/backend.d.ts +0 -75
- package/dest/node-cjs/barretenberg/backend.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/backend.js +0 -308
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/blake2s.test.js +0 -59
- package/dest/node-cjs/barretenberg/index.d.ts +0 -67
- package/dest/node-cjs/barretenberg/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/index.js +0 -200
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/pedersen.test.js +0 -64
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/poseidon.bench.test.js +0 -218
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg/poseidon.test.js +0 -37
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -45
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +0 -129
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +0 -14
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +0 -14
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -3
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +0 -24
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +0 -18
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +0 -74
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -53
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +0 -174
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +0 -14
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +0 -14
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -3
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +0 -24
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +0 -18
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -29
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +0 -44
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +0 -6
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +0 -6
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +0 -40
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +0 -5
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +0 -39
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +0 -13
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +0 -50
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/index.js +0 -5
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +0 -22
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +0 -57
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +0 -8
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +0 -31
- package/dest/node-cjs/barretenberg_wasm/index.d.ts +0 -5
- package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/index.js +0 -19
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +0 -2
- package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +0 -1
- package/dest/node-cjs/barretenberg_wasm/index.test.js +0 -41
- package/dest/node-cjs/bb_backends/browser/index.d.ts +0 -11
- package/dest/node-cjs/bb_backends/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/browser/index.js +0 -43
- package/dest/node-cjs/bb_backends/index.d.ts +0 -45
- package/dest/node-cjs/bb_backends/index.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/index.js +0 -18
- package/dest/node-cjs/bb_backends/interface.d.ts +0 -33
- package/dest/node-cjs/bb_backends/interface.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/interface.js +0 -3
- package/dest/node-cjs/bb_backends/node/index.d.ts +0 -11
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/node/index.js +0 -84
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +0 -25
- package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/node/native_pipe.js +0 -117
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +0 -28
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/node/native_shm.js +0 -154
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +0 -34
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/node/native_socket.js +0 -274
- package/dest/node-cjs/bb_backends/node/platform.d.ts +0 -27
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/node/platform.js +0 -131
- 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/bb_backends/wasm.d.ts +0 -56
- package/dest/node-cjs/bb_backends/wasm.d.ts.map +0 -1
- package/dest/node-cjs/bb_backends/wasm.js +0 -95
- package/dest/node-cjs/benchmark/index.d.ts +0 -3
- package/dest/node-cjs/benchmark/index.d.ts.map +0 -1
- package/dest/node-cjs/benchmark/index.js +0 -29
- package/dest/node-cjs/benchmark/timer.d.ts +0 -34
- package/dest/node-cjs/benchmark/timer.d.ts.map +0 -1
- package/dest/node-cjs/benchmark/timer.js +0 -45
- 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/generate.d.ts +0 -5
- package/dest/node-cjs/cbind/generate.d.ts.map +0 -1
- package/dest/node-cjs/cbind/generate.js +0 -61
- package/dest/node-cjs/cbind/generated/api_types.d.ts +0 -1805
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +0 -1
- package/dest/node-cjs/cbind/generated/api_types.js +0 -2633
- package/dest/node-cjs/cbind/generated/async.d.ts +0 -57
- package/dest/node-cjs/cbind/generated/async.d.ts.map +0 -1
- package/dest/node-cjs/cbind/generated/async.js +0 -458
- package/dest/node-cjs/cbind/generated/sync.d.ts +0 -57
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +0 -1
- package/dest/node-cjs/cbind/generated/sync.js +0 -410
- 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 -586
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +0 -43
- package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +0 -1
- package/dest/node-cjs/crs/browser/cached_net_crs.js +0 -95
- package/dest/node-cjs/crs/browser/index.d.ts +0 -2
- package/dest/node-cjs/crs/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/crs/browser/index.js +0 -7
- package/dest/node-cjs/crs/index.d.ts +0 -2
- package/dest/node-cjs/crs/index.d.ts.map +0 -1
- package/dest/node-cjs/crs/index.js +0 -7
- package/dest/node-cjs/crs/net_crs.d.ts +0 -85
- package/dest/node-cjs/crs/net_crs.d.ts.map +0 -1
- package/dest/node-cjs/crs/net_crs.js +0 -141
- package/dest/node-cjs/crs/node/index.d.ts +0 -38
- package/dest/node-cjs/crs/node/index.d.ts.map +0 -1
- package/dest/node-cjs/crs/node/index.js +0 -107
- package/dest/node-cjs/index.d.ts +0 -6
- package/dest/node-cjs/index.d.ts.map +0 -1
- package/dest/node-cjs/index.js +0 -22
- 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/package.json +0 -3
- package/dest/node-cjs/proof/index.d.ts +0 -21
- package/dest/node-cjs/proof/index.d.ts.map +0 -1
- package/dest/node-cjs/proof/index.js +0 -72
- package/dest/node-cjs/random/browser/index.d.ts +0 -2
- package/dest/node-cjs/random/browser/index.d.ts.map +0 -1
- package/dest/node-cjs/random/browser/index.js +0 -35
- package/dest/node-cjs/random/index.d.ts +0 -2
- package/dest/node-cjs/random/index.d.ts.map +0 -1
- package/dest/node-cjs/random/index.js +0 -5
- package/dest/node-cjs/random/node/index.d.ts +0 -2
- package/dest/node-cjs/random/node/index.d.ts.map +0 -1
- package/dest/node-cjs/random/node/index.js +0 -8
- package/dest/node-cjs/retry/index.d.ts +0 -26
- package/dest/node-cjs/retry/index.d.ts.map +0 -1
- package/dest/node-cjs/retry/index.js +0 -55
- 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 -3
- package/dest/node-cjs/serialize/index.d.ts.map +0 -1
- package/dest/node-cjs/serialize/index.js +0 -6
- 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 -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/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 -16
- package/dest/node-cjs/types/point.d.ts.map +0 -1
- package/dest/node-cjs/types/point.js +0 -35
- package/src/cbind/generated/api_types.ts +0 -3757
- package/src/cbind/generated/async.ts +0 -504
- package/src/cbind/generated/sync.ts +0 -455
- package/src/serialize/buffer_reader.ts +0 -85
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
-
|
|
3
|
-
exports[`pedersen sync pedersenCommit 1`] = `
|
|
4
|
-
{
|
|
5
|
-
"x": Fr {
|
|
6
|
-
"value": Uint8Array [
|
|
7
|
-
40,
|
|
8
|
-
159,
|
|
9
|
-
125,
|
|
10
|
-
144,
|
|
11
|
-
234,
|
|
12
|
-
153,
|
|
13
|
-
219,
|
|
14
|
-
166,
|
|
15
|
-
76,
|
|
16
|
-
75,
|
|
17
|
-
47,
|
|
18
|
-
51,
|
|
19
|
-
253,
|
|
20
|
-
27,
|
|
21
|
-
9,
|
|
22
|
-
101,
|
|
23
|
-
2,
|
|
24
|
-
145,
|
|
25
|
-
223,
|
|
26
|
-
38,
|
|
27
|
-
43,
|
|
28
|
-
114,
|
|
29
|
-
5,
|
|
30
|
-
21,
|
|
31
|
-
90,
|
|
32
|
-
97,
|
|
33
|
-
2,
|
|
34
|
-
6,
|
|
35
|
-
219,
|
|
36
|
-
97,
|
|
37
|
-
109,
|
|
38
|
-
152,
|
|
39
|
-
],
|
|
40
|
-
},
|
|
41
|
-
"y": Fr {
|
|
42
|
-
"value": Uint8Array [
|
|
43
|
-
5,
|
|
44
|
-
175,
|
|
45
|
-
199,
|
|
46
|
-
200,
|
|
47
|
-
35,
|
|
48
|
-
67,
|
|
49
|
-
88,
|
|
50
|
-
76,
|
|
51
|
-
19,
|
|
52
|
-
203,
|
|
53
|
-
45,
|
|
54
|
-
50,
|
|
55
|
-
137,
|
|
56
|
-
153,
|
|
57
|
-
67,
|
|
58
|
-
200,
|
|
59
|
-
57,
|
|
60
|
-
87,
|
|
61
|
-
22,
|
|
62
|
-
209,
|
|
63
|
-
141,
|
|
64
|
-
173,
|
|
65
|
-
205,
|
|
66
|
-
189,
|
|
67
|
-
23,
|
|
68
|
-
215,
|
|
69
|
-
206,
|
|
70
|
-
3,
|
|
71
|
-
174,
|
|
72
|
-
112,
|
|
73
|
-
128,
|
|
74
|
-
11,
|
|
75
|
-
],
|
|
76
|
-
},
|
|
77
|
-
}
|
|
78
|
-
`;
|
|
79
|
-
|
|
80
|
-
exports[`pedersen sync pedersenHash 1`] = `
|
|
81
|
-
Fr {
|
|
82
|
-
"value": Uint8Array [
|
|
83
|
-
4,
|
|
84
|
-
194,
|
|
85
|
-
53,
|
|
86
|
-
42,
|
|
87
|
-
6,
|
|
88
|
-
13,
|
|
89
|
-
74,
|
|
90
|
-
193,
|
|
91
|
-
205,
|
|
92
|
-
251,
|
|
93
|
-
96,
|
|
94
|
-
62,
|
|
95
|
-
188,
|
|
96
|
-
67,
|
|
97
|
-
39,
|
|
98
|
-
181,
|
|
99
|
-
118,
|
|
100
|
-
69,
|
|
101
|
-
151,
|
|
102
|
-
35,
|
|
103
|
-
22,
|
|
104
|
-
20,
|
|
105
|
-
246,
|
|
106
|
-
29,
|
|
107
|
-
36,
|
|
108
|
-
91,
|
|
109
|
-
243,
|
|
110
|
-
87,
|
|
111
|
-
114,
|
|
112
|
-
192,
|
|
113
|
-
134,
|
|
114
|
-
150,
|
|
115
|
-
],
|
|
116
|
-
}
|
|
117
|
-
`;
|
|
118
|
-
|
|
119
|
-
exports[`pedersen sync pedersenHashBuffer 1`] = `
|
|
120
|
-
Fr {
|
|
121
|
-
"value": Uint8Array [
|
|
122
|
-
43,
|
|
123
|
-
213,
|
|
124
|
-
196,
|
|
125
|
-
82,
|
|
126
|
-
160,
|
|
127
|
-
201,
|
|
128
|
-
113,
|
|
129
|
-
98,
|
|
130
|
-
41,
|
|
131
|
-
79,
|
|
132
|
-
201,
|
|
133
|
-
223,
|
|
134
|
-
208,
|
|
135
|
-
241,
|
|
136
|
-
224,
|
|
137
|
-
157,
|
|
138
|
-
14,
|
|
139
|
-
9,
|
|
140
|
-
201,
|
|
141
|
-
95,
|
|
142
|
-
165,
|
|
143
|
-
237,
|
|
144
|
-
63,
|
|
145
|
-
241,
|
|
146
|
-
73,
|
|
147
|
-
251,
|
|
148
|
-
222,
|
|
149
|
-
243,
|
|
150
|
-
102,
|
|
151
|
-
203,
|
|
152
|
-
81,
|
|
153
|
-
249,
|
|
154
|
-
],
|
|
155
|
-
}
|
|
156
|
-
`;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
-
|
|
3
|
-
exports[`poseidon sync poseidonHash 1`] = `
|
|
4
|
-
{
|
|
5
|
-
"hash": Uint8Array [
|
|
6
|
-
43,
|
|
7
|
-
202,
|
|
8
|
-
235,
|
|
9
|
-
109,
|
|
10
|
-
88,
|
|
11
|
-
187,
|
|
12
|
-
56,
|
|
13
|
-
186,
|
|
14
|
-
247,
|
|
15
|
-
83,
|
|
16
|
-
213,
|
|
17
|
-
140,
|
|
18
|
-
60,
|
|
19
|
-
150,
|
|
20
|
-
97,
|
|
21
|
-
143,
|
|
22
|
-
234,
|
|
23
|
-
130,
|
|
24
|
-
22,
|
|
25
|
-
51,
|
|
26
|
-
69,
|
|
27
|
-
41,
|
|
28
|
-
94,
|
|
29
|
-
180,
|
|
30
|
-
14,
|
|
31
|
-
136,
|
|
32
|
-
52,
|
|
33
|
-
78,
|
|
34
|
-
235,
|
|
35
|
-
12,
|
|
36
|
-
226,
|
|
37
|
-
161,
|
|
38
|
-
],
|
|
39
|
-
}
|
|
40
|
-
`;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BackendOptions, Barretenberg, CircuitOptions } from './index.js';
|
|
2
|
-
import { ProofData } from '../proof/index.js';
|
|
3
|
-
export declare class AztecClientBackendError extends Error {
|
|
4
|
-
constructor(message: string);
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Options for the UltraHonkBackend.
|
|
8
|
-
*/
|
|
9
|
-
export type UltraHonkBackendOptions = {
|
|
10
|
-
/** Selecting this option will use the keccak hash function instead of poseidon
|
|
11
|
-
* when generating challenges in the proof.
|
|
12
|
-
* Use this when you want to verify the created proof on an EVM chain.
|
|
13
|
-
*/
|
|
14
|
-
keccak?: boolean;
|
|
15
|
-
/** Selecting this option will use the keccak hash function instead of poseidon
|
|
16
|
-
* when generating challenges in the proof.
|
|
17
|
-
* Use this when you want to verify the created proof on an EVM chain.
|
|
18
|
-
*/
|
|
19
|
-
keccakZK?: boolean;
|
|
20
|
-
/** Selecting this option will use the poseidon/stark252 hash function instead of poseidon
|
|
21
|
-
* when generating challenges in the proof.
|
|
22
|
-
* Use this when you want to verify the created proof on an Starknet chain with Garaga.
|
|
23
|
-
*/
|
|
24
|
-
starknet?: boolean;
|
|
25
|
-
/** Selecting this option will use the poseidon/stark252 hash function instead of poseidon
|
|
26
|
-
* when generating challenges in the proof.
|
|
27
|
-
* Use this when you want to verify the created proof on an Starknet chain with Garaga.
|
|
28
|
-
*/
|
|
29
|
-
starknetZK?: boolean;
|
|
30
|
-
};
|
|
31
|
-
export declare class UltraHonkVerifierBackend {
|
|
32
|
-
protected backendOptions: BackendOptions;
|
|
33
|
-
protected circuitOptions: CircuitOptions;
|
|
34
|
-
protected api: Barretenberg;
|
|
35
|
-
constructor(backendOptions?: BackendOptions, circuitOptions?: CircuitOptions);
|
|
36
|
-
/** @ignore */
|
|
37
|
-
private instantiate;
|
|
38
|
-
verifyProof(proofData: ProofData & {
|
|
39
|
-
verificationKey: Uint8Array;
|
|
40
|
-
}, options?: UltraHonkBackendOptions): Promise<boolean>;
|
|
41
|
-
destroy(): Promise<void>;
|
|
42
|
-
}
|
|
43
|
-
export declare class UltraHonkBackend {
|
|
44
|
-
protected backendOptions: BackendOptions;
|
|
45
|
-
protected circuitOptions: CircuitOptions;
|
|
46
|
-
protected api: Barretenberg;
|
|
47
|
-
protected acirUncompressedBytecode: Uint8Array;
|
|
48
|
-
constructor(acirBytecode: string, backendOptions?: BackendOptions, circuitOptions?: CircuitOptions);
|
|
49
|
-
/** @ignore */
|
|
50
|
-
private instantiate;
|
|
51
|
-
generateProof(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofData>;
|
|
52
|
-
verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean>;
|
|
53
|
-
getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array>;
|
|
54
|
-
/** @description Returns a solidity verifier */
|
|
55
|
-
getSolidityVerifier(vk: Uint8Array, options?: UltraHonkBackendOptions): Promise<string>;
|
|
56
|
-
generateRecursiveProofArtifacts(_proof: Uint8Array, _numOfPublicInputs: number): Promise<{
|
|
57
|
-
proofAsFields: string[];
|
|
58
|
-
vkAsFields: string[];
|
|
59
|
-
vkHash: string;
|
|
60
|
-
}>;
|
|
61
|
-
destroy(): Promise<void>;
|
|
62
|
-
}
|
|
63
|
-
export declare class AztecClientBackend {
|
|
64
|
-
protected acirBuf: Uint8Array[];
|
|
65
|
-
protected options: BackendOptions;
|
|
66
|
-
protected api: Barretenberg;
|
|
67
|
-
constructor(acirBuf: Uint8Array[], options?: BackendOptions);
|
|
68
|
-
/** @ignore */
|
|
69
|
-
private instantiate;
|
|
70
|
-
prove(witnessBuf: Uint8Array[], vksBuf?: Uint8Array[]): Promise<[Uint8Array[], Uint8Array, Uint8Array]>;
|
|
71
|
-
verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean>;
|
|
72
|
-
gates(): Promise<number[]>;
|
|
73
|
-
destroy(): Promise<void>;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=backend.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAoC,MAAM,mBAAmB,CAAC;AAMhF,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAG5B;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAsBF,qBAAa,wBAAwB;IAIjC,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,cAAc,EAAE,cAAc;IAJ1C,SAAS,CAAC,GAAG,EAAG,YAAY,CAAC;gBAGjB,cAAc,GAAE,cAA+B,EAC/C,cAAc,GAAE,cAAqC;IAEjE,cAAc;YACA,WAAW;IAUnB,WAAW,CACf,SAAS,EAAE,SAAS,GAAG;QAAE,eAAe,EAAE,UAAU,CAAA;KAAE,EACtD,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,OAAO,CAAC;IAenB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAMzB;AAED,qBAAa,gBAAgB;IAWzB,SAAS,CAAC,cAAc,EAAE,cAAc;IACxC,SAAS,CAAC,cAAc,EAAE,cAAc;IAN1C,SAAS,CAAC,GAAG,EAAG,YAAY,CAAC;IAC7B,SAAS,CAAC,wBAAwB,EAAE,UAAU,CAAC;gBAG7C,YAAY,EAAE,MAAM,EACV,cAAc,GAAE,cAA+B,EAC/C,cAAc,GAAE,cAAqC;IAIjE,cAAc;YACA,WAAW;IAUnB,aAAa,CAAC,iBAAiB,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC;IAwBnG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBtF,kBAAkB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAahF,+CAA+C;IACzC,mBAAmB,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvF,+BAA+B,CAEnC,MAAM,EAAE,UAAU,EAElB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCvE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAED,qBAAa,kBAAkB;IAS3B,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE;IAC/B,SAAS,CAAC,OAAO,EAAE,cAAc;IAJnC,SAAS,CAAC,GAAG,EAAG,YAAY,CAAC;gBAGjB,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,GAAE,cAA+B;IAGpD,cAAc;YACA,WAAW;IAQnB,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,MAAM,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IA8D3G,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3D,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB1B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
|
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
import { Barretenberg } from './index.js';
|
|
2
|
-
import { uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
|
|
3
|
-
import { fromClientIVCProof, toClientIVCProof } from '../cbind/generated/api_types.js';
|
|
4
|
-
import { ungzip } from 'pako';
|
|
5
|
-
import { Buffer } from 'buffer';
|
|
6
|
-
import { Decoder, Encoder } from 'msgpackr';
|
|
7
|
-
export class AztecClientBackendError extends Error {
|
|
8
|
-
constructor(message) {
|
|
9
|
-
super(message);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function getProofSettingsFromOptions(options) {
|
|
13
|
-
return {
|
|
14
|
-
ipaAccumulation: false,
|
|
15
|
-
oracleHashType: options?.keccak || options?.keccakZK
|
|
16
|
-
? 'keccak'
|
|
17
|
-
: options?.starknet || options?.starknetZK
|
|
18
|
-
? 'starknet'
|
|
19
|
-
: 'poseidon2',
|
|
20
|
-
// TODO no current way to target non-zk poseidon2 hash
|
|
21
|
-
disableZk: options?.keccak || options?.starknet ? true : false,
|
|
22
|
-
optimizedSolidityVerifier: false,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
export class UltraHonkVerifierBackend {
|
|
26
|
-
constructor(backendOptions = { threads: 1 }, circuitOptions = { recursive: false }) {
|
|
27
|
-
this.backendOptions = backendOptions;
|
|
28
|
-
this.circuitOptions = circuitOptions;
|
|
29
|
-
}
|
|
30
|
-
/** @ignore */
|
|
31
|
-
async instantiate() {
|
|
32
|
-
if (!this.api) {
|
|
33
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
34
|
-
const honkRecursion = true;
|
|
35
|
-
await api.initSRSForCircuitSize(0);
|
|
36
|
-
this.api = api;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
async verifyProof(proofData, options) {
|
|
40
|
-
await this.instantiate();
|
|
41
|
-
const proofFrs = [];
|
|
42
|
-
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
43
|
-
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
44
|
-
}
|
|
45
|
-
const { verified } = await this.api.circuitVerify({
|
|
46
|
-
verificationKey: proofData.verificationKey,
|
|
47
|
-
publicInputs: proofData.publicInputs.map(hexToUint8Array),
|
|
48
|
-
proof: proofFrs,
|
|
49
|
-
settings: getProofSettingsFromOptions(options),
|
|
50
|
-
});
|
|
51
|
-
return verified;
|
|
52
|
-
}
|
|
53
|
-
destroy() {
|
|
54
|
-
if (!this.api) {
|
|
55
|
-
return Promise.resolve();
|
|
56
|
-
}
|
|
57
|
-
return this.api.destroy();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export class UltraHonkBackend {
|
|
61
|
-
constructor(acirBytecode, backendOptions = { threads: 1 }, circuitOptions = { recursive: false }) {
|
|
62
|
-
this.backendOptions = backendOptions;
|
|
63
|
-
this.circuitOptions = circuitOptions;
|
|
64
|
-
this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
|
|
65
|
-
}
|
|
66
|
-
/** @ignore */
|
|
67
|
-
async instantiate() {
|
|
68
|
-
if (!this.api) {
|
|
69
|
-
const api = await Barretenberg.new(this.backendOptions);
|
|
70
|
-
const honkRecursion = true;
|
|
71
|
-
await api.acirInitSRS(this.acirUncompressedBytecode, this.circuitOptions.recursive, honkRecursion);
|
|
72
|
-
this.api = api;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
async generateProof(compressedWitness, options) {
|
|
76
|
-
await this.instantiate();
|
|
77
|
-
const witness = ungzip(compressedWitness);
|
|
78
|
-
const { proof, publicInputs } = await this.api.circuitProve({
|
|
79
|
-
witness,
|
|
80
|
-
circuit: {
|
|
81
|
-
name: 'circuit',
|
|
82
|
-
bytecode: Buffer.from(this.acirUncompressedBytecode),
|
|
83
|
-
verificationKey: Buffer.from([]), // Empty VK - lower performance.
|
|
84
|
-
},
|
|
85
|
-
settings: getProofSettingsFromOptions(options),
|
|
86
|
-
});
|
|
87
|
-
console.log(`Generated proof for circuit with ${publicInputs.length} public inputs and ${proof.length} fields.`);
|
|
88
|
-
// We return ProofData as a flat buffer and an array of strings to match the current ProofData class.
|
|
89
|
-
const flatProof = new Uint8Array(proof.length * 32);
|
|
90
|
-
proof.forEach((fr, i) => {
|
|
91
|
-
flatProof.set(fr, i * 32);
|
|
92
|
-
});
|
|
93
|
-
return { proof: flatProof, publicInputs: publicInputs.map(uint8ArrayToHex) };
|
|
94
|
-
}
|
|
95
|
-
async verifyProof(proofData, options) {
|
|
96
|
-
await this.instantiate();
|
|
97
|
-
const proofFrs = [];
|
|
98
|
-
for (let i = 0; i < proofData.proof.length; i += 32) {
|
|
99
|
-
proofFrs.push(proofData.proof.slice(i, i + 32));
|
|
100
|
-
}
|
|
101
|
-
// TODO reconsider API - computing the VK at this point is not optimal
|
|
102
|
-
const vkResult = await this.api.circuitComputeVk({
|
|
103
|
-
circuit: {
|
|
104
|
-
name: 'circuit',
|
|
105
|
-
bytecode: this.acirUncompressedBytecode,
|
|
106
|
-
},
|
|
107
|
-
settings: getProofSettingsFromOptions(options),
|
|
108
|
-
});
|
|
109
|
-
const { verified } = await this.api.circuitVerify({
|
|
110
|
-
verificationKey: vkResult.bytes,
|
|
111
|
-
publicInputs: proofData.publicInputs.map(hexToUint8Array),
|
|
112
|
-
proof: proofFrs,
|
|
113
|
-
settings: getProofSettingsFromOptions(options),
|
|
114
|
-
});
|
|
115
|
-
return verified;
|
|
116
|
-
}
|
|
117
|
-
async getVerificationKey(options) {
|
|
118
|
-
await this.instantiate();
|
|
119
|
-
const vkResult = await this.api.circuitComputeVk({
|
|
120
|
-
circuit: {
|
|
121
|
-
name: 'circuit',
|
|
122
|
-
bytecode: Buffer.from(this.acirUncompressedBytecode),
|
|
123
|
-
},
|
|
124
|
-
settings: getProofSettingsFromOptions(options),
|
|
125
|
-
});
|
|
126
|
-
return vkResult.bytes;
|
|
127
|
-
}
|
|
128
|
-
/** @description Returns a solidity verifier */
|
|
129
|
-
async getSolidityVerifier(vk, options) {
|
|
130
|
-
await this.instantiate();
|
|
131
|
-
const result = await this.api.circuitWriteSolidityVerifier({
|
|
132
|
-
verificationKey: vk,
|
|
133
|
-
settings: getProofSettingsFromOptions(options),
|
|
134
|
-
});
|
|
135
|
-
return result.solidityCode;
|
|
136
|
-
}
|
|
137
|
-
// 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
|
|
138
|
-
async generateRecursiveProofArtifacts(
|
|
139
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
140
|
-
_proof,
|
|
141
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
142
|
-
_numOfPublicInputs) {
|
|
143
|
-
await this.instantiate();
|
|
144
|
-
// TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
|
|
145
|
-
// There is still a proofAsFields method but we could consider getting rid of it as the proof itself
|
|
146
|
-
// is a list of field elements.
|
|
147
|
-
// UltraHonk also does not have public inputs directly prepended to the proof and they are still instead
|
|
148
|
-
// inserted at an offset.
|
|
149
|
-
// const proof = reconstructProofWithPublicInputs(proofData);
|
|
150
|
-
// const proofAsFields = (await this.api.acirProofAsFieldsUltraHonk(proof)).slice(numOfPublicInputs);
|
|
151
|
-
// TODO: perhaps we should put this in the init function. Need to benchmark
|
|
152
|
-
// TODO how long it takes.
|
|
153
|
-
const vkResult = await this.api.circuitComputeVk({
|
|
154
|
-
circuit: {
|
|
155
|
-
name: 'circuit',
|
|
156
|
-
bytecode: Buffer.from(this.acirUncompressedBytecode),
|
|
157
|
-
},
|
|
158
|
-
settings: getProofSettingsFromOptions({}),
|
|
159
|
-
});
|
|
160
|
-
// Convert VK bytes to field elements (32-byte chunks)
|
|
161
|
-
const vkAsFields = [];
|
|
162
|
-
for (let i = 0; i < vkResult.bytes.length; i += 32) {
|
|
163
|
-
const chunk = vkResult.bytes.slice(i, i + 32);
|
|
164
|
-
vkAsFields.push(uint8ArrayToHex(chunk));
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
// TODO(https://github.com/noir-lang/noir/issues/5661)
|
|
168
|
-
proofAsFields: [],
|
|
169
|
-
vkAsFields,
|
|
170
|
-
// We use an empty string for the vk hash here as it is unneeded as part of the recursive artifacts
|
|
171
|
-
// The user can be expected to hash the vk inside their circuit to check whether the vk is the circuit
|
|
172
|
-
// they expect
|
|
173
|
-
vkHash: uint8ArrayToHex(vkResult.hash),
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
async destroy() {
|
|
177
|
-
if (!this.api) {
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
await this.api.destroy();
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
export class AztecClientBackend {
|
|
184
|
-
constructor(acirBuf, options = { threads: 1 }) {
|
|
185
|
-
this.acirBuf = acirBuf;
|
|
186
|
-
this.options = options;
|
|
187
|
-
}
|
|
188
|
-
/** @ignore */
|
|
189
|
-
async instantiate() {
|
|
190
|
-
if (!this.api) {
|
|
191
|
-
const api = await Barretenberg.new(this.options);
|
|
192
|
-
await api.initSRSClientIVC();
|
|
193
|
-
this.api = api;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
async prove(witnessBuf, vksBuf = []) {
|
|
197
|
-
if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
|
|
198
|
-
throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!');
|
|
199
|
-
}
|
|
200
|
-
if (vksBuf.length !== 0 && vksBuf.length !== witnessBuf.length) {
|
|
201
|
-
// NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
|
|
202
|
-
throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
|
|
203
|
-
}
|
|
204
|
-
await this.instantiate();
|
|
205
|
-
// Queue IVC start with the number of circuits
|
|
206
|
-
this.api.clientIvcStart({ numCircuits: this.acirBuf.length });
|
|
207
|
-
// Queue load and accumulate for each circuit
|
|
208
|
-
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
209
|
-
const bytecode = this.acirBuf[i];
|
|
210
|
-
const witness = witnessBuf[i] || Buffer.from([]);
|
|
211
|
-
const vk = vksBuf[i] || Buffer.from([]);
|
|
212
|
-
const functionName = `unknown_wasm_${i}`;
|
|
213
|
-
// Load the circuit
|
|
214
|
-
this.api.clientIvcLoad({
|
|
215
|
-
circuit: {
|
|
216
|
-
name: functionName,
|
|
217
|
-
bytecode: Buffer.from(bytecode),
|
|
218
|
-
verificationKey: Buffer.from(vk),
|
|
219
|
-
},
|
|
220
|
-
});
|
|
221
|
-
// Accumulate with witness
|
|
222
|
-
this.api.clientIvcAccumulate({
|
|
223
|
-
witness: Buffer.from(witness),
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
// Generate the proof (and wait for all previous steps to finish)
|
|
227
|
-
const proveResult = await this.api.clientIvcProve({});
|
|
228
|
-
// The API currently expects a msgpack-encoded API.
|
|
229
|
-
const proof = new Encoder({ useRecords: false }).encode(fromClientIVCProof(proveResult.proof));
|
|
230
|
-
// Generate the VK
|
|
231
|
-
const vkResult = await this.api.clientIvcComputeIvcVk({
|
|
232
|
-
circuit: {
|
|
233
|
-
name: 'hiding',
|
|
234
|
-
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
235
|
-
},
|
|
236
|
-
});
|
|
237
|
-
const proofFields = [
|
|
238
|
-
proveResult.proof.megaProof,
|
|
239
|
-
proveResult.proof.goblinProof.mergeProof,
|
|
240
|
-
proveResult.proof.goblinProof.eccvmProof.preIpaProof,
|
|
241
|
-
proveResult.proof.goblinProof.eccvmProof.ipaProof,
|
|
242
|
-
proveResult.proof.goblinProof.translatorProof,
|
|
243
|
-
].flat();
|
|
244
|
-
// Note: Verification may not work correctly until we properly serialize the proof
|
|
245
|
-
if (!(await this.verify(proof, vkResult.bytes))) {
|
|
246
|
-
throw new AztecClientBackendError('Failed to verify the private (ClientIVC) transaction proof!');
|
|
247
|
-
}
|
|
248
|
-
return [proofFields, proof, vkResult.bytes];
|
|
249
|
-
}
|
|
250
|
-
async verify(proof, vk) {
|
|
251
|
-
await this.instantiate();
|
|
252
|
-
const result = await this.api.clientIvcVerify({
|
|
253
|
-
proof: toClientIVCProof(new Decoder({ useRecords: false }).decode(proof)),
|
|
254
|
-
vk: Buffer.from(vk),
|
|
255
|
-
});
|
|
256
|
-
return result.valid;
|
|
257
|
-
}
|
|
258
|
-
async gates() {
|
|
259
|
-
await this.instantiate();
|
|
260
|
-
const circuitSizes = [];
|
|
261
|
-
for (const buf of this.acirBuf) {
|
|
262
|
-
const gates = await this.api.clientIvcStats({
|
|
263
|
-
circuit: {
|
|
264
|
-
name: 'circuit',
|
|
265
|
-
bytecode: buf,
|
|
266
|
-
},
|
|
267
|
-
includeGatesPerOpcode: false,
|
|
268
|
-
});
|
|
269
|
-
circuitSizes.push(gates.circuitSize);
|
|
270
|
-
}
|
|
271
|
-
return circuitSizes;
|
|
272
|
-
}
|
|
273
|
-
async destroy() {
|
|
274
|
-
if (!this.api) {
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
await this.api.destroy();
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
// Converts bytecode from a base64 string to a Uint8Array
|
|
281
|
-
function acirToUint8Array(base64EncodedBytecode) {
|
|
282
|
-
const compressedByteCode = base64Decode(base64EncodedBytecode);
|
|
283
|
-
return ungzip(compressedByteCode);
|
|
284
|
-
}
|
|
285
|
-
// Since this is a simple function, we can use feature detection to
|
|
286
|
-
// see if we are in the nodeJs environment or the browser environment.
|
|
287
|
-
function base64Decode(input) {
|
|
288
|
-
if (typeof Buffer !== 'undefined') {
|
|
289
|
-
// Node.js environment
|
|
290
|
-
const b = Buffer.from(input, 'base64');
|
|
291
|
-
return new Uint8Array(b.buffer, b.byteOffset, b.byteLength);
|
|
292
|
-
}
|
|
293
|
-
else if (typeof atob === 'function') {
|
|
294
|
-
// Browser environment
|
|
295
|
-
return Uint8Array.from(atob(input), c => c.charCodeAt(0));
|
|
296
|
-
}
|
|
297
|
-
else {
|
|
298
|
-
throw new Error('No implementation found for base64 decoding.');
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmcvYmFja2VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWtCLFlBQVksRUFBa0IsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFhLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFNUMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxPQUFlO1FBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUE0QkQsU0FBUywyQkFBMkIsQ0FBQyxPQUFpQztJQU1wRSxPQUFPO1FBQ0wsZUFBZSxFQUFFLEtBQUs7UUFDdEIsY0FBYyxFQUNaLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLFFBQVE7WUFDbEMsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsSUFBSSxPQUFPLEVBQUUsVUFBVTtnQkFDeEMsQ0FBQyxDQUFDLFVBQVU7Z0JBQ1osQ0FBQyxDQUFDLFdBQVc7UUFDbkIsc0RBQXNEO1FBQ3RELFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztRQUM5RCx5QkFBeUIsRUFBRSxLQUFLO0tBQ2pDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJ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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blake2s.test.d.ts","sourceRoot":"","sources":["../../../src/barretenberg/blake2s.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { BackendType, Barretenberg, BarretenbergSync } from './index.js';
|
|
2
|
-
import { Fr } from '../types/index.js';
|
|
3
|
-
describe('blake2s async', () => {
|
|
4
|
-
let api;
|
|
5
|
-
beforeAll(async () => {
|
|
6
|
-
// We're going to test over a worker backend to cover more code paths.
|
|
7
|
-
api = await Barretenberg.new({ threads: 1, backend: BackendType.WasmWorker });
|
|
8
|
-
});
|
|
9
|
-
afterAll(async () => {
|
|
10
|
-
await api.destroy();
|
|
11
|
-
});
|
|
12
|
-
it('blake2s', async () => {
|
|
13
|
-
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
14
|
-
const expected = new Uint8Array([
|
|
15
|
-
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c, 0x2a,
|
|
16
|
-
0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
17
|
-
]);
|
|
18
|
-
const response = await api.blake2s({ data: input });
|
|
19
|
-
expect(response.hash).toEqual(expected);
|
|
20
|
-
});
|
|
21
|
-
it('blake2sToField', async () => {
|
|
22
|
-
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
23
|
-
const expected = Fr.fromBufferReduce(new Uint8Array([
|
|
24
|
-
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
25
|
-
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
26
|
-
]));
|
|
27
|
-
const response = await api.blake2sToField({ data: input });
|
|
28
|
-
const result = Fr.fromBuffer(response.field);
|
|
29
|
-
expect(result).toEqual(expected);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
describe('blake2s sync', () => {
|
|
33
|
-
let api;
|
|
34
|
-
beforeAll(async () => {
|
|
35
|
-
api = await BarretenbergSync.initSingleton();
|
|
36
|
-
});
|
|
37
|
-
it('blake2s', () => {
|
|
38
|
-
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
39
|
-
const expected = new Uint8Array([
|
|
40
|
-
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c, 0x2a,
|
|
41
|
-
0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
42
|
-
]);
|
|
43
|
-
const response = api.blake2s({ data: input });
|
|
44
|
-
expect(response.hash).toEqual(expected);
|
|
45
|
-
});
|
|
46
|
-
it('blake2sToField', () => {
|
|
47
|
-
const input = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmnopqrstuvwxyz0123456789');
|
|
48
|
-
const expected = Fr.fromBufferReduce(new Uint8Array([
|
|
49
|
-
0x44, 0xdd, 0xdb, 0x39, 0xbd, 0xb2, 0xaf, 0x80, 0xc1, 0x47, 0x89, 0x4c, 0x1d, 0x75, 0x6a, 0xda, 0x3d, 0x1c,
|
|
50
|
-
0x2a, 0xc2, 0xb1, 0x00, 0x54, 0x1e, 0x04, 0xfe, 0x87, 0xb4, 0xa5, 0x9e, 0x12, 0x43,
|
|
51
|
-
]));
|
|
52
|
-
const response = api.blake2sToField({ data: input });
|
|
53
|
-
const result = Fr.fromBuffer(response.field);
|
|
54
|
-
expect(result).toEqual(expected);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxha2Uycy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZy9ibGFrZTJzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO0lBQzdCLElBQUksR0FBaUIsQ0FBQztJQUV0QixTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUU7UUFDbkIsc0VBQXNFO1FBQ3RFLEdBQUcsR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNoRixDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNsQixNQUFNLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdkIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO1FBQ3RHLE1BQU0sUUFBUSxHQUFHLElBQUksVUFBVSxDQUFDO1lBQzlCLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7WUFDaEgsSUFBSSxFQUFFLElBQUks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
|