@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.017a351
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/array/array.d.ts +6 -9
- package/dest/array/array.d.ts.map +1 -1
- package/dest/array/array.js +11 -11
- package/dest/array/index.d.ts +2 -1
- package/dest/array/index.d.ts.map +1 -1
- package/dest/array/index.js +1 -0
- package/dest/array/sorted_array.d.ts +15 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +109 -0
- package/dest/async-map/index.d.ts +1 -1
- package/dest/async-pool/index.d.ts +1 -1
- package/dest/async-pool/index.d.ts.map +1 -1
- package/dest/async-pool/index.js +1 -0
- package/dest/bigint/index.d.ts +7 -0
- package/dest/bigint/index.d.ts.map +1 -0
- package/dest/bigint/index.js +15 -0
- package/dest/bigint-buffer/index.d.ts +1 -3
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/bigint-buffer/index.js +6 -1
- package/dest/branded-types/block_number.d.ts +56 -0
- package/dest/branded-types/block_number.d.ts.map +1 -0
- package/dest/branded-types/block_number.js +89 -0
- package/dest/branded-types/buffer32_hash.d.ts +27 -0
- package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
- package/dest/branded-types/buffer32_hash.js +12 -0
- package/dest/branded-types/checkpoint_number.d.ts +60 -0
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
- package/dest/branded-types/checkpoint_number.js +88 -0
- package/dest/branded-types/epoch.d.ts +42 -0
- package/dest/branded-types/epoch.d.ts.map +1 -0
- package/dest/branded-types/epoch.js +59 -0
- package/dest/branded-types/index.d.ts +8 -0
- package/dest/branded-types/index.d.ts.map +1 -0
- package/dest/branded-types/index.js +6 -0
- package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
- package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
- package/dest/branded-types/index_within_checkpoint.js +59 -0
- package/dest/branded-types/slot.d.ts +45 -0
- package/dest/branded-types/slot.d.ts.map +1 -0
- package/dest/branded-types/slot.js +62 -0
- package/dest/branded-types/types.d.ts +5 -0
- package/dest/branded-types/types.d.ts.map +1 -0
- package/dest/branded-types/types.js +1 -0
- package/dest/buffer/buffer16.d.ts +82 -0
- package/dest/buffer/buffer16.d.ts.map +1 -0
- package/dest/buffer/buffer16.js +102 -0
- package/dest/buffer/buffer32.d.ts +32 -69
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +36 -68
- package/dest/buffer/index.d.ts +3 -1
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +2 -0
- package/dest/buffer/utils.d.ts +3 -0
- package/dest/buffer/utils.d.ts.map +1 -0
- package/dest/buffer/utils.js +7 -0
- package/dest/collection/array.d.ts +38 -4
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +141 -3
- package/dest/collection/index.d.ts +3 -1
- package/dest/collection/index.d.ts.map +1 -1
- package/dest/collection/index.js +2 -0
- package/dest/collection/lru_map.d.ts +41 -0
- package/dest/collection/lru_map.d.ts.map +1 -0
- package/dest/collection/lru_map.js +119 -0
- package/dest/collection/lru_set.d.ts +35 -0
- package/dest/collection/lru_set.d.ts.map +1 -0
- package/dest/collection/lru_set.js +95 -0
- package/dest/collection/object.d.ts +17 -1
- package/dest/collection/object.d.ts.map +1 -1
- package/dest/collection/object.js +25 -0
- package/dest/committable/committable.d.ts +1 -1
- package/dest/committable/committable.d.ts.map +1 -1
- package/dest/committable/committable.js +1 -1
- package/dest/committable/index.d.ts +1 -1
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +88 -13
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +153 -22
- package/dest/config/network_config.d.ts +28 -0
- package/dest/config/network_config.d.ts.map +1 -0
- package/dest/config/network_config.js +14 -0
- package/dest/config/network_name.d.ts +3 -0
- package/dest/config/network_name.d.ts.map +1 -0
- package/dest/config/network_name.js +19 -0
- package/dest/config/parse-env.d.ts +3 -0
- package/dest/config/parse-env.d.ts.map +1 -0
- package/dest/config/parse-env.js +7 -0
- package/dest/config/secret_value.d.ts +28 -0
- package/dest/config/secret_value.d.ts.map +1 -0
- package/dest/config/secret_value.js +36 -0
- package/dest/crypto/aes128/index.d.ts +4 -5
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +30 -8
- package/dest/crypto/bls/bn254_keystore.d.ts +129 -0
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
- package/dest/crypto/bls/bn254_keystore.js +201 -0
- package/dest/crypto/bls/index.d.ts +13 -0
- package/dest/crypto/bls/index.d.ts.map +1 -0
- package/dest/crypto/bls/index.js +87 -0
- package/dest/crypto/bn254/index.d.ts +39 -0
- package/dest/crypto/bn254/index.d.ts.map +1 -0
- package/dest/crypto/bn254/index.js +56 -0
- package/dest/crypto/ecdsa/index.d.ts +3 -3
- package/dest/crypto/ecdsa/index.d.ts.map +1 -1
- package/dest/crypto/ecdsa/index.js +62 -48
- package/dest/crypto/ecdsa/signature.d.ts +3 -5
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/ecdsa/signature.js +2 -2
- package/dest/crypto/grumpkin/index.d.ts +10 -15
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.js +61 -55
- package/dest/crypto/keccak/index.d.ts +3 -5
- package/dest/crypto/keccak/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.d.ts +2 -4
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.js +8 -5
- package/dest/crypto/pedersen/index.d.ts +1 -1
- package/dest/crypto/pedersen/pedersen.noble.d.ts +3 -5
- package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +4 -6
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
- package/dest/crypto/poseidon/index.d.ts +2 -5
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +41 -28
- package/dest/crypto/random/index.d.ts +2 -4
- package/dest/crypto/random/index.d.ts.map +1 -1
- package/dest/crypto/random/index.js +2 -34
- package/dest/crypto/random/randomness_singleton.d.ts +4 -5
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/random/randomness_singleton.js +5 -5
- package/dest/crypto/schnorr/index.d.ts +10 -8
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +34 -42
- package/dest/crypto/schnorr/signature.d.ts +13 -35
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +21 -37
- package/dest/crypto/secp256k1/index.d.ts +5 -7
- package/dest/crypto/secp256k1/index.d.ts.map +1 -1
- package/dest/crypto/secp256k1/index.js +23 -18
- package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.d.ts +67 -5
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.js +118 -6
- package/dest/crypto/sha256/index.d.ts +23 -6
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +43 -1
- package/dest/crypto/sha512/index.d.ts +3 -5
- package/dest/crypto/sha512/index.d.ts.map +1 -1
- package/dest/crypto/sha512/index.js +1 -1
- package/dest/crypto/signature/index.d.ts +2 -4
- package/dest/crypto/signature/index.d.ts.map +1 -1
- package/dest/crypto/sync/index.d.ts +1 -1
- package/dest/crypto/sync/index.js +1 -1
- package/dest/crypto/sync/pedersen/index.d.ts +4 -6
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.js +18 -11
- package/dest/crypto/sync/poseidon/index.d.ts +2 -5
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.js +23 -16
- package/dest/curves/bls12/field.d.ts +148 -0
- package/dest/curves/bls12/field.d.ts.map +1 -0
- package/dest/curves/bls12/field.js +357 -0
- package/dest/curves/bls12/index.d.ts +3 -0
- package/dest/curves/bls12/index.d.ts.map +1 -0
- package/dest/curves/bls12/index.js +2 -0
- package/dest/curves/bls12/point.d.ts +229 -0
- package/dest/curves/bls12/point.d.ts.map +1 -0
- package/dest/curves/bls12/point.js +400 -0
- package/dest/curves/bn254/field.d.ts +185 -0
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +111 -74
- package/dest/curves/bn254/index.d.ts +3 -0
- package/dest/curves/bn254/index.d.ts.map +1 -0
- package/dest/curves/bn254/index.js +2 -0
- package/dest/curves/bn254/point.d.ts +54 -0
- package/dest/curves/bn254/point.d.ts.map +1 -0
- package/dest/curves/bn254/point.js +143 -0
- package/dest/curves/grumpkin/index.d.ts +10 -0
- package/dest/curves/grumpkin/index.d.ts.map +1 -0
- package/dest/curves/grumpkin/index.js +3 -0
- package/dest/{fields → curves/grumpkin}/point.d.ts +26 -33
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +53 -50
- package/dest/decorators/index.d.ts +1 -1
- package/dest/decorators/memoize.d.ts +1 -1
- package/dest/decorators/memoize.d.ts.map +1 -1
- package/dest/error/index.d.ts +1 -1
- package/dest/eth-address/index.d.ts +19 -10
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +31 -5
- package/dest/eth-signature/eth_signature.d.ts +19 -16
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +37 -18
- package/dest/eth-signature/index.d.ts +1 -1
- package/dest/fifo/fifo_frame_reader.d.ts +41 -0
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
- package/dest/fifo/fifo_frame_reader.js +91 -0
- package/dest/fifo/index.d.ts +2 -0
- package/dest/fifo/index.d.ts.map +1 -0
- package/dest/fifo/index.js +1 -0
- package/dest/fifo_set/fifo_set.d.ts +15 -0
- package/dest/fifo_set/fifo_set.d.ts.map +1 -0
- package/dest/fifo_set/fifo_set.js +39 -0
- package/dest/fifo_set/index.d.ts +2 -0
- package/dest/fifo_set/index.d.ts.map +1 -0
- package/dest/fifo_set/index.js +1 -0
- package/dest/fs/index.d.ts +2 -1
- package/dest/fs/index.d.ts.map +1 -1
- package/dest/fs/index.js +1 -0
- package/dest/fs/run_in_dir.d.ts +1 -1
- package/dest/fs/try_rm_dir.d.ts +3 -0
- package/dest/fs/try_rm_dir.d.ts.map +1 -0
- package/dest/fs/try_rm_dir.js +16 -0
- package/dest/iterable/all.d.ts +1 -1
- package/dest/iterable/filter.d.ts +1 -1
- package/dest/iterable/filter.js +1 -1
- package/dest/iterable/index.d.ts +1 -1
- package/dest/iterable/isAsyncIt.d.ts +1 -1
- package/dest/iterable/map.d.ts +1 -1
- package/dest/iterable/map.js +1 -1
- package/dest/iterable/peek.d.ts +1 -1
- package/dest/iterable/sort.d.ts +1 -1
- package/dest/iterable/take.d.ts +1 -1
- package/dest/iterable/toArray.d.ts +1 -1
- package/dest/iterator/filter.d.ts +3 -0
- package/dest/iterator/filter.d.ts.map +1 -0
- package/dest/iterator/filter.js +7 -0
- package/dest/iterator/index.d.ts +2 -0
- package/dest/iterator/index.d.ts.map +1 -0
- package/dest/iterator/index.js +1 -0
- package/dest/jest/env.js +48 -0
- package/dest/jest/setup.js +28 -1
- package/dest/jest/setupAfterEnv.js +3 -0
- package/dest/json-rpc/client/fetch.d.ts +3 -3
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +18 -31
- package/dest/json-rpc/client/index.d.ts +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +11 -4
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +175 -15
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +29 -11
- package/dest/json-rpc/convert.d.ts +3 -10
- package/dest/json-rpc/convert.d.ts.map +1 -1
- package/dest/json-rpc/convert.js +1 -9
- package/dest/json-rpc/errors.d.ts +4 -0
- package/dest/json-rpc/errors.d.ts.map +1 -0
- package/dest/json-rpc/errors.js +6 -0
- package/dest/json-rpc/fixtures/class_a.d.ts +6 -4
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +6 -4
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/test_state.js +57 -17
- package/dest/json-rpc/index.d.ts +3 -2
- package/dest/json-rpc/index.d.ts.map +1 -1
- package/dest/json-rpc/index.js +2 -1
- package/dest/json-rpc/js_utils.d.ts +1 -1
- package/dest/json-rpc/js_utils.d.ts.map +1 -1
- package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
- package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
- package/dest/json-rpc/server/api_key_auth.js +57 -0
- package/dest/json-rpc/server/index.d.ts +2 -1
- package/dest/json-rpc/server/index.d.ts.map +1 -1
- package/dest/json-rpc/server/index.js +1 -0
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +29 -25
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +178 -59
- package/dest/json-rpc/test/index.d.ts +1 -1
- package/dest/json-rpc/test/integration.d.ts +2 -3
- package/dest/json-rpc/test/integration.d.ts.map +1 -1
- package/dest/log/bigint-utils.d.ts +5 -0
- package/dest/log/bigint-utils.d.ts.map +1 -0
- package/dest/log/bigint-utils.js +21 -0
- package/dest/log/console.d.ts +1 -1
- package/dest/log/console.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.d.ts +1 -2
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.js +4 -9
- package/dest/log/index.d.ts +5 -5
- package/dest/log/index.d.ts.map +1 -1
- package/dest/log/index.js +4 -4
- package/dest/log/libp2p_logger.d.ts +5 -2
- package/dest/log/libp2p_logger.d.ts.map +1 -1
- package/dest/log/libp2p_logger.js +27 -6
- package/dest/log/log-filters.d.ts +17 -4
- package/dest/log/log-filters.d.ts.map +1 -1
- package/dest/log/log-filters.js +26 -12
- package/dest/log/log-levels.d.ts +1 -1
- package/dest/log/log_fn.d.ts +2 -2
- package/dest/log/log_fn.d.ts.map +1 -1
- package/dest/log/noir_debug_log_util.d.ts +14 -0
- package/dest/log/noir_debug_log_util.d.ts.map +1 -0
- package/dest/log/noir_debug_log_util.js +14 -0
- package/dest/log/pino-logger-server.d.ts +9 -0
- package/dest/log/pino-logger-server.d.ts.map +1 -0
- package/dest/log/pino-logger-server.js +18 -0
- package/dest/log/pino-logger.d.ts +40 -11
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +165 -31
- package/dest/message/index.d.ts +1 -1
- package/dest/message/index.d.ts.map +1 -1
- package/dest/mutex/index.d.ts +1 -1
- package/dest/mutex/index.d.ts.map +1 -1
- package/dest/mutex/mutex_database.d.ts +1 -1
- package/dest/mutex/mutex_database.d.ts.map +1 -1
- package/dest/noir/index.d.ts +1 -1
- package/dest/noir/noir_package_config.d.ts +19 -104
- package/dest/noir/noir_package_config.d.ts.map +1 -1
- package/dest/noir/noir_package_config.js +1 -1
- package/dest/number/index.d.ts +3 -0
- package/dest/number/index.d.ts.map +1 -0
- package/dest/number/index.js +12 -0
- package/dest/profiler/index.d.ts +2 -0
- package/dest/profiler/index.d.ts.map +1 -0
- package/dest/profiler/index.js +1 -0
- package/dest/profiler/profiler.d.ts +8 -0
- package/dest/profiler/profiler.d.ts.map +1 -0
- package/dest/profiler/profiler.js +97 -0
- package/dest/promise/index.d.ts +1 -1
- package/dest/promise/running-promise.d.ts +2 -2
- package/dest/promise/running-promise.d.ts.map +1 -1
- package/dest/promise/running-promise.js +2 -2
- package/dest/promise/utils.d.ts +1 -1
- package/dest/queue/base_memory_queue.d.ts +2 -2
- package/dest/queue/base_memory_queue.d.ts.map +1 -1
- package/dest/queue/batch_queue.d.ts +2 -2
- package/dest/queue/batch_queue.d.ts.map +1 -1
- package/dest/queue/batch_queue.js +2 -1
- package/dest/queue/bounded_serial_queue.d.ts +1 -1
- package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
- package/dest/queue/fifo_memory_queue.d.ts +1 -1
- package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
- package/dest/queue/index.d.ts +1 -1
- package/dest/queue/priority_memory_queue.d.ts +1 -1
- package/dest/queue/priority_memory_queue.d.ts.map +1 -1
- package/dest/queue/priority_queue.d.ts +1 -1
- package/dest/queue/priority_queue.d.ts.map +1 -1
- package/dest/queue/semaphore.d.ts +5 -1
- package/dest/queue/semaphore.d.ts.map +1 -1
- package/dest/queue/serial_queue.d.ts +3 -3
- package/dest/queue/serial_queue.d.ts.map +1 -1
- package/dest/queue/serial_queue.js +7 -5
- package/dest/retry/index.d.ts +25 -3
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +34 -2
- package/dest/running-promise/index.d.ts +1 -1
- package/dest/schemas/api.d.ts +12 -10
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/api.js +7 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/parse.d.ts +4 -4
- package/dest/schemas/parse.d.ts.map +1 -1
- package/dest/schemas/parse.js +7 -6
- package/dest/schemas/schemas.d.ts +30 -29
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +29 -11
- package/dest/schemas/types.d.ts +32 -2
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +25 -1
- package/dest/schemas/utils.d.ts +10 -16
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/schemas/utils.js +17 -23
- package/dest/serialize/buffer_reader.d.ts +41 -6
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +70 -6
- package/dest/serialize/buffer_sink.d.ts +134 -0
- package/dest/serialize/buffer_sink.d.ts.map +1 -0
- package/dest/serialize/buffer_sink.js +297 -0
- package/dest/serialize/field_reader.d.ts +12 -3
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +19 -2
- package/dest/serialize/free_funcs.d.ts +25 -23
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/free_funcs.js +22 -28
- package/dest/serialize/index.d.ts +2 -1
- package/dest/serialize/index.d.ts.map +1 -1
- package/dest/serialize/index.js +1 -0
- package/dest/serialize/serialize.d.ts +24 -7
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +32 -1
- package/dest/serialize/type_registry.d.ts +1 -1
- package/dest/serialize/type_registry.d.ts.map +1 -1
- package/dest/serialize/types.d.ts +1 -1
- package/dest/sleep/index.d.ts +4 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +14 -1
- package/dest/string/index.d.ts +8 -3
- package/dest/string/index.d.ts.map +1 -1
- package/dest/string/index.js +27 -1
- package/dest/testing/files/index.d.ts +2 -3
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +3 -3
- package/dest/testing/formatting.d.ts +4 -0
- package/dest/testing/formatting.d.ts.map +1 -0
- package/dest/testing/formatting.js +3 -0
- package/dest/testing/index.d.ts +2 -1
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +1 -0
- package/dest/testing/port_allocator.d.ts +1 -1
- package/dest/testing/snapshot_serializer.d.ts +1 -1
- package/dest/testing/test_data.d.ts +1 -1
- package/dest/timer/date.d.ts +28 -2
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +41 -3
- package/dest/timer/elapsed.d.ts +1 -1
- package/dest/timer/index.d.ts +2 -2
- package/dest/timer/index.d.ts.map +1 -1
- package/dest/timer/index.js +1 -1
- package/dest/timer/timeout.d.ts +21 -6
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timeout.js +69 -22
- package/dest/timer/timer.d.ts +1 -1
- package/dest/timer/timer.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
- package/dest/transport/dispatch/messages.d.ts +1 -1
- package/dest/transport/index.d.ts +1 -3
- package/dest/transport/index.d.ts.map +1 -1
- package/dest/transport/index.js +0 -2
- package/dest/transport/interface/connector.d.ts +1 -1
- package/dest/transport/interface/connector.d.ts.map +1 -1
- package/dest/transport/interface/listener.d.ts +1 -2
- package/dest/transport/interface/listener.d.ts.map +1 -1
- package/dest/transport/interface/socket.d.ts +1 -1
- package/dest/transport/interface/socket.d.ts.map +1 -1
- package/dest/transport/interface/transferable.d.ts +1 -1
- package/dest/transport/node/index.d.ts +1 -1
- package/dest/transport/node/node_connector.d.ts +1 -2
- package/dest/transport/node/node_connector.d.ts.map +1 -1
- package/dest/transport/node/node_connector_socket.d.ts +1 -2
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
- package/dest/transport/node/node_listener.d.ts +1 -2
- package/dest/transport/node/node_listener.d.ts.map +1 -1
- package/dest/transport/node/node_listener_socket.d.ts +1 -2
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
- package/dest/transport/transport_client.d.ts +1 -2
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_client.js +2 -2
- package/dest/transport/transport_server.d.ts +1 -10
- package/dest/transport/transport_server.d.ts.map +1 -1
- package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/balanced_merkle_tree_root.js +50 -0
- package/dest/trees/hasher.d.ts +8 -7
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/hasher.js +10 -5
- package/dest/trees/index.d.ts +5 -3
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +4 -2
- package/dest/trees/indexed_merkle_tree.d.ts +1 -3
- package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree.js +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +2 -4
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
- package/dest/trees/indexed_tree_leaf.d.ts +1 -3
- package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
- package/dest/trees/membership_witness.d.ts +10 -5
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/membership_witness.js +23 -1
- package/dest/trees/merkle_tree.d.ts +1 -3
- package/dest/trees/merkle_tree.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.d.ts +4 -4
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +1 -5
- package/dest/trees/sibling_path.d.ts +7 -41
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +11 -9
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
- package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
- package/dest/trees/unbalanced_merkle_tree_calculator.js +154 -0
- package/dest/trees/unbalanced_merkle_tree_root.d.ts +27 -0
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/unbalanced_merkle_tree_root.js +83 -0
- package/dest/trees/unbalanced_tree_store.d.ts +6 -1
- package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
- package/dest/trees/unbalanced_tree_store.js +55 -1
- package/dest/types/index.d.ts +52 -3
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +21 -0
- package/dest/url/index.d.ts +1 -1
- package/dest/url/index.d.ts.map +1 -1
- package/dest/url/index.js +1 -1
- package/dest/validation/index.d.ts +1 -1
- package/package.json +84 -47
- package/src/array/array.ts +13 -16
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +138 -0
- package/src/async-pool/index.ts +1 -0
- package/src/bigint/index.ts +20 -0
- package/src/bigint-buffer/index.ts +6 -1
- package/src/branded-types/block_number.ts +135 -0
- package/src/branded-types/buffer32_hash.ts +38 -0
- package/src/branded-types/checkpoint_number.ts +130 -0
- package/src/branded-types/epoch.ts +88 -0
- package/src/branded-types/index.ts +8 -0
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/branded-types/slot.ts +93 -0
- package/src/branded-types/types.ts +2 -0
- package/src/buffer/buffer16.ts +136 -0
- package/src/buffer/buffer32.ts +47 -74
- package/src/buffer/index.ts +2 -0
- package/src/buffer/utils.ts +8 -0
- package/src/collection/array.ts +152 -4
- package/src/collection/index.ts +2 -0
- package/src/collection/lru_map.ts +143 -0
- package/src/collection/lru_set.ts +115 -0
- package/src/collection/object.ts +37 -0
- package/src/committable/committable.ts +1 -1
- package/src/config/env_var.ts +237 -63
- package/src/config/index.ts +265 -29
- package/src/config/network_config.ts +21 -0
- package/src/config/network_name.ts +28 -0
- package/src/config/parse-env.ts +4 -0
- package/src/config/secret_value.ts +49 -0
- package/src/crypto/aes128/index.ts +30 -12
- package/src/crypto/bls/bn254_keystore.ts +264 -0
- package/src/crypto/bls/index.ts +77 -0
- package/src/crypto/bn254/index.ts +64 -0
- package/src/crypto/ecdsa/index.ts +41 -23
- package/src/crypto/ecdsa/signature.ts +2 -2
- package/src/crypto/grumpkin/index.ts +38 -46
- package/src/crypto/keys/index.ts +6 -6
- package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
- package/src/crypto/poseidon/index.ts +43 -37
- package/src/crypto/random/index.ts +2 -40
- package/src/crypto/random/randomness_singleton.ts +6 -4
- package/src/crypto/schnorr/index.ts +29 -24
- package/src/crypto/schnorr/signature.ts +18 -47
- package/src/crypto/secp256k1/index.ts +15 -11
- package/src/crypto/secp256k1-signer/utils.ts +152 -7
- package/src/crypto/sha256/index.ts +48 -1
- package/src/crypto/sha512/index.ts +1 -1
- package/src/crypto/signature/index.ts +1 -1
- package/src/crypto/sync/index.ts +1 -1
- package/src/crypto/sync/pedersen/index.ts +17 -16
- package/src/crypto/sync/poseidon/index.ts +23 -27
- package/src/curves/bls12/field.ts +456 -0
- package/src/curves/bls12/index.ts +2 -0
- package/src/curves/bls12/point.ts +450 -0
- package/src/{fields/fields.ts → curves/bn254/field.ts} +117 -91
- package/src/curves/bn254/index.ts +2 -0
- package/src/curves/bn254/point.ts +170 -0
- package/src/curves/grumpkin/index.ts +11 -0
- package/src/{fields → curves/grumpkin}/point.ts +47 -47
- package/src/eth-address/index.ts +35 -7
- package/src/eth-signature/eth_signature.ts +50 -22
- package/src/fifo/fifo_frame_reader.ts +113 -0
- package/src/fifo/index.ts +1 -0
- package/src/fifo_set/fifo_set.ts +52 -0
- package/src/fifo_set/index.ts +1 -0
- package/src/fs/index.ts +1 -0
- package/src/fs/try_rm_dir.ts +15 -0
- package/src/iterable/filter.ts +1 -1
- package/src/iterable/map.ts +1 -1
- package/src/iterator/filter.ts +11 -0
- package/src/iterator/index.ts +1 -0
- package/src/jest/env.mjs +52 -0
- package/src/jest/setup.mjs +31 -1
- package/src/jest/setupAfterEnv.mjs +3 -0
- package/src/json-rpc/client/fetch.ts +16 -34
- package/src/json-rpc/client/safe_json_rpc_client.ts +230 -15
- package/src/json-rpc/client/undici.ts +31 -18
- package/src/json-rpc/convert.ts +3 -12
- package/src/json-rpc/errors.ts +6 -0
- package/src/json-rpc/fixtures/class_a.ts +4 -1
- package/src/json-rpc/fixtures/class_b.ts +4 -1
- package/src/json-rpc/fixtures/test_state.ts +10 -10
- package/src/json-rpc/index.ts +2 -1
- package/src/json-rpc/server/api_key_auth.ts +63 -0
- package/src/json-rpc/server/index.ts +1 -0
- package/src/json-rpc/server/safe_json_rpc_server.ts +162 -51
- package/src/json-rpc/test/integration.ts +1 -1
- package/src/log/bigint-utils.ts +25 -0
- package/src/log/console.ts +4 -1
- package/src/log/gcloud-logger-config.ts +8 -7
- package/src/log/index.ts +4 -4
- package/src/log/libp2p_logger.ts +33 -7
- package/src/log/log-filters.ts +29 -11
- package/src/log/log_fn.ts +1 -1
- package/src/log/noir_debug_log_util.ts +21 -0
- package/src/log/pino-logger-server.ts +25 -0
- package/src/log/pino-logger.ts +193 -40
- package/src/message/index.ts +5 -1
- package/src/mutex/mutex_database.ts +2 -3
- package/src/noir/noir_package_config.ts +32 -20
- package/src/number/index.ts +14 -0
- package/src/profiler/index.ts +1 -0
- package/src/profiler/profiler.ts +125 -0
- package/src/promise/running-promise.ts +2 -2
- package/src/queue/base_memory_queue.ts +1 -1
- package/src/queue/batch_queue.ts +2 -1
- package/src/queue/bounded_serial_queue.ts +4 -1
- package/src/queue/semaphore.ts +5 -0
- package/src/queue/serial_queue.ts +5 -5
- package/src/retry/index.ts +58 -5
- package/src/schemas/api.ts +25 -25
- package/src/schemas/parse.ts +10 -7
- package/src/schemas/schemas.ts +45 -16
- package/src/schemas/types.ts +34 -1
- package/src/schemas/utils.ts +25 -46
- package/src/serialize/buffer_reader.ts +96 -12
- package/src/serialize/buffer_sink.ts +350 -0
- package/src/serialize/field_reader.ts +28 -4
- package/src/serialize/free_funcs.ts +26 -32
- package/src/serialize/index.ts +1 -0
- package/src/serialize/serialize.ts +35 -1
- package/src/sleep/index.ts +16 -1
- package/src/string/index.ts +36 -1
- package/src/testing/files/index.ts +7 -3
- package/src/testing/formatting.ts +3 -0
- package/src/testing/index.ts +1 -0
- package/src/timer/date.ts +61 -3
- package/src/timer/index.ts +1 -1
- package/src/timer/timeout.ts +85 -19
- package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
- package/src/transport/index.ts +0 -2
- package/src/transport/interface/connector.ts +0 -1
- package/src/transport/interface/listener.ts +2 -3
- package/src/transport/interface/socket.ts +2 -3
- package/src/transport/transport_client.ts +5 -6
- package/src/transport/transport_server.ts +4 -1
- package/src/trees/balanced_merkle_tree_root.ts +65 -0
- package/src/trees/hasher.ts +16 -4
- package/src/trees/index.ts +4 -2
- package/src/trees/indexed_merkle_tree.ts +6 -2
- package/src/trees/indexed_merkle_tree_calculator.ts +7 -3
- package/src/trees/membership_witness.ts +22 -1
- package/src/trees/merkle_tree.ts +4 -1
- package/src/trees/merkle_tree_calculator.ts +9 -10
- package/src/trees/sibling_path.ts +12 -7
- package/src/trees/unbalanced_merkle_tree_calculator.ts +176 -0
- package/src/trees/unbalanced_merkle_tree_root.ts +112 -0
- package/src/trees/unbalanced_tree_store.ts +62 -3
- package/src/types/index.ts +82 -4
- package/src/url/index.ts +0 -1
- package/dest/crypto/index.d.ts +0 -15
- package/dest/crypto/index.d.ts.map +0 -1
- package/dest/crypto/index.js +0 -14
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
- package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
- package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
- package/dest/crypto/serialize.d.ts +0 -53
- package/dest/crypto/serialize.d.ts.map +0 -1
- package/dest/crypto/serialize.js +0 -68
- package/dest/fields/coordinate.d.ts +0 -68
- package/dest/fields/coordinate.d.ts.map +0 -1
- package/dest/fields/coordinate.js +0 -96
- package/dest/fields/fields.d.ts +0 -176
- package/dest/fields/fields.d.ts.map +0 -1
- package/dest/fields/index.d.ts +0 -4
- package/dest/fields/index.d.ts.map +0 -1
- package/dest/fields/index.js +0 -3
- package/dest/fields/point.d.ts.map +0 -1
- package/dest/index.d.ts +0 -31
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -31
- package/dest/json-rpc/server/telemetry.d.ts +0 -2
- package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
- package/dest/json-rpc/server/telemetry.js +0 -0
- package/dest/log/debug.d.ts +0 -56
- package/dest/log/debug.d.ts.map +0 -1
- package/dest/log/debug.js +0 -75
- package/dest/log/log_history.d.ts +0 -31
- package/dest/log/log_history.d.ts.map +0 -1
- package/dest/log/log_history.js +0 -38
- package/dest/transport/browser/index.d.ts +0 -5
- package/dest/transport/browser/index.d.ts.map +0 -1
- package/dest/transport/browser/index.js +0 -4
- package/dest/transport/browser/message_port_socket.d.ts +0 -37
- package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
- package/dest/transport/browser/message_port_socket.js +0 -42
- package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
- package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_connector.js +0 -19
- package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
- package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/shared_worker_listener.js +0 -33
- package/dest/transport/browser/worker_connector.d.ts +0 -26
- package/dest/transport/browser/worker_connector.d.ts.map +0 -1
- package/dest/transport/browser/worker_connector.js +0 -30
- package/dest/transport/browser/worker_listener.d.ts +0 -39
- package/dest/transport/browser/worker_listener.d.ts.map +0 -1
- package/dest/transport/browser/worker_listener.js +0 -35
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
- package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
- package/dest/trees/unbalanced_merkle_tree.js +0 -100
- package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
- package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
- package/dest/wasm/empty_wasi_sdk.js +0 -148
- package/dest/wasm/index.d.ts +0 -2
- package/dest/wasm/index.d.ts.map +0 -1
- package/dest/wasm/index.js +0 -1
- package/dest/wasm/wasm_module.d.ts +0 -136
- package/dest/wasm/wasm_module.d.ts.map +0 -1
- package/dest/wasm/wasm_module.js +0 -196
- package/dest/worker/browser/index.d.ts +0 -3
- package/dest/worker/browser/index.d.ts.map +0 -1
- package/dest/worker/browser/index.js +0 -2
- package/dest/worker/browser/start_web_module.d.ts +0 -7
- package/dest/worker/browser/start_web_module.d.ts.map +0 -1
- package/dest/worker/browser/start_web_module.js +0 -27
- package/dest/worker/browser/web_data_store.d.ts +0 -24
- package/dest/worker/browser/web_data_store.d.ts.map +0 -1
- package/dest/worker/browser/web_data_store.js +0 -29
- package/dest/worker/browser/web_worker.d.ts +0 -10
- package/dest/worker/browser/web_worker.d.ts.map +0 -1
- package/dest/worker/browser/web_worker.js +0 -25
- package/dest/worker/data_store.d.ts +0 -21
- package/dest/worker/data_store.d.ts.map +0 -1
- package/dest/worker/data_store.js +0 -3
- package/dest/worker/index.d.ts +0 -3
- package/dest/worker/index.d.ts.map +0 -1
- package/dest/worker/index.js +0 -1
- package/dest/worker/node/index.d.ts +0 -3
- package/dest/worker/node/index.d.ts.map +0 -1
- package/dest/worker/node/index.js +0 -2
- package/dest/worker/node/node_data_store.d.ts +0 -13
- package/dest/worker/node/node_data_store.d.ts.map +0 -1
- package/dest/worker/node/node_data_store.js +0 -20
- package/dest/worker/node/node_worker.d.ts +0 -6
- package/dest/worker/node/node_worker.d.ts.map +0 -1
- package/dest/worker/node/node_worker.js +0 -22
- package/dest/worker/node/start_node_module.d.ts +0 -7
- package/dest/worker/node/start_node_module.d.ts.map +0 -1
- package/dest/worker/node/start_node_module.js +0 -31
- package/dest/worker/wasm_worker.d.ts +0 -9
- package/dest/worker/wasm_worker.d.ts.map +0 -1
- package/dest/worker/wasm_worker.js +0 -3
- package/dest/worker/worker_pool.d.ts +0 -40
- package/dest/worker/worker_pool.d.ts.map +0 -1
- package/dest/worker/worker_pool.js +0 -51
- package/src/crypto/index.ts +0 -14
- package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
- package/src/crypto/serialize.ts +0 -85
- package/src/fields/coordinate.ts +0 -104
- package/src/fields/index.ts +0 -3
- package/src/index.ts +0 -31
- package/src/json-rpc/server/telemetry.ts +0 -0
- package/src/log/debug.ts +0 -104
- package/src/log/log_history.ts +0 -44
- package/src/transport/browser/index.ts +0 -4
- package/src/transport/browser/message_port_socket.ts +0 -48
- package/src/transport/browser/shared_worker_connector.ts +0 -21
- package/src/transport/browser/shared_worker_listener.ts +0 -53
- package/src/transport/browser/worker_connector.ts +0 -30
- package/src/transport/browser/worker_listener.ts +0 -54
- package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
- package/src/trees/unbalanced_merkle_tree.ts +0 -103
- package/src/wasm/README.md +0 -6
- package/src/wasm/empty_wasi_sdk.ts +0 -166
- package/src/wasm/fixtures/gcd.wasm +0 -0
- package/src/wasm/fixtures/gcd.wat +0 -27
- package/src/wasm/index.ts +0 -1
- package/src/wasm/wasm_module.ts +0 -260
- package/src/worker/browser/index.ts +0 -2
- package/src/worker/browser/start_web_module.ts +0 -24
- package/src/worker/browser/web_data_store.ts +0 -38
- package/src/worker/browser/web_worker.ts +0 -25
- package/src/worker/data_store.ts +0 -19
- package/src/worker/index.ts +0 -2
- package/src/worker/node/index.ts +0 -2
- package/src/worker/node/node_data_store.ts +0 -27
- package/src/worker/node/node_worker.ts +0 -23
- package/src/worker/node/start_node_module.ts +0 -30
- package/src/worker/wasm_worker.ts +0 -7
- package/src/worker/worker_pool.ts +0 -73
|
@@ -8,28 +8,39 @@ import { format, inspect } from 'util';
|
|
|
8
8
|
import { ZodError } from 'zod';
|
|
9
9
|
import { createLogger } from '../../log/index.js';
|
|
10
10
|
import { promiseWithResolvers } from '../../promise/utils.js';
|
|
11
|
-
import { parseWithOptionals, schemaHasMethod } from '../../schemas/index.js';
|
|
11
|
+
import { getSchemaParameters, parseWithOptionals, schemaHasMethod } from '../../schemas/index.js';
|
|
12
12
|
import { jsonStringify } from '../convert.js';
|
|
13
13
|
import { assert } from '../js_utils.js';
|
|
14
|
+
const defaultServerConfig = {
|
|
15
|
+
http200OnError: false,
|
|
16
|
+
maxBatchSize: 100,
|
|
17
|
+
maxBodySizeBytes: '1mb'
|
|
18
|
+
};
|
|
14
19
|
export class SafeJsonRpcServer {
|
|
15
20
|
proxy;
|
|
16
|
-
http200OnError;
|
|
17
21
|
healthCheck;
|
|
18
22
|
extraMiddlewares;
|
|
23
|
+
diagnosticsMiddleware;
|
|
19
24
|
log;
|
|
20
25
|
/**
|
|
21
26
|
* The HTTP server accepting remote requests.
|
|
22
27
|
* This member field is initialized when the server is started.
|
|
23
28
|
*/ httpServer;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
* as per the JSON RPC spec
|
|
27
|
-
*/ http200OnError = false, /** Health check function */ healthCheck = ()=>true, /** Additional middlewares */ extraMiddlewares = [], /** Logger */ log = createLogger('json-rpc:server')){
|
|
29
|
+
config;
|
|
30
|
+
constructor(/** The proxy object to delegate requests to */ proxy, config = {}, /** Health check function */ healthCheck = ()=>true, /** Additional Koa middlewares */ extraMiddlewares = [], /** Additional per-request diagnostics middlewares */ diagnosticsMiddleware, /** Logger */ log = createLogger('json-rpc:server')){
|
|
28
31
|
this.proxy = proxy;
|
|
29
|
-
this.http200OnError = http200OnError;
|
|
30
32
|
this.healthCheck = healthCheck;
|
|
31
33
|
this.extraMiddlewares = extraMiddlewares;
|
|
34
|
+
this.diagnosticsMiddleware = diagnosticsMiddleware;
|
|
32
35
|
this.log = log;
|
|
36
|
+
this.config = {
|
|
37
|
+
...defaultServerConfig,
|
|
38
|
+
...config
|
|
39
|
+
};
|
|
40
|
+
// handle empty string
|
|
41
|
+
if (!this.config.maxBodySizeBytes) {
|
|
42
|
+
this.config.maxBodySizeBytes = defaultServerConfig.maxBodySizeBytes;
|
|
43
|
+
}
|
|
33
44
|
}
|
|
34
45
|
isHealthy() {
|
|
35
46
|
return this.healthCheck();
|
|
@@ -45,36 +56,25 @@ export class SafeJsonRpcServer {
|
|
|
45
56
|
await next();
|
|
46
57
|
} catch (err) {
|
|
47
58
|
const method = ctx.request.body?.method ?? 'unknown';
|
|
48
|
-
this.log.warn(`
|
|
49
|
-
if (err
|
|
59
|
+
this.log.warn(`Uncaught error in JSON RPC server call ${method}: ${inspect(err)}`);
|
|
60
|
+
if (err && 'name' in err && err.name === 'BadRequestError') {
|
|
50
61
|
ctx.status = 400;
|
|
51
62
|
ctx.body = {
|
|
52
63
|
jsonrpc: '2.0',
|
|
53
64
|
id: null,
|
|
54
65
|
error: {
|
|
55
|
-
code: -
|
|
56
|
-
message: `
|
|
66
|
+
code: -32000,
|
|
67
|
+
message: `Bad request: ${err.message}`
|
|
57
68
|
}
|
|
58
69
|
};
|
|
59
|
-
} else if (err instanceof
|
|
60
|
-
const message = err.issues.map((e)=>`${e.message} (${e.path.join('.')})`).join('. ') || 'Validation error';
|
|
70
|
+
} else if (err && err instanceof SyntaxError) {
|
|
61
71
|
ctx.status = 400;
|
|
62
72
|
ctx.body = {
|
|
63
73
|
jsonrpc: '2.0',
|
|
64
74
|
id: null,
|
|
65
75
|
error: {
|
|
66
|
-
code: -
|
|
67
|
-
message
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
} else if (this.http200OnError) {
|
|
71
|
-
ctx.body = {
|
|
72
|
-
jsonrpc: '2.0',
|
|
73
|
-
id: null,
|
|
74
|
-
error: {
|
|
75
|
-
code: err.code || -32600,
|
|
76
|
-
data: err.data,
|
|
77
|
-
message: err.message
|
|
76
|
+
code: -32700,
|
|
77
|
+
message: `Parse error: ${err.message}`
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
80
|
} else {
|
|
@@ -120,11 +120,10 @@ export class SafeJsonRpcServer {
|
|
|
120
120
|
}
|
|
121
121
|
app.use(exceptionHandler);
|
|
122
122
|
app.use(bodyParser({
|
|
123
|
-
jsonLimit:
|
|
123
|
+
jsonLimit: this.config.maxBodySizeBytes,
|
|
124
124
|
enableTypes: [
|
|
125
125
|
'json'
|
|
126
|
-
]
|
|
127
|
-
detectJSON: ()=>true
|
|
126
|
+
]
|
|
128
127
|
}));
|
|
129
128
|
app.use(cors());
|
|
130
129
|
app.use(router.routes());
|
|
@@ -141,31 +140,149 @@ export class SafeJsonRpcServer {
|
|
|
141
140
|
});
|
|
142
141
|
// "JSON RPC mode" where a single endpoint is used and the method is given in the request body
|
|
143
142
|
router.post('/', async (ctx)=>{
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
143
|
+
if (Array.isArray(ctx.request.body)) {
|
|
144
|
+
if (ctx.request.body.length > this.config.maxBatchSize) {
|
|
145
|
+
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
146
|
+
ctx.body = {
|
|
147
|
+
jsonrpc: '2.0',
|
|
148
|
+
error: {
|
|
149
|
+
code: -32600,
|
|
150
|
+
message: `Batch request exceeds maximum allowed size of ${this.config.maxBatchSize}`
|
|
151
|
+
},
|
|
152
|
+
id: null
|
|
153
|
+
};
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const resp = await this.processBatch(ctx.request.body, ctx.request.headers);
|
|
157
|
+
if (Array.isArray(resp)) {
|
|
158
|
+
ctx.status = 200;
|
|
159
|
+
ctx.body = resp;
|
|
160
|
+
} else {
|
|
161
|
+
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
162
|
+
ctx.body = resp;
|
|
163
|
+
}
|
|
158
164
|
} else {
|
|
159
|
-
ctx.
|
|
160
|
-
|
|
161
|
-
|
|
165
|
+
const resp = await this.processRequest(ctx.request.body, ctx.request.headers);
|
|
166
|
+
if ('error' in resp) {
|
|
167
|
+
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
168
|
+
}
|
|
169
|
+
ctx.body = resp;
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return router;
|
|
173
|
+
}
|
|
174
|
+
async processBatch(requests, headers = {}) {
|
|
175
|
+
if (requests.length === 0) {
|
|
176
|
+
return {
|
|
177
|
+
jsonrpc: '2.0',
|
|
178
|
+
error: {
|
|
179
|
+
code: -32600,
|
|
180
|
+
message: 'Invalid Request'
|
|
181
|
+
},
|
|
182
|
+
id: null
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
const results = await Promise.allSettled(requests.map((req)=>this.processRequest(req, headers)));
|
|
186
|
+
return results.map((res)=>{
|
|
187
|
+
if (res.status === 'fulfilled') {
|
|
188
|
+
return res.value;
|
|
189
|
+
}
|
|
190
|
+
this.log.warn(`Uncaught error executing request in batch: ${res.reason}.`);
|
|
191
|
+
return {
|
|
192
|
+
jsonrpc: '2.0',
|
|
193
|
+
error: {
|
|
194
|
+
code: -32600,
|
|
195
|
+
message: 'Invalid Request'
|
|
196
|
+
},
|
|
197
|
+
id: null
|
|
198
|
+
};
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
async processRequest(request, headers = {}) {
|
|
202
|
+
if (!request || typeof request !== 'object') {
|
|
203
|
+
return {
|
|
204
|
+
jsonrpc: '2.0',
|
|
205
|
+
error: {
|
|
206
|
+
code: -32600,
|
|
207
|
+
message: 'Invalid Request'
|
|
208
|
+
},
|
|
209
|
+
id: null
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const { params = [], jsonrpc = '2.0', id, method } = request;
|
|
213
|
+
if (typeof method !== 'string' || !method) {
|
|
214
|
+
return {
|
|
215
|
+
jsonrpc: '2.0',
|
|
216
|
+
id,
|
|
217
|
+
error: {
|
|
218
|
+
code: -32600,
|
|
219
|
+
message: `Invalid request`
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
// Fail if not a registered function in the proxy
|
|
224
|
+
if (typeof method !== 'string' || method === 'constructor' || !this.proxy.hasMethod(method)) {
|
|
225
|
+
return {
|
|
226
|
+
jsonrpc,
|
|
227
|
+
id,
|
|
228
|
+
error: {
|
|
229
|
+
code: -32601,
|
|
230
|
+
message: `Method not found: ${method}`
|
|
231
|
+
}
|
|
232
|
+
};
|
|
233
|
+
} else {
|
|
234
|
+
try {
|
|
235
|
+
let result;
|
|
236
|
+
if (this.diagnosticsMiddleware) {
|
|
237
|
+
await this.diagnosticsMiddleware({
|
|
238
|
+
id: id ?? null,
|
|
239
|
+
method,
|
|
240
|
+
params,
|
|
241
|
+
headers
|
|
242
|
+
}, async ()=>{
|
|
243
|
+
result = await this.proxy.call(method, params);
|
|
244
|
+
});
|
|
245
|
+
} else {
|
|
246
|
+
result = await this.proxy.call(method, params);
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
162
249
|
jsonrpc,
|
|
163
250
|
id,
|
|
164
251
|
result
|
|
165
252
|
};
|
|
253
|
+
} catch (err) {
|
|
254
|
+
if (err && err instanceof ZodError) {
|
|
255
|
+
const message = err.issues.map((e)=>`${e.message} (${e.path.join('.')})`).join('. ') || 'Validation error';
|
|
256
|
+
return {
|
|
257
|
+
jsonrpc: '2.0',
|
|
258
|
+
id,
|
|
259
|
+
error: {
|
|
260
|
+
code: -32701,
|
|
261
|
+
message
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
} else if (err) {
|
|
265
|
+
return {
|
|
266
|
+
jsonrpc,
|
|
267
|
+
id,
|
|
268
|
+
error: {
|
|
269
|
+
code: -32702,
|
|
270
|
+
data: err.data,
|
|
271
|
+
message: err.message
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
} else {
|
|
275
|
+
return {
|
|
276
|
+
jsonrpc,
|
|
277
|
+
id,
|
|
278
|
+
error: {
|
|
279
|
+
code: -32702,
|
|
280
|
+
message: 'Error executing request'
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
}
|
|
166
284
|
}
|
|
167
|
-
}
|
|
168
|
-
return router;
|
|
285
|
+
}
|
|
169
286
|
}
|
|
170
287
|
/**
|
|
171
288
|
* Start this server with koa.
|
|
@@ -227,7 +344,7 @@ export class SafeJsonRpcServer {
|
|
|
227
344
|
assert(schemaHasMethod(this.schema, methodName), `Method ${methodName} not found in schema`);
|
|
228
345
|
const method = this.handler[methodName];
|
|
229
346
|
assert(typeof method === 'function', `Method ${methodName} is not a function`);
|
|
230
|
-
const args = await parseWithOptionals(jsonParams, this.schema[methodName]
|
|
347
|
+
const args = await parseWithOptionals(jsonParams, getSchemaParameters(this.schema[methodName]));
|
|
231
348
|
const ret = await method.apply(this.handler, args);
|
|
232
349
|
this.log.debug(format('response', methodName, ret));
|
|
233
350
|
return ret;
|
|
@@ -265,9 +382,9 @@ export function makeHandler(handler, schema) {
|
|
|
265
382
|
function makeAggregateHealthcheck(namedHandlers, log) {
|
|
266
383
|
return async ()=>{
|
|
267
384
|
try {
|
|
268
|
-
const results = await Promise.all(Object.entries(namedHandlers).map(([name, [, , healthCheck]])=>[
|
|
385
|
+
const results = await Promise.all(Object.entries(namedHandlers).map(async ([name, [, , healthCheck]])=>[
|
|
269
386
|
name,
|
|
270
|
-
healthCheck ? healthCheck() : true
|
|
387
|
+
healthCheck ? await healthCheck() : true
|
|
271
388
|
]));
|
|
272
389
|
const failed = results.filter(([_, result])=>!result);
|
|
273
390
|
if (failed.length > 0) {
|
|
@@ -285,18 +402,16 @@ function makeAggregateHealthcheck(namedHandlers, log) {
|
|
|
285
402
|
* Creates a single SafeJsonRpcServer from multiple handlers.
|
|
286
403
|
* @param servers - List of handlers to be combined.
|
|
287
404
|
* @returns A single JsonRpcServer with namespaced methods.
|
|
288
|
-
*/ export function createNamespacedSafeJsonRpcServer(handlers, options = {
|
|
289
|
-
log
|
|
290
|
-
}) {
|
|
291
|
-
const { middlewares, http200OnError, log } = options;
|
|
405
|
+
*/ export function createNamespacedSafeJsonRpcServer(handlers, options = {}) {
|
|
406
|
+
const { diagnostic, middlewares, log } = options;
|
|
292
407
|
const proxy = new NamespacedSafeJsonProxy(handlers);
|
|
293
408
|
const healthCheck = makeAggregateHealthcheck(handlers, log);
|
|
294
|
-
return new SafeJsonRpcServer(proxy,
|
|
409
|
+
return new SafeJsonRpcServer(proxy, options, healthCheck, middlewares, diagnostic, log);
|
|
295
410
|
}
|
|
296
411
|
export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
297
|
-
const {
|
|
412
|
+
const { diagnostic, log, healthCheck, middlewares: extraMiddlewares } = options;
|
|
298
413
|
const proxy = new SafeJsonProxy(handler, schema);
|
|
299
|
-
return new SafeJsonRpcServer(proxy,
|
|
414
|
+
return new SafeJsonRpcServer(proxy, options, healthCheck, extraMiddlewares, diagnostic, log);
|
|
300
415
|
}
|
|
301
416
|
/**
|
|
302
417
|
* Creates a router for handling a plain status request that will return 200 status when running.
|
|
@@ -311,7 +426,7 @@ export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
|
311
426
|
let ok;
|
|
312
427
|
try {
|
|
313
428
|
ok = await getCurrentStatus() === true;
|
|
314
|
-
} catch
|
|
429
|
+
} catch {
|
|
315
430
|
ok = false;
|
|
316
431
|
}
|
|
317
432
|
ctx.status = ok ? 200 : 500;
|
|
@@ -334,7 +449,11 @@ export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
|
334
449
|
}
|
|
335
450
|
const { promise, resolve } = promiseWithResolvers();
|
|
336
451
|
const listenPort = options.port ? typeof options.port === 'string' ? parseInt(options.port) : options.port : 0;
|
|
337
|
-
httpServer.listen(
|
|
452
|
+
httpServer.listen({
|
|
453
|
+
host: options.host,
|
|
454
|
+
port: listenPort,
|
|
455
|
+
reuseAddress: true
|
|
456
|
+
}, ()=>resolve());
|
|
338
457
|
// Wait until listen callback is called
|
|
339
458
|
if (!options.noWait) {
|
|
340
459
|
await promise;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { createJsonRpcTestSetup, type JsonRpcTestContext } from './integration.js';
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxLQUFLLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUMifQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
import type http from 'http';
|
|
3
2
|
import type { ApiSchemaFor } from '../../schemas/api.js';
|
|
4
3
|
import { type SafeJsonRpcClientOptions } from '../client/safe_json_rpc_client.js';
|
|
@@ -11,5 +10,5 @@ export type JsonRpcTestContext<T extends object> = {
|
|
|
11
10
|
};
|
|
12
11
|
url: string;
|
|
13
12
|
};
|
|
14
|
-
export declare function createJsonRpcTestSetup<T extends object>(handler: T, schema: ApiSchemaFor<T>, serverOptions?:
|
|
15
|
-
//# sourceMappingURL=
|
|
13
|
+
export declare function createJsonRpcTestSetup<T extends object>(handler: T, schema: ApiSchemaFor<T>, serverOptions?: SafeJsonRpcServerOptions, clientOptions?: SafeJsonRpcClientOptions): Promise<JsonRpcTestContext<T>>;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy90ZXN0L2ludGVncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBRSxLQUFLLHdCQUF3QixFQUEyQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNHLE9BQU8sRUFDTCxLQUFLLGlCQUFpQixFQUN0QixLQUFLLHdCQUF3QixFQUc5QixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsTUFBTSxJQUFJO0lBQ2pELE1BQU0sRUFBRSxpQkFBaUIsQ0FBQztJQUMxQixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUc7UUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUMzQyxHQUFHLEVBQUUsTUFBTSxDQUFDO0NBQ2IsQ0FBQztBQUVGLHdCQUFzQixzQkFBc0IsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUMzRCxPQUFPLEVBQUUsQ0FBQyxFQUNWLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ3ZCLGFBQWEsR0FBRSx3QkFBNkIsRUFDNUMsYUFBYSxHQUFFLHdCQUE2QixHQUMzQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FVaEMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/test/integration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/test/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,KAAK,wBAAwB,EAA2B,MAAM,mCAAmC,CAAC;AAC3G,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAG9B,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IACjD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,UAAU,EAAE,IAAI,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAC3D,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,aAAa,GAAE,wBAA6B,EAC5C,aAAa,GAAE,wBAA6B,GAC3C,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAUhC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts bigint values to strings recursively in a log object to avoid serialization issues.
|
|
3
|
+
*/
|
|
4
|
+
export declare function convertBigintsToStrings(obj: unknown): unknown;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlnaW50LXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL2JpZ2ludC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FxQjdEIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bigint-utils.d.ts","sourceRoot":"","sources":["../../src/log/bigint-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAqB7D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts bigint values to strings recursively in a log object to avoid serialization issues.
|
|
3
|
+
*/ export function convertBigintsToStrings(obj) {
|
|
4
|
+
if (typeof obj === 'bigint') {
|
|
5
|
+
return String(obj);
|
|
6
|
+
}
|
|
7
|
+
if (Array.isArray(obj)) {
|
|
8
|
+
return obj.map((item)=>convertBigintsToStrings(item));
|
|
9
|
+
}
|
|
10
|
+
if (obj !== null && typeof obj === 'object') {
|
|
11
|
+
if (typeof obj.toJSON === 'function') {
|
|
12
|
+
return convertBigintsToStrings(obj.toJSON());
|
|
13
|
+
}
|
|
14
|
+
const result = {};
|
|
15
|
+
for(const key in obj){
|
|
16
|
+
result[key] = convertBigintsToStrings(obj[key]);
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
package/dest/log/console.d.ts
CHANGED
|
@@ -8,4 +8,4 @@ import type { LogFn } from './log_fn.js';
|
|
|
8
8
|
* @returns A Logger function that accepts any number of arguments and logs them with the specified prefix.
|
|
9
9
|
*/
|
|
10
10
|
export declare function createConsoleLogger(prefix?: string): LogFn;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9jb25zb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQTBCekM7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsS0FBSyxDQU0xRCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/log/console.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/log/console.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AA0BzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAM1D"}
|
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export declare const GoogleCloudLoggerConfig: {
|
|
7
7
|
messageKey: string;
|
|
8
|
-
timestamp(): string;
|
|
9
8
|
formatters: {
|
|
10
9
|
log(object: Record<string, unknown>): Record<string, unknown>;
|
|
11
10
|
level(label: string, level: number): object;
|
|
12
11
|
};
|
|
13
12
|
};
|
|
14
|
-
//# sourceMappingURL=
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Nsb3VkLWxvZ2dlci1jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvZ2Nsb3VkLWxvZ2dlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUE7Ozs7R0FJRztBQUNILGVBQU8sTUFBTSx1QkFBdUI7Ozs7OztDQXFETixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcloud-logger-config.d.ts","sourceRoot":"","sources":["../../src/log/gcloud-logger-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gcloud-logger-config.d.ts","sourceRoot":"","sources":["../../src/log/gcloud-logger-config.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;CAqDN,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { convertBigintsToStrings } from './bigint-utils.js';
|
|
1
2
|
/* eslint-disable camelcase */ const GOOGLE_CLOUD_TRACE_ID = 'logging.googleapis.com/trace';
|
|
2
3
|
const GOOGLE_CLOUD_SPAN_ID = 'logging.googleapis.com/spanId';
|
|
3
4
|
const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
@@ -7,12 +8,10 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
|
7
8
|
* Adapted from https://cloud.google.com/trace/docs/setup/nodejs-ot#config-structured-logging.
|
|
8
9
|
*/ export const GoogleCloudLoggerConfig = {
|
|
9
10
|
messageKey: 'message',
|
|
10
|
-
// Same as pino.stdTimeFunctions.isoTime but uses "timestamp" key instead of "time"
|
|
11
|
-
timestamp () {
|
|
12
|
-
return `,"timestamp":"${new Date(Date.now()).toISOString()}"`;
|
|
13
|
-
},
|
|
14
11
|
formatters: {
|
|
15
12
|
log (object) {
|
|
13
|
+
// Convert bigints to strings recursively to avoid serialization issues
|
|
14
|
+
object = convertBigintsToStrings(object);
|
|
16
15
|
// Add trace context attributes following Cloud Logging structured log format described
|
|
17
16
|
// in https://cloud.google.com/logging/docs/structured-logging#special-payload-fields
|
|
18
17
|
const { trace_id, span_id, trace_flags, ...rest } = object;
|
|
@@ -34,9 +33,9 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
|
34
33
|
switch(label){
|
|
35
34
|
case 'trace':
|
|
36
35
|
case 'debug':
|
|
36
|
+
case 'verbose':
|
|
37
37
|
severity = 'DEBUG';
|
|
38
38
|
break;
|
|
39
|
-
case 'verbose':
|
|
40
39
|
case 'info':
|
|
41
40
|
severity = 'INFO';
|
|
42
41
|
break;
|
|
@@ -60,7 +59,3 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
61
|
};
|
|
63
|
-
// Define custom logging levels for pino. Duplicate from pino-logger.ts.
|
|
64
|
-
const customLevels = {
|
|
65
|
-
verbose: 25
|
|
66
|
-
};
|
package/dest/log/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './console.js';
|
|
2
|
-
export * from './debug.js';
|
|
3
|
-
export * from './pino-logger.js';
|
|
4
|
-
export * from './log_history.js';
|
|
5
|
-
export * from './log_fn.js';
|
|
6
2
|
export * from './libp2p_logger.js';
|
|
7
|
-
|
|
3
|
+
export * from './log_fn.js';
|
|
4
|
+
export * from './noir_debug_log_util.js';
|
|
5
|
+
export * from './pino-logger.js';
|
|
6
|
+
export * from './log-levels.js';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQyJ9
|
package/dest/log/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
|
package/dest/log/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './console.js';
|
|
2
|
-
export * from './debug.js';
|
|
3
|
-
export * from './pino-logger.js';
|
|
4
|
-
export * from './log_history.js';
|
|
5
|
-
export * from './log_fn.js';
|
|
6
2
|
export * from './libp2p_logger.js';
|
|
3
|
+
export * from './log_fn.js';
|
|
4
|
+
export * from './noir_debug_log_util.js';
|
|
5
|
+
export * from './pino-logger.js';
|
|
6
|
+
export * from './log-levels.js';
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { ComponentLogger } from '@libp2p/interface';
|
|
2
|
+
import { type LoggerBindings } from './pino-logger.js';
|
|
2
3
|
/**
|
|
3
4
|
* Creates a libp2p compatible logger that wraps our pino logger.
|
|
4
5
|
* This adapter implements the ComponentLogger interface required by libp2p.
|
|
6
|
+
* @param namespace - Base namespace for the logger
|
|
7
|
+
* @param bindings - Optional bindings to pass to the logger (actor, instanceId)
|
|
5
8
|
*/
|
|
6
|
-
export declare function createLibp2pComponentLogger(namespace: string): ComponentLogger;
|
|
7
|
-
//# sourceMappingURL=
|
|
9
|
+
export declare function createLibp2pComponentLogger(namespace: string, bindings?: LoggerBindings): ComponentLogger;
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX2xvZ2dlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9saWJwMnBfbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBVSxNQUFNLG1CQUFtQixDQUFDO0FBSWpFLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBc0IsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRTs7Ozs7R0FLRztBQUNILHdCQUFnQiwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FBRyxlQUFlLENBSXpHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p_logger.d.ts","sourceRoot":"","sources":["../../src/log/libp2p_logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"libp2p_logger.d.ts","sourceRoot":"","sources":["../../src/log/libp2p_logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,mBAAmB,CAAC;AAIjE,OAAO,EAAE,KAAK,cAAc,EAAsB,MAAM,kBAAkB,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,eAAe,CAIzG"}
|
|
@@ -3,9 +3,11 @@ import { logFilters, logger } from './pino-logger.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Creates a libp2p compatible logger that wraps our pino logger.
|
|
5
5
|
* This adapter implements the ComponentLogger interface required by libp2p.
|
|
6
|
-
|
|
6
|
+
* @param namespace - Base namespace for the logger
|
|
7
|
+
* @param bindings - Optional bindings to pass to the logger (actor, instanceId)
|
|
8
|
+
*/ export function createLibp2pComponentLogger(namespace, bindings) {
|
|
7
9
|
return {
|
|
8
|
-
forComponent: (component)=>createLibp2pLogger(`${namespace}:${component}
|
|
10
|
+
forComponent: (component)=>createLibp2pLogger(`${namespace}:${component}`, bindings)
|
|
9
11
|
};
|
|
10
12
|
}
|
|
11
13
|
// Lipp2p libraries use arbitrary string substitutions, so we need to replace them with %s, this is slow so avoid doing it unless trace debugging
|
|
@@ -16,10 +18,18 @@ function replaceFormatting(message) {
|
|
|
16
18
|
}
|
|
17
19
|
return message.replace(/(%p|%a)/g, '%s');
|
|
18
20
|
}
|
|
19
|
-
function createLibp2pLogger(component) {
|
|
21
|
+
function createLibp2pLogger(component, bindings) {
|
|
20
22
|
// Create a direct pino logger instance for libp2p that supports string interpolation
|
|
23
|
+
const actor = bindings?.actor;
|
|
24
|
+
const instanceId = bindings?.instanceId;
|
|
21
25
|
const log = logger.child({
|
|
22
|
-
module: component
|
|
26
|
+
module: component,
|
|
27
|
+
...actor && {
|
|
28
|
+
actor
|
|
29
|
+
},
|
|
30
|
+
...instanceId && {
|
|
31
|
+
instanceId
|
|
32
|
+
}
|
|
23
33
|
}, {
|
|
24
34
|
level: getLogLevelFromFilters(logFilters, component)
|
|
25
35
|
});
|
|
@@ -27,7 +37,7 @@ function createLibp2pLogger(component) {
|
|
|
27
37
|
if (!log.isLevelEnabled(level)) {
|
|
28
38
|
return;
|
|
29
39
|
}
|
|
30
|
-
log[level](replaceFormatting(message), ...args);
|
|
40
|
+
log[level](replaceFormatting(message), ...formatArgs(message, args));
|
|
31
41
|
};
|
|
32
42
|
// Default log level is trace as this is super super noisy
|
|
33
43
|
const logFn = (message, ...args)=>{
|
|
@@ -37,7 +47,7 @@ function createLibp2pLogger(component) {
|
|
|
37
47
|
enabled: log.isLevelEnabled('debug'),
|
|
38
48
|
error (message, ...args) {
|
|
39
49
|
// We write error outputs as debug as they are often expected, e.g. connection errors can happen in happy paths
|
|
40
|
-
logIfEnabled('debug', message
|
|
50
|
+
logIfEnabled('debug', `error: ${message}`, ...args);
|
|
41
51
|
},
|
|
42
52
|
debug (message, ...args) {
|
|
43
53
|
logIfEnabled('debug', message, ...args);
|
|
@@ -53,3 +63,14 @@ function createLibp2pLogger(component) {
|
|
|
53
63
|
}
|
|
54
64
|
});
|
|
55
65
|
}
|
|
66
|
+
function formatArgs(message, args) {
|
|
67
|
+
if (!args) {
|
|
68
|
+
return args;
|
|
69
|
+
}
|
|
70
|
+
return args.map((arg)=>{
|
|
71
|
+
if (typeof arg === 'object' && arg && 'err' in arg && arg.err instanceof Error && 'type' in arg.err && arg.err.type === 'AbortError') {
|
|
72
|
+
delete arg.err; // Remove the AbortError from the logs
|
|
73
|
+
}
|
|
74
|
+
return arg;
|
|
75
|
+
});
|
|
76
|
+
}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { type LogLevel } from './log-levels.js';
|
|
2
2
|
export type LogFilters = [string, LogLevel][];
|
|
3
3
|
export declare function getLogLevelFromFilters(filters: LogFilters, module: string): LogLevel | undefined;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Parses the LOG_LEVEL env string into a default level and per-module filter overrides.
|
|
6
|
+
*
|
|
7
|
+
* Format: `<default_level>;<level>:<module1>,<module2>;<level>:<module3>;...`
|
|
8
|
+
* - First segment (before the first `;`) is the default log level for all modules.
|
|
9
|
+
* - Remaining segments are `level:module` pairs: apply the given level to the listed modules (comma-separated).
|
|
10
|
+
* - Later filters override earlier ones for overlapping module matches.
|
|
11
|
+
* - The `aztec:` prefix is stripped from module names; spaces are trimmed.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* parseLogLevel('debug;warn:module1,module2;error:module3', 'info')
|
|
16
|
+
* // => ['debug', [['module3', 'error'], ['module2', 'warn'], ['module1', 'warn']]]
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseLogLevelEnvVar(logLevelEnvVar: string | undefined, defaultLevel: LogLevel): [LogLevel, LogFilters];
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWZpbHRlcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvbG9nLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFFM0QsTUFBTSxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO0FBRTlDLHdCQUFnQixzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FlaEc7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHdCQUFnQixtQkFBbUIsQ0FDakMsY0FBYyxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ2xDLFlBQVksRUFBRSxRQUFRLEdBQ3JCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQU94QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-filters.d.ts","sourceRoot":"","sources":["../../src/log/log-filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;AAE9C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAehG;AAED
|
|
1
|
+
{"version":3,"file":"log-filters.d.ts","sourceRoot":"","sources":["../../src/log/log-filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,iBAAiB,CAAC;AAE3D,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;AAE9C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAehG;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,YAAY,EAAE,QAAQ,GACrB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAOxB"}
|