@aztec/foundation 0.0.0-test.0 → 0.0.1-commit.001888fc

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 (721) 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 +2 -1
  5. package/dest/array/index.d.ts.map +1 -1
  6. package/dest/array/index.js +1 -0
  7. package/dest/array/sorted_array.d.ts +15 -0
  8. package/dest/array/sorted_array.d.ts.map +1 -0
  9. package/dest/array/sorted_array.js +109 -0
  10. package/dest/async-map/index.d.ts +1 -1
  11. package/dest/async-pool/index.d.ts +1 -1
  12. package/dest/async-pool/index.d.ts.map +1 -1
  13. package/dest/async-pool/index.js +1 -0
  14. package/dest/bigint/index.d.ts +7 -0
  15. package/dest/bigint/index.d.ts.map +1 -0
  16. package/dest/bigint/index.js +15 -0
  17. package/dest/bigint-buffer/index.d.ts +1 -3
  18. package/dest/bigint-buffer/index.d.ts.map +1 -1
  19. package/dest/branded-types/block_number.d.ts +56 -0
  20. package/dest/branded-types/block_number.d.ts.map +1 -0
  21. package/dest/branded-types/block_number.js +78 -0
  22. package/dest/branded-types/checkpoint_number.d.ts +54 -0
  23. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  24. package/dest/branded-types/checkpoint_number.js +77 -0
  25. package/dest/branded-types/epoch.d.ts +42 -0
  26. package/dest/branded-types/epoch.d.ts.map +1 -0
  27. package/dest/branded-types/epoch.js +59 -0
  28. package/dest/branded-types/index.d.ts +7 -0
  29. package/dest/branded-types/index.d.ts.map +1 -0
  30. package/dest/branded-types/index.js +5 -0
  31. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  32. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  33. package/dest/branded-types/index_within_checkpoint.js +59 -0
  34. package/dest/branded-types/slot.d.ts +42 -0
  35. package/dest/branded-types/slot.d.ts.map +1 -0
  36. package/dest/branded-types/slot.js +59 -0
  37. package/dest/branded-types/types.d.ts +5 -0
  38. package/dest/branded-types/types.d.ts.map +1 -0
  39. package/dest/branded-types/types.js +1 -0
  40. package/dest/buffer/buffer16.d.ts +80 -0
  41. package/dest/buffer/buffer16.d.ts.map +1 -0
  42. package/dest/buffer/buffer16.js +102 -0
  43. package/dest/buffer/buffer32.d.ts +5 -9
  44. package/dest/buffer/buffer32.d.ts.map +1 -1
  45. package/dest/buffer/buffer32.js +9 -7
  46. package/dest/buffer/index.d.ts +3 -1
  47. package/dest/buffer/index.d.ts.map +1 -1
  48. package/dest/buffer/index.js +2 -0
  49. package/dest/buffer/utils.d.ts +3 -0
  50. package/dest/buffer/utils.d.ts.map +1 -0
  51. package/dest/buffer/utils.js +7 -0
  52. package/dest/collection/array.d.ts +28 -4
  53. package/dest/collection/array.d.ts.map +1 -1
  54. package/dest/collection/array.js +108 -3
  55. package/dest/collection/index.d.ts +1 -1
  56. package/dest/collection/object.d.ts +17 -1
  57. package/dest/collection/object.d.ts.map +1 -1
  58. package/dest/collection/object.js +25 -0
  59. package/dest/committable/committable.d.ts +1 -1
  60. package/dest/committable/committable.d.ts.map +1 -1
  61. package/dest/committable/index.d.ts +1 -1
  62. package/dest/config/env_var.d.ts +2 -2
  63. package/dest/config/env_var.d.ts.map +1 -1
  64. package/dest/config/index.d.ts +62 -4
  65. package/dest/config/index.d.ts.map +1 -1
  66. package/dest/config/index.js +158 -12
  67. package/dest/config/network_config.d.ts +72 -0
  68. package/dest/config/network_config.d.ts.map +1 -0
  69. package/dest/config/network_config.js +14 -0
  70. package/dest/config/network_name.d.ts +3 -0
  71. package/dest/config/network_name.d.ts.map +1 -0
  72. package/dest/config/network_name.js +21 -0
  73. package/dest/config/parse-env.d.ts +3 -0
  74. package/dest/config/parse-env.d.ts.map +1 -0
  75. package/dest/config/parse-env.js +7 -0
  76. package/dest/config/secret_value.d.ts +28 -0
  77. package/dest/config/secret_value.d.ts.map +1 -0
  78. package/dest/config/secret_value.js +36 -0
  79. package/dest/crypto/aes128/index.d.ts +3 -5
  80. package/dest/crypto/aes128/index.d.ts.map +1 -1
  81. package/dest/crypto/aes128/index.js +19 -6
  82. package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
  83. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  84. package/dest/crypto/bls/bn254_keystore.js +218 -0
  85. package/dest/crypto/bls/index.d.ts +13 -0
  86. package/dest/crypto/bls/index.d.ts.map +1 -0
  87. package/dest/crypto/bls/index.js +87 -0
  88. package/dest/crypto/bn254/index.d.ts +39 -0
  89. package/dest/crypto/bn254/index.d.ts.map +1 -0
  90. package/dest/crypto/bn254/index.js +56 -0
  91. package/dest/crypto/ecdsa/index.d.ts +3 -3
  92. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  93. package/dest/crypto/ecdsa/index.js +62 -48
  94. package/dest/crypto/ecdsa/signature.d.ts +3 -5
  95. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  96. package/dest/crypto/ecdsa/signature.js +2 -2
  97. package/dest/crypto/grumpkin/index.d.ts +10 -15
  98. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  99. package/dest/crypto/grumpkin/index.js +61 -55
  100. package/dest/crypto/keccak/index.d.ts +3 -5
  101. package/dest/crypto/keccak/index.d.ts.map +1 -1
  102. package/dest/crypto/keys/index.d.ts +2 -4
  103. package/dest/crypto/keys/index.d.ts.map +1 -1
  104. package/dest/crypto/keys/index.js +8 -5
  105. package/dest/crypto/pedersen/index.d.ts +1 -1
  106. package/dest/crypto/pedersen/pedersen.noble.d.ts +3 -5
  107. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
  108. package/dest/crypto/pedersen/pedersen.wasm.d.ts +4 -6
  109. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  110. package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
  111. package/dest/crypto/poseidon/index.d.ts +2 -5
  112. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  113. package/dest/crypto/poseidon/index.js +27 -21
  114. package/dest/crypto/random/index.d.ts +2 -4
  115. package/dest/crypto/random/index.d.ts.map +1 -1
  116. package/dest/crypto/random/index.js +2 -34
  117. package/dest/crypto/random/randomness_singleton.d.ts +4 -5
  118. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  119. package/dest/crypto/random/randomness_singleton.js +5 -5
  120. package/dest/crypto/schnorr/index.d.ts +3 -2
  121. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  122. package/dest/crypto/schnorr/index.js +30 -38
  123. package/dest/crypto/schnorr/signature.d.ts +5 -7
  124. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  125. package/dest/crypto/schnorr/signature.js +2 -2
  126. package/dest/crypto/secp256k1/index.d.ts +5 -7
  127. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  128. package/dest/crypto/secp256k1/index.js +23 -18
  129. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  130. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  131. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  132. package/dest/crypto/secp256k1-signer/utils.d.ts +67 -5
  133. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  134. package/dest/crypto/secp256k1-signer/utils.js +118 -6
  135. package/dest/crypto/serialize.d.ts +5 -7
  136. package/dest/crypto/serialize.d.ts.map +1 -1
  137. package/dest/crypto/sha256/index.d.ts +23 -6
  138. package/dest/crypto/sha256/index.d.ts.map +1 -1
  139. package/dest/crypto/sha256/index.js +43 -1
  140. package/dest/crypto/sha512/index.d.ts +3 -5
  141. package/dest/crypto/sha512/index.d.ts.map +1 -1
  142. package/dest/crypto/sha512/index.js +1 -1
  143. package/dest/crypto/signature/index.d.ts +2 -4
  144. package/dest/crypto/signature/index.d.ts.map +1 -1
  145. package/dest/crypto/sync/index.d.ts +1 -1
  146. package/dest/crypto/sync/index.js +1 -1
  147. package/dest/crypto/sync/pedersen/index.d.ts +4 -6
  148. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  149. package/dest/crypto/sync/pedersen/index.js +18 -11
  150. package/dest/crypto/sync/poseidon/index.d.ts +2 -5
  151. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  152. package/dest/crypto/sync/poseidon/index.js +23 -16
  153. package/dest/curves/bls12/field.d.ts +148 -0
  154. package/dest/curves/bls12/field.d.ts.map +1 -0
  155. package/dest/curves/bls12/field.js +362 -0
  156. package/dest/curves/bls12/index.d.ts +3 -0
  157. package/dest/curves/bls12/index.d.ts.map +1 -0
  158. package/dest/curves/bls12/index.js +2 -0
  159. package/dest/curves/bls12/point.d.ts +229 -0
  160. package/dest/curves/bls12/point.d.ts.map +1 -0
  161. package/dest/curves/bls12/point.js +400 -0
  162. package/dest/curves/bn254/field.d.ts +181 -0
  163. package/dest/curves/bn254/field.d.ts.map +1 -0
  164. package/dest/{fields/fields.js → curves/bn254/field.js} +93 -62
  165. package/dest/curves/bn254/index.d.ts +3 -0
  166. package/dest/curves/bn254/index.d.ts.map +1 -0
  167. package/dest/curves/bn254/index.js +2 -0
  168. package/dest/curves/bn254/point.d.ts +54 -0
  169. package/dest/curves/bn254/point.d.ts.map +1 -0
  170. package/dest/curves/bn254/point.js +143 -0
  171. package/dest/curves/grumpkin/index.d.ts +10 -0
  172. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  173. package/dest/curves/grumpkin/index.js +3 -0
  174. package/dest/{fields → curves/grumpkin}/point.d.ts +14 -7
  175. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  176. package/dest/{fields → curves/grumpkin}/point.js +27 -10
  177. package/dest/decorators/index.d.ts +1 -1
  178. package/dest/decorators/memoize.d.ts +1 -1
  179. package/dest/decorators/memoize.d.ts.map +1 -1
  180. package/dest/error/index.d.ts +1 -1
  181. package/dest/eth-address/index.d.ts +18 -9
  182. package/dest/eth-address/index.d.ts.map +1 -1
  183. package/dest/eth-address/index.js +31 -2
  184. package/dest/eth-signature/eth_signature.d.ts +18 -15
  185. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  186. package/dest/eth-signature/eth_signature.js +37 -18
  187. package/dest/eth-signature/index.d.ts +1 -1
  188. package/dest/fs/index.d.ts +2 -1
  189. package/dest/fs/index.d.ts.map +1 -1
  190. package/dest/fs/index.js +1 -0
  191. package/dest/fs/run_in_dir.d.ts +1 -1
  192. package/dest/fs/try_rm_dir.d.ts +3 -0
  193. package/dest/fs/try_rm_dir.d.ts.map +1 -0
  194. package/dest/fs/try_rm_dir.js +16 -0
  195. package/dest/iterable/all.d.ts +1 -1
  196. package/dest/iterable/filter.d.ts +1 -1
  197. package/dest/iterable/filter.js +1 -1
  198. package/dest/iterable/index.d.ts +1 -1
  199. package/dest/iterable/isAsyncIt.d.ts +1 -1
  200. package/dest/iterable/map.d.ts +1 -1
  201. package/dest/iterable/map.js +1 -1
  202. package/dest/iterable/peek.d.ts +1 -1
  203. package/dest/iterable/sort.d.ts +1 -1
  204. package/dest/iterable/take.d.ts +1 -1
  205. package/dest/iterable/toArray.d.ts +1 -1
  206. package/dest/iterator/filter.d.ts +3 -0
  207. package/dest/iterator/filter.d.ts.map +1 -0
  208. package/dest/iterator/filter.js +7 -0
  209. package/dest/iterator/index.d.ts +2 -0
  210. package/dest/iterator/index.d.ts.map +1 -0
  211. package/dest/iterator/index.js +1 -0
  212. package/dest/jest/env.js +48 -0
  213. package/dest/jest/setup.js +28 -1
  214. package/dest/jest/setupAfterEnv.js +3 -0
  215. package/dest/json-rpc/client/fetch.d.ts +3 -3
  216. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  217. package/dest/json-rpc/client/fetch.js +16 -30
  218. package/dest/json-rpc/client/index.d.ts +1 -1
  219. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +11 -4
  220. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  221. package/dest/json-rpc/client/safe_json_rpc_client.js +173 -13
  222. package/dest/json-rpc/client/undici.d.ts +1 -1
  223. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  224. package/dest/json-rpc/client/undici.js +27 -11
  225. package/dest/json-rpc/convert.d.ts +3 -10
  226. package/dest/json-rpc/convert.d.ts.map +1 -1
  227. package/dest/json-rpc/convert.js +1 -9
  228. package/dest/json-rpc/errors.d.ts +4 -0
  229. package/dest/json-rpc/errors.d.ts.map +1 -0
  230. package/dest/json-rpc/errors.js +6 -0
  231. package/dest/json-rpc/fixtures/class_a.d.ts +6 -4
  232. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  233. package/dest/json-rpc/fixtures/class_b.d.ts +6 -4
  234. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  235. package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
  236. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  237. package/dest/json-rpc/index.d.ts +3 -2
  238. package/dest/json-rpc/index.d.ts.map +1 -1
  239. package/dest/json-rpc/index.js +2 -1
  240. package/dest/json-rpc/js_utils.d.ts +1 -1
  241. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  242. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  243. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  244. package/dest/json-rpc/server/api_key_auth.js +57 -0
  245. package/dest/json-rpc/server/index.d.ts +2 -1
  246. package/dest/json-rpc/server/index.d.ts.map +1 -1
  247. package/dest/json-rpc/server/index.js +1 -0
  248. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +22 -23
  249. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  250. package/dest/json-rpc/server/safe_json_rpc_server.js +161 -56
  251. package/dest/json-rpc/test/index.d.ts +1 -1
  252. package/dest/json-rpc/test/integration.d.ts +2 -3
  253. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  254. package/dest/log/bigint-utils.d.ts +5 -0
  255. package/dest/log/bigint-utils.d.ts.map +1 -0
  256. package/dest/log/bigint-utils.js +21 -0
  257. package/dest/log/console.d.ts +1 -1
  258. package/dest/log/console.d.ts.map +1 -1
  259. package/dest/log/gcloud-logger-config.d.ts +1 -2
  260. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  261. package/dest/log/gcloud-logger-config.js +4 -9
  262. package/dest/log/index.d.ts +5 -5
  263. package/dest/log/index.d.ts.map +1 -1
  264. package/dest/log/index.js +4 -4
  265. package/dest/log/libp2p_logger.d.ts +5 -2
  266. package/dest/log/libp2p_logger.d.ts.map +1 -1
  267. package/dest/log/libp2p_logger.js +27 -6
  268. package/dest/log/log-filters.d.ts +17 -4
  269. package/dest/log/log-filters.d.ts.map +1 -1
  270. package/dest/log/log-filters.js +26 -12
  271. package/dest/log/log-levels.d.ts +1 -1
  272. package/dest/log/log_fn.d.ts +2 -2
  273. package/dest/log/log_fn.d.ts.map +1 -1
  274. package/dest/log/noir_debug_log_util.d.ts +14 -0
  275. package/dest/log/noir_debug_log_util.d.ts.map +1 -0
  276. package/dest/log/noir_debug_log_util.js +14 -0
  277. package/dest/log/pino-logger-server.d.ts +9 -0
  278. package/dest/log/pino-logger-server.d.ts.map +1 -0
  279. package/dest/log/pino-logger-server.js +18 -0
  280. package/dest/log/pino-logger.d.ts +40 -11
  281. package/dest/log/pino-logger.d.ts.map +1 -1
  282. package/dest/log/pino-logger.js +149 -30
  283. package/dest/message/index.d.ts +1 -1
  284. package/dest/message/index.d.ts.map +1 -1
  285. package/dest/mutex/index.d.ts +1 -1
  286. package/dest/mutex/index.d.ts.map +1 -1
  287. package/dest/mutex/mutex_database.d.ts +1 -1
  288. package/dest/mutex/mutex_database.d.ts.map +1 -1
  289. package/dest/noir/index.d.ts +1 -1
  290. package/dest/noir/noir_package_config.d.ts +9 -9
  291. package/dest/number/index.d.ts +3 -0
  292. package/dest/number/index.d.ts.map +1 -0
  293. package/dest/number/index.js +12 -0
  294. package/dest/profiler/index.d.ts +2 -0
  295. package/dest/profiler/index.d.ts.map +1 -0
  296. package/dest/profiler/index.js +1 -0
  297. package/dest/profiler/profiler.d.ts +8 -0
  298. package/dest/profiler/profiler.d.ts.map +1 -0
  299. package/dest/profiler/profiler.js +97 -0
  300. package/dest/promise/index.d.ts +1 -1
  301. package/dest/promise/running-promise.d.ts +2 -2
  302. package/dest/promise/running-promise.d.ts.map +1 -1
  303. package/dest/promise/running-promise.js +2 -2
  304. package/dest/promise/utils.d.ts +1 -1
  305. package/dest/queue/base_memory_queue.d.ts +2 -2
  306. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  307. package/dest/queue/batch_queue.d.ts +2 -2
  308. package/dest/queue/batch_queue.d.ts.map +1 -1
  309. package/dest/queue/batch_queue.js +1 -1
  310. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  311. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  312. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  313. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  314. package/dest/queue/index.d.ts +1 -1
  315. package/dest/queue/priority_memory_queue.d.ts +1 -1
  316. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  317. package/dest/queue/priority_queue.d.ts +1 -1
  318. package/dest/queue/priority_queue.d.ts.map +1 -1
  319. package/dest/queue/semaphore.d.ts +5 -1
  320. package/dest/queue/semaphore.d.ts.map +1 -1
  321. package/dest/queue/serial_queue.d.ts +3 -3
  322. package/dest/queue/serial_queue.d.ts.map +1 -1
  323. package/dest/queue/serial_queue.js +7 -5
  324. package/dest/retry/index.d.ts +14 -3
  325. package/dest/retry/index.d.ts.map +1 -1
  326. package/dest/retry/index.js +13 -2
  327. package/dest/running-promise/index.d.ts +1 -1
  328. package/dest/schemas/api.d.ts +1 -1
  329. package/dest/schemas/api.d.ts.map +1 -1
  330. package/dest/schemas/index.d.ts +1 -1
  331. package/dest/schemas/parse.d.ts +1 -1
  332. package/dest/schemas/parse.js +1 -1
  333. package/dest/schemas/schemas.d.ts +21 -20
  334. package/dest/schemas/schemas.d.ts.map +1 -1
  335. package/dest/schemas/schemas.js +29 -11
  336. package/dest/schemas/types.d.ts +31 -1
  337. package/dest/schemas/types.d.ts.map +1 -1
  338. package/dest/schemas/types.js +25 -1
  339. package/dest/schemas/utils.d.ts +4 -6
  340. package/dest/schemas/utils.d.ts.map +1 -1
  341. package/dest/schemas/utils.js +15 -5
  342. package/dest/serialize/buffer_reader.d.ts +41 -6
  343. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  344. package/dest/serialize/buffer_reader.js +70 -6
  345. package/dest/serialize/field_reader.d.ts +12 -3
  346. package/dest/serialize/field_reader.d.ts.map +1 -1
  347. package/dest/serialize/field_reader.js +19 -2
  348. package/dest/serialize/free_funcs.d.ts +25 -23
  349. package/dest/serialize/free_funcs.d.ts.map +1 -1
  350. package/dest/serialize/free_funcs.js +22 -28
  351. package/dest/serialize/index.d.ts +1 -1
  352. package/dest/serialize/serialize.d.ts +24 -7
  353. package/dest/serialize/serialize.d.ts.map +1 -1
  354. package/dest/serialize/serialize.js +32 -1
  355. package/dest/serialize/type_registry.d.ts +1 -1
  356. package/dest/serialize/type_registry.d.ts.map +1 -1
  357. package/dest/serialize/types.d.ts +1 -1
  358. package/dest/sleep/index.d.ts +4 -1
  359. package/dest/sleep/index.d.ts.map +1 -1
  360. package/dest/sleep/index.js +14 -1
  361. package/dest/string/index.d.ts +8 -3
  362. package/dest/string/index.d.ts.map +1 -1
  363. package/dest/string/index.js +27 -1
  364. package/dest/testing/files/index.d.ts +2 -3
  365. package/dest/testing/files/index.d.ts.map +1 -1
  366. package/dest/testing/files/index.js +3 -3
  367. package/dest/testing/formatting.d.ts +4 -0
  368. package/dest/testing/formatting.d.ts.map +1 -0
  369. package/dest/testing/formatting.js +3 -0
  370. package/dest/testing/index.d.ts +2 -1
  371. package/dest/testing/index.d.ts.map +1 -1
  372. package/dest/testing/index.js +1 -0
  373. package/dest/testing/port_allocator.d.ts +1 -1
  374. package/dest/testing/snapshot_serializer.d.ts +1 -1
  375. package/dest/testing/test_data.d.ts +1 -1
  376. package/dest/timer/date.d.ts +28 -2
  377. package/dest/timer/date.d.ts.map +1 -1
  378. package/dest/timer/date.js +41 -3
  379. package/dest/timer/elapsed.d.ts +1 -1
  380. package/dest/timer/index.d.ts +2 -2
  381. package/dest/timer/index.d.ts.map +1 -1
  382. package/dest/timer/index.js +1 -1
  383. package/dest/timer/timeout.d.ts +19 -6
  384. package/dest/timer/timeout.d.ts.map +1 -1
  385. package/dest/timer/timeout.js +43 -22
  386. package/dest/timer/timer.d.ts +1 -1
  387. package/dest/timer/timer.d.ts.map +1 -1
  388. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  389. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  390. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
  391. package/dest/transport/dispatch/messages.d.ts +1 -1
  392. package/dest/transport/index.d.ts +1 -2
  393. package/dest/transport/index.d.ts.map +1 -1
  394. package/dest/transport/index.js +0 -1
  395. package/dest/transport/interface/connector.d.ts +1 -1
  396. package/dest/transport/interface/connector.d.ts.map +1 -1
  397. package/dest/transport/interface/listener.d.ts +1 -2
  398. package/dest/transport/interface/listener.d.ts.map +1 -1
  399. package/dest/transport/interface/socket.d.ts +1 -1
  400. package/dest/transport/interface/socket.d.ts.map +1 -1
  401. package/dest/transport/interface/transferable.d.ts +1 -1
  402. package/dest/transport/node/index.d.ts +1 -1
  403. package/dest/transport/node/node_connector.d.ts +1 -2
  404. package/dest/transport/node/node_connector.d.ts.map +1 -1
  405. package/dest/transport/node/node_connector_socket.d.ts +1 -2
  406. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  407. package/dest/transport/node/node_listener.d.ts +1 -2
  408. package/dest/transport/node/node_listener.d.ts.map +1 -1
  409. package/dest/transport/node/node_listener_socket.d.ts +1 -2
  410. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  411. package/dest/transport/transport_client.d.ts +1 -2
  412. package/dest/transport/transport_client.d.ts.map +1 -1
  413. package/dest/transport/transport_client.js +2 -2
  414. package/dest/transport/transport_server.d.ts +1 -10
  415. package/dest/transport/transport_server.d.ts.map +1 -1
  416. package/dest/trees/balanced_merkle_tree_root.d.ts +17 -0
  417. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  418. package/dest/trees/balanced_merkle_tree_root.js +51 -0
  419. package/dest/trees/hasher.d.ts +7 -7
  420. package/dest/trees/hasher.d.ts.map +1 -1
  421. package/dest/trees/hasher.js +10 -5
  422. package/dest/trees/index.d.ts +5 -3
  423. package/dest/trees/index.d.ts.map +1 -1
  424. package/dest/trees/index.js +4 -2
  425. package/dest/trees/indexed_merkle_tree.d.ts +1 -3
  426. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  427. package/dest/trees/indexed_merkle_tree.js +1 -1
  428. package/dest/trees/indexed_merkle_tree_calculator.d.ts +2 -4
  429. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  430. package/dest/trees/indexed_tree_leaf.d.ts +1 -3
  431. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
  432. package/dest/trees/membership_witness.d.ts +10 -5
  433. package/dest/trees/membership_witness.d.ts.map +1 -1
  434. package/dest/trees/membership_witness.js +23 -1
  435. package/dest/trees/merkle_tree.d.ts +1 -3
  436. package/dest/trees/merkle_tree.d.ts.map +1 -1
  437. package/dest/trees/merkle_tree_calculator.d.ts +2 -4
  438. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  439. package/dest/trees/merkle_tree_calculator.js +2 -2
  440. package/dest/trees/sibling_path.d.ts +6 -41
  441. package/dest/trees/sibling_path.d.ts.map +1 -1
  442. package/dest/trees/sibling_path.js +3 -3
  443. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
  444. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
  445. package/dest/trees/unbalanced_merkle_tree_calculator.js +154 -0
  446. package/dest/trees/unbalanced_merkle_tree_root.d.ts +28 -0
  447. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  448. package/dest/trees/unbalanced_merkle_tree_root.js +84 -0
  449. package/dest/trees/unbalanced_tree_store.d.ts +6 -1
  450. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  451. package/dest/trees/unbalanced_tree_store.js +55 -1
  452. package/dest/types/index.d.ts +30 -3
  453. package/dest/types/index.d.ts.map +1 -1
  454. package/dest/types/index.js +6 -0
  455. package/dest/url/index.d.ts +1 -1
  456. package/dest/url/index.d.ts.map +1 -1
  457. package/dest/url/index.js +1 -1
  458. package/dest/validation/index.d.ts +1 -1
  459. package/package.json +80 -45
  460. package/src/array/array.ts +13 -16
  461. package/src/array/index.ts +1 -0
  462. package/src/array/sorted_array.ts +138 -0
  463. package/src/async-pool/index.ts +1 -0
  464. package/src/bigint/index.ts +20 -0
  465. package/src/branded-types/block_number.ts +117 -0
  466. package/src/branded-types/checkpoint_number.ts +115 -0
  467. package/src/branded-types/epoch.ts +88 -0
  468. package/src/branded-types/index.ts +7 -0
  469. package/src/branded-types/index_within_checkpoint.ts +88 -0
  470. package/src/branded-types/slot.ts +88 -0
  471. package/src/branded-types/types.ts +2 -0
  472. package/src/buffer/buffer16.ts +133 -0
  473. package/src/buffer/buffer32.ts +10 -8
  474. package/src/buffer/index.ts +2 -0
  475. package/src/buffer/utils.ts +8 -0
  476. package/src/collection/array.ts +118 -4
  477. package/src/collection/object.ts +37 -0
  478. package/src/config/env_var.ts +227 -60
  479. package/src/config/index.ts +241 -10
  480. package/src/config/network_config.ts +21 -0
  481. package/src/config/network_name.ts +31 -0
  482. package/src/config/parse-env.ts +4 -0
  483. package/src/config/secret_value.ts +49 -0
  484. package/src/crypto/aes128/index.ts +19 -10
  485. package/src/crypto/bls/bn254_keystore.ts +287 -0
  486. package/src/crypto/bls/index.ts +77 -0
  487. package/src/crypto/bn254/index.ts +64 -0
  488. package/src/crypto/ecdsa/index.ts +41 -23
  489. package/src/crypto/ecdsa/signature.ts +2 -2
  490. package/src/crypto/grumpkin/index.ts +38 -46
  491. package/src/crypto/keys/index.ts +6 -6
  492. package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
  493. package/src/crypto/poseidon/index.ts +27 -29
  494. package/src/crypto/random/index.ts +2 -40
  495. package/src/crypto/random/randomness_singleton.ts +6 -4
  496. package/src/crypto/schnorr/index.ts +22 -18
  497. package/src/crypto/schnorr/signature.ts +2 -2
  498. package/src/crypto/secp256k1/index.ts +15 -11
  499. package/src/crypto/secp256k1-signer/utils.ts +152 -7
  500. package/src/crypto/sha256/index.ts +48 -1
  501. package/src/crypto/sha512/index.ts +1 -1
  502. package/src/crypto/signature/index.ts +1 -1
  503. package/src/crypto/sync/index.ts +1 -1
  504. package/src/crypto/sync/pedersen/index.ts +17 -16
  505. package/src/crypto/sync/poseidon/index.ts +23 -27
  506. package/src/curves/bls12/field.ts +463 -0
  507. package/src/curves/bls12/index.ts +2 -0
  508. package/src/curves/bls12/point.ts +450 -0
  509. package/src/{fields/fields.ts → curves/bn254/field.ts} +88 -63
  510. package/src/curves/bn254/index.ts +2 -0
  511. package/src/curves/bn254/point.ts +170 -0
  512. package/src/curves/grumpkin/index.ts +11 -0
  513. package/src/{fields → curves/grumpkin}/point.ts +27 -10
  514. package/src/eth-address/index.ts +35 -3
  515. package/src/eth-signature/eth_signature.ts +50 -22
  516. package/src/fs/index.ts +1 -0
  517. package/src/fs/try_rm_dir.ts +15 -0
  518. package/src/iterable/filter.ts +1 -1
  519. package/src/iterable/map.ts +1 -1
  520. package/src/iterator/filter.ts +11 -0
  521. package/src/iterator/index.ts +1 -0
  522. package/src/jest/env.mjs +52 -0
  523. package/src/jest/setup.mjs +31 -1
  524. package/src/jest/setupAfterEnv.mjs +3 -0
  525. package/src/json-rpc/client/fetch.ts +14 -33
  526. package/src/json-rpc/client/safe_json_rpc_client.ts +228 -13
  527. package/src/json-rpc/client/undici.ts +29 -18
  528. package/src/json-rpc/convert.ts +3 -12
  529. package/src/json-rpc/errors.ts +6 -0
  530. package/src/json-rpc/fixtures/class_a.ts +4 -1
  531. package/src/json-rpc/fixtures/class_b.ts +4 -1
  532. package/src/json-rpc/index.ts +2 -1
  533. package/src/json-rpc/server/api_key_auth.ts +63 -0
  534. package/src/json-rpc/server/index.ts +1 -0
  535. package/src/json-rpc/server/safe_json_rpc_server.ts +141 -48
  536. package/src/json-rpc/test/integration.ts +1 -1
  537. package/src/log/bigint-utils.ts +25 -0
  538. package/src/log/console.ts +4 -1
  539. package/src/log/gcloud-logger-config.ts +8 -7
  540. package/src/log/index.ts +4 -4
  541. package/src/log/libp2p_logger.ts +33 -7
  542. package/src/log/log-filters.ts +29 -11
  543. package/src/log/log_fn.ts +1 -1
  544. package/src/log/noir_debug_log_util.ts +21 -0
  545. package/src/log/pino-logger-server.ts +25 -0
  546. package/src/log/pino-logger.ts +175 -39
  547. package/src/message/index.ts +5 -1
  548. package/src/mutex/mutex_database.ts +2 -3
  549. package/src/number/index.ts +14 -0
  550. package/src/profiler/index.ts +1 -0
  551. package/src/profiler/profiler.ts +125 -0
  552. package/src/promise/running-promise.ts +2 -2
  553. package/src/queue/base_memory_queue.ts +1 -1
  554. package/src/queue/batch_queue.ts +1 -1
  555. package/src/queue/bounded_serial_queue.ts +4 -1
  556. package/src/queue/semaphore.ts +5 -0
  557. package/src/queue/serial_queue.ts +5 -5
  558. package/src/retry/index.ts +28 -5
  559. package/src/schemas/api.ts +4 -4
  560. package/src/schemas/parse.ts +1 -1
  561. package/src/schemas/schemas.ts +42 -13
  562. package/src/schemas/types.ts +33 -0
  563. package/src/schemas/utils.ts +21 -8
  564. package/src/serialize/buffer_reader.ts +96 -12
  565. package/src/serialize/field_reader.ts +28 -4
  566. package/src/serialize/free_funcs.ts +26 -32
  567. package/src/serialize/serialize.ts +35 -1
  568. package/src/sleep/index.ts +16 -1
  569. package/src/string/index.ts +36 -1
  570. package/src/testing/files/index.ts +7 -3
  571. package/src/testing/formatting.ts +3 -0
  572. package/src/testing/index.ts +1 -0
  573. package/src/timer/date.ts +61 -3
  574. package/src/timer/index.ts +1 -1
  575. package/src/timer/timeout.ts +54 -19
  576. package/src/transport/index.ts +0 -1
  577. package/src/transport/interface/connector.ts +0 -1
  578. package/src/transport/interface/listener.ts +2 -3
  579. package/src/transport/interface/socket.ts +2 -3
  580. package/src/transport/transport_client.ts +5 -6
  581. package/src/transport/transport_server.ts +4 -1
  582. package/src/trees/balanced_merkle_tree_root.ts +68 -0
  583. package/src/trees/hasher.ts +13 -4
  584. package/src/trees/index.ts +4 -2
  585. package/src/trees/indexed_merkle_tree.ts +6 -2
  586. package/src/trees/indexed_merkle_tree_calculator.ts +2 -2
  587. package/src/trees/membership_witness.ts +22 -1
  588. package/src/trees/merkle_tree.ts +4 -1
  589. package/src/trees/merkle_tree_calculator.ts +10 -5
  590. package/src/trees/sibling_path.ts +3 -3
  591. package/src/trees/unbalanced_merkle_tree_calculator.ts +176 -0
  592. package/src/trees/unbalanced_merkle_tree_root.ts +115 -0
  593. package/src/trees/unbalanced_tree_store.ts +62 -3
  594. package/src/types/index.ts +35 -4
  595. package/src/url/index.ts +0 -1
  596. package/dest/crypto/index.d.ts +0 -15
  597. package/dest/crypto/index.d.ts.map +0 -1
  598. package/dest/crypto/index.js +0 -14
  599. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  600. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  601. package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
  602. package/dest/fields/coordinate.d.ts +0 -68
  603. package/dest/fields/coordinate.d.ts.map +0 -1
  604. package/dest/fields/coordinate.js +0 -96
  605. package/dest/fields/fields.d.ts +0 -176
  606. package/dest/fields/fields.d.ts.map +0 -1
  607. package/dest/fields/index.d.ts +0 -4
  608. package/dest/fields/index.d.ts.map +0 -1
  609. package/dest/fields/index.js +0 -3
  610. package/dest/fields/point.d.ts.map +0 -1
  611. package/dest/index.d.ts +0 -31
  612. package/dest/index.d.ts.map +0 -1
  613. package/dest/index.js +0 -31
  614. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  615. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  616. package/dest/json-rpc/server/telemetry.js +0 -0
  617. package/dest/log/debug.d.ts +0 -56
  618. package/dest/log/debug.d.ts.map +0 -1
  619. package/dest/log/debug.js +0 -75
  620. package/dest/log/log_history.d.ts +0 -31
  621. package/dest/log/log_history.d.ts.map +0 -1
  622. package/dest/log/log_history.js +0 -38
  623. package/dest/transport/browser/index.d.ts +0 -5
  624. package/dest/transport/browser/index.d.ts.map +0 -1
  625. package/dest/transport/browser/index.js +0 -4
  626. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  627. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  628. package/dest/transport/browser/message_port_socket.js +0 -42
  629. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  630. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  631. package/dest/transport/browser/shared_worker_connector.js +0 -19
  632. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  633. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  634. package/dest/transport/browser/shared_worker_listener.js +0 -33
  635. package/dest/transport/browser/worker_connector.d.ts +0 -26
  636. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  637. package/dest/transport/browser/worker_connector.js +0 -30
  638. package/dest/transport/browser/worker_listener.d.ts +0 -39
  639. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  640. package/dest/transport/browser/worker_listener.js +0 -35
  641. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
  642. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  643. package/dest/trees/unbalanced_merkle_tree.js +0 -100
  644. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  645. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  646. package/dest/wasm/empty_wasi_sdk.js +0 -148
  647. package/dest/wasm/index.d.ts +0 -2
  648. package/dest/wasm/index.d.ts.map +0 -1
  649. package/dest/wasm/index.js +0 -1
  650. package/dest/wasm/wasm_module.d.ts +0 -136
  651. package/dest/wasm/wasm_module.d.ts.map +0 -1
  652. package/dest/wasm/wasm_module.js +0 -196
  653. package/dest/worker/browser/index.d.ts +0 -3
  654. package/dest/worker/browser/index.d.ts.map +0 -1
  655. package/dest/worker/browser/index.js +0 -2
  656. package/dest/worker/browser/start_web_module.d.ts +0 -7
  657. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  658. package/dest/worker/browser/start_web_module.js +0 -27
  659. package/dest/worker/browser/web_data_store.d.ts +0 -24
  660. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  661. package/dest/worker/browser/web_data_store.js +0 -29
  662. package/dest/worker/browser/web_worker.d.ts +0 -10
  663. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  664. package/dest/worker/browser/web_worker.js +0 -25
  665. package/dest/worker/data_store.d.ts +0 -21
  666. package/dest/worker/data_store.d.ts.map +0 -1
  667. package/dest/worker/data_store.js +0 -3
  668. package/dest/worker/index.d.ts +0 -3
  669. package/dest/worker/index.d.ts.map +0 -1
  670. package/dest/worker/index.js +0 -1
  671. package/dest/worker/node/index.d.ts +0 -3
  672. package/dest/worker/node/index.d.ts.map +0 -1
  673. package/dest/worker/node/index.js +0 -2
  674. package/dest/worker/node/node_data_store.d.ts +0 -13
  675. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  676. package/dest/worker/node/node_data_store.js +0 -20
  677. package/dest/worker/node/node_worker.d.ts +0 -6
  678. package/dest/worker/node/node_worker.d.ts.map +0 -1
  679. package/dest/worker/node/node_worker.js +0 -22
  680. package/dest/worker/node/start_node_module.d.ts +0 -7
  681. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  682. package/dest/worker/node/start_node_module.js +0 -31
  683. package/dest/worker/wasm_worker.d.ts +0 -9
  684. package/dest/worker/wasm_worker.d.ts.map +0 -1
  685. package/dest/worker/wasm_worker.js +0 -3
  686. package/dest/worker/worker_pool.d.ts +0 -40
  687. package/dest/worker/worker_pool.d.ts.map +0 -1
  688. package/dest/worker/worker_pool.js +0 -51
  689. package/src/crypto/index.ts +0 -14
  690. package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
  691. package/src/fields/coordinate.ts +0 -104
  692. package/src/fields/index.ts +0 -3
  693. package/src/index.ts +0 -31
  694. package/src/json-rpc/server/telemetry.ts +0 -0
  695. package/src/log/debug.ts +0 -104
  696. package/src/log/log_history.ts +0 -44
  697. package/src/transport/browser/index.ts +0 -4
  698. package/src/transport/browser/message_port_socket.ts +0 -48
  699. package/src/transport/browser/shared_worker_connector.ts +0 -21
  700. package/src/transport/browser/shared_worker_listener.ts +0 -53
  701. package/src/transport/browser/worker_connector.ts +0 -30
  702. package/src/transport/browser/worker_listener.ts +0 -54
  703. package/src/trees/unbalanced_merkle_tree.ts +0 -103
  704. package/src/wasm/README.md +0 -6
  705. package/src/wasm/empty_wasi_sdk.ts +0 -166
  706. package/src/wasm/fixtures/gcd.wasm +0 -0
  707. package/src/wasm/fixtures/gcd.wat +0 -27
  708. package/src/wasm/index.ts +0 -1
  709. package/src/wasm/wasm_module.ts +0 -260
  710. package/src/worker/browser/index.ts +0 -2
  711. package/src/worker/browser/start_web_module.ts +0 -24
  712. package/src/worker/browser/web_data_store.ts +0 -38
  713. package/src/worker/browser/web_worker.ts +0 -25
  714. package/src/worker/data_store.ts +0 -19
  715. package/src/worker/index.ts +0 -2
  716. package/src/worker/node/index.ts +0 -2
  717. package/src/worker/node/node_data_store.ts +0 -27
  718. package/src/worker/node/node_worker.ts +0 -23
  719. package/src/worker/node/start_node_module.ts +0 -30
  720. package/src/worker/wasm_worker.ts +0 -7
  721. package/src/worker/worker_pool.ts +0 -73
