@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
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
export type EnvVar =
|
|
2
|
+
| 'ACVM_BINARY_PATH'
|
|
3
|
+
| 'ACVM_WORKING_DIRECTORY'
|
|
4
|
+
| 'GOVERNANCE_CONTRACT_ADDRESS'
|
|
5
|
+
| 'API_KEY'
|
|
6
|
+
| 'API_PREFIX'
|
|
7
|
+
| 'ARCHIVER_MAX_LOGS'
|
|
8
|
+
| 'ARCHIVER_POLLING_INTERVAL_MS'
|
|
9
|
+
| 'ARCHIVER_URL'
|
|
10
|
+
| 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
|
|
11
|
+
| 'ARCHIVER_BATCH_SIZE'
|
|
12
|
+
| 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER'
|
|
13
|
+
| 'AZTEC_NODE_URL'
|
|
14
|
+
| 'AZTEC_PORT'
|
|
15
|
+
| 'BB_BINARY_PATH'
|
|
16
|
+
| 'BB_SKIP_CLEANUP'
|
|
17
|
+
| 'BB_WORKING_DIRECTORY'
|
|
18
|
+
| 'BOOTSTRAP_NODES'
|
|
19
|
+
| 'BLOB_SINK_ARCHIVE_API_URL'
|
|
20
|
+
| 'BLOB_SINK_PORT'
|
|
21
|
+
| 'BLOB_SINK_URL'
|
|
22
|
+
| 'BOT_DA_GAS_LIMIT'
|
|
23
|
+
| 'BOT_FEE_PAYMENT_METHOD'
|
|
24
|
+
| 'BOT_FLUSH_SETUP_TRANSACTIONS'
|
|
25
|
+
| 'BOT_FOLLOW_CHAIN'
|
|
26
|
+
| 'BOT_L2_GAS_LIMIT'
|
|
27
|
+
| 'BOT_MAX_PENDING_TXS'
|
|
28
|
+
| 'BOT_NO_START'
|
|
29
|
+
| 'BOT_NO_WAIT_FOR_TRANSFERS'
|
|
30
|
+
| 'BOT_L1_MNEMONIC'
|
|
31
|
+
| 'BOT_L1_PRIVATE_KEY'
|
|
32
|
+
| 'BOT_PRIVATE_KEY'
|
|
33
|
+
| 'BOT_PRIVATE_TRANSFERS_PER_TX'
|
|
34
|
+
| 'BOT_PUBLIC_TRANSFERS_PER_TX'
|
|
35
|
+
| 'BOT_PXE_URL'
|
|
36
|
+
| 'BOT_RECIPIENT_ENCRYPTION_SECRET'
|
|
37
|
+
| 'BOT_SKIP_PUBLIC_SIMULATION'
|
|
38
|
+
| 'BOT_TOKEN_CONTRACT'
|
|
39
|
+
| 'BOT_TOKEN_SALT'
|
|
40
|
+
| 'BOT_TX_INTERVAL_SECONDS'
|
|
41
|
+
| 'BOT_TX_MINED_WAIT_SECONDS'
|
|
42
|
+
| 'BOT_MAX_CONSECUTIVE_ERRORS'
|
|
43
|
+
| 'BOT_STOP_WHEN_UNHEALTHY'
|
|
44
|
+
| 'COINBASE'
|
|
45
|
+
| 'DATA_DIRECTORY'
|
|
46
|
+
| 'DATA_STORE_MAP_SIZE_KB'
|
|
47
|
+
| 'DEBUG'
|
|
48
|
+
| 'DEBUG_P2P_DISABLE_COLOCATION_PENALTY'
|
|
49
|
+
| 'DEPLOY_AZTEC_CONTRACTS_SALT'
|
|
50
|
+
| 'DEPLOY_AZTEC_CONTRACTS'
|
|
51
|
+
| 'ENFORCE_FEES'
|
|
52
|
+
| 'ETHEREUM_HOSTS'
|
|
53
|
+
| 'FEE_JUICE_CONTRACT_ADDRESS'
|
|
54
|
+
| 'FEE_JUICE_PORTAL_CONTRACT_ADDRESS'
|
|
55
|
+
| 'FEE_RECIPIENT'
|
|
56
|
+
| 'FORCE_COLOR'
|
|
57
|
+
| 'GOVERNANCE_PROPOSER_CONTRACT_ADDRESS'
|
|
58
|
+
| 'GOVERNANCE_PROPOSER_PAYLOAD_ADDRESS'
|
|
59
|
+
| 'INBOX_CONTRACT_ADDRESS'
|
|
60
|
+
| 'L1_CHAIN_ID'
|
|
61
|
+
| 'L1_CONSENSUS_HOST_URL'
|
|
62
|
+
| 'L1_CONSENSUS_HOST_API_KEY'
|
|
63
|
+
| 'L1_CONSENSUS_HOST_API_KEY_HEADER'
|
|
64
|
+
| 'L1_PRIVATE_KEY'
|
|
65
|
+
| 'LOG_JSON'
|
|
66
|
+
| 'LOG_MULTILINE'
|
|
67
|
+
| 'LOG_LEVEL'
|
|
68
|
+
| 'MNEMONIC'
|
|
69
|
+
| 'NETWORK_NAME'
|
|
70
|
+
| 'NETWORK'
|
|
71
|
+
| 'NO_PXE'
|
|
72
|
+
| 'COIN_ISSUER_CONTRACT_ADDRESS'
|
|
73
|
+
| 'USE_GCLOUD_LOGGING'
|
|
74
|
+
| 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
|
|
75
|
+
| 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT'
|
|
76
|
+
| 'OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'
|
|
77
|
+
| 'OTEL_COLLECT_INTERVAL_MS'
|
|
78
|
+
| 'OTEL_EXCLUDE_METRICS'
|
|
79
|
+
| 'OTEL_EXPORT_TIMEOUT_MS'
|
|
80
|
+
| 'OUTBOX_CONTRACT_ADDRESS'
|
|
81
|
+
| 'P2P_BLOCK_CHECK_INTERVAL_MS'
|
|
82
|
+
| 'P2P_BLOCK_REQUEST_BATCH_SIZE'
|
|
83
|
+
| 'P2P_BOOTSTRAP_NODE_ENR_VERSION_CHECK'
|
|
84
|
+
| 'P2P_BOOTSTRAP_NODES_AS_FULL_PEERS'
|
|
85
|
+
| 'P2P_ENABLED'
|
|
86
|
+
| 'P2P_GOSSIPSUB_D'
|
|
87
|
+
| 'P2P_GOSSIPSUB_DHI'
|
|
88
|
+
| 'P2P_GOSSIPSUB_DLO'
|
|
89
|
+
| 'P2P_GOSSIPSUB_DLAZY'
|
|
90
|
+
| 'P2P_GOSSIPSUB_FLOOD_PUBLISH'
|
|
91
|
+
| 'P2P_GOSSIPSUB_INTERVAL_MS'
|
|
92
|
+
| 'P2P_GOSSIPSUB_MCACHE_GOSSIP'
|
|
93
|
+
| 'P2P_GOSSIPSUB_MCACHE_LENGTH'
|
|
94
|
+
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY'
|
|
95
|
+
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT'
|
|
96
|
+
| 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT'
|
|
97
|
+
| 'P2P_L2_QUEUE_SIZE'
|
|
98
|
+
| 'P2P_MAX_PEERS'
|
|
99
|
+
| 'P2P_PEER_CHECK_INTERVAL_MS'
|
|
100
|
+
| 'P2P_PEER_PENALTY_VALUES'
|
|
101
|
+
| 'P2P_QUERY_FOR_IP'
|
|
102
|
+
| 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
|
|
103
|
+
| 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS'
|
|
104
|
+
| 'P2P_DOUBLE_SPEND_SEVERE_PEER_PENALTY_WINDOW'
|
|
105
|
+
| 'P2P_TCP_LISTEN_ADDR'
|
|
106
|
+
| 'P2P_TCP_ANNOUNCE_ADDR'
|
|
107
|
+
| 'P2P_TX_POOL_KEEP_PROVEN_FOR'
|
|
108
|
+
| 'P2P_ATTESTATION_POOL_KEEP_FOR'
|
|
109
|
+
| 'P2P_UDP_ANNOUNCE_ADDR'
|
|
110
|
+
| 'P2P_UDP_LISTEN_ADDR'
|
|
111
|
+
| 'P2P_ARCHIVED_TX_LIMIT'
|
|
112
|
+
| 'PEER_ID_PRIVATE_KEY'
|
|
113
|
+
| 'PROVER_AGENT_CONCURRENCY'
|
|
114
|
+
| 'PROVER_AGENT_COUNT'
|
|
115
|
+
| 'PROVER_AGENT_PROOF_TYPES'
|
|
116
|
+
| 'PROVER_AGENT_POLL_INTERVAL_MS'
|
|
117
|
+
| 'PROVER_BROKER_HOST'
|
|
118
|
+
| 'PROVER_BROKER_ENABLED'
|
|
119
|
+
| 'PROVER_BROKER_JOB_TIMEOUT_MS'
|
|
120
|
+
| 'PROVER_BROKER_POLL_INTERVAL_MS'
|
|
121
|
+
| 'PROVER_BROKER_JOB_MAX_RETRIES'
|
|
122
|
+
| 'PROVER_BROKER_BATCH_INTERVAL_MS'
|
|
123
|
+
| 'PROVER_BROKER_BATCH_SIZE'
|
|
124
|
+
| 'PROVER_BROKER_MAX_EPOCHS_TO_KEEP_RESULTS_FOR'
|
|
125
|
+
| 'PROVER_COORDINATION_NODE_URL'
|
|
126
|
+
| 'PROVER_FAILED_PROOF_STORE'
|
|
127
|
+
| 'PROVER_ID'
|
|
128
|
+
| 'PROVER_JOB_TIMEOUT_MS'
|
|
129
|
+
| 'PROVER_NODE_POLLING_INTERVAL_MS'
|
|
130
|
+
| 'PROVER_NODE_MAX_PENDING_JOBS'
|
|
131
|
+
| 'PROVER_NODE_MAX_PARALLEL_BLOCKS_PER_EPOCH'
|
|
132
|
+
| 'PROVER_NODE_TX_GATHERING_TIMEOUT_MS'
|
|
133
|
+
| 'PROVER_NODE_TX_GATHERING_INTERVAL_MS'
|
|
134
|
+
| 'PROVER_NODE_TX_GATHERING_MAX_PARALLEL_REQUESTS'
|
|
135
|
+
| 'PROVER_PUBLISH_RETRY_INTERVAL_MS'
|
|
136
|
+
| 'PROVER_PUBLISHER_PRIVATE_KEY'
|
|
137
|
+
| 'PROVER_REAL_PROOFS'
|
|
138
|
+
| 'PROVER_TEST_DELAY_FACTOR'
|
|
139
|
+
| 'PROVER_TEST_DELAY_MS'
|
|
140
|
+
| 'PROVER_TEST_DELAY_TYPE'
|
|
141
|
+
| 'PXE_L2_STARTING_BLOCK'
|
|
142
|
+
| 'PXE_PROVER_ENABLED'
|
|
143
|
+
| 'REGISTRY_CONTRACT_ADDRESS'
|
|
144
|
+
| 'ROLLUP_CONTRACT_ADDRESS'
|
|
145
|
+
| 'SEQ_ALLOWED_SETUP_FN'
|
|
146
|
+
| 'SEQ_MAX_BLOCK_SIZE_IN_BYTES'
|
|
147
|
+
| 'SEQ_MAX_TX_PER_BLOCK'
|
|
148
|
+
| 'SEQ_MIN_TX_PER_BLOCK'
|
|
149
|
+
| 'SEQ_MAX_DA_BLOCK_GAS'
|
|
150
|
+
| 'SEQ_MAX_L2_BLOCK_GAS'
|
|
151
|
+
| 'SEQ_PUBLISH_RETRY_INTERVAL_MS'
|
|
152
|
+
| 'SEQ_PUBLISHER_PRIVATE_KEY'
|
|
153
|
+
| 'SEQ_TX_POLLING_INTERVAL_MS'
|
|
154
|
+
| 'SEQ_ENFORCE_TIME_TABLE'
|
|
155
|
+
| 'SEQ_MAX_L1_TX_INCLUSION_TIME_INTO_SLOT'
|
|
156
|
+
| 'SLASH_FACTORY_CONTRACT_ADDRESS'
|
|
157
|
+
| 'STAKING_ASSET_CONTRACT_ADDRESS'
|
|
158
|
+
| 'REWARD_DISTRIBUTOR_CONTRACT_ADDRESS'
|
|
159
|
+
| 'TELEMETRY'
|
|
160
|
+
| 'TEST_ACCOUNTS'
|
|
161
|
+
| 'TX_GOSSIP_VERSION'
|
|
162
|
+
| 'TXE_PORT'
|
|
163
|
+
| 'VALIDATOR_ATTESTATIONS_POLLING_INTERVAL_MS'
|
|
164
|
+
| 'VALIDATOR_DISABLED'
|
|
165
|
+
| 'VALIDATOR_PRIVATE_KEY'
|
|
166
|
+
| 'VALIDATOR_REEXECUTE'
|
|
167
|
+
| 'VERSION'
|
|
168
|
+
| 'WS_BLOCK_CHECK_INTERVAL_MS'
|
|
169
|
+
| 'WS_PROVEN_BLOCKS_ONLY'
|
|
170
|
+
| 'WS_BLOCK_REQUEST_BATCH_SIZE'
|
|
171
|
+
| 'VERIFIER_VIEM_POLLING_INTERVAL_MS'
|
|
172
|
+
| 'L1_READER_VIEM_POLLING_INTERVAL_MS'
|
|
173
|
+
| 'PROVER_VIEM_POLLING_INTERVAL_MS'
|
|
174
|
+
| 'SEQ_VIEM_POLLING_INTERVAL_MS'
|
|
175
|
+
| 'WS_DB_MAP_SIZE_KB'
|
|
176
|
+
| 'WS_DATA_DIRECTORY'
|
|
177
|
+
| 'WS_NUM_HISTORIC_BLOCKS'
|
|
178
|
+
| 'ETHEREUM_SLOT_DURATION'
|
|
179
|
+
| 'AZTEC_SLOT_DURATION'
|
|
180
|
+
| 'AZTEC_EPOCH_DURATION'
|
|
181
|
+
| 'AZTEC_TARGET_COMMITTEE_SIZE'
|
|
182
|
+
| 'AZTEC_PROOF_SUBMISSION_WINDOW'
|
|
183
|
+
| 'AZTEC_MINIMUM_STAKE'
|
|
184
|
+
| 'AZTEC_SLASHING_QUORUM'
|
|
185
|
+
| 'AZTEC_SLASHING_ROUND_SIZE'
|
|
186
|
+
| 'AZTEC_GOVERNANCE_PROPOSER_QUORUM'
|
|
187
|
+
| 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE'
|
|
188
|
+
| 'L1_GAS_LIMIT_BUFFER_PERCENTAGE'
|
|
189
|
+
| 'L1_GAS_PRICE_MIN'
|
|
190
|
+
| 'L1_GAS_PRICE_MAX'
|
|
191
|
+
| 'L1_BLOB_FEE_PER_GAS_MAX'
|
|
192
|
+
| 'L1_PRIORITY_FEE_BUMP_PERCENTAGE'
|
|
193
|
+
| 'L1_PRIORITY_FEE_RETRY_BUMP_PERCENTAGE'
|
|
194
|
+
| 'L1_FIXED_PRIORITY_FEE_PER_GAS'
|
|
195
|
+
| 'L1_TX_MONITOR_MAX_ATTEMPTS'
|
|
196
|
+
| 'L1_TX_MONITOR_CHECK_INTERVAL_MS'
|
|
197
|
+
| 'L1_TX_MONITOR_STALL_TIME_MS'
|
|
198
|
+
| 'L1_TX_MONITOR_TX_TIMEOUT_MS'
|
|
199
|
+
| 'L1_TX_PROPAGATION_MAX_QUERY_ATTEMPTS'
|
|
200
|
+
| 'FAUCET_MNEMONIC_ACCOUNT_INDEX'
|
|
201
|
+
| 'FAUCET_ETH_AMOUNT'
|
|
202
|
+
| 'FAUCET_INTERVAL_MS'
|
|
203
|
+
| 'FAUCET_L1_ASSETS'
|
|
204
|
+
| 'K8S_POD_NAME'
|
|
205
|
+
| 'K8S_POD_UID'
|
|
206
|
+
| 'K8S_NAMESPACE_NAME'
|
|
207
|
+
| 'CUSTOM_FORWARDER_CONTRACT_ADDRESS';
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import type { EnvVar } from './env_var.js';
|
|
2
|
+
|
|
3
|
+
export { type EnvVar } from './env_var.js';
|
|
4
|
+
|
|
5
|
+
export interface ConfigMapping {
|
|
6
|
+
env?: EnvVar;
|
|
7
|
+
parseEnv?: (val: string) => any;
|
|
8
|
+
defaultValue?: any;
|
|
9
|
+
printDefault?: (val: any) => string;
|
|
10
|
+
description: string;
|
|
11
|
+
isBoolean?: boolean;
|
|
12
|
+
nested?: Record<string, ConfigMapping>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function isBooleanConfigValue<T>(obj: T, key: keyof T): boolean {
|
|
16
|
+
return typeof obj[key] === 'boolean';
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type ConfigMappingsType<T> = Record<keyof T, ConfigMapping>;
|
|
20
|
+
|
|
21
|
+
export function getConfigFromMappings<T>(configMappings: ConfigMappingsType<T>): T {
|
|
22
|
+
const config = {} as T;
|
|
23
|
+
|
|
24
|
+
for (const key in configMappings) {
|
|
25
|
+
const { env, parseEnv, defaultValue: def, nested } = configMappings[key];
|
|
26
|
+
if (nested) {
|
|
27
|
+
(config as any)[key] = getConfigFromMappings(nested);
|
|
28
|
+
} else {
|
|
29
|
+
const val = env ? process.env[env] : undefined;
|
|
30
|
+
if (val !== undefined) {
|
|
31
|
+
(config as any)[key] = parseEnv ? parseEnv(val) : val;
|
|
32
|
+
} else if (def !== undefined) {
|
|
33
|
+
(config as any)[key] = def;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return config;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Filters out a service's config mappings to exclude certain keys.
|
|
43
|
+
* @param configMappings - The service's config mappings
|
|
44
|
+
* @param keysToFilter - The keys to filter out
|
|
45
|
+
* @returns The filtered config mappings
|
|
46
|
+
*/
|
|
47
|
+
export function omitConfigMappings<T, K extends keyof T>(
|
|
48
|
+
configMappings: ConfigMappingsType<T>,
|
|
49
|
+
keysToFilter: K[],
|
|
50
|
+
): ConfigMappingsType<Omit<T, K>> {
|
|
51
|
+
return Object.fromEntries(
|
|
52
|
+
Object.entries(configMappings).filter(([key]) => !keysToFilter.includes(key as K)),
|
|
53
|
+
) as ConfigMappingsType<Omit<T, K>>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Generates parseEnv and default values for a numerical config value.
|
|
58
|
+
* @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
|
|
59
|
+
* @returns Object with parseEnv and default values for a numerical config value
|
|
60
|
+
*/
|
|
61
|
+
export function numberConfigHelper(defaultVal: number): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'> {
|
|
62
|
+
return {
|
|
63
|
+
parseEnv: (val: string) => safeParseNumber(val, defaultVal),
|
|
64
|
+
defaultValue: defaultVal,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Generates parseEnv and default values for a numerical config value.
|
|
70
|
+
* @param defaultVal - The default numerical value to use if the environment variable is not set or is invalid
|
|
71
|
+
* @returns Object with parseEnv and default values for a numerical config value
|
|
72
|
+
*/
|
|
73
|
+
export function bigintConfigHelper(defaultVal?: bigint): Pick<ConfigMapping, 'parseEnv' | 'defaultValue'> {
|
|
74
|
+
return {
|
|
75
|
+
parseEnv: (val: string) => {
|
|
76
|
+
if (val === '') {
|
|
77
|
+
return defaultVal;
|
|
78
|
+
}
|
|
79
|
+
return BigInt(val);
|
|
80
|
+
},
|
|
81
|
+
defaultValue: defaultVal,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Generates parseEnv for an optional numerical config value.
|
|
87
|
+
*/
|
|
88
|
+
export function optionalNumberConfigHelper(): Pick<ConfigMapping, 'parseEnv'> {
|
|
89
|
+
return {
|
|
90
|
+
parseEnv: (val: string | undefined) => {
|
|
91
|
+
if (val !== undefined && val.length > 0) {
|
|
92
|
+
const parsedValue = parseInt(val);
|
|
93
|
+
return Number.isSafeInteger(parsedValue) ? parsedValue : undefined;
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Generates parseEnv and default values for a boolean config value.
|
|
102
|
+
* @param defaultVal - The default value to use if the environment variable is not set or is invalid
|
|
103
|
+
* @returns Object with parseEnv and default values for a boolean config value
|
|
104
|
+
*/
|
|
105
|
+
export function booleanConfigHelper(
|
|
106
|
+
defaultVal = false,
|
|
107
|
+
): Required<Pick<ConfigMapping, 'parseEnv' | 'defaultValue' | 'isBoolean'> & { parseVal: (val: string) => boolean }> {
|
|
108
|
+
const parse = (val: string | boolean) => (typeof val === 'boolean' ? val : parseBooleanEnv(val));
|
|
109
|
+
return {
|
|
110
|
+
parseEnv: parse,
|
|
111
|
+
parseVal: parse,
|
|
112
|
+
defaultValue: defaultVal,
|
|
113
|
+
isBoolean: true,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** Parses an env var as boolean. Returns true only if value is 1, true, or TRUE. */
|
|
118
|
+
export function parseBooleanEnv(val: string | undefined): boolean {
|
|
119
|
+
return val !== undefined && ['1', 'true', 'TRUE'].includes(val);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Safely parses a number from a string.
|
|
124
|
+
* If the value is not a number or is not a safe integer, the default value is returned.
|
|
125
|
+
* @param value - The string value to parse
|
|
126
|
+
* @param defaultValue - The default value to return
|
|
127
|
+
* @returns Either parsed value or default value
|
|
128
|
+
*/
|
|
129
|
+
function safeParseNumber(value: string, defaultValue: number): number {
|
|
130
|
+
const parsedValue = parseInt(value, 10);
|
|
131
|
+
return Number.isSafeInteger(parsedValue) ? parsedValue : defaultValue;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Picks specific keys from the given configuration mappings.
|
|
136
|
+
*
|
|
137
|
+
* @template T - The type of the full configuration object.
|
|
138
|
+
* @template K - The keys to pick from the configuration object.
|
|
139
|
+
* @param {ConfigMappingsType<T>} configMappings - The full configuration mappings object.
|
|
140
|
+
* @param {K[]} keys - The keys to pick from the configuration mappings.
|
|
141
|
+
* @returns {ConfigMappingsType<Pick<T, K>>} - A new configuration mappings object containing only the specified keys.
|
|
142
|
+
*/
|
|
143
|
+
export function pickConfigMappings<T, K extends keyof T>(
|
|
144
|
+
configMappings: ConfigMappingsType<T>,
|
|
145
|
+
keys: K[],
|
|
146
|
+
): ConfigMappingsType<Pick<T, K>> {
|
|
147
|
+
return Object.fromEntries(keys.map(key => [key, configMappings[key]])) as ConfigMappingsType<Pick<T, K>>;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Extracts the default configuration values from the given configuration mappings.
|
|
152
|
+
*
|
|
153
|
+
* @template T - The type of the configuration object.
|
|
154
|
+
* @param {ConfigMappingsType<T>} configMappings - The configuration mappings object.
|
|
155
|
+
* @returns {T} - The configuration object with default values.
|
|
156
|
+
*/
|
|
157
|
+
export function getDefaultConfig<T>(configMappings: ConfigMappingsType<T>): T {
|
|
158
|
+
const defaultConfig = {} as T;
|
|
159
|
+
|
|
160
|
+
for (const key in configMappings) {
|
|
161
|
+
if (configMappings[key] && configMappings[key].defaultValue !== undefined) {
|
|
162
|
+
(defaultConfig as any)[key] = configMappings[key].defaultValue;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return defaultConfig;
|
|
167
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { BarretenbergSync, RawBuffer } from '@aztec/bb.js';
|
|
2
|
+
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* AES-128-CBC encryption/decryption.
|
|
7
|
+
*/
|
|
8
|
+
export class Aes128 {
|
|
9
|
+
/**
|
|
10
|
+
* Encrypt a buffer using AES-128-CBC.
|
|
11
|
+
* @param data - Data to encrypt.
|
|
12
|
+
* @param iv - AES initialization vector.
|
|
13
|
+
* @param key - Key to encrypt with.
|
|
14
|
+
* @returns Encrypted data.
|
|
15
|
+
*/
|
|
16
|
+
public async encryptBufferCBC(data: Uint8Array, iv: Uint8Array, key: Uint8Array) {
|
|
17
|
+
const rawLength = data.length;
|
|
18
|
+
const numPaddingBytes = 16 - (rawLength % 16);
|
|
19
|
+
const paddingBuffer = Buffer.alloc(numPaddingBytes);
|
|
20
|
+
// input num bytes needs to be a multiple of 16 and at least 1 byte
|
|
21
|
+
// node uses PKCS#7-Padding scheme, where padding byte value = the number of padding bytes
|
|
22
|
+
paddingBuffer.fill(numPaddingBytes);
|
|
23
|
+
const input = Buffer.concat([data, paddingBuffer]);
|
|
24
|
+
|
|
25
|
+
const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
|
|
26
|
+
return Buffer.from(
|
|
27
|
+
api.aesEncryptBufferCbc(new RawBuffer(input), new RawBuffer(iv), new RawBuffer(key), input.length),
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Decrypt a buffer using AES-128-CBC.
|
|
33
|
+
* We keep the padding in the returned buffer.
|
|
34
|
+
* @param data - Data to decrypt.
|
|
35
|
+
* @param iv - AES initialization vector.
|
|
36
|
+
* @param key - Key to decrypt with.
|
|
37
|
+
* @returns Decrypted data.
|
|
38
|
+
*/
|
|
39
|
+
public async decryptBufferCBCKeepPadding(data: Uint8Array, iv: Uint8Array, key: Uint8Array): Promise<Buffer> {
|
|
40
|
+
const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
|
|
41
|
+
const paddedBuffer = Buffer.from(
|
|
42
|
+
api.aesDecryptBufferCbc(new RawBuffer(data), new RawBuffer(iv), new RawBuffer(key), data.length),
|
|
43
|
+
);
|
|
44
|
+
return paddedBuffer;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Decrypt a buffer using AES-128-CBC.
|
|
49
|
+
* @param data - Data to decrypt.
|
|
50
|
+
* @param iv - AES initialization vector.
|
|
51
|
+
* @param key - Key to decrypt with.
|
|
52
|
+
* @returns Decrypted data.
|
|
53
|
+
*/
|
|
54
|
+
public async decryptBufferCBC(data: Uint8Array, iv: Uint8Array, key: Uint8Array) {
|
|
55
|
+
const paddedBuffer = await this.decryptBufferCBCKeepPadding(data, iv, key);
|
|
56
|
+
const paddingToRemove = paddedBuffer[paddedBuffer.length - 1];
|
|
57
|
+
return paddedBuffer.subarray(0, paddedBuffer.length - paddingToRemove);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { BarretenbergSync } from '@aztec/bb.js';
|
|
2
|
+
import { numToInt32BE } from '@aztec/foundation/serialize';
|
|
3
|
+
|
|
4
|
+
import { concatenateUint8Arrays } from '../serialize.js';
|
|
5
|
+
import { EcdsaSignature } from './signature.js';
|
|
6
|
+
|
|
7
|
+
export * from './signature.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* ECDSA signature construction and helper operations.
|
|
11
|
+
* TODO: Replace with codegen api on bb.js.
|
|
12
|
+
*/
|
|
13
|
+
export class Ecdsa {
|
|
14
|
+
/**
|
|
15
|
+
* Computes a secp256k1 public key from a private key.
|
|
16
|
+
* @param privateKey - Secp256k1 private key.
|
|
17
|
+
* @returns A secp256k1 public key.
|
|
18
|
+
*/
|
|
19
|
+
public async computePublicKey(privateKey: Buffer): Promise<Buffer> {
|
|
20
|
+
const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
|
|
21
|
+
const [result] = api.getWasm().callWasmExport('ecdsa__compute_public_key', [privateKey], [64]);
|
|
22
|
+
return Buffer.from(result);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Constructs an ECDSA signature given a msg and a private key.
|
|
27
|
+
* @param msg - Message over which the signature is constructed.
|
|
28
|
+
* @param privateKey - The secp256k1 private key of the signer.
|
|
29
|
+
* @returns An ECDSA signature of the form (r, s, v).
|
|
30
|
+
*/
|
|
31
|
+
public async constructSignature(msg: Uint8Array, privateKey: Buffer) {
|
|
32
|
+
const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
|
|
33
|
+
const messageArray = concatenateUint8Arrays([numToInt32BE(msg.length), msg]);
|
|
34
|
+
const [r, s, v] = api
|
|
35
|
+
.getWasm()
|
|
36
|
+
.callWasmExport('ecdsa__construct_signature_', [messageArray, privateKey], [32, 32, 1]);
|
|
37
|
+
return new EcdsaSignature(Buffer.from(r), Buffer.from(s), Buffer.from(v));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Recovers a secp256k1 public key from an ECDSA signature (similar to ecrecover).
|
|
42
|
+
* @param msg - Message over which the signature was constructed.
|
|
43
|
+
* @param sig - The ECDSA signature.
|
|
44
|
+
* @returns The secp256k1 public key of the signer.
|
|
45
|
+
*/
|
|
46
|
+
public async recoverPublicKey(msg: Uint8Array, sig: EcdsaSignature): Promise<Buffer> {
|
|
47
|
+
const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
|
|
48
|
+
const messageArray = concatenateUint8Arrays([numToInt32BE(msg.length), msg]);
|
|
49
|
+
const [result] = api
|
|
50
|
+
.getWasm()
|
|
51
|
+
.callWasmExport('ecdsa__recover_public_key_from_signature_', [messageArray, sig.r, sig.s, sig.v], [64]);
|
|
52
|
+
return Buffer.from(result);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Verifies and ECDSA signature given a secp256k1 public key.
|
|
57
|
+
* @param msg - Message over which the signature was constructed.
|
|
58
|
+
* @param pubKey - The secp256k1 public key of the signer.
|
|
59
|
+
* @param sig - The ECDSA signature.
|
|
60
|
+
* @returns True or false.
|
|
61
|
+
*/
|
|
62
|
+
public async verifySignature(msg: Uint8Array, pubKey: Buffer, sig: EcdsaSignature) {
|
|
63
|
+
const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
|
|
64
|
+
const messageArray = concatenateUint8Arrays([numToInt32BE(msg.length), msg]);
|
|
65
|
+
const [result] = api
|
|
66
|
+
.getWasm()
|
|
67
|
+
.callWasmExport('ecdsa__verify_signature_', [messageArray, pubKey, sig.r, sig.s, sig.v], [1]);
|
|
68
|
+
return result[0] === 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { mapTuple } from '@aztec/foundation/serialize';
|
|
5
|
+
|
|
6
|
+
import type { Signature } from '../signature/index.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* ECDSA signature used for transactions.
|
|
10
|
+
* @see cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp
|
|
11
|
+
*/
|
|
12
|
+
export class EcdsaSignature implements Signature {
|
|
13
|
+
constructor(
|
|
14
|
+
/**
|
|
15
|
+
* The r byte-array (32 bytes) in an ECDSA signature.
|
|
16
|
+
*/
|
|
17
|
+
public r: Buffer,
|
|
18
|
+
/**
|
|
19
|
+
* The s byte-array (32 bytes) in an ECDSA signature.
|
|
20
|
+
*/
|
|
21
|
+
public s: Buffer,
|
|
22
|
+
/**
|
|
23
|
+
* The recovery id (1 byte) in an ECDSA signature.
|
|
24
|
+
*/
|
|
25
|
+
public v: Buffer,
|
|
26
|
+
) {
|
|
27
|
+
if (r.length != 32) {
|
|
28
|
+
throw new Error(`Invalid length of 'r' in ECDSA signature. Expected 32, got ${s.length}`);
|
|
29
|
+
}
|
|
30
|
+
if (s.length != 32) {
|
|
31
|
+
throw new Error(`Invalid length of 's' in ECDSA signature. Expected 32, got ${r.length}`);
|
|
32
|
+
}
|
|
33
|
+
if (v.length != 1) {
|
|
34
|
+
throw new Error(`Invalid length of 'v' in ECDSA signature. Expected 1, got ${v.length}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Converts an ECDSA signature to a buffer.
|
|
40
|
+
* @returns A buffer.
|
|
41
|
+
*/
|
|
42
|
+
toBuffer() {
|
|
43
|
+
return Buffer.concat([this.r, this.s, this.v]);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Deserializes the signature from a buffer.
|
|
48
|
+
* @param buffer - The buffer from which to deserialize the signature.
|
|
49
|
+
* @returns The ECDSA signature
|
|
50
|
+
*/
|
|
51
|
+
public static fromBuffer(buffer: Buffer) {
|
|
52
|
+
return new EcdsaSignature(buffer.subarray(0, 32), buffer.subarray(32, 64), buffer.subarray(64, 65));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Creates a new instance from bigint r and s values.
|
|
57
|
+
* @param r - r.
|
|
58
|
+
* @param s - s.
|
|
59
|
+
* @param v - v.
|
|
60
|
+
* @returns The resulting signature.
|
|
61
|
+
*/
|
|
62
|
+
public static fromBigInts(r: bigint, s: bigint, v: number) {
|
|
63
|
+
return new EcdsaSignature(toBufferBE(r, 32), toBufferBE(s, 32), Buffer.from([v]));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Generate a random ECDSA signature for testing.
|
|
68
|
+
* @returns A randomly generated ECDSA signature (not a valid one).
|
|
69
|
+
*/
|
|
70
|
+
public static random() {
|
|
71
|
+
return new EcdsaSignature(randomBytes(32), randomBytes(32), Buffer.from([27]));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Convert an ECDSA signature to a buffer.
|
|
76
|
+
* @returns A 65-character string of the form 0x<r><s><v>.
|
|
77
|
+
*/
|
|
78
|
+
toString() {
|
|
79
|
+
return `0x${this.toBuffer().toString('hex')}`;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Converts the signature to an array of fields.
|
|
84
|
+
* @param includeV - Determines whether the 'v' term is included
|
|
85
|
+
* @returns The signature components as an array of fields
|
|
86
|
+
*/
|
|
87
|
+
toFields(includeV = false): Fr[] {
|
|
88
|
+
const sig = this.toBuffer();
|
|
89
|
+
|
|
90
|
+
const buf1 = Buffer.alloc(32);
|
|
91
|
+
const buf2 = Buffer.alloc(32);
|
|
92
|
+
const buf3 = Buffer.alloc(32);
|
|
93
|
+
|
|
94
|
+
sig.copy(buf1, 1, 0, 31);
|
|
95
|
+
sig.copy(buf2, 1, 31, 62);
|
|
96
|
+
sig.copy(buf3, 1, 62, includeV ? 65 : 64);
|
|
97
|
+
|
|
98
|
+
return mapTuple([buf1, buf2, buf3], Fr.fromBuffer);
|
|
99
|
+
}
|
|
100
|
+
}
|