@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.5476d83

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.
Files changed (618) hide show
  1. package/dest/array/array.d.ts +6 -9
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +11 -11
  4. package/dest/array/index.d.ts +1 -1
  5. package/dest/async-map/index.d.ts +1 -1
  6. package/dest/async-pool/index.d.ts +1 -1
  7. package/dest/async-pool/index.d.ts.map +1 -1
  8. package/dest/async-pool/index.js +1 -0
  9. package/dest/bigint/index.d.ts +7 -0
  10. package/dest/bigint/index.d.ts.map +1 -0
  11. package/dest/bigint/index.js +15 -0
  12. package/dest/bigint-buffer/index.d.ts +1 -3
  13. package/dest/bigint-buffer/index.d.ts.map +1 -1
  14. package/dest/branded-types/epoch.d.ts +42 -0
  15. package/dest/branded-types/epoch.d.ts.map +1 -0
  16. package/dest/branded-types/epoch.js +59 -0
  17. package/dest/branded-types/index.d.ts +4 -0
  18. package/dest/branded-types/index.d.ts.map +1 -0
  19. package/dest/branded-types/index.js +2 -0
  20. package/dest/branded-types/slot.d.ts +42 -0
  21. package/dest/branded-types/slot.d.ts.map +1 -0
  22. package/dest/branded-types/slot.js +59 -0
  23. package/dest/branded-types/types.d.ts +5 -0
  24. package/dest/branded-types/types.d.ts.map +1 -0
  25. package/dest/branded-types/types.js +1 -0
  26. package/dest/buffer/buffer16.d.ts +77 -0
  27. package/dest/buffer/buffer16.d.ts.map +1 -0
  28. package/dest/buffer/buffer16.js +100 -0
  29. package/dest/buffer/buffer32.d.ts +4 -11
  30. package/dest/buffer/buffer32.d.ts.map +1 -1
  31. package/dest/buffer/buffer32.js +6 -6
  32. package/dest/buffer/index.d.ts +2 -1
  33. package/dest/buffer/index.d.ts.map +1 -1
  34. package/dest/buffer/index.js +1 -0
  35. package/dest/collection/array.d.ts +17 -4
  36. package/dest/collection/array.d.ts.map +1 -1
  37. package/dest/collection/array.js +57 -3
  38. package/dest/collection/index.d.ts +1 -1
  39. package/dest/collection/object.d.ts +17 -1
  40. package/dest/collection/object.d.ts.map +1 -1
  41. package/dest/collection/object.js +25 -0
  42. package/dest/committable/committable.d.ts +1 -1
  43. package/dest/committable/committable.d.ts.map +1 -1
  44. package/dest/committable/index.d.ts +1 -1
  45. package/dest/config/env_var.d.ts +2 -2
  46. package/dest/config/env_var.d.ts.map +1 -1
  47. package/dest/config/index.d.ts +49 -2
  48. package/dest/config/index.d.ts.map +1 -1
  49. package/dest/config/index.js +115 -7
  50. package/dest/config/network_config.d.ts +42 -0
  51. package/dest/config/network_config.d.ts.map +1 -0
  52. package/dest/config/network_config.js +9 -0
  53. package/dest/config/network_name.d.ts +3 -0
  54. package/dest/config/network_name.d.ts.map +1 -0
  55. package/dest/config/network_name.js +19 -0
  56. package/dest/config/secret_value.d.ts +28 -0
  57. package/dest/config/secret_value.d.ts.map +1 -0
  58. package/dest/config/secret_value.js +34 -0
  59. package/dest/crypto/aes128/index.d.ts +3 -5
  60. package/dest/crypto/aes128/index.d.ts.map +1 -1
  61. package/dest/crypto/aes128/index.js +19 -6
  62. package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
  63. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  64. package/dest/crypto/bls/bn254_keystore.js +218 -0
  65. package/dest/crypto/bls/index.d.ts +13 -0
  66. package/dest/crypto/bls/index.d.ts.map +1 -0
  67. package/dest/crypto/bls/index.js +87 -0
  68. package/dest/crypto/bn254/bn254_utils.d.ts +39 -0
  69. package/dest/crypto/bn254/bn254_utils.d.ts.map +1 -0
  70. package/dest/crypto/bn254/bn254_utils.js +56 -0
  71. package/dest/crypto/bn254/index.d.ts +55 -0
  72. package/dest/crypto/bn254/index.d.ts.map +1 -0
  73. package/dest/crypto/bn254/index.js +145 -0
  74. package/dest/crypto/ecdsa/index.d.ts +3 -3
  75. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  76. package/dest/crypto/ecdsa/index.js +62 -48
  77. package/dest/crypto/ecdsa/signature.d.ts +2 -13
  78. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  79. package/dest/crypto/grumpkin/index.d.ts +7 -14
  80. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  81. package/dest/crypto/grumpkin/index.js +59 -54
  82. package/dest/crypto/index.d.ts +3 -1
  83. package/dest/crypto/index.d.ts.map +1 -1
  84. package/dest/crypto/index.js +2 -0
  85. package/dest/crypto/keccak/index.d.ts +3 -5
  86. package/dest/crypto/keccak/index.d.ts.map +1 -1
  87. package/dest/crypto/keys/index.d.ts +1 -3
  88. package/dest/crypto/keys/index.d.ts.map +1 -1
  89. package/dest/crypto/keys/index.js +7 -4
  90. package/dest/crypto/pedersen/index.d.ts +1 -1
  91. package/dest/crypto/pedersen/pedersen.noble.d.ts +3 -5
  92. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
  93. package/dest/crypto/pedersen/pedersen.wasm.d.ts +3 -5
  94. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  95. package/dest/crypto/pedersen/pedersen.wasm.js +23 -13
  96. package/dest/crypto/poseidon/index.d.ts +1 -3
  97. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  98. package/dest/crypto/poseidon/index.js +32 -17
  99. package/dest/crypto/random/index.d.ts +2 -4
  100. package/dest/crypto/random/index.d.ts.map +1 -1
  101. package/dest/crypto/random/index.js +2 -34
  102. package/dest/crypto/random/randomness_singleton.d.ts +1 -3
  103. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  104. package/dest/crypto/schnorr/index.d.ts +1 -1
  105. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  106. package/dest/crypto/schnorr/index.js +29 -37
  107. package/dest/crypto/schnorr/signature.d.ts +4 -6
  108. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  109. package/dest/crypto/secp256k1/index.d.ts +5 -7
  110. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  111. package/dest/crypto/secp256k1/index.js +23 -18
  112. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  113. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  114. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  115. package/dest/crypto/secp256k1-signer/utils.d.ts +56 -5
  116. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  117. package/dest/crypto/secp256k1-signer/utils.js +92 -6
  118. package/dest/crypto/serialize.d.ts +5 -7
  119. package/dest/crypto/serialize.d.ts.map +1 -1
  120. package/dest/crypto/sha256/index.d.ts +22 -5
  121. package/dest/crypto/sha256/index.d.ts.map +1 -1
  122. package/dest/crypto/sha256/index.js +42 -0
  123. package/dest/crypto/sha512/index.d.ts +2 -4
  124. package/dest/crypto/sha512/index.d.ts.map +1 -1
  125. package/dest/crypto/signature/index.d.ts +1 -3
  126. package/dest/crypto/signature/index.d.ts.map +1 -1
  127. package/dest/crypto/sync/index.d.ts +1 -1
  128. package/dest/crypto/sync/index.js +1 -1
  129. package/dest/crypto/sync/pedersen/index.d.ts +3 -5
  130. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  131. package/dest/crypto/sync/pedersen/index.js +17 -10
  132. package/dest/crypto/sync/poseidon/index.d.ts +1 -3
  133. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  134. package/dest/crypto/sync/poseidon/index.js +27 -12
  135. package/dest/decorators/index.d.ts +1 -1
  136. package/dest/decorators/memoize.d.ts +1 -1
  137. package/dest/decorators/memoize.d.ts.map +1 -1
  138. package/dest/error/index.d.ts +4 -4
  139. package/dest/error/index.d.ts.map +1 -1
  140. package/dest/eth-address/index.d.ts +16 -8
  141. package/dest/eth-address/index.d.ts.map +1 -1
  142. package/dest/eth-address/index.js +22 -0
  143. package/dest/eth-signature/eth_signature.d.ts +17 -18
  144. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  145. package/dest/eth-signature/eth_signature.js +31 -17
  146. package/dest/eth-signature/index.d.ts +1 -1
  147. package/dest/fields/bls12_fields.d.ts +148 -0
  148. package/dest/fields/bls12_fields.d.ts.map +1 -0
  149. package/dest/fields/bls12_fields.js +359 -0
  150. package/dest/fields/bls12_point.d.ts +220 -0
  151. package/dest/fields/bls12_point.d.ts.map +1 -0
  152. package/dest/fields/bls12_point.js +398 -0
  153. package/dest/fields/coordinate.d.ts +1 -6
  154. package/dest/fields/coordinate.d.ts.map +1 -1
  155. package/dest/fields/fields.d.ts +16 -4
  156. package/dest/fields/fields.d.ts.map +1 -1
  157. package/dest/fields/fields.js +57 -15
  158. package/dest/fields/index.d.ts +3 -1
  159. package/dest/fields/index.d.ts.map +1 -1
  160. package/dest/fields/index.js +2 -0
  161. package/dest/fields/point.d.ts +13 -15
  162. package/dest/fields/point.d.ts.map +1 -1
  163. package/dest/fields/point.js +20 -3
  164. package/dest/fs/index.d.ts +2 -1
  165. package/dest/fs/index.d.ts.map +1 -1
  166. package/dest/fs/index.js +1 -0
  167. package/dest/fs/run_in_dir.d.ts +1 -1
  168. package/dest/fs/try_rm_dir.d.ts +3 -0
  169. package/dest/fs/try_rm_dir.d.ts.map +1 -0
  170. package/dest/fs/try_rm_dir.js +16 -0
  171. package/dest/index.d.ts +3 -3
  172. package/dest/index.d.ts.map +1 -1
  173. package/dest/index.js +2 -2
  174. package/dest/iterable/all.d.ts +1 -1
  175. package/dest/iterable/filter.d.ts +1 -1
  176. package/dest/iterable/filter.js +1 -1
  177. package/dest/iterable/index.d.ts +1 -1
  178. package/dest/iterable/isAsyncIt.d.ts +1 -1
  179. package/dest/iterable/map.d.ts +1 -1
  180. package/dest/iterable/map.js +1 -1
  181. package/dest/iterable/peek.d.ts +1 -1
  182. package/dest/iterable/sort.d.ts +1 -1
  183. package/dest/iterable/take.d.ts +1 -1
  184. package/dest/iterable/toArray.d.ts +1 -1
  185. package/dest/jest/env.js +48 -0
  186. package/dest/jest/setupAfterEnv.js +3 -0
  187. package/dest/json-rpc/client/fetch.d.ts +3 -3
  188. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  189. package/dest/json-rpc/client/fetch.js +16 -30
  190. package/dest/json-rpc/client/index.d.ts +1 -1
  191. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +10 -4
  192. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  193. package/dest/json-rpc/client/safe_json_rpc_client.js +173 -13
  194. package/dest/json-rpc/client/undici.d.ts +1 -1
  195. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  196. package/dest/json-rpc/client/undici.js +6 -7
  197. package/dest/json-rpc/convert.d.ts +3 -10
  198. package/dest/json-rpc/convert.d.ts.map +1 -1
  199. package/dest/json-rpc/convert.js +1 -9
  200. package/dest/json-rpc/errors.d.ts +4 -0
  201. package/dest/json-rpc/errors.d.ts.map +1 -0
  202. package/dest/json-rpc/errors.js +6 -0
  203. package/dest/json-rpc/fixtures/class_a.d.ts +4 -2
  204. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  205. package/dest/json-rpc/fixtures/class_b.d.ts +4 -2
  206. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  207. package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
  208. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  209. package/dest/json-rpc/index.d.ts +3 -2
  210. package/dest/json-rpc/index.d.ts.map +1 -1
  211. package/dest/json-rpc/index.js +2 -1
  212. package/dest/json-rpc/js_utils.d.ts +1 -1
  213. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  214. package/dest/json-rpc/server/index.d.ts +1 -1
  215. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +22 -23
  216. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  217. package/dest/json-rpc/server/safe_json_rpc_server.js +161 -56
  218. package/dest/json-rpc/server/telemetry.d.ts +1 -1
  219. package/dest/json-rpc/test/index.d.ts +1 -1
  220. package/dest/json-rpc/test/integration.d.ts +2 -3
  221. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  222. package/dest/log/console.d.ts +1 -1
  223. package/dest/log/console.d.ts.map +1 -1
  224. package/dest/log/gcloud-logger-config.d.ts +1 -2
  225. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  226. package/dest/log/gcloud-logger-config.js +1 -9
  227. package/dest/log/index.d.ts +5 -5
  228. package/dest/log/index.d.ts.map +1 -1
  229. package/dest/log/index.js +4 -4
  230. package/dest/log/libp2p_logger.d.ts +1 -1
  231. package/dest/log/libp2p_logger.js +13 -2
  232. package/dest/log/log-filters.d.ts +1 -1
  233. package/dest/log/log-levels.d.ts +1 -1
  234. package/dest/log/log_fn.d.ts +2 -2
  235. package/dest/log/log_fn.d.ts.map +1 -1
  236. package/dest/log/noir_debug_log_util.d.ts +14 -0
  237. package/dest/log/noir_debug_log_util.d.ts.map +1 -0
  238. package/dest/log/noir_debug_log_util.js +14 -0
  239. package/dest/log/pino-logger.d.ts +4 -4
  240. package/dest/log/pino-logger.d.ts.map +1 -1
  241. package/dest/log/pino-logger.js +28 -2
  242. package/dest/message/index.d.ts +1 -1
  243. package/dest/message/index.d.ts.map +1 -1
  244. package/dest/mutex/index.d.ts +1 -1
  245. package/dest/mutex/index.d.ts.map +1 -1
  246. package/dest/mutex/mutex_database.d.ts +1 -1
  247. package/dest/mutex/mutex_database.d.ts.map +1 -1
  248. package/dest/noir/index.d.ts +1 -1
  249. package/dest/noir/noir_package_config.d.ts +9 -9
  250. package/dest/number/index.d.ts +3 -0
  251. package/dest/number/index.d.ts.map +1 -0
  252. package/dest/number/index.js +12 -0
  253. package/dest/profiler/index.d.ts +2 -0
  254. package/dest/profiler/index.d.ts.map +1 -0
  255. package/dest/profiler/index.js +1 -0
  256. package/dest/profiler/profiler.d.ts +8 -0
  257. package/dest/profiler/profiler.d.ts.map +1 -0
  258. package/dest/profiler/profiler.js +97 -0
  259. package/dest/promise/index.d.ts +1 -1
  260. package/dest/promise/running-promise.d.ts +2 -2
  261. package/dest/promise/running-promise.d.ts.map +1 -1
  262. package/dest/promise/running-promise.js +2 -2
  263. package/dest/promise/utils.d.ts +1 -1
  264. package/dest/queue/base_memory_queue.d.ts +1 -1
  265. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  266. package/dest/queue/batch_queue.d.ts +2 -2
  267. package/dest/queue/batch_queue.d.ts.map +1 -1
  268. package/dest/queue/batch_queue.js +1 -1
  269. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  270. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  271. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  272. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  273. package/dest/queue/index.d.ts +1 -1
  274. package/dest/queue/priority_memory_queue.d.ts +1 -1
  275. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  276. package/dest/queue/priority_queue.d.ts +1 -1
  277. package/dest/queue/priority_queue.d.ts.map +1 -1
  278. package/dest/queue/semaphore.d.ts +1 -1
  279. package/dest/queue/semaphore.d.ts.map +1 -1
  280. package/dest/queue/serial_queue.d.ts +3 -3
  281. package/dest/queue/serial_queue.d.ts.map +1 -1
  282. package/dest/queue/serial_queue.js +7 -5
  283. package/dest/retry/index.d.ts +4 -3
  284. package/dest/retry/index.d.ts.map +1 -1
  285. package/dest/retry/index.js +2 -2
  286. package/dest/running-promise/index.d.ts +1 -1
  287. package/dest/schemas/api.d.ts +1 -1
  288. package/dest/schemas/api.d.ts.map +1 -1
  289. package/dest/schemas/index.d.ts +1 -1
  290. package/dest/schemas/parse.d.ts +1 -1
  291. package/dest/schemas/parse.js +1 -1
  292. package/dest/schemas/schemas.d.ts +15 -18
  293. package/dest/schemas/schemas.d.ts.map +1 -1
  294. package/dest/schemas/schemas.js +20 -8
  295. package/dest/schemas/types.d.ts +1 -1
  296. package/dest/schemas/utils.d.ts +4 -6
  297. package/dest/schemas/utils.d.ts.map +1 -1
  298. package/dest/schemas/utils.js +15 -5
  299. package/dest/serialize/buffer_reader.d.ts +28 -3
  300. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  301. package/dest/serialize/buffer_reader.js +44 -2
  302. package/dest/serialize/field_reader.d.ts +11 -2
  303. package/dest/serialize/field_reader.d.ts.map +1 -1
  304. package/dest/serialize/field_reader.js +18 -1
  305. package/dest/serialize/free_funcs.d.ts +24 -22
  306. package/dest/serialize/free_funcs.d.ts.map +1 -1
  307. package/dest/serialize/free_funcs.js +21 -27
  308. package/dest/serialize/index.d.ts +1 -1
  309. package/dest/serialize/serialize.d.ts +5 -6
  310. package/dest/serialize/serialize.d.ts.map +1 -1
  311. package/dest/serialize/type_registry.d.ts +1 -1
  312. package/dest/serialize/type_registry.d.ts.map +1 -1
  313. package/dest/serialize/types.d.ts +1 -1
  314. package/dest/sleep/index.d.ts +1 -1
  315. package/dest/sleep/index.d.ts.map +1 -1
  316. package/dest/string/index.d.ts +8 -3
  317. package/dest/string/index.d.ts.map +1 -1
  318. package/dest/string/index.js +27 -1
  319. package/dest/testing/files/index.d.ts +2 -3
  320. package/dest/testing/files/index.d.ts.map +1 -1
  321. package/dest/testing/files/index.js +3 -3
  322. package/dest/testing/formatting.d.ts +4 -0
  323. package/dest/testing/formatting.d.ts.map +1 -0
  324. package/dest/testing/formatting.js +3 -0
  325. package/dest/testing/index.d.ts +2 -1
  326. package/dest/testing/index.d.ts.map +1 -1
  327. package/dest/testing/index.js +1 -0
  328. package/dest/testing/port_allocator.d.ts +1 -1
  329. package/dest/testing/snapshot_serializer.d.ts +1 -1
  330. package/dest/testing/test_data.d.ts +1 -1
  331. package/dest/timer/date.d.ts +3 -2
  332. package/dest/timer/date.d.ts.map +1 -1
  333. package/dest/timer/date.js +5 -3
  334. package/dest/timer/elapsed.d.ts +1 -1
  335. package/dest/timer/index.d.ts +2 -2
  336. package/dest/timer/index.d.ts.map +1 -1
  337. package/dest/timer/index.js +1 -1
  338. package/dest/timer/timeout.d.ts +19 -6
  339. package/dest/timer/timeout.d.ts.map +1 -1
  340. package/dest/timer/timeout.js +43 -22
  341. package/dest/timer/timer.d.ts +1 -1
  342. package/dest/timer/timer.d.ts.map +1 -1
  343. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  344. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  345. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
  346. package/dest/transport/dispatch/messages.d.ts +1 -1
  347. package/dest/transport/index.d.ts +1 -2
  348. package/dest/transport/index.d.ts.map +1 -1
  349. package/dest/transport/index.js +0 -1
  350. package/dest/transport/interface/connector.d.ts +1 -1
  351. package/dest/transport/interface/connector.d.ts.map +1 -1
  352. package/dest/transport/interface/listener.d.ts +1 -2
  353. package/dest/transport/interface/listener.d.ts.map +1 -1
  354. package/dest/transport/interface/socket.d.ts +1 -1
  355. package/dest/transport/interface/socket.d.ts.map +1 -1
  356. package/dest/transport/interface/transferable.d.ts +1 -1
  357. package/dest/transport/node/index.d.ts +1 -1
  358. package/dest/transport/node/node_connector.d.ts +1 -2
  359. package/dest/transport/node/node_connector.d.ts.map +1 -1
  360. package/dest/transport/node/node_connector_socket.d.ts +1 -2
  361. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  362. package/dest/transport/node/node_listener.d.ts +1 -2
  363. package/dest/transport/node/node_listener.d.ts.map +1 -1
  364. package/dest/transport/node/node_listener_socket.d.ts +1 -2
  365. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  366. package/dest/transport/transport_client.d.ts +1 -2
  367. package/dest/transport/transport_client.d.ts.map +1 -1
  368. package/dest/transport/transport_server.d.ts +1 -10
  369. package/dest/transport/transport_server.d.ts.map +1 -1
  370. package/dest/trees/balanced_merkle_tree.d.ts +22 -0
  371. package/dest/trees/balanced_merkle_tree.d.ts.map +1 -0
  372. package/dest/trees/balanced_merkle_tree.js +64 -0
  373. package/dest/trees/hasher.d.ts +5 -7
  374. package/dest/trees/hasher.d.ts.map +1 -1
  375. package/dest/trees/index.d.ts +3 -1
  376. package/dest/trees/index.d.ts.map +1 -1
  377. package/dest/trees/index.js +2 -0
  378. package/dest/trees/indexed_merkle_tree.d.ts +1 -3
  379. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  380. package/dest/trees/indexed_merkle_tree_calculator.d.ts +2 -4
  381. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  382. package/dest/trees/indexed_tree_leaf.d.ts +1 -3
  383. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
  384. package/dest/trees/membership_witness.d.ts +5 -10
  385. package/dest/trees/membership_witness.d.ts.map +1 -1
  386. package/dest/trees/membership_witness.js +13 -0
  387. package/dest/trees/merkle_tree.d.ts +1 -3
  388. package/dest/trees/merkle_tree.d.ts.map +1 -1
  389. package/dest/trees/merkle_tree_calculator.d.ts +2 -4
  390. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  391. package/dest/trees/sibling_path.d.ts +5 -41
  392. package/dest/trees/sibling_path.d.ts.map +1 -1
  393. package/dest/trees/unbalanced_merkle_tree.d.ts +23 -10
  394. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  395. package/dest/trees/unbalanced_merkle_tree.js +72 -50
  396. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +49 -0
  397. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
  398. package/dest/trees/unbalanced_merkle_tree_calculator.js +158 -0
  399. package/dest/trees/unbalanced_tree_store.d.ts +2 -1
  400. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  401. package/dest/trees/unbalanced_tree_store.js +6 -0
  402. package/dest/types/index.d.ts +26 -3
  403. package/dest/types/index.d.ts.map +1 -1
  404. package/dest/url/index.d.ts +1 -1
  405. package/dest/url/index.d.ts.map +1 -1
  406. package/dest/url/index.js +1 -1
  407. package/dest/validation/index.d.ts +1 -1
  408. package/package.json +39 -43
  409. package/src/array/array.ts +13 -16
  410. package/src/async-pool/index.ts +1 -0
  411. package/src/bigint/index.ts +20 -0
  412. package/src/branded-types/epoch.ts +88 -0
  413. package/src/branded-types/index.ts +4 -0
  414. package/src/branded-types/slot.ts +88 -0
  415. package/src/branded-types/types.ts +2 -0
  416. package/src/buffer/buffer16.ts +133 -0
  417. package/src/buffer/buffer32.ts +8 -6
  418. package/src/buffer/index.ts +1 -0
  419. package/src/collection/array.ts +66 -4
  420. package/src/collection/object.ts +37 -0
  421. package/src/config/env_var.ts +152 -52
  422. package/src/config/index.ts +191 -8
  423. package/src/config/network_config.ts +16 -0
  424. package/src/config/network_name.ts +28 -0
  425. package/src/config/secret_value.ts +49 -0
  426. package/src/crypto/aes128/index.ts +19 -10
  427. package/src/crypto/bls/bn254_keystore.ts +287 -0
  428. package/src/crypto/bls/index.ts +77 -0
  429. package/src/crypto/bn254/bn254_utils.ts +64 -0
  430. package/src/crypto/bn254/index.ts +173 -0
  431. package/src/crypto/ecdsa/index.ts +41 -23
  432. package/src/crypto/grumpkin/index.ts +35 -45
  433. package/src/crypto/index.ts +2 -0
  434. package/src/crypto/keys/index.ts +5 -5
  435. package/src/crypto/pedersen/pedersen.wasm.ts +22 -18
  436. package/src/crypto/poseidon/index.ts +32 -24
  437. package/src/crypto/random/index.ts +2 -40
  438. package/src/crypto/schnorr/index.ts +20 -17
  439. package/src/crypto/secp256k1/index.ts +15 -11
  440. package/src/crypto/secp256k1-signer/utils.ts +120 -7
  441. package/src/crypto/sha256/index.ts +47 -0
  442. package/src/crypto/sync/index.ts +1 -1
  443. package/src/crypto/sync/pedersen/index.ts +16 -15
  444. package/src/crypto/sync/poseidon/index.ts +27 -22
  445. package/src/eth-address/index.ts +28 -2
  446. package/src/eth-signature/eth_signature.ts +44 -22
  447. package/src/fields/bls12_fields.ts +463 -0
  448. package/src/fields/bls12_point.ts +450 -0
  449. package/src/fields/fields.ts +53 -9
  450. package/src/fields/index.ts +2 -0
  451. package/src/fields/point.ts +20 -3
  452. package/src/fs/index.ts +1 -0
  453. package/src/fs/try_rm_dir.ts +15 -0
  454. package/src/index.ts +2 -2
  455. package/src/iterable/filter.ts +1 -1
  456. package/src/iterable/map.ts +1 -1
  457. package/src/jest/env.mjs +52 -0
  458. package/src/jest/setupAfterEnv.mjs +3 -0
  459. package/src/json-rpc/client/fetch.ts +14 -33
  460. package/src/json-rpc/client/safe_json_rpc_client.ts +226 -13
  461. package/src/json-rpc/client/undici.ts +8 -15
  462. package/src/json-rpc/convert.ts +3 -12
  463. package/src/json-rpc/errors.ts +6 -0
  464. package/src/json-rpc/fixtures/class_a.ts +4 -1
  465. package/src/json-rpc/fixtures/class_b.ts +4 -1
  466. package/src/json-rpc/index.ts +2 -1
  467. package/src/json-rpc/server/safe_json_rpc_server.ts +141 -48
  468. package/src/json-rpc/test/integration.ts +1 -1
  469. package/src/log/console.ts +4 -1
  470. package/src/log/gcloud-logger-config.ts +3 -7
  471. package/src/log/index.ts +4 -4
  472. package/src/log/libp2p_logger.ts +21 -2
  473. package/src/log/log_fn.ts +1 -1
  474. package/src/log/noir_debug_log_util.ts +21 -0
  475. package/src/log/pino-logger.ts +33 -2
  476. package/src/message/index.ts +5 -1
  477. package/src/mutex/mutex_database.ts +2 -3
  478. package/src/number/index.ts +14 -0
  479. package/src/profiler/index.ts +1 -0
  480. package/src/profiler/profiler.ts +125 -0
  481. package/src/promise/running-promise.ts +2 -2
  482. package/src/queue/batch_queue.ts +1 -1
  483. package/src/queue/bounded_serial_queue.ts +4 -1
  484. package/src/queue/serial_queue.ts +5 -5
  485. package/src/retry/index.ts +10 -5
  486. package/src/schemas/api.ts +4 -4
  487. package/src/schemas/parse.ts +1 -1
  488. package/src/schemas/schemas.ts +28 -10
  489. package/src/schemas/utils.ts +21 -8
  490. package/src/serialize/buffer_reader.ts +60 -3
  491. package/src/serialize/field_reader.ts +27 -3
  492. package/src/serialize/free_funcs.ts +25 -31
  493. package/src/serialize/serialize.ts +2 -0
  494. package/src/string/index.ts +36 -1
  495. package/src/testing/files/index.ts +7 -3
  496. package/src/testing/formatting.ts +3 -0
  497. package/src/testing/index.ts +1 -0
  498. package/src/timer/date.ts +9 -3
  499. package/src/timer/index.ts +1 -1
  500. package/src/timer/timeout.ts +54 -19
  501. package/src/transport/index.ts +0 -1
  502. package/src/transport/interface/connector.ts +0 -1
  503. package/src/transport/interface/listener.ts +2 -3
  504. package/src/transport/interface/socket.ts +2 -3
  505. package/src/transport/transport_client.ts +3 -4
  506. package/src/transport/transport_server.ts +4 -1
  507. package/src/trees/balanced_merkle_tree.ts +82 -0
  508. package/src/trees/hasher.ts +4 -4
  509. package/src/trees/index.ts +2 -0
  510. package/src/trees/indexed_merkle_tree.ts +5 -1
  511. package/src/trees/indexed_merkle_tree_calculator.ts +2 -2
  512. package/src/trees/membership_witness.ts +13 -0
  513. package/src/trees/merkle_tree.ts +4 -1
  514. package/src/trees/merkle_tree_calculator.ts +9 -4
  515. package/src/trees/unbalanced_merkle_tree.ts +98 -42
  516. package/src/trees/unbalanced_merkle_tree_calculator.ts +187 -0
  517. package/src/trees/unbalanced_tree_store.ts +5 -1
  518. package/src/types/index.ts +25 -4
  519. package/src/url/index.ts +0 -1
  520. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  521. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  522. package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
  523. package/dest/log/debug.d.ts +0 -56
  524. package/dest/log/debug.d.ts.map +0 -1
  525. package/dest/log/debug.js +0 -75
  526. package/dest/log/log_history.d.ts +0 -31
  527. package/dest/log/log_history.d.ts.map +0 -1
  528. package/dest/log/log_history.js +0 -38
  529. package/dest/transport/browser/index.d.ts +0 -5
  530. package/dest/transport/browser/index.d.ts.map +0 -1
  531. package/dest/transport/browser/index.js +0 -4
  532. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  533. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  534. package/dest/transport/browser/message_port_socket.js +0 -42
  535. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  536. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  537. package/dest/transport/browser/shared_worker_connector.js +0 -19
  538. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  539. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  540. package/dest/transport/browser/shared_worker_listener.js +0 -33
  541. package/dest/transport/browser/worker_connector.d.ts +0 -26
  542. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  543. package/dest/transport/browser/worker_connector.js +0 -30
  544. package/dest/transport/browser/worker_listener.d.ts +0 -39
  545. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  546. package/dest/transport/browser/worker_listener.js +0 -35
  547. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  548. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  549. package/dest/wasm/empty_wasi_sdk.js +0 -148
  550. package/dest/wasm/index.d.ts +0 -2
  551. package/dest/wasm/index.d.ts.map +0 -1
  552. package/dest/wasm/index.js +0 -1
  553. package/dest/wasm/wasm_module.d.ts +0 -136
  554. package/dest/wasm/wasm_module.d.ts.map +0 -1
  555. package/dest/wasm/wasm_module.js +0 -196
  556. package/dest/worker/browser/index.d.ts +0 -3
  557. package/dest/worker/browser/index.d.ts.map +0 -1
  558. package/dest/worker/browser/index.js +0 -2
  559. package/dest/worker/browser/start_web_module.d.ts +0 -7
  560. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  561. package/dest/worker/browser/start_web_module.js +0 -27
  562. package/dest/worker/browser/web_data_store.d.ts +0 -24
  563. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  564. package/dest/worker/browser/web_data_store.js +0 -29
  565. package/dest/worker/browser/web_worker.d.ts +0 -10
  566. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  567. package/dest/worker/browser/web_worker.js +0 -25
  568. package/dest/worker/data_store.d.ts +0 -21
  569. package/dest/worker/data_store.d.ts.map +0 -1
  570. package/dest/worker/data_store.js +0 -3
  571. package/dest/worker/index.d.ts +0 -3
  572. package/dest/worker/index.d.ts.map +0 -1
  573. package/dest/worker/index.js +0 -1
  574. package/dest/worker/node/index.d.ts +0 -3
  575. package/dest/worker/node/index.d.ts.map +0 -1
  576. package/dest/worker/node/index.js +0 -2
  577. package/dest/worker/node/node_data_store.d.ts +0 -13
  578. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  579. package/dest/worker/node/node_data_store.js +0 -20
  580. package/dest/worker/node/node_worker.d.ts +0 -6
  581. package/dest/worker/node/node_worker.d.ts.map +0 -1
  582. package/dest/worker/node/node_worker.js +0 -22
  583. package/dest/worker/node/start_node_module.d.ts +0 -7
  584. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  585. package/dest/worker/node/start_node_module.js +0 -31
  586. package/dest/worker/wasm_worker.d.ts +0 -9
  587. package/dest/worker/wasm_worker.d.ts.map +0 -1
  588. package/dest/worker/wasm_worker.js +0 -3
  589. package/dest/worker/worker_pool.d.ts +0 -40
  590. package/dest/worker/worker_pool.d.ts.map +0 -1
  591. package/dest/worker/worker_pool.js +0 -51
  592. package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
  593. package/src/log/debug.ts +0 -104
  594. package/src/log/log_history.ts +0 -44
  595. package/src/transport/browser/index.ts +0 -4
  596. package/src/transport/browser/message_port_socket.ts +0 -48
  597. package/src/transport/browser/shared_worker_connector.ts +0 -21
  598. package/src/transport/browser/shared_worker_listener.ts +0 -53
  599. package/src/transport/browser/worker_connector.ts +0 -30
  600. package/src/transport/browser/worker_listener.ts +0 -54
  601. package/src/wasm/README.md +0 -6
  602. package/src/wasm/empty_wasi_sdk.ts +0 -166
  603. package/src/wasm/fixtures/gcd.wasm +0 -0
  604. package/src/wasm/fixtures/gcd.wat +0 -27
  605. package/src/wasm/index.ts +0 -1
  606. package/src/wasm/wasm_module.ts +0 -260
  607. package/src/worker/browser/index.ts +0 -2
  608. package/src/worker/browser/start_web_module.ts +0 -24
  609. package/src/worker/browser/web_data_store.ts +0 -38
  610. package/src/worker/browser/web_worker.ts +0 -25
  611. package/src/worker/data_store.ts +0 -19
  612. package/src/worker/index.ts +0 -2
  613. package/src/worker/node/index.ts +0 -2
  614. package/src/worker/node/node_data_store.ts +0 -27
  615. package/src/worker/node/node_worker.ts +0 -23
  616. package/src/worker/node/start_node_module.ts +0 -30
  617. package/src/worker/wasm_worker.ts +0 -7
  618. package/src/worker/worker_pool.ts +0 -73