@@ -1,3 +1,5 @@
1
+ import { promisify } from 'node:util';
2
+ import { gunzip as gunzipCb, gzip as gzipCb } from 'node:zlib';
1
3
  import { Agent, type Dispatcher } from 'undici';
2
4
 
3
5
  import { createLogger } from '../../log/pino-logger.js';
@@ -5,50 +7,59 @@ import { NoRetryError } from '../../retry/index.js';
5
7
  import { jsonStringify } from '../convert.js';
6
8
  import type { JsonRpcFetch } from './fetch.js';
7
9
 
10
+ const gzip = promisify(gzipCb);
11
+ const gunzip = promisify(gunzipCb);
12
+
8
13
  const log = createLogger('json-rpc:json_rpc_client:undici');
9
14
 
15
+ /** Minimum request size in bytes to trigger compression. */
16
+ const COMPRESSION_THRESHOLD = 1024;
17
+
10
18
  export { Agent };
11
19
 
12
20
  export function makeUndiciFetch(client = new Agent()): JsonRpcFetch {
13
- return async (
14
- host: string,
15
- rpcMethod: string,
16
- body: any,
17
- useApiEndpoints: boolean,
18
- extraHeaders: Record<string, string> = {},
19
- noRetry = false,
20
- ) => {
21
- log.trace(`JsonRpcClient.fetch: ${host} ${rpcMethod}`, { host, rpcMethod, body });
22
- let resp: Dispatcher.ResponseData<string>;
21
+ return async (host: string, body: unknown, extraHeaders: Record<string, string> = {}, noRetry = false) => {
22
+ log.trace(`JsonRpcClient.fetch: ${host}`, { host, body });
23
+ let resp: Dispatcher.ResponseData;
23
24
  try {
24
- resp = await client.request<string>({
25
+ const jsonBody = Buffer.from(jsonStringify(body));
26
+ const shouldCompress = jsonBody.length >= COMPRESSION_THRESHOLD;
27
+ resp = await client.request({
25
28
  method: 'POST',
26
29
  origin: new URL(host),
27
- path: useApiEndpoints ? rpcMethod : '/',
28
- body: jsonStringify(body),
30
+ path: '/',
31
+ body: shouldCompress ? await gzip(jsonBody) : jsonBody,
29
32
  headers: {
30
33
  ...extraHeaders,
31
34
  'content-type': 'application/json',
35
+ ...(shouldCompress && { 'content-encoding': 'gzip' }),
36
+ 'accept-encoding': 'gzip',
32
37
  },
33
38
  });
34
39
  } catch (err) {
35
- const errorMessage = `Error fetching from host ${host} with method ${rpcMethod}: ${String(err)}`;
40
+ const errorMessage = `Error fetching from host ${host}: ${String(err)}`;
36
41
  throw new Error(errorMessage);
37
42
  }
38
43
 
39
44
  let responseJson: any;
40
45
  const responseOk = resp.statusCode >= 200 && resp.statusCode <= 299;
46
+ const contentEncoding = resp.headers['content-encoding'];
41
47
  try {
42
- responseJson = await resp.body.json();
43
- } catch (err) {
48
+ if (contentEncoding === 'gzip') {
49
+ const jsonBuffer = await gunzip(await resp.body.arrayBuffer());
50
+ responseJson = JSON.parse(jsonBuffer.toString('utf-8'));
51
+ } else {
52
+ responseJson = await resp.body.json();
53
+ }
54
+ } catch {
44
55
  if (!responseOk) {
45
56
  throw new Error('HTTP ' + resp.statusCode);
46
57
  }
47
- throw new Error(`Failed to parse body as JSON: ${await resp.body.text()}`);
58
+ throw new Error(`Failed to parse body as JSON. encoding: ${contentEncoding}, body: ${await resp.body.text()}`);
48
59
  }
49
60
 
50
61
  if (!responseOk) {
51
- const errorMessage = `Error ${resp.statusCode} response from server ${host} on ${rpcMethod}: ${responseJson.error.message}`;
62
+ const errorMessage = `Error ${resp.statusCode} response from server ${host}: ${responseJson}`;
52
63
  if (noRetry || (resp.statusCode >= 400 && resp.statusCode < 500)) {
53
64
  throw new NoRetryError(errorMessage);
54
65
  } else {
@@ -8,16 +8,7 @@ import type { ZodFor } from '../schemas/types.js';
8
8
  * @param schema - Zod schema.
9
9
  * @returns Result of parsing json with schema.
10
10
  */
11
- export function jsonParseWithSchema<T>(json: string, schema: ZodFor<T>): Promise<T> {
12
- return schema.parseAsync(JSON.parse(json));
13
- }
14
- /**
15
- * Parses a json string and then feeds it to a zod schema.
16
- * @param json - JSON string.
17
- * @param schema - Zod schema.
18
- * @returns Result of parsing json with schema.
19
- */
20
- export function jsonParseWithSchemaSync<T>(json: string, schema: ZodFor<T>): T {
11
+ export function jsonParseWithSchema<T>(json: string, schema: ZodFor<T>): T {
21
12
  return schema.parse(JSON.parse(json));
22
13
  }
23
14
 
@@ -26,7 +17,7 @@ export function jsonParseWithSchemaSync<T>(json: string, schema: ZodFor<T>): T {
26
17
  * @param obj - The object to be stringified.
27
18
  * @returns The resulting string.
28
19
  */
29
- export function jsonStringify(obj: object, prettify?: boolean): string {
20
+ export function jsonStringify(obj: unknown, prettify?: boolean): string {
30
21
  return JSON.stringify(
31
22
  obj,
32
23
  (_key, value) => {
@@ -55,7 +46,7 @@ export function jsonStringify(obj: object, prettify?: boolean): string {
55
46
  export function tryJsonStringify(obj: any, prettify?: boolean): string | undefined {
56
47
  try {
57
48
  return jsonStringify(obj, prettify);
58
- } catch (e) {
49
+ } catch {
59
50
  return undefined;
60
51
  }
61
52
  }
@@ -0,0 +1,6 @@
1
+ export class BadRequestError extends Error {
2
+ constructor(message: string) {
3
+ super(message);
4
+ this.name = 'BadRequestError';
5
+ }
6
+ }
@@ -2,7 +2,10 @@
2
2
  * Test class for testing string converter.
3
3
  */
4
4
  export class ToStringClass {
5
- constructor(/** A value */ public readonly x: string, /** Another value */ public readonly y: string) {}
5
+ constructor(
6
+ /** A value */ public readonly x: string,
7
+ /** Another value */ public readonly y: string,
8
+ ) {}
6
9
 
7
10
  toString(): string {
8
11
  return [this.x, this.y].join('-');
@@ -2,7 +2,10 @@
2
2
  * Test class for testing string converter.
3
3
  */
4
4
  export class ToStringClass {
5
- constructor(/** A value */ public readonly x: string, /** Another value */ public readonly y: string) {}
5
+ constructor(
6
+ /** A value */ public readonly x: string,
7
+ /** Another value */ public readonly y: string,
8
+ ) {}
6
9
 
7
10
  toString(): string {
8
11
  return [this.x, this.y].join('-');
@@ -1 +1,2 @@
1
- export { jsonStringify, jsonParseWithSchema, jsonParseWithSchemaSync, tryJsonStringify } from './convert.js';
1
+ export { jsonStringify, jsonParseWithSchema, tryJsonStringify } from './convert.js';
2
+ export { BadRequestError } from './errors.js';
@@ -0,0 +1,63 @@
1
+ import { timingSafeEqual } from 'crypto';
2
+ import type Koa from 'koa';
3
+
4
+ import { sha256 } from '../../crypto/sha256/index.js';
5
+ import { createLogger } from '../../log/index.js';
6
+
7
+ const log = createLogger('json-rpc:api-key-auth');
8
+
9
+ /**
10
+ * Computes the SHA-256 hash of a string and returns it as a Buffer.
11
+ * @param input - The input string to hash.
12
+ * @returns The SHA-256 hash as a Buffer.
13
+ */
14
+ export function sha256Hash(input: string): Buffer {
15
+ return sha256(Buffer.from(input));
16
+ }
17
+
18
+ /**
19
+ * Creates a Koa middleware that enforces API key authentication on all requests
20
+ * except the health check endpoint (GET /status).
21
+ *
22
+ * The API key can be provided via the `x-api-key` header or the `Authorization: Bearer <key>` header.
23
+ * Comparison is done by hashing the provided key with SHA-256 and comparing against the stored hash.
24
+ *
25
+ * @param apiKeyHash - The SHA-256 hash of the expected API key as a Buffer.
26
+ * @returns A Koa middleware that rejects requests without a valid API key.
27
+ */
28
+ export function getApiKeyAuthMiddleware(
29
+ apiKeyHash: Buffer,
30
+ ): (ctx: Koa.Context, next: () => Promise<void>) => Promise<void> {
31
+ return async (ctx: Koa.Context, next: () => Promise<void>) => {
32
+ // Allow health check through without auth
33
+ if (ctx.path === '/status' && ctx.method === 'GET') {
34
+ return next();
35
+ }
36
+
37
+ const providedKey = ctx.get('x-api-key') || ctx.get('authorization')?.replace(/^Bearer\s+/i, '');
38
+ if (!providedKey) {
39
+ log.warn(`Rejected admin RPC request from ${ctx.ip}: missing API key`);
40
+ ctx.status = 401;
41
+ ctx.body = {
42
+ jsonrpc: '2.0',
43
+ id: null,
44
+ error: { code: -32000, message: 'Unauthorized: invalid or missing API key' },
45
+ };
46
+ return;
47
+ }
48
+
49
+ const providedHashBuf = sha256Hash(providedKey);
50
+ if (!timingSafeEqual(apiKeyHash, providedHashBuf)) {
51
+ log.warn(`Rejected admin RPC request from ${ctx.ip}: invalid API key`);
52
+ ctx.status = 401;
53
+ ctx.body = {
54
+ jsonrpc: '2.0',
55
+ id: null,
56
+ error: { code: -32000, message: 'Unauthorized: invalid or missing API key' },
57
+ };
58
+ return;
59
+ }
60
+
61
+ await next();
62
+ };
63
+ }
@@ -1 +1,2 @@
1
+ export * from './api_key_auth.js';
1
2
  export * from './safe_json_rpc_server.js';
@@ -23,6 +23,21 @@ export type DiagnosticsData = {
23
23
 
24
24
  export type DiagnosticsMiddleware = (ctx: DiagnosticsData, next: () => Promise<void>) => Promise<void>;
25
25
 
26
+ export type SafeJsonRpcServerConfig = {
27
+ /** Maximum batch size for batched rpc requests */
28
+ maxBatchSize: number;
29
+ /** Return an HTTP 200 status code on errors, but include an error object as per the JSON RPC spec */
30
+ http200OnError: boolean;
31
+ /** The maximum body size the server will accept */
32
+ maxBodySizeBytes: string;
33
+ };
34
+
35
+ const defaultServerConfig: SafeJsonRpcServerConfig = {
36
+ http200OnError: false,
37
+ maxBatchSize: 100,
38
+ maxBodySizeBytes: '1mb',
39
+ };
40
+
26
41
  export class SafeJsonRpcServer {
27
42
  /**
28
43
  * The HTTP server accepting remote requests.
@@ -30,21 +45,26 @@ export class SafeJsonRpcServer {
30
45
  */
31
46
  private httpServer?: http.Server;
32
47
 
48
+ private config: SafeJsonRpcServerConfig;
49
+
33
50
  constructor(
34
- /** The proxy object to delegate requests to. */
51
+ /** The proxy object to delegate requests to */
35
52
  private readonly 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
- private http200OnError = false,
53
+ config: Partial<SafeJsonRpcServerConfig> = {},
41
54
  /** Health check function */
42
55
  private readonly healthCheck: StatusCheckFn = () => true,
43
56
  /** Additional middlewares */
44
57
  private extraMiddlewares: Application.Middleware[] = [],
45
58
  /** Logger */
46
59
  private log = createLogger('json-rpc:server'),
47
- ) {}
60
+ ) {
61
+ this.config = { ...defaultServerConfig, ...config };
62
+
63
+ // handle empty string
64
+ if (!this.config.maxBodySizeBytes) {
65
+ this.config.maxBodySizeBytes = defaultServerConfig.maxBodySizeBytes;
66
+ }
67
+ }
48
68
 
49
69
  public isHealthy(): boolean | Promise<boolean> {
50
70
  return this.healthCheck();
@@ -63,20 +83,13 @@ export class SafeJsonRpcServer {
63
83
  await next();
64
84
  } catch (err: any) {
65
85
  const method = (ctx.request.body as any)?.method ?? 'unknown';
66
- this.log.warn(`Error in JSON RPC server call ${method}: ${inspect(err)}`);
67
- if (err instanceof SyntaxError) {
86
+ this.log.warn(`Uncaught error in JSON RPC server call ${method}: ${inspect(err)}`);
87
+ if (err && 'name' in err && err.name === 'BadRequestError') {
68
88
  ctx.status = 400;
69
- ctx.body = { jsonrpc: '2.0', id: null, error: { code: -32700, message: `Parse error: ${err.message}` } };
70
- } else if (err instanceof ZodError) {
71
- const message = err.issues.map(e => `${e.message} (${e.path.join('.')})`).join('. ') || 'Validation error';
89
+ ctx.body = { jsonrpc: '2.0', id: null, error: { code: -32000, message: `Bad request: ${err.message}` } };
90
+ } else if (err && err instanceof SyntaxError) {
72
91
  ctx.status = 400;
73
- ctx.body = { jsonrpc: '2.0', id: null, error: { code: -32701, message } };
74
- } else if (this.http200OnError) {
75
- ctx.body = {
76
- jsonrpc: '2.0',
77
- id: null,
78
- error: { code: err.code || -32600, data: err.data, message: err.message },
79
- };
92
+ ctx.body = { jsonrpc: '2.0', id: null, error: { code: -32700, message: `Parse error: ${err.message}` } };
80
93
  } else {
81
94
  ctx.status = 500;
82
95
  ctx.body = { jsonrpc: '2.0', id: null, error: { code: -32600, message: err.message ?? 'Internal error' } };
@@ -107,7 +120,12 @@ export class SafeJsonRpcServer {
107
120
  app.use(middleware);
108
121
  }
109
122
  app.use(exceptionHandler);
110
- app.use(bodyParser({ jsonLimit: '50mb', enableTypes: ['json'], detectJSON: () => true }));
123
+ app.use(
124
+ bodyParser({
125
+ jsonLimit: this.config.maxBodySizeBytes,
126
+ enableTypes: ['json'],
127
+ }),
128
+ );
111
129
  app.use(cors());
112
130
  app.use(router.routes());
113
131
  app.use(router.allowedMethods());
@@ -124,23 +142,93 @@ export class SafeJsonRpcServer {
124
142
  const router = new Router({ prefix });
125
143
  // "JSON RPC mode" where a single endpoint is used and the method is given in the request body
126
144
  router.post('/', async (ctx: Koa.Context) => {
127
- const { params = [], jsonrpc, id, method } = ctx.request.body as any;
128
- // Fail if not a registered function in the proxy
129
- if (typeof method !== 'string' || method === 'constructor' || !this.proxy.hasMethod(method)) {
130
- ctx.status = 400;
131
- const code = -32601;
132
- const message = `Method not found: ${method}`;
133
- ctx.body = { jsonrpc, id, error: { code, message } };
145
+ if (Array.isArray(ctx.request.body)) {
146
+ if (ctx.request.body.length > this.config.maxBatchSize) {
147
+ ctx.status = this.config.http200OnError ? 200 : 400;
148
+ ctx.body = {
149
+ jsonrpc: '2.0',
150
+ error: {
151
+ code: -32600,
152
+ message: `Batch request exceeds maximum allowed size of ${this.config.maxBatchSize}`,
153
+ },
154
+ id: null,
155
+ };
156
+ return;
157
+ }
158
+ const resp = await this.processBatch(ctx.request.body);
159
+ if (Array.isArray(resp)) {
160
+ ctx.status = 200;
161
+ ctx.body = resp;
162
+ } else {
163
+ ctx.status = this.config.http200OnError ? 200 : 400;
164
+ ctx.body = resp;
165
+ }
134
166
  } else {
135
- ctx.status = 200;
136
- const result = await this.proxy.call(method, params);
137
- ctx.body = { jsonrpc, id, result };
167
+ const resp = await this.processRequest(ctx.request.body);
168
+ if ('error' in resp) {
169
+ ctx.status = this.config.http200OnError ? 200 : 400;
170
+ }
171
+
172
+ ctx.body = resp;
138
173
  }
139
174
  });
140
175
 
141
176
  return router;
142
177
  }
143
178
 
179
+ private async processBatch(requests: any[]) {
180
+ if (requests.length === 0) {
181
+ return { jsonrpc: '2.0', error: { code: -32600, message: 'Invalid Request' }, id: null };
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
+
189
+ this.log.warn(`Uncaught error executing request in batch: ${res.reason}.`);
190
+ return { jsonrpc: '2.0', error: { code: -32600, message: 'Invalid Request' }, id: null };
191
+ });
192
+ }
193
+
194
+ private async processRequest(request: any) {
195
+ if (!request || typeof request !== 'object') {
196
+ return { jsonrpc: '2.0', error: { code: -32600, message: 'Invalid Request' }, id: null };
197
+ }
198
+
199
+ const { params = [], jsonrpc = '2.0', id, method } = request;
200
+ if (typeof method !== 'string' || !method) {
201
+ return { jsonrpc: '2.0', id, error: { code: -32600, message: `Invalid request` } };
202
+ }
203
+
204
+ // Fail if not a registered function in the proxy
205
+ if (typeof method !== 'string' || method === 'constructor' || !this.proxy.hasMethod(method)) {
206
+ return { jsonrpc, id, error: { code: -32601, message: `Method not found: ${method}` } };
207
+ } else {
208
+ try {
209
+ const result = await this.proxy.call(method, params);
210
+ return { jsonrpc, id, result };
211
+ } catch (err: any) {
212
+ if (err && err instanceof ZodError) {
213
+ const message = err.issues.map(e => `${e.message} (${e.path.join('.')})`).join('. ') || 'Validation error';
214
+ return { jsonrpc: '2.0', id, error: { code: -32701, message } };
215
+ } else if (err) {
216
+ return {
217
+ jsonrpc,
218
+ id,
219
+ error: { code: -32702, data: err.data, message: err.message },
220
+ };
221
+ } else {
222
+ return {
223
+ jsonrpc,
224
+ id,
225
+ error: { code: -32702, message: 'Error executing request' },
226
+ };
227
+ }
228
+ }
229
+ }
230
+ }
231
+
144
232
  /**
145
233
  * Start this server with koa.
146
234
  * @param port - Port number.
@@ -201,7 +289,10 @@ export class SafeJsonProxy<T extends object = any> implements Proxy {
201
289
  private log = createLogger('json-rpc:proxy');
202
290
  private schema: ApiSchema;
203
291
 
204
- constructor(private handler: T, schema: ApiSchemaFor<T>) {
292
+ constructor(
293
+ private handler: T,
294
+ schema: ApiSchemaFor<T>,
295
+ ) {
205
296
  this.schema = schema;
206
297
  }
207
298
 
@@ -265,7 +356,10 @@ function makeAggregateHealthcheck(namedHandlers: NamespacedApiHandlers, log?: Lo
265
356
  return async () => {
266
357
  try {
267
358
  const results = await Promise.all(
268
- Object.entries(namedHandlers).map(([name, [, , healthCheck]]) => [name, healthCheck ? healthCheck() : true]),
359
+ Object.entries(namedHandlers).map(async ([name, [, , healthCheck]]) => [
360
+ name,
361
+ healthCheck ? await healthCheck() : true,
362
+ ]),
269
363
  );
270
364
  const failed = results.filter(([_, result]) => !result);
271
365
  if (failed.length > 0) {
@@ -280,12 +374,13 @@ function makeAggregateHealthcheck(namedHandlers: NamespacedApiHandlers, log?: Lo
280
374
  };
281
375
  }
282
376
 
283
- export type SafeJsonRpcServerOptions = {
284
- http200OnError: boolean;
285
- healthCheck?: StatusCheckFn;
286
- log?: Logger;
287
- middlewares?: Application.Middleware[];
288
- };
377
+ export type SafeJsonRpcServerOptions = Partial<
378
+ SafeJsonRpcServerConfig & {
379
+ healthCheck: StatusCheckFn;
380
+ log: Logger;
381
+ middlewares: Application.Middleware[];
382
+ }
383
+ >;
289
384
 
290
385
  /**
291
386
  * Creates a single SafeJsonRpcServer from multiple handlers.
@@ -294,24 +389,22 @@ export type SafeJsonRpcServerOptions = {
294
389
  */
295
390
  export function createNamespacedSafeJsonRpcServer(
296
391
  handlers: NamespacedApiHandlers,
297
- options: Partial<Omit<SafeJsonRpcServerOptions, 'healthcheck'>> = {
298
- log: createLogger('json-rpc:server'),
299
- },
392
+ options: Omit<SafeJsonRpcServerOptions, 'healthcheck'> = {},
300
393
  ): SafeJsonRpcServer {
301
- const { middlewares, http200OnError, log } = options;
394
+ const { middlewares, log } = options;
302
395
  const proxy = new NamespacedSafeJsonProxy(handlers);
303
396
  const healthCheck = makeAggregateHealthcheck(handlers, log);
304
- return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, middlewares, log);
397
+ return new SafeJsonRpcServer(proxy, options, healthCheck, middlewares, log);
305
398
  }
306
399
 
307
400
  export function createSafeJsonRpcServer<T extends object = any>(
308
401
  handler: T,
309
402
  schema: ApiSchemaFor<T>,
310
- options: Partial<SafeJsonRpcServerOptions> = {},
403
+ options: SafeJsonRpcServerOptions = {},
311
404
  ) {
312
- const { http200OnError, log, healthCheck, middlewares: extraMiddlewares } = options;
405
+ const { log, healthCheck, middlewares: extraMiddlewares } = options;
313
406
  const proxy = new SafeJsonProxy(handler, schema);
314
- return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, extraMiddlewares, log);
407
+ return new SafeJsonRpcServer(proxy, options, healthCheck, extraMiddlewares, log);
315
408
  }
316
409
 
317
410
  /**
@@ -326,7 +419,7 @@ export function createStatusRouter(getCurrentStatus: StatusCheckFn, apiPrefix =
326
419
  let ok: boolean;
327
420
  try {
328
421
  ok = (await getCurrentStatus()) === true;
329
- } catch (err) {
422
+ } catch {
330
423
  ok = false;
331
424
  }
332
425
 
@@ -364,7 +457,7 @@ export async function startHttpRpcServer(
364
457
 
365
458
  const { promise, resolve } = promiseWithResolvers<void>();
366
459
  const listenPort = options.port ? (typeof options.port === 'string' ? parseInt(options.port) : options.port) : 0;
367
- httpServer.listen(listenPort, options.host, () => resolve());
460
+ httpServer.listen({ host: options.host, port: listenPort, reuseAddress: true }, () => resolve());
368
461
 
369
462
  // Wait until listen callback is called
370
463
  if (!options.noWait) {
@@ -20,7 +20,7 @@ export type JsonRpcTestContext<T extends object> = {
20
20
  export async function createJsonRpcTestSetup<T extends object>(
21
21
  handler: T,
22
22
  schema: ApiSchemaFor<T>,
23
- serverOptions: Partial<SafeJsonRpcServerOptions> = {},
23
+ serverOptions: SafeJsonRpcServerOptions = {},
24
24
  clientOptions: SafeJsonRpcClientOptions = {},
25
25
  ): Promise<JsonRpcTestContext<T>> {
26
26
  const server = createSafeJsonRpcServer<T>(handler, schema, serverOptions);
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Converts bigint values to strings recursively in a log object to avoid serialization issues.
3
+ */
4
+ export function convertBigintsToStrings(obj: unknown): unknown {
5
+ if (typeof obj === 'bigint') {
6
+ return String(obj);
7
+ }
8
+
9
+ if (Array.isArray(obj)) {
10
+ return obj.map(item => convertBigintsToStrings(item));
11
+ }
12
+
13
+ if (obj !== null && typeof obj === 'object') {
14
+ if (typeof (obj as any).toJSON === 'function') {
15
+ return convertBigintsToStrings((obj as any).toJSON());
16
+ }
17
+ const result: Record<string, unknown> = {};
18
+ for (const key in obj) {
19
+ result[key] = convertBigintsToStrings((obj as Record<string, unknown>)[key]);
20
+ }
21
+ return result;
22
+ }
23
+
24
+ return obj;
25
+ }
@@ -7,7 +7,10 @@ import type { LogFn } from './log_fn.js';
7
7
  * which can be useful for controlling the format of the output or redirecting logs to a different destination.
8
8
  */
9
9
  class ConsoleLogger {
10
- constructor(private prefix: string, private logger: (...args: any[]) => void = console.log) {}
10
+ constructor(
11
+ private prefix: string,
12
+ private logger: (...args: any[]) => void = console.log,
13
+ ) {}
11
14
 
12
15
  /**
13
16
  * Log messages with the specified prefix using the provided logger.
@@ -1,5 +1,7 @@
1
1
  import type { pino } from 'pino';
2
2
 
3
+ import { convertBigintsToStrings } from './bigint-utils.js';
4
+
3
5
  /* eslint-disable camelcase */
4
6
 
5
7
  const GOOGLE_CLOUD_TRACE_ID = 'logging.googleapis.com/trace';
@@ -13,12 +15,11 @@ const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
13
15
  */
14
16
  export const GoogleCloudLoggerConfig = {
15
17
  messageKey: 'message',
16
- // Same as pino.stdTimeFunctions.isoTime but uses "timestamp" key instead of "time"
17
- timestamp(): string {
18
- return `,"timestamp":"${new Date(Date.now()).toISOString()}"`;
19
- },
20
18
  formatters: {
21
19
  log(object: Record<string, unknown>): Record<string, unknown> {
20
+ // Convert bigints to strings recursively to avoid serialization issues
21
+ object = convertBigintsToStrings(object) as Record<string, unknown>;
22
+
22
23
  // Add trace context attributes following Cloud Logging structured log format described
23
24
  // in https://cloud.google.com/logging/docs/structured-logging#special-payload-fields
24
25
  const { trace_id, span_id, trace_flags, ...rest } = object;
@@ -39,12 +40,12 @@ export const GoogleCloudLoggerConfig = {
39
40
  // Severity labels https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#LogSeverity
40
41
  let severity: string;
41
42
 
42
- switch (label as pino.Level | keyof typeof customLevels) {
43
+ switch (label as pino.Level | keyof CustomLevels) {
43
44
  case 'trace':
44
45
  case 'debug':
46
+ case 'verbose':
45
47
  severity = 'DEBUG';
46
48
  break;
47
- case 'verbose':
48
49
  case 'info':
49
50
  severity = 'INFO';
50
51
  break;
@@ -68,4 +69,4 @@ export const GoogleCloudLoggerConfig = {
68
69
  } satisfies pino.LoggerOptions;
69
70
 
70
71
  // Define custom logging levels for pino. Duplicate from pino-logger.ts.
71
- const customLevels = { verbose: 25 };
72
+ type CustomLevels = { verbose: 25 };
package/src/log/index.ts 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';