@aztec/foundation 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2
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/dest/abi/abi.js +157 -93
- package/dest/abi/buffer.js +9 -9
- package/dest/abi/decoder.js +89 -86
- package/dest/abi/encoder.js +91 -87
- package/dest/abi/event_selector.js +25 -33
- package/dest/abi/function_selector.js +28 -33
- package/dest/abi/index.js +0 -1
- package/dest/abi/note_selector.js +15 -21
- package/dest/abi/selector.js +22 -29
- package/dest/abi/u128.js +11 -5
- package/dest/abi/utils.js +9 -20
- package/dest/array/array.js +19 -26
- package/dest/array/index.js +0 -1
- package/dest/async-map/index.js +2 -4
- package/dest/async-pool/index.js +6 -9
- package/dest/aztec-address/index.js +14 -19
- package/dest/bigint-buffer/index.js +6 -13
- package/dest/buffer/buffer32.js +53 -66
- package/dest/buffer/index.js +0 -1
- package/dest/collection/array.js +47 -59
- package/dest/collection/index.js +0 -1
- package/dest/collection/object.js +9 -9
- package/dest/committable/committable.js +15 -20
- package/dest/committable/index.js +0 -1
- package/dest/config/env_var.js +1 -2
- package/dest/config/index.js +31 -36
- package/dest/crypto/index.js +0 -1
- package/dest/crypto/keccak/index.js +60 -69
- package/dest/crypto/keys/index.js +1 -2
- package/dest/crypto/pedersen/index.js +0 -1
- package/dest/crypto/pedersen/pedersen.elliptic.js +153 -146
- package/dest/crypto/pedersen/pedersen.noble.js +140 -142
- package/dest/crypto/pedersen/pedersen.wasm.js +14 -13
- package/dest/crypto/poseidon/index.js +10 -14
- package/dest/crypto/random/index.js +7 -12
- package/dest/crypto/random/randomness_singleton.js +12 -12
- package/dest/crypto/secp256k1-signer/index.js +0 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.js +8 -9
- package/dest/crypto/secp256k1-signer/utils.js +11 -16
- package/dest/crypto/sha256/index.js +80 -30
- package/dest/crypto/sha512/index.js +2 -4
- package/dest/crypto/sync/index.js +0 -1
- package/dest/crypto/sync/pedersen/index.js +14 -13
- package/dest/crypto/sync/poseidon/index.js +10 -14
- package/dest/decorators/index.js +0 -1
- package/dest/decorators/memoize.js +1 -2
- package/dest/error/index.js +6 -19
- package/dest/eth-address/index.js +92 -113
- package/dest/eth-signature/eth_signature.js +21 -27
- package/dest/eth-signature/index.js +0 -1
- package/dest/fields/coordinate.js +47 -46
- package/dest/fields/fields.js +112 -127
- package/dest/fields/index.js +0 -1
- package/dest/fields/point.js +119 -129
- package/dest/fs/index.js +0 -1
- package/dest/fs/run_in_dir.js +6 -6
- package/dest/index.js +0 -2
- package/dest/iterable/all.js +3 -4
- package/dest/iterable/filter.js +10 -11
- package/dest/iterable/index.js +0 -1
- package/dest/iterable/isAsyncIt.js +1 -3
- package/dest/iterable/map.js +10 -11
- package/dest/iterable/peek.js +14 -14
- package/dest/iterable/sort.js +4 -5
- package/dest/iterable/take.js +6 -7
- package/dest/iterable/toArray.js +1 -2
- package/dest/jest/setup.js +7 -0
- package/dest/json-rpc/client/fetch.js +21 -19
- package/dest/json-rpc/client/index.js +0 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +16 -8
- package/dest/json-rpc/convert.js +10 -20
- package/dest/json-rpc/fixtures/class_a.js +8 -5
- package/dest/json-rpc/fixtures/class_b.js +8 -5
- package/dest/json-rpc/fixtures/test_state.js +53 -40
- package/dest/json-rpc/index.js +0 -1
- package/dest/json-rpc/js_utils.js +2 -5
- package/dest/json-rpc/server/index.js +0 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +145 -101
- package/dest/json-rpc/server/telemetry.js +0 -2
- package/dest/json-rpc/test/index.js +0 -1
- package/dest/json-rpc/test/integration.js +8 -3
- package/dest/log/console.js +14 -16
- package/dest/log/debug.js +9 -18
- package/dest/log/gcloud-logger-config.js +17 -15
- package/dest/log/index.js +0 -1
- package/dest/log/log-filters.js +13 -11
- package/dest/log/log-levels.js +10 -2
- package/dest/log/log_fn.js +1 -2
- package/dest/log/log_history.js +21 -25
- package/dest/log/pino-logger.js +82 -64
- package/dest/message/index.js +7 -3
- package/dest/mutex/index.js +34 -32
- package/dest/mutex/mutex_database.js +4 -2
- package/dest/noir/index.js +0 -1
- package/dest/noir/noir_package_config.js +13 -8
- package/dest/promise/index.js +0 -1
- package/dest/promise/running-promise.js +28 -28
- package/dest/promise/utils.js +3 -5
- package/dest/queue/base_memory_queue.js +51 -59
- package/dest/queue/bounded_serial_queue.js +41 -51
- package/dest/queue/fifo_memory_queue.js +4 -8
- package/dest/queue/index.js +0 -1
- package/dest/queue/priority_memory_queue.js +3 -4
- package/dest/queue/priority_queue.js +5 -5
- package/dest/queue/semaphore.js +15 -19
- package/dest/queue/serial_queue.js +37 -47
- package/dest/retry/index.js +21 -18
- package/dest/running-promise/index.js +0 -1
- package/dest/schemas/api.js +2 -7
- package/dest/schemas/index.js +0 -1
- package/dest/schemas/parse.js +4 -8
- package/dest/schemas/schemas.js +33 -48
- package/dest/schemas/types.js +1 -2
- package/dest/schemas/utils.js +18 -31
- package/dest/serialize/buffer_reader.js +164 -188
- package/dest/serialize/field_reader.js +70 -79
- package/dest/serialize/free_funcs.js +40 -37
- package/dest/serialize/index.js +0 -1
- package/dest/serialize/serialize.js +72 -83
- package/dest/serialize/type_registry.js +10 -14
- package/dest/serialize/types.js +4 -5
- package/dest/sleep/index.js +25 -29
- package/dest/string/index.js +0 -1
- package/dest/testing/files/index.js +5 -8
- package/dest/testing/index.js +0 -1
- package/dest/testing/port_allocator.js +7 -10
- package/dest/testing/snapshot_serializer.js +14 -9
- package/dest/testing/test_data.js +7 -8
- package/dest/timer/date.js +9 -7
- package/dest/timer/elapsed.js +10 -7
- package/dest/timer/index.js +0 -1
- package/dest/timer/timeout.js +34 -34
- package/dest/timer/timer.js +17 -21
- package/dest/transport/browser/index.js +0 -1
- package/dest/transport/browser/message_port_socket.js +26 -30
- package/dest/transport/browser/shared_worker_connector.js +8 -10
- package/dest/transport/browser/shared_worker_listener.js +13 -17
- package/dest/transport/browser/worker_connector.js +12 -12
- package/dest/transport/browser/worker_listener.js +13 -17
- package/dest/transport/dispatch/create_dispatch_fn.js +2 -4
- package/dest/transport/dispatch/create_dispatch_proxy.js +16 -13
- package/dest/transport/dispatch/messages.js +4 -3
- package/dest/transport/index.js +0 -1
- package/dest/transport/interface/connector.js +3 -2
- package/dest/transport/interface/listener.js +4 -2
- package/dest/transport/interface/socket.js +7 -2
- package/dest/transport/interface/transferable.js +7 -9
- package/dest/transport/node/index.js +0 -1
- package/dest/transport/node/node_connector.js +9 -11
- package/dest/transport/node/node_connector_socket.js +21 -25
- package/dest/transport/node/node_listener.js +11 -15
- package/dest/transport/node/node_listener_socket.js +23 -27
- package/dest/transport/transport_client.js +47 -46
- package/dest/transport/transport_server.js +68 -55
- package/dest/trees/index.js +0 -1
- package/dest/trees/unbalanced_merkle_tree.js +26 -16
- package/dest/trees/unbalanced_tree_store.js +43 -29
- package/dest/types/index.js +1 -3
- package/dest/url/index.js +4 -8
- package/dest/validation/index.js +2 -5
- package/dest/wasm/empty_wasi_sdk.js +142 -160
- package/dest/wasm/index.js +0 -1
- package/dest/wasm/wasm_module.js +80 -90
- package/dest/worker/browser/index.js +0 -1
- package/dest/worker/browser/start_web_module.js +9 -5
- package/dest/worker/browser/web_data_store.js +12 -15
- package/dest/worker/browser/web_worker.js +6 -5
- package/dest/worker/data_store.js +3 -2
- package/dest/worker/index.js +0 -1
- package/dest/worker/node/index.js +0 -1
- package/dest/worker/node/node_data_store.js +4 -5
- package/dest/worker/node/node_worker.js +6 -5
- package/dest/worker/node/start_node_module.js +9 -5
- package/dest/worker/wasm_worker.js +3 -2
- package/dest/worker/worker_pool.js +32 -43
- package/package.json +3 -4
- package/src/fields/fields.ts +2 -2
- package/src/index.ts +0 -1
- package/src/queue/serial_queue.ts +1 -1
- package/src/testing/files/index.ts +2 -1
- package/src/wasm/index.ts +1 -1
- package/src/worker/index.ts +1 -1
- package/dest/abi/abi.d.ts +0 -853
- package/dest/abi/abi.d.ts.map +0 -1
- package/dest/abi/buffer.d.ts +0 -18
- package/dest/abi/buffer.d.ts.map +0 -1
- package/dest/abi/decoder.d.ts +0 -58
- package/dest/abi/decoder.d.ts.map +0 -1
- package/dest/abi/encoder.d.ts +0 -16
- package/dest/abi/encoder.d.ts.map +0 -1
- package/dest/abi/event_selector.d.ts +0 -52
- package/dest/abi/event_selector.d.ts.map +0 -1
- package/dest/abi/function_selector.d.ts +0 -65
- package/dest/abi/function_selector.d.ts.map +0 -1
- package/dest/abi/index.d.ts +0 -10
- package/dest/abi/index.d.ts.map +0 -1
- package/dest/abi/note_selector.d.ts +0 -42
- package/dest/abi/note_selector.d.ts.map +0 -1
- package/dest/abi/selector.d.ts +0 -42
- package/dest/abi/selector.d.ts.map +0 -1
- package/dest/abi/u128.d.ts +0 -13
- package/dest/abi/u128.d.ts.map +0 -1
- package/dest/abi/utils.d.ts +0 -44
- package/dest/abi/utils.d.ts.map +0 -1
- package/dest/array/array.d.ts +0 -71
- package/dest/array/array.d.ts.map +0 -1
- package/dest/array/index.d.ts +0 -2
- package/dest/array/index.d.ts.map +0 -1
- package/dest/async-map/index.d.ts +0 -13
- package/dest/async-map/index.d.ts.map +0 -1
- package/dest/async-pool/index.d.ts +0 -3
- package/dest/async-pool/index.d.ts.map +0 -1
- package/dest/aztec-address/index.d.ts +0 -57
- package/dest/aztec-address/index.d.ts.map +0 -1
- package/dest/bigint-buffer/index.d.ts +0 -42
- package/dest/bigint-buffer/index.d.ts.map +0 -1
- package/dest/blob/blob.d.ts +0 -154
- package/dest/blob/blob.d.ts.map +0 -1
- package/dest/blob/blob.js +0 -264
- package/dest/blob/encoding.d.ts +0 -53
- package/dest/blob/encoding.d.ts.map +0 -1
- package/dest/blob/encoding.js +0 -87
- package/dest/blob/errors.d.ts +0 -4
- package/dest/blob/errors.d.ts.map +0 -1
- package/dest/blob/errors.js +0 -7
- package/dest/blob/index.d.ts +0 -6
- package/dest/blob/index.d.ts.map +0 -1
- package/dest/blob/index.js +0 -22
- package/dest/blob/interface.d.ts +0 -10
- package/dest/blob/interface.d.ts.map +0 -1
- package/dest/blob/interface.js +0 -2
- package/dest/blob/mocks.d.ts +0 -20
- package/dest/blob/mocks.d.ts.map +0 -1
- package/dest/blob/mocks.js +0 -42
- package/dest/buffer/buffer32.d.ts +0 -91
- package/dest/buffer/buffer32.d.ts.map +0 -1
- package/dest/buffer/index.d.ts +0 -2
- package/dest/buffer/index.d.ts.map +0 -1
- package/dest/collection/array.d.ts +0 -101
- package/dest/collection/array.d.ts.map +0 -1
- package/dest/collection/index.d.ts +0 -3
- package/dest/collection/index.d.ts.map +0 -1
- package/dest/collection/object.d.ts +0 -14
- package/dest/collection/object.d.ts.map +0 -1
- package/dest/committable/committable.d.ts +0 -28
- package/dest/committable/committable.d.ts.map +0 -1
- package/dest/committable/index.d.ts +0 -2
- package/dest/committable/index.d.ts.map +0 -1
- package/dest/config/env_var.d.ts +0 -2
- package/dest/config/env_var.d.ts.map +0 -1
- package/dest/config/index.d.ts +0 -66
- package/dest/config/index.d.ts.map +0 -1
- package/dest/crypto/index.d.ts +0 -9
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/keccak/index.d.ts +0 -28
- package/dest/crypto/keccak/index.d.ts.map +0 -1
- package/dest/crypto/keys/index.d.ts +0 -5
- package/dest/crypto/keys/index.d.ts.map +0 -1
- package/dest/crypto/pedersen/index.d.ts +0 -2
- package/dest/crypto/pedersen/index.d.ts.map +0 -1
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
- package/dest/crypto/pedersen/pedersen.noble.d.ts +0 -11
- package/dest/crypto/pedersen/pedersen.noble.d.ts.map +0 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +0 -21
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +0 -1
- package/dest/crypto/poseidon/index.d.ts +0 -26
- package/dest/crypto/poseidon/index.d.ts.map +0 -1
- package/dest/crypto/random/index.d.ts +0 -25
- package/dest/crypto/random/index.d.ts.map +0 -1
- package/dest/crypto/random/randomness_singleton.d.ts +0 -25
- package/dest/crypto/random/randomness_singleton.d.ts.map +0 -1
- package/dest/crypto/secp256k1-signer/index.d.ts +0 -3
- package/dest/crypto/secp256k1-signer/index.d.ts.map +0 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +0 -24
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +0 -1
- package/dest/crypto/secp256k1-signer/utils.d.ts +0 -40
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +0 -1
- package/dest/crypto/sha256/index.d.ts +0 -20
- package/dest/crypto/sha256/index.d.ts.map +0 -1
- package/dest/crypto/sha512/index.d.ts +0 -11
- package/dest/crypto/sha512/index.d.ts.map +0 -1
- package/dest/crypto/sync/index.d.ts +0 -3
- package/dest/crypto/sync/index.d.ts.map +0 -1
- package/dest/crypto/sync/pedersen/index.d.ts +0 -21
- package/dest/crypto/sync/pedersen/index.d.ts.map +0 -1
- package/dest/crypto/sync/poseidon/index.d.ts +0 -26
- package/dest/crypto/sync/poseidon/index.d.ts.map +0 -1
- package/dest/decorators/index.d.ts +0 -2
- package/dest/decorators/index.d.ts.map +0 -1
- package/dest/decorators/memoize.d.ts +0 -2
- package/dest/decorators/memoize.d.ts.map +0 -1
- package/dest/error/index.d.ts +0 -21
- package/dest/error/index.d.ts.map +0 -1
- package/dest/eth-address/index.d.ts +0 -134
- package/dest/eth-address/index.d.ts.map +0 -1
- package/dest/eth-signature/eth_signature.d.ts +0 -62
- package/dest/eth-signature/eth_signature.d.ts.map +0 -1
- package/dest/eth-signature/index.d.ts +0 -2
- package/dest/eth-signature/index.d.ts.map +0 -1
- package/dest/fields/coordinate.d.ts +0 -68
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/fields.d.ts +0 -176
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/index.d.ts +0 -4
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/point.d.ts +0 -175
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/fs/index.d.ts +0 -2
- package/dest/fs/index.d.ts.map +0 -1
- package/dest/fs/run_in_dir.d.ts +0 -2
- package/dest/fs/run_in_dir.d.ts.map +0 -1
- package/dest/index.d.ts +0 -34
- package/dest/index.d.ts.map +0 -1
- package/dest/iterable/all.d.ts +0 -9
- package/dest/iterable/all.d.ts.map +0 -1
- package/dest/iterable/filter.d.ts +0 -10
- package/dest/iterable/filter.d.ts.map +0 -1
- package/dest/iterable/index.d.ts +0 -8
- package/dest/iterable/index.d.ts.map +0 -1
- package/dest/iterable/isAsyncIt.d.ts +0 -7
- package/dest/iterable/isAsyncIt.d.ts.map +0 -1
- package/dest/iterable/map.d.ts +0 -12
- package/dest/iterable/map.d.ts.map +0 -1
- package/dest/iterable/peek.d.ts +0 -19
- package/dest/iterable/peek.d.ts.map +0 -1
- package/dest/iterable/sort.d.ts +0 -14
- package/dest/iterable/sort.d.ts.map +0 -1
- package/dest/iterable/take.d.ts +0 -10
- package/dest/iterable/take.d.ts.map +0 -1
- package/dest/iterable/toArray.d.ts +0 -2
- package/dest/iterable/toArray.d.ts.map +0 -1
- package/dest/json-rpc/client/fetch.d.ts +0 -21
- package/dest/json-rpc/client/fetch.d.ts.map +0 -1
- package/dest/json-rpc/client/index.d.ts +0 -3
- package/dest/json-rpc/client/index.d.ts.map +0 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +0 -13
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +0 -1
- package/dest/json-rpc/convert.d.ts +0 -20
- package/dest/json-rpc/convert.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/class_a.d.ts +0 -11
- package/dest/json-rpc/fixtures/class_a.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +0 -11
- package/dest/json-rpc/fixtures/class_b.d.ts.map +0 -1
- package/dest/json-rpc/fixtures/test_state.d.ts +0 -89
- package/dest/json-rpc/fixtures/test_state.d.ts.map +0 -1
- package/dest/json-rpc/index.d.ts +0 -2
- package/dest/json-rpc/index.d.ts.map +0 -1
- package/dest/json-rpc/js_utils.d.ts +0 -13
- package/dest/json-rpc/js_utils.d.ts.map +0 -1
- package/dest/json-rpc/server/index.d.ts +0 -2
- package/dest/json-rpc/server/index.d.ts.map +0 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +0 -140
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +0 -1
- package/dest/json-rpc/server/telemetry.d.ts +0 -2
- package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
- package/dest/json-rpc/test/index.d.ts +0 -2
- package/dest/json-rpc/test/index.d.ts.map +0 -1
- package/dest/json-rpc/test/integration.d.ts +0 -13
- package/dest/json-rpc/test/integration.d.ts.map +0 -1
- package/dest/log/console.d.ts +0 -11
- package/dest/log/console.d.ts.map +0 -1
- package/dest/log/debug.d.ts +0 -56
- package/dest/log/debug.d.ts.map +0 -1
- package/dest/log/gcloud-logger-config.d.ts +0 -14
- package/dest/log/gcloud-logger-config.d.ts.map +0 -1
- package/dest/log/index.d.ts +0 -6
- package/dest/log/index.d.ts.map +0 -1
- package/dest/log/log-filters.d.ts +0 -7
- package/dest/log/log-filters.d.ts.map +0 -1
- package/dest/log/log-levels.d.ts +0 -3
- package/dest/log/log-levels.d.ts.map +0 -1
- package/dest/log/log_fn.d.ts +0 -7
- package/dest/log/log_fn.d.ts.map +0 -1
- package/dest/log/log_history.d.ts +0 -31
- package/dest/log/log_history.d.ts.map +0 -1
- package/dest/log/pino-logger.d.ts +0 -53
- package/dest/log/pino-logger.d.ts.map +0 -1
- package/dest/message/index.d.ts +0 -32
- package/dest/message/index.d.ts.map +0 -1
- package/dest/mutex/index.d.ts +0 -53
- package/dest/mutex/index.d.ts.map +0 -1
- package/dest/mutex/mutex_database.d.ts +0 -10
- package/dest/mutex/mutex_database.d.ts.map +0 -1
- package/dest/noir/index.d.ts +0 -2
- package/dest/noir/index.d.ts.map +0 -1
- package/dest/noir/noir_package_config.d.ts +0 -129
- package/dest/noir/noir_package_config.d.ts.map +0 -1
- package/dest/promise/index.d.ts +0 -3
- package/dest/promise/index.d.ts.map +0 -1
- package/dest/promise/running-promise.d.ts +0 -41
- package/dest/promise/running-promise.d.ts.map +0 -1
- package/dest/promise/utils.d.ts +0 -12
- package/dest/promise/utils.d.ts.map +0 -1
- package/dest/queue/base_memory_queue.d.ts +0 -65
- package/dest/queue/base_memory_queue.d.ts.map +0 -1
- package/dest/queue/bounded_serial_queue.d.ts +0 -56
- package/dest/queue/bounded_serial_queue.d.ts.map +0 -1
- package/dest/queue/fifo_memory_queue.d.ts +0 -21
- package/dest/queue/fifo_memory_queue.d.ts.map +0 -1
- package/dest/queue/index.d.ts +0 -6
- package/dest/queue/index.d.ts.map +0 -1
- package/dest/queue/priority_memory_queue.d.ts +0 -13
- package/dest/queue/priority_memory_queue.d.ts.map +0 -1
- package/dest/queue/priority_queue.d.ts +0 -14
- package/dest/queue/priority_queue.d.ts.map +0 -1
- package/dest/queue/semaphore.d.ts +0 -23
- package/dest/queue/semaphore.d.ts.map +0 -1
- package/dest/queue/serial_queue.d.ts +0 -49
- package/dest/queue/serial_queue.d.ts.map +0 -1
- package/dest/retry/index.d.ts +0 -44
- package/dest/retry/index.d.ts.map +0 -1
- package/dest/running-promise/index.d.ts +0 -2
- package/dest/running-promise/index.d.ts.map +0 -1
- package/dest/schemas/api.d.ts +0 -21
- package/dest/schemas/api.d.ts.map +0 -1
- package/dest/schemas/index.d.ts +0 -6
- package/dest/schemas/index.d.ts.map +0 -1
- package/dest/schemas/parse.d.ts +0 -9
- package/dest/schemas/parse.d.ts.map +0 -1
- package/dest/schemas/schemas.d.ts +0 -60
- package/dest/schemas/schemas.d.ts.map +0 -1
- package/dest/schemas/types.d.ts +0 -3
- package/dest/schemas/types.d.ts.map +0 -1
- package/dest/schemas/utils.d.ts +0 -53
- package/dest/schemas/utils.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.d.ts +0 -239
- package/dest/serialize/buffer_reader.d.ts.map +0 -1
- package/dest/serialize/field_reader.d.ts +0 -112
- package/dest/serialize/field_reader.d.ts.map +0 -1
- package/dest/serialize/free_funcs.d.ts +0 -105
- package/dest/serialize/free_funcs.d.ts.map +0 -1
- package/dest/serialize/index.d.ts +0 -7
- package/dest/serialize/index.d.ts.map +0 -1
- package/dest/serialize/serialize.d.ts +0 -182
- package/dest/serialize/serialize.d.ts.map +0 -1
- package/dest/serialize/type_registry.d.ts +0 -23
- package/dest/serialize/type_registry.d.ts.map +0 -1
- package/dest/serialize/types.d.ts +0 -33
- package/dest/serialize/types.d.ts.map +0 -1
- package/dest/sleep/index.d.ts +0 -51
- package/dest/sleep/index.d.ts.map +0 -1
- package/dest/string/index.d.ts +0 -11
- package/dest/string/index.d.ts.map +0 -1
- package/dest/testing/files/index.d.ts +0 -19
- package/dest/testing/files/index.d.ts.map +0 -1
- package/dest/testing/index.d.ts +0 -4
- package/dest/testing/index.d.ts.map +0 -1
- package/dest/testing/port_allocator.d.ts +0 -10
- package/dest/testing/port_allocator.d.ts.map +0 -1
- package/dest/testing/snapshot_serializer.d.ts +0 -5
- package/dest/testing/snapshot_serializer.d.ts.map +0 -1
- package/dest/testing/test_data.d.ts +0 -7
- package/dest/testing/test_data.d.ts.map +0 -1
- package/dest/timer/date.d.ts +0 -13
- package/dest/timer/date.d.ts.map +0 -1
- package/dest/timer/elapsed.d.ts +0 -13
- package/dest/timer/elapsed.d.ts.map +0 -1
- package/dest/timer/index.d.ts +0 -5
- package/dest/timer/index.d.ts.map +0 -1
- package/dest/timer/timeout.d.ts +0 -41
- package/dest/timer/timeout.d.ts.map +0 -1
- package/dest/timer/timer.d.ts +0 -37
- package/dest/timer/timer.d.ts.map +0 -1
- package/dest/transport/browser/index.d.ts +0 -5
- package/dest/transport/browser/index.d.ts.map +0 -1
- package/dest/transport/browser/message_port_socket.d.ts +0 -37
- package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
- package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
- package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/worker_connector.d.ts +0 -26
- package/dest/transport/browser/worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/worker_listener.d.ts +0 -39
- package/dest/transport/browser/worker_listener.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +0 -102
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +0 -1
- package/dest/transport/dispatch/messages.d.ts +0 -52
- package/dest/transport/dispatch/messages.d.ts.map +0 -1
- package/dest/transport/index.d.ts +0 -12
- package/dest/transport/index.d.ts.map +0 -1
- package/dest/transport/interface/connector.d.ts +0 -8
- package/dest/transport/interface/connector.d.ts.map +0 -1
- package/dest/transport/interface/listener.d.ts +0 -13
- package/dest/transport/interface/listener.d.ts.map +0 -1
- package/dest/transport/interface/socket.d.ts +0 -13
- package/dest/transport/interface/socket.d.ts.map +0 -1
- package/dest/transport/interface/transferable.d.ts +0 -68
- package/dest/transport/interface/transferable.d.ts.map +0 -1
- package/dest/transport/node/index.d.ts +0 -3
- package/dest/transport/node/index.d.ts.map +0 -1
- package/dest/transport/node/node_connector.d.ts +0 -28
- package/dest/transport/node/node_connector.d.ts.map +0 -1
- package/dest/transport/node/node_connector_socket.d.ts +0 -42
- package/dest/transport/node/node_connector_socket.d.ts.map +0 -1
- package/dest/transport/node/node_listener.d.ts +0 -26
- package/dest/transport/node/node_listener.d.ts.map +0 -1
- package/dest/transport/node/node_listener_socket.d.ts +0 -37
- package/dest/transport/node/node_listener_socket.d.ts.map +0 -1
- package/dest/transport/transport_client.d.ts +0 -61
- package/dest/transport/transport_client.d.ts.map +0 -1
- package/dest/transport/transport_server.d.ts +0 -56
- package/dest/transport/transport_server.d.ts.map +0 -1
- package/dest/trees/index.d.ts +0 -59
- package/dest/trees/index.d.ts.map +0 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
- package/dest/trees/unbalanced_tree_store.d.ts +0 -19
- package/dest/trees/unbalanced_tree_store.d.ts.map +0 -1
- package/dest/types/index.d.ts +0 -19
- package/dest/types/index.d.ts.map +0 -1
- package/dest/url/index.d.ts +0 -9
- package/dest/url/index.d.ts.map +0 -1
- package/dest/validation/index.d.ts +0 -9
- package/dest/validation/index.d.ts.map +0 -1
- package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
- package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
- package/dest/wasm/index.d.ts +0 -2
- package/dest/wasm/index.d.ts.map +0 -1
- package/dest/wasm/wasm_module.d.ts +0 -136
- package/dest/wasm/wasm_module.d.ts.map +0 -1
- package/dest/worker/browser/index.d.ts +0 -3
- package/dest/worker/browser/index.d.ts.map +0 -1
- package/dest/worker/browser/start_web_module.d.ts +0 -7
- package/dest/worker/browser/start_web_module.d.ts.map +0 -1
- package/dest/worker/browser/web_data_store.d.ts +0 -24
- package/dest/worker/browser/web_data_store.d.ts.map +0 -1
- package/dest/worker/browser/web_worker.d.ts +0 -10
- package/dest/worker/browser/web_worker.d.ts.map +0 -1
- package/dest/worker/data_store.d.ts +0 -21
- package/dest/worker/data_store.d.ts.map +0 -1
- package/dest/worker/index.d.ts +0 -3
- package/dest/worker/index.d.ts.map +0 -1
- package/dest/worker/node/index.d.ts +0 -3
- package/dest/worker/node/index.d.ts.map +0 -1
- package/dest/worker/node/node_data_store.d.ts +0 -13
- package/dest/worker/node/node_data_store.d.ts.map +0 -1
- package/dest/worker/node/node_worker.d.ts +0 -6
- package/dest/worker/node/node_worker.d.ts.map +0 -1
- package/dest/worker/node/start_node_module.d.ts +0 -7
- package/dest/worker/node/start_node_module.d.ts.map +0 -1
- package/dest/worker/wasm_worker.d.ts +0 -9
- package/dest/worker/wasm_worker.d.ts.map +0 -1
- package/dest/worker/worker_pool.d.ts +0 -40
- package/dest/worker/worker_pool.d.ts.map +0 -1
- package/src/blob/blob.ts +0 -311
- package/src/blob/encoding.ts +0 -98
- package/src/blob/errors.ts +0 -6
- package/src/blob/index.ts +0 -22
- package/src/blob/interface.ts +0 -11
- package/src/blob/mocks.ts +0 -48
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import { Buffer } from 'buffer';
|
|
4
|
-
import { type LogFn } from '../log/index.js';
|
|
5
|
-
/**
|
|
6
|
-
* The base shape of a WASM module providing low level memory and synchronous call access.
|
|
7
|
-
* Note that the Aztec codebase used to support asyncify but has fully moved away,
|
|
8
|
-
* using web workers if needed.
|
|
9
|
-
*/
|
|
10
|
-
export interface IWasmModule {
|
|
11
|
-
/**
|
|
12
|
-
* Low level call function, returns result as number.
|
|
13
|
-
* @param name - The function name.
|
|
14
|
-
* @param args - The function args.
|
|
15
|
-
* @returns The value as an integer (could be pointer).
|
|
16
|
-
*/
|
|
17
|
-
call(name: string, ...args: any): number;
|
|
18
|
-
/**
|
|
19
|
-
* Get a slice of memory between two addresses.
|
|
20
|
-
* @param start - The start address.
|
|
21
|
-
* @param end - The end address.
|
|
22
|
-
* @returns A Uint8Array view of memory.
|
|
23
|
-
*/
|
|
24
|
-
getMemorySlice(start: number, end: number): Uint8Array;
|
|
25
|
-
/**
|
|
26
|
-
* Write data into the heap.
|
|
27
|
-
* @param offset - The address to write data at.
|
|
28
|
-
* @param arr - The data to write.
|
|
29
|
-
*/
|
|
30
|
-
writeMemory(offset: number, arr: Uint8Array): void;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* WasmModule:
|
|
34
|
-
* Helper over a webassembly module.
|
|
35
|
-
* Assumes a few quirks.
|
|
36
|
-
* 1) the module expects wasi_snapshot_preview1 with the methods from getEmptyWasiSdk
|
|
37
|
-
* 2) of which the webassembly
|
|
38
|
-
* we instantiate only uses random_get (update this if more WASI sdk methods are needed).
|
|
39
|
-
*/
|
|
40
|
-
export declare class WasmModule implements IWasmModule {
|
|
41
|
-
private module;
|
|
42
|
-
private importFn;
|
|
43
|
-
private memory;
|
|
44
|
-
private heap;
|
|
45
|
-
private instance?;
|
|
46
|
-
private mutexQ;
|
|
47
|
-
private debug;
|
|
48
|
-
/**
|
|
49
|
-
* Create a wasm module. Should be followed by await init();.
|
|
50
|
-
* @param module - The module as a WebAssembly.Module or a Buffer.
|
|
51
|
-
* @param importFn - Imports expected by the WASM.
|
|
52
|
-
* @param loggerName - Optional, for debug logging.
|
|
53
|
-
*/
|
|
54
|
-
constructor(module: WebAssembly.Module | Buffer, importFn: (module: WasmModule) => any, loggerName?: string);
|
|
55
|
-
/**
|
|
56
|
-
* Return the wasm source.
|
|
57
|
-
* @returns The source.
|
|
58
|
-
*/
|
|
59
|
-
getModule(): WebAssembly.Module | Buffer;
|
|
60
|
-
/**
|
|
61
|
-
* Initialize this wasm module.
|
|
62
|
-
* @param wasmImportEnv - Linked to a module called "env". Functions implementations referenced from e.g. C++.
|
|
63
|
-
* @param initial - 30 pages by default. 30*2**16 \> 1mb stack size plus other overheads.
|
|
64
|
-
* @param initMethod - Defaults to calling '_initialize'.
|
|
65
|
-
* @param maximum - 8192 maximum by default. 512mb.
|
|
66
|
-
*/
|
|
67
|
-
init(initial?: number, maximum?: number, initMethod?: string | null): Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* The methods or objects exported by the WASM module.
|
|
70
|
-
* @returns An indexable object.
|
|
71
|
-
*/
|
|
72
|
-
exports(): any;
|
|
73
|
-
/**
|
|
74
|
-
* Get the current logger.
|
|
75
|
-
* @returns Logging function.
|
|
76
|
-
*/
|
|
77
|
-
getLogger(): LogFn;
|
|
78
|
-
/**
|
|
79
|
-
* Add a logger.
|
|
80
|
-
* @param logger - Function to call when logging.
|
|
81
|
-
*/
|
|
82
|
-
addLogger(logger: LogFn): void;
|
|
83
|
-
/**
|
|
84
|
-
* Calls into the WebAssembly.
|
|
85
|
-
* @param name - The method name.
|
|
86
|
-
* @param args - The arguments to the method.
|
|
87
|
-
* @returns The numeric method result.
|
|
88
|
-
*/
|
|
89
|
-
call(name: string, ...args: any): number;
|
|
90
|
-
/**
|
|
91
|
-
* Get the memory used by the WASM module.
|
|
92
|
-
* @returns A WebAssembly memory object.
|
|
93
|
-
*/
|
|
94
|
-
getRawMemory(): WebAssembly.Memory;
|
|
95
|
-
/**
|
|
96
|
-
* Get the memory used by the WASM module, as a byte array.
|
|
97
|
-
* @returns A Uint8Array view of the WASM module memory.
|
|
98
|
-
*/
|
|
99
|
-
getMemory(): Uint8Array;
|
|
100
|
-
/**
|
|
101
|
-
* The memory size in bytes.
|
|
102
|
-
* @returns Number of bytes.
|
|
103
|
-
*/
|
|
104
|
-
memSize(): number;
|
|
105
|
-
/**
|
|
106
|
-
* Get a slice of memory between two addresses.
|
|
107
|
-
* @param start - The start address.
|
|
108
|
-
* @param end - The end address.
|
|
109
|
-
* @returns A Uint8Array view of memory.
|
|
110
|
-
*/
|
|
111
|
-
getMemorySlice(start: number, end: number): Uint8Array;
|
|
112
|
-
/**
|
|
113
|
-
* Write data into the heap.
|
|
114
|
-
* @param offset - The address to write data at.
|
|
115
|
-
* @param arr - The data to write.
|
|
116
|
-
*/
|
|
117
|
-
writeMemory(offset: number, arr: Uint8Array): void;
|
|
118
|
-
/**
|
|
119
|
-
* Read WASM memory as a JS string.
|
|
120
|
-
* @param addr - The memory address.
|
|
121
|
-
* @returns A JS string.
|
|
122
|
-
*/
|
|
123
|
-
getMemoryAsString(addr: number): string;
|
|
124
|
-
/**
|
|
125
|
-
* When calling the wasm, sometimes a caller will require exclusive access over a series of calls.
|
|
126
|
-
* E.g. When a result is written to address 0, one cannot have another caller writing to the same address via
|
|
127
|
-
* writeMemory before the result is read via sliceMemory.
|
|
128
|
-
* Acquire() gets a single token from a fifo. The caller must call release() to add the token back.
|
|
129
|
-
*/
|
|
130
|
-
acquire(): Promise<void>;
|
|
131
|
-
/**
|
|
132
|
-
* Release the mutex, letting another promise call acquire().
|
|
133
|
-
*/
|
|
134
|
-
release(): void;
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=wasm_module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm_module.d.ts","sourceRoot":"","sources":["../../src/wasm/wasm_module.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,KAAK,KAAK,EAAyB,MAAM,iBAAiB,CAAC;AAIpE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAEzC;;;;;OAKG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEvD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACpD;AAED;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,WAAW;IAc1C,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAdlB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAuB;IACxC,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,KAAK,CAAQ;IAErB;;;;;OAKG;gBAEO,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,EACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,EAC7C,UAAU,SAAS;IAMrB;;;OAGG;IACI,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM;IAG/C;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,SAAK,EAAE,OAAO,SAAO,EAAE,UAAU,GAAE,MAAM,GAAG,IAAoB;IA6CzF;;;OAGG;IACI,OAAO,IAAI,GAAG;IAOrB;;;OAGG;IACI,SAAS;IAIhB;;;OAGG;IACI,SAAS,CAAC,MAAM,EAAE,KAAK;IAQ9B;;;;;OAKG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM;IAa/C;;;OAGG;IACI,YAAY,IAAI,WAAW,CAAC,MAAM;IAGzC;;;OAGG;IACI,SAAS,IAAI,UAAU;IAQ9B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;;;OAKG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAI7D;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAUrC;;;;;OAKG;IACU,OAAO;IAIpB;;OAEG;IACI,OAAO;CAMf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type WasmModule } from '../../wasm/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Start the transport server corresponding to this module.
|
|
4
|
-
* @param module - The WasmModule to host.
|
|
5
|
-
*/
|
|
6
|
-
export declare function startWebModule(module: WasmModule): void;
|
|
7
|
-
//# sourceMappingURL=start_web_module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start_web_module.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/start_web_module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,QAgBhD"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import { type DataStore } from '../data_store.js';
|
|
4
|
-
/**
|
|
5
|
-
* Cache for data used by wasm module.
|
|
6
|
-
* Stores in a LevelUp database.
|
|
7
|
-
*/
|
|
8
|
-
export declare class WebDataStore implements DataStore {
|
|
9
|
-
private db;
|
|
10
|
-
constructor();
|
|
11
|
-
/**
|
|
12
|
-
* Lookup a key.
|
|
13
|
-
* @param key - Key to lookup.
|
|
14
|
-
* @returns The buffer.
|
|
15
|
-
*/
|
|
16
|
-
get(key: string): Promise<Buffer | undefined>;
|
|
17
|
-
/**
|
|
18
|
-
* Alter a key.
|
|
19
|
-
* @param key - Key to alter.
|
|
20
|
-
* @param value - Buffer to store.
|
|
21
|
-
*/
|
|
22
|
-
set(key: string, value: Buffer): Promise<void>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=web_data_store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web_data_store.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/web_data_store.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;GAGG;AACH,qBAAa,YAAa,YAAW,SAAS;IAC5C,OAAO,CAAC,EAAE,CAAU;;IAUpB;;;;OAIG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAInD;;;;OAIG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type WasmWorker } from '../wasm_worker.js';
|
|
2
|
-
/**
|
|
3
|
-
* Instantiate a web worker.
|
|
4
|
-
* @param url - The URL.
|
|
5
|
-
* @param initialMem - Initial memory pages.
|
|
6
|
-
* @param maxMem - Maximum memory pages.
|
|
7
|
-
* @returns The worker.
|
|
8
|
-
*/
|
|
9
|
-
export declare function createWebWorker(url: string, initialMem?: number, maxMem?: number): Promise<WasmWorker>;
|
|
10
|
-
//# sourceMappingURL=web_worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"web_worker.d.ts","sourceRoot":"","sources":["../../../src/worker/browser/web_worker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAa5G"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
/**
|
|
4
|
-
* Simple read/write interface for wasm modules.
|
|
5
|
-
*/
|
|
6
|
-
export interface DataStore {
|
|
7
|
-
/**
|
|
8
|
-
* Get a value from our DB.
|
|
9
|
-
* @param key - The key to look up.
|
|
10
|
-
* @returns The value.
|
|
11
|
-
*/
|
|
12
|
-
get(key: string): Promise<Buffer | undefined>;
|
|
13
|
-
/**
|
|
14
|
-
* Set a value in our DB.
|
|
15
|
-
* @param key - The key to update.
|
|
16
|
-
* @param value - The value to set.
|
|
17
|
-
* @returns Nothing.
|
|
18
|
-
*/
|
|
19
|
-
set(key: string, value: Buffer): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=data_store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data_store.d.ts","sourceRoot":"","sources":["../../src/worker/data_store.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
|
package/dest/worker/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/worker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/worker/node/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
-
import { type DataStore } from '../data_store.js';
|
|
4
|
-
/**
|
|
5
|
-
* Cache for data used by wasm module.
|
|
6
|
-
*/
|
|
7
|
-
export declare class NodeDataStore implements DataStore {
|
|
8
|
-
private db;
|
|
9
|
-
constructor(path?: string);
|
|
10
|
-
get(key: string): Promise<Buffer | undefined>;
|
|
11
|
-
set(key: string, value: Buffer): Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=node_data_store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node_data_store.d.ts","sourceRoot":"","sources":["../../../src/worker/node/node_data_store.ts"],"names":[],"mappings":";;AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,OAAO,CAAC,EAAE,CAAU;gBAGR,IAAI,CAAC,EAAE,MAAM;IAMnB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node_worker.d.ts","sourceRoot":"","sources":["../../../src/worker/node/node_worker.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAalH"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type WasmModule } from '../../wasm/wasm_module.js';
|
|
2
|
-
/**
|
|
3
|
-
* Start the transport server corresponding to this module.
|
|
4
|
-
* @param module - The WasmModule to host.
|
|
5
|
-
*/
|
|
6
|
-
export declare function startNodeModule(module: WasmModule): void;
|
|
7
|
-
//# sourceMappingURL=start_node_module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"start_node_module.d.ts","sourceRoot":"","sources":["../../../src/worker/node/start_node_module.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAM5D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,QAgBjD"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type Proxify } from '../transport/index.js';
|
|
2
|
-
import { type WasmModule } from '../wasm/wasm_module.js';
|
|
3
|
-
/**
|
|
4
|
-
* Represents either a WASM web worker, or node.js worker.
|
|
5
|
-
*/
|
|
6
|
-
export type WasmWorker = Proxify<WasmModule> & {
|
|
7
|
-
destroyWorker(): void;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=wasm_worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wasm_worker.d.ts","sourceRoot":"","sources":["../../src/worker/wasm_worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG;IAAE,aAAa,IAAI,IAAI,CAAA;CAAE,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { type WasmWorker } from './wasm_worker.js';
|
|
2
|
-
/**
|
|
3
|
-
* Type of a worker factory.
|
|
4
|
-
* Used to customize WorkerPool worker construction.
|
|
5
|
-
*/
|
|
6
|
-
export type CreateWorker = (name: string, minMem: number, maxMem: number) => WasmWorker;
|
|
7
|
-
/**
|
|
8
|
-
* Allocates a pool of WasmWorker's.
|
|
9
|
-
* Worker 0 is allocated MAX_PAGES memory pages. This is because worker 0 will need to hold the proving key
|
|
10
|
-
* (i.e. Has state), whereas the others are pure compute (they hold a little crs state).
|
|
11
|
-
*/
|
|
12
|
-
export declare class WorkerPool {
|
|
13
|
-
/**
|
|
14
|
-
* The maximum number of memory pages to be used by the webassembly.
|
|
15
|
-
*/
|
|
16
|
-
static MAX_PAGES: number;
|
|
17
|
-
/**
|
|
18
|
-
* The workers in the pool.
|
|
19
|
-
*/
|
|
20
|
-
private workers;
|
|
21
|
-
/**
|
|
22
|
-
* Create an instance and initialize the workers.
|
|
23
|
-
* @param createWorker - Worker factory.
|
|
24
|
-
* @param poolSize - Pool size.
|
|
25
|
-
* @returns An initialized WorkerPool.
|
|
26
|
-
*/
|
|
27
|
-
static new(createWorker: CreateWorker, poolSize: number): Promise<WorkerPool>;
|
|
28
|
-
/**
|
|
29
|
-
* Initialize the workers.
|
|
30
|
-
* @param createWorker - Worker factory().
|
|
31
|
-
* @param poolSize - Pool size.
|
|
32
|
-
* @param maxMem - Max memory pages.
|
|
33
|
-
*/
|
|
34
|
-
init(createWorker: CreateWorker, poolSize: number, maxMem?: number): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Tell all workers in the pool to stop processing.
|
|
37
|
-
*/
|
|
38
|
-
destroy(): Promise<void>;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=worker_pool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker_pool.d.ts","sourceRoot":"","sources":["../../src/worker/worker_pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;AACxF;;;;GAIG;AACH,qBAAa,UAAU;IAYrB;;OAEG;IACH,OAAc,SAAS,SAAQ;IAC/B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAoB;IAEnC;;;;;OAKG;WACU,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM;IAM7D;;;;;OAKG;IACU,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAuB;IAY7F;;OAEG;IACU,OAAO;CAGrB"}
|
package/src/blob/blob.ts
DELETED
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
// Importing directly from 'c-kzg' does not work, ignoring import/no-named-as-default-member err:
|
|
2
|
-
import cKzg from 'c-kzg';
|
|
3
|
-
import type { Blob as BlobBuffer } from 'c-kzg';
|
|
4
|
-
|
|
5
|
-
import { poseidon2Hash, sha256 } from '../crypto/index.js';
|
|
6
|
-
import { Fr } from '../fields/index.js';
|
|
7
|
-
import { BufferReader, serializeToBuffer } from '../serialize/index.js';
|
|
8
|
-
import { deserializeEncodedBlobToFields, extractBlobFieldsFromBuffer } from './encoding.js';
|
|
9
|
-
import { BlobDeserializationError } from './errors.js';
|
|
10
|
-
import { type BlobJson } from './interface.js';
|
|
11
|
-
|
|
12
|
-
/* eslint-disable import/no-named-as-default-member */
|
|
13
|
-
const { BYTES_PER_BLOB, FIELD_ELEMENTS_PER_BLOB, blobToKzgCommitment, computeKzgProof, verifyKzgProof } = cKzg;
|
|
14
|
-
|
|
15
|
-
// The prefix to the EVM blobHash, defined here: https://eips.ethereum.org/EIPS/eip-4844#specification
|
|
16
|
-
export const VERSIONED_HASH_VERSION_KZG = 0x01;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* A class to create, manage, and prove EVM blobs.
|
|
20
|
-
*/
|
|
21
|
-
export class Blob {
|
|
22
|
-
constructor(
|
|
23
|
-
/** The blob to be broadcast on L1 in bytes form. */
|
|
24
|
-
public readonly data: BlobBuffer,
|
|
25
|
-
/** The hash of all tx effects inside the blob. Used in generating the challenge z and proving that we have included all required effects. */
|
|
26
|
-
public readonly fieldsHash: Fr,
|
|
27
|
-
/** Challenge point z (= H(H(tx_effects), kzgCommmitment). Used such that p(z) = y. */
|
|
28
|
-
public readonly challengeZ: Fr,
|
|
29
|
-
/** Evaluation y = p(z), where p() is the blob polynomial. BLS12 field element, rep. as BigNum in nr, bigint in ts. */
|
|
30
|
-
public readonly evaluationY: Buffer,
|
|
31
|
-
/** Commitment to the blob C. Used in compressed BLS12 point format (48 bytes). */
|
|
32
|
-
public readonly commitment: Buffer,
|
|
33
|
-
/** KZG opening proof for y = p(z). The commitment to quotient polynomial Q, used in compressed BLS12 point format (48 bytes). */
|
|
34
|
-
public readonly proof: Buffer,
|
|
35
|
-
) {}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* The encoded version of the blob will determine the end of the blob based on the transaction encoding.
|
|
39
|
-
* This is required when the fieldsHash of a blob will contain trailing zeros.
|
|
40
|
-
*
|
|
41
|
-
* See `./encoding.ts` for more details.
|
|
42
|
-
*
|
|
43
|
-
* This method is used to create a Blob from a buffer.
|
|
44
|
-
* @param blob - The buffer to create the Blob from.
|
|
45
|
-
* @param multiBlobFieldsHash - The fields hash to use for the Blob.
|
|
46
|
-
* @returns A Blob created from the buffer.
|
|
47
|
-
*
|
|
48
|
-
* @throws If unable to deserialize the blob.
|
|
49
|
-
*/
|
|
50
|
-
static fromEncodedBlobBuffer(blob: BlobBuffer, multiBlobFieldsHash?: Fr): Promise<Blob> {
|
|
51
|
-
try {
|
|
52
|
-
const fields: Fr[] = deserializeEncodedBlobToFields(blob);
|
|
53
|
-
return Blob.fromFields(fields, multiBlobFieldsHash);
|
|
54
|
-
} catch (err) {
|
|
55
|
-
throw new BlobDeserializationError(
|
|
56
|
-
`Failed to create Blob from encoded blob buffer, this blob was likely not created by us`,
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Create a Blob from an array of fields.
|
|
63
|
-
*
|
|
64
|
-
* @param fields - The array of fields to create the Blob from.
|
|
65
|
-
* @param multiBlobFieldsHash - The fields hash to use for the Blob.
|
|
66
|
-
* @returns A Blob created from the array of fields.
|
|
67
|
-
*/
|
|
68
|
-
static async fromFields(fields: Fr[], multiBlobFieldsHash?: Fr): Promise<Blob> {
|
|
69
|
-
if (fields.length > FIELD_ELEMENTS_PER_BLOB) {
|
|
70
|
-
throw new Error(
|
|
71
|
-
`Attempted to overfill blob with ${fields.length} elements. The maximum is ${FIELD_ELEMENTS_PER_BLOB}`,
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const data = Buffer.concat([serializeToBuffer(fields)], BYTES_PER_BLOB);
|
|
76
|
-
|
|
77
|
-
// This matches the output of SpongeBlob.squeeze() in the blob circuit
|
|
78
|
-
const fieldsHash = multiBlobFieldsHash ? multiBlobFieldsHash : await poseidon2Hash(fields);
|
|
79
|
-
const commitment = Buffer.from(blobToKzgCommitment(data));
|
|
80
|
-
const challengeZ = await poseidon2Hash([fieldsHash, ...commitmentToFields(commitment)]);
|
|
81
|
-
const res = computeKzgProof(data, challengeZ.toBuffer());
|
|
82
|
-
if (!verifyKzgProof(commitment, challengeZ.toBuffer(), res[1], res[0])) {
|
|
83
|
-
throw new Error(`KZG proof did not verify.`);
|
|
84
|
-
}
|
|
85
|
-
const proof = Buffer.from(res[0]);
|
|
86
|
-
const evaluationY = Buffer.from(res[1]);
|
|
87
|
-
|
|
88
|
-
return new Blob(data, fieldsHash, challengeZ, evaluationY, commitment, proof);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Create a Blob from a JSON object.
|
|
93
|
-
*
|
|
94
|
-
* Blobs will be in this form when requested from the blob sink, or from
|
|
95
|
-
* the beacon chain via `getBlobSidecars`
|
|
96
|
-
* https://ethereum.github.io/beacon-APIs/?urls.primaryName=dev#/Beacon/getBlobSidecars
|
|
97
|
-
*
|
|
98
|
-
* @dev WARNING: by default json deals with encoded buffers
|
|
99
|
-
*
|
|
100
|
-
* @param json - The JSON object to create the Blob from.
|
|
101
|
-
* @returns A Blob created from the JSON object.
|
|
102
|
-
*/
|
|
103
|
-
static async fromJson(json: BlobJson): Promise<Blob> {
|
|
104
|
-
const blobBuffer = Buffer.from(json.blob.slice(2), 'hex');
|
|
105
|
-
|
|
106
|
-
const blob = await Blob.fromEncodedBlobBuffer(blobBuffer);
|
|
107
|
-
|
|
108
|
-
if (blob.commitment.toString('hex') !== json.kzg_commitment.slice(2)) {
|
|
109
|
-
throw new Error('KZG commitment does not match');
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// We do not check the proof, as it will be different if the challenge is shared
|
|
113
|
-
// across multiple blobs
|
|
114
|
-
|
|
115
|
-
return blob;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Get the JSON representation of the blob.
|
|
120
|
-
*
|
|
121
|
-
* @dev WARNING: by default json deals with encoded buffers
|
|
122
|
-
* @param index - optional - The index of the blob in the block.
|
|
123
|
-
* @returns The JSON representation of the blob.
|
|
124
|
-
*/
|
|
125
|
-
toJson(index?: number): BlobJson {
|
|
126
|
-
return {
|
|
127
|
-
blob: `0x${Buffer.from(this.data).toString('hex')}`,
|
|
128
|
-
index,
|
|
129
|
-
// eslint-disable-next-line camelcase
|
|
130
|
-
kzg_commitment: `0x${this.commitment.toString('hex')}`,
|
|
131
|
-
// eslint-disable-next-line camelcase
|
|
132
|
-
kzg_proof: `0x${this.proof.toString('hex')}`,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Get the fields from the blob.
|
|
138
|
-
*
|
|
139
|
-
* @dev WARNING: this method does not take into account trailing zeros
|
|
140
|
-
*
|
|
141
|
-
* @returns The fields from the blob.
|
|
142
|
-
*/
|
|
143
|
-
toFields(): Fr[] {
|
|
144
|
-
return extractBlobFieldsFromBuffer(this.data);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Get the encoded fields from the blob.
|
|
149
|
-
*
|
|
150
|
-
* @dev This method takes into account trailing zeros
|
|
151
|
-
*
|
|
152
|
-
* @returns The encoded fields from the blob.
|
|
153
|
-
*
|
|
154
|
-
* @throws If unable to deserialize the blob.
|
|
155
|
-
*/
|
|
156
|
-
toEncodedFields(): Fr[] {
|
|
157
|
-
try {
|
|
158
|
-
return deserializeEncodedBlobToFields(this.data);
|
|
159
|
-
} catch (err) {
|
|
160
|
-
throw new BlobDeserializationError(
|
|
161
|
-
`Failed to deserialize encoded blob fields, this blob was likely not created by us`,
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Get the commitment fields from the blob.
|
|
168
|
-
*
|
|
169
|
-
* The 48-byte commitment is encoded into two field elements:
|
|
170
|
-
* +------------------+------------------+
|
|
171
|
-
* | Field Element 1 | Field Element 2 |
|
|
172
|
-
* | [bytes 0-31] | [bytes 32-47] |
|
|
173
|
-
* +------------------+------------------+
|
|
174
|
-
* | 32 bytes | 16 bytes |
|
|
175
|
-
* +------------------+------------------+
|
|
176
|
-
* @returns The commitment fields from the blob.
|
|
177
|
-
*/
|
|
178
|
-
commitmentToFields(): [Fr, Fr] {
|
|
179
|
-
return commitmentToFields(this.commitment);
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
// Returns ethereum's versioned blob hash, following kzg_to_versioned_hash: https://eips.ethereum.org/EIPS/eip-4844#helpers
|
|
183
|
-
getEthVersionedBlobHash(): Buffer {
|
|
184
|
-
const hash = sha256(this.commitment);
|
|
185
|
-
hash[0] = VERSIONED_HASH_VERSION_KZG;
|
|
186
|
-
return hash;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
static getEthVersionedBlobHash(commitment: Buffer): Buffer {
|
|
190
|
-
const hash = sha256(commitment);
|
|
191
|
-
hash[0] = VERSIONED_HASH_VERSION_KZG;
|
|
192
|
-
return hash;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* Get the buffer representation of the ENTIRE blob.
|
|
197
|
-
*
|
|
198
|
-
* @dev WARNING: this buffer contains all metadata aswell as the data itself
|
|
199
|
-
*
|
|
200
|
-
* @returns The buffer representation of the blob.
|
|
201
|
-
*/
|
|
202
|
-
toBuffer(): Buffer {
|
|
203
|
-
return Buffer.from(
|
|
204
|
-
serializeToBuffer(
|
|
205
|
-
this.data.length,
|
|
206
|
-
this.data,
|
|
207
|
-
this.fieldsHash,
|
|
208
|
-
this.challengeZ,
|
|
209
|
-
this.evaluationY.length,
|
|
210
|
-
this.evaluationY,
|
|
211
|
-
this.commitment.length,
|
|
212
|
-
this.commitment,
|
|
213
|
-
this.proof.length,
|
|
214
|
-
this.proof,
|
|
215
|
-
),
|
|
216
|
-
);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Create a Blob from a buffer.
|
|
221
|
-
*
|
|
222
|
-
* @dev WARNING: this method contains all metadata aswell as the data itself
|
|
223
|
-
*
|
|
224
|
-
* @param buf - The buffer to create the Blob from.
|
|
225
|
-
* @returns A Blob created from the buffer.
|
|
226
|
-
*/
|
|
227
|
-
static fromBuffer(buf: Buffer | BufferReader): Blob {
|
|
228
|
-
const reader = BufferReader.asReader(buf);
|
|
229
|
-
return new Blob(
|
|
230
|
-
reader.readUint8Array(),
|
|
231
|
-
reader.readObject(Fr),
|
|
232
|
-
reader.readObject(Fr),
|
|
233
|
-
reader.readBuffer(),
|
|
234
|
-
reader.readBuffer(),
|
|
235
|
-
reader.readBuffer(),
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
/**
|
|
240
|
-
* Get the size of the blob in bytes
|
|
241
|
-
*/
|
|
242
|
-
getSize() {
|
|
243
|
-
return this.data.length;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* Returns a proof of opening of the blob to verify on L1 using the point evaluation precompile:
|
|
248
|
-
*
|
|
249
|
-
* input[:32] - versioned_hash
|
|
250
|
-
* input[32:64] - z
|
|
251
|
-
* input[64:96] - y
|
|
252
|
-
* input[96:144] - commitment C
|
|
253
|
-
* input[144:192] - proof (a commitment to the quotient polynomial q(X))
|
|
254
|
-
*
|
|
255
|
-
* See https://eips.ethereum.org/EIPS/eip-4844#point-evaluation-precompile
|
|
256
|
-
*/
|
|
257
|
-
getEthBlobEvaluationInputs(): `0x${string}` {
|
|
258
|
-
const buf = Buffer.concat([
|
|
259
|
-
this.getEthVersionedBlobHash(),
|
|
260
|
-
this.challengeZ.toBuffer(),
|
|
261
|
-
this.evaluationY,
|
|
262
|
-
this.commitment,
|
|
263
|
-
this.proof,
|
|
264
|
-
]);
|
|
265
|
-
return `0x${buf.toString('hex')}`;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
static getEthBlobEvaluationInputs(blobs: Blob[]): `0x${string}` {
|
|
269
|
-
let buf = Buffer.alloc(0);
|
|
270
|
-
blobs.forEach(blob => {
|
|
271
|
-
buf = Buffer.concat([
|
|
272
|
-
buf,
|
|
273
|
-
blob.getEthVersionedBlobHash(),
|
|
274
|
-
blob.challengeZ.toBuffer(),
|
|
275
|
-
blob.evaluationY,
|
|
276
|
-
blob.commitment,
|
|
277
|
-
blob.proof,
|
|
278
|
-
]);
|
|
279
|
-
});
|
|
280
|
-
// For multiple blobs, we prefix the number of blobs:
|
|
281
|
-
const lenBuf = Buffer.alloc(1);
|
|
282
|
-
lenBuf.writeUint8(blobs.length);
|
|
283
|
-
buf = Buffer.concat([lenBuf, buf]);
|
|
284
|
-
return `0x${buf.toString('hex')}`;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
static getViemKzgInstance() {
|
|
288
|
-
return {
|
|
289
|
-
blobToKzgCommitment: cKzg.blobToKzgCommitment,
|
|
290
|
-
computeBlobKzgProof: cKzg.computeBlobKzgProof,
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
// Returns as many blobs as we require to broadcast the given fields
|
|
295
|
-
// Assumes we share the fields hash between all blobs
|
|
296
|
-
static async getBlobs(fields: Fr[]): Promise<Blob[]> {
|
|
297
|
-
const numBlobs = Math.max(Math.ceil(fields.length / FIELD_ELEMENTS_PER_BLOB), 1);
|
|
298
|
-
const multiBlobFieldsHash = await poseidon2Hash(fields);
|
|
299
|
-
const res = [];
|
|
300
|
-
for (let i = 0; i < numBlobs; i++) {
|
|
301
|
-
const end = fields.length < (i + 1) * FIELD_ELEMENTS_PER_BLOB ? fields.length : (i + 1) * FIELD_ELEMENTS_PER_BLOB;
|
|
302
|
-
res.push(await Blob.fromFields(fields.slice(i * FIELD_ELEMENTS_PER_BLOB, end), multiBlobFieldsHash));
|
|
303
|
-
}
|
|
304
|
-
return res;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
// 48 bytes encoded in fields as [Fr, Fr] = [0->31, 31->48]
|
|
309
|
-
function commitmentToFields(commitment: Buffer): [Fr, Fr] {
|
|
310
|
-
return [new Fr(commitment.subarray(0, 31)), new Fr(commitment.subarray(31, 48))];
|
|
311
|
-
}
|