@@ -1,4 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
1
  import http from 'http';
3
2
  import { type default as Application } from 'koa';
4
3
  import Router from 'koa-router';
@@ -11,14 +10,17 @@ export type DiagnosticsData = {
11
10
  headers: http.IncomingHttpHeaders;
12
11
  };
13
12
  export type DiagnosticsMiddleware = (ctx: DiagnosticsData, next: () => Promise<void>) => Promise<void>;
13
+ export type SafeJsonRpcServerConfig = {
14
+ /** Maximum batch size for batched rpc requests */
15
+ maxBatchSize: number;
16
+ /** Return an HTTP 200 status code on errors, but include an error object as per the JSON RPC spec */
17
+ http200OnError: boolean;
18
+ /** The maximum body size the server will accept */
19
+ maxBodySizeBytes: string;
20
+ };
14
21
  export declare class SafeJsonRpcServer {
15
- /** The proxy object to delegate requests to. */
22
+ /** The proxy object to delegate requests to */
16
23
  private readonly proxy;
17
- /**
18
- * Return an HTTP 200 status code on errors, but include an error object
19
- * as per the JSON RPC spec
20
- */
21
- private http200OnError;
22
24
  /** Health check function */
23
25
  private readonly healthCheck;
24
26
  /** Additional middlewares */
@@ -30,14 +32,10 @@ export declare class SafeJsonRpcServer {
30
32
  * This member field is initialized when the server is started.
31
33
  */
32
34
  private httpServer?;
35
+ private config;
33
36
  constructor(
34
- /** The proxy object to delegate requests to. */
35
- proxy: Proxy,
36
- /**
37
- * Return an HTTP 200 status code on errors, but include an error object
38
- * as per the JSON RPC spec
39
- */
40
- http200OnError?: boolean,
37
+ /** The proxy object to delegate requests to */
38
+ proxy: Proxy, config?: Partial<SafeJsonRpcServerConfig>,
41
39
  /** Health check function */
42
40
  healthCheck?: StatusCheckFn,
43
41
  /** Additional middlewares */
@@ -57,6 +55,8 @@ export declare class SafeJsonRpcServer {
57
55
  * @returns The router object.
58
56
  */
59
57
  private getRouter;
58
+ private processBatch;
59
+ private processRequest;
60
60
  /**
61
61
  * Start this server with koa.
62
62
  * @param port - Port number.
@@ -101,19 +101,18 @@ export declare class SafeJsonProxy<T extends object = any> implements Proxy {
101
101
  export type NamespacedApiHandlers = Record<string, ApiHandler>;
102
102
  export type ApiHandler<T extends object = any> = [T, ApiSchemaFor<T>, StatusCheckFn?];
103
103
  export declare function makeHandler<T extends object>(handler: T, schema: ApiSchemaFor<T>): ApiHandler<T>;
104
- export type SafeJsonRpcServerOptions = {
105
- http200OnError: boolean;
106
- healthCheck?: StatusCheckFn;
107
- log?: Logger;
108
- middlewares?: Application.Middleware[];
109
- };
104
+ export type SafeJsonRpcServerOptions = Partial<SafeJsonRpcServerConfig & {
105
+ healthCheck: StatusCheckFn;
106
+ log: Logger;
107
+ middlewares: Application.Middleware[];
108
+ }>;
110
109
  /**
111
110
  * Creates a single SafeJsonRpcServer from multiple handlers.
112
111
  * @param servers - List of handlers to be combined.
113
112
  * @returns A single JsonRpcServer with namespaced methods.
114
113
  */
115
- export declare function createNamespacedSafeJsonRpcServer(handlers: NamespacedApiHandlers, options?: Partial<Omit<SafeJsonRpcServerOptions, 'healthcheck'>>): SafeJsonRpcServer;
116
- export declare function createSafeJsonRpcServer<T extends object = any>(handler: T, schema: ApiSchemaFor<T>, options?: Partial<SafeJsonRpcServerOptions>): SafeJsonRpcServer;
114
+ export declare function createNamespacedSafeJsonRpcServer(handlers: NamespacedApiHandlers, options?: Omit<SafeJsonRpcServerOptions, 'healthcheck'>): SafeJsonRpcServer;
115
+ export declare function createSafeJsonRpcServer<T extends object = any>(handler: T, schema: ApiSchemaFor<T>, options?: SafeJsonRpcServerOptions): SafeJsonRpcServer;
117
116
  /**
118
117
  * Creates a router for handling a plain status request that will return 200 status when running.
119
118
  * @param getCurrentStatus - List of health check functions to run.
@@ -137,4 +136,4 @@ export declare function startHttpRpcServer(rpcServer: Pick<SafeJsonRpcServer, 'g
137
136
  port: number;
138
137
  }>;
139
138
  export {};
140
- //# sourceMappingURL=safe_json_rpc_server.d.ts.map
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZV9qc29uX3JwY19zZXJ2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9zZXJ2ZXIvc2FmZV9qc29uX3JwY19zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLE9BQU8sSUFBSSxXQUFXLEVBQWtCLE1BQU0sS0FBSyxDQUFDO0FBR2xFLE9BQU8sTUFBTSxNQUFNLFlBQVksQ0FBQztBQUtoQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFFL0QsT0FBTyxFQUFrQixLQUFLLFlBQVksRUFBdUMsTUFBTSx3QkFBd0IsQ0FBQztBQUloSCxNQUFNLE1BQU0sZUFBZSxHQUFHO0lBQzVCLEVBQUUsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztDQUNuQyxDQUFDO0FBRUYsTUFBTSxNQUFNLHFCQUFxQixHQUFHLENBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXZHLE1BQU0sTUFBTSx1QkFBdUIsR0FBRztJQUNwQyxrREFBa0Q7SUFDbEQsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixxR0FBcUc7SUFDckcsY0FBYyxFQUFFLE9BQU8sQ0FBQztJQUN4QixtREFBbUQ7SUFDbkQsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0NBQzFCLENBQUM7QUFRRixxQkFBYSxpQkFBaUI7SUFVMUIsK0NBQStDO0lBQy9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQUV0Qiw0QkFBNEI7SUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"safe_json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/safe_json_rpc_server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe_json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/safe_json_rpc_server.ts"],"names":[],"mappings":"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"}
@@ -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: '50mb'
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
- constructor(/** The proxy object to delegate requests to. */ proxy, /**
25
- * Return an HTTP 200 status code on errors, but include an error object
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(`Error in JSON RPC server call ${method}: ${inspect(err)}`);
49
- if (err instanceof SyntaxError) {
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: -32700,
56
- message: `Parse error: ${err.message}`
64
+ code: -32000,
65
+ message: `Bad request: ${err.message}`
57
66
  }
58
67
  };
59
- } else if (err instanceof ZodError) {
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: -32701,
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: '50mb',
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
- const { params = [], jsonrpc, id, method } = ctx.request.body;
145
- // Fail if not a registered function in the proxy
146
- if (typeof method !== 'string' || method === 'constructor' || !this.proxy.hasMethod(method)) {
147
- ctx.status = 400;
148
- const code = -32601;
149
- const message = `Method not found: ${method}`;
150
- ctx.body = {
151
- jsonrpc,
152
- id,
153
- error: {
154
- code,
155
- message
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
- ctx.status = 200;
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
- ctx.body = {
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: createLogger('json-rpc:server')
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, http200OnError, healthCheck, middlewares, log);
395
+ return new SafeJsonRpcServer(proxy, options, healthCheck, middlewares, log);
295
396
  }
296
397
  export function createSafeJsonRpcServer(handler, schema, options = {}) {
297
- const { http200OnError, log, healthCheck, middlewares: extraMiddlewares } = options;
398
+ const { log, healthCheck, middlewares: extraMiddlewares } = options;
298
399
  const proxy = new SafeJsonProxy(handler, schema);
299
- return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, extraMiddlewares, log);
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 (err) {
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(listenPort, options.host, ()=>resolve());
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 {};
2
- //# sourceMappingURL=telemetry.d.ts.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvc2VydmVyL3RlbGVtZXRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,2 +1,2 @@
1
1
  export { createJsonRpcTestSetup, type JsonRpcTestContext } from './integration.js';
2
- //# sourceMappingURL=index.d.ts.map
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?: Partial<SafeJsonRpcServerOptions>, clientOptions?: SafeJsonRpcClientOptions): Promise<JsonRpcTestContext<T>>;
15
- //# sourceMappingURL=integration.d.ts.map
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":";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,OAAO,CAAC,wBAAwB,CAAM,EACrD,aAAa,GAAE,wBAA6B,GAC3C,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAUhC"}
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"}
@@ -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=console.d.ts.map
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;AAuBzC;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAM1D"}
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=gcloud-logger-config.d.ts.map
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;;iBAGrB,MAAM;;oBAIL,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,MAAM,EAAE,OAAO,CAAC;qBAgBhD,MAAM,SAAS,MAAM,GAAG,MAAM;;CA+BjB,CAAC"}
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
- };
@@ -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
- //# sourceMappingURL=index.d.ts.map
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/log/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,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';
@@ -4,4 +4,4 @@ import type { ComponentLogger } from '@libp2p/interface';
4
4
  * This adapter implements the ComponentLogger interface required by libp2p.
5
5
  */
6
6
  export declare function createLibp2pComponentLogger(namespace: string): ComponentLogger;
7
- //# sourceMappingURL=libp2p_logger.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX2xvZ2dlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9saWJwMnBfbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBVSxNQUFNLG1CQUFtQixDQUFDO0FBTWpFOzs7R0FHRztBQUNILHdCQUFnQiwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLGVBQWUsQ0FJOUUifQ==
@@ -27,7 +27,7 @@ function createLibp2pLogger(component) {
27
27
  if (!log.isLevelEnabled(level)) {
28
28
  return;
29
29
  }
30
- log[level](replaceFormatting(message), ...args);
30
+ log[level](replaceFormatting(message), ...formatArgs(message, args));
31
31
  };
32
32
  // Default log level is trace as this is super super noisy
33
33
  const logFn = (message, ...args)=>{
@@ -37,7 +37,7 @@ function createLibp2pLogger(component) {
37
37
  enabled: log.isLevelEnabled('debug'),
38
38
  error (message, ...args) {
39
39
  // We write error outputs as debug as they are often expected, e.g. connection errors can happen in happy paths
40
- logIfEnabled('debug', message, ...args);
40
+ logIfEnabled('debug', `error: ${message}`, ...args);
41
41
  },
42
42
  debug (message, ...args) {
43
43
  logIfEnabled('debug', message, ...args);
@@ -53,3 +53,14 @@ function createLibp2pLogger(component) {
53
53
  }
54
54
  });
55
55
  }
56
+ function formatArgs(message, args) {
57
+ if (!args) {
58
+ return args;
59
+ }
60
+ return args.map((arg)=>{
61
+ if (typeof arg === 'object' && arg && 'err' in arg && arg.err instanceof Error && 'type' in arg.err && arg.err.type === 'AbortError') {
62
+ delete arg.err; // Remove the AbortError from the logs
63
+ }
64
+ return arg;
65
+ });
66
+ }
@@ -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=log-filters.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWZpbHRlcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2cvbG9nLWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFhLE1BQU0saUJBQWlCLENBQUM7QUFFM0QsTUFBTSxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO0FBRTlDLHdCQUFnQixzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FlaEc7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxRQUFRLENBSXZFO0FBRUQsd0JBQWdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxHQUFHLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQU9oRztBQUVELHdCQUFnQixZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsVUFBVSxDQTBCdkUifQ==
@@ -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=log-levels.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWxldmVscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9sb2ctbGV2ZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQU8sTUFBTSxTQUFTLG9GQUFxRixDQUFDO0FBRTVHLE1BQU0sTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
@@ -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=log_fn.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX2ZuLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL2xvZ19mbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsTUFBTSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRztJQUFFLFFBQVEsSUFBSSxNQUFNLENBQUE7Q0FBRSxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUVySCxrQ0FBa0M7QUFDbEMsTUFBTSxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsT0FBTyxLQUFLLElBQUksQ0FBQyJ9
@@ -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;AAE9G,kCAAkC;AAClC,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,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=