@aztec/bb.js 3.0.0-nightly.20251025 → 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/serialize/buffer_reader.ts +0 -85
package/README.md
CHANGED
|
@@ -85,7 +85,7 @@ You can enable these headers for specific pages that perform proof generation, b
|
|
|
85
85
|
Got an unhelpful stack trace in wasm? Run:
|
|
86
86
|
|
|
87
87
|
```
|
|
88
|
-
NO_STRIP=1 ./script/
|
|
88
|
+
BUILD_CPP=1 NO_STRIP=1 ./script/copy_wasm.sh
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
This will drop unstripped wasms into the dest folder. Run your test again to get a trace.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb.js",
|
|
3
3
|
"packageManager": "yarn@4.5.2",
|
|
4
|
-
"version": "3.0.0-nightly.
|
|
4
|
+
"version": "3.0.0-nightly.20251030",
|
|
5
5
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/barretenberg/ts",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
|
@@ -22,8 +22,9 @@
|
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
24
|
"clean": "rm -rf ./dest .tsbuildinfo .tsbuildinfo.cjs ./src/cbind/generated",
|
|
25
|
-
"build": "yarn clean && yarn generate && yarn build:wasm && yarn build:esm && yarn build:cjs && yarn build:browser",
|
|
26
|
-
"build:wasm": "./scripts/
|
|
25
|
+
"build": "yarn clean && yarn generate && yarn build:wasm && yarn build:native && yarn build:esm && yarn build:cjs && yarn build:browser",
|
|
26
|
+
"build:wasm": "./scripts/copy_wasm.sh",
|
|
27
|
+
"build:native": "./scripts/copy_native.sh",
|
|
27
28
|
"build:esm": "tsc -b tsconfig.esm.json",
|
|
28
29
|
"build:cjs": "tsc -b tsconfig.cjs.json && ./scripts/cjs_postprocess.sh",
|
|
29
30
|
"build:browser": "tsc -b tsconfig.browser.json && ./scripts/browser_postprocess.sh",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BackendOptions, Barretenberg, CircuitOptions } from './index.js';
|
|
2
2
|
import { ProofData, uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
|
|
3
|
-
import {
|
|
3
|
+
import { fromChonkProof, toChonkProof } from '../cbind/generated/api_types.js';
|
|
4
4
|
import { ungzip } from 'pako';
|
|
5
5
|
import { Buffer } from 'buffer';
|
|
6
6
|
import { Decoder, Encoder } from 'msgpackr';
|
|
@@ -268,7 +268,7 @@ export class AztecClientBackend {
|
|
|
268
268
|
private async instantiate(): Promise<void> {
|
|
269
269
|
if (!this.api) {
|
|
270
270
|
const api = await Barretenberg.new(this.options);
|
|
271
|
-
await api.
|
|
271
|
+
await api.initSRSChonk();
|
|
272
272
|
this.api = api;
|
|
273
273
|
}
|
|
274
274
|
}
|
|
@@ -284,7 +284,7 @@ export class AztecClientBackend {
|
|
|
284
284
|
await this.instantiate();
|
|
285
285
|
|
|
286
286
|
// Queue IVC start with the number of circuits
|
|
287
|
-
this.api.
|
|
287
|
+
this.api.chonkStart({ numCircuits: this.acirBuf.length });
|
|
288
288
|
|
|
289
289
|
// Queue load and accumulate for each circuit
|
|
290
290
|
for (let i = 0; i < this.acirBuf.length; i++) {
|
|
@@ -294,7 +294,7 @@ export class AztecClientBackend {
|
|
|
294
294
|
const functionName = `unknown_wasm_${i}`;
|
|
295
295
|
|
|
296
296
|
// Load the circuit
|
|
297
|
-
this.api.
|
|
297
|
+
this.api.chonkLoad({
|
|
298
298
|
circuit: {
|
|
299
299
|
name: functionName,
|
|
300
300
|
bytecode: Buffer.from(bytecode),
|
|
@@ -303,17 +303,17 @@ export class AztecClientBackend {
|
|
|
303
303
|
});
|
|
304
304
|
|
|
305
305
|
// Accumulate with witness
|
|
306
|
-
this.api.
|
|
306
|
+
this.api.chonkAccumulate({
|
|
307
307
|
witness: Buffer.from(witness),
|
|
308
308
|
});
|
|
309
309
|
}
|
|
310
310
|
|
|
311
311
|
// Generate the proof (and wait for all previous steps to finish)
|
|
312
|
-
const proveResult = await this.api.
|
|
312
|
+
const proveResult = await this.api.chonkProve({});
|
|
313
313
|
// The API currently expects a msgpack-encoded API.
|
|
314
|
-
const proof = new Encoder({ useRecords: false }).encode(
|
|
314
|
+
const proof = new Encoder({ useRecords: false }).encode(fromChonkProof(proveResult.proof));
|
|
315
315
|
// Generate the VK
|
|
316
|
-
const vkResult = await this.api.
|
|
316
|
+
const vkResult = await this.api.chonkComputeIvcVk({
|
|
317
317
|
circuit: {
|
|
318
318
|
name: 'hiding',
|
|
319
319
|
bytecode: this.acirBuf[this.acirBuf.length - 1],
|
|
@@ -330,15 +330,15 @@ export class AztecClientBackend {
|
|
|
330
330
|
|
|
331
331
|
// Note: Verification may not work correctly until we properly serialize the proof
|
|
332
332
|
if (!(await this.verify(proof, vkResult.bytes))) {
|
|
333
|
-
throw new AztecClientBackendError('Failed to verify the private (
|
|
333
|
+
throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
|
|
334
334
|
}
|
|
335
335
|
return [proofFields, proof, vkResult.bytes];
|
|
336
336
|
}
|
|
337
337
|
|
|
338
338
|
async verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean> {
|
|
339
339
|
await this.instantiate();
|
|
340
|
-
const result = await this.api.
|
|
341
|
-
proof:
|
|
340
|
+
const result = await this.api.chonkVerify({
|
|
341
|
+
proof: toChonkProof(new Decoder({ useRecords: false }).decode(proof)),
|
|
342
342
|
vk: Buffer.from(vk),
|
|
343
343
|
});
|
|
344
344
|
return result.valid;
|
|
@@ -348,7 +348,7 @@ export class AztecClientBackend {
|
|
|
348
348
|
await this.instantiate();
|
|
349
349
|
const circuitSizes: number[] = [];
|
|
350
350
|
for (const buf of this.acirBuf) {
|
|
351
|
-
const gates = await this.api.
|
|
351
|
+
const gates = await this.api.chonkStats({
|
|
352
352
|
circuit: {
|
|
353
353
|
name: 'circuit',
|
|
354
354
|
bytecode: buf,
|
|
@@ -68,7 +68,7 @@ export class Barretenberg extends AsyncApi {
|
|
|
68
68
|
await this.srsInitSrs({ pointsBuf: crs.getG1Data(), numPoints: crs.numPoints, g2Point: crs.getG2Data() });
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
async
|
|
71
|
+
async initSRSChonk(srsSize = this.getDefaultSrsSize()): Promise<void> {
|
|
72
72
|
// crsPath can be undefined
|
|
73
73
|
const crs = await Crs.new(srsSize + 1, this.options.crsPath, this.options.logger);
|
|
74
74
|
const grumpkinCrs = await GrumpkinCrs.new(2 ** 16 + 1, this.options.crsPath, this.options.logger);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Barretenberg, BarretenbergSync
|
|
1
|
+
import { Barretenberg, BarretenbergSync } from '../index.js';
|
|
2
|
+
import { Fr } from '../types/fields.js';
|
|
2
3
|
import { serializeBufferable } from '../serialize/index.js';
|
|
3
4
|
import { BarretenbergWasmMain } from '../barretenberg_wasm/barretenberg_wasm_main/index.js';
|
|
4
5
|
import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
|
|
@@ -10,8 +10,8 @@ import { type BarretenbergWasmMain } from './index.js';
|
|
|
10
10
|
*/
|
|
11
11
|
export class HeapAllocator {
|
|
12
12
|
private allocs: number[] = [];
|
|
13
|
-
private inScratchPtr = 0;
|
|
14
|
-
private outScratchPtr = 1024;
|
|
13
|
+
private inScratchPtr = 0; // Next input starts here, grows UP
|
|
14
|
+
private outScratchPtr = 1024; // Next output ends here, grows DOWN
|
|
15
15
|
|
|
16
16
|
constructor(private wasm: BarretenbergWasmMain) {}
|
|
17
17
|
|
|
@@ -22,7 +22,7 @@ export class HeapAllocator {
|
|
|
22
22
|
// Check if there's room in scratch space (inputs grow up, outputs grow down)
|
|
23
23
|
if (this.inScratchPtr + size <= this.outScratchPtr) {
|
|
24
24
|
const ptr = this.inScratchPtr;
|
|
25
|
-
this.inScratchPtr += size;
|
|
25
|
+
this.inScratchPtr += size; // Grow UP
|
|
26
26
|
this.wasm.writeMemory(ptr, bufOrNum);
|
|
27
27
|
return ptr;
|
|
28
28
|
} else {
|
|
@@ -46,7 +46,7 @@ export class HeapAllocator {
|
|
|
46
46
|
|
|
47
47
|
// Check if there's room in scratch space (inputs grow up, outputs grow down)
|
|
48
48
|
if (this.inScratchPtr + size <= this.outScratchPtr) {
|
|
49
|
-
this.outScratchPtr -= size;
|
|
49
|
+
this.outScratchPtr -= size; // Grow DOWN
|
|
50
50
|
return this.outScratchPtr;
|
|
51
51
|
} else {
|
|
52
52
|
// Fall back to heap allocation
|
package/src/bb_backends/wasm.ts
CHANGED
|
@@ -39,15 +39,8 @@ export class BarretenbergWasmSyncBackend implements IMsgpackBackendSync {
|
|
|
39
39
|
/**
|
|
40
40
|
* Asynchronous WASM backend that supports both direct WASM and worker-based modes.
|
|
41
41
|
*
|
|
42
|
-
* Worker mode (default): Runs WASM on a worker thread to avoid blocking the main thread.
|
|
43
|
-
*
|
|
44
|
-
* - Overhead: ~3-4x slower due to serialize/deserialize for each call
|
|
45
|
-
* - Use for: Browser environments, long-running operations
|
|
46
|
-
*
|
|
47
|
-
* Direct mode (useWorker: false): Runs WASM directly on the calling thread.
|
|
48
|
-
* - Performance: ~3-4x faster (no serialize/deserialize overhead)
|
|
49
|
-
* - Warning: Will block the thread during operations
|
|
50
|
-
* - Use for: Node.js, benchmarks, tight loops where performance is critical
|
|
42
|
+
* Worker mode (default): Runs WASM on a worker thread to avoid blocking the main thread. Used in browsers.
|
|
43
|
+
* Direct mode: Runs WASM directly on the calling thread. Used by node.js for better performance.
|
|
51
44
|
*/
|
|
52
45
|
export class BarretenbergWasmAsyncBackend implements IMsgpackBackendAsync {
|
|
53
46
|
private constructor(
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exception thrown when barretenberg API operations fail
|
|
3
|
+
*/
|
|
4
|
+
export class BBApiException extends Error {
|
|
5
|
+
constructor(message: string) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'BBApiException';
|
|
8
|
+
// Maintains proper stack trace for where our error was thrown (only available on V8)
|
|
9
|
+
if (Error.captureStackTrace) {
|
|
10
|
+
Error.captureStackTrace(this, BBApiException);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
package/src/cbind/generate.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { dirname, join } from 'path';
|
|
|
7
7
|
import { exec } from 'child_process';
|
|
8
8
|
import { promisify } from 'util';
|
|
9
9
|
import { fileURLToPath } from 'url';
|
|
10
|
+
import { unpack } from 'msgpackr';
|
|
10
11
|
import {
|
|
11
12
|
createSharedTypesCompiler,
|
|
12
13
|
createSyncApiCompiler,
|
|
@@ -73,9 +74,107 @@ async function generate() {
|
|
|
73
74
|
console.log(`✓ ${config.name}: ${outputPath}`);
|
|
74
75
|
}
|
|
75
76
|
|
|
77
|
+
// Generate curve constants
|
|
78
|
+
console.log('\nGenerating curve constants...');
|
|
79
|
+
await generateCurveConstants(bbBuildPath, outputDir);
|
|
80
|
+
|
|
76
81
|
console.log('\nGeneration complete!');
|
|
77
82
|
}
|
|
78
83
|
|
|
84
|
+
async function generateCurveConstants(bbBuildPath: string, outputDir: string) {
|
|
85
|
+
// Get curve constants from bb as msgpack binary
|
|
86
|
+
const { stdout: constantsBuffer } = await execAsync(`${bbBuildPath} msgpack curve_constants`, {
|
|
87
|
+
encoding: 'buffer',
|
|
88
|
+
maxBuffer: 10 * 1024 * 1024, // 10MB buffer
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// Decode msgpack
|
|
92
|
+
const constants = unpack(constantsBuffer as Buffer);
|
|
93
|
+
|
|
94
|
+
// Helper to convert Uint8Array to hex string
|
|
95
|
+
const toHex = (bytes: Uint8Array) => '0x' + Buffer.from(bytes).toString('hex');
|
|
96
|
+
|
|
97
|
+
// Helper to convert Uint8Array to bigint (big-endian)
|
|
98
|
+
const toBigInt = (bytes: Uint8Array) => {
|
|
99
|
+
let result = 0n;
|
|
100
|
+
for (const byte of bytes) {
|
|
101
|
+
result = (result << 8n) | BigInt(byte);
|
|
102
|
+
}
|
|
103
|
+
return result;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// Helper to serialize point coordinate (handles both Uint8Array and array of Uint8Array for field2)
|
|
107
|
+
const serializeCoordinate = (coord: Uint8Array | Uint8Array[]) => {
|
|
108
|
+
if (Array.isArray(coord)) {
|
|
109
|
+
// For field2 (like BN254 G2), we have array of two Uint8Arrays
|
|
110
|
+
return `[${coord.map(c => `new Uint8Array([${Array.from(c).join(', ')}])`).join(', ')}]`;
|
|
111
|
+
} else {
|
|
112
|
+
// For regular fields, single Uint8Array
|
|
113
|
+
return `new Uint8Array([${Array.from(coord).join(', ')}])`;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
// Generate TypeScript file
|
|
118
|
+
const content = `/**
|
|
119
|
+
* Curve constants generated from barretenberg native binary.
|
|
120
|
+
* DO NOT EDIT - This file is auto-generated by generate.ts
|
|
121
|
+
*/
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* BN254 curve constants
|
|
125
|
+
*/
|
|
126
|
+
export const BN254_FR_MODULUS = ${toBigInt(constants.bn254_fr_modulus)}n;
|
|
127
|
+
export const BN254_FQ_MODULUS = ${toBigInt(constants.bn254_fq_modulus)}n;
|
|
128
|
+
|
|
129
|
+
export const BN254_G1_GENERATOR = {
|
|
130
|
+
x: ${serializeCoordinate(constants.bn254_g1_generator.x)},
|
|
131
|
+
y: ${serializeCoordinate(constants.bn254_g1_generator.y)},
|
|
132
|
+
} as const;
|
|
133
|
+
|
|
134
|
+
export const BN254_G2_GENERATOR = {
|
|
135
|
+
x: ${serializeCoordinate(constants.bn254_g2_generator.x)},
|
|
136
|
+
y: ${serializeCoordinate(constants.bn254_g2_generator.y)},
|
|
137
|
+
} as const;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Grumpkin curve constants
|
|
141
|
+
*/
|
|
142
|
+
export const GRUMPKIN_FR_MODULUS = ${toBigInt(constants.grumpkin_fr_modulus)}n;
|
|
143
|
+
export const GRUMPKIN_FQ_MODULUS = ${toBigInt(constants.grumpkin_fq_modulus)}n;
|
|
144
|
+
|
|
145
|
+
export const GRUMPKIN_G1_GENERATOR = {
|
|
146
|
+
x: ${serializeCoordinate(constants.grumpkin_g1_generator.x)},
|
|
147
|
+
y: ${serializeCoordinate(constants.grumpkin_g1_generator.y)},
|
|
148
|
+
} as const;
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Secp256k1 curve constants
|
|
152
|
+
*/
|
|
153
|
+
export const SECP256K1_FR_MODULUS = ${toBigInt(constants.secp256k1_fr_modulus)}n;
|
|
154
|
+
export const SECP256K1_FQ_MODULUS = ${toBigInt(constants.secp256k1_fq_modulus)}n;
|
|
155
|
+
|
|
156
|
+
export const SECP256K1_G1_GENERATOR = {
|
|
157
|
+
x: ${serializeCoordinate(constants.secp256k1_g1_generator.x)},
|
|
158
|
+
y: ${serializeCoordinate(constants.secp256k1_g1_generator.y)},
|
|
159
|
+
} as const;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Secp256r1 curve constants
|
|
163
|
+
*/
|
|
164
|
+
export const SECP256R1_FR_MODULUS = ${toBigInt(constants.secp256r1_fr_modulus)}n;
|
|
165
|
+
export const SECP256R1_FQ_MODULUS = ${toBigInt(constants.secp256r1_fq_modulus)}n;
|
|
166
|
+
|
|
167
|
+
export const SECP256R1_G1_GENERATOR = {
|
|
168
|
+
x: ${serializeCoordinate(constants.secp256r1_g1_generator.x)},
|
|
169
|
+
y: ${serializeCoordinate(constants.secp256r1_g1_generator.y)},
|
|
170
|
+
} as const;
|
|
171
|
+
`;
|
|
172
|
+
|
|
173
|
+
const outputPath = join(outputDir, 'curve_constants.ts');
|
|
174
|
+
writeFileSync(outputPath, content);
|
|
175
|
+
console.log(`✓ Curve constants: ${outputPath}`);
|
|
176
|
+
}
|
|
177
|
+
|
|
79
178
|
// Run the generator
|
|
80
179
|
generate().catch(error => {
|
|
81
180
|
console.error('Generation failed:', error);
|
|
@@ -84,9 +84,16 @@ export class SchemaCompiler {
|
|
|
84
84
|
const commands = commandsSchema[1] as Array<[string, Schema]>;
|
|
85
85
|
const responses = responsesSchema[1] as Array<[string, Schema]>;
|
|
86
86
|
|
|
87
|
+
// Filter out ErrorResponse - it's a special error variant, not a command response
|
|
88
|
+
const normalResponses = responses.filter(([name]) => name !== 'ErrorResponse');
|
|
89
|
+
|
|
90
|
+
if (commands.length !== normalResponses.length) {
|
|
91
|
+
throw new Error(`Command count (${commands.length}) does not match response count (${normalResponses.length})`);
|
|
92
|
+
}
|
|
93
|
+
|
|
87
94
|
for (let i = 0; i < commands.length; i++) {
|
|
88
95
|
const [commandName] = commands[i];
|
|
89
|
-
const [responseName] =
|
|
96
|
+
const [responseName] = normalResponses[i];
|
|
90
97
|
|
|
91
98
|
this.functionMetadata.push({
|
|
92
99
|
name: camelCase(commandName),
|
|
@@ -399,6 +406,13 @@ export class SchemaCompiler {
|
|
|
399
406
|
return { typeName: 'string' };
|
|
400
407
|
case 'bin32':
|
|
401
408
|
return { typeName: 'Uint8Array' };
|
|
409
|
+
case 'field2':
|
|
410
|
+
// field2 is an extension field type (fq2) represented as a tuple of two Uint8Arrays
|
|
411
|
+
return {
|
|
412
|
+
typeName: 'Field2',
|
|
413
|
+
msgpackTypeName: '[Uint8Array, Uint8Array]',
|
|
414
|
+
declaration: 'export type Field2 = [Uint8Array, Uint8Array];',
|
|
415
|
+
};
|
|
402
416
|
default:
|
|
403
417
|
return { typeName: pascalCase(schema) };
|
|
404
418
|
}
|
|
@@ -674,8 +688,11 @@ ${destroyMethod}
|
|
|
674
688
|
return ` ${name}(command: ${commandType}): Promise<${responseType}> {
|
|
675
689
|
const msgpackCommand = from${commandType}(command);
|
|
676
690
|
return msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]).then(([variantName, result]: [string, any]) => {
|
|
691
|
+
if (variantName === 'ErrorResponse') {
|
|
692
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
693
|
+
}
|
|
677
694
|
if (variantName !== '${responseType}') {
|
|
678
|
-
throw new
|
|
695
|
+
throw new BBApiException(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
|
|
679
696
|
}
|
|
680
697
|
return to${responseType}(result);
|
|
681
698
|
});
|
|
@@ -686,8 +703,11 @@ ${destroyMethod}
|
|
|
686
703
|
return ` ${name}(command: ${commandType}): ${responseType} {
|
|
687
704
|
const msgpackCommand = from${commandType}(command);
|
|
688
705
|
const [variantName, result] = msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]);
|
|
706
|
+
if (variantName === 'ErrorResponse') {
|
|
707
|
+
throw new BBApiException(result.message || 'Unknown error from barretenberg');
|
|
708
|
+
}
|
|
689
709
|
if (variantName !== '${responseType}') {
|
|
690
|
-
throw new
|
|
710
|
+
throw new BBApiException(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
|
|
691
711
|
}
|
|
692
712
|
return to${responseType}(result);
|
|
693
713
|
}`;
|
|
@@ -708,6 +728,7 @@ export function createSyncApiCompiler(): SchemaCompiler {
|
|
|
708
728
|
imports: [
|
|
709
729
|
`import { IMsgpackBackendSync } from '../../bb_backends/interface.js';`,
|
|
710
730
|
`import { Decoder, Encoder } from 'msgpackr';`,
|
|
731
|
+
`import { BBApiException } from '../../bbapi_exception.js';`,
|
|
711
732
|
],
|
|
712
733
|
});
|
|
713
734
|
}
|
|
@@ -718,6 +739,7 @@ export function createAsyncApiCompiler(): SchemaCompiler {
|
|
|
718
739
|
imports: [
|
|
719
740
|
`import { IMsgpackBackendAsync } from '../../bb_backends/interface.js';`,
|
|
720
741
|
`import { Decoder, Encoder } from 'msgpackr';`,
|
|
742
|
+
`import { BBApiException } from '../../bbapi_exception.js';`,
|
|
721
743
|
],
|
|
722
744
|
});
|
|
723
745
|
}
|
package/src/index.ts
CHANGED
|
@@ -10,5 +10,32 @@ export {
|
|
|
10
10
|
} from './barretenberg/index.js';
|
|
11
11
|
|
|
12
12
|
export { randomBytes } from './random/index.js';
|
|
13
|
-
export { Fr } from './types/index.js';
|
|
14
13
|
export { splitHonkProof, reconstructHonkProof, deflattenFields, type ProofData } from './proof/index.js';
|
|
14
|
+
export { BBApiException } from './bbapi_exception.js';
|
|
15
|
+
|
|
16
|
+
// Export Point types for use in foundation and other packages
|
|
17
|
+
export type {
|
|
18
|
+
Bn254G1Point,
|
|
19
|
+
Bn254G2Point,
|
|
20
|
+
GrumpkinPoint,
|
|
21
|
+
Secp256k1Point,
|
|
22
|
+
Secp256r1Point,
|
|
23
|
+
Field2,
|
|
24
|
+
} from './cbind/generated/api_types.js';
|
|
25
|
+
|
|
26
|
+
// Export curve constants for use in foundation
|
|
27
|
+
export {
|
|
28
|
+
BN254_FQ_MODULUS,
|
|
29
|
+
BN254_FR_MODULUS,
|
|
30
|
+
BN254_G1_GENERATOR,
|
|
31
|
+
BN254_G2_GENERATOR,
|
|
32
|
+
GRUMPKIN_FR_MODULUS,
|
|
33
|
+
GRUMPKIN_FQ_MODULUS,
|
|
34
|
+
GRUMPKIN_G1_GENERATOR,
|
|
35
|
+
SECP256K1_FR_MODULUS,
|
|
36
|
+
SECP256K1_FQ_MODULUS,
|
|
37
|
+
SECP256K1_G1_GENERATOR,
|
|
38
|
+
SECP256R1_FR_MODULUS,
|
|
39
|
+
SECP256R1_FQ_MODULUS,
|
|
40
|
+
SECP256R1_G1_GENERATOR,
|
|
41
|
+
} from './cbind/generated/curve_constants.js';
|
package/src/serialize/index.ts
CHANGED
package/src/types/fields.ts
CHANGED
|
@@ -5,13 +5,12 @@ import {
|
|
|
5
5
|
bigIntToBufferBE,
|
|
6
6
|
bigIntToUint8ArrayBE,
|
|
7
7
|
} from '../bigint-array/index.js';
|
|
8
|
-
import { BufferReader } from '../serialize/index.js';
|
|
9
8
|
|
|
10
|
-
// TODO(#4189): Replace with implementation in yarn-project/foundation/src/fields/fields.ts
|
|
11
9
|
/**
|
|
12
|
-
* Fr field class.
|
|
13
|
-
* @dev This
|
|
14
|
-
*
|
|
10
|
+
* Internal Fr field class for tests.
|
|
11
|
+
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
12
|
+
* Projects using bb.js should create their own field abstraction using the curve constants
|
|
13
|
+
* exported from the barretenberg binary (see CurveConstants generation).
|
|
15
14
|
*/
|
|
16
15
|
export class Fr {
|
|
17
16
|
static ZERO = new Fr(0n);
|
|
@@ -42,14 +41,18 @@ export class Fr {
|
|
|
42
41
|
return new this(r);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
static fromBuffer(buffer: Uint8Array | Buffer
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
static fromBuffer(buffer: Uint8Array | Buffer) {
|
|
45
|
+
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
46
|
+
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
47
|
+
}
|
|
48
|
+
return new this(buffer);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
static fromBufferReduce(buffer: Uint8Array |
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
static fromBufferReduce(buffer: Uint8Array | Buffer) {
|
|
52
|
+
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
53
|
+
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
54
|
+
}
|
|
55
|
+
return new this(uint8ArrayToBigIntBE(buffer instanceof Buffer ? new Uint8Array(buffer) : buffer) % Fr.MODULUS);
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
static fromString(str: string) {
|
|
@@ -72,55 +75,3 @@ export class Fr {
|
|
|
72
75
|
return this.value.every(v => v === 0);
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Fq field class.
|
|
78
|
-
* @dev This class is used to represent elements of BN254 base field or elements in the scalar field of Grumpkin.
|
|
79
|
-
* (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
|
|
80
|
-
*/
|
|
81
|
-
export class Fq {
|
|
82
|
-
static MODULUS = 0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47n;
|
|
83
|
-
static MAX_VALUE = this.MODULUS - 1n;
|
|
84
|
-
static SIZE_IN_BYTES = 32;
|
|
85
|
-
|
|
86
|
-
constructor(public readonly value: bigint) {
|
|
87
|
-
if (value > Fq.MAX_VALUE) {
|
|
88
|
-
throw new Error(`Fq out of range ${value}.`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
static random() {
|
|
93
|
-
const r = uint8ArrayToBigIntBE(randomBytes(64)) % Fq.MODULUS;
|
|
94
|
-
return new this(r);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
static fromBuffer(buffer: Uint8Array | Buffer | BufferReader) {
|
|
98
|
-
const reader = BufferReader.asReader(buffer);
|
|
99
|
-
return new this(uint8ArrayToBigIntBE(reader.readBytes(this.SIZE_IN_BYTES)));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
static fromBufferReduce(buffer: Uint8Array | Buffer | BufferReader) {
|
|
103
|
-
const reader = BufferReader.asReader(buffer);
|
|
104
|
-
return new this(uint8ArrayToBigIntBE(reader.readBytes(this.SIZE_IN_BYTES)) % Fr.MODULUS);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
static fromString(str: string) {
|
|
108
|
-
return this.fromBuffer(Buffer.from(str.replace(/^0x/i, ''), 'hex'));
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
toBuffer() {
|
|
112
|
-
return bigIntToBufferBE(this.value, Fq.SIZE_IN_BYTES);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
toString() {
|
|
116
|
-
return '0x' + this.value.toString(16);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
equals(rhs: Fq) {
|
|
120
|
-
return this.value === rhs.value;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
isZero() {
|
|
124
|
-
return this.value === 0n;
|
|
125
|
-
}
|
|
126
|
-
}
|
package/src/types/point.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { Fr } from './
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { Fr } from './fields.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Internal Point class for tests.
|
|
5
|
+
* @dev This minimal implementation is provided for testing barretenberg directly.
|
|
6
|
+
* Projects using bb.js should create their own point abstraction using the curve point
|
|
7
|
+
* types and operations exported from the barretenberg API.
|
|
8
|
+
*/
|
|
4
9
|
export class Point {
|
|
5
10
|
static SIZE_IN_BYTES = 64;
|
|
6
11
|
static EMPTY = new Point(Fr.ZERO, Fr.ZERO);
|
|
@@ -10,28 +15,17 @@ export class Point {
|
|
|
10
15
|
public readonly y: Fr,
|
|
11
16
|
) {}
|
|
12
17
|
|
|
13
|
-
static
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
static fromBuffer(buffer: Uint8Array | BufferReader) {
|
|
19
|
-
const reader = BufferReader.asReader(buffer);
|
|
20
|
-
return new this(Fr.fromBuffer(reader), Fr.fromBuffer(reader));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
static fromString(address: string) {
|
|
24
|
-
return Point.fromBuffer(Buffer.from(address.replace(/^0x/i, ''), 'hex'));
|
|
18
|
+
static fromBuffer(buffer: Uint8Array) {
|
|
19
|
+
if (buffer.length !== this.SIZE_IN_BYTES) {
|
|
20
|
+
throw new Error(`Expected ${this.SIZE_IN_BYTES} bytes, got ${buffer.length}`);
|
|
21
|
+
}
|
|
22
|
+
return new this(Fr.fromBuffer(buffer.subarray(0, 32)), Fr.fromBuffer(buffer.subarray(32, 64)));
|
|
25
23
|
}
|
|
26
24
|
|
|
27
25
|
toBuffer() {
|
|
28
26
|
return Buffer.concat([this.x.toBuffer(), this.y.toBuffer()]);
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
toString() {
|
|
32
|
-
return '0x' + this.toBuffer().toString('hex');
|
|
33
|
-
}
|
|
34
|
-
|
|
35
29
|
equals(rhs: Point) {
|
|
36
30
|
return this.x.equals(rhs.x) && this.y.equals(rhs.y);
|
|
37
31
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Much the same as Array.map, only it takes an async fn as an element handler, and ensures that each element handler
|
|
3
|
-
* is executed sequentially.
|
|
4
|
-
* The pattern of `await Promise.all(arr.map(async e => { ... }))` only works if one's happy with each element handler
|
|
5
|
-
* being run concurrently.
|
|
6
|
-
* If one required sequential execution of async fn's, the only alternative was regular loops with mutable state vars.
|
|
7
|
-
* The equivalent with asyncMap: `await asyncMap(arr, async e => { ... })`.
|
|
8
|
-
*/
|
|
9
|
-
export declare function asyncMap<T, U>(arr: T[], fn: (e: T, i: number) => Promise<U>): Promise<U[]>;
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/async_map/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAMhG"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Much the same as Array.map, only it takes an async fn as an element handler, and ensures that each element handler
|
|
3
|
-
* is executed sequentially.
|
|
4
|
-
* The pattern of `await Promise.all(arr.map(async e => { ... }))` only works if one's happy with each element handler
|
|
5
|
-
* being run concurrently.
|
|
6
|
-
* If one required sequential execution of async fn's, the only alternative was regular loops with mutable state vars.
|
|
7
|
-
* The equivalent with asyncMap: `await asyncMap(arr, async e => { ... })`.
|
|
8
|
-
*/
|
|
9
|
-
export async function asyncMap(arr, fn) {
|
|
10
|
-
const results = [];
|
|
11
|
-
for (let i = 0; i < arr.length; ++i) {
|
|
12
|
-
results.push(await fn(arr[i], i));
|
|
13
|
-
}
|
|
14
|
-
return results;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXN5bmNfbWFwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFFBQVEsQ0FBTyxHQUFRLEVBQUUsRUFBbUM7SUFDaEYsTUFBTSxPQUFPLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyJ9
|