@aztec-labs/foundation 6.0.0-nightly.20260829

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 (805) hide show
  1. package/README.md +1 -0
  2. package/dest/array/array.d.ts +68 -0
  3. package/dest/array/array.d.ts.map +1 -0
  4. package/dest/array/array.js +100 -0
  5. package/dest/array/index.d.ts +3 -0
  6. package/dest/array/index.d.ts.map +1 -0
  7. package/dest/array/index.js +2 -0
  8. package/dest/array/sorted_array.d.ts +15 -0
  9. package/dest/array/sorted_array.d.ts.map +1 -0
  10. package/dest/array/sorted_array.js +109 -0
  11. package/dest/async-map/index.d.ts +13 -0
  12. package/dest/async-map/index.d.ts.map +1 -0
  13. package/dest/async-map/index.js +17 -0
  14. package/dest/async-pool/index.d.ts +3 -0
  15. package/dest/async-pool/index.d.ts.map +1 -0
  16. package/dest/async-pool/index.js +48 -0
  17. package/dest/bigint/index.d.ts +7 -0
  18. package/dest/bigint/index.d.ts.map +1 -0
  19. package/dest/bigint/index.js +15 -0
  20. package/dest/bigint-buffer/index.d.ts +40 -0
  21. package/dest/bigint-buffer/index.d.ts.map +1 -0
  22. package/dest/bigint-buffer/index.js +81 -0
  23. package/dest/branded-types/block_number.d.ts +56 -0
  24. package/dest/branded-types/block_number.d.ts.map +1 -0
  25. package/dest/branded-types/block_number.js +89 -0
  26. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  27. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  28. package/dest/branded-types/buffer32_hash.js +12 -0
  29. package/dest/branded-types/checkpoint_number.d.ts +60 -0
  30. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  31. package/dest/branded-types/checkpoint_number.js +88 -0
  32. package/dest/branded-types/epoch.d.ts +42 -0
  33. package/dest/branded-types/epoch.d.ts.map +1 -0
  34. package/dest/branded-types/epoch.js +59 -0
  35. package/dest/branded-types/index.d.ts +8 -0
  36. package/dest/branded-types/index.d.ts.map +1 -0
  37. package/dest/branded-types/index.js +6 -0
  38. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  39. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  40. package/dest/branded-types/index_within_checkpoint.js +59 -0
  41. package/dest/branded-types/slot.d.ts +45 -0
  42. package/dest/branded-types/slot.d.ts.map +1 -0
  43. package/dest/branded-types/slot.js +62 -0
  44. package/dest/branded-types/types.d.ts +5 -0
  45. package/dest/branded-types/types.d.ts.map +1 -0
  46. package/dest/branded-types/types.js +1 -0
  47. package/dest/buffer/buffer16.d.ts +82 -0
  48. package/dest/buffer/buffer16.d.ts.map +1 -0
  49. package/dest/buffer/buffer16.js +102 -0
  50. package/dest/buffer/buffer32.d.ts +54 -0
  51. package/dest/buffer/buffer32.d.ts.map +1 -0
  52. package/dest/buffer/buffer32.js +83 -0
  53. package/dest/buffer/index.d.ts +4 -0
  54. package/dest/buffer/index.d.ts.map +1 -0
  55. package/dest/buffer/index.js +3 -0
  56. package/dest/buffer/utils.d.ts +3 -0
  57. package/dest/buffer/utils.d.ts.map +1 -0
  58. package/dest/buffer/utils.js +7 -0
  59. package/dest/collection/array.d.ts +135 -0
  60. package/dest/collection/array.d.ts.map +1 -0
  61. package/dest/collection/array.js +302 -0
  62. package/dest/collection/index.d.ts +5 -0
  63. package/dest/collection/index.d.ts.map +1 -0
  64. package/dest/collection/index.js +4 -0
  65. package/dest/collection/lru_map.d.ts +41 -0
  66. package/dest/collection/lru_map.d.ts.map +1 -0
  67. package/dest/collection/lru_map.js +119 -0
  68. package/dest/collection/lru_set.d.ts +35 -0
  69. package/dest/collection/lru_set.d.ts.map +1 -0
  70. package/dest/collection/lru_set.js +95 -0
  71. package/dest/collection/object.d.ts +30 -0
  72. package/dest/collection/object.d.ts.map +1 -0
  73. package/dest/collection/object.js +57 -0
  74. package/dest/committable/committable.d.ts +28 -0
  75. package/dest/committable/committable.d.ts.map +1 -0
  76. package/dest/committable/committable.js +36 -0
  77. package/dest/committable/index.d.ts +2 -0
  78. package/dest/committable/index.d.ts.map +1 -0
  79. package/dest/committable/index.js +1 -0
  80. package/dest/config/env_var.d.ts +2 -0
  81. package/dest/config/env_var.d.ts.map +1 -0
  82. package/dest/config/env_var.js +1 -0
  83. package/dest/config/index.d.ts +154 -0
  84. package/dest/config/index.d.ts.map +1 -0
  85. package/dest/config/index.js +272 -0
  86. package/dest/config/network_config.d.ts +28 -0
  87. package/dest/config/network_config.d.ts.map +1 -0
  88. package/dest/config/network_config.js +14 -0
  89. package/dest/config/network_name.d.ts +3 -0
  90. package/dest/config/network_name.d.ts.map +1 -0
  91. package/dest/config/network_name.js +19 -0
  92. package/dest/config/parse-env.d.ts +3 -0
  93. package/dest/config/parse-env.d.ts.map +1 -0
  94. package/dest/config/parse-env.js +7 -0
  95. package/dest/config/secret_value.d.ts +28 -0
  96. package/dest/config/secret_value.d.ts.map +1 -0
  97. package/dest/config/secret_value.js +36 -0
  98. package/dest/crypto/aes128/index.d.ts +33 -0
  99. package/dest/crypto/aes128/index.d.ts.map +1 -0
  100. package/dest/crypto/aes128/index.js +71 -0
  101. package/dest/crypto/bls/bn254_keystore.d.ts +129 -0
  102. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  103. package/dest/crypto/bls/bn254_keystore.js +206 -0
  104. package/dest/crypto/bls/index.d.ts +13 -0
  105. package/dest/crypto/bls/index.d.ts.map +1 -0
  106. package/dest/crypto/bls/index.js +87 -0
  107. package/dest/crypto/bn254/index.d.ts +39 -0
  108. package/dest/crypto/bn254/index.d.ts.map +1 -0
  109. package/dest/crypto/bn254/index.js +56 -0
  110. package/dest/crypto/ecdsa/index.d.ts +39 -0
  111. package/dest/crypto/ecdsa/index.d.ts.map +1 -0
  112. package/dest/crypto/ecdsa/index.js +102 -0
  113. package/dest/crypto/ecdsa/signature.d.ts +69 -0
  114. package/dest/crypto/ecdsa/signature.d.ts.map +1 -0
  115. package/dest/crypto/ecdsa/signature.js +92 -0
  116. package/dest/crypto/grumpkin/index.d.ts +42 -0
  117. package/dest/crypto/grumpkin/index.d.ts.map +1 -0
  118. package/dest/crypto/grumpkin/index.js +160 -0
  119. package/dest/crypto/keccak/index.d.ts +26 -0
  120. package/dest/crypto/keccak/index.d.ts.map +1 -0
  121. package/dest/crypto/keccak/index.js +248 -0
  122. package/dest/crypto/keys/index.d.ts +4 -0
  123. package/dest/crypto/keys/index.d.ts.map +1 -0
  124. package/dest/crypto/keys/index.js +34 -0
  125. package/dest/crypto/pedersen/index.d.ts +2 -0
  126. package/dest/crypto/pedersen/index.d.ts.map +1 -0
  127. package/dest/crypto/pedersen/index.js +1 -0
  128. package/dest/crypto/pedersen/pedersen.noble.d.ts +9 -0
  129. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -0
  130. package/dest/crypto/pedersen/pedersen.noble.js +558 -0
  131. package/dest/crypto/pedersen/pedersen.wasm.d.ts +19 -0
  132. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -0
  133. package/dest/crypto/pedersen/pedersen.wasm.js +51 -0
  134. package/dest/crypto/poseidon/index.d.ts +23 -0
  135. package/dest/crypto/poseidon/index.d.ts.map +1 -0
  136. package/dest/crypto/poseidon/index.js +71 -0
  137. package/dest/crypto/random/index.d.ts +23 -0
  138. package/dest/crypto/random/index.d.ts.map +1 -0
  139. package/dest/crypto/random/index.js +38 -0
  140. package/dest/crypto/random/randomness_singleton.d.ts +24 -0
  141. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -0
  142. package/dest/crypto/random/randomness_singleton.js +55 -0
  143. package/dest/crypto/schnorr/index.d.ts +32 -0
  144. package/dest/crypto/schnorr/index.d.ts.map +1 -0
  145. package/dest/crypto/schnorr/index.js +60 -0
  146. package/dest/crypto/schnorr/signature.d.ts +48 -0
  147. package/dest/crypto/schnorr/signature.d.ts.map +1 -0
  148. package/dest/crypto/schnorr/signature.js +77 -0
  149. package/dest/crypto/secp256k1/index.d.ts +30 -0
  150. package/dest/crypto/secp256k1/index.d.ts.map +1 -0
  151. package/dest/crypto/secp256k1/index.js +121 -0
  152. package/dest/crypto/secp256k1-signer/index.d.ts +3 -0
  153. package/dest/crypto/secp256k1-signer/index.d.ts.map +1 -0
  154. package/dest/crypto/secp256k1-signer/index.js +2 -0
  155. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +24 -0
  156. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -0
  157. package/dest/crypto/secp256k1-signer/secp256k1_signer.js +30 -0
  158. package/dest/crypto/secp256k1-signer/utils.d.ts +102 -0
  159. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -0
  160. package/dest/crypto/secp256k1-signer/utils.js +196 -0
  161. package/dest/crypto/sha256/index.d.ts +37 -0
  162. package/dest/crypto/sha256/index.d.ts.map +1 -0
  163. package/dest/crypto/sha256/index.js +208 -0
  164. package/dest/crypto/sha512/index.d.ts +9 -0
  165. package/dest/crypto/sha512/index.d.ts.map +1 -0
  166. package/dest/crypto/sha512/index.js +12 -0
  167. package/dest/crypto/signature/index.d.ts +17 -0
  168. package/dest/crypto/signature/index.d.ts.map +1 -0
  169. package/dest/crypto/signature/index.js +3 -0
  170. package/dest/crypto/sync/index.d.ts +3 -0
  171. package/dest/crypto/sync/index.d.ts.map +1 -0
  172. package/dest/crypto/sync/index.js +4 -0
  173. package/dest/crypto/sync/pedersen/index.d.ts +19 -0
  174. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -0
  175. package/dest/crypto/sync/pedersen/index.js +45 -0
  176. package/dest/crypto/sync/poseidon/index.d.ts +23 -0
  177. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -0
  178. package/dest/crypto/sync/poseidon/index.js +60 -0
  179. package/dest/curves/bls12/field.d.ts +148 -0
  180. package/dest/curves/bls12/field.d.ts.map +1 -0
  181. package/dest/curves/bls12/field.js +357 -0
  182. package/dest/curves/bls12/index.d.ts +3 -0
  183. package/dest/curves/bls12/index.d.ts.map +1 -0
  184. package/dest/curves/bls12/index.js +2 -0
  185. package/dest/curves/bls12/point.d.ts +229 -0
  186. package/dest/curves/bls12/point.d.ts.map +1 -0
  187. package/dest/curves/bls12/point.js +400 -0
  188. package/dest/curves/bn254/field.d.ts +185 -0
  189. package/dest/curves/bn254/field.d.ts.map +1 -0
  190. package/dest/curves/bn254/field.js +420 -0
  191. package/dest/curves/bn254/index.d.ts +3 -0
  192. package/dest/curves/bn254/index.d.ts.map +1 -0
  193. package/dest/curves/bn254/index.js +2 -0
  194. package/dest/curves/bn254/point.d.ts +54 -0
  195. package/dest/curves/bn254/point.d.ts.map +1 -0
  196. package/dest/curves/bn254/point.js +143 -0
  197. package/dest/curves/grumpkin/index.d.ts +10 -0
  198. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  199. package/dest/curves/grumpkin/index.js +3 -0
  200. package/dest/curves/grumpkin/point.d.ts +168 -0
  201. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  202. package/dest/curves/grumpkin/point.js +263 -0
  203. package/dest/decorators/index.d.ts +2 -0
  204. package/dest/decorators/index.d.ts.map +1 -0
  205. package/dest/decorators/index.js +1 -0
  206. package/dest/decorators/memoize.d.ts +2 -0
  207. package/dest/decorators/memoize.d.ts.map +1 -0
  208. package/dest/decorators/memoize.js +11 -0
  209. package/dest/error/index.d.ts +21 -0
  210. package/dest/error/index.d.ts.map +1 -0
  211. package/dest/error/index.js +17 -0
  212. package/dest/eth-address/index.d.ts +143 -0
  213. package/dest/eth-address/index.d.ts.map +1 -0
  214. package/dest/eth-address/index.js +224 -0
  215. package/dest/eth-signature/eth_signature.d.ts +65 -0
  216. package/dest/eth-signature/eth_signature.d.ts.map +1 -0
  217. package/dest/eth-signature/eth_signature.js +110 -0
  218. package/dest/eth-signature/index.d.ts +2 -0
  219. package/dest/eth-signature/index.d.ts.map +1 -0
  220. package/dest/eth-signature/index.js +1 -0
  221. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  222. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  223. package/dest/fifo/fifo_frame_reader.js +91 -0
  224. package/dest/fifo/index.d.ts +2 -0
  225. package/dest/fifo/index.d.ts.map +1 -0
  226. package/dest/fifo/index.js +1 -0
  227. package/dest/fifo_set/fifo_set.d.ts +15 -0
  228. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  229. package/dest/fifo_set/fifo_set.js +39 -0
  230. package/dest/fifo_set/index.d.ts +2 -0
  231. package/dest/fifo_set/index.d.ts.map +1 -0
  232. package/dest/fifo_set/index.js +1 -0
  233. package/dest/fs/index.d.ts +3 -0
  234. package/dest/fs/index.d.ts.map +1 -0
  235. package/dest/fs/index.js +2 -0
  236. package/dest/fs/run_in_dir.d.ts +2 -0
  237. package/dest/fs/run_in_dir.d.ts.map +1 -0
  238. package/dest/fs/run_in_dir.js +31 -0
  239. package/dest/fs/try_rm_dir.d.ts +3 -0
  240. package/dest/fs/try_rm_dir.d.ts.map +1 -0
  241. package/dest/fs/try_rm_dir.js +16 -0
  242. package/dest/iterable/all.d.ts +9 -0
  243. package/dest/iterable/all.d.ts.map +1 -0
  244. package/dest/iterable/all.js +18 -0
  245. package/dest/iterable/filter.d.ts +10 -0
  246. package/dest/iterable/filter.d.ts.map +1 -0
  247. package/dest/iterable/filter.js +48 -0
  248. package/dest/iterable/first.d.ts +8 -0
  249. package/dest/iterable/first.d.ts.map +1 -0
  250. package/dest/iterable/first.js +11 -0
  251. package/dest/iterable/index.d.ts +9 -0
  252. package/dest/iterable/index.d.ts.map +1 -0
  253. package/dest/iterable/index.js +8 -0
  254. package/dest/iterable/isAsyncIt.d.ts +7 -0
  255. package/dest/iterable/isAsyncIt.d.ts.map +1 -0
  256. package/dest/iterable/isAsyncIt.js +7 -0
  257. package/dest/iterable/map.d.ts +12 -0
  258. package/dest/iterable/map.d.ts.map +1 -0
  259. package/dest/iterable/map.js +36 -0
  260. package/dest/iterable/peek.d.ts +19 -0
  261. package/dest/iterable/peek.d.ts.map +1 -0
  262. package/dest/iterable/peek.js +33 -0
  263. package/dest/iterable/sort.d.ts +14 -0
  264. package/dest/iterable/sort.d.ts.map +1 -0
  265. package/dest/iterable/sort.js +15 -0
  266. package/dest/iterable/take.d.ts +10 -0
  267. package/dest/iterable/take.d.ts.map +1 -0
  268. package/dest/iterable/take.js +32 -0
  269. package/dest/iterable/toArray.d.ts +2 -0
  270. package/dest/iterable/toArray.d.ts.map +1 -0
  271. package/dest/iterable/toArray.js +7 -0
  272. package/dest/iterator/filter.d.ts +3 -0
  273. package/dest/iterator/filter.d.ts.map +1 -0
  274. package/dest/iterator/filter.js +7 -0
  275. package/dest/iterator/index.d.ts +2 -0
  276. package/dest/iterator/index.d.ts.map +1 -0
  277. package/dest/iterator/index.js +1 -0
  278. package/dest/jest/env.js +48 -0
  279. package/dest/jest/setup.js +34 -0
  280. package/dest/jest/setupAfterEnv.js +3 -0
  281. package/dest/json-rpc/client/fetch.d.ts +37 -0
  282. package/dest/json-rpc/client/fetch.d.ts.map +1 -0
  283. package/dest/json-rpc/client/fetch.js +67 -0
  284. package/dest/json-rpc/client/index.d.ts +3 -0
  285. package/dest/json-rpc/client/index.d.ts.map +1 -0
  286. package/dest/json-rpc/client/index.js +2 -0
  287. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +33 -0
  288. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -0
  289. package/dest/json-rpc/client/safe_json_rpc_client.js +218 -0
  290. package/dest/json-rpc/client/undici.d.ts +16 -0
  291. package/dest/json-rpc/client/undici.d.ts.map +1 -0
  292. package/dest/json-rpc/client/undici.js +112 -0
  293. package/dest/json-rpc/convert.d.ts +20 -0
  294. package/dest/json-rpc/convert.d.ts.map +1 -0
  295. package/dest/json-rpc/convert.js +40 -0
  296. package/dest/json-rpc/errors.d.ts +4 -0
  297. package/dest/json-rpc/errors.d.ts.map +1 -0
  298. package/dest/json-rpc/errors.js +6 -0
  299. package/dest/json-rpc/fixtures/class_a.d.ts +13 -0
  300. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -0
  301. package/dest/json-rpc/fixtures/class_a.js +20 -0
  302. package/dest/json-rpc/fixtures/class_b.d.ts +13 -0
  303. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -0
  304. package/dest/json-rpc/fixtures/class_b.js +20 -0
  305. package/dest/json-rpc/fixtures/test_state.d.ts +85 -0
  306. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -0
  307. package/dest/json-rpc/fixtures/test_state.js +171 -0
  308. package/dest/json-rpc/index.d.ts +3 -0
  309. package/dest/json-rpc/index.d.ts.map +1 -0
  310. package/dest/json-rpc/index.js +2 -0
  311. package/dest/json-rpc/js_utils.d.ts +13 -0
  312. package/dest/json-rpc/js_utils.d.ts.map +1 -0
  313. package/dest/json-rpc/js_utils.js +16 -0
  314. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  315. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  316. package/dest/json-rpc/server/api_key_auth.js +57 -0
  317. package/dest/json-rpc/server/index.d.ts +3 -0
  318. package/dest/json-rpc/server/index.d.ts.map +1 -0
  319. package/dest/json-rpc/server/index.js +2 -0
  320. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +177 -0
  321. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -0
  322. package/dest/json-rpc/server/safe_json_rpc_server.js +570 -0
  323. package/dest/json-rpc/test/index.d.ts +2 -0
  324. package/dest/json-rpc/test/index.d.ts.map +1 -0
  325. package/dest/json-rpc/test/index.js +1 -0
  326. package/dest/json-rpc/test/integration.d.ts +14 -0
  327. package/dest/json-rpc/test/integration.d.ts.map +1 -0
  328. package/dest/json-rpc/test/integration.js +21 -0
  329. package/dest/log/aws-logger-config.d.ts +8 -0
  330. package/dest/log/aws-logger-config.d.ts.map +1 -0
  331. package/dest/log/aws-logger-config.js +55 -0
  332. package/dest/log/bigint-utils.d.ts +5 -0
  333. package/dest/log/bigint-utils.d.ts.map +1 -0
  334. package/dest/log/bigint-utils.js +21 -0
  335. package/dest/log/console.d.ts +11 -0
  336. package/dest/log/console.d.ts.map +1 -0
  337. package/dest/log/console.js +36 -0
  338. package/dest/log/gcloud-logger-config.d.ts +13 -0
  339. package/dest/log/gcloud-logger-config.d.ts.map +1 -0
  340. package/dest/log/gcloud-logger-config.js +61 -0
  341. package/dest/log/index.d.ts +7 -0
  342. package/dest/log/index.d.ts.map +1 -0
  343. package/dest/log/index.js +6 -0
  344. package/dest/log/libp2p_logger.d.ts +10 -0
  345. package/dest/log/libp2p_logger.d.ts.map +1 -0
  346. package/dest/log/libp2p_logger.js +76 -0
  347. package/dest/log/log-filters.d.ts +20 -0
  348. package/dest/log/log-filters.d.ts.map +1 -0
  349. package/dest/log/log-filters.js +73 -0
  350. package/dest/log/log-levels.d.ts +3 -0
  351. package/dest/log/log-levels.d.ts.map +1 -0
  352. package/dest/log/log-levels.js +10 -0
  353. package/dest/log/log_fn.d.ts +7 -0
  354. package/dest/log/log_fn.d.ts.map +1 -0
  355. package/dest/log/log_fn.js +1 -0
  356. package/dest/log/noir_debug_log_util.d.ts +14 -0
  357. package/dest/log/noir_debug_log_util.d.ts.map +1 -0
  358. package/dest/log/noir_debug_log_util.js +14 -0
  359. package/dest/log/pino-logger-server.d.ts +9 -0
  360. package/dest/log/pino-logger-server.d.ts.map +1 -0
  361. package/dest/log/pino-logger-server.js +18 -0
  362. package/dest/log/pino-logger.d.ts +86 -0
  363. package/dest/log/pino-logger.d.ts.map +1 -0
  364. package/dest/log/pino-logger.js +347 -0
  365. package/dest/message/index.d.ts +32 -0
  366. package/dest/message/index.d.ts.map +1 -0
  367. package/dest/message/index.js +27 -0
  368. package/dest/mutex/index.d.ts +53 -0
  369. package/dest/mutex/index.d.ts.map +1 -0
  370. package/dest/mutex/index.js +78 -0
  371. package/dest/mutex/mutex_database.d.ts +10 -0
  372. package/dest/mutex/mutex_database.d.ts.map +1 -0
  373. package/dest/mutex/mutex_database.js +4 -0
  374. package/dest/noir/index.d.ts +2 -0
  375. package/dest/noir/index.d.ts.map +1 -0
  376. package/dest/noir/index.js +1 -0
  377. package/dest/noir/noir_package_config.d.ts +44 -0
  378. package/dest/noir/noir_package_config.d.ts.map +1 -0
  379. package/dest/noir/noir_package_config.js +36 -0
  380. package/dest/number/index.d.ts +3 -0
  381. package/dest/number/index.d.ts.map +1 -0
  382. package/dest/number/index.js +12 -0
  383. package/dest/profiler/index.d.ts +2 -0
  384. package/dest/profiler/index.d.ts.map +1 -0
  385. package/dest/profiler/index.js +1 -0
  386. package/dest/profiler/profiler.d.ts +8 -0
  387. package/dest/profiler/profiler.d.ts.map +1 -0
  388. package/dest/profiler/profiler.js +97 -0
  389. package/dest/promise/index.d.ts +3 -0
  390. package/dest/promise/index.d.ts.map +1 -0
  391. package/dest/promise/index.js +2 -0
  392. package/dest/promise/running-promise.d.ts +53 -0
  393. package/dest/promise/running-promise.d.ts.map +1 -0
  394. package/dest/promise/running-promise.js +122 -0
  395. package/dest/promise/utils.d.ts +25 -0
  396. package/dest/promise/utils.d.ts.map +1 -0
  397. package/dest/promise/utils.js +40 -0
  398. package/dest/queue/base_memory_queue.d.ts +65 -0
  399. package/dest/queue/base_memory_queue.d.ts.map +1 -0
  400. package/dest/queue/base_memory_queue.js +116 -0
  401. package/dest/queue/batch_queue.d.ts +47 -0
  402. package/dest/queue/batch_queue.d.ts.map +1 -0
  403. package/dest/queue/batch_queue.js +106 -0
  404. package/dest/queue/bounded_serial_queue.d.ts +56 -0
  405. package/dest/queue/bounded_serial_queue.d.ts.map +1 -0
  406. package/dest/queue/bounded_serial_queue.js +84 -0
  407. package/dest/queue/fifo_memory_queue.d.ts +21 -0
  408. package/dest/queue/fifo_memory_queue.d.ts.map +1 -0
  409. package/dest/queue/fifo_memory_queue.js +29 -0
  410. package/dest/queue/index.d.ts +7 -0
  411. package/dest/queue/index.d.ts.map +1 -0
  412. package/dest/queue/index.js +6 -0
  413. package/dest/queue/priority_memory_queue.d.ts +13 -0
  414. package/dest/queue/priority_memory_queue.d.ts.map +1 -0
  415. package/dest/queue/priority_memory_queue.js +16 -0
  416. package/dest/queue/priority_queue.d.ts +14 -0
  417. package/dest/queue/priority_queue.d.ts.map +1 -0
  418. package/dest/queue/priority_queue.js +29 -0
  419. package/dest/queue/semaphore.d.ts +27 -0
  420. package/dest/queue/semaphore.d.ts.map +1 -0
  421. package/dest/queue/semaphore.js +26 -0
  422. package/dest/queue/serial_queue.d.ts +49 -0
  423. package/dest/queue/serial_queue.d.ts.map +1 -0
  424. package/dest/queue/serial_queue.js +74 -0
  425. package/dest/retry/index.d.ts +83 -0
  426. package/dest/retry/index.d.ts.map +1 -0
  427. package/dest/retry/index.js +146 -0
  428. package/dest/running-promise/index.d.ts +2 -0
  429. package/dest/running-promise/index.d.ts.map +1 -0
  430. package/dest/running-promise/index.js +1 -0
  431. package/dest/schemas/api.d.ts +23 -0
  432. package/dest/schemas/api.d.ts.map +1 -0
  433. package/dest/schemas/api.js +9 -0
  434. package/dest/schemas/index.d.ts +6 -0
  435. package/dest/schemas/index.d.ts.map +1 -0
  436. package/dest/schemas/index.js +5 -0
  437. package/dest/schemas/parse.d.ts +9 -0
  438. package/dest/schemas/parse.d.ts.map +1 -0
  439. package/dest/schemas/parse.js +23 -0
  440. package/dest/schemas/schemas.d.ts +46 -0
  441. package/dest/schemas/schemas.d.ts.map +1 -0
  442. package/dest/schemas/schemas.js +56 -0
  443. package/dest/schemas/types.d.ts +33 -0
  444. package/dest/schemas/types.d.ts.map +1 -0
  445. package/dest/schemas/types.js +25 -0
  446. package/dest/schemas/utils.d.ts +47 -0
  447. package/dest/schemas/utils.d.ts.map +1 -0
  448. package/dest/schemas/utils.js +54 -0
  449. package/dest/serialize/buffer_reader.d.ts +274 -0
  450. package/dest/serialize/buffer_reader.d.ts.map +1 -0
  451. package/dest/serialize/buffer_reader.js +359 -0
  452. package/dest/serialize/buffer_sink.d.ts +134 -0
  453. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  454. package/dest/serialize/buffer_sink.js +297 -0
  455. package/dest/serialize/field_reader.d.ts +121 -0
  456. package/dest/serialize/field_reader.d.ts.map +1 -0
  457. package/dest/serialize/field_reader.js +164 -0
  458. package/dest/serialize/free_funcs.d.ts +107 -0
  459. package/dest/serialize/free_funcs.d.ts.map +1 -0
  460. package/dest/serialize/free_funcs.js +183 -0
  461. package/dest/serialize/index.d.ts +8 -0
  462. package/dest/serialize/index.d.ts.map +1 -0
  463. package/dest/serialize/index.js +7 -0
  464. package/dest/serialize/serialize.d.ts +168 -0
  465. package/dest/serialize/serialize.d.ts.map +1 -0
  466. package/dest/serialize/serialize.js +258 -0
  467. package/dest/serialize/type_registry.d.ts +23 -0
  468. package/dest/serialize/type_registry.d.ts.map +1 -0
  469. package/dest/serialize/type_registry.js +61 -0
  470. package/dest/serialize/types.d.ts +33 -0
  471. package/dest/serialize/types.d.ts.map +1 -0
  472. package/dest/serialize/types.js +21 -0
  473. package/dest/sleep/index.d.ts +54 -0
  474. package/dest/sleep/index.d.ts.map +1 -0
  475. package/dest/sleep/index.js +80 -0
  476. package/dest/string/index.d.ts +18 -0
  477. package/dest/string/index.d.ts.map +1 -0
  478. package/dest/string/index.js +62 -0
  479. package/dest/testing/files/index.d.ts +20 -0
  480. package/dest/testing/files/index.d.ts.map +1 -0
  481. package/dest/testing/files/index.js +59 -0
  482. package/dest/testing/formatting.d.ts +4 -0
  483. package/dest/testing/formatting.d.ts.map +1 -0
  484. package/dest/testing/formatting.js +3 -0
  485. package/dest/testing/index.d.ts +5 -0
  486. package/dest/testing/index.d.ts.map +1 -0
  487. package/dest/testing/index.js +4 -0
  488. package/dest/testing/port_allocator.d.ts +10 -0
  489. package/dest/testing/port_allocator.d.ts.map +1 -0
  490. package/dest/testing/port_allocator.js +29 -0
  491. package/dest/testing/snapshot_serializer.d.ts +5 -0
  492. package/dest/testing/snapshot_serializer.d.ts.map +1 -0
  493. package/dest/testing/snapshot_serializer.js +32 -0
  494. package/dest/testing/test_data.d.ts +7 -0
  495. package/dest/testing/test_data.d.ts.map +1 -0
  496. package/dest/testing/test_data.js +29 -0
  497. package/dest/timer/date.d.ts +39 -0
  498. package/dest/timer/date.d.ts.map +1 -0
  499. package/dest/timer/date.js +62 -0
  500. package/dest/timer/elapsed.d.ts +13 -0
  501. package/dest/timer/elapsed.d.ts.map +1 -0
  502. package/dest/timer/elapsed.js +25 -0
  503. package/dest/timer/index.d.ts +5 -0
  504. package/dest/timer/index.d.ts.map +1 -0
  505. package/dest/timer/index.js +4 -0
  506. package/dest/timer/timeout.d.ts +56 -0
  507. package/dest/timer/timeout.d.ts.map +1 -0
  508. package/dest/timer/timeout.js +113 -0
  509. package/dest/timer/timer.d.ts +37 -0
  510. package/dest/timer/timer.d.ts.map +1 -0
  511. package/dest/timer/timer.js +40 -0
  512. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +111 -0
  513. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -0
  514. package/dest/transport/dispatch/create_dispatch_proxy.js +59 -0
  515. package/dest/transport/dispatch/messages.d.ts +52 -0
  516. package/dest/transport/dispatch/messages.d.ts.map +1 -0
  517. package/dest/transport/dispatch/messages.js +13 -0
  518. package/dest/transport/index.d.ts +10 -0
  519. package/dest/transport/index.d.ts.map +1 -0
  520. package/dest/transport/index.js +9 -0
  521. package/dest/transport/interface/connector.d.ts +8 -0
  522. package/dest/transport/interface/connector.d.ts.map +1 -0
  523. package/dest/transport/interface/connector.js +3 -0
  524. package/dest/transport/interface/listener.d.ts +12 -0
  525. package/dest/transport/interface/listener.d.ts.map +1 -0
  526. package/dest/transport/interface/listener.js +4 -0
  527. package/dest/transport/interface/socket.d.ts +13 -0
  528. package/dest/transport/interface/socket.d.ts.map +1 -0
  529. package/dest/transport/interface/socket.js +7 -0
  530. package/dest/transport/interface/transferable.d.ts +68 -0
  531. package/dest/transport/interface/transferable.d.ts.map +1 -0
  532. package/dest/transport/interface/transferable.js +63 -0
  533. package/dest/transport/node/index.d.ts +3 -0
  534. package/dest/transport/node/index.d.ts.map +1 -0
  535. package/dest/transport/node/index.js +2 -0
  536. package/dest/transport/node/node_connector.d.ts +27 -0
  537. package/dest/transport/node/node_connector.d.ts.map +1 -0
  538. package/dest/transport/node/node_connector.js +26 -0
  539. package/dest/transport/node/node_connector_socket.d.ts +41 -0
  540. package/dest/transport/node/node_connector_socket.d.ts.map +1 -0
  541. package/dest/transport/node/node_connector_socket.js +44 -0
  542. package/dest/transport/node/node_listener.d.ts +25 -0
  543. package/dest/transport/node/node_listener.d.ts.map +1 -0
  544. package/dest/transport/node/node_listener.js +26 -0
  545. package/dest/transport/node/node_listener_socket.d.ts +36 -0
  546. package/dest/transport/node/node_listener_socket.d.ts.map +1 -0
  547. package/dest/transport/node/node_listener_socket.js +40 -0
  548. package/dest/transport/transport_client.d.ts +60 -0
  549. package/dest/transport/transport_client.d.ts.map +1 -0
  550. package/dest/transport/transport_client.js +96 -0
  551. package/dest/transport/transport_server.d.ts +47 -0
  552. package/dest/transport/transport_server.d.ts.map +1 -0
  553. package/dest/transport/transport_server.js +114 -0
  554. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  555. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  556. package/dest/trees/balanced_merkle_tree_root.js +50 -0
  557. package/dest/trees/hasher.d.ts +40 -0
  558. package/dest/trees/hasher.d.ts.map +1 -0
  559. package/dest/trees/hasher.js +10 -0
  560. package/dest/trees/index.d.ts +13 -0
  561. package/dest/trees/index.d.ts.map +1 -0
  562. package/dest/trees/index.js +12 -0
  563. package/dest/trees/indexed_merkle_tree.d.ts +11 -0
  564. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -0
  565. package/dest/trees/indexed_merkle_tree.js +27 -0
  566. package/dest/trees/indexed_merkle_tree_calculator.d.ts +21 -0
  567. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -0
  568. package/dest/trees/indexed_merkle_tree_calculator.js +87 -0
  569. package/dest/trees/indexed_tree_leaf.d.ts +55 -0
  570. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -0
  571. package/dest/trees/indexed_tree_leaf.js +5 -0
  572. package/dest/trees/membership_witness.d.ts +63 -0
  573. package/dest/trees/membership_witness.d.ts.map +1 -0
  574. package/dest/trees/membership_witness.js +83 -0
  575. package/dest/trees/merkle_tree.d.ts +16 -0
  576. package/dest/trees/merkle_tree.d.ts.map +1 -0
  577. package/dest/trees/merkle_tree.js +58 -0
  578. package/dest/trees/merkle_tree_calculator.d.ts +16 -0
  579. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -0
  580. package/dest/trees/merkle_tree_calculator.js +57 -0
  581. package/dest/trees/sibling_path.d.ts +96 -0
  582. package/dest/trees/sibling_path.d.ts.map +1 -0
  583. package/dest/trees/sibling_path.js +139 -0
  584. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
  585. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
  586. package/dest/trees/unbalanced_merkle_tree_calculator.js +154 -0
  587. package/dest/trees/unbalanced_merkle_tree_root.d.ts +27 -0
  588. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  589. package/dest/trees/unbalanced_merkle_tree_root.js +83 -0
  590. package/dest/trees/unbalanced_tree_store.d.ts +24 -0
  591. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -0
  592. package/dest/trees/unbalanced_tree_store.js +148 -0
  593. package/dest/types/index.d.ts +68 -0
  594. package/dest/types/index.d.ts.map +1 -0
  595. package/dest/types/index.js +24 -0
  596. package/dest/url/index.d.ts +9 -0
  597. package/dest/url/index.d.ts.map +1 -0
  598. package/dest/url/index.js +62 -0
  599. package/dest/validation/index.d.ts +9 -0
  600. package/dest/validation/index.d.ts.map +1 -0
  601. package/dest/validation/index.js +15 -0
  602. package/package.json +213 -0
  603. package/src/array/array.ts +147 -0
  604. package/src/array/index.ts +2 -0
  605. package/src/array/sorted_array.ts +138 -0
  606. package/src/async-map/index.ts +18 -0
  607. package/src/async-pool/index.ts +51 -0
  608. package/src/bigint/index.ts +20 -0
  609. package/src/bigint-buffer/index.ts +92 -0
  610. package/src/branded-types/block_number.ts +135 -0
  611. package/src/branded-types/buffer32_hash.ts +38 -0
  612. package/src/branded-types/checkpoint_number.ts +130 -0
  613. package/src/branded-types/epoch.ts +88 -0
  614. package/src/branded-types/index.ts +8 -0
  615. package/src/branded-types/index_within_checkpoint.ts +88 -0
  616. package/src/branded-types/slot.ts +93 -0
  617. package/src/branded-types/types.ts +2 -0
  618. package/src/buffer/buffer16.ts +135 -0
  619. package/src/buffer/buffer32.ts +116 -0
  620. package/src/buffer/index.ts +3 -0
  621. package/src/buffer/utils.ts +8 -0
  622. package/src/collection/array.ts +351 -0
  623. package/src/collection/index.ts +4 -0
  624. package/src/collection/lru_map.ts +143 -0
  625. package/src/collection/lru_set.ts +115 -0
  626. package/src/collection/object.ts +89 -0
  627. package/src/committable/committable.ts +46 -0
  628. package/src/committable/index.ts +1 -0
  629. package/src/config/env_var.ts +412 -0
  630. package/src/config/index.ts +419 -0
  631. package/src/config/network_config.ts +21 -0
  632. package/src/config/network_name.ts +28 -0
  633. package/src/config/parse-env.ts +4 -0
  634. package/src/config/secret_value.ts +49 -0
  635. package/src/crypto/aes128/index.ts +77 -0
  636. package/src/crypto/bls/bn254_keystore.ts +276 -0
  637. package/src/crypto/bls/index.ts +76 -0
  638. package/src/crypto/bn254/index.ts +64 -0
  639. package/src/crypto/ecdsa/index.ts +88 -0
  640. package/src/crypto/ecdsa/signature.ts +100 -0
  641. package/src/crypto/grumpkin/index.ts +90 -0
  642. package/src/crypto/keccak/index.ts +283 -0
  643. package/src/crypto/keys/index.ts +26 -0
  644. package/src/crypto/pedersen/index.ts +1 -0
  645. package/src/crypto/pedersen/pedersen.noble.ts +573 -0
  646. package/src/crypto/pedersen/pedersen.wasm.ts +52 -0
  647. package/src/crypto/poseidon/index.ts +83 -0
  648. package/src/crypto/random/index.ts +47 -0
  649. package/src/crypto/random/randomness_singleton.ts +64 -0
  650. package/src/crypto/schnorr/index.ts +61 -0
  651. package/src/crypto/schnorr/signature.ts +87 -0
  652. package/src/crypto/secp256k1/index.ts +61 -0
  653. package/src/crypto/secp256k1-signer/index.ts +2 -0
  654. package/src/crypto/secp256k1-signer/secp256k1_signer.ts +38 -0
  655. package/src/crypto/secp256k1-signer/utils.ts +244 -0
  656. package/src/crypto/sha256/index.ts +194 -0
  657. package/src/crypto/sha512/index.ts +16 -0
  658. package/src/crypto/signature/index.ts +17 -0
  659. package/src/crypto/sync/index.ts +6 -0
  660. package/src/crypto/sync/pedersen/index.ts +46 -0
  661. package/src/crypto/sync/poseidon/index.ts +72 -0
  662. package/src/curves/bls12/field.ts +456 -0
  663. package/src/curves/bls12/index.ts +2 -0
  664. package/src/curves/bls12/point.ts +450 -0
  665. package/src/curves/bn254/field.ts +531 -0
  666. package/src/curves/bn254/index.ts +2 -0
  667. package/src/curves/bn254/point.ts +170 -0
  668. package/src/curves/grumpkin/index.ts +11 -0
  669. package/src/curves/grumpkin/point.ts +300 -0
  670. package/src/decorators/index.ts +1 -0
  671. package/src/decorators/memoize.ts +11 -0
  672. package/src/error/index.ts +22 -0
  673. package/src/eth-address/index.ts +269 -0
  674. package/src/eth-signature/eth_signature.ts +155 -0
  675. package/src/eth-signature/index.ts +1 -0
  676. package/src/fifo/fifo_frame_reader.ts +113 -0
  677. package/src/fifo/index.ts +1 -0
  678. package/src/fifo_set/fifo_set.ts +52 -0
  679. package/src/fifo_set/index.ts +1 -0
  680. package/src/fs/index.ts +2 -0
  681. package/src/fs/run_in_dir.ts +33 -0
  682. package/src/fs/try_rm_dir.ts +15 -0
  683. package/src/iterable/all.ts +32 -0
  684. package/src/iterable/filter.ts +77 -0
  685. package/src/iterable/first.ts +14 -0
  686. package/src/iterable/index.ts +8 -0
  687. package/src/iterable/isAsyncIt.ts +8 -0
  688. package/src/iterable/map.ts +66 -0
  689. package/src/iterable/peek.ts +58 -0
  690. package/src/iterable/sort.ts +39 -0
  691. package/src/iterable/take.ts +54 -0
  692. package/src/iterable/toArray.ts +9 -0
  693. package/src/iterator/filter.ts +11 -0
  694. package/src/iterator/index.ts +1 -0
  695. package/src/jest/env.mjs +52 -0
  696. package/src/jest/setup.mjs +38 -0
  697. package/src/jest/setupAfterEnv.mjs +3 -0
  698. package/src/json-rpc/README.md +55 -0
  699. package/src/json-rpc/client/fetch.ts +98 -0
  700. package/src/json-rpc/client/index.ts +2 -0
  701. package/src/json-rpc/client/safe_json_rpc_client.ts +283 -0
  702. package/src/json-rpc/client/undici.ts +128 -0
  703. package/src/json-rpc/convert.ts +52 -0
  704. package/src/json-rpc/errors.ts +6 -0
  705. package/src/json-rpc/fixtures/class_a.ts +18 -0
  706. package/src/json-rpc/fixtures/class_b.ts +18 -0
  707. package/src/json-rpc/fixtures/test_state.ts +143 -0
  708. package/src/json-rpc/index.ts +2 -0
  709. package/src/json-rpc/js_utils.ts +21 -0
  710. package/src/json-rpc/server/api_key_auth.ts +63 -0
  711. package/src/json-rpc/server/index.ts +2 -0
  712. package/src/json-rpc/server/safe_json_rpc_server.ts +626 -0
  713. package/src/json-rpc/test/index.ts +1 -0
  714. package/src/json-rpc/test/integration.ts +35 -0
  715. package/src/log/aws-logger-config.ts +32 -0
  716. package/src/log/bigint-utils.ts +25 -0
  717. package/src/log/console.ts +42 -0
  718. package/src/log/gcloud-logger-config.ts +72 -0
  719. package/src/log/index.ts +6 -0
  720. package/src/log/libp2p_logger.ts +93 -0
  721. package/src/log/log-filters.ts +81 -0
  722. package/src/log/log-levels.ts +3 -0
  723. package/src/log/log_fn.ts +5 -0
  724. package/src/log/noir_debug_log_util.ts +21 -0
  725. package/src/log/pino-logger-server.ts +25 -0
  726. package/src/log/pino-logger.ts +406 -0
  727. package/src/message/index.ts +47 -0
  728. package/src/mutex/index.ts +84 -0
  729. package/src/mutex/mutex_database.ts +11 -0
  730. package/src/noir/index.ts +1 -0
  731. package/src/noir/noir_package_config.ts +66 -0
  732. package/src/number/index.ts +14 -0
  733. package/src/profiler/index.ts +1 -0
  734. package/src/profiler/profiler.ts +125 -0
  735. package/src/promise/index.ts +2 -0
  736. package/src/promise/running-promise.ts +138 -0
  737. package/src/promise/utils.ts +60 -0
  738. package/src/queue/base_memory_queue.ts +138 -0
  739. package/src/queue/batch_queue.ts +121 -0
  740. package/src/queue/bounded_serial_queue.ts +103 -0
  741. package/src/queue/fifo_memory_queue.ts +39 -0
  742. package/src/queue/index.ts +6 -0
  743. package/src/queue/priority_memory_queue.ts +20 -0
  744. package/src/queue/priority_queue.ts +34 -0
  745. package/src/queue/semaphore.ts +38 -0
  746. package/src/queue/serial_queue.ts +86 -0
  747. package/src/retry/index.ts +185 -0
  748. package/src/running-promise/index.ts +1 -0
  749. package/src/schemas/api.ts +47 -0
  750. package/src/schemas/index.ts +5 -0
  751. package/src/schemas/parse.ts +32 -0
  752. package/src/schemas/schemas.ts +93 -0
  753. package/src/schemas/types.ts +36 -0
  754. package/src/schemas/utils.ts +91 -0
  755. package/src/serialize/buffer_reader.ts +472 -0
  756. package/src/serialize/buffer_sink.ts +350 -0
  757. package/src/serialize/field_reader.ts +208 -0
  758. package/src/serialize/free_funcs.ts +198 -0
  759. package/src/serialize/index.ts +7 -0
  760. package/src/serialize/serialize.ts +320 -0
  761. package/src/serialize/type_registry.ts +75 -0
  762. package/src/serialize/types.ts +40 -0
  763. package/src/sleep/index.ts +90 -0
  764. package/src/string/index.ts +80 -0
  765. package/src/testing/files/index.ts +74 -0
  766. package/src/testing/formatting.ts +3 -0
  767. package/src/testing/index.ts +4 -0
  768. package/src/testing/port_allocator.ts +31 -0
  769. package/src/testing/snapshot_serializer.ts +33 -0
  770. package/src/testing/test_data.ts +36 -0
  771. package/src/timer/date.ts +82 -0
  772. package/src/timer/elapsed.ts +23 -0
  773. package/src/timer/index.ts +4 -0
  774. package/src/timer/timeout.ts +136 -0
  775. package/src/timer/timer.ts +48 -0
  776. package/src/transport/dispatch/create_dispatch_proxy.ts +151 -0
  777. package/src/transport/dispatch/messages.ts +58 -0
  778. package/src/transport/index.ts +9 -0
  779. package/src/transport/interface/connector.ts +8 -0
  780. package/src/transport/interface/listener.ts +15 -0
  781. package/src/transport/interface/socket.ts +14 -0
  782. package/src/transport/interface/transferable.ts +125 -0
  783. package/src/transport/node/index.ts +2 -0
  784. package/src/transport/node/node_connector.ts +30 -0
  785. package/src/transport/node/node_connector_socket.ts +52 -0
  786. package/src/transport/node/node_listener.ts +34 -0
  787. package/src/transport/node/node_listener_socket.ts +48 -0
  788. package/src/transport/transport_client.ts +130 -0
  789. package/src/transport/transport_server.ts +111 -0
  790. package/src/trees/balanced_merkle_tree_root.ts +65 -0
  791. package/src/trees/hasher.ts +51 -0
  792. package/src/trees/index.ts +12 -0
  793. package/src/trees/indexed_merkle_tree.ts +40 -0
  794. package/src/trees/indexed_merkle_tree_calculator.ts +98 -0
  795. package/src/trees/indexed_tree_leaf.ts +56 -0
  796. package/src/trees/membership_witness.ts +112 -0
  797. package/src/trees/merkle_tree.ts +75 -0
  798. package/src/trees/merkle_tree_calculator.ts +66 -0
  799. package/src/trees/sibling_path.ts +177 -0
  800. package/src/trees/unbalanced_merkle_tree_calculator.ts +176 -0
  801. package/src/trees/unbalanced_merkle_tree_root.ts +112 -0
  802. package/src/trees/unbalanced_tree_store.ts +161 -0
  803. package/src/types/index.ts +103 -0
  804. package/src/url/index.ts +72 -0
  805. package/src/validation/index.ts +18 -0
