@aztec/foundation 0.76.4 → 0.77.0-testnet-ignition.21

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 (459) hide show
  1. package/dest/array/array.d.ts +1 -1
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +19 -26
  4. package/dest/array/index.js +0 -1
  5. package/dest/async-map/index.js +2 -4
  6. package/dest/async-pool/index.js +6 -9
  7. package/dest/bigint-buffer/index.js +6 -13
  8. package/dest/buffer/buffer32.d.ts +1 -1
  9. package/dest/buffer/buffer32.d.ts.map +1 -1
  10. package/dest/buffer/buffer32.js +53 -66
  11. package/dest/buffer/index.js +0 -1
  12. package/dest/collection/array.d.ts +1 -1
  13. package/dest/collection/array.d.ts.map +1 -1
  14. package/dest/collection/array.js +47 -59
  15. package/dest/collection/index.js +0 -1
  16. package/dest/collection/object.js +9 -9
  17. package/dest/committable/committable.js +15 -20
  18. package/dest/committable/index.js +0 -1
  19. package/dest/config/env_var.d.ts +1 -1
  20. package/dest/config/env_var.d.ts.map +1 -1
  21. package/dest/config/env_var.js +1 -2
  22. package/dest/config/index.d.ts +1 -1
  23. package/dest/config/index.d.ts.map +1 -1
  24. package/dest/config/index.js +31 -36
  25. package/dest/crypto/aes128/index.d.ts +34 -0
  26. package/dest/crypto/aes128/index.d.ts.map +1 -0
  27. package/dest/crypto/aes128/index.js +49 -0
  28. package/dest/crypto/ecdsa/index.d.ts +39 -0
  29. package/dest/crypto/ecdsa/index.d.ts.map +1 -0
  30. package/dest/crypto/ecdsa/index.js +88 -0
  31. package/dest/crypto/ecdsa/signature.d.ts +71 -0
  32. package/dest/crypto/ecdsa/signature.d.ts.map +1 -0
  33. package/dest/crypto/ecdsa/signature.js +92 -0
  34. package/dest/crypto/grumpkin/index.d.ts +47 -0
  35. package/dest/crypto/grumpkin/index.d.ts.map +1 -0
  36. package/dest/crypto/grumpkin/index.js +154 -0
  37. package/dest/crypto/index.d.ts +6 -0
  38. package/dest/crypto/index.d.ts.map +1 -1
  39. package/dest/crypto/index.js +6 -1
  40. package/dest/crypto/keccak/index.js +60 -69
  41. package/dest/crypto/keys/index.js +2 -3
  42. package/dest/crypto/pedersen/index.js +0 -1
  43. package/dest/crypto/pedersen/pedersen.elliptic.js +153 -146
  44. package/dest/crypto/pedersen/pedersen.noble.js +140 -142
  45. package/dest/crypto/pedersen/pedersen.wasm.js +17 -16
  46. package/dest/crypto/poseidon/index.js +15 -19
  47. package/dest/crypto/random/index.js +7 -12
  48. package/dest/crypto/random/randomness_singleton.js +12 -12
  49. package/dest/crypto/schnorr/index.d.ts +30 -0
  50. package/dest/crypto/schnorr/index.d.ts.map +1 -0
  51. package/dest/crypto/schnorr/index.js +68 -0
  52. package/dest/crypto/schnorr/signature.d.ts +70 -0
  53. package/dest/crypto/schnorr/signature.d.ts.map +1 -0
  54. package/dest/crypto/schnorr/signature.js +93 -0
  55. package/dest/crypto/secp256k1/index.d.ts +32 -0
  56. package/dest/crypto/secp256k1/index.d.ts.map +1 -0
  57. package/dest/crypto/secp256k1/index.js +116 -0
  58. package/dest/crypto/secp256k1-signer/index.js +0 -1
  59. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +2 -2
  60. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  61. package/dest/crypto/secp256k1-signer/secp256k1_signer.js +8 -9
  62. package/dest/crypto/secp256k1-signer/utils.js +11 -16
  63. package/dest/crypto/serialize.d.ts +53 -0
  64. package/dest/crypto/serialize.d.ts.map +1 -0
  65. package/dest/crypto/serialize.js +68 -0
  66. package/dest/crypto/sha256/index.js +80 -30
  67. package/dest/crypto/sha512/index.js +2 -4
  68. package/dest/crypto/signature/index.d.ts +19 -0
  69. package/dest/crypto/signature/index.d.ts.map +1 -0
  70. package/dest/crypto/signature/index.js +3 -0
  71. package/dest/crypto/sync/index.js +1 -2
  72. package/dest/crypto/sync/pedersen/index.js +14 -13
  73. package/dest/crypto/sync/poseidon/index.js +10 -14
  74. package/dest/decorators/index.js +0 -1
  75. package/dest/decorators/memoize.js +1 -2
  76. package/dest/error/index.js +6 -19
  77. package/dest/eth-address/index.js +92 -113
  78. package/dest/eth-signature/eth_signature.js +21 -27
  79. package/dest/eth-signature/index.js +0 -1
  80. package/dest/fields/coordinate.d.ts +1 -1
  81. package/dest/fields/coordinate.d.ts.map +1 -1
  82. package/dest/fields/coordinate.js +47 -46
  83. package/dest/fields/fields.d.ts.map +1 -1
  84. package/dest/fields/fields.js +112 -126
  85. package/dest/fields/index.js +0 -1
  86. package/dest/fields/point.js +119 -129
  87. package/dest/fs/index.js +0 -1
  88. package/dest/fs/run_in_dir.d.ts +1 -1
  89. package/dest/fs/run_in_dir.d.ts.map +1 -1
  90. package/dest/fs/run_in_dir.js +16 -7
  91. package/dest/index.d.ts +0 -2
  92. package/dest/index.d.ts.map +1 -1
  93. package/dest/index.js +0 -3
  94. package/dest/iterable/all.js +3 -4
  95. package/dest/iterable/filter.js +10 -11
  96. package/dest/iterable/index.js +0 -1
  97. package/dest/iterable/isAsyncIt.js +1 -3
  98. package/dest/iterable/map.js +10 -11
  99. package/dest/iterable/peek.js +14 -14
  100. package/dest/iterable/sort.js +4 -5
  101. package/dest/iterable/take.js +6 -7
  102. package/dest/iterable/toArray.js +1 -2
  103. package/dest/jest/setup.js +7 -0
  104. package/dest/json-rpc/client/fetch.js +25 -20
  105. package/dest/json-rpc/client/index.js +0 -1
  106. package/dest/json-rpc/client/safe_json_rpc_client.js +20 -9
  107. package/dest/json-rpc/client/undici.d.ts +1 -1
  108. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  109. package/dest/json-rpc/client/undici.js +16 -17
  110. package/dest/json-rpc/convert.d.ts +1 -1
  111. package/dest/json-rpc/convert.d.ts.map +1 -1
  112. package/dest/json-rpc/convert.js +10 -20
  113. package/dest/json-rpc/fixtures/class_a.js +8 -5
  114. package/dest/json-rpc/fixtures/class_b.js +8 -5
  115. package/dest/json-rpc/fixtures/test_state.js +53 -40
  116. package/dest/json-rpc/index.js +0 -1
  117. package/dest/json-rpc/js_utils.js +2 -5
  118. package/dest/json-rpc/server/index.js +0 -1
  119. package/dest/json-rpc/server/safe_json_rpc_server.js +145 -101
  120. package/dest/json-rpc/server/telemetry.js +0 -2
  121. package/dest/json-rpc/test/index.js +0 -1
  122. package/dest/json-rpc/test/integration.d.ts +1 -1
  123. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  124. package/dest/json-rpc/test/integration.js +11 -5
  125. package/dest/log/console.d.ts +1 -1
  126. package/dest/log/console.d.ts.map +1 -1
  127. package/dest/log/console.js +14 -16
  128. package/dest/log/debug.d.ts +1 -1
  129. package/dest/log/debug.d.ts.map +1 -1
  130. package/dest/log/debug.js +9 -18
  131. package/dest/log/gcloud-logger-config.js +17 -15
  132. package/dest/log/index.d.ts +1 -0
  133. package/dest/log/index.d.ts.map +1 -1
  134. package/dest/log/index.js +1 -1
  135. package/dest/log/libp2p_logger.d.ts +7 -0
  136. package/dest/log/libp2p_logger.d.ts.map +1 -0
  137. package/dest/log/libp2p_logger.js +55 -0
  138. package/dest/log/log-filters.js +14 -13
  139. package/dest/log/log-levels.js +10 -2
  140. package/dest/log/log_fn.js +1 -2
  141. package/dest/log/log_history.js +21 -25
  142. package/dest/log/pino-logger.d.ts +8 -4
  143. package/dest/log/pino-logger.d.ts.map +1 -1
  144. package/dest/log/pino-logger.js +92 -74
  145. package/dest/message/index.js +7 -3
  146. package/dest/mutex/index.d.ts +1 -1
  147. package/dest/mutex/index.d.ts.map +1 -1
  148. package/dest/mutex/index.js +34 -32
  149. package/dest/mutex/mutex_database.js +4 -2
  150. package/dest/noir/index.js +0 -1
  151. package/dest/noir/noir_package_config.js +13 -8
  152. package/dest/promise/index.js +0 -1
  153. package/dest/promise/running-promise.d.ts +8 -2
  154. package/dest/promise/running-promise.d.ts.map +1 -1
  155. package/dest/promise/running-promise.js +44 -31
  156. package/dest/promise/utils.js +3 -5
  157. package/dest/queue/base_memory_queue.js +51 -59
  158. package/dest/queue/batch_queue.js +34 -27
  159. package/dest/queue/bounded_serial_queue.js +41 -51
  160. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  161. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  162. package/dest/queue/fifo_memory_queue.js +4 -8
  163. package/dest/queue/index.js +0 -1
  164. package/dest/queue/priority_memory_queue.js +3 -4
  165. package/dest/queue/priority_queue.js +5 -5
  166. package/dest/queue/semaphore.js +15 -19
  167. package/dest/queue/serial_queue.js +37 -47
  168. package/dest/retry/index.js +21 -18
  169. package/dest/running-promise/index.js +0 -1
  170. package/dest/schemas/api.d.ts +2 -2
  171. package/dest/schemas/api.d.ts.map +1 -1
  172. package/dest/schemas/api.js +2 -7
  173. package/dest/schemas/index.d.ts +1 -1
  174. package/dest/schemas/index.d.ts.map +1 -1
  175. package/dest/schemas/index.js +1 -2
  176. package/dest/schemas/parse.js +4 -8
  177. package/dest/schemas/schemas.d.ts +1 -16
  178. package/dest/schemas/schemas.d.ts.map +1 -1
  179. package/dest/schemas/schemas.js +28 -56
  180. package/dest/schemas/types.d.ts +1 -1
  181. package/dest/schemas/types.d.ts.map +1 -1
  182. package/dest/schemas/types.js +1 -2
  183. package/dest/schemas/utils.d.ts +1 -1
  184. package/dest/schemas/utils.d.ts.map +1 -1
  185. package/dest/schemas/utils.js +18 -31
  186. package/dest/serialize/buffer_reader.d.ts +1 -1
  187. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  188. package/dest/serialize/buffer_reader.js +164 -188
  189. package/dest/serialize/field_reader.d.ts +1 -1
  190. package/dest/serialize/field_reader.d.ts.map +1 -1
  191. package/dest/serialize/field_reader.js +70 -79
  192. package/dest/serialize/free_funcs.d.ts +1 -1
  193. package/dest/serialize/free_funcs.d.ts.map +1 -1
  194. package/dest/serialize/free_funcs.js +40 -37
  195. package/dest/serialize/index.js +0 -1
  196. package/dest/serialize/serialize.js +72 -83
  197. package/dest/serialize/type_registry.js +10 -14
  198. package/dest/serialize/types.js +4 -5
  199. package/dest/sleep/index.js +25 -29
  200. package/dest/string/index.js +0 -1
  201. package/dest/testing/files/index.js +3 -7
  202. package/dest/testing/index.js +0 -1
  203. package/dest/testing/port_allocator.js +7 -10
  204. package/dest/testing/snapshot_serializer.d.ts +1 -1
  205. package/dest/testing/snapshot_serializer.d.ts.map +1 -1
  206. package/dest/testing/snapshot_serializer.js +14 -9
  207. package/dest/testing/test_data.js +7 -8
  208. package/dest/timer/date.js +9 -7
  209. package/dest/timer/elapsed.js +10 -7
  210. package/dest/timer/index.js +0 -1
  211. package/dest/timer/timeout.js +34 -34
  212. package/dest/timer/timer.js +17 -21
  213. package/dest/transport/browser/index.js +0 -1
  214. package/dest/transport/browser/message_port_socket.d.ts +1 -1
  215. package/dest/transport/browser/message_port_socket.d.ts.map +1 -1
  216. package/dest/transport/browser/message_port_socket.js +26 -30
  217. package/dest/transport/browser/shared_worker_connector.d.ts +1 -1
  218. package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -1
  219. package/dest/transport/browser/shared_worker_connector.js +8 -10
  220. package/dest/transport/browser/shared_worker_listener.d.ts +1 -1
  221. package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -1
  222. package/dest/transport/browser/shared_worker_listener.js +13 -17
  223. package/dest/transport/browser/worker_connector.d.ts +1 -1
  224. package/dest/transport/browser/worker_connector.d.ts.map +1 -1
  225. package/dest/transport/browser/worker_connector.js +12 -12
  226. package/dest/transport/browser/worker_listener.d.ts +1 -1
  227. package/dest/transport/browser/worker_listener.d.ts.map +1 -1
  228. package/dest/transport/browser/worker_listener.js +13 -17
  229. package/dest/transport/dispatch/create_dispatch_fn.js +2 -4
  230. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +2 -2
  231. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  232. package/dest/transport/dispatch/create_dispatch_proxy.js +16 -13
  233. package/dest/transport/dispatch/messages.js +4 -3
  234. package/dest/transport/index.js +0 -1
  235. package/dest/transport/interface/connector.d.ts +1 -1
  236. package/dest/transport/interface/connector.d.ts.map +1 -1
  237. package/dest/transport/interface/connector.js +3 -2
  238. package/dest/transport/interface/listener.d.ts +1 -1
  239. package/dest/transport/interface/listener.d.ts.map +1 -1
  240. package/dest/transport/interface/listener.js +4 -2
  241. package/dest/transport/interface/socket.js +7 -2
  242. package/dest/transport/interface/transferable.js +7 -9
  243. package/dest/transport/node/index.js +0 -1
  244. package/dest/transport/node/node_connector.d.ts +2 -2
  245. package/dest/transport/node/node_connector.d.ts.map +1 -1
  246. package/dest/transport/node/node_connector.js +9 -11
  247. package/dest/transport/node/node_connector_socket.d.ts +2 -2
  248. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  249. package/dest/transport/node/node_connector_socket.js +21 -25
  250. package/dest/transport/node/node_listener.d.ts +1 -1
  251. package/dest/transport/node/node_listener.d.ts.map +1 -1
  252. package/dest/transport/node/node_listener.js +11 -15
  253. package/dest/transport/node/node_listener_socket.d.ts +2 -2
  254. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  255. package/dest/transport/node/node_listener_socket.js +23 -27
  256. package/dest/transport/transport_client.d.ts +1 -1
  257. package/dest/transport/transport_client.d.ts.map +1 -1
  258. package/dest/transport/transport_client.js +47 -46
  259. package/dest/transport/transport_server.d.ts +1 -1
  260. package/dest/transport/transport_server.d.ts.map +1 -1
  261. package/dest/transport/transport_server.js +68 -55
  262. package/dest/trees/hasher.d.ts +39 -0
  263. package/dest/trees/hasher.d.ts.map +1 -0
  264. package/dest/trees/hasher.js +5 -0
  265. package/dest/trees/index.d.ts +8 -56
  266. package/dest/trees/index.d.ts.map +1 -1
  267. package/dest/trees/index.js +8 -1
  268. package/dest/trees/indexed_merkle_tree.d.ts +13 -0
  269. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -0
  270. package/dest/trees/indexed_merkle_tree.js +27 -0
  271. package/dest/trees/indexed_merkle_tree_calculator.d.ts +23 -0
  272. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -0
  273. package/dest/trees/indexed_merkle_tree_calculator.js +83 -0
  274. package/dest/trees/indexed_tree_leaf.d.ts +57 -0
  275. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -0
  276. package/dest/trees/indexed_tree_leaf.js +5 -0
  277. package/dest/trees/membership_witness.d.ts +62 -0
  278. package/dest/trees/membership_witness.d.ts.map +1 -0
  279. package/dest/trees/membership_witness.js +70 -0
  280. package/dest/trees/merkle_tree.d.ts +18 -0
  281. package/dest/trees/merkle_tree.d.ts.map +1 -0
  282. package/dest/trees/merkle_tree.js +58 -0
  283. package/dest/trees/merkle_tree_calculator.d.ts +16 -0
  284. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -0
  285. package/dest/trees/merkle_tree_calculator.js +61 -0
  286. package/dest/trees/sibling_path.d.ts +132 -0
  287. package/dest/trees/sibling_path.d.ts.map +1 -0
  288. package/dest/trees/sibling_path.js +144 -0
  289. package/dest/trees/unbalanced_merkle_tree.d.ts +1 -1
  290. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  291. package/dest/trees/unbalanced_merkle_tree.js +28 -18
  292. package/dest/trees/unbalanced_tree_store.js +43 -29
  293. package/dest/types/index.js +1 -3
  294. package/dest/url/index.js +4 -8
  295. package/dest/validation/index.js +2 -5
  296. package/dest/wasm/empty_wasi_sdk.js +142 -160
  297. package/dest/wasm/index.d.ts +1 -1
  298. package/dest/wasm/index.d.ts.map +1 -1
  299. package/dest/wasm/index.js +0 -1
  300. package/dest/wasm/wasm_module.js +80 -90
  301. package/dest/worker/browser/index.js +0 -1
  302. package/dest/worker/browser/start_web_module.d.ts +1 -1
  303. package/dest/worker/browser/start_web_module.d.ts.map +1 -1
  304. package/dest/worker/browser/start_web_module.js +9 -5
  305. package/dest/worker/browser/web_data_store.d.ts +1 -1
  306. package/dest/worker/browser/web_data_store.d.ts.map +1 -1
  307. package/dest/worker/browser/web_data_store.js +12 -15
  308. package/dest/worker/browser/web_worker.d.ts +1 -1
  309. package/dest/worker/browser/web_worker.d.ts.map +1 -1
  310. package/dest/worker/browser/web_worker.js +6 -5
  311. package/dest/worker/data_store.js +3 -2
  312. package/dest/worker/index.d.ts +1 -1
  313. package/dest/worker/index.d.ts.map +1 -1
  314. package/dest/worker/index.js +0 -1
  315. package/dest/worker/node/index.js +0 -1
  316. package/dest/worker/node/node_data_store.d.ts +1 -1
  317. package/dest/worker/node/node_data_store.d.ts.map +1 -1
  318. package/dest/worker/node/node_data_store.js +4 -5
  319. package/dest/worker/node/node_worker.d.ts +1 -1
  320. package/dest/worker/node/node_worker.d.ts.map +1 -1
  321. package/dest/worker/node/node_worker.js +6 -5
  322. package/dest/worker/node/start_node_module.d.ts +1 -1
  323. package/dest/worker/node/start_node_module.d.ts.map +1 -1
  324. package/dest/worker/node/start_node_module.js +9 -5
  325. package/dest/worker/wasm_worker.d.ts +2 -2
  326. package/dest/worker/wasm_worker.d.ts.map +1 -1
  327. package/dest/worker/wasm_worker.js +3 -2
  328. package/dest/worker/worker_pool.d.ts +1 -1
  329. package/dest/worker/worker_pool.d.ts.map +1 -1
  330. package/dest/worker/worker_pool.js +32 -43
  331. package/package.json +5 -5
  332. package/src/array/array.ts +1 -1
  333. package/src/buffer/buffer32.ts +1 -1
  334. package/src/collection/array.ts +1 -1
  335. package/src/config/env_var.ts +7 -5
  336. package/src/config/index.ts +1 -1
  337. package/src/crypto/aes128/index.ts +59 -0
  338. package/src/crypto/ecdsa/index.ts +70 -0
  339. package/src/crypto/ecdsa/signature.ts +100 -0
  340. package/src/crypto/grumpkin/index.ts +97 -0
  341. package/src/crypto/index.ts +6 -0
  342. package/src/crypto/keys/index.ts +1 -1
  343. package/src/crypto/pedersen/pedersen.wasm.ts +3 -3
  344. package/src/crypto/poseidon/index.ts +5 -5
  345. package/src/crypto/schnorr/index.ts +55 -0
  346. package/src/crypto/schnorr/signature.ts +116 -0
  347. package/src/crypto/secp256k1/index.ts +57 -0
  348. package/src/crypto/secp256k1-signer/secp256k1_signer.ts +2 -2
  349. package/src/crypto/serialize.ts +85 -0
  350. package/src/crypto/signature/index.ts +17 -0
  351. package/src/crypto/sync/index.ts +1 -1
  352. package/src/fields/coordinate.ts +1 -1
  353. package/src/fields/fields.ts +2 -1
  354. package/src/fs/run_in_dir.ts +8 -1
  355. package/src/index.ts +0 -2
  356. package/src/json-rpc/client/undici.ts +1 -1
  357. package/src/json-rpc/convert.ts +1 -1
  358. package/src/json-rpc/server/safe_json_rpc_server.ts +1 -1
  359. package/src/json-rpc/test/integration.ts +1 -1
  360. package/src/log/console.ts +1 -1
  361. package/src/log/debug.ts +1 -1
  362. package/src/log/gcloud-logger-config.ts +1 -1
  363. package/src/log/index.ts +1 -0
  364. package/src/log/libp2p_logger.ts +67 -0
  365. package/src/log/pino-logger.ts +16 -16
  366. package/src/mutex/index.ts +1 -1
  367. package/src/promise/running-promise.ts +24 -5
  368. package/src/queue/fifo_memory_queue.ts +1 -1
  369. package/src/schemas/api.ts +2 -2
  370. package/src/schemas/index.ts +1 -1
  371. package/src/schemas/schemas.ts +2 -26
  372. package/src/schemas/types.ts +1 -1
  373. package/src/schemas/utils.ts +1 -1
  374. package/src/serialize/buffer_reader.ts +1 -1
  375. package/src/serialize/field_reader.ts +1 -1
  376. package/src/serialize/free_funcs.ts +1 -1
  377. package/src/testing/snapshot_serializer.ts +1 -1
  378. package/src/transport/browser/message_port_socket.ts +1 -1
  379. package/src/transport/browser/shared_worker_connector.ts +1 -1
  380. package/src/transport/browser/shared_worker_listener.ts +1 -1
  381. package/src/transport/browser/worker_connector.ts +1 -1
  382. package/src/transport/browser/worker_listener.ts +1 -1
  383. package/src/transport/dispatch/create_dispatch_proxy.ts +2 -2
  384. package/src/transport/interface/connector.ts +1 -1
  385. package/src/transport/interface/listener.ts +1 -1
  386. package/src/transport/node/node_connector.ts +2 -2
  387. package/src/transport/node/node_connector_socket.ts +2 -2
  388. package/src/transport/node/node_listener.ts +1 -1
  389. package/src/transport/node/node_listener_socket.ts +2 -2
  390. package/src/transport/transport_client.ts +2 -2
  391. package/src/transport/transport_server.ts +3 -3
  392. package/src/trees/hasher.ts +39 -0
  393. package/src/trees/index.ts +8 -57
  394. package/src/trees/indexed_merkle_tree.ts +36 -0
  395. package/src/trees/indexed_merkle_tree_calculator.ts +94 -0
  396. package/src/trees/indexed_tree_leaf.ts +56 -0
  397. package/src/trees/membership_witness.ts +99 -0
  398. package/src/trees/merkle_tree.ts +72 -0
  399. package/src/trees/merkle_tree_calculator.ts +67 -0
  400. package/src/trees/sibling_path.ts +183 -0
  401. package/src/trees/unbalanced_merkle_tree.ts +2 -2
  402. package/src/wasm/index.ts +1 -1
  403. package/src/worker/browser/start_web_module.ts +1 -1
  404. package/src/worker/browser/web_data_store.ts +1 -1
  405. package/src/worker/browser/web_worker.ts +1 -1
  406. package/src/worker/index.ts +1 -1
  407. package/src/worker/node/node_data_store.ts +1 -1
  408. package/src/worker/node/node_worker.ts +1 -1
  409. package/src/worker/node/start_node_module.ts +1 -1
  410. package/src/worker/wasm_worker.ts +2 -2
  411. package/src/worker/worker_pool.ts +1 -1
  412. package/dest/abi/abi.d.ts +0 -853
  413. package/dest/abi/abi.d.ts.map +0 -1
  414. package/dest/abi/abi.js +0 -214
  415. package/dest/abi/buffer.d.ts +0 -18
  416. package/dest/abi/buffer.d.ts.map +0 -1
  417. package/dest/abi/buffer.js +0 -34
  418. package/dest/abi/decoder.d.ts +0 -58
  419. package/dest/abi/decoder.d.ts.map +0 -1
  420. package/dest/abi/decoder.js +0 -180
  421. package/dest/abi/encoder.d.ts +0 -16
  422. package/dest/abi/encoder.d.ts.map +0 -1
  423. package/dest/abi/encoder.js +0 -174
  424. package/dest/abi/event_selector.d.ts +0 -52
  425. package/dest/abi/event_selector.d.ts.map +0 -1
  426. package/dest/abi/event_selector.js +0 -76
  427. package/dest/abi/function_selector.d.ts +0 -65
  428. package/dest/abi/function_selector.d.ts.map +0 -1
  429. package/dest/abi/function_selector.js +0 -92
  430. package/dest/abi/index.d.ts +0 -10
  431. package/dest/abi/index.d.ts.map +0 -1
  432. package/dest/abi/index.js +0 -10
  433. package/dest/abi/note_selector.d.ts +0 -42
  434. package/dest/abi/note_selector.d.ts.map +0 -1
  435. package/dest/abi/note_selector.js +0 -63
  436. package/dest/abi/selector.d.ts +0 -42
  437. package/dest/abi/selector.d.ts.map +0 -1
  438. package/dest/abi/selector.js +0 -57
  439. package/dest/abi/u128.d.ts +0 -13
  440. package/dest/abi/u128.d.ts.map +0 -1
  441. package/dest/abi/u128.js +0 -58
  442. package/dest/abi/utils.d.ts +0 -44
  443. package/dest/abi/utils.d.ts.map +0 -1
  444. package/dest/abi/utils.js +0 -72
  445. package/dest/aztec-address/index.d.ts +0 -57
  446. package/dest/aztec-address/index.d.ts.map +0 -1
  447. package/dest/aztec-address/index.js +0 -114
  448. package/src/abi/abi.ts +0 -504
  449. package/src/abi/buffer.ts +0 -36
  450. package/src/abi/decoder.ts +0 -195
  451. package/src/abi/encoder.ts +0 -170
  452. package/src/abi/event_selector.ts +0 -92
  453. package/src/abi/function_selector.ts +0 -124
  454. package/src/abi/index.ts +0 -9
  455. package/src/abi/note_selector.ts +0 -78
  456. package/src/abi/selector.ts +0 -64
  457. package/src/abi/u128.ts +0 -71
  458. package/src/abi/utils.ts +0 -86
  459. package/src/aztec-address/index.ts +0 -146
@@ -6,39 +6,29 @@ import { compactArray } from '../collection/array.js';
6
6
  import { parseBooleanEnv } from '../config/index.js';
7
7
  import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
8
8
  import { getLogLevelFromFilters, parseEnv } from './log-filters.js';
9
- export function createLogger(module, fixedTerms = {}) {
10
- module = logNameHandlers.reduce((moduleName, handler) => handler(moduleName), module.replace(/^aztec:/, ''));
11
- const pinoLogger = logger.child({ module }, { level: getLogLevelFromFilters(logFilters, module) });
12
- // Only perform copy of data if fixed terms are provided
13
- const hasFixedTerms = Object.keys(fixedTerms).length > 0;
9
+ export function createLogger(module) {
10
+ module = logNameHandlers.reduce((moduleName, handler)=>handler(moduleName), module.replace(/^aztec:/, ''));
11
+ const pinoLogger = logger.child({
12
+ module
13
+ }, {
14
+ level: getLogLevelFromFilters(logFilters, module)
15
+ });
14
16
  // We check manually for isLevelEnabled to avoid calling processLogData unnecessarily.
15
17
  // Note that isLevelEnabled is missing from the browser version of pino.
16
- const logFn = (level, msg, data) => isLevelEnabled(pinoLogger, level) &&
17
- pinoLogger[level](hasFixedTerms
18
- ? processLogData({ ...fixedTerms, ...(data ?? {}) })
19
- : processLogData(data ?? {}), msg);
18
+ const logFn = (level, msg, data)=>isLevelEnabled(pinoLogger, level) && pinoLogger[level](processLogData(data ?? {}), msg);
20
19
  return {
21
- silent: () => { },
20
+ silent: ()=>{},
22
21
  // TODO(palla/log): Should we move err to data instead of the text message?
23
- /** Log as fatal. Use when an error has brought down the system. */
24
- fatal: (msg, err, data) => logFn('fatal', formatErr(msg, err), data),
25
- /** Log as error. Use for errors in general. */
26
- error: (msg, err, data) => logFn('error', formatErr(msg, err), data),
27
- /** Log as warn. Use for when we stray from the happy path. */
28
- warn: (msg, data) => logFn('warn', msg, data),
29
- /** Log as info. Use for providing an operator with info on what the system is doing. */
30
- info: (msg, data) => logFn('info', msg, data),
31
- /** Log as verbose. Use for when we need additional insight on what a subsystem is doing. */
32
- verbose: (msg, data) => logFn('verbose', msg, data),
33
- /** Log as debug. Use for when we need debugging info to troubleshoot an issue on a specific component. */
34
- debug: (msg, data) => logFn('debug', msg, data),
35
- /** Log as trace. Use for when we want to denial-of-service any recipient of the logs. */
36
- trace: (msg, data) => logFn('trace', msg, data),
22
+ /** Log as fatal. Use when an error has brought down the system. */ fatal: (msg, err, data)=>logFn('fatal', formatErr(msg, err), data),
23
+ /** Log as error. Use for errors in general. */ error: (msg, err, data)=>logFn('error', formatErr(msg, err), data),
24
+ /** Log as warn. Use for when we stray from the happy path. */ warn: (msg, data)=>logFn('warn', msg, data),
25
+ /** Log as info. Use for providing an operator with info on what the system is doing. */ info: (msg, data)=>logFn('info', msg, data),
26
+ /** Log as verbose. Use for when we need additional insight on what a subsystem is doing. */ verbose: (msg, data)=>logFn('verbose', msg, data),
27
+ /** 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),
28
+ /** Log as trace. Use for when we want to denial-of-service any recipient of the logs. */ trace: (msg, data)=>logFn('trace', msg, data),
37
29
  level: pinoLogger.level,
38
- /** Whether the given level is enabled for this logger. */
39
- isLevelEnabled: (level) => isLevelEnabled(pinoLogger, level),
40
- /** Module name for the logger. */
41
- module,
30
+ /** Whether the given level is enabled for this logger. */ isLevelEnabled: (level)=>isLevelEnabled(pinoLogger, level),
31
+ /** Module name for the logger. */ module
42
32
  };
43
33
  }
44
34
  const logDataHandlers = [];
@@ -46,7 +36,7 @@ export function addLogDataHandler(handler) {
46
36
  logDataHandlers.push(handler);
47
37
  }
48
38
  function processLogData(data) {
49
- return logDataHandlers.reduce((accum, handler) => handler(accum), data);
39
+ return logDataHandlers.reduce((accum, handler)=>handler(accum), data);
50
40
  }
51
41
  const logNameHandlers = [];
52
42
  export function addLogNameHandler(handler) {
@@ -58,17 +48,24 @@ export function removeLogNameHandler(handler) {
58
48
  logNameHandlers.splice(index, 1);
59
49
  }
60
50
  }
51
+ /** Creates all loggers within the given callback with the suffix appended to the module name. */ export async function withLogNameSuffix(suffix, callback) {
52
+ const logNameHandler = (module)=>`${module}:${suffix}`;
53
+ addLogNameHandler(logNameHandler);
54
+ const result = await callback();
55
+ removeLogNameHandler(logNameHandler);
56
+ return result;
57
+ }
61
58
  // Patch isLevelEnabled missing from pino/browser.
62
59
  function isLevelEnabled(logger, level) {
63
- return typeof logger.isLevelEnabled === 'function'
64
- ? logger.isLevelEnabled(level)
65
- : logger.levels.values[level] >= logger.levels.values[logger.level];
60
+ return typeof logger.isLevelEnabled === 'function' ? logger.isLevelEnabled(level) : logger.levels.values[level] >= logger.levels.values[logger.level];
66
61
  }
67
62
  // Load log levels from environment variables.
68
63
  const defaultLogLevel = process.env.NODE_ENV === 'test' ? 'silent' : 'info';
69
- const [logLevel, logFilters] = parseEnv(process.env.LOG_LEVEL, defaultLogLevel);
64
+ export const [logLevel, logFilters] = parseEnv(process.env.LOG_LEVEL, defaultLogLevel);
70
65
  // Define custom logging levels for pino.
71
- const customLevels = { verbose: 25 };
66
+ const customLevels = {
67
+ verbose: 25
68
+ };
72
69
  // Global pino options, tweaked for google cloud if running there.
73
70
  const useGcloudLogging = parseBooleanEnv(process.env['USE_GCLOUD_LOGGING']);
74
71
  const pinoOpts = {
@@ -76,16 +73,24 @@ const pinoOpts = {
76
73
  messageKey: 'msg',
77
74
  useOnlyCustomLevels: false,
78
75
  level: logLevel,
79
- ...(useGcloudLogging ? GoogleCloudLoggerConfig : {}),
76
+ ...useGcloudLogging ? GoogleCloudLoggerConfig : {}
80
77
  };
81
78
  export const levels = {
82
- labels: { ...pino.levels.labels, ...Object.fromEntries(Object.entries(customLevels).map(e => e.reverse())) },
83
- values: { ...pino.levels.values, ...customLevels },
79
+ labels: {
80
+ ...pino.levels.labels,
81
+ ...Object.fromEntries(Object.entries(customLevels).map((e)=>e.reverse()))
82
+ },
83
+ values: {
84
+ ...pino.levels.values,
85
+ ...customLevels
86
+ }
84
87
  };
85
88
  // Transport options for pretty logging to stderr via pino-pretty.
86
89
  const colorEnv = process.env['FORCE_COLOR'];
87
90
  const useColor = colorEnv === undefined ? isColorSupported : parseBooleanEnv(colorEnv);
88
- const { bold, reset } = createColors({ useColor });
91
+ const { bold, reset } = createColors({
92
+ useColor
93
+ });
89
94
  export const pinoPrettyOpts = {
90
95
  destination: 2,
91
96
  sync: true,
@@ -95,18 +100,20 @@ export const pinoPrettyOpts = {
95
100
  customLevels: 'fatal:60,error:50,warn:40,info:30,verbose:25,debug:20,trace:10',
96
101
  customColors: 'fatal:bgRed,error:red,warn:yellow,info:green,verbose:magenta,debug:blue,trace:gray',
97
102
  minimumLevel: 'trace',
98
- singleLine: !parseBooleanEnv(process.env['LOG_MULTILINE']),
103
+ singleLine: !parseBooleanEnv(process.env['LOG_MULTILINE'])
99
104
  };
100
105
  const prettyTransport = {
101
106
  target: 'pino-pretty',
102
107
  options: pinoPrettyOpts,
103
- level: 'trace',
108
+ level: 'trace'
104
109
  };
105
110
  // Transport for vanilla stdio logging as JSON.
106
111
  const stdioTransport = {
107
112
  target: 'pino/file',
108
- options: { destination: 2 },
109
- level: 'trace',
113
+ options: {
114
+ destination: 2
115
+ },
116
+ level: 'trace'
110
117
  };
111
118
  // Transport for OpenTelemetry logging. While defining this here is an abstraction leakage since this
112
119
  // should live in the telemetry-client, it is necessary to ensure that the logger is initialized with
@@ -116,65 +123,78 @@ const stdioTransport = {
116
123
  // since pino will load this transport separately on a worker thread, to minimize disruption to the main loop.
117
124
  const otlpEndpoint = process.env['OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'];
118
125
  const otlpEnabled = !!otlpEndpoint && !useGcloudLogging;
119
- const otelOpts = { levels };
126
+ const otelOpts = {
127
+ levels
128
+ };
120
129
  const otelTransport = {
121
130
  target: '@aztec/telemetry-client/otel-pino-stream',
122
131
  options: otelOpts,
123
- level: 'trace',
132
+ level: 'trace'
124
133
  };
125
134
  function makeLogger() {
126
135
  if (!isNode) {
127
136
  // We are on the browser.
128
- return pino({ ...pinoOpts, browser: { asObject: false } });
129
- }
130
- // If running in a child process then cancel this if statement section by uncommenting below
131
- // else if (false) {
132
- else if (process.env.JEST_WORKER_ID) {
137
+ return pino({
138
+ ...pinoOpts,
139
+ browser: {
140
+ asObject: false
141
+ }
142
+ });
143
+ } else if (process.env.JEST_WORKER_ID) {
133
144
  // We are on jest, so we need sync logging and stream to stderr.
134
145
  // We expect jest/setup.mjs to kick in later and replace set up a pretty logger,
135
146
  // but if for some reason it doesn't, at least we're covered with a default logger.
136
147
  return pino(pinoOpts, pino.destination(2));
137
- }
138
- else {
148
+ } else {
139
149
  // Regular nodejs with transports on worker thread, using pino-pretty for console logging if LOG_JSON
140
150
  // is not set, and an optional OTLP transport if the OTLP endpoint is set.
141
151
  const targets = compactArray([
142
152
  parseBooleanEnv(process.env.LOG_JSON) ? stdioTransport : prettyTransport,
143
- otlpEnabled ? otelTransport : undefined,
153
+ otlpEnabled ? otelTransport : undefined
144
154
  ]);
145
- return pino(pinoOpts, pino.transport({ targets, levels: levels.values }));
155
+ return pino(pinoOpts, pino.transport({
156
+ targets,
157
+ levels: levels.values
158
+ }));
146
159
  }
147
160
  }
148
- const logger = makeLogger();
161
+ export const logger = makeLogger();
149
162
  // Log the logger configuration.
150
163
  logger.verbose({
151
164
  module: 'logger',
152
- ...logFilters.reduce((accum, [module, level]) => ({ ...accum, [`log.${module}`]: level }), {}),
153
- }, isNode
154
- ? `Logger initialized with level ${logLevel}` + (otlpEnabled ? ` with OTLP exporter to ${otlpEndpoint}` : '')
155
- : `Browser console logger initialized with level ${logLevel}`);
165
+ ...logFilters.reduce((accum, [module, level])=>({
166
+ ...accum,
167
+ [`log.${module}`]: level
168
+ }), {})
169
+ }, isNode ? `Logger initialized with level ${logLevel}` + (otlpEnabled ? ` with OTLP exporter to ${otlpEndpoint}` : '') : `Browser console logger initialized with level ${logLevel}`);
156
170
  /**
157
171
  * Overwrites the logging stream with a different destination.
158
172
  * Used by jest/setup.mjs to set up a pretty logger.
159
- */
160
- export function overwriteLoggingStream(stream) {
173
+ */ export function overwriteLoggingStream(stream) {
161
174
  logger[symbols.streamSym] = stream;
162
175
  }
163
176
  /**
164
177
  * Registers an additional destination to the pino logger.
165
178
  * Use only when working with destinations, not worker transports.
166
- */
167
- export function registerLoggingStream(stream) {
168
- logger.verbose({ module: 'logger' }, `Registering additional logging stream`);
179
+ */ export function registerLoggingStream(stream) {
180
+ logger.verbose({
181
+ module: 'logger'
182
+ }, `Registering additional logging stream`);
169
183
  const original = logger[symbols.streamSym];
170
- const destination = original
171
- ? pino.multistream([
172
- // Set streams to lowest logging level, and control actual logging from the parent logger
173
- // otherwise streams default to info and refuse to log anything below that.
174
- { level: 'trace', stream: original },
175
- { level: 'trace', stream },
176
- ], { levels: levels.values })
177
- : stream;
184
+ const destination = original ? pino.multistream([
185
+ // Set streams to lowest logging level, and control actual logging from the parent logger
186
+ // otherwise streams default to info and refuse to log anything below that.
187
+ {
188
+ level: 'trace',
189
+ stream: original
190
+ },
191
+ {
192
+ level: 'trace',
193
+ stream
194
+ }
195
+ ], {
196
+ levels: levels.values
197
+ }) : stream;
178
198
  logger[symbols.streamSym] = destination;
179
199
  }
180
200
  /**
@@ -182,8 +202,6 @@ export function registerLoggingStream(stream) {
182
202
  * @param msg - Log message
183
203
  * @param err - Error to log
184
204
  * @returns A string with both the log message and the error message.
185
- */
186
- function formatErr(msg, err) {
205
+ */ function formatErr(msg, err) {
187
206
  return err ? `${msg}: ${inspect(err)}` : msg;
188
207
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluby1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL3Bpbm8tbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0QsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJcEUsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjLEVBQUUsVUFBVSxHQUFHLEVBQUU7SUFDMUQsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsc0JBQXNCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVuRyx3REFBd0Q7SUFDeEQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRXpELHNGQUFz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
@@ -1,5 +1,7 @@
1
1
  export class MessageHeader {
2
- constructor({ messageId, requestId }) {
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 }){
3
5
  this.messageId = messageId ?? 0;
4
6
  this.requestId = requestId ?? 0;
5
7
  }
@@ -8,7 +10,10 @@ export class MessageHeader {
8
10
  }
9
11
  }
10
12
  export class TypedMessage {
11
- constructor(msgType, header, value) {
13
+ msgType;
14
+ header;
15
+ value;
16
+ constructor(msgType, header, value){
12
17
  this.msgType = msgType;
13
18
  this.header = header;
14
19
  this.value = value;
@@ -20,4 +25,3 @@ export class TypedMessage {
20
25
  return typeof obj === 'object' && obj !== null && 'msgType' in obj && 'header' in obj && 'value' in obj;
21
26
  }
22
27
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLE9BQU8sYUFBYTtJQU14QixZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBcUI7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBeUIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQVdELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQW1DLE9BQVUsRUFBa0IsTUFBcUIsRUFBa0IsS0FBUTtRQUEzRSxZQUFPLEdBQVAsT0FBTyxDQUFHO1FBQWtCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFBa0IsVUFBSyxHQUFMLEtBQUssQ0FBRztJQUFHLENBQUM7SUFFbEgsTUFBTSxDQUFDLGVBQWUsQ0FBTyxJQUFzQjtRQUNqRCxPQUFPLElBQUksWUFBWSxDQUFPLElBQUksQ0FBQyxTQUFTLENBQU0sRUFBRSxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBUTtRQUNoQyxPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxPQUFPLElBQUksR0FBRyxDQUFDO0lBQzFHLENBQUM7Q0FDRiJ9
@@ -1,4 +1,4 @@
1
- import { type MutexDatabase } from './mutex_database.js';
1
+ import type { MutexDatabase } from './mutex_database.js';
2
2
  export * from './mutex_database.js';
3
3
  /**
4
4
  * Mutex class provides a mutual exclusion mechanism for critical sections of code using a named lock.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,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;gBAGlB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,SAAO,EACd,eAAe,SAAO,EACtB,YAAY,SAAO;IAGtC;;;;;;;OAOG;IACU,IAAI,CAAC,aAAa,UAAO;IAetC;;;;;;OAMG;IACU,MAAM;IAMnB;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI;CASb"}
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;gBAGlB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,SAAO,EACd,eAAe,SAAO,EACtB,YAAY,SAAO;IAGtC;;;;;;;OAOG;IACU,IAAI,CAAC,aAAa,UAAO;IAetC;;;;;;OAMG;IACU,MAAM;IAMnB;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI;CASb"}
@@ -12,9 +12,15 @@ export * from './mutex_database.js';
12
12
  * await mutex.lock();
13
13
  * // Critical section here
14
14
  * await mutex.unlock();
15
- */
16
- export class Mutex {
17
- constructor(db, name, timeout = 5000, tryLockInterval = 2000, pingInterval = 2000) {
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){
18
24
  this.db = db;
19
25
  this.name = name;
20
26
  this.timeout = timeout;
@@ -23,54 +29,50 @@ export class Mutex {
23
29
  this.id = 0;
24
30
  }
25
31
  /**
26
- * Acquire a lock on the mutex. If 'untilAcquired' is true, the method will keep trying to acquire the lock until it
27
- * successfully acquires it. If 'untilAcquired' is false, the method will try to acquire the lock once and return
28
- * immediately with a boolean indicating if the lock has been acquired or not.
29
- *
30
- * @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.
31
- * @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.
32
- */
33
- async lock(untilAcquired = true) {
34
- while (true) {
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){
35
40
  if (await this.db.acquireLock(this.name, this.timeout)) {
36
41
  const id = this.id;
37
- this.pingTimeout = setTimeout(() => this.ping(id), this.pingInterval);
42
+ this.pingTimeout = setTimeout(()=>this.ping(id), this.pingInterval);
38
43
  return true;
39
44
  }
40
45
  if (!untilAcquired) {
41
46
  return false;
42
47
  }
43
- await new Promise(resolve => setTimeout(resolve, this.tryLockInterval));
48
+ await new Promise((resolve)=>setTimeout(resolve, this.tryLockInterval));
44
49
  }
45
50
  }
46
51
  /**
47
- * Unlocks the mutex, allowing other instances to acquire the lock.
48
- * This method also clears the internal ping timeout and increments the internal ID
49
- * to ensure stale pings do not extend the lock after it has been released.
50
- *
51
- * @returns A promise that resolves once the lock has been released in the database.
52
- */
53
- async unlock() {
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() {
54
58
  clearTimeout(this.pingTimeout);
55
59
  this.id++;
56
60
  await this.db.releaseLock(this.name);
57
61
  }
58
62
  /**
59
- * Periodically extends the lock's lifetime by updating the database record with a new expiration time.
60
- * This method is called recursively using setTimeout. If the id passed to the ping method does not match
61
- * the current lock instance's id, it means the lock has been released or acquired by another instance
62
- * and the ping should not proceed further.
63
- *
64
- * @param id - The id of the current lock instance.
65
- */
66
- ping(id) {
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) {
67
70
  if (id !== this.id) {
68
71
  return;
69
72
  }
70
- void (async () => {
73
+ void (async ()=>{
71
74
  await this.db.extendLock(this.name, this.timeout);
72
- this.pingTimeout = setTimeout(() => this.ping(id), this.pingInterval);
75
+ this.pingTimeout = setTimeout(()=>this.ping(id), this.pingInterval);
73
76
  })();
74
77
  }
75
78
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXV0ZXgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxPQUFPLEtBQUs7SUFJaEIsWUFDbUIsRUFBaUIsRUFDakIsSUFBWSxFQUNaLFVBQVUsSUFBSSxFQUNkLGtCQUFrQixJQUFJLEVBQ3RCLGVBQWUsSUFBSTtRQUpuQixPQUFFLEdBQUYsRUFBRSxDQUFlO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFPO1FBQ2Qsb0JBQWUsR0FBZixlQUFlLENBQU87UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQU87UUFSOUIsT0FBRSxHQUFHLENBQUMsQ0FBQztJQVNaLENBQUM7SUFFSjs7Ozs7OztPQU9HO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSTtRQUNwQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFFRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzFFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLE1BQU07UUFDakIsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLElBQUksQ0FBQyxFQUFVO1FBQ3JCLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQixPQUFPO1FBQ1QsQ0FBQztRQUNELEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNmLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLENBQUM7Q0FDRiJ9
@@ -1,2 +1,4 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0ZXhfZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXV0ZXgvbXV0ZXhfZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
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 { };
@@ -1,2 +1 @@
1
1
  export * from './noir_package_config.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbm9pci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDIn0=
@@ -2,30 +2,35 @@ import { z } from 'zod';
2
2
  const noirGitDependencySchema = z.object({
3
3
  git: z.string(),
4
4
  tag: z.string(),
5
- directory: z.string().optional(),
5
+ directory: z.string().optional()
6
6
  });
7
7
  const noirLocalDependencySchema = z.object({
8
- path: z.string(),
8
+ path: z.string()
9
9
  });
10
10
  const noirPackageConfigSchema = z.object({
11
11
  package: z.object({
12
12
  name: z.string().default(''),
13
- type: z.enum(['lib', 'contract', 'bin']).default('bin'),
13
+ type: z.enum([
14
+ 'lib',
15
+ 'contract',
16
+ 'bin'
17
+ ]).default('bin'),
14
18
  entry: z.string().optional(),
15
19
  description: z.string().optional(),
16
20
  authors: z.array(z.string()).optional(),
17
21
  // eslint-disable-next-line camelcase
18
22
  compiler_version: z.string().optional(),
19
23
  backend: z.string().optional(),
20
- license: z.string().optional(),
24
+ license: z.string().optional()
21
25
  }),
22
- dependencies: z.record(z.union([noirGitDependencySchema, noirLocalDependencySchema])).default({}),
26
+ dependencies: z.record(z.union([
27
+ noirGitDependencySchema,
28
+ noirLocalDependencySchema
29
+ ])).default({})
23
30
  });
24
31
  /**
25
32
  * Checks that an object is a package configuration.
26
33
  * @param config - Config to check
27
- */
28
- export function parseNoirPackageConfig(config) {
34
+ */ export function parseNoirPackageConfig(config) {
29
35
  return noirPackageConfigSchema.parse(config);
30
36
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pcl9wYWNrYWdlX2NvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL25vaXJfcGFja2FnZV9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2pDLENBQUMsQ0FBQztBQUVILE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNqQixDQUFDLENBQUM7QUFFSCxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzVCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkQsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDNUIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDbEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3ZDLHFDQUFxQztRQUNyQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQzlCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQy9CLENBQUM7SUFDRixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsdUJBQXVCLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztDQUNsRyxDQUFDLENBQUM7QUFzQkg7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQVc7SUFDaEQsT0FBTyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0MsQ0FBQyJ9
@@ -1,3 +1,2 @@
1
1
  export * from './running-promise.js';
2
2
  export * from './utils.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvbWlzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsWUFBWSxDQUFDIn0=
@@ -1,3 +1,7 @@
1
+ import { type Logger } from '../log/pino-logger.js';
2
+ declare const EXIT: unique symbol;
3
+ export type ErrorHandler = (err: unknown) => typeof EXIT | void | Promise<typeof EXIT | void>;
4
+ export declare function makeLoggingErrorHandler(logger: Logger, ...ignoredErrors: (new (...args: any[]) => Error)[]): ErrorHandler;
1
5
  /**
2
6
  * RunningPromise is a utility class that helps manage the execution of an asynchronous function
3
7
  * at a specified polling interval. It allows starting, stopping, and checking the status of the
@@ -7,12 +11,13 @@ export declare class RunningPromise {
7
11
  private fn;
8
12
  private logger;
9
13
  private pollingIntervalMS;
10
- private ignoredErrors;
14
+ private handleError;
11
15
  private running;
12
16
  private runningPromise;
13
17
  private interruptibleSleep;
14
18
  private requested;
15
- constructor(fn: () => void | Promise<void>, logger?: import("../log/pino-logger.js").Logger, pollingIntervalMS?: number, ignoredErrors?: (new (...args: any[]) => Error)[]);
19
+ static readonly EXIT: typeof EXIT;
20
+ constructor(fn: () => void | Promise<void>, logger?: Logger, pollingIntervalMS?: number, handleError?: ErrorHandler);
16
21
  /**
17
22
  * Starts the running promise.
18
23
  */
@@ -38,4 +43,5 @@ export declare class RunningPromise {
38
43
  */
39
44
  setPollingIntervalMS(pollingIntervalMS: number): void;
40
45
  }
46
+ export {};
41
47
  //# sourceMappingURL=running-promise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,qBAAa,cAAc;IAOvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,aAAa;IATvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,SAAS,CAAqD;gBAG5D,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9B,MAAM,yCAAkC,EACxC,iBAAiB,SAAQ,EACzB,aAAa,GAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAO;IAG/D;;OAEG;IACI,KAAK;IAiCZ;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;OAGG;IACI,SAAS;IAIhB;;;OAGG;IACU,OAAO;IAcpB;;;OAGG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;CAG/C"}
1
+ {"version":3,"file":"running-promise.d.ts","sourceRoot":"","sources":["../../src/promise/running-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,QAAA,MAAM,IAAI,eAAoC,CAAC;AAE/C,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;AAE9F,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,aAAa,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,EAAE,GAClD,YAAY,CAMd;AAED;;;;GAIG;AACH,qBAAa,cAAc;IASvB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,WAAW;IAXrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,SAAS,CAAqD;IAEtE,gBAAuB,IAAI,EAAE,OAAO,IAAI,CAAQ;gBAGtC,EAAE,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC9B,MAAM,SAAkC,EACxC,iBAAiB,SAAQ,EACzB,WAAW,GAAE,YAA8C;IAGrE;;OAEG;IACI,KAAK;IAmCZ;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;OAGG;IACI,SAAS;IAIhB;;;OAGG;IACU,OAAO;IAcpB;;;OAGG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;CAG/C"}