@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.023c3e5
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 +10 -0
- package/dest/array/sorted_array.d.ts.map +1 -0
- package/dest/array/sorted_array.js +106 -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/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 +78 -0
- package/dest/branded-types/checkpoint_number.d.ts +54 -0
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
- package/dest/branded-types/checkpoint_number.js +77 -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 +7 -0
- package/dest/branded-types/index.d.ts.map +1 -0
- package/dest/branded-types/index.js +5 -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 +42 -0
- package/dest/branded-types/slot.d.ts.map +1 -0
- package/dest/branded-types/slot.js +59 -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 +80 -0
- package/dest/buffer/buffer16.d.ts.map +1 -0
- package/dest/buffer/buffer16.js +102 -0
- package/dest/buffer/buffer32.d.ts +5 -9
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +9 -7
- package/dest/buffer/index.d.ts +2 -1
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +1 -0
- package/dest/collection/array.d.ts +28 -4
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +108 -3
- package/dest/collection/index.d.ts +1 -1
- 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/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 +62 -4
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +143 -12
- package/dest/config/network_config.d.ts +54 -0
- package/dest/config/network_config.d.ts.map +1 -0
- package/dest/config/network_config.js +11 -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 +3 -5
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +19 -6
- package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
- package/dest/crypto/bls/bn254_keystore.js +218 -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 +27 -21
- 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 +3 -2
- package/dest/crypto/schnorr/index.d.ts.map +1 -1
- package/dest/crypto/schnorr/index.js +30 -38
- package/dest/crypto/schnorr/signature.d.ts +5 -7
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.js +2 -2
- 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 +56 -5
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.js +92 -6
- package/dest/crypto/serialize.d.ts +5 -7
- package/dest/crypto/serialize.d.ts.map +1 -1
- 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 +362 -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 +180 -0
- package/dest/curves/bn254/field.d.ts.map +1 -0
- package/dest/{fields/fields.js → curves/bn254/field.js} +90 -62
- 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 +14 -7
- package/dest/curves/grumpkin/point.d.ts.map +1 -0
- package/dest/{fields → curves/grumpkin}/point.js +27 -10
- 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 +18 -9
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +31 -2
- package/dest/eth-signature/eth_signature.d.ts +17 -15
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.js +31 -17
- package/dest/eth-signature/index.d.ts +1 -1
- 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 +4 -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 +16 -30
- package/dest/json-rpc/client/index.d.ts +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +10 -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 +173 -13
- 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 +27 -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 +1 -1
- package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
- 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/index.d.ts +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +22 -23
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +161 -56
- 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/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 +1 -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 +1 -1
- 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 +143 -28
- 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 +9 -9
- 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 +1 -1
- 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 +1 -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 +14 -3
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +13 -2
- package/dest/running-promise/index.d.ts +1 -1
- package/dest/schemas/api.d.ts +1 -1
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/index.d.ts +1 -1
- package/dest/schemas/parse.d.ts +1 -1
- package/dest/schemas/parse.js +1 -1
- package/dest/schemas/schemas.d.ts +21 -20
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +29 -11
- package/dest/schemas/types.d.ts +31 -1
- package/dest/schemas/types.d.ts.map +1 -1
- package/dest/schemas/types.js +25 -1
- package/dest/schemas/utils.d.ts +4 -6
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/schemas/utils.js +15 -5
- package/dest/serialize/buffer_reader.d.ts +34 -6
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +57 -6
- 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 +1 -1
- package/dest/serialize/serialize.d.ts +6 -7
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/serialize/serialize.js +1 -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 +3 -1
- package/dest/sleep/index.d.ts.map +1 -1
- package/dest/sleep/index.js +4 -0
- 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 +4 -2
- package/dest/timer/date.d.ts.map +1 -1
- package/dest/timer/date.js +8 -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 +19 -6
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/timer/timeout.js +43 -22
- package/dest/timer/timer.d.ts +1 -1
- package/dest/timer/timer.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
- package/dest/transport/dispatch/messages.d.ts +1 -1
- package/dest/transport/index.d.ts +1 -2
- package/dest/transport/index.d.ts.map +1 -1
- package/dest/transport/index.js +0 -1
- 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_server.d.ts +1 -10
- package/dest/transport/transport_server.d.ts.map +1 -1
- package/dest/trees/balanced_merkle_tree_root.d.ts +17 -0
- package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/balanced_merkle_tree_root.js +51 -0
- package/dest/trees/hasher.d.ts +7 -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_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 +2 -4
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.js +2 -2
- package/dest/trees/sibling_path.d.ts +6 -41
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/sibling_path.js +3 -3
- 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 +28 -0
- package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
- package/dest/trees/unbalanced_merkle_tree_root.js +84 -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 +30 -3
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +6 -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 +60 -45
- package/src/array/array.ts +13 -16
- package/src/array/index.ts +1 -0
- package/src/array/sorted_array.ts +133 -0
- package/src/async-pool/index.ts +1 -0
- package/src/bigint/index.ts +20 -0
- package/src/branded-types/block_number.ts +117 -0
- package/src/branded-types/checkpoint_number.ts +115 -0
- package/src/branded-types/epoch.ts +88 -0
- package/src/branded-types/index.ts +7 -0
- package/src/branded-types/index_within_checkpoint.ts +88 -0
- package/src/branded-types/slot.ts +88 -0
- package/src/branded-types/types.ts +2 -0
- package/src/buffer/buffer16.ts +133 -0
- package/src/buffer/buffer32.ts +10 -8
- package/src/buffer/index.ts +1 -0
- package/src/collection/array.ts +118 -4
- package/src/collection/object.ts +37 -0
- package/src/config/env_var.ts +186 -59
- package/src/config/index.ts +226 -10
- package/src/config/network_config.ts +18 -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 +19 -10
- package/src/crypto/bls/bn254_keystore.ts +287 -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 +27 -29
- package/src/crypto/random/index.ts +2 -40
- package/src/crypto/random/randomness_singleton.ts +6 -4
- package/src/crypto/schnorr/index.ts +22 -18
- package/src/crypto/schnorr/signature.ts +2 -2
- package/src/crypto/secp256k1/index.ts +15 -11
- package/src/crypto/secp256k1-signer/utils.ts +120 -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 +463 -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} +84 -63
- 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 +27 -10
- package/src/eth-address/index.ts +35 -3
- package/src/eth-signature/eth_signature.ts +44 -22
- 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 +4 -1
- package/src/jest/setupAfterEnv.mjs +3 -0
- package/src/json-rpc/client/fetch.ts +14 -33
- package/src/json-rpc/client/safe_json_rpc_client.ts +226 -13
- package/src/json-rpc/client/undici.ts +29 -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/index.ts +2 -1
- package/src/json-rpc/server/safe_json_rpc_server.ts +141 -48
- package/src/json-rpc/test/integration.ts +1 -1
- package/src/log/console.ts +4 -1
- package/src/log/gcloud-logger-config.ts +3 -7
- package/src/log/index.ts +4 -4
- package/src/log/libp2p_logger.ts +33 -7
- 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 +169 -37
- package/src/message/index.ts +5 -1
- package/src/mutex/mutex_database.ts +2 -3
- 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/batch_queue.ts +1 -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 +28 -5
- package/src/schemas/api.ts +4 -4
- package/src/schemas/parse.ts +1 -1
- package/src/schemas/schemas.ts +42 -13
- package/src/schemas/types.ts +33 -0
- package/src/schemas/utils.ts +21 -8
- package/src/serialize/buffer_reader.ts +81 -12
- package/src/serialize/field_reader.ts +28 -4
- package/src/serialize/free_funcs.ts +26 -32
- package/src/serialize/serialize.ts +3 -1
- package/src/sleep/index.ts +6 -0
- 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 +13 -3
- package/src/timer/index.ts +1 -1
- package/src/timer/timeout.ts +54 -19
- package/src/transport/index.ts +0 -1
- 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 +3 -4
- package/src/transport/transport_server.ts +4 -1
- package/src/trees/balanced_merkle_tree_root.ts +68 -0
- package/src/trees/hasher.ts +13 -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 +2 -2
- package/src/trees/membership_witness.ts +22 -1
- package/src/trees/merkle_tree.ts +4 -1
- package/src/trees/merkle_tree_calculator.ts +10 -5
- package/src/trees/sibling_path.ts +3 -3
- package/src/trees/unbalanced_merkle_tree_calculator.ts +176 -0
- package/src/trees/unbalanced_merkle_tree_root.ts +115 -0
- package/src/trees/unbalanced_tree_store.ts +62 -3
- package/src/types/index.ts +35 -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/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/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/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/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
|
@@ -11,9 +11,13 @@ import { promiseWithResolvers } from '../../promise/utils.js';
|
|
|
11
11
|
import { 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;
|
|
19
23
|
log;
|
|
@@ -21,15 +25,20 @@ export class SafeJsonRpcServer {
|
|
|
21
25
|
* The HTTP server accepting remote requests.
|
|
22
26
|
* This member field is initialized when the server is started.
|
|
23
27
|
*/ 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')){
|
|
28
|
+
config;
|
|
29
|
+
constructor(/** The proxy object to delegate requests to */ proxy, config = {}, /** Health check function */ healthCheck = ()=>true, /** Additional middlewares */ extraMiddlewares = [], /** Logger */ log = createLogger('json-rpc:server')){
|
|
28
30
|
this.proxy = proxy;
|
|
29
|
-
this.http200OnError = http200OnError;
|
|
30
31
|
this.healthCheck = healthCheck;
|
|
31
32
|
this.extraMiddlewares = extraMiddlewares;
|
|
32
33
|
this.log = log;
|
|
34
|
+
this.config = {
|
|
35
|
+
...defaultServerConfig,
|
|
36
|
+
...config
|
|
37
|
+
};
|
|
38
|
+
// handle empty string
|
|
39
|
+
if (!this.config.maxBodySizeBytes) {
|
|
40
|
+
this.config.maxBodySizeBytes = defaultServerConfig.maxBodySizeBytes;
|
|
41
|
+
}
|
|
33
42
|
}
|
|
34
43
|
isHealthy() {
|
|
35
44
|
return this.healthCheck();
|
|
@@ -45,36 +54,25 @@ export class SafeJsonRpcServer {
|
|
|
45
54
|
await next();
|
|
46
55
|
} catch (err) {
|
|
47
56
|
const method = ctx.request.body?.method ?? 'unknown';
|
|
48
|
-
this.log.warn(`
|
|
49
|
-
if (err
|
|
57
|
+
this.log.warn(`Uncaught error in JSON RPC server call ${method}: ${inspect(err)}`);
|
|
58
|
+
if (err && 'name' in err && err.name === 'BadRequestError') {
|
|
50
59
|
ctx.status = 400;
|
|
51
60
|
ctx.body = {
|
|
52
61
|
jsonrpc: '2.0',
|
|
53
62
|
id: null,
|
|
54
63
|
error: {
|
|
55
|
-
code: -
|
|
56
|
-
message: `
|
|
64
|
+
code: -32000,
|
|
65
|
+
message: `Bad request: ${err.message}`
|
|
57
66
|
}
|
|
58
67
|
};
|
|
59
|
-
} else if (err instanceof
|
|
60
|
-
const message = err.issues.map((e)=>`${e.message} (${e.path.join('.')})`).join('. ') || 'Validation error';
|
|
68
|
+
} else if (err && err instanceof SyntaxError) {
|
|
61
69
|
ctx.status = 400;
|
|
62
70
|
ctx.body = {
|
|
63
71
|
jsonrpc: '2.0',
|
|
64
72
|
id: null,
|
|
65
73
|
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
|
|
74
|
+
code: -32700,
|
|
75
|
+
message: `Parse error: ${err.message}`
|
|
78
76
|
}
|
|
79
77
|
};
|
|
80
78
|
} else {
|
|
@@ -120,11 +118,10 @@ export class SafeJsonRpcServer {
|
|
|
120
118
|
}
|
|
121
119
|
app.use(exceptionHandler);
|
|
122
120
|
app.use(bodyParser({
|
|
123
|
-
jsonLimit:
|
|
121
|
+
jsonLimit: this.config.maxBodySizeBytes,
|
|
124
122
|
enableTypes: [
|
|
125
123
|
'json'
|
|
126
|
-
]
|
|
127
|
-
detectJSON: ()=>true
|
|
124
|
+
]
|
|
128
125
|
}));
|
|
129
126
|
app.use(cors());
|
|
130
127
|
app.use(router.routes());
|
|
@@ -141,31 +138,137 @@ export class SafeJsonRpcServer {
|
|
|
141
138
|
});
|
|
142
139
|
// "JSON RPC mode" where a single endpoint is used and the method is given in the request body
|
|
143
140
|
router.post('/', async (ctx)=>{
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
141
|
+
if (Array.isArray(ctx.request.body)) {
|
|
142
|
+
if (ctx.request.body.length > this.config.maxBatchSize) {
|
|
143
|
+
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
144
|
+
ctx.body = {
|
|
145
|
+
jsonrpc: '2.0',
|
|
146
|
+
error: {
|
|
147
|
+
code: -32600,
|
|
148
|
+
message: `Batch request exceeds maximum allowed size of ${this.config.maxBatchSize}`
|
|
149
|
+
},
|
|
150
|
+
id: null
|
|
151
|
+
};
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const resp = await this.processBatch(ctx.request.body);
|
|
155
|
+
if (Array.isArray(resp)) {
|
|
156
|
+
ctx.status = 200;
|
|
157
|
+
ctx.body = resp;
|
|
158
|
+
} else {
|
|
159
|
+
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
160
|
+
ctx.body = resp;
|
|
161
|
+
}
|
|
158
162
|
} else {
|
|
159
|
-
|
|
163
|
+
const resp = await this.processRequest(ctx.request.body);
|
|
164
|
+
if ('error' in resp) {
|
|
165
|
+
ctx.status = this.config.http200OnError ? 200 : 400;
|
|
166
|
+
}
|
|
167
|
+
ctx.body = resp;
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return router;
|
|
171
|
+
}
|
|
172
|
+
async processBatch(requests) {
|
|
173
|
+
if (requests.length === 0) {
|
|
174
|
+
return {
|
|
175
|
+
jsonrpc: '2.0',
|
|
176
|
+
error: {
|
|
177
|
+
code: -32600,
|
|
178
|
+
message: 'Invalid Request'
|
|
179
|
+
},
|
|
180
|
+
id: null
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
const results = await Promise.allSettled(requests.map((req)=>this.processRequest(req)));
|
|
184
|
+
return results.map((res)=>{
|
|
185
|
+
if (res.status === 'fulfilled') {
|
|
186
|
+
return res.value;
|
|
187
|
+
}
|
|
188
|
+
this.log.warn(`Uncaught error executing request in batch: ${res.reason}.`);
|
|
189
|
+
return {
|
|
190
|
+
jsonrpc: '2.0',
|
|
191
|
+
error: {
|
|
192
|
+
code: -32600,
|
|
193
|
+
message: 'Invalid Request'
|
|
194
|
+
},
|
|
195
|
+
id: null
|
|
196
|
+
};
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
async processRequest(request) {
|
|
200
|
+
if (!request || typeof request !== 'object') {
|
|
201
|
+
return {
|
|
202
|
+
jsonrpc: '2.0',
|
|
203
|
+
error: {
|
|
204
|
+
code: -32600,
|
|
205
|
+
message: 'Invalid Request'
|
|
206
|
+
},
|
|
207
|
+
id: null
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
const { params = [], jsonrpc = '2.0', id, method } = request;
|
|
211
|
+
if (typeof method !== 'string' || !method) {
|
|
212
|
+
return {
|
|
213
|
+
jsonrpc: '2.0',
|
|
214
|
+
id,
|
|
215
|
+
error: {
|
|
216
|
+
code: -32600,
|
|
217
|
+
message: `Invalid request`
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
// Fail if not a registered function in the proxy
|
|
222
|
+
if (typeof method !== 'string' || method === 'constructor' || !this.proxy.hasMethod(method)) {
|
|
223
|
+
return {
|
|
224
|
+
jsonrpc,
|
|
225
|
+
id,
|
|
226
|
+
error: {
|
|
227
|
+
code: -32601,
|
|
228
|
+
message: `Method not found: ${method}`
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
} else {
|
|
232
|
+
try {
|
|
160
233
|
const result = await this.proxy.call(method, params);
|
|
161
|
-
|
|
234
|
+
return {
|
|
162
235
|
jsonrpc,
|
|
163
236
|
id,
|
|
164
237
|
result
|
|
165
238
|
};
|
|
239
|
+
} catch (err) {
|
|
240
|
+
if (err && err instanceof ZodError) {
|
|
241
|
+
const message = err.issues.map((e)=>`${e.message} (${e.path.join('.')})`).join('. ') || 'Validation error';
|
|
242
|
+
return {
|
|
243
|
+
jsonrpc: '2.0',
|
|
244
|
+
id,
|
|
245
|
+
error: {
|
|
246
|
+
code: -32701,
|
|
247
|
+
message
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
} else if (err) {
|
|
251
|
+
return {
|
|
252
|
+
jsonrpc,
|
|
253
|
+
id,
|
|
254
|
+
error: {
|
|
255
|
+
code: -32702,
|
|
256
|
+
data: err.data,
|
|
257
|
+
message: err.message
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
} else {
|
|
261
|
+
return {
|
|
262
|
+
jsonrpc,
|
|
263
|
+
id,
|
|
264
|
+
error: {
|
|
265
|
+
code: -32702,
|
|
266
|
+
message: 'Error executing request'
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
}
|
|
166
270
|
}
|
|
167
|
-
}
|
|
168
|
-
return router;
|
|
271
|
+
}
|
|
169
272
|
}
|
|
170
273
|
/**
|
|
171
274
|
* Start this server with koa.
|
|
@@ -265,9 +368,9 @@ export function makeHandler(handler, schema) {
|
|
|
265
368
|
function makeAggregateHealthcheck(namedHandlers, log) {
|
|
266
369
|
return async ()=>{
|
|
267
370
|
try {
|
|
268
|
-
const results = await Promise.all(Object.entries(namedHandlers).map(([name, [, , healthCheck]])=>[
|
|
371
|
+
const results = await Promise.all(Object.entries(namedHandlers).map(async ([name, [, , healthCheck]])=>[
|
|
269
372
|
name,
|
|
270
|
-
healthCheck ? healthCheck() : true
|
|
373
|
+
healthCheck ? await healthCheck() : true
|
|
271
374
|
]));
|
|
272
375
|
const failed = results.filter(([_, result])=>!result);
|
|
273
376
|
if (failed.length > 0) {
|
|
@@ -285,18 +388,16 @@ function makeAggregateHealthcheck(namedHandlers, log) {
|
|
|
285
388
|
* Creates a single SafeJsonRpcServer from multiple handlers.
|
|
286
389
|
* @param servers - List of handlers to be combined.
|
|
287
390
|
* @returns A single JsonRpcServer with namespaced methods.
|
|
288
|
-
*/ export function createNamespacedSafeJsonRpcServer(handlers, options = {
|
|
289
|
-
log
|
|
290
|
-
}) {
|
|
291
|
-
const { middlewares, http200OnError, log } = options;
|
|
391
|
+
*/ export function createNamespacedSafeJsonRpcServer(handlers, options = {}) {
|
|
392
|
+
const { middlewares, log } = options;
|
|
292
393
|
const proxy = new NamespacedSafeJsonProxy(handlers);
|
|
293
394
|
const healthCheck = makeAggregateHealthcheck(handlers, log);
|
|
294
|
-
return new SafeJsonRpcServer(proxy,
|
|
395
|
+
return new SafeJsonRpcServer(proxy, options, healthCheck, middlewares, log);
|
|
295
396
|
}
|
|
296
397
|
export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
297
|
-
const {
|
|
398
|
+
const { log, healthCheck, middlewares: extraMiddlewares } = options;
|
|
298
399
|
const proxy = new SafeJsonProxy(handler, schema);
|
|
299
|
-
return new SafeJsonRpcServer(proxy,
|
|
400
|
+
return new SafeJsonRpcServer(proxy, options, healthCheck, extraMiddlewares, log);
|
|
300
401
|
}
|
|
301
402
|
/**
|
|
302
403
|
* Creates a router for handling a plain status request that will return 200 status when running.
|
|
@@ -311,7 +412,7 @@ export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
|
311
412
|
let ok;
|
|
312
413
|
try {
|
|
313
414
|
ok = await getCurrentStatus() === true;
|
|
314
|
-
} catch
|
|
415
|
+
} catch {
|
|
315
416
|
ok = false;
|
|
316
417
|
}
|
|
317
418
|
ctx.status = ok ? 200 : 500;
|
|
@@ -334,7 +435,11 @@ export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
|
334
435
|
}
|
|
335
436
|
const { promise, resolve } = promiseWithResolvers();
|
|
336
437
|
const listenPort = options.port ? typeof options.port === 'string' ? parseInt(options.port) : options.port : 0;
|
|
337
|
-
httpServer.listen(
|
|
438
|
+
httpServer.listen({
|
|
439
|
+
host: options.host,
|
|
440
|
+
port: listenPort,
|
|
441
|
+
reuseAddress: true
|
|
442
|
+
}, ()=>resolve());
|
|
338
443
|
// Wait until listen callback is called
|
|
339
444
|
if (!options.noWait) {
|
|
340
445
|
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"}
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Nsb3VkLWxvZ2dlci1jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvZ2Nsb3VkLWxvZ2dlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUE7Ozs7R0FJRztBQUNILGVBQU8sTUFBTSx1QkFBdUI7Ozs7OztDQWtETixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcloud-logger-config.d.ts","sourceRoot":"","sources":["../../src/log/gcloud-logger-config.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"gcloud-logger-config.d.ts","sourceRoot":"","sources":["../../src/log/gcloud-logger-config.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;CAkDN,CAAC"}
|
|
@@ -7,10 +7,6 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
|
7
7
|
* Adapted from https://cloud.google.com/trace/docs/setup/nodejs-ot#config-structured-logging.
|
|
8
8
|
*/ export const GoogleCloudLoggerConfig = {
|
|
9
9
|
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
10
|
formatters: {
|
|
15
11
|
log (object) {
|
|
16
12
|
// Add trace context attributes following Cloud Logging structured log format described
|
|
@@ -34,9 +30,9 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
|
34
30
|
switch(label){
|
|
35
31
|
case 'trace':
|
|
36
32
|
case 'debug':
|
|
33
|
+
case 'verbose':
|
|
37
34
|
severity = 'DEBUG';
|
|
38
35
|
break;
|
|
39
|
-
case 'verbose':
|
|
40
36
|
case 'info':
|
|
41
37
|
severity = 'INFO';
|
|
42
38
|
break;
|
|
@@ -60,7 +56,3 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
|
60
56
|
}
|
|
61
57
|
}
|
|
62
58
|
};
|
|
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
|
+
}
|
|
@@ -4,4 +4,4 @@ export declare function getLogLevelFromFilters(filters: LogFilters, module: stri
|
|
|
4
4
|
export declare function assertLogLevel(level: string): asserts level is LogLevel;
|
|
5
5
|
export declare function parseEnv(env: string | undefined, defaultLevel: LogLevel): [LogLevel, LogFilters];
|
|
6
6
|
export declare function parseFilters(definition: string | undefined): LogFilters;
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWZpbHRlcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvbG9nLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFFM0QsTUFBTSxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO0FBRTlDLHdCQUFnQixzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FlaEc7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxRQUFRLENBSXZFO0FBRUQsd0JBQWdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxHQUFHLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQU9oRztBQUVELHdCQUFnQixZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsVUFBVSxDQTBCdkUifQ==
|
package/dest/log/log-levels.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const LogLevels: readonly ["silent", "fatal", "error", "warn", "info", "verbose", "debug", "trace"];
|
|
2
2
|
export type LogLevel = (typeof LogLevels)[number];
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWxldmVscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9sb2ctbGV2ZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQU8sTUFBTSxTQUFTLG9GQUFxRixDQUFDO0FBRTVHLE1BQU0sTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
|
package/dest/log/log_fn.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Structured log data to include with the message. */
|
|
2
2
|
export type LogData = Record<string, string | number | bigint | boolean | {
|
|
3
3
|
toString(): string;
|
|
4
|
-
} | undefined>;
|
|
4
|
+
} | undefined | null>;
|
|
5
5
|
/** A callable logger instance. */
|
|
6
6
|
export type LogFn = (msg: string, data?: unknown) => void;
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2ZuLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL2xvZ19mbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRztJQUFFLFFBQVEsSUFBSSxNQUFNLENBQUE7Q0FBRSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUVySCxrQ0FBa0M7QUFDbEMsTUFBTSxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQyJ9
|
package/dest/log/log_fn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_fn.d.ts","sourceRoot":"","sources":["../../src/log/log_fn.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"log_fn.d.ts","sourceRoot":"","sources":["../../src/log/log_fn.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;AAErH,kCAAkC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface Printable {
|
|
2
|
+
toString(): string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Format a debug string filling in `'{0}'` entries with their
|
|
6
|
+
* corresponding values from the args array, amd `'{}'` with the whole array.
|
|
7
|
+
*
|
|
8
|
+
* @param formatStr - str of form `'this is a string with some entries like {0} and {1}'`
|
|
9
|
+
* @param args - array of fields to fill in the string format entries with
|
|
10
|
+
* @returns formatted string
|
|
11
|
+
*/
|
|
12
|
+
export declare function applyStringFormatting(formatStr: string, args: Printable[]): string;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pcl9kZWJ1Z19sb2dfdXRpbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9ub2lyX2RlYnVnX2xvZ191dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVUsU0FBUztJQUNqQixRQUFRLElBQUksTUFBTSxDQUFDO0NBQ3BCO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBUWxGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noir_debug_log_util.d.ts","sourceRoot":"","sources":["../../src/log/noir_debug_log_util.ts"],"names":[],"mappings":"AAAA,UAAU,SAAS;IACjB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAQlF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a debug string filling in `'{0}'` entries with their
|
|
3
|
+
* corresponding values from the args array, amd `'{}'` with the whole array.
|
|
4
|
+
*
|
|
5
|
+
* @param formatStr - str of form `'this is a string with some entries like {0} and {1}'`
|
|
6
|
+
* @param args - array of fields to fill in the string format entries with
|
|
7
|
+
* @returns formatted string
|
|
8
|
+
*/ export function applyStringFormatting(formatStr, args) {
|
|
9
|
+
return formatStr.replace(/{(\d+)}/g, (match, index)=>{
|
|
10
|
+
return typeof args[index] === 'undefined' ? match : args[index].toString();
|
|
11
|
+
}).replace(/{}/g, (_match, _index)=>{
|
|
12
|
+
return args.toString();
|
|
13
|
+
});
|
|
14
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type LoggerBindings } from './pino-logger.js';
|
|
2
|
+
/** Returns the current bindings from AsyncLocalStorage, if any. */
|
|
3
|
+
export declare function getBindings(): LoggerBindings | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Runs a callback within a bindings context. All loggers created within the callback
|
|
6
|
+
* will automatically inherit the bindings (actor, instanceId) via the log bindings handler.
|
|
7
|
+
*/
|
|
8
|
+
export declare function withLoggerBindings<T>(bindings: LoggerBindings, callback: () => Promise<T>): Promise<T>;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluby1sb2dnZXItc2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL3Bpbm8tbG9nZ2VyLXNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQW1ELE1BQU0sa0JBQWtCLENBQUM7QUFLeEcsbUVBQW1FO0FBQ25FLHdCQUFnQixXQUFXLElBQUksY0FBYyxHQUFHLFNBQVMsQ0FFeEQ7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FRNUcifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pino-logger-server.d.ts","sourceRoot":"","sources":["../../src/log/pino-logger-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAmD,MAAM,kBAAkB,CAAC;AAKxG,mEAAmE;AACnE,wBAAgB,WAAW,IAAI,cAAc,GAAG,SAAS,CAExD;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ5G"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import { addLogBindingsHandler, removeLogBindingsHandler } from './pino-logger.js';
|
|
3
|
+
/** AsyncLocalStorage for logger bindings context propagation (Node.js only). */ const bindingsStorage = new AsyncLocalStorage();
|
|
4
|
+
/** Returns the current bindings from AsyncLocalStorage, if any. */ export function getBindings() {
|
|
5
|
+
return bindingsStorage.getStore();
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Runs a callback within a bindings context. All loggers created within the callback
|
|
9
|
+
* will automatically inherit the bindings (actor, instanceId) via the log bindings handler.
|
|
10
|
+
*/ export async function withLoggerBindings(bindings, callback) {
|
|
11
|
+
const handler = ()=>bindingsStorage.getStore();
|
|
12
|
+
addLogBindingsHandler(handler);
|
|
13
|
+
try {
|
|
14
|
+
return await bindingsStorage.run(bindings, callback);
|
|
15
|
+
} finally{
|
|
16
|
+
removeLogBindingsHandler(handler);
|
|
17
|
+
}
|
|
18
|
+
}
|