@@ -0,0 +1,347 @@
1
+ import { createColors, isColorSupported } from 'colorette';
2
+ import isNode from 'detect-node';
3
+ import { pino, symbols } from 'pino';
4
+ import { inspect } from 'util';
5
+ import { compactArray } from '../collection/array.js';
6
+ import { parseBooleanEnv } from '../config/parse-env.js';
7
+ import { AWSCloudLoggerConfig } from './aws-logger-config.js';
8
+ import { convertBigintsToStrings } from './bigint-utils.js';
9
+ import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
10
+ import { getLogLevelFromFilters, parseLogLevelEnvVar } from './log-filters.js';
11
+ const MAX_MODULE_NAME_LENGTH = 256;
12
+ const logBindingsHandlers = [];
13
+ export function addLogBindingsHandler(handler) {
14
+ logBindingsHandlers.push(handler);
15
+ }
16
+ export function removeLogBindingsHandler(handler) {
17
+ const index = logBindingsHandlers.indexOf(handler);
18
+ if (index !== -1) {
19
+ logBindingsHandlers.splice(index, 1);
20
+ }
21
+ }
22
+ function getBindingsFromHandlers() {
23
+ for (const handler of logBindingsHandlers){
24
+ const bindings = handler();
25
+ if (bindings) {
26
+ return bindings;
27
+ }
28
+ }
29
+ return undefined;
30
+ }
31
+ export function createLogger(module, bindings) {
32
+ module = module.slice(0, MAX_MODULE_NAME_LENGTH).replace(/^aztec:/, '');
33
+ const resolvedBindings = {
34
+ ...getBindingsFromHandlers(),
35
+ ...bindings
36
+ };
37
+ const actor = resolvedBindings?.actor;
38
+ const instanceId = resolvedBindings?.instanceId;
39
+ const pinoLogger = logger.child({
40
+ module,
41
+ ...actor && {
42
+ actor
43
+ },
44
+ ...instanceId && {
45
+ instanceId
46
+ }
47
+ }, {
48
+ level: getLogLevelFromFilters(logFilters, module)
49
+ });
50
+ // We check manually for isLevelEnabled to avoid calling processLogData unnecessarily.
51
+ // Note that isLevelEnabled is missing from the browser version of pino.
52
+ const logFn = (level, msg, data)=>isLevelEnabled(pinoLogger, level) && pinoLogger[level](processLogData(data ?? {}), msg);
53
+ return {
54
+ silent: ()=>{},
55
+ // TODO(palla/log): Should we move err to data instead of the text message?
56
+ /** Log as fatal. Use when an error has brought down the system. */ fatal: (msg, err, data)=>logFn('fatal', formatErr(msg, err), data),
57
+ /** Log as error. Use for errors in general. */ error: (msg, err, data)=>logFn('error', formatErr(msg, err), data),
58
+ /** Log as warn. Use for when we stray from the happy path. */ warn: (msg, data)=>logFn('warn', msg, data),
59
+ /** Log as info. Use for providing an operator with info on what the system is doing. */ info: (msg, data)=>logFn('info', msg, data),
60
+ /** Log as verbose. Use for when we need additional insight on what a subsystem is doing. */ verbose: (msg, data)=>logFn('verbose', msg, data),
61
+ /** Log as debug. Use for when we need debugging info to troubleshoot an issue on a specific component. */ debug: (msg, data)=>logFn('debug', msg, data),
62
+ /** Log as trace. Use for when we want to denial-of-service any recipient of the logs. */ trace: (msg, data)=>logFn('trace', msg, data),
63
+ /** Level of the logger */ level: pinoLogger.level,
64
+ /** Whether the given level is enabled for this logger. */ isLevelEnabled: (level)=>isLevelEnabled(pinoLogger, level),
65
+ /** Module name for the logger. */ module,
66
+ /** Creates another logger by extending this logger module name and preserving bindings. */ createChild: (childModule)=>createLogger(`${module}:${childModule}`, {
67
+ actor,
68
+ instanceId
69
+ }),
70
+ /** Returns the bindings (actor, instanceId) for this logger. */ getBindings: ()=>({
71
+ actor,
72
+ instanceId
73
+ })
74
+ };
75
+ }
76
+ /**
77
+ * Returns a logger for the given module. If loggerOrBindings is already a Logger, returns it directly.
78
+ * Otherwise, creates a new logger with the given module name and bindings.
79
+ */ export function resolveLogger(module, loggerOrBindings) {
80
+ if (loggerOrBindings && 'info' in loggerOrBindings) {
81
+ return loggerOrBindings;
82
+ }
83
+ return createLogger(module, loggerOrBindings);
84
+ }
85
+ const logDataHandlers = [];
86
+ export function addLogDataHandler(handler) {
87
+ logDataHandlers.push(handler);
88
+ }
89
+ function processLogData(data) {
90
+ return logDataHandlers.reduce((accum, handler)=>handler(accum), data);
91
+ }
92
+ // Patch isLevelEnabled missing from pino/browser.
93
+ function isLevelEnabled(logger, level) {
94
+ return typeof logger.isLevelEnabled === 'function' ? logger.isLevelEnabled(level) : logger.levels.values[level] >= logger.levels.values[logger.level];
95
+ }
96
+ // Load log levels from environment variables.
97
+ const defaultLogLevel = process.env.NODE_ENV === 'test' ? 'silent' : 'info';
98
+ export const [logLevel, logFilters] = parseLogLevelEnvVar(process.env.LOG_LEVEL, defaultLogLevel);
99
+ // Define custom logging levels for pino.
100
+ const customLevels = {
101
+ verbose: 25
102
+ };
103
+ // Global pino options, tweaked for the active cloud logging backend.
104
+ const useGcloudLogging = parseBooleanEnv(process.env['USE_GCLOUD_LOGGING']);
105
+ const useAwsLogging = parseBooleanEnv(process.env['USE_AWS_LOGGING']);
106
+ const loggingConfig = useGcloudLogging ? GoogleCloudLoggerConfig : useAwsLogging ? AWSCloudLoggerConfig : {
107
+ formatters: {},
108
+ messageKey: 'msg'
109
+ };
110
+ const redactedPaths = [
111
+ 'validatorPrivateKeys',
112
+ // for both the validator and the prover
113
+ 'publisherPrivateKeys',
114
+ 'peerIdPrivateKey',
115
+ // bot keys
116
+ 'l1PrivateKey',
117
+ 'senderPrivateKey',
118
+ // blob sink
119
+ 'l1ConsensusHostApiKeys',
120
+ // sensitive options used in the CLI
121
+ 'privateKey',
122
+ 'mnemonic',
123
+ 'l1Mnemonic',
124
+ 'l1PrivateKey'
125
+ ];
126
+ const pinoOpts = {
127
+ customLevels,
128
+ messageKey: loggingConfig.messageKey,
129
+ useOnlyCustomLevels: false,
130
+ level: logLevel,
131
+ redact: {
132
+ paths: [
133
+ ...redactedPaths,
134
+ ...redactedPaths.map((p)=>`config.${p}`),
135
+ ...redactedPaths.map((p)=>`cfg.${p}`),
136
+ ...redactedPaths.map((p)=>`options.${p}`),
137
+ ...redactedPaths.map((p)=>`opts.${p}`)
138
+ ]
139
+ },
140
+ formatters: {
141
+ log: (obj)=>convertBigintsToStrings(obj),
142
+ ...loggingConfig.formatters
143
+ }
144
+ };
145
+ export const levels = {
146
+ labels: {
147
+ ...pino.levels.labels,
148
+ ...Object.fromEntries(Object.entries(customLevels).map((e)=>e.reverse()))
149
+ },
150
+ values: {
151
+ ...pino.levels.values,
152
+ ...customLevels
153
+ }
154
+ };
155
+ // Transport options for pretty logging to stderr via pino-pretty.
156
+ const colorEnv = process.env['FORCE_COLOR'];
157
+ const useColor = colorEnv === undefined ? isColorSupported : parseBooleanEnv(colorEnv);
158
+ const { bold, reset, cyan, magenta, yellow, blue, green, magentaBright, yellowBright, blueBright, greenBright } = createColors({
159
+ useColor
160
+ });
161
+ // Per-actor coloring: each unique actor gets a different color for easier visual distinction.
162
+ // Disabled when LOG_NO_COLOR_PER_ACTOR is set to a truthy value.
163
+ const useColorPerActor = useColor && !parseBooleanEnv(process.env['LOG_NO_COLOR_PER_ACTOR']);
164
+ const actorColors = [
165
+ yellow,
166
+ magenta,
167
+ blue,
168
+ green,
169
+ magentaBright,
170
+ yellowBright,
171
+ blueBright,
172
+ greenBright
173
+ ];
174
+ const actorColorMap = new Map();
175
+ let nextColorIndex = 0;
176
+ /** Returns the color function assigned to a given actor, assigning a new one if needed. */ export function getActorColor(actor) {
177
+ let color = actorColorMap.get(actor);
178
+ if (!color) {
179
+ color = actorColors[nextColorIndex % actorColors.length];
180
+ actorColorMap.set(actor, color);
181
+ nextColorIndex++;
182
+ }
183
+ return color;
184
+ }
185
+ /** Resets the actor-to-color mapping. Useful for testing. */ export function resetActorColors() {
186
+ actorColorMap.clear();
187
+ nextColorIndex = 0;
188
+ }
189
+ // String template for messageFormat (used in worker threads and when per-actor coloring is disabled).
190
+ const messageFormatString = `${bold('{module}')}{if actor} ${cyan('{actor}')}{end}{if instanceId} ${reset(cyan('{instanceId}'))}{end} ${reset('{msg}')}`;
191
+ /** Formats a log message with per-actor coloring. Actor, module, and instanceId share the same color. */ export function formatLogMessage(log, messageKey) {
192
+ const actor = log.actor;
193
+ const module = log.module ?? '';
194
+ const instanceId = log.instanceId;
195
+ const msg = log[messageKey] ?? '';
196
+ // Use actor color for actor, module, and instanceId when actor is present
197
+ const color = actor ? getActorColor(actor) : cyan;
198
+ let result = bold(color(module));
199
+ if (actor) {
200
+ result += ' ' + color(actor);
201
+ }
202
+ if (instanceId) {
203
+ result += ' ' + reset(color(instanceId));
204
+ }
205
+ result += ' ' + reset(String(msg));
206
+ return result;
207
+ }
208
+ // Base options for pino-pretty (shared between transport and direct use).
209
+ const pinoPrettyBaseOpts = {
210
+ destination: 2,
211
+ sync: true,
212
+ colorize: useColor,
213
+ ignore: 'module,actor,instanceId,pid,hostname,trace_id,span_id,trace_flags,severity,severityText,severityNumber',
214
+ customLevels: 'fatal:60,error:50,warn:40,info:30,verbose:25,debug:20,trace:10',
215
+ customColors: 'fatal:bgRed,error:red,warn:yellow,info:green,verbose:magenta,debug:blue,trace:gray',
216
+ minimumLevel: 'trace',
217
+ singleLine: !parseBooleanEnv(process.env['LOG_MULTILINE'])
218
+ };
219
+ /**
220
+ * Pino-pretty options for direct use (e.g., jest/setup.mjs).
221
+ * Includes function-based messageFormat for per-actor coloring when enabled.
222
+ */ export const pinoPrettyOpts = {
223
+ ...pinoPrettyBaseOpts,
224
+ messageFormat: useColorPerActor ? formatLogMessage : messageFormatString
225
+ };
226
+ // Transport options use string template only (functions can't be serialized to worker threads).
227
+ const prettyTransportOpts = {
228
+ ...pinoPrettyBaseOpts,
229
+ messageFormat: messageFormatString
230
+ };
231
+ const prettyTransport = {
232
+ target: 'pino-pretty',
233
+ options: prettyTransportOpts,
234
+ level: 'trace'
235
+ };
236
+ // Transport for vanilla stdio logging as JSON.
237
+ const stdioTransport = {
238
+ target: 'pino/file',
239
+ options: {
240
+ destination: 2
241
+ },
242
+ level: 'trace'
243
+ };
244
+ // Transport for OpenTelemetry logging. While defining this here is an abstraction leakage since this
245
+ // should live in the telemetry-client, it is necessary to ensure that the logger is initialized with
246
+ // the correct transport. Tweaking transports of a live pino instance is tricky, and creating a new instance
247
+ // would mean that all child loggers created before the telemetry-client is initialized would not have
248
+ // this transport configured. Note that the target is defined as the export in the telemetry-client,
249
+ // since pino will load this transport separately on a worker thread, to minimize disruption to the main loop.
250
+ const otlpEndpoint = process.env['OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'];
251
+ const otlpEnabled = !!otlpEndpoint && !useGcloudLogging;
252
+ const otelOpts = {
253
+ levels
254
+ };
255
+ const otelTransport = {
256
+ target: '@aztec-labs/telemetry-client/otel-pino-stream',
257
+ options: otelOpts,
258
+ level: 'trace'
259
+ };
260
+ function makeLogger() {
261
+ if (!isNode) {
262
+ // We are on the browser.
263
+ return pino({
264
+ ...pinoOpts,
265
+ browser: {
266
+ asObject: false
267
+ }
268
+ });
269
+ } else if (process.env.JEST_WORKER_ID) {
270
+ // We are on jest, so we need sync logging and stream to stderr.
271
+ // We expect jest/setup.mjs to kick in later and replace set up a pretty logger,
272
+ // but if for some reason it doesn't, at least we're covered with a default logger.
273
+ return pino(pinoOpts, pino.destination(2));
274
+ } else {
275
+ // Regular nodejs with transports on worker thread, using pino-pretty for console logging if LOG_JSON
276
+ // is not set, and an optional OTLP transport if the OTLP endpoint is set.
277
+ const targets = compactArray([
278
+ parseBooleanEnv(process.env.LOG_JSON) ? stdioTransport : prettyTransport,
279
+ otlpEnabled ? otelTransport : undefined
280
+ ]);
281
+ return pino(pinoOpts, pino.transport({
282
+ targets,
283
+ levels: levels.values
284
+ }));
285
+ }
286
+ }
287
+ export const logger = makeLogger();
288
+ // Log the logger configuration.
289
+ logger.verbose({
290
+ module: 'logger',
291
+ ...logFilters.reduce((accum, [module, level])=>({
292
+ ...accum,
293
+ [`log.${module}`]: level
294
+ }), {})
295
+ }, isNode ? `Logger initialized with level ${logLevel}` + (otlpEnabled ? ` with OTLP exporter to ${otlpEndpoint}` : '') : `Browser console logger initialized with level ${logLevel}`);
296
+ /**
297
+ * Overwrites the logging stream with a different destination.
298
+ * Used by jest/setup.mjs to set up a pretty logger.
299
+ */ export function overwriteLoggingStream(stream) {
300
+ logger[symbols.streamSym] = stream;
301
+ }
302
+ /**
303
+ * Registers an additional destination to the pino logger.
304
+ * Use only when working with destinations, not worker transports.
305
+ */ export function registerLoggingStream(stream) {
306
+ logger.verbose({
307
+ module: 'logger'
308
+ }, `Registering additional logging stream`);
309
+ const original = logger[symbols.streamSym];
310
+ const destination = original ? pino.multistream([
311
+ // Set streams to lowest logging level, and control actual logging from the parent logger
312
+ // otherwise streams default to info and refuse to log anything below that.
313
+ {
314
+ level: 'trace',
315
+ stream: original
316
+ },
317
+ {
318
+ level: 'trace',
319
+ stream
320
+ }
321
+ ], {
322
+ levels: levels.values
323
+ }) : stream;
324
+ logger[symbols.streamSym] = destination;
325
+ }
326
+ /**
327
+ * Concatenates a log message and an exception.
328
+ * @param msg - Log message
329
+ * @param err - Error to log
330
+ * @returns A string with both the log message and the error message.
331
+ */ function formatErr(msg, err) {
332
+ if (!err) {
333
+ return msg;
334
+ }
335
+ try {
336
+ return `${msg}: ${inspect(err)}`;
337
+ } catch {
338
+ // inspect can crash on error objects with broken property descriptors
339
+ try {
340
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
341
+ return `${msg}: ${err instanceof Error ? `${err.name}: ${err.message}` : String(err)}`;
342
+ } catch {
343
+ // if even String(err) fails, return the original message with a note about the error
344
+ return `${msg}: [unserializable error]`;
345
+ }
346
+ }
347
+ }
@@ -0,0 +1,32 @@
1
+ export type MessageHeaderInit = {
2
+ /** The message ID. Optional, if not set defaults to 0 */
3
+ messageId?: number;
4
+ /** Identifies the original request. Optional */
5
+ requestId?: number;
6
+ };
7
+ export declare class MessageHeader {
8
+ /** An number to identify this message */
9
+ readonly messageId: number;
10
+ /** If this message is a response to a request, the messageId of the request */
11
+ readonly requestId: number;
12
+ constructor({ messageId, requestId }: MessageHeaderInit);
13
+ static fromMessagePack(data: object): MessageHeader;
14
+ }
15
+ interface TypedMessageLike {
16
+ msgType: number;
17
+ header: {
18
+ messageId?: number;
19
+ requestId?: number;
20
+ };
21
+ value: any;
22
+ }
23
+ export declare class TypedMessage<T, B> {
24
+ readonly msgType: T;
25
+ readonly header: MessageHeader;
26
+ readonly value: B;
27
+ constructor(msgType: T, header: MessageHeader, value: B);
28
+ static fromMessagePack<T, B>(data: TypedMessageLike): TypedMessage<T, B>;
29
+ static isTypedMessageLike(obj: any): obj is TypedMessageLike;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXNzYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sTUFBTSxpQkFBaUIsR0FBRztJQUM5Qix5REFBeUQ7SUFDekQsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGdEQUFnRDtJQUNoRCxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDcEIsQ0FBQztBQUVGLHFCQUFhLGFBQWE7SUFDeEIseUNBQXlDO0lBQ3pDLFNBQWdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEMsK0VBQStFO0lBQy9FLFNBQWdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFFbEMsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxpQkFBaUIsRUFHdEQ7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsYUFBYSxDQUVsRDtDQUNGO0FBRUQsVUFBVSxnQkFBZ0I7SUFDeEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixNQUFNLEVBQUU7UUFDTixTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsU0FBUyxDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQ3BCLENBQUM7SUFDRixLQUFLLEVBQUUsR0FBRyxDQUFDO0NBQ1o7QUFFRCxxQkFBYSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFFVixPQUFPLEVBQUUsQ0FBQzthQUNWLE1BQU0sRUFBRSxhQUFhO2FBQ3JCLEtBQUssRUFBRSxDQUFDO0lBSDFCLFlBQ2tCLE9BQU8sRUFBRSxDQUFDLEVBQ1YsTUFBTSxFQUFFLGFBQWEsRUFDckIsS0FBSyxFQUFFLENBQUMsRUFDdEI7SUFFSixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBRXZFO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLGdCQUFnQixDQUUzRDtDQUNGIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/message/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,aAAa;IACxB,yCAAyC;IACzC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,+EAA+E;IAC/E,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAGtD;IAED,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAElD;CACF;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE;QACN,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC;aAEV,OAAO,EAAE,CAAC;aACV,MAAM,EAAE,aAAa;aACrB,KAAK,EAAE,CAAC;IAH1B,YACkB,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,CAAC,EACtB;IAEJ,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAEvE;IAED,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,gBAAgB,CAE3D;CACF"}
@@ -0,0 +1,27 @@
1
+ export class MessageHeader {
2
+ /** An number to identify this message */ messageId;
3
+ /** If this message is a response to a request, the messageId of the request */ requestId;
4
+ constructor({ messageId, requestId }){
5
+ this.messageId = messageId ?? 0;
6
+ this.requestId = requestId ?? 0;
7
+ }
8
+ static fromMessagePack(data) {
9
+ return new MessageHeader(data);
10
+ }
11
+ }
12
+ export class TypedMessage {
13
+ msgType;
14
+ header;
15
+ value;
16
+ constructor(msgType, header, value){
17
+ this.msgType = msgType;
18
+ this.header = header;
19
+ this.value = value;
20
+ }
21
+ static fromMessagePack(data) {
22
+ return new TypedMessage(data['msgType'], MessageHeader.fromMessagePack(data['header']), data['value']);
23
+ }
24
+ static isTypedMessageLike(obj) {
25
+ return typeof obj === 'object' && obj !== null && 'msgType' in obj && 'header' in obj && 'value' in obj;
26
+ }
27
+ }
@@ -0,0 +1,53 @@
1
+ import type { MutexDatabase } from './mutex_database.js';
2
+ export * from './mutex_database.js';
3
+ /**
4
+ * Mutex class provides a mutual exclusion mechanism for critical sections of code using a named lock.
5
+ * The lock is acquired and released via the `lock` and `unlock` methods. Locks can be optionally pinged
6
+ * to keep them alive when they are held for longer durations, avoiding unintended release due to timeouts.
7
+ *
8
+ * The underlying lock state is managed in a MutexDatabase instance which can be shared across multiple Mutex instances.
9
+ * This allows for synchronization between different parts of an application or even across different instances of an application.
10
+ *
11
+ * @example
12
+ * const mutex = new Mutex(mutexDatabase, 'myLock');
13
+ * await mutex.lock();
14
+ * // Critical section here
15
+ * await mutex.unlock();
16
+ */
17
+ export declare class Mutex {
18
+ private readonly db;
19
+ private readonly name;
20
+ private readonly timeout;
21
+ private readonly tryLockInterval;
22
+ private readonly pingInterval;
23
+ private id;
24
+ private pingTimeout;
25
+ constructor(db: MutexDatabase, name: string, timeout?: number, tryLockInterval?: number, pingInterval?: number);
26
+ /**
27
+ * Acquire a lock on the mutex. If 'untilAcquired' is true, the method will keep trying to acquire the lock until it
28
+ * successfully acquires it. If 'untilAcquired' is false, the method will try to acquire the lock once and return
29
+ * immediately with a boolean indicating if the lock has been acquired or not.
30
+ *
31
+ * @param untilAcquired - Optional parameter, set to true by default. If true, the method will keep trying to acquire the lock until success. If false, the method will try only once and return a boolean value.
32
+ * @returns A Promise that resolves to true if the lock has been acquired, or false when 'untilAcquired' is false and the lock could not be immediately acquired.
33
+ */
34
+ lock(untilAcquired?: boolean): Promise<boolean>;
35
+ /**
36
+ * Unlocks the mutex, allowing other instances to acquire the lock.
37
+ * This method also clears the internal ping timeout and increments the internal ID
38
+ * to ensure stale pings do not extend the lock after it has been released.
39
+ *
40
+ * @returns A promise that resolves once the lock has been released in the database.
41
+ */
42
+ unlock(): Promise<void>;
43
+ /**
44
+ * Periodically extends the lock's lifetime by updating the database record with a new expiration time.
45
+ * This method is called recursively using setTimeout. If the id passed to the ping method does not match
46
+ * the current lock instance's id, it means the lock has been released or acquired by another instance
47
+ * and the ping should not proceed further.
48
+ *
49
+ * @param id - The id of the current lock instance.
50
+ */
51
+ private ping;
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tdXRleC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RCxjQUFjLHFCQUFxQixDQUFDO0FBRXBDOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxxQkFBYSxLQUFLO0lBS2QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO0lBQ25CLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTtJQUNyQixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDeEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlO0lBQ2hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWTtJQVIvQixPQUFPLENBQUMsRUFBRSxDQUFLO0lBQ2YsT0FBTyxDQUFDLFdBQVcsQ0FBa0I7SUFFckMsWUFDbUIsRUFBRSxFQUFFLGFBQWEsRUFDakIsSUFBSSxFQUFFLE1BQU0sRUFDWixPQUFPLFNBQU8sRUFDZCxlQUFlLFNBQU8sRUFDdEIsWUFBWSxTQUFPLEVBQ2xDO0lBRUo7Ozs7Ozs7T0FPRztJQUNVLElBQUksQ0FBQyxhQUFhLFVBQU8sb0JBYXJDO0lBRUQ7Ozs7OztPQU1HO0lBQ1UsTUFBTSxrQkFJbEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsT0FBTyxDQUFDLElBQUk7Q0FTYiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutex/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,cAAc,qBAAqB,CAAC;AAEpC;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;IAKd,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAR/B,OAAO,CAAC,EAAE,CAAK;IACf,OAAO,CAAC,WAAW,CAAkB;IAErC,YACmB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,SAAO,EACd,eAAe,SAAO,EACtB,YAAY,SAAO,EAClC;IAEJ;;;;;;;OAOG;IACU,IAAI,CAAC,aAAa,UAAO,oBAarC;IAED;;;;;;OAMG;IACU,MAAM,kBAIlB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI;CASb"}
@@ -0,0 +1,78 @@
1
+ export * from './mutex_database.js';
2
+ /**
3
+ * Mutex class provides a mutual exclusion mechanism for critical sections of code using a named lock.
4
+ * The lock is acquired and released via the `lock` and `unlock` methods. Locks can be optionally pinged
5
+ * to keep them alive when they are held for longer durations, avoiding unintended release due to timeouts.
6
+ *
7
+ * The underlying lock state is managed in a MutexDatabase instance which can be shared across multiple Mutex instances.
8
+ * This allows for synchronization between different parts of an application or even across different instances of an application.
9
+ *
10
+ * @example
11
+ * const mutex = new Mutex(mutexDatabase, 'myLock');
12
+ * await mutex.lock();
13
+ * // Critical section here
14
+ * await mutex.unlock();
15
+ */ export class Mutex {
16
+ db;
17
+ name;
18
+ timeout;
19
+ tryLockInterval;
20
+ pingInterval;
21
+ id;
22
+ pingTimeout;
23
+ constructor(db, name, timeout = 5000, tryLockInterval = 2000, pingInterval = 2000){
24
+ this.db = db;
25
+ this.name = name;
26
+ this.timeout = timeout;
27
+ this.tryLockInterval = tryLockInterval;
28
+ this.pingInterval = pingInterval;
29
+ this.id = 0;
30
+ }
31
+ /**
32
+ * Acquire a lock on the mutex. If 'untilAcquired' is true, the method will keep trying to acquire the lock until it
33
+ * successfully acquires it. If 'untilAcquired' is false, the method will try to acquire the lock once and return
34
+ * immediately with a boolean indicating if the lock has been acquired or not.
35
+ *
36
+ * @param untilAcquired - Optional parameter, set to true by default. If true, the method will keep trying to acquire the lock until success. If false, the method will try only once and return a boolean value.
37
+ * @returns A Promise that resolves to true if the lock has been acquired, or false when 'untilAcquired' is false and the lock could not be immediately acquired.
38
+ */ async lock(untilAcquired = true) {
39
+ while(true){
40
+ if (await this.db.acquireLock(this.name, this.timeout)) {
41
+ const id = this.id;
42
+ this.pingTimeout = setTimeout(()=>this.ping(id), this.pingInterval);
43
+ return true;
44
+ }
45
+ if (!untilAcquired) {
46
+ return false;
47
+ }
48
+ await new Promise((resolve)=>setTimeout(resolve, this.tryLockInterval));
49
+ }
50
+ }
51
+ /**
52
+ * Unlocks the mutex, allowing other instances to acquire the lock.
53
+ * This method also clears the internal ping timeout and increments the internal ID
54
+ * to ensure stale pings do not extend the lock after it has been released.
55
+ *
56
+ * @returns A promise that resolves once the lock has been released in the database.
57
+ */ async unlock() {
58
+ clearTimeout(this.pingTimeout);
59
+ this.id++;
60
+ await this.db.releaseLock(this.name);
61
+ }
62
+ /**
63
+ * Periodically extends the lock's lifetime by updating the database record with a new expiration time.
64
+ * This method is called recursively using setTimeout. If the id passed to the ping method does not match
65
+ * the current lock instance's id, it means the lock has been released or acquired by another instance
66
+ * and the ping should not proceed further.
67
+ *
68
+ * @param id - The id of the current lock instance.
69
+ */ ping(id) {
70
+ if (id !== this.id) {
71
+ return;
72
+ }
73
+ void (async ()=>{
74
+ await this.db.extendLock(this.name, this.timeout);
75
+ this.pingTimeout = setTimeout(()=>this.ping(id), this.pingInterval);
76
+ })();
77
+ }
78
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Represents a mutual exclusion (mutex) database interface.
3
+ * Provides functionality for acquiring, extending, and releasing locks on resources to ensure exclusive access and prevent conflicts in concurrent applications.
4
+ */
5
+ export interface MutexDatabase {
6
+ acquireLock(name: string, timeout: number): Promise<boolean>;
7
+ extendLock(name: string, timeout: number): Promise<void>;
8
+ releaseLock(name: string): Promise<void>;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0ZXhfZGF0YWJhc2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tdXRleC9tdXRleF9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsYUFBYTtJQUM1QixXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU3RCxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV6RCxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDMUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutex_database.d.ts","sourceRoot":"","sources":["../../src/mutex/mutex_database.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7D,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Represents a mutual exclusion (mutex) database interface.
3
+ * Provides functionality for acquiring, extending, and releasing locks on resources to ensure exclusive access and prevent conflicts in concurrent applications.
4
+ */ export { };
@@ -0,0 +1,2 @@
1
+ export * from './noir_package_config.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './noir_package_config.js';
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ declare const noirGitDependencySchema: z.ZodObject<{
3
+ git: z.ZodString;
4
+ tag: z.ZodString;
5
+ directory: z.ZodOptional<z.ZodString>;
6
+ }, z.core.$strip>;
7
+ declare const noirLocalDependencySchema: z.ZodObject<{
8
+ path: z.ZodString;
9
+ }, z.core.$strip>;
10
+ /**
11
+ * A remote package dependency.
12
+ */
13
+ export type NoirGitDependencyConfig = z.infer<typeof noirGitDependencySchema>;
14
+ /**
15
+ * A local package dependency.
16
+ */
17
+ export type NoirLocalDependencyConfig = z.infer<typeof noirLocalDependencySchema>;
18
+ /**
19
+ * A package dependency.
20
+ */
21
+ export type NoirDependencyConfig = NoirGitDependencyConfig | NoirLocalDependencyConfig;
22
+ /**
23
+ * Noir package configuration.
24
+ */
25
+ export type NoirPackageConfig = {
26
+ package: {
27
+ name: string;
28
+ type: 'lib' | 'contract' | 'bin';
29
+ entry?: string | undefined;
30
+ description?: string | undefined;
31
+ authors?: string[] | undefined;
32
+ compiler_version?: string | undefined;
33
+ backend?: string | undefined;
34
+ license?: string | undefined;
35
+ };
36
+ dependencies: Record<string, NoirDependencyConfig>;
37
+ };
38
+ /**
39
+ * Checks that an object is a package configuration.
40
+ * @param config - Config to check
41
+ */
42
+ export declare function parseNoirPackageConfig(config: any): NoirPackageConfig;
43
+ export {};
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pcl9wYWNrYWdlX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vaXIvbm9pcl9wYWNrYWdlX2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLFFBQUEsTUFBTSx1QkFBdUI7Ozs7aUJBSTNCLENBQUM7QUFFSCxRQUFBLE1BQU0seUJBQXlCOztpQkFFN0IsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx1QkFBdUIsQ0FBQyxDQUFDO0FBRTlFOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyx5QkFBeUIsQ0FBQyxDQUFDO0FBRWxGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHLHVCQUF1QixHQUFHLHlCQUF5QixDQUFDO0FBRXZGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsS0FBSyxHQUFHLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDakMsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMzQixXQUFXLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUMvQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDdEMsT0FBTyxDQUFDLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUM3QixPQUFPLENBQUMsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0tBQzlCLENBQUM7SUFDRixZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQ3BELENBQUM7QUFpQkY7OztHQUdHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsaUJBQWlCLENBRXJFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"noir_package_config.d.ts","sourceRoot":"","sources":["../../src/noir/noir_package_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,uBAAuB;;;;iBAI3B,CAAC;AAEH,QAAA,MAAM,yBAAyB;;iBAE7B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,yBAAyB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACpD,CAAC;AAiBF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,GAAG,GAAG,iBAAiB,CAErE"}