@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,302 @@
1
+ /**
2
+ * Pads an array to the target length by appending an element to its end. Throws if target length exceeds the input array length. Does not modify the input array.
3
+ * @param arr - Array with elements to pad.
4
+ * @param elem - Element to use for padding.
5
+ * @param length - Target length.
6
+ * @param errorMsg - Error message to throw if target length exceeds the input array length.
7
+ * @returns A new padded array.
8
+ */ export function padArrayEnd(arr, elem, length, errorMsg = 'Array size exceeds target length') {
9
+ if (arr.length > length) {
10
+ throw new Error(errorMsg);
11
+ }
12
+ // Since typescript cannot always deduce that something is a tuple, we cast
13
+ return [
14
+ ...arr,
15
+ ...Array(length - arr.length).fill(elem)
16
+ ];
17
+ }
18
+ /** Removes the right-padding for an array. Does not modify original array. */ export function removeArrayPaddingEnd(arr, isEmpty) {
19
+ const lastNonEmptyIndex = arr.reduce((last, item, i)=>isEmpty(item) ? last : i, -1);
20
+ return lastNonEmptyIndex === -1 ? [] : arr.slice(0, lastNonEmptyIndex + 1);
21
+ }
22
+ /**
23
+ * Pads an array to the target length by prepending elements at the beginning. Throws if target length exceeds the input array length. Does not modify the input array.
24
+ * @param arr - Array with elements to pad.
25
+ * @param elem - Element to use for padding.
26
+ * @param length - Target length.
27
+ * @returns A new padded array.
28
+ */ export function padArrayStart(arr, elem, length) {
29
+ if (arr.length > length) {
30
+ throw new Error(`Array size exceeds target length`);
31
+ }
32
+ // Since typescript cannot always deduce that something is a tuple, we cast
33
+ return [
34
+ ...Array(length - arr.length).fill(elem),
35
+ ...arr
36
+ ];
37
+ }
38
+ /**
39
+ * Returns if an array is composed of empty items.
40
+ * @param arr - Array to check.
41
+ * @returns True if every item in the array isEmpty.
42
+ */ export function isArrayEmpty(arr, isEmpty) {
43
+ for (const item of arr){
44
+ if (!isEmpty(item)) {
45
+ return false;
46
+ }
47
+ }
48
+ return true;
49
+ }
50
+ /**
51
+ * Returns the number of non-empty items in an array.
52
+ * @param arr - Array to check.
53
+ * @returns Number of non-empty items in an array.
54
+ */ export function arrayNonEmptyLength(arr, isEmpty) {
55
+ return arr.reduce((sum, item)=>isEmpty(item) ? sum : sum + 1, 0);
56
+ }
57
+ /**
58
+ * Executes the given function n times and returns the results in an array.
59
+ * @param n - How many times to repeat.
60
+ * @param fn - Mapper from index to value.
61
+ * @returns The array with the result from all executions.
62
+ */ export function times(n, fn) {
63
+ return [
64
+ ...Array(n).keys()
65
+ ].map((i)=>fn(i));
66
+ }
67
+ /**
68
+ * Executes the given async function n times and returns the results in an array. Awaits each execution before starting the next one.
69
+ * @param n - How many times to repeat.
70
+ * @param fn - Mapper from index to value.
71
+ * @returns The array with the result from all executions.
72
+ */ export async function timesAsync(n, fn) {
73
+ const results = [];
74
+ for(let i = 0; i < n; i++){
75
+ results.push(await fn(i));
76
+ }
77
+ return results;
78
+ }
79
+ /**
80
+ * Filters an array with an async predicate. Fires all predicate promises in parallel.
81
+ * @param arr - The array to filter.
82
+ * @param fn - The async function to determine if an item should be included.
83
+ * @returns A promise that resolves to the filtered array.
84
+ */ export async function filterAsync(arr, fn) {
85
+ const results = await Promise.all(arr.map(fn));
86
+ return arr.filter((_, i)=>results[i]);
87
+ }
88
+ /**
89
+ * Executes the given async function n times in parallel and returns the results in an array.
90
+ * @param n - How many times to repeat.
91
+ * @param fn - Mapper from index to value.
92
+ * @returns The array with the result from all executions.
93
+ */ export async function timesParallel(n, fn) {
94
+ const results = await Promise.all(Array(n).fill(0).map((_, i)=>fn(i)));
95
+ return results;
96
+ }
97
+ /**
98
+ * Returns the serialized size of all non-empty items in an array.
99
+ * @param arr - Array
100
+ * @returns The serialized size in bytes.
101
+ */ export function arraySerializedSizeOfNonEmpty(arr) {
102
+ return arr.filter((x)=>x && ('isZero' in x ? !x.isZero() : !x.isEmpty())).map((x)=>x.toBuffer().length).reduce((a, b)=>a + b, 0);
103
+ }
104
+ /**
105
+ * Removes duplicates from the given array.
106
+ * @param arr - The array.
107
+ * @returns A new array.
108
+ */ export function unique(arr) {
109
+ return [
110
+ ...new Set(arr)
111
+ ];
112
+ }
113
+ /**
114
+ * Removes duplicates from the given array using a key function. The first occurrence of each key is kept.
115
+ * @param arr - The array.
116
+ * @param keyFn - A function that returns a primitive key for each element. Elements with the same key are
117
+ * considered duplicates.
118
+ * @returns A new array.
119
+ */ export function uniqueBy(arr, keyFn) {
120
+ const seen = new Set();
121
+ const result = [];
122
+ for (const item of arr){
123
+ const key = keyFn(item);
124
+ if (!seen.has(key)) {
125
+ seen.add(key);
126
+ result.push(item);
127
+ }
128
+ }
129
+ return result;
130
+ }
131
+ /**
132
+ * Removes all undefined elements from the array.
133
+ * @param arr - The array.
134
+ * @returns A new array.
135
+ */ export function compactArray(arr) {
136
+ return arr.filter((x)=>x !== undefined);
137
+ }
138
+ /**
139
+ * Returns whether two arrays are equal. The arrays are equal if they have the same length and all elements are equal.
140
+ */ export function areArraysEqual(a, b, eq = (a, b)=>a === b) {
141
+ if (a.length !== b.length) {
142
+ return false;
143
+ }
144
+ for(let i = 0; i < a.length; i++){
145
+ if (!eq(a[i], b[i])) {
146
+ return false;
147
+ }
148
+ }
149
+ return true;
150
+ }
151
+ /**
152
+ * Returns the element of the array that has the maximum value of the given function.
153
+ * In case of a tie, returns the first element with the maximum value.
154
+ * @param arr - The array.
155
+ * @param fn - The function to get the value to compare.
156
+ */ export function maxBy(arr, fn) {
157
+ return arr.reduce((max, x)=>fn(x) > fn(max) ? x : max, arr[0]);
158
+ }
159
+ /** Computes the sum of a numeric array. */ export function sum(arr) {
160
+ return arr.reduce((a, b)=>a + b, 0);
161
+ }
162
+ export function median(arr) {
163
+ if (arr.length === 0) {
164
+ return undefined;
165
+ }
166
+ // Handle number array
167
+ if (typeof arr[0] === 'number') {
168
+ const sorted = [
169
+ ...arr
170
+ ].sort((a, b)=>a - b);
171
+ const mid = Math.floor(sorted.length / 2);
172
+ return sorted.length % 2 !== 0 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2;
173
+ }
174
+ // Handle bigint array
175
+ const sorted = [
176
+ ...arr
177
+ ].sort((a, b)=>a < b ? -1 : a > b ? 1 : 0);
178
+ const mid = Math.floor(sorted.length / 2);
179
+ return sorted.length % 2 !== 0 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2n;
180
+ }
181
+ /** Computes the mean of a numeric array. Returns undefined if the array is empty. */ export function mean(values) {
182
+ if (values.length === 0) {
183
+ return undefined;
184
+ }
185
+ return values.reduce((a, b)=>a + b, 0) / values.length;
186
+ }
187
+ /** Computes the variance of a numeric array. Returns undefined if there are less than 2 points. */ export function variance(values) {
188
+ if (values.length < 2) {
189
+ return undefined;
190
+ }
191
+ const avg = mean(values);
192
+ const points = values.map((value)=>value * value + avg * avg - 2 * value * avg);
193
+ return sum(points) / (values.length - 1);
194
+ }
195
+ /** Computes the standard deviation of a numeric array. Returns undefined if there are less than 2 points. */ export function stdDev(values) {
196
+ if (values.length < 2) {
197
+ return undefined;
198
+ }
199
+ return Math.sqrt(variance(values));
200
+ }
201
+ /** Counts how many items from the beginning of the array match the given predicate. */ export function countWhile(collection, predicate) {
202
+ let count = 0;
203
+ for (const item of collection){
204
+ if (predicate(item)) {
205
+ count++;
206
+ } else {
207
+ break;
208
+ }
209
+ }
210
+ return count;
211
+ }
212
+ /** Splits the given iterable into chunks of the given size. Last chunk may be of smaller than the requested size. */ export function chunk(items, chunkSize) {
213
+ if (chunkSize <= 0) {
214
+ throw new Error('Chunk size must be greater than 0');
215
+ }
216
+ const chunks = [];
217
+ for(let i = 0; i < items.length; i += chunkSize){
218
+ chunks.push(items.slice(i, i + chunkSize));
219
+ }
220
+ return chunks;
221
+ }
222
+ /**
223
+ * Splits the given array into chunks of the given size, wrapping around to the beginning
224
+ * if the last chunk would be smaller than the requested size.
225
+ * Returns empty array for empty input. Returns single chunk with all items if chunkSize <= 0.
226
+ */ export function chunkWrapAround(items, chunkSize) {
227
+ if (items.length === 0) {
228
+ return [];
229
+ }
230
+ if (chunkSize <= 0 || items.length <= chunkSize) {
231
+ return [
232
+ items
233
+ ];
234
+ }
235
+ const remainder = items.length % chunkSize;
236
+ if (remainder === 0) {
237
+ return chunk(items, chunkSize);
238
+ }
239
+ const wrapAroundCount = chunkSize - remainder;
240
+ const wrappedItems = [
241
+ ...items,
242
+ ...items.slice(0, wrapAroundCount)
243
+ ];
244
+ return chunk(wrappedItems, chunkSize);
245
+ }
246
+ const UNINITIALIZED = Symbol('uninitialized');
247
+ /**
248
+ * Splits the given iterable into chunks based on the key returned by the given function.
249
+ * Items must be contiguous to be included in the same chunk.
250
+ */ export function chunkBy(items, fn) {
251
+ const chunks = [];
252
+ let currentChunk = [];
253
+ let currentKey = UNINITIALIZED;
254
+ for (const item of items){
255
+ const key = fn(item);
256
+ if (currentKey === UNINITIALIZED || key !== currentKey) {
257
+ if (currentChunk.length > 0) {
258
+ chunks.push(currentChunk);
259
+ }
260
+ currentChunk = [
261
+ item
262
+ ];
263
+ currentKey = key;
264
+ } else {
265
+ currentChunk.push(item);
266
+ }
267
+ }
268
+ if (currentChunk.length > 0) {
269
+ chunks.push(currentChunk);
270
+ }
271
+ return chunks;
272
+ }
273
+ /** Partitions the given iterable into two arrays based on the predicate. */ export function partition(items, predicate) {
274
+ const pass = [];
275
+ const fail = [];
276
+ for (const item of items){
277
+ if (predicate(item)) {
278
+ pass.push(item);
279
+ } else {
280
+ fail.push(item);
281
+ }
282
+ }
283
+ return [
284
+ pass,
285
+ fail
286
+ ];
287
+ }
288
+ /** Partitions the given iterable into two arrays based on the predicate. */ export async function partitionAsync(items, predicate) {
289
+ const pass = [];
290
+ const fail = [];
291
+ for (const item of items){
292
+ if (await predicate(item)) {
293
+ pass.push(item);
294
+ } else {
295
+ fail.push(item);
296
+ }
297
+ }
298
+ return [
299
+ pass,
300
+ fail
301
+ ];
302
+ }
@@ -0,0 +1,5 @@
1
+ export * from './array.js';
2
+ export * from './lru_map.js';
3
+ export * from './lru_set.js';
4
+ export * from './object.js';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb2xsZWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collection/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './array.js';
2
+ export * from './lru_map.js';
3
+ export * from './lru_set.js';
4
+ export * from './object.js';
@@ -0,0 +1,41 @@
1
+ /**
2
+ * A bounded key-value map with Least Recently Used (LRU) eviction.
3
+ * Both {@link get} and {@link set} count as an access and refresh the entry's
4
+ * recency, so entries that are actively used stay in the map longest.
5
+ *
6
+ * Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
7
+ * Head = least recent, tail = most recent.
8
+ */
9
+ export declare class LruMap<K, V> {
10
+ private readonly maxSize;
11
+ /** Map from key to its linked-list node for O(1) lookup. */
12
+ private readonly map;
13
+ private head;
14
+ private tail;
15
+ constructor(maxSize: number);
16
+ /** Number of entries in the map. */
17
+ get size(): number;
18
+ /** Returns true if the key is present, without refreshing its recency. */
19
+ has(key: K): boolean;
20
+ /**
21
+ * Returns the value for the key, or undefined if absent.
22
+ * Refreshes the entry's recency so it becomes the most recently used.
23
+ */
24
+ get(key: K): V | undefined;
25
+ /**
26
+ * Stores a value for the key, refreshing its recency. If the key already exists, overwrites the value.
27
+ * If the map is at capacity, evicts the least recently used entry.
28
+ */
29
+ set(key: K, value: V): void;
30
+ /** Removes the entry for the key, returning true if it was present. */
31
+ delete(key: K): boolean;
32
+ /** Removes all entries from the map. */
33
+ clear(): void;
34
+ /** Unlinks a node from its current position and relinks it at the tail. */
35
+ private moveToTail;
36
+ /** Detaches a node from the linked list, fixing up its neighbours and the head/tail pointers. */
37
+ private unlink;
38
+ /** Evicts the head (least recently used) node. */
39
+ private evictHead;
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHJ1X21hcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbGxlY3Rpb24vbHJ1X21hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTs7Ozs7OztHQU9HO0FBQ0gscUJBQWEsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBTVYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPO0lBTHBDLDREQUE0RDtJQUM1RCxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBK0I7SUFDbkQsT0FBTyxDQUFDLElBQUksQ0FBNEI7SUFDeEMsT0FBTyxDQUFDLElBQUksQ0FBNEI7SUFFeEMsWUFBNkIsT0FBTyxFQUFFLE1BQU0sRUFJM0M7SUFFRCxvQ0FBb0M7SUFDcEMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUVqQjtJQUVELDBFQUEwRTtJQUMxRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxPQUFPLENBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FPekI7SUFFRDs7O09BR0c7SUFDSCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FvQjFCO0lBRUQsdUVBQXVFO0lBQ3ZFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FRdEI7SUFFRCx3Q0FBd0M7SUFDeEMsS0FBSyxJQUFJLElBQUksQ0FJWjtJQUVELDJFQUEyRTtJQUMzRSxPQUFPLENBQUMsVUFBVTtJQWdCbEIsaUdBQWlHO0lBQ2pHLE9BQU8sQ0FBQyxNQUFNO0lBZWQsa0RBQWtEO0lBQ2xELE9BQU8sQ0FBQyxTQUFTO0NBYWxCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru_map.d.ts","sourceRoot":"","sources":["../../src/collection/lru_map.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;IAMV,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA+B;IACnD,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,IAAI,CAA4B;IAExC,YAA6B,OAAO,EAAE,MAAM,EAI3C;IAED,oCAAoC;IACpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,0EAA0E;IAC1E,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAEnB;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAOzB;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAoB1B;IAED,uEAAuE;IACvE,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAQtB;IAED,wCAAwC;IACxC,KAAK,IAAI,IAAI,CAIZ;IAED,2EAA2E;IAC3E,OAAO,CAAC,UAAU;IAgBlB,iGAAiG;IACjG,OAAO,CAAC,MAAM;IAed,kDAAkD;IAClD,OAAO,CAAC,SAAS;CAalB"}
@@ -0,0 +1,119 @@
1
+ /** Node in a doubly-linked list used by {@link LruMap}. */ /**
2
+ * A bounded key-value map with Least Recently Used (LRU) eviction.
3
+ * Both {@link get} and {@link set} count as an access and refresh the entry's
4
+ * recency, so entries that are actively used stay in the map longest.
5
+ *
6
+ * Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
7
+ * Head = least recent, tail = most recent.
8
+ */ export class LruMap {
9
+ maxSize;
10
+ /** Map from key to its linked-list node for O(1) lookup. */ map;
11
+ head;
12
+ tail;
13
+ constructor(maxSize){
14
+ this.maxSize = maxSize;
15
+ this.map = new Map();
16
+ if (maxSize < 1) {
17
+ throw new Error('LruMap maxSize must be at least 1');
18
+ }
19
+ }
20
+ /** Number of entries in the map. */ get size() {
21
+ return this.map.size;
22
+ }
23
+ /** Returns true if the key is present, without refreshing its recency. */ has(key) {
24
+ return this.map.has(key);
25
+ }
26
+ /**
27
+ * Returns the value for the key, or undefined if absent.
28
+ * Refreshes the entry's recency so it becomes the most recently used.
29
+ */ get(key) {
30
+ const node = this.map.get(key);
31
+ if (!node) {
32
+ return undefined;
33
+ }
34
+ this.moveToTail(node);
35
+ return node.value;
36
+ }
37
+ /**
38
+ * Stores a value for the key, refreshing its recency. If the key already exists, overwrites the value.
39
+ * If the map is at capacity, evicts the least recently used entry.
40
+ */ set(key, value) {
41
+ const existing = this.map.get(key);
42
+ if (existing) {
43
+ existing.value = value;
44
+ this.moveToTail(existing);
45
+ return;
46
+ }
47
+ if (this.map.size >= this.maxSize) {
48
+ this.evictHead();
49
+ }
50
+ const node = {
51
+ key,
52
+ value,
53
+ prev: this.tail,
54
+ next: undefined
55
+ };
56
+ if (this.tail) {
57
+ this.tail.next = node;
58
+ } else {
59
+ this.head = node;
60
+ }
61
+ this.tail = node;
62
+ this.map.set(key, node);
63
+ }
64
+ /** Removes the entry for the key, returning true if it was present. */ delete(key) {
65
+ const node = this.map.get(key);
66
+ if (!node) {
67
+ return false;
68
+ }
69
+ this.unlink(node);
70
+ this.map.delete(key);
71
+ return true;
72
+ }
73
+ /** Removes all entries from the map. */ clear() {
74
+ this.map.clear();
75
+ this.head = undefined;
76
+ this.tail = undefined;
77
+ }
78
+ /** Unlinks a node from its current position and relinks it at the tail. */ moveToTail(node) {
79
+ if (node === this.tail) {
80
+ return;
81
+ }
82
+ this.unlink(node);
83
+ node.prev = this.tail;
84
+ node.next = undefined;
85
+ if (this.tail) {
86
+ this.tail.next = node;
87
+ } else {
88
+ this.head = node;
89
+ }
90
+ this.tail = node;
91
+ }
92
+ /** Detaches a node from the linked list, fixing up its neighbours and the head/tail pointers. */ unlink(node) {
93
+ if (node.prev) {
94
+ node.prev.next = node.next;
95
+ } else {
96
+ this.head = node.next;
97
+ }
98
+ if (node.next) {
99
+ node.next.prev = node.prev;
100
+ } else {
101
+ this.tail = node.prev;
102
+ }
103
+ node.prev = undefined;
104
+ node.next = undefined;
105
+ }
106
+ /** Evicts the head (least recently used) node. */ evictHead() {
107
+ const oldHead = this.head;
108
+ if (!oldHead) {
109
+ return;
110
+ }
111
+ this.head = oldHead.next;
112
+ if (this.head) {
113
+ this.head.prev = undefined;
114
+ } else {
115
+ this.tail = undefined;
116
+ }
117
+ this.map.delete(oldHead.key);
118
+ }
119
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * A bounded set with Least Recently Used (LRU) eviction.
3
+ * Both {@link has} and {@link add} count as an access and refresh the entry's
4
+ * recency, so items that are actively checked stay in the set longest.
5
+ *
6
+ * Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
7
+ * Head = least recent, tail = most recent.
8
+ */
9
+ export declare class LruSet<T> {
10
+ private readonly maxSize;
11
+ /** Map from value to its linked-list node for O(1) lookup. */
12
+ private readonly map;
13
+ private head;
14
+ private tail;
15
+ constructor(maxSize: number);
16
+ /** Number of entries in the set. */
17
+ get size(): number;
18
+ /**
19
+ * Returns true if the item is in the set.
20
+ * Refreshes the item's recency so it becomes the most recently used.
21
+ */
22
+ has(item: T): boolean;
23
+ /**
24
+ * Adds an item to the set. If the item already exists, refreshes its recency.
25
+ * If the set is at capacity, evicts the least recently used item.
26
+ */
27
+ add(item: T): void;
28
+ /** Removes all entries from the set. */
29
+ clear(): void;
30
+ /** Unlinks a node from its current position and relinks it at the tail. */
31
+ private moveToTail;
32
+ /** Evicts the head (least recently used) node. */
33
+ private evictHead;
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHJ1X3NldC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbGxlY3Rpb24vbHJ1X3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTs7Ozs7OztHQU9HO0FBQ0gscUJBQWEsTUFBTSxDQUFDLENBQUM7SUFNUCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFMcEMsOERBQThEO0lBQzlELE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUE0QjtJQUNoRCxPQUFPLENBQUMsSUFBSSxDQUF5QjtJQUNyQyxPQUFPLENBQUMsSUFBSSxDQUF5QjtJQUVyQyxZQUE2QixPQUFPLEVBQUUsTUFBTSxFQUkzQztJQUVELG9DQUFvQztJQUNwQyxJQUFJLElBQUksSUFBSSxNQUFNLENBRWpCO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQU9wQjtJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FtQmpCO0lBRUQsd0NBQXdDO0lBQ3hDLEtBQUssSUFBSSxJQUFJLENBSVo7SUFFRCwyRUFBMkU7SUFDM0UsT0FBTyxDQUFDLFVBQVU7SUF3QmxCLGtEQUFrRDtJQUNsRCxPQUFPLENBQUMsU0FBUztDQVdsQiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lru_set.d.ts","sourceRoot":"","sources":["../../src/collection/lru_set.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,qBAAa,MAAM,CAAC,CAAC;IAMP,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,IAAI,CAAyB;IAErC,YAA6B,OAAO,EAAE,MAAM,EAI3C;IAED,oCAAoC;IACpC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAOpB;IAED;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAmBjB;IAED,wCAAwC;IACxC,KAAK,IAAI,IAAI,CAIZ;IAED,2EAA2E;IAC3E,OAAO,CAAC,UAAU;IAwBlB,kDAAkD;IAClD,OAAO,CAAC,SAAS;CAWlB"}
@@ -0,0 +1,95 @@
1
+ /** Node in a doubly-linked list used by {@link LruSet}. */ /**
2
+ * A bounded set with Least Recently Used (LRU) eviction.
3
+ * Both {@link has} and {@link add} count as an access and refresh the entry's
4
+ * recency, so items that are actively checked stay in the set longest.
5
+ *
6
+ * Uses a doubly-linked list for O(1) ordering and a Map for O(1) lookup.
7
+ * Head = least recent, tail = most recent.
8
+ */ export class LruSet {
9
+ maxSize;
10
+ /** Map from value to its linked-list node for O(1) lookup. */ map;
11
+ head;
12
+ tail;
13
+ constructor(maxSize){
14
+ this.maxSize = maxSize;
15
+ this.map = new Map();
16
+ if (maxSize < 1) {
17
+ throw new Error('LruSet maxSize must be at least 1');
18
+ }
19
+ }
20
+ /** Number of entries in the set. */ get size() {
21
+ return this.map.size;
22
+ }
23
+ /**
24
+ * Returns true if the item is in the set.
25
+ * Refreshes the item's recency so it becomes the most recently used.
26
+ */ has(item) {
27
+ const node = this.map.get(item);
28
+ if (!node) {
29
+ return false;
30
+ }
31
+ this.moveToTail(node);
32
+ return true;
33
+ }
34
+ /**
35
+ * Adds an item to the set. If the item already exists, refreshes its recency.
36
+ * If the set is at capacity, evicts the least recently used item.
37
+ */ add(item) {
38
+ const existing = this.map.get(item);
39
+ if (existing) {
40
+ this.moveToTail(existing);
41
+ return;
42
+ }
43
+ if (this.map.size >= this.maxSize) {
44
+ this.evictHead();
45
+ }
46
+ const node = {
47
+ value: item,
48
+ prev: this.tail,
49
+ next: undefined
50
+ };
51
+ if (this.tail) {
52
+ this.tail.next = node;
53
+ } else {
54
+ this.head = node;
55
+ }
56
+ this.tail = node;
57
+ this.map.set(item, node);
58
+ }
59
+ /** Removes all entries from the set. */ clear() {
60
+ this.map.clear();
61
+ this.head = undefined;
62
+ this.tail = undefined;
63
+ }
64
+ /** Unlinks a node from its current position and relinks it at the tail. */ moveToTail(node) {
65
+ if (node === this.tail) {
66
+ return;
67
+ }
68
+ // Unlink
69
+ if (node.prev) {
70
+ node.prev.next = node.next;
71
+ } else {
72
+ this.head = node.next;
73
+ }
74
+ if (node.next) {
75
+ node.next.prev = node.prev;
76
+ }
77
+ // Relink at tail
78
+ node.prev = this.tail;
79
+ node.next = undefined;
80
+ if (this.tail) {
81
+ this.tail.next = node;
82
+ }
83
+ this.tail = node;
84
+ }
85
+ /** Evicts the head (least recently used) node. */ evictHead() {
86
+ const oldHead = this.head;
87
+ this.map.delete(oldHead.value);
88
+ this.head = oldHead.next;
89
+ if (this.head) {
90
+ this.head.prev = undefined;
91
+ } else {
92
+ this.tail = undefined;
93
+ }
94
+ }
95
+ }
@@ -0,0 +1,30 @@
1
+ /** Returns a new object with the same keys and where each value has been passed through the mapping function. */
2
+ export declare function mapValues<K extends string | number | symbol, T, U>(obj: Record<K, T>, fn: (value: T, key: K) => U): Record<K, U>;
3
+ export declare function mapValues<K extends string | number | symbol, T, U>(obj: Partial<Record<K, T>>, fn: (value: T, key: K) => U): Partial<Record<K, U>>;
4
+ /** Returns a new object where all keys with undefined values have been removed. */
5
+ export declare function compact<T extends object>(obj: T): {
6
+ [P in keyof T]+?: Exclude<T[P], undefined>;
7
+ };
8
+ /** Returns a new object by picking the given keys. */
9
+ export declare function pick<T extends object, U extends keyof T>(object: T, ...props: U[]): Pick<T, U>;
10
+ export declare function pick<T extends object>(object: T, ...props: string[]): Partial<T>;
11
+ /** Returns a new object by omitting the given keys. */
12
+ export declare function omit<T extends object, K extends keyof T>(object: T, ...props: K[]): Omit<T, K>;
13
+ export declare function omit<T extends object>(object: T, ...props: string[]): Partial<T>;
14
+ /** Equivalent to Object.keys but preserves types. */
15
+ export declare function getKeys<T extends object>(obj: T): (keyof T)[];
16
+ /** Equivalent to Object.entries but preserves types. */
17
+ export declare function getEntries<T extends Record<PropertyKey, unknown>>(obj: T): {
18
+ [K in keyof T]: [K, T[K]];
19
+ }[keyof T][];
20
+ /** Equivalent to Object.fromEntries but preserves types. */
21
+ export declare function fromEntries<const T extends ReadonlyArray<readonly [PropertyKey, unknown]>>(entries: T): {
22
+ [K in T[number] as K[0]]: K[1];
23
+ };
24
+ /** Asserts all values in object are not undefined. */
25
+ export declare function assertRequired<T extends object>(obj: T): Required<T>;
26
+ /** Returns the result of merging two objects ignoring properties with undefined values. */
27
+ export declare function merge<T extends object, U extends object>(obj1: T, obj2: U | undefined): T & {
28
+ [P in keyof U]+?: Exclude<U[P], undefined>;
29
+ };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29sbGVjdGlvbi9vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUhBQWlIO0FBQ2pILHdCQUFnQixTQUFTLENBQUMsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ2hFLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNqQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUMxQixNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLHdCQUFnQixTQUFTLENBQUMsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ2hFLEdBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUMxQixFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBWXpCLG1GQUFtRjtBQUNuRix3QkFBZ0IsT0FBTyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRztLQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUM7Q0FBRSxDQVFoRztBQUVELHNEQUFzRDtBQUN0RCx3QkFBZ0IsSUFBSSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNoRyx3QkFBZ0IsSUFBSSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFTbEYsdURBQXVEO0FBQ3ZELHdCQUFnQixJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxDQUFDLFNBQVMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hHLHdCQUFnQixJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQVNsRixxREFBcUQ7QUFDckQsd0JBQWdCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBRTdEO0FBRUQsd0RBQXdEO0FBQ3hELHdCQUFnQixVQUFVLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRztLQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FHbkg7QUFFRCw0REFBNEQ7QUFDNUQsd0JBQWdCLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLGFBQWEsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQ3hGLE9BQU8sRUFBRSxDQUFDLEdBQ1Q7S0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQUUsQ0FHcEM7QUFFRCxzREFBc0Q7QUFDdEQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQU9wRTtBQUVELDJGQUEyRjtBQUMzRix3QkFBZ0IsS0FBSyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsQ0FBQyxTQUFTLE1BQU0sRUFDdEQsSUFBSSxFQUFFLENBQUMsRUFDUCxJQUFJLEVBQUUsQ0FBQyxHQUFHLFNBQVMsR0FDbEIsQ0FBQyxHQUFHO0tBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztDQUFFLENBRXBEIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/collection/object.ts"],"names":[],"mappings":"AAAA,iHAAiH;AACjH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,EAChE,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAC1B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChB,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,EAChE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC1B,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAC1B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAYzB,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,CAQhG;AAED,sDAAsD;AACtD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChG,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AASlF,uDAAuD;AACvD,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAChG,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AASlF,qDAAqD;AACrD,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAE7D;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAGnH;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EACxF,OAAO,EAAE,CAAC,GACT;KAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAGpC;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAOpE;AAED,2FAA2F;AAC3F,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACtD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,CAAC,GAAG,SAAS,GAClB,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,CAEpD"}