@aztec/foundation 0.0.0-test.0
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 -0
- package/dest/array/array.d.ts +71 -0
- package/dest/array/array.d.ts.map +1 -0
- package/dest/array/array.js +100 -0
- package/dest/array/index.d.ts +2 -0
- package/dest/array/index.d.ts.map +1 -0
- package/dest/array/index.js +1 -0
- package/dest/async-map/index.d.ts +13 -0
- package/dest/async-map/index.d.ts.map +1 -0
- package/dest/async-map/index.js +17 -0
- package/dest/async-pool/index.d.ts +3 -0
- package/dest/async-pool/index.d.ts.map +1 -0
- package/dest/async-pool/index.js +47 -0
- package/dest/bigint-buffer/index.d.ts +42 -0
- package/dest/bigint-buffer/index.d.ts.map +1 -0
- package/dest/bigint-buffer/index.js +76 -0
- package/dest/buffer/buffer32.d.ts +91 -0
- package/dest/buffer/buffer32.d.ts.map +1 -0
- package/dest/buffer/buffer32.js +115 -0
- package/dest/buffer/index.d.ts +2 -0
- package/dest/buffer/index.d.ts.map +1 -0
- package/dest/buffer/index.js +1 -0
- package/dest/collection/array.d.ts +101 -0
- package/dest/collection/array.d.ts.map +1 -0
- package/dest/collection/array.js +164 -0
- package/dest/collection/index.d.ts +3 -0
- package/dest/collection/index.d.ts.map +1 -0
- package/dest/collection/index.js +2 -0
- package/dest/collection/object.d.ts +14 -0
- package/dest/collection/object.d.ts.map +1 -0
- package/dest/collection/object.js +32 -0
- package/dest/committable/committable.d.ts +28 -0
- package/dest/committable/committable.d.ts.map +1 -0
- package/dest/committable/committable.js +36 -0
- package/dest/committable/index.d.ts +2 -0
- package/dest/committable/index.d.ts.map +1 -0
- package/dest/committable/index.js +1 -0
- package/dest/config/env_var.d.ts +2 -0
- package/dest/config/env_var.d.ts.map +1 -0
- package/dest/config/env_var.js +1 -0
- package/dest/config/index.d.ts +66 -0
- package/dest/config/index.d.ts.map +1 -0
- package/dest/config/index.js +125 -0
- package/dest/crypto/aes128/index.d.ts +34 -0
- package/dest/crypto/aes128/index.d.ts.map +1 -0
- package/dest/crypto/aes128/index.js +49 -0
- package/dest/crypto/ecdsa/index.d.ts +39 -0
- package/dest/crypto/ecdsa/index.d.ts.map +1 -0
- package/dest/crypto/ecdsa/index.js +88 -0
- package/dest/crypto/ecdsa/signature.d.ts +71 -0
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -0
- package/dest/crypto/ecdsa/signature.js +92 -0
- package/dest/crypto/grumpkin/index.d.ts +47 -0
- package/dest/crypto/grumpkin/index.d.ts.map +1 -0
- package/dest/crypto/grumpkin/index.js +154 -0
- package/dest/crypto/index.d.ts +15 -0
- package/dest/crypto/index.d.ts.map +1 -0
- package/dest/crypto/index.js +14 -0
- package/dest/crypto/keccak/index.d.ts +28 -0
- package/dest/crypto/keccak/index.d.ts.map +1 -0
- package/dest/crypto/keccak/index.js +248 -0
- package/dest/crypto/keys/index.d.ts +5 -0
- package/dest/crypto/keys/index.d.ts.map +1 -0
- package/dest/crypto/keys/index.js +7 -0
- package/dest/crypto/pedersen/index.d.ts +2 -0
- package/dest/crypto/pedersen/index.d.ts.map +1 -0
- package/dest/crypto/pedersen/index.js +1 -0
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts +13 -0
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +1 -0
- package/dest/crypto/pedersen/pedersen.elliptic.js +582 -0
- package/dest/crypto/pedersen/pedersen.noble.d.ts +11 -0
- package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -0
- package/dest/crypto/pedersen/pedersen.noble.js +558 -0
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +21 -0
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -0
- package/dest/crypto/pedersen/pedersen.wasm.js +41 -0
- package/dest/crypto/poseidon/index.d.ts +26 -0
- package/dest/crypto/poseidon/index.d.ts.map +1 -0
- package/dest/crypto/poseidon/index.js +58 -0
- package/dest/crypto/random/index.d.ts +25 -0
- package/dest/crypto/random/index.d.ts.map +1 -0
- package/dest/crypto/random/index.js +70 -0
- package/dest/crypto/random/randomness_singleton.d.ts +25 -0
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -0
- package/dest/crypto/random/randomness_singleton.js +55 -0
- package/dest/crypto/schnorr/index.d.ts +30 -0
- package/dest/crypto/schnorr/index.d.ts.map +1 -0
- package/dest/crypto/schnorr/index.js +68 -0
- package/dest/crypto/schnorr/signature.d.ts +70 -0
- package/dest/crypto/schnorr/signature.d.ts.map +1 -0
- package/dest/crypto/schnorr/signature.js +93 -0
- package/dest/crypto/secp256k1/index.d.ts +32 -0
- package/dest/crypto/secp256k1/index.d.ts.map +1 -0
- package/dest/crypto/secp256k1/index.js +116 -0
- package/dest/crypto/secp256k1-signer/index.d.ts +3 -0
- package/dest/crypto/secp256k1-signer/index.d.ts.map +1 -0
- package/dest/crypto/secp256k1-signer/index.js +2 -0
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +24 -0
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -0
- package/dest/crypto/secp256k1-signer/secp256k1_signer.js +30 -0
- package/dest/crypto/secp256k1-signer/utils.d.ts +40 -0
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -0
- package/dest/crypto/secp256k1-signer/utils.js +84 -0
- package/dest/crypto/serialize.d.ts +53 -0
- package/dest/crypto/serialize.d.ts.map +1 -0
- package/dest/crypto/serialize.js +68 -0
- package/dest/crypto/sha256/index.d.ts +20 -0
- package/dest/crypto/sha256/index.d.ts.map +1 -0
- package/dest/crypto/sha256/index.js +166 -0
- package/dest/crypto/sha512/index.d.ts +11 -0
- package/dest/crypto/sha512/index.d.ts.map +1 -0
- package/dest/crypto/sha512/index.js +12 -0
- package/dest/crypto/signature/index.d.ts +19 -0
- package/dest/crypto/signature/index.d.ts.map +1 -0
- package/dest/crypto/signature/index.js +3 -0
- package/dest/crypto/sync/index.d.ts +3 -0
- package/dest/crypto/sync/index.d.ts.map +1 -0
- package/dest/crypto/sync/index.js +4 -0
- package/dest/crypto/sync/pedersen/index.d.ts +21 -0
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -0
- package/dest/crypto/sync/pedersen/index.js +38 -0
- package/dest/crypto/sync/poseidon/index.d.ts +26 -0
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -0
- package/dest/crypto/sync/poseidon/index.js +53 -0
- package/dest/decorators/index.d.ts +2 -0
- package/dest/decorators/index.d.ts.map +1 -0
- package/dest/decorators/index.js +1 -0
- package/dest/decorators/memoize.d.ts +2 -0
- package/dest/decorators/memoize.d.ts.map +1 -0
- package/dest/decorators/memoize.js +11 -0
- package/dest/error/index.d.ts +21 -0
- package/dest/error/index.d.ts.map +1 -0
- package/dest/error/index.js +17 -0
- package/dest/eth-address/index.d.ts +134 -0
- package/dest/eth-address/index.d.ts.map +1 -0
- package/dest/eth-address/index.js +198 -0
- package/dest/eth-signature/eth_signature.d.ts +62 -0
- package/dest/eth-signature/eth_signature.d.ts.map +1 -0
- package/dest/eth-signature/eth_signature.js +91 -0
- package/dest/eth-signature/index.d.ts +2 -0
- package/dest/eth-signature/index.d.ts.map +1 -0
- package/dest/eth-signature/index.js +1 -0
- package/dest/fields/coordinate.d.ts +68 -0
- package/dest/fields/coordinate.d.ts.map +1 -0
- package/dest/fields/coordinate.js +96 -0
- package/dest/fields/fields.d.ts +176 -0
- package/dest/fields/fields.d.ts.map +1 -0
- package/dest/fields/fields.js +383 -0
- package/dest/fields/index.d.ts +4 -0
- package/dest/fields/index.d.ts.map +1 -0
- package/dest/fields/index.js +3 -0
- package/dest/fields/point.d.ts +175 -0
- package/dest/fields/point.d.ts.map +1 -0
- package/dest/fields/point.js +260 -0
- package/dest/fs/index.d.ts +2 -0
- package/dest/fs/index.d.ts.map +1 -0
- package/dest/fs/index.js +1 -0
- package/dest/fs/run_in_dir.d.ts +2 -0
- package/dest/fs/run_in_dir.d.ts.map +1 -0
- package/dest/fs/run_in_dir.js +31 -0
- package/dest/index.d.ts +31 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +31 -0
- package/dest/iterable/all.d.ts +9 -0
- package/dest/iterable/all.d.ts.map +1 -0
- package/dest/iterable/all.js +18 -0
- package/dest/iterable/filter.d.ts +10 -0
- package/dest/iterable/filter.d.ts.map +1 -0
- package/dest/iterable/filter.js +48 -0
- package/dest/iterable/index.d.ts +8 -0
- package/dest/iterable/index.d.ts.map +1 -0
- package/dest/iterable/index.js +7 -0
- package/dest/iterable/isAsyncIt.d.ts +7 -0
- package/dest/iterable/isAsyncIt.d.ts.map +1 -0
- package/dest/iterable/isAsyncIt.js +7 -0
- package/dest/iterable/map.d.ts +12 -0
- package/dest/iterable/map.d.ts.map +1 -0
- package/dest/iterable/map.js +36 -0
- package/dest/iterable/peek.d.ts +19 -0
- package/dest/iterable/peek.d.ts.map +1 -0
- package/dest/iterable/peek.js +33 -0
- package/dest/iterable/sort.d.ts +14 -0
- package/dest/iterable/sort.d.ts.map +1 -0
- package/dest/iterable/sort.js +15 -0
- package/dest/iterable/take.d.ts +10 -0
- package/dest/iterable/take.d.ts.map +1 -0
- package/dest/iterable/take.js +32 -0
- package/dest/iterable/toArray.d.ts +2 -0
- package/dest/iterable/toArray.d.ts.map +1 -0
- package/dest/iterable/toArray.js +7 -0
- package/dest/jest/setup.js +7 -0
- package/dest/json-rpc/client/fetch.d.ts +32 -0
- package/dest/json-rpc/client/fetch.d.ts.map +1 -0
- package/dest/json-rpc/client/fetch.js +77 -0
- package/dest/json-rpc/client/index.d.ts +3 -0
- package/dest/json-rpc/client/index.d.ts.map +1 -0
- package/dest/json-rpc/client/index.js +2 -0
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +26 -0
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -0
- package/dest/json-rpc/client/safe_json_rpc_client.js +57 -0
- package/dest/json-rpc/client/undici.d.ts +5 -0
- package/dest/json-rpc/client/undici.d.ts.map +1 -0
- package/dest/json-rpc/client/undici.js +63 -0
- package/dest/json-rpc/convert.d.ts +27 -0
- package/dest/json-rpc/convert.d.ts.map +1 -0
- package/dest/json-rpc/convert.js +48 -0
- package/dest/json-rpc/fixtures/class_a.d.ts +11 -0
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -0
- package/dest/json-rpc/fixtures/class_a.js +20 -0
- package/dest/json-rpc/fixtures/class_b.d.ts +11 -0
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -0
- package/dest/json-rpc/fixtures/class_b.js +20 -0
- package/dest/json-rpc/fixtures/test_state.d.ts +89 -0
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -0
- package/dest/json-rpc/fixtures/test_state.js +131 -0
- package/dest/json-rpc/index.d.ts +2 -0
- package/dest/json-rpc/index.d.ts.map +1 -0
- package/dest/json-rpc/index.js +1 -0
- package/dest/json-rpc/js_utils.d.ts +13 -0
- package/dest/json-rpc/js_utils.d.ts.map +1 -0
- package/dest/json-rpc/js_utils.js +16 -0
- package/dest/json-rpc/server/index.d.ts +2 -0
- package/dest/json-rpc/server/index.d.ts.map +1 -0
- package/dest/json-rpc/server/index.js +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +140 -0
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.js +346 -0
- package/dest/json-rpc/server/telemetry.d.ts +2 -0
- package/dest/json-rpc/server/telemetry.d.ts.map +1 -0
- package/dest/json-rpc/server/telemetry.js +0 -0
- package/dest/json-rpc/test/index.d.ts +2 -0
- package/dest/json-rpc/test/index.d.ts.map +1 -0
- package/dest/json-rpc/test/index.js +1 -0
- package/dest/json-rpc/test/integration.d.ts +15 -0
- package/dest/json-rpc/test/integration.d.ts.map +1 -0
- package/dest/json-rpc/test/integration.js +21 -0
- package/dest/log/console.d.ts +11 -0
- package/dest/log/console.d.ts.map +1 -0
- package/dest/log/console.js +36 -0
- package/dest/log/debug.d.ts +56 -0
- package/dest/log/debug.d.ts.map +1 -0
- package/dest/log/debug.js +75 -0
- package/dest/log/gcloud-logger-config.d.ts +14 -0
- package/dest/log/gcloud-logger-config.d.ts.map +1 -0
- package/dest/log/gcloud-logger-config.js +66 -0
- package/dest/log/index.d.ts +7 -0
- package/dest/log/index.d.ts.map +1 -0
- package/dest/log/index.js +6 -0
- package/dest/log/libp2p_logger.d.ts +7 -0
- package/dest/log/libp2p_logger.d.ts.map +1 -0
- package/dest/log/libp2p_logger.js +55 -0
- package/dest/log/log-filters.d.ts +7 -0
- package/dest/log/log-filters.d.ts.map +1 -0
- package/dest/log/log-filters.js +59 -0
- package/dest/log/log-levels.d.ts +3 -0
- package/dest/log/log-levels.d.ts.map +1 -0
- package/dest/log/log-levels.js +10 -0
- package/dest/log/log_fn.d.ts +7 -0
- package/dest/log/log_fn.d.ts.map +1 -0
- package/dest/log/log_fn.js +1 -0
- package/dest/log/log_history.d.ts +31 -0
- package/dest/log/log_history.d.ts.map +1 -0
- package/dest/log/log_history.js +38 -0
- package/dest/log/pino-logger.d.ts +57 -0
- package/dest/log/pino-logger.d.ts.map +1 -0
- package/dest/log/pino-logger.js +207 -0
- package/dest/message/index.d.ts +32 -0
- package/dest/message/index.d.ts.map +1 -0
- package/dest/message/index.js +27 -0
- package/dest/mutex/index.d.ts +53 -0
- package/dest/mutex/index.d.ts.map +1 -0
- package/dest/mutex/index.js +78 -0
- package/dest/mutex/mutex_database.d.ts +10 -0
- package/dest/mutex/mutex_database.d.ts.map +1 -0
- package/dest/mutex/mutex_database.js +4 -0
- package/dest/noir/index.d.ts +2 -0
- package/dest/noir/index.d.ts.map +1 -0
- package/dest/noir/index.js +1 -0
- package/dest/noir/noir_package_config.d.ts +129 -0
- package/dest/noir/noir_package_config.d.ts.map +1 -0
- package/dest/noir/noir_package_config.js +36 -0
- package/dest/promise/index.d.ts +3 -0
- package/dest/promise/index.d.ts.map +1 -0
- package/dest/promise/index.js +2 -0
- package/dest/promise/running-promise.d.ts +47 -0
- package/dest/promise/running-promise.d.ts.map +1 -0
- package/dest/promise/running-promise.js +110 -0
- package/dest/promise/utils.d.ts +12 -0
- package/dest/promise/utils.d.ts.map +1 -0
- package/dest/promise/utils.js +20 -0
- package/dest/queue/base_memory_queue.d.ts +65 -0
- package/dest/queue/base_memory_queue.d.ts.map +1 -0
- package/dest/queue/base_memory_queue.js +116 -0
- package/dest/queue/batch_queue.d.ts +47 -0
- package/dest/queue/batch_queue.d.ts.map +1 -0
- package/dest/queue/batch_queue.js +105 -0
- package/dest/queue/bounded_serial_queue.d.ts +56 -0
- package/dest/queue/bounded_serial_queue.d.ts.map +1 -0
- package/dest/queue/bounded_serial_queue.js +84 -0
- package/dest/queue/fifo_memory_queue.d.ts +21 -0
- package/dest/queue/fifo_memory_queue.d.ts.map +1 -0
- package/dest/queue/fifo_memory_queue.js +29 -0
- package/dest/queue/index.d.ts +7 -0
- package/dest/queue/index.d.ts.map +1 -0
- package/dest/queue/index.js +6 -0
- package/dest/queue/priority_memory_queue.d.ts +13 -0
- package/dest/queue/priority_memory_queue.d.ts.map +1 -0
- package/dest/queue/priority_memory_queue.js +16 -0
- package/dest/queue/priority_queue.d.ts +14 -0
- package/dest/queue/priority_queue.d.ts.map +1 -0
- package/dest/queue/priority_queue.js +29 -0
- package/dest/queue/semaphore.d.ts +23 -0
- package/dest/queue/semaphore.d.ts.map +1 -0
- package/dest/queue/semaphore.js +26 -0
- package/dest/queue/serial_queue.d.ts +49 -0
- package/dest/queue/serial_queue.d.ts.map +1 -0
- package/dest/queue/serial_queue.js +72 -0
- package/dest/retry/index.d.ts +44 -0
- package/dest/retry/index.d.ts.map +1 -0
- package/dest/retry/index.js +93 -0
- package/dest/running-promise/index.d.ts +2 -0
- package/dest/running-promise/index.d.ts.map +1 -0
- package/dest/running-promise/index.js +1 -0
- package/dest/schemas/api.d.ts +21 -0
- package/dest/schemas/api.d.ts.map +1 -0
- package/dest/schemas/api.js +3 -0
- package/dest/schemas/index.d.ts +6 -0
- package/dest/schemas/index.d.ts.map +1 -0
- package/dest/schemas/index.js +5 -0
- package/dest/schemas/parse.d.ts +9 -0
- package/dest/schemas/parse.d.ts.map +1 -0
- package/dest/schemas/parse.js +22 -0
- package/dest/schemas/schemas.d.ts +45 -0
- package/dest/schemas/schemas.d.ts.map +1 -0
- package/dest/schemas/schemas.js +38 -0
- package/dest/schemas/types.d.ts +3 -0
- package/dest/schemas/types.d.ts.map +1 -0
- package/dest/schemas/types.js +1 -0
- package/dest/schemas/utils.d.ts +53 -0
- package/dest/schemas/utils.d.ts.map +1 -0
- package/dest/schemas/utils.js +60 -0
- package/dest/serialize/buffer_reader.d.ts +239 -0
- package/dest/serialize/buffer_reader.d.ts.map +1 -0
- package/dest/serialize/buffer_reader.js +290 -0
- package/dest/serialize/field_reader.d.ts +112 -0
- package/dest/serialize/field_reader.d.ts.map +1 -0
- package/dest/serialize/field_reader.js +147 -0
- package/dest/serialize/free_funcs.d.ts +105 -0
- package/dest/serialize/free_funcs.d.ts.map +1 -0
- package/dest/serialize/free_funcs.js +189 -0
- package/dest/serialize/index.d.ts +7 -0
- package/dest/serialize/index.d.ts.map +1 -0
- package/dest/serialize/index.js +6 -0
- package/dest/serialize/serialize.d.ts +182 -0
- package/dest/serialize/serialize.d.ts.map +1 -0
- package/dest/serialize/serialize.js +248 -0
- package/dest/serialize/type_registry.d.ts +23 -0
- package/dest/serialize/type_registry.d.ts.map +1 -0
- package/dest/serialize/type_registry.js +61 -0
- package/dest/serialize/types.d.ts +33 -0
- package/dest/serialize/types.d.ts.map +1 -0
- package/dest/serialize/types.js +21 -0
- package/dest/sleep/index.d.ts +51 -0
- package/dest/sleep/index.d.ts.map +1 -0
- package/dest/sleep/index.js +67 -0
- package/dest/string/index.d.ts +11 -0
- package/dest/string/index.d.ts.map +1 -0
- package/dest/string/index.js +24 -0
- package/dest/testing/files/index.d.ts +20 -0
- package/dest/testing/files/index.d.ts.map +1 -0
- package/dest/testing/files/index.js +58 -0
- package/dest/testing/index.d.ts +4 -0
- package/dest/testing/index.d.ts.map +1 -0
- package/dest/testing/index.js +3 -0
- package/dest/testing/port_allocator.d.ts +10 -0
- package/dest/testing/port_allocator.d.ts.map +1 -0
- package/dest/testing/port_allocator.js +29 -0
- package/dest/testing/snapshot_serializer.d.ts +5 -0
- package/dest/testing/snapshot_serializer.d.ts.map +1 -0
- package/dest/testing/snapshot_serializer.js +32 -0
- package/dest/testing/test_data.d.ts +7 -0
- package/dest/testing/test_data.d.ts.map +1 -0
- package/dest/testing/test_data.js +29 -0
- package/dest/timer/date.d.ts +13 -0
- package/dest/timer/date.d.ts.map +1 -0
- package/dest/timer/date.js +24 -0
- package/dest/timer/elapsed.d.ts +13 -0
- package/dest/timer/elapsed.d.ts.map +1 -0
- package/dest/timer/elapsed.js +25 -0
- package/dest/timer/index.d.ts +5 -0
- package/dest/timer/index.d.ts.map +1 -0
- package/dest/timer/index.js +4 -0
- package/dest/timer/timeout.d.ts +41 -0
- package/dest/timer/timeout.d.ts.map +1 -0
- package/dest/timer/timeout.js +66 -0
- package/dest/timer/timer.d.ts +37 -0
- package/dest/timer/timer.d.ts.map +1 -0
- package/dest/timer/timer.js +40 -0
- package/dest/transport/browser/index.d.ts +5 -0
- package/dest/transport/browser/index.d.ts.map +1 -0
- package/dest/transport/browser/index.js +4 -0
- package/dest/transport/browser/message_port_socket.d.ts +37 -0
- package/dest/transport/browser/message_port_socket.d.ts.map +1 -0
- package/dest/transport/browser/message_port_socket.js +42 -0
- package/dest/transport/browser/shared_worker_connector.d.ts +19 -0
- package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -0
- package/dest/transport/browser/shared_worker_connector.js +19 -0
- package/dest/transport/browser/shared_worker_listener.d.ts +38 -0
- package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -0
- package/dest/transport/browser/shared_worker_listener.js +33 -0
- package/dest/transport/browser/worker_connector.d.ts +26 -0
- package/dest/transport/browser/worker_connector.d.ts.map +1 -0
- package/dest/transport/browser/worker_connector.js +30 -0
- package/dest/transport/browser/worker_listener.d.ts +39 -0
- package/dest/transport/browser/worker_listener.d.ts.map +1 -0
- package/dest/transport/browser/worker_listener.js +35 -0
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +25 -0
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -0
- package/dest/transport/dispatch/create_dispatch_fn.js +17 -0
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +102 -0
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -0
- package/dest/transport/dispatch/create_dispatch_proxy.js +59 -0
- package/dest/transport/dispatch/messages.d.ts +52 -0
- package/dest/transport/dispatch/messages.d.ts.map +1 -0
- package/dest/transport/dispatch/messages.js +13 -0
- package/dest/transport/index.d.ts +12 -0
- package/dest/transport/index.d.ts.map +1 -0
- package/dest/transport/index.js +11 -0
- package/dest/transport/interface/connector.d.ts +8 -0
- package/dest/transport/interface/connector.d.ts.map +1 -0
- package/dest/transport/interface/connector.js +3 -0
- package/dest/transport/interface/listener.d.ts +13 -0
- package/dest/transport/interface/listener.d.ts.map +1 -0
- package/dest/transport/interface/listener.js +4 -0
- package/dest/transport/interface/socket.d.ts +13 -0
- package/dest/transport/interface/socket.d.ts.map +1 -0
- package/dest/transport/interface/socket.js +7 -0
- package/dest/transport/interface/transferable.d.ts +68 -0
- package/dest/transport/interface/transferable.d.ts.map +1 -0
- package/dest/transport/interface/transferable.js +63 -0
- package/dest/transport/node/index.d.ts +3 -0
- package/dest/transport/node/index.d.ts.map +1 -0
- package/dest/transport/node/index.js +2 -0
- package/dest/transport/node/node_connector.d.ts +28 -0
- package/dest/transport/node/node_connector.d.ts.map +1 -0
- package/dest/transport/node/node_connector.js +26 -0
- package/dest/transport/node/node_connector_socket.d.ts +42 -0
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -0
- package/dest/transport/node/node_connector_socket.js +44 -0
- package/dest/transport/node/node_listener.d.ts +26 -0
- package/dest/transport/node/node_listener.d.ts.map +1 -0
- package/dest/transport/node/node_listener.js +26 -0
- package/dest/transport/node/node_listener_socket.d.ts +37 -0
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -0
- package/dest/transport/node/node_listener_socket.js +40 -0
- package/dest/transport/transport_client.d.ts +61 -0
- package/dest/transport/transport_client.d.ts.map +1 -0
- package/dest/transport/transport_client.js +96 -0
- package/dest/transport/transport_server.d.ts +56 -0
- package/dest/transport/transport_server.d.ts.map +1 -0
- package/dest/transport/transport_server.js +114 -0
- package/dest/trees/hasher.d.ts +39 -0
- package/dest/trees/hasher.d.ts.map +1 -0
- package/dest/trees/hasher.js +5 -0
- package/dest/trees/index.d.ts +11 -0
- package/dest/trees/index.d.ts.map +1 -0
- package/dest/trees/index.js +10 -0
- package/dest/trees/indexed_merkle_tree.d.ts +13 -0
- package/dest/trees/indexed_merkle_tree.d.ts.map +1 -0
- package/dest/trees/indexed_merkle_tree.js +27 -0
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +23 -0
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -0
- package/dest/trees/indexed_merkle_tree_calculator.js +83 -0
- package/dest/trees/indexed_tree_leaf.d.ts +57 -0
- package/dest/trees/indexed_tree_leaf.d.ts.map +1 -0
- package/dest/trees/indexed_tree_leaf.js +5 -0
- package/dest/trees/membership_witness.d.ts +62 -0
- package/dest/trees/membership_witness.d.ts.map +1 -0
- package/dest/trees/membership_witness.js +70 -0
- package/dest/trees/merkle_tree.d.ts +18 -0
- package/dest/trees/merkle_tree.d.ts.map +1 -0
- package/dest/trees/merkle_tree.js +58 -0
- package/dest/trees/merkle_tree_calculator.d.ts +16 -0
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -0
- package/dest/trees/merkle_tree_calculator.js +61 -0
- package/dest/trees/sibling_path.d.ts +132 -0
- package/dest/trees/sibling_path.d.ts.map +1 -0
- package/dest/trees/sibling_path.js +144 -0
- package/dest/trees/unbalanced_merkle_tree.d.ts +17 -0
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -0
- package/dest/trees/unbalanced_merkle_tree.js +100 -0
- package/dest/trees/unbalanced_tree_store.d.ts +19 -0
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -0
- package/dest/trees/unbalanced_tree_store.js +94 -0
- package/dest/types/index.d.ts +19 -0
- package/dest/types/index.d.ts.map +1 -0
- package/dest/types/index.js +3 -0
- package/dest/url/index.d.ts +9 -0
- package/dest/url/index.d.ts.map +1 -0
- package/dest/url/index.js +62 -0
- package/dest/validation/index.d.ts +9 -0
- package/dest/validation/index.d.ts.map +1 -0
- package/dest/validation/index.js +15 -0
- package/dest/wasm/empty_wasi_sdk.d.ts +130 -0
- package/dest/wasm/empty_wasi_sdk.d.ts.map +1 -0
- package/dest/wasm/empty_wasi_sdk.js +148 -0
- package/dest/wasm/index.d.ts +2 -0
- package/dest/wasm/index.d.ts.map +1 -0
- package/dest/wasm/index.js +1 -0
- package/dest/wasm/wasm_module.d.ts +136 -0
- package/dest/wasm/wasm_module.d.ts.map +1 -0
- package/dest/wasm/wasm_module.js +196 -0
- package/dest/worker/browser/index.d.ts +3 -0
- package/dest/worker/browser/index.d.ts.map +1 -0
- package/dest/worker/browser/index.js +2 -0
- package/dest/worker/browser/start_web_module.d.ts +7 -0
- package/dest/worker/browser/start_web_module.d.ts.map +1 -0
- package/dest/worker/browser/start_web_module.js +27 -0
- package/dest/worker/browser/web_data_store.d.ts +24 -0
- package/dest/worker/browser/web_data_store.d.ts.map +1 -0
- package/dest/worker/browser/web_data_store.js +29 -0
- package/dest/worker/browser/web_worker.d.ts +10 -0
- package/dest/worker/browser/web_worker.d.ts.map +1 -0
- package/dest/worker/browser/web_worker.js +25 -0
- package/dest/worker/data_store.d.ts +21 -0
- package/dest/worker/data_store.d.ts.map +1 -0
- package/dest/worker/data_store.js +3 -0
- package/dest/worker/index.d.ts +3 -0
- package/dest/worker/index.d.ts.map +1 -0
- package/dest/worker/index.js +1 -0
- package/dest/worker/node/index.d.ts +3 -0
- package/dest/worker/node/index.d.ts.map +1 -0
- package/dest/worker/node/index.js +2 -0
- package/dest/worker/node/node_data_store.d.ts +13 -0
- package/dest/worker/node/node_data_store.d.ts.map +1 -0
- package/dest/worker/node/node_data_store.js +20 -0
- package/dest/worker/node/node_worker.d.ts +6 -0
- package/dest/worker/node/node_worker.d.ts.map +1 -0
- package/dest/worker/node/node_worker.js +22 -0
- package/dest/worker/node/start_node_module.d.ts +7 -0
- package/dest/worker/node/start_node_module.d.ts.map +1 -0
- package/dest/worker/node/start_node_module.js +31 -0
- package/dest/worker/wasm_worker.d.ts +9 -0
- package/dest/worker/wasm_worker.d.ts.map +1 -0
- package/dest/worker/wasm_worker.js +3 -0
- package/dest/worker/worker_pool.d.ts +40 -0
- package/dest/worker/worker_pool.d.ts.map +1 -0
- package/dest/worker/worker_pool.js +51 -0
- package/package.json +176 -0
- package/src/array/array.ts +150 -0
- package/src/array/index.ts +1 -0
- package/src/async-map/index.ts +18 -0
- package/src/async-pool/index.ts +50 -0
- package/src/bigint-buffer/index.ts +87 -0
- package/src/buffer/buffer32.ts +144 -0
- package/src/buffer/index.ts +1 -0
- package/src/collection/array.ts +203 -0
- package/src/collection/index.ts +2 -0
- package/src/collection/object.ts +52 -0
- package/src/committable/committable.ts +46 -0
- package/src/committable/index.ts +1 -0
- package/src/config/env_var.ts +207 -0
- package/src/config/index.ts +167 -0
- package/src/crypto/aes128/index.ts +59 -0
- package/src/crypto/ecdsa/index.ts +70 -0
- package/src/crypto/ecdsa/signature.ts +100 -0
- package/src/crypto/grumpkin/index.ts +97 -0
- package/src/crypto/index.ts +14 -0
- package/src/crypto/keccak/index.ts +283 -0
- package/src/crypto/keys/index.ts +10 -0
- package/src/crypto/pedersen/index.ts +1 -0
- package/src/crypto/pedersen/pedersen.elliptic.ts +584 -0
- package/src/crypto/pedersen/pedersen.noble.ts +573 -0
- package/src/crypto/pedersen/pedersen.wasm.ts +48 -0
- package/src/crypto/poseidon/index.ts +77 -0
- package/src/crypto/random/index.ts +85 -0
- package/src/crypto/random/randomness_singleton.ts +62 -0
- package/src/crypto/schnorr/index.ts +55 -0
- package/src/crypto/schnorr/signature.ts +116 -0
- package/src/crypto/secp256k1/index.ts +57 -0
- package/src/crypto/secp256k1-signer/index.ts +2 -0
- package/src/crypto/secp256k1-signer/secp256k1_signer.ts +38 -0
- package/src/crypto/secp256k1-signer/utils.ts +99 -0
- package/src/crypto/serialize.ts +85 -0
- package/src/crypto/sha256/index.ts +147 -0
- package/src/crypto/sha512/index.ts +16 -0
- package/src/crypto/signature/index.ts +17 -0
- package/src/crypto/sync/index.ts +6 -0
- package/src/crypto/sync/pedersen/index.ts +45 -0
- package/src/crypto/sync/poseidon/index.ts +76 -0
- package/src/decorators/index.ts +1 -0
- package/src/decorators/memoize.ts +11 -0
- package/src/error/index.ts +22 -0
- package/src/eth-address/index.ts +241 -0
- package/src/eth-signature/eth_signature.ts +128 -0
- package/src/eth-signature/index.ts +1 -0
- package/src/fields/coordinate.ts +104 -0
- package/src/fields/fields.ts +505 -0
- package/src/fields/index.ts +3 -0
- package/src/fields/point.ts +300 -0
- package/src/fs/index.ts +1 -0
- package/src/fs/run_in_dir.ts +33 -0
- package/src/index.ts +31 -0
- package/src/iterable/all.ts +32 -0
- package/src/iterable/filter.ts +77 -0
- package/src/iterable/index.ts +7 -0
- package/src/iterable/isAsyncIt.ts +8 -0
- package/src/iterable/map.ts +66 -0
- package/src/iterable/peek.ts +58 -0
- package/src/iterable/sort.ts +39 -0
- package/src/iterable/take.ts +54 -0
- package/src/iterable/toArray.ts +9 -0
- package/src/jest/setup.mjs +9 -0
- package/src/json-rpc/README.md +55 -0
- package/src/json-rpc/client/fetch.ts +103 -0
- package/src/json-rpc/client/index.ts +2 -0
- package/src/json-rpc/client/safe_json_rpc_client.ts +67 -0
- package/src/json-rpc/client/undici.ts +75 -0
- package/src/json-rpc/convert.ts +61 -0
- package/src/json-rpc/fixtures/class_a.ts +15 -0
- package/src/json-rpc/fixtures/class_b.ts +15 -0
- package/src/json-rpc/fixtures/test_state.ts +143 -0
- package/src/json-rpc/index.ts +1 -0
- package/src/json-rpc/js_utils.ts +21 -0
- package/src/json-rpc/server/index.ts +1 -0
- package/src/json-rpc/server/safe_json_rpc_server.ts +376 -0
- package/src/json-rpc/server/telemetry.ts +0 -0
- package/src/json-rpc/test/index.ts +1 -0
- package/src/json-rpc/test/integration.ts +35 -0
- package/src/log/console.ts +39 -0
- package/src/log/debug.ts +104 -0
- package/src/log/gcloud-logger-config.ts +71 -0
- package/src/log/index.ts +6 -0
- package/src/log/libp2p_logger.ts +67 -0
- package/src/log/log-filters.ts +63 -0
- package/src/log/log-levels.ts +3 -0
- package/src/log/log_fn.ts +5 -0
- package/src/log/log_history.ts +44 -0
- package/src/log/pino-logger.ts +243 -0
- package/src/message/index.ts +43 -0
- package/src/mutex/index.ts +84 -0
- package/src/mutex/mutex_database.ts +12 -0
- package/src/noir/index.ts +1 -0
- package/src/noir/noir_package_config.ts +54 -0
- package/src/promise/index.ts +2 -0
- package/src/promise/running-promise.ts +125 -0
- package/src/promise/utils.ts +29 -0
- package/src/queue/base_memory_queue.ts +138 -0
- package/src/queue/batch_queue.ts +120 -0
- package/src/queue/bounded_serial_queue.ts +100 -0
- package/src/queue/fifo_memory_queue.ts +39 -0
- package/src/queue/index.ts +6 -0
- package/src/queue/priority_memory_queue.ts +20 -0
- package/src/queue/priority_queue.ts +34 -0
- package/src/queue/semaphore.ts +33 -0
- package/src/queue/serial_queue.ts +86 -0
- package/src/retry/index.ts +100 -0
- package/src/running-promise/index.ts +1 -0
- package/src/schemas/api.ts +47 -0
- package/src/schemas/index.ts +5 -0
- package/src/schemas/parse.ts +29 -0
- package/src/schemas/schemas.ts +64 -0
- package/src/schemas/types.ts +3 -0
- package/src/schemas/utils.ts +112 -0
- package/src/serialize/buffer_reader.ts +383 -0
- package/src/serialize/field_reader.ts +184 -0
- package/src/serialize/free_funcs.ts +204 -0
- package/src/serialize/index.ts +6 -0
- package/src/serialize/serialize.ts +336 -0
- package/src/serialize/type_registry.ts +75 -0
- package/src/serialize/types.ts +40 -0
- package/src/sleep/index.ts +75 -0
- package/src/string/index.ts +31 -0
- package/src/testing/files/index.ts +69 -0
- package/src/testing/index.ts +3 -0
- package/src/testing/port_allocator.ts +31 -0
- package/src/testing/snapshot_serializer.ts +33 -0
- package/src/testing/test_data.ts +36 -0
- package/src/timer/date.ts +24 -0
- package/src/timer/elapsed.ts +23 -0
- package/src/timer/index.ts +4 -0
- package/src/timer/timeout.ts +70 -0
- package/src/timer/timer.ts +48 -0
- package/src/transport/browser/index.ts +4 -0
- package/src/transport/browser/message_port_socket.ts +48 -0
- package/src/transport/browser/shared_worker_connector.ts +21 -0
- package/src/transport/browser/shared_worker_listener.ts +53 -0
- package/src/transport/browser/worker_connector.ts +30 -0
- package/src/transport/browser/worker_listener.ts +54 -0
- package/src/transport/dispatch/create_dispatch_fn.ts +35 -0
- package/src/transport/dispatch/create_dispatch_proxy.ts +141 -0
- package/src/transport/dispatch/messages.ts +58 -0
- package/src/transport/index.ts +11 -0
- package/src/transport/interface/connector.ts +9 -0
- package/src/transport/interface/listener.ts +16 -0
- package/src/transport/interface/socket.ts +15 -0
- package/src/transport/interface/transferable.ts +125 -0
- package/src/transport/node/index.ts +2 -0
- package/src/transport/node/node_connector.ts +30 -0
- package/src/transport/node/node_connector_socket.ts +52 -0
- package/src/transport/node/node_listener.ts +34 -0
- package/src/transport/node/node_listener_socket.ts +48 -0
- package/src/transport/transport_client.ts +131 -0
- package/src/transport/transport_server.ts +108 -0
- package/src/trees/hasher.ts +39 -0
- package/src/trees/index.ts +10 -0
- package/src/trees/indexed_merkle_tree.ts +36 -0
- package/src/trees/indexed_merkle_tree_calculator.ts +94 -0
- package/src/trees/indexed_tree_leaf.ts +56 -0
- package/src/trees/membership_witness.ts +99 -0
- package/src/trees/merkle_tree.ts +72 -0
- package/src/trees/merkle_tree_calculator.ts +67 -0
- package/src/trees/sibling_path.ts +183 -0
- package/src/trees/unbalanced_merkle_tree.ts +103 -0
- package/src/trees/unbalanced_tree_store.ts +102 -0
- package/src/types/index.ts +25 -0
- package/src/url/index.ts +73 -0
- package/src/validation/index.ts +18 -0
- package/src/wasm/README.md +6 -0
- package/src/wasm/empty_wasi_sdk.ts +166 -0
- package/src/wasm/fixtures/gcd.wasm +0 -0
- package/src/wasm/fixtures/gcd.wat +27 -0
- package/src/wasm/index.ts +1 -0
- package/src/wasm/wasm_module.ts +260 -0
- package/src/worker/browser/index.ts +2 -0
- package/src/worker/browser/start_web_module.ts +24 -0
- package/src/worker/browser/web_data_store.ts +38 -0
- package/src/worker/browser/web_worker.ts +25 -0
- package/src/worker/data_store.ts +19 -0
- package/src/worker/index.ts +2 -0
- package/src/worker/node/index.ts +2 -0
- package/src/worker/node/node_data_store.ts +27 -0
- package/src/worker/node/node_worker.ts +23 -0
- package/src/worker/node/start_node_module.ts +30 -0
- package/src/worker/wasm_worker.ts +7 -0
- package/src/worker/worker_pool.ts +73 -0
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Foundation
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { Tuple } from '../serialize/index.js';
|
|
2
|
+
export type { FieldsOf } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create an array over an integer range.
|
|
5
|
+
* @param n - The number of integers.
|
|
6
|
+
* @param offset - The starting number.
|
|
7
|
+
* @returns The array of numbers.
|
|
8
|
+
*/
|
|
9
|
+
export declare function range(n: number, offset?: number): number[];
|
|
10
|
+
/**
|
|
11
|
+
* Create an array over an integer range, filled with a function 'fn'.
|
|
12
|
+
* This is used over e.g. lodash because it resolved to a tuple type, needed for our fixed array type safety.
|
|
13
|
+
* @param n - The number of integers.
|
|
14
|
+
* @param fn - The generator function.
|
|
15
|
+
* @returns The array of numbers.
|
|
16
|
+
*/
|
|
17
|
+
export declare function makeTuple<T, N extends number>(length: N, fn: (i: number) => T, offset?: number): Tuple<T, N>;
|
|
18
|
+
/**
|
|
19
|
+
* Create an array over an integer range, filled with a function 'fn'.
|
|
20
|
+
* This is used over e.g. lodash because it resolved to a tuple type, needed for our fixed array type safety.
|
|
21
|
+
* @param n - The number of integers.
|
|
22
|
+
* @param fn - The generator function.
|
|
23
|
+
* @returns The array of numbers.
|
|
24
|
+
*/
|
|
25
|
+
export declare function makeTupleAsync<T, N extends number>(length: N, fn: (i: number) => Promise<T>, offset?: number): Promise<Tuple<T, N>>;
|
|
26
|
+
/**
|
|
27
|
+
* Create an array over an integer range, filled with a function 'fn'. However, the latter half of the array are set to zeros.
|
|
28
|
+
* see `makeTuple` above.
|
|
29
|
+
* @param n - The number of integers.
|
|
30
|
+
* @param fn - The generator function.
|
|
31
|
+
* @returns The array of numbers.
|
|
32
|
+
*/
|
|
33
|
+
export declare function makeHalfFullTuple<T, N extends number>(length: N, fn: (i: number) => T, offset: number | undefined, makeEmpty: () => T): Tuple<T, N>;
|
|
34
|
+
/**
|
|
35
|
+
* Assert a member of an object is a certain length.
|
|
36
|
+
* @param obj - An object.
|
|
37
|
+
* @param member - A member string.
|
|
38
|
+
* @param length - The length.
|
|
39
|
+
*/
|
|
40
|
+
export declare function assertMemberLength<F extends string, T extends {
|
|
41
|
+
[f in F]: {
|
|
42
|
+
/**
|
|
43
|
+
* A property which the tested member of the object T has to have.
|
|
44
|
+
*/
|
|
45
|
+
length: number;
|
|
46
|
+
};
|
|
47
|
+
}>(obj: T, member: F, length: number): void;
|
|
48
|
+
/**
|
|
49
|
+
* Assert all subarrays in a member of an object are a certain length.
|
|
50
|
+
* @param obj - An object.
|
|
51
|
+
* @param member - A member string.
|
|
52
|
+
* @param length - The expected length for each subarray.
|
|
53
|
+
*/
|
|
54
|
+
export declare function assertItemsLength<F extends string, T extends {
|
|
55
|
+
[f in F]: {
|
|
56
|
+
/**
|
|
57
|
+
* A property which the tested member of the object T has to have.
|
|
58
|
+
*/
|
|
59
|
+
length: number;
|
|
60
|
+
}[];
|
|
61
|
+
}>(obj: T, member: F, length: number): void;
|
|
62
|
+
/**
|
|
63
|
+
* Checks that the permutation is valid. Throws an error if it is not.
|
|
64
|
+
* @param original - The original array.
|
|
65
|
+
* @param permutation - The array which is allegedly a permutation of the original.
|
|
66
|
+
* @param indexes - The indices of the original array which the permutation should map to.
|
|
67
|
+
* @param isEqual - A function to compare the elements of the original and permutation arrays.
|
|
68
|
+
*/
|
|
69
|
+
export declare function assertPermutation<T>(original: T[], permutation: T[], indexes: number[], isEqual: (a: T, b: T) => boolean): void;
|
|
70
|
+
export declare function assertRightPadded<T>(arr: T[], isEmpty: (item: T) => boolean): void;
|
|
71
|
+
//# sourceMappingURL=array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/array/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,SAAI,YAM1C;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,EAAE,MAAM,SAAI,eAEzF;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,SAAI,wBAM7G;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EACnD,MAAM,EAAE,CAAC,EACT,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,CAAC,EACpB,MAAM,oBAAI,EACV,SAAS,EAAE,MAAM,CAAC,eAGnB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS;KACP,CAAC,IAAI,CAAC,GAAG;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KAChB;CACF,EACD,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAIlC;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS;KACP,CAAC,IAAI,CAAC,GAAG;QACR;;WAEG;QACH,MAAM,EAAE,MAAM,CAAC;KAChB,EAAE;CACJ,EACD,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAOlC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,QAAQ,EAAE,CAAC,EAAE,EACb,WAAW,EAAE,CAAC,EAAE,EAChB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,GAC/B,IAAI,CAmBN;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,QAS3E"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create an array over an integer range.
|
|
3
|
+
* @param n - The number of integers.
|
|
4
|
+
* @param offset - The starting number.
|
|
5
|
+
* @returns The array of numbers.
|
|
6
|
+
*/ export function range(n, offset = 0) {
|
|
7
|
+
const ret = [];
|
|
8
|
+
for(let i = 0; i < n; i++){
|
|
9
|
+
ret.push(offset + i);
|
|
10
|
+
}
|
|
11
|
+
return ret;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create an array over an integer range, filled with a function 'fn'.
|
|
15
|
+
* This is used over e.g. lodash because it resolved to a tuple type, needed for our fixed array type safety.
|
|
16
|
+
* @param n - The number of integers.
|
|
17
|
+
* @param fn - The generator function.
|
|
18
|
+
* @returns The array of numbers.
|
|
19
|
+
*/ export function makeTuple(length, fn, offset = 0) {
|
|
20
|
+
return Array.from({
|
|
21
|
+
length
|
|
22
|
+
}, (_, i)=>fn(i + offset));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Create an array over an integer range, filled with a function 'fn'.
|
|
26
|
+
* This is used over e.g. lodash because it resolved to a tuple type, needed for our fixed array type safety.
|
|
27
|
+
* @param n - The number of integers.
|
|
28
|
+
* @param fn - The generator function.
|
|
29
|
+
* @returns The array of numbers.
|
|
30
|
+
*/ export async function makeTupleAsync(length, fn, offset = 0) {
|
|
31
|
+
return await Promise.all(Array(length).fill(0).map(async (_, i)=>await fn(i + offset)));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create an array over an integer range, filled with a function 'fn'. However, the latter half of the array are set to zeros.
|
|
35
|
+
* see `makeTuple` above.
|
|
36
|
+
* @param n - The number of integers.
|
|
37
|
+
* @param fn - The generator function.
|
|
38
|
+
* @returns The array of numbers.
|
|
39
|
+
*/ export function makeHalfFullTuple(length, fn, offset = 0, makeEmpty) {
|
|
40
|
+
return Array.from({
|
|
41
|
+
length
|
|
42
|
+
}, (_, i)=>i < length / 2 ? fn(i + offset) : makeEmpty());
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Assert a member of an object is a certain length.
|
|
46
|
+
* @param obj - An object.
|
|
47
|
+
* @param member - A member string.
|
|
48
|
+
* @param length - The length.
|
|
49
|
+
*/ export function assertMemberLength(obj, member, length) {
|
|
50
|
+
if (obj[member].length !== length) {
|
|
51
|
+
throw new Error(`Expected ${member} to have length ${length} but was ${obj[member].length}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Assert all subarrays in a member of an object are a certain length.
|
|
56
|
+
* @param obj - An object.
|
|
57
|
+
* @param member - A member string.
|
|
58
|
+
* @param length - The expected length for each subarray.
|
|
59
|
+
*/ export function assertItemsLength(obj, member, length) {
|
|
60
|
+
const arrays = obj[member];
|
|
61
|
+
for(let i = 0; i < arrays.length; i++){
|
|
62
|
+
if (arrays[i].length !== length) {
|
|
63
|
+
throw new Error(`Expected ${member}[${i}] to have length ${length} but was ${arrays[i].length}`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Checks that the permutation is valid. Throws an error if it is not.
|
|
69
|
+
* @param original - The original array.
|
|
70
|
+
* @param permutation - The array which is allegedly a permutation of the original.
|
|
71
|
+
* @param indexes - The indices of the original array which the permutation should map to.
|
|
72
|
+
* @param isEqual - A function to compare the elements of the original and permutation arrays.
|
|
73
|
+
*/ export function assertPermutation(original, permutation, indexes, isEqual) {
|
|
74
|
+
if (original.length !== permutation.length || original.length !== indexes.length) {
|
|
75
|
+
throw new Error(`Invalid lengths: ${original.length}, ${permutation.length}, ${indexes.length}`);
|
|
76
|
+
}
|
|
77
|
+
const seenValue = new Set();
|
|
78
|
+
for(let i = 0; i < indexes.length; i++){
|
|
79
|
+
const index = indexes[i];
|
|
80
|
+
const permutedValue = permutation[i];
|
|
81
|
+
const originalValueAtIndex = original[index];
|
|
82
|
+
if (!isEqual(permutedValue, originalValueAtIndex)) {
|
|
83
|
+
throw new Error(`Invalid permutation at index ${index}: ${permutedValue} !== ${originalValueAtIndex}`);
|
|
84
|
+
}
|
|
85
|
+
if (seenValue.has(index)) {
|
|
86
|
+
throw new Error(`Duplicate index in permutation: ${index}`);
|
|
87
|
+
}
|
|
88
|
+
seenValue.add(index);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export function assertRightPadded(arr, isEmpty) {
|
|
92
|
+
let seenEmpty = false;
|
|
93
|
+
for(let i = 0; i < arr.length; i++){
|
|
94
|
+
if (isEmpty(arr[i])) {
|
|
95
|
+
seenEmpty = true;
|
|
96
|
+
} else if (seenEmpty) {
|
|
97
|
+
throw new Error(`Non-empty element at index [${i}] after empty element`);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/array/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './array.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps an array of elements by applying an asynchronous function to each element in sequence,
|
|
3
|
+
* and returns a new array with the results. The function receives each element of the array
|
|
4
|
+
* and its index as arguments, and should return a Promise that resolves to the desired value.
|
|
5
|
+
*
|
|
6
|
+
* @typeParam T - The original array element type.
|
|
7
|
+
* @typeParam U - The resulting array element type.
|
|
8
|
+
* @param arr - The array to map.
|
|
9
|
+
* @param fn - The async function to apply on each element of the array.
|
|
10
|
+
* @returns A Promise that resolves to a new array containing the mapped values.
|
|
11
|
+
*/
|
|
12
|
+
export declare function asyncMap<T, U>(arr: T[], fn: (e: T, i: number) => Promise<U>): Promise<U[]>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/async-map/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps an array of elements by applying an asynchronous function to each element in sequence,
|
|
3
|
+
* and returns a new array with the results. The function receives each element of the array
|
|
4
|
+
* and its index as arguments, and should return a Promise that resolves to the desired value.
|
|
5
|
+
*
|
|
6
|
+
* @typeParam T - The original array element type.
|
|
7
|
+
* @typeParam U - The resulting array element type.
|
|
8
|
+
* @param arr - The array to map.
|
|
9
|
+
* @param fn - The async function to apply on each element of the array.
|
|
10
|
+
* @returns A Promise that resolves to a new array containing the mapped values.
|
|
11
|
+
*/ export async function asyncMap(arr, fn) {
|
|
12
|
+
const results = [];
|
|
13
|
+
for(let i = 0; i < arr.length; ++i){
|
|
14
|
+
results.push(await fn(arr[i], i));
|
|
15
|
+
}
|
|
16
|
+
return results;
|
|
17
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** Executes the given async function over the iterable, up to a determined number of promises in parallel. */
|
|
2
|
+
export declare function asyncPool<T, R>(poolLimit: number, iterable: T[], iteratorFn: (item: T, iterable: T[]) => Promise<R>): Promise<Awaited<R>[]>;
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/async-pool/index.ts"],"names":[],"mappings":"AA2BA,8GAA8G;AAC9G,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,yBAqBnH"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Adapted from https://github.com/rxaviers/async-pool/blob/1.x/lib/es6.js
|
|
3
|
+
*
|
|
4
|
+
* Copyright (c) 2017 Rafael Xavier de Souza http://rafael.xavier.blog.br
|
|
5
|
+
*
|
|
6
|
+
* Permission is hereby granted, free of charge, to any person
|
|
7
|
+
* obtaining a copy of this software and associated documentation
|
|
8
|
+
* files (the "Software"), to deal in the Software without
|
|
9
|
+
* restriction, including without limitation the rights to use,
|
|
10
|
+
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the
|
|
12
|
+
* Software is furnished to do so, subject to the following
|
|
13
|
+
* conditions:
|
|
14
|
+
*
|
|
15
|
+
* The above copyright notice and this permission notice shall be
|
|
16
|
+
* included in all copies or substantial portions of the Software.
|
|
17
|
+
*
|
|
18
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
19
|
+
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
20
|
+
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
21
|
+
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
22
|
+
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
23
|
+
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
24
|
+
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
25
|
+
* OTHER DEALINGS IN THE SOFTWARE.
|
|
26
|
+
*/ /** Executes the given async function over the iterable, up to a determined number of promises in parallel. */ export function asyncPool(poolLimit, iterable, iteratorFn) {
|
|
27
|
+
let i = 0;
|
|
28
|
+
const ret = [];
|
|
29
|
+
const executing = new Set();
|
|
30
|
+
const enqueue = ()=>{
|
|
31
|
+
if (i === iterable.length) {
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
}
|
|
34
|
+
const item = iterable[i++];
|
|
35
|
+
const p = Promise.resolve().then(()=>iteratorFn(item, iterable));
|
|
36
|
+
ret.push(p);
|
|
37
|
+
executing.add(p);
|
|
38
|
+
const clean = ()=>executing.delete(p);
|
|
39
|
+
p.then(clean).catch(clean);
|
|
40
|
+
let r = Promise.resolve();
|
|
41
|
+
if (executing.size >= poolLimit) {
|
|
42
|
+
r = Promise.race(executing);
|
|
43
|
+
}
|
|
44
|
+
return r.then(()=>enqueue());
|
|
45
|
+
};
|
|
46
|
+
return enqueue().then(()=>Promise.all(ret));
|
|
47
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/**
|
|
4
|
+
* Convert a little-endian buffer into a BigInt.
|
|
5
|
+
* @param buf - The little-endian buffer to convert.
|
|
6
|
+
* @returns A BigInt with the little-endian representation of buf.
|
|
7
|
+
*/
|
|
8
|
+
export declare function toBigIntLE(buf: Buffer): bigint;
|
|
9
|
+
/**
|
|
10
|
+
* Convert a big-endian buffer into a BigInt.
|
|
11
|
+
* @param buf - The big-endian buffer to convert.
|
|
12
|
+
* @returns A BigInt with the big-endian representation of buf.
|
|
13
|
+
*/
|
|
14
|
+
export declare function toBigIntBE(buf: Buffer): bigint;
|
|
15
|
+
/**
|
|
16
|
+
* Convert a BigInt to a little-endian buffer.
|
|
17
|
+
* @param num - The BigInt to convert.
|
|
18
|
+
* @param width - The number of bytes that the resulting buffer should be.
|
|
19
|
+
* @returns A little-endian buffer representation of num.
|
|
20
|
+
*/
|
|
21
|
+
export declare function toBufferLE(num: bigint, width: number): Buffer;
|
|
22
|
+
/**
|
|
23
|
+
* Convert a BigInt to a big-endian buffer.
|
|
24
|
+
* @param num - The BigInt to convert.
|
|
25
|
+
* @param width - The number of bytes that the resulting buffer should be.
|
|
26
|
+
* @returns A big-endian buffer representation of num.
|
|
27
|
+
*/
|
|
28
|
+
export declare function toBufferBE(num: bigint, width: number): Buffer;
|
|
29
|
+
/**
|
|
30
|
+
* Converts a BigInt to its hex representation.
|
|
31
|
+
* @param num - The BigInt to convert.
|
|
32
|
+
* @param padTo32 - Whether to pad the resulting string to 32 bytes.
|
|
33
|
+
* @returns An even-length 0x-prefixed string.
|
|
34
|
+
*/
|
|
35
|
+
export declare function toHex(num: bigint, padTo32?: boolean): `0x${string}`;
|
|
36
|
+
/**
|
|
37
|
+
* Converts a hex string to a buffer. Throws if input is not a valid hex string.
|
|
38
|
+
* @param value - The hex string to convert. May be 0x prefixed or not.
|
|
39
|
+
* @returns A buffer.
|
|
40
|
+
*/
|
|
41
|
+
export declare function fromHex(value: string): Buffer;
|
|
42
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bigint-buffer/index.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,KAAK,MAAM,EAAE,CAKjE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a little-endian buffer into a BigInt.
|
|
3
|
+
* @param buf - The little-endian buffer to convert.
|
|
4
|
+
* @returns A BigInt with the little-endian representation of buf.
|
|
5
|
+
*/ export function toBigIntLE(buf) {
|
|
6
|
+
const reversed = Buffer.from(buf);
|
|
7
|
+
reversed.reverse();
|
|
8
|
+
const hex = reversed.toString('hex');
|
|
9
|
+
if (hex.length === 0) {
|
|
10
|
+
return BigInt(0);
|
|
11
|
+
}
|
|
12
|
+
return BigInt(`0x${hex}`);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Convert a big-endian buffer into a BigInt.
|
|
16
|
+
* @param buf - The big-endian buffer to convert.
|
|
17
|
+
* @returns A BigInt with the big-endian representation of buf.
|
|
18
|
+
*/ export function toBigIntBE(buf) {
|
|
19
|
+
const hex = buf.toString('hex');
|
|
20
|
+
if (hex.length === 0) {
|
|
21
|
+
return BigInt(0);
|
|
22
|
+
}
|
|
23
|
+
return BigInt(`0x${hex}`);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Convert a BigInt to a little-endian buffer.
|
|
27
|
+
* @param num - The BigInt to convert.
|
|
28
|
+
* @param width - The number of bytes that the resulting buffer should be.
|
|
29
|
+
* @returns A little-endian buffer representation of num.
|
|
30
|
+
*/ export function toBufferLE(num, width) {
|
|
31
|
+
if (num < BigInt(0)) {
|
|
32
|
+
throw new Error(`Cannot convert negative bigint ${num.toString()} to buffer with toBufferLE.`);
|
|
33
|
+
}
|
|
34
|
+
const hex = num.toString(16);
|
|
35
|
+
const buffer = Buffer.from(hex.padStart(width * 2, '0').slice(0, width * 2), 'hex');
|
|
36
|
+
buffer.reverse();
|
|
37
|
+
return buffer;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Convert a BigInt to a big-endian buffer.
|
|
41
|
+
* @param num - The BigInt to convert.
|
|
42
|
+
* @param width - The number of bytes that the resulting buffer should be.
|
|
43
|
+
* @returns A big-endian buffer representation of num.
|
|
44
|
+
*/ export function toBufferBE(num, width) {
|
|
45
|
+
if (num < BigInt(0)) {
|
|
46
|
+
throw new Error(`Cannot convert negative bigint ${num.toString()} to buffer with toBufferBE.`);
|
|
47
|
+
}
|
|
48
|
+
const hex = num.toString(16);
|
|
49
|
+
const buffer = Buffer.from(hex.padStart(width * 2, '0').slice(0, width * 2), 'hex');
|
|
50
|
+
if (buffer.length > width) {
|
|
51
|
+
throw new Error(`Number ${num.toString(16)} does not fit in ${width}`);
|
|
52
|
+
}
|
|
53
|
+
return buffer;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Converts a BigInt to its hex representation.
|
|
57
|
+
* @param num - The BigInt to convert.
|
|
58
|
+
* @param padTo32 - Whether to pad the resulting string to 32 bytes.
|
|
59
|
+
* @returns An even-length 0x-prefixed string.
|
|
60
|
+
*/ export function toHex(num, padTo32 = false) {
|
|
61
|
+
const str = num.toString(16);
|
|
62
|
+
const targetLen = str.length % 2 === 0 ? str.length : str.length + 1;
|
|
63
|
+
const paddedStr = str.padStart(padTo32 ? 64 : targetLen, '0');
|
|
64
|
+
return `0x${paddedStr}`;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Converts a hex string to a buffer. Throws if input is not a valid hex string.
|
|
68
|
+
* @param value - The hex string to convert. May be 0x prefixed or not.
|
|
69
|
+
* @returns A buffer.
|
|
70
|
+
*/ export function fromHex(value) {
|
|
71
|
+
const hexRegex = /^(0x)?[0-9a-fA-F]*$/;
|
|
72
|
+
if (!hexRegex.test(value) || value.length % 2 !== 0) {
|
|
73
|
+
throw new Error(`Invalid hex string: ${value}`);
|
|
74
|
+
}
|
|
75
|
+
return Buffer.from(value.replace(/^0x/i, ''), 'hex');
|
|
76
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
import type { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
|
+
/**
|
|
6
|
+
* A class representing a 32 byte Buffer.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Buffer32 {
|
|
9
|
+
/**
|
|
10
|
+
* The buffer containing the hash.
|
|
11
|
+
*/
|
|
12
|
+
buffer: Buffer;
|
|
13
|
+
/**
|
|
14
|
+
* The size of the hash in bytes.
|
|
15
|
+
*/
|
|
16
|
+
static SIZE: number;
|
|
17
|
+
/**
|
|
18
|
+
* Buffer32 with value zero.
|
|
19
|
+
*/
|
|
20
|
+
static ZERO: Buffer32;
|
|
21
|
+
constructor(
|
|
22
|
+
/**
|
|
23
|
+
* The buffer containing the hash.
|
|
24
|
+
*/
|
|
25
|
+
buffer: Buffer);
|
|
26
|
+
/**
|
|
27
|
+
* Returns the raw buffer of the hash.
|
|
28
|
+
* @returns The buffer containing the hash.
|
|
29
|
+
*/
|
|
30
|
+
toBuffer(): Buffer;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a Buffer32 from a buffer.
|
|
33
|
+
* @param buffer - The buffer to create from.
|
|
34
|
+
* @returns A new Buffer32 object.
|
|
35
|
+
*/
|
|
36
|
+
static fromBuffer(buffer: Buffer | BufferReader): Buffer32;
|
|
37
|
+
/**
|
|
38
|
+
* Checks if this hash and another hash are equal.
|
|
39
|
+
* @param hash - A hash to compare with.
|
|
40
|
+
* @returns True if the hashes are equal, false otherwise.
|
|
41
|
+
*/
|
|
42
|
+
equals(hash: Buffer32): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Returns true if this hash is zero.
|
|
45
|
+
* @returns True if this hash is zero.
|
|
46
|
+
*/
|
|
47
|
+
isZero(): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Convert this hash to a hex string.
|
|
50
|
+
* @returns The hex string.
|
|
51
|
+
*/
|
|
52
|
+
toString(): `0x${string}`;
|
|
53
|
+
toJSON(): `0x${string}`;
|
|
54
|
+
/**
|
|
55
|
+
* Convert this hash to a big int.
|
|
56
|
+
* @returns The big int.
|
|
57
|
+
*/
|
|
58
|
+
toBigInt(): bigint;
|
|
59
|
+
/**
|
|
60
|
+
* Creates a Buffer32 from a bigint.
|
|
61
|
+
* @param hash - The tx hash as a big int.
|
|
62
|
+
* @returns The Buffer32.
|
|
63
|
+
*/
|
|
64
|
+
static fromBigInt(hash: bigint): Buffer32;
|
|
65
|
+
static fromField(hash: Fr): Buffer32;
|
|
66
|
+
/**
|
|
67
|
+
* Converts this hash from a buffer of 28 bytes.
|
|
68
|
+
* Verifies the input is 28 bytes.
|
|
69
|
+
* @param buffer - The 28 byte buffer to construct from.
|
|
70
|
+
* @returns A Buffer32 created from the input buffer with 4 bytes 0 padding at the front.
|
|
71
|
+
*/
|
|
72
|
+
static fromBuffer28(buffer: Buffer): Buffer32;
|
|
73
|
+
/**
|
|
74
|
+
* Converts a string into a Buffer32 object.
|
|
75
|
+
* @param str - The TX hash in string format.
|
|
76
|
+
* @returns A new Buffer32 object.
|
|
77
|
+
*/
|
|
78
|
+
static fromString(str: string): Buffer32;
|
|
79
|
+
/**
|
|
80
|
+
* Converts a number into a Buffer32 object.
|
|
81
|
+
* @param num - The number to convert.
|
|
82
|
+
* @returns A new Buffer32 object.
|
|
83
|
+
*/
|
|
84
|
+
static fromNumber(num: number): Buffer32;
|
|
85
|
+
/**
|
|
86
|
+
* Generates a random Buffer32.
|
|
87
|
+
* @returns A new Buffer32 object.
|
|
88
|
+
*/
|
|
89
|
+
static random(): Buffer32;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=buffer32.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer32.d.ts","sourceRoot":"","sources":["../../src/buffer/buffer32.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAsC,MAAM,6BAA6B,CAAC;AAI/F;;GAEG;AACH,qBAAa,QAAQ;IAYjB;;OAEG;IACI,MAAM,EAAE,MAAM;IAdvB;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,IAAI,WAA6C;;IAG7D;;OAEG;IACI,MAAM,EAAE,MAAM;IAOvB;;;OAGG;IACI,QAAQ;IAIf;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAKtD;;;;OAIG;IACI,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO;IAItC;;;OAGG;IACI,MAAM,IAAI,OAAO;IAIxB;;;OAGG;IACI,QAAQ;IAIf,MAAM;IAIN;;;OAGG;IACI,QAAQ;IAGf;;;;OAIG;WACW,UAAU,CAAC,IAAI,EAAE,MAAM;WAIvB,SAAS,CAAC,IAAI,EAAE,EAAE;IAIhC;;;;;OAKG;WACW,YAAY,CAAC,MAAM,EAAE,MAAM;IAQzC;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAU/C;;;;OAIG;WACW,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAI/C;;;OAGG;WACW,MAAM,IAAI,QAAQ;CAGjC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
2
|
+
import { BufferReader, deserializeBigInt, serializeBigInt } from '@aztec/foundation/serialize';
|
|
3
|
+
import { bufferToHex } from '../string/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* A class representing a 32 byte Buffer.
|
|
6
|
+
*/ export class Buffer32 {
|
|
7
|
+
buffer;
|
|
8
|
+
/**
|
|
9
|
+
* The size of the hash in bytes.
|
|
10
|
+
*/ static SIZE = 32;
|
|
11
|
+
/**
|
|
12
|
+
* Buffer32 with value zero.
|
|
13
|
+
*/ static ZERO = new Buffer32(Buffer.alloc(Buffer32.SIZE));
|
|
14
|
+
constructor(/**
|
|
15
|
+
* The buffer containing the hash.
|
|
16
|
+
*/ buffer){
|
|
17
|
+
this.buffer = buffer;
|
|
18
|
+
if (buffer.length !== Buffer32.SIZE) {
|
|
19
|
+
throw new Error(`Expected buffer to have length ${Buffer32.SIZE} but was ${buffer.length}`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Returns the raw buffer of the hash.
|
|
24
|
+
* @returns The buffer containing the hash.
|
|
25
|
+
*/ toBuffer() {
|
|
26
|
+
return this.buffer;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Creates a Buffer32 from a buffer.
|
|
30
|
+
* @param buffer - The buffer to create from.
|
|
31
|
+
* @returns A new Buffer32 object.
|
|
32
|
+
*/ static fromBuffer(buffer) {
|
|
33
|
+
const reader = BufferReader.asReader(buffer);
|
|
34
|
+
return new Buffer32(reader.readBytes(Buffer32.SIZE));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Checks if this hash and another hash are equal.
|
|
38
|
+
* @param hash - A hash to compare with.
|
|
39
|
+
* @returns True if the hashes are equal, false otherwise.
|
|
40
|
+
*/ equals(hash) {
|
|
41
|
+
return this.buffer.equals(hash.buffer);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Returns true if this hash is zero.
|
|
45
|
+
* @returns True if this hash is zero.
|
|
46
|
+
*/ isZero() {
|
|
47
|
+
return this.buffer.equals(Buffer.alloc(32, 0));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Convert this hash to a hex string.
|
|
51
|
+
* @returns The hex string.
|
|
52
|
+
*/ toString() {
|
|
53
|
+
return bufferToHex(this.buffer);
|
|
54
|
+
}
|
|
55
|
+
toJSON() {
|
|
56
|
+
return this.toString();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Convert this hash to a big int.
|
|
60
|
+
* @returns The big int.
|
|
61
|
+
*/ toBigInt() {
|
|
62
|
+
return deserializeBigInt(this.buffer, 0, Buffer32.SIZE).elem;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Creates a Buffer32 from a bigint.
|
|
66
|
+
* @param hash - The tx hash as a big int.
|
|
67
|
+
* @returns The Buffer32.
|
|
68
|
+
*/ static fromBigInt(hash) {
|
|
69
|
+
return new Buffer32(serializeBigInt(hash, Buffer32.SIZE));
|
|
70
|
+
}
|
|
71
|
+
static fromField(hash) {
|
|
72
|
+
return new Buffer32(serializeBigInt(hash.toBigInt()));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Converts this hash from a buffer of 28 bytes.
|
|
76
|
+
* Verifies the input is 28 bytes.
|
|
77
|
+
* @param buffer - The 28 byte buffer to construct from.
|
|
78
|
+
* @returns A Buffer32 created from the input buffer with 4 bytes 0 padding at the front.
|
|
79
|
+
*/ static fromBuffer28(buffer) {
|
|
80
|
+
if (buffer.length != 28) {
|
|
81
|
+
throw new Error(`Expected Buffer32 input buffer to be 28 bytes`);
|
|
82
|
+
}
|
|
83
|
+
const padded = Buffer.concat([
|
|
84
|
+
Buffer.alloc(this.SIZE - 28),
|
|
85
|
+
buffer
|
|
86
|
+
]);
|
|
87
|
+
return new Buffer32(padded);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Converts a string into a Buffer32 object.
|
|
91
|
+
* @param str - The TX hash in string format.
|
|
92
|
+
* @returns A new Buffer32 object.
|
|
93
|
+
*/ static fromString(str) {
|
|
94
|
+
if (str.startsWith('0x')) {
|
|
95
|
+
str = str.slice(2);
|
|
96
|
+
}
|
|
97
|
+
if (str.length !== 64) {
|
|
98
|
+
throw new Error(`Expected string to be 64 characters long, but was ${str.length}`);
|
|
99
|
+
}
|
|
100
|
+
return new Buffer32(Buffer.from(str, 'hex'));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Converts a number into a Buffer32 object.
|
|
104
|
+
* @param num - The number to convert.
|
|
105
|
+
* @returns A new Buffer32 object.
|
|
106
|
+
*/ static fromNumber(num) {
|
|
107
|
+
return new Buffer32(serializeBigInt(BigInt(num), Buffer32.SIZE));
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Generates a random Buffer32.
|
|
111
|
+
* @returns A new Buffer32 object.
|
|
112
|
+
*/ static random() {
|
|
113
|
+
return new Buffer32(Buffer.from(randomBytes(Buffer32.SIZE)));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buffer/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './buffer32.js';
|