@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
@@ -1,21 +1,14 @@
1
- import { OK, ZodFirstPartyTypeKind, ZodOptional, ZodParsedType, z, } from 'zod';
1
+ import { OK, ZodFirstPartyTypeKind, ZodOptional, ZodParsedType, z } from 'zod';
2
2
  import { pick } from '../collection/object.js';
3
3
  import { isHex, withoutHexPrefix } from '../string/index.js';
4
4
  export const hexSchema = z.string().refine(isHex, 'Not a valid hex string').transform(withoutHexPrefix);
5
5
  // Copied from zod internals, which was copied from https://stackoverflow.com/questions/7860392/determine-if-string-is-in-base64-using-javascript
6
6
  const base64Regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
7
- /** Schema for a buffer represented as a base64 string. */
8
- export const bufferSchema = z
9
- .string()
10
- // We only test the str for base64 if it's shorter than 1024 bytes, otherwise we've run into maximum
11
- // stack size exceeded errors when trying to validate excessively long strings (such as contract bytecode).
12
- .refine(str => str.length > 1024 || base64Regex.test(str), 'Not a valid base64 string')
13
- .transform(data => Buffer.from(data, 'base64'));
7
+ /** Schema for a buffer represented as a base64 string. */ export const bufferSchema = z.string()// We only test the str for base64 if it's shorter than 1024 bytes, otherwise we've run into maximum
8
+ // stack size exceeded errors when trying to validate excessively long strings (such as contract bytecode).
9
+ .refine((str)=>str.length > 1024 || base64Regex.test(str), 'Not a valid base64 string').transform((data)=>Buffer.from(data, 'base64'));
14
10
  export class ZodNullableOptional extends ZodOptional {
15
- constructor() {
16
- super(...arguments);
17
- this._isNullableOptional = true;
18
- }
11
+ _isNullableOptional = true;
19
12
  _parse(input) {
20
13
  const parsedType = this._getType(input);
21
14
  if (parsedType === ZodParsedType.undefined || parsedType === ZodParsedType.null) {
@@ -26,7 +19,7 @@ export class ZodNullableOptional extends ZodOptional {
26
19
  static create(type) {
27
20
  return new ZodNullableOptional({
28
21
  innerType: type,
29
- typeName: ZodFirstPartyTypeKind.ZodOptional,
22
+ typeName: ZodFirstPartyTypeKind.ZodOptional
30
23
  });
31
24
  }
32
25
  }
@@ -34,40 +27,34 @@ export class ZodNullableOptional extends ZodOptional {
34
27
  * Declares a parameter as optional. Use this over z.optional in order to accept nulls as undefineds.
35
28
  * This is required as JSON does not have an undefined type, and null is used to represent it, so we
36
29
  * need to convert nulls to undefineds as we parse.
37
- */
38
- export function optional(schema) {
30
+ */ export function optional(schema) {
39
31
  return ZodNullableOptional.create(schema);
40
32
  }
41
33
  /**
42
34
  * Creates a schema that accepts a hex string and uses it to hydrate an instance.
43
35
  * @param klazz - Class that implements either fromString or fromBuffer.
44
36
  * @returns A schema for the class.
45
- */
46
- export function hexSchemaFor(klazz, refinement) {
37
+ */ export function hexSchemaFor(klazz, refinement) {
47
38
  const stringSchema = refinement ? z.string().refine(refinement, `Not a valid instance`) : z.string();
48
39
  const hexSchema = stringSchema.refine(isHex, 'Not a valid hex string');
49
- return 'fromString' in klazz
50
- ? hexSchema.transform(klazz.fromString.bind(klazz))
51
- : hexSchema.transform(str => Buffer.from(withoutHexPrefix(str), 'hex')).transform(klazz.fromBuffer.bind(klazz));
40
+ return 'fromString' in klazz ? hexSchema.transform(klazz.fromString.bind(klazz)) : hexSchema.transform((str)=>Buffer.from(withoutHexPrefix(str), 'hex')).transform(klazz.fromBuffer.bind(klazz));
52
41
  }
53
42
  /**
54
43
  * Creates a schema that accepts a base64 string and uses it to hydrate an instance.
55
44
  * @param klazz - Class that implements fromBuffer.
56
45
  * @returns A schema for the class.
57
- */
58
- export function bufferSchemaFor(klazz) {
46
+ */ export function bufferSchemaFor(klazz) {
59
47
  return bufferSchema.transform(klazz.fromBuffer.bind(klazz));
60
48
  }
61
- /** Creates a schema for a js Map type that matches the serialization used in jsonStringify. */
62
- export function mapSchema(key, value) {
63
- return z.array(z.tuple([key, value])).transform(entries => new Map(entries));
49
+ /** Creates a schema for a js Map type that matches the serialization used in jsonStringify. */ export function mapSchema(key, value) {
50
+ return z.array(z.tuple([
51
+ key,
52
+ value
53
+ ])).transform((entries)=>new Map(entries));
64
54
  }
65
- /** Creates a schema for a js Set type that matches the serialization used in jsonStringify. */
66
- export function setSchema(value) {
67
- return z.array(value).transform(entries => new Set(entries));
55
+ /** Creates a schema for a js Set type that matches the serialization used in jsonStringify. */ export function setSchema(value) {
56
+ return z.array(value).transform((entries)=>new Set(entries));
68
57
  }
69
- /** Given an already parsed and validated object, extracts the keys defined in the given schema. Does not validate again. */
70
- export function pickFromSchema(obj, schema) {
58
+ /** Given an already parsed and validated object, extracts the keys defined in the given schema. Does not validate again. */ export function pickFromSchema(obj, schema) {
71
59
  return pick(obj, ...Object.keys(schema.shape));
72
60
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NoZW1hcy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsRUFBRSxFQUdGLHFCQUFxQixFQUVyQixXQUFXLEVBQ1gsYUFBYSxFQUliLENBQUMsR0FDRixNQUFNLEtBQUssQ0FBQztBQUViLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHN0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFeEcsaUpBQWlKO0FBQ2pKLE1BQU0sV0FBVyxHQUFHLGtFQUFrRSxDQUFDO0FBRXZGLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQztLQUMxQixNQUFNLEVBQUU7SUFDVCxvR0FBb0c7SUFDcEcsMkdBQTJHO0tBQzFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsMkJBQTJCLENBQUM7S0FDdEYsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUVsRCxNQUFNLE9BQU8sbUJBQTBDLFNBQVEsV0FBYztJQUE3RTs7UUFDRSx3QkFBbUIsR0FBRyxJQUFJLENBQUM7SUFnQjdCLENBQUM7SUFkVSxNQUFNLENBQUMsS0FBaUI7UUFDL0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FB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
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type Tuple } from './types.js';
3
+ import type { Tuple } from './types.js';
4
4
  /**
5
5
  * The BufferReader class provides a utility for reading various data types from a buffer.
6
6
  * It supports reading numbers, booleans, byte arrays, Fr and Fq field elements,
@@ -1 +1 @@
1
- {"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IAI9C;;;;;;;OAOG;WACW,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY;IAYxF,0EAA0E;IACnE,OAAO,IAAI,OAAO;IAIzB;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;OAIG;IACI,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAKhE;;;;;;;OAOG;IACI,WAAW,IAAI,MAAM;IAY5B;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAM1B;;;;;;OAMG;IACI,WAAW,IAAI,OAAO;IAM7B;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAMnC,yCAAyC;IAClC,SAAS,IAAI,MAAM;IAM1B;;;;;OAKG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAMnC;;;;;;;;OAQG;IACI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACrC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;OAQG;IACI,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,EAAE;QAChD;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;;OAOG;IACI,eAAe,CAAC,IAAI,SAAK,GAAG,MAAM,EAAE;IAiB3C;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC;IAIL;;;;;;OAMG;IACI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKpC;;;;;;OAMG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;;;OAOG;IACI,cAAc,IAAI,UAAU;IAMnC;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC9B;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;IAWxB;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B;;;OAGG;IACI,cAAc,IAAI,MAAM;CAWhC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IAI9C;;;;;;;OAOG;WACW,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY;IAYxF,0EAA0E;IACnE,OAAO,IAAI,OAAO;IAIzB;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;OAIG;IACI,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAKhE;;;;;;;OAOG;IACI,WAAW,IAAI,MAAM;IAY5B;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAM1B;;;;;;OAMG;IACI,WAAW,IAAI,OAAO;IAM7B;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAMnC,yCAAyC;IAClC,SAAS,IAAI,MAAM;IAM1B;;;;;OAKG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAMnC;;;;;;;;OAQG;IACI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACrC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;OAQG;IACI,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,EAAE;QAChD;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;;OAOG;IACI,eAAe,CAAC,IAAI,SAAK,GAAG,MAAM,EAAE;IAiB3C;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC;IAIL;;;;;;OAMG;IACI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKpC;;;;;;OAMG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;;;OAOG;IACI,cAAc,IAAI,UAAU;IAMnC;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC9B;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;IAWxB;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B;;;OAGG;IACI,cAAc,IAAI,MAAM;CAWhC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B"}
@@ -1,5 +1,3 @@
1
- var _BufferReader_instances, _BufferReader_rangeCheck;
2
- import { __classPrivateFieldGet } from "tslib";
3
1
  /**
4
2
  * The BufferReader class provides a utility for reading various data types from a buffer.
5
3
  * It supports reading numbers, booleans, byte arrays, Fr and Fq field elements,
@@ -16,196 +14,183 @@ import { __classPrivateFieldGet } from "tslib";
16
14
  * const num = reader.readNumber();
17
15
  * const bool = reader.readBoolean();
18
16
  * const byteArray = reader.readBytes(4);
19
- */
20
- export class BufferReader {
21
- constructor(buffer, offset = 0) {
22
- _BufferReader_instances.add(this);
17
+ */ export class BufferReader {
18
+ buffer;
19
+ index;
20
+ constructor(buffer, offset = 0){
23
21
  this.buffer = buffer;
24
22
  this.index = offset;
25
23
  }
26
24
  /**
27
- * Creates a BufferReader instance from either a Buffer or an existing BufferReader.
28
- * If the input is a Buffer, it creates a new BufferReader with the given buffer.
29
- * If the input is already a BufferReader, it returns the input unchanged.
30
- *
31
- * @param bufferOrReader - A Buffer or BufferReader to initialize the BufferReader.
32
- * @returns An instance of BufferReader.
33
- */
34
- static asReader(bufferOrReader) {
25
+ * Creates a BufferReader instance from either a Buffer or an existing BufferReader.
26
+ * If the input is a Buffer, it creates a new BufferReader with the given buffer.
27
+ * If the input is already a BufferReader, it returns the input unchanged.
28
+ *
29
+ * @param bufferOrReader - A Buffer or BufferReader to initialize the BufferReader.
30
+ * @returns An instance of BufferReader.
31
+ */ static asReader(bufferOrReader) {
35
32
  if (bufferOrReader instanceof BufferReader) {
36
33
  return bufferOrReader;
37
34
  }
38
- const buf = Buffer.isBuffer(bufferOrReader)
39
- ? bufferOrReader
40
- : Buffer.from(bufferOrReader.buffer, bufferOrReader.byteOffset, bufferOrReader.byteLength);
35
+ const buf = Buffer.isBuffer(bufferOrReader) ? bufferOrReader : Buffer.from(bufferOrReader.buffer, bufferOrReader.byteOffset, bufferOrReader.byteLength);
41
36
  return new BufferReader(buf);
42
37
  }
43
- /** Returns true if the underlying buffer has been consumed completely. */
44
- isEmpty() {
38
+ /** Returns true if the underlying buffer has been consumed completely. */ isEmpty() {
45
39
  return this.index === this.buffer.length;
46
40
  }
47
41
  /**
48
- * Reads a 32-bit unsigned integer from the buffer at the current index position.
49
- * Updates the index position by 4 bytes after reading the number.
50
- *
51
- * @returns The read 32-bit unsigned integer value.
52
- */
53
- readNumber() {
54
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, 4);
42
+ * Reads a 32-bit unsigned integer from the buffer at the current index position.
43
+ * Updates the index position by 4 bytes after reading the number.
44
+ *
45
+ * @returns The read 32-bit unsigned integer value.
46
+ */ readNumber() {
47
+ this.#rangeCheck(4);
55
48
  this.index += 4;
56
49
  return this.buffer.readUint32BE(this.index - 4);
57
50
  }
58
51
  /**
59
- * Reads `count` 32-bit unsigned integers from the buffer at the current index position.
60
- * @param count - The number of 32-bit unsigned integers to read.
61
- * @returns An array of 32-bit unsigned integers.
62
- */
63
- readNumbers(count) {
64
- const result = Array.from({ length: count }, () => this.readNumber());
52
+ * Reads `count` 32-bit unsigned integers from the buffer at the current index position.
53
+ * @param count - The number of 32-bit unsigned integers to read.
54
+ * @returns An array of 32-bit unsigned integers.
55
+ */ readNumbers(count) {
56
+ const result = Array.from({
57
+ length: count
58
+ }, ()=>this.readNumber());
65
59
  return result;
66
60
  }
67
61
  /**
68
- * Reads a 256-bit unsigned integer from the buffer at the current index position.
69
- * Updates the index position by 32 bytes after reading the number.
70
- *
71
- * Assumes the number is stored in big-endian format.
72
- *
73
- * @returns The read 256 bit value as a bigint.
74
- */
75
- readUInt256() {
76
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, 32);
62
+ * Reads a 256-bit unsigned integer from the buffer at the current index position.
63
+ * Updates the index position by 32 bytes after reading the number.
64
+ *
65
+ * Assumes the number is stored in big-endian format.
66
+ *
67
+ * @returns The read 256 bit value as a bigint.
68
+ */ readUInt256() {
69
+ this.#rangeCheck(32);
77
70
  let result = BigInt(0);
78
- for (let i = 0; i < 32; i++) {
79
- result = (result << BigInt(8)) | BigInt(this.buffer[this.index + i]);
71
+ for(let i = 0; i < 32; i++){
72
+ result = result << BigInt(8) | BigInt(this.buffer[this.index + i]);
80
73
  }
81
74
  this.index += 32;
82
75
  return result;
83
76
  }
84
77
  /**
85
- * Reads a 16-bit unsigned integer from the buffer at the current index position.
86
- * Updates the index position by 2 bytes after reading the number.
87
- *
88
- * @returns The read 16 bit value.
89
- */
90
- readUInt16() {
91
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, 2);
78
+ * Reads a 16-bit unsigned integer from the buffer at the current index position.
79
+ * Updates the index position by 2 bytes after reading the number.
80
+ *
81
+ * @returns The read 16 bit value.
82
+ */ readUInt16() {
83
+ this.#rangeCheck(2);
92
84
  this.index += 2;
93
85
  return this.buffer.readUInt16BE(this.index - 2);
94
86
  }
95
87
  /**
96
- * Reads a 8-bit unsigned integer from the buffer at the current index position.
97
- * Updates the index position by 1 byte after reading the number.
98
- *
99
- * @returns The read 8 bit value.
100
- */
101
- readUInt8() {
102
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, 1);
88
+ * Reads a 8-bit unsigned integer from the buffer at the current index position.
89
+ * Updates the index position by 1 byte after reading the number.
90
+ *
91
+ * @returns The read 8 bit value.
92
+ */ readUInt8() {
93
+ this.#rangeCheck(1);
103
94
  this.index += 1;
104
95
  return this.buffer.readUInt8(this.index - 1);
105
96
  }
106
97
  /**
107
- * Reads and returns the next boolean value from the buffer.
108
- * Advances the internal index by 1, treating the byte at the current index as a boolean value.
109
- * Returns true if the byte is non-zero, false otherwise.
110
- *
111
- * @returns A boolean value representing the byte at the current index.
112
- */
113
- readBoolean() {
114
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, 1);
98
+ * Reads and returns the next boolean value from the buffer.
99
+ * Advances the internal index by 1, treating the byte at the current index as a boolean value.
100
+ * Returns true if the byte is non-zero, false otherwise.
101
+ *
102
+ * @returns A boolean value representing the byte at the current index.
103
+ */ readBoolean() {
104
+ this.#rangeCheck(1);
115
105
  this.index += 1;
116
106
  return Boolean(this.buffer.at(this.index - 1));
117
107
  }
118
108
  /**
119
- * Reads a specified number of bytes from the buffer and returns a new Buffer containing those bytes.
120
- * Advances the reader's index by the number of bytes read. Throws an error if there are not enough
121
- * bytes left in the buffer to satisfy the requested number of bytes.
122
- *
123
- * @param n - The number of bytes to read from the buffer.
124
- * @returns A new Buffer containing the read bytes.
125
- */
126
- readBytes(n) {
127
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, n);
109
+ * Reads a specified number of bytes from the buffer and returns a new Buffer containing those bytes.
110
+ * Advances the reader's index by the number of bytes read. Throws an error if there are not enough
111
+ * bytes left in the buffer to satisfy the requested number of bytes.
112
+ *
113
+ * @param n - The number of bytes to read from the buffer.
114
+ * @returns A new Buffer containing the read bytes.
115
+ */ readBytes(n) {
116
+ this.#rangeCheck(n);
128
117
  this.index += n;
129
118
  return Buffer.from(this.buffer.subarray(this.index - n, this.index));
130
119
  }
131
- /** Reads until the end of the buffer. */
132
- readToEnd() {
120
+ /** Reads until the end of the buffer. */ readToEnd() {
133
121
  const result = this.buffer.subarray(this.index);
134
122
  this.index = this.buffer.length;
135
123
  return result;
136
124
  }
137
125
  /**
138
- * Reads a vector of numbers from the buffer and returns it as an array of numbers.
139
- * The method utilizes the 'readVector' method, passing a deserializer that reads numbers.
140
- *
141
- * @returns An array of numbers representing the vector read from the buffer.
142
- */
143
- readNumberVector() {
126
+ * Reads a vector of numbers from the buffer and returns it as an array of numbers.
127
+ * The method utilizes the 'readVector' method, passing a deserializer that reads numbers.
128
+ *
129
+ * @returns An array of numbers representing the vector read from the buffer.
130
+ */ readNumberVector() {
144
131
  return this.readVector({
145
- fromBuffer: (reader) => reader.readNumber(),
132
+ fromBuffer: (reader)=>reader.readNumber()
146
133
  });
147
134
  }
148
135
  /**
149
- * Reads a vector of fixed size from the buffer and deserializes its elements using the provided itemDeserializer object.
150
- * The 'itemDeserializer' object should have a 'fromBuffer' method that takes a BufferReader instance and returns the deserialized element.
151
- * The method first reads the size of the vector (a number) from the buffer, then iterates through its elements,
152
- * deserializing each one using the 'fromBuffer' method of 'itemDeserializer'.
153
- *
154
- * @param itemDeserializer - Object with 'fromBuffer' method to deserialize vector elements.
155
- * @returns An array of deserialized elements of type T.
156
- */
157
- readVector(itemDeserializer) {
136
+ * Reads a vector of fixed size from the buffer and deserializes its elements using the provided itemDeserializer object.
137
+ * The 'itemDeserializer' object should have a 'fromBuffer' method that takes a BufferReader instance and returns the deserialized element.
138
+ * The method first reads the size of the vector (a number) from the buffer, then iterates through its elements,
139
+ * deserializing each one using the 'fromBuffer' method of 'itemDeserializer'.
140
+ *
141
+ * @param itemDeserializer - Object with 'fromBuffer' method to deserialize vector elements.
142
+ * @returns An array of deserialized elements of type T.
143
+ */ readVector(itemDeserializer) {
158
144
  const size = this.readNumber();
159
145
  const result = new Array(size);
160
- for (let i = 0; i < size; i++) {
146
+ for(let i = 0; i < size; i++){
161
147
  result[i] = itemDeserializer.fromBuffer(this);
162
148
  }
163
149
  return result;
164
150
  }
165
151
  /**
166
- * Reads a vector of fixed size from the buffer and deserializes its elements using the provided itemDeserializer object.
167
- * The 'itemDeserializer' object should have a 'fromBuffer' method that takes a BufferReader instance and returns the deserialized element.
168
- * The method first reads the size of the vector (a number) from the buffer, then iterates through its elements,
169
- * deserializing each one using the 'fromBuffer' method of 'itemDeserializer'.
170
- *
171
- * @param itemDeserializer - Object with 'fromBuffer' method to deserialize vector elements.
172
- * @returns An array of deserialized elements of type T.
173
- */
174
- readVectorUint8Prefix(itemDeserializer) {
152
+ * Reads a vector of fixed size from the buffer and deserializes its elements using the provided itemDeserializer object.
153
+ * The 'itemDeserializer' object should have a 'fromBuffer' method that takes a BufferReader instance and returns the deserialized element.
154
+ * The method first reads the size of the vector (a number) from the buffer, then iterates through its elements,
155
+ * deserializing each one using the 'fromBuffer' method of 'itemDeserializer'.
156
+ *
157
+ * @param itemDeserializer - Object with 'fromBuffer' method to deserialize vector elements.
158
+ * @returns An array of deserialized elements of type T.
159
+ */ readVectorUint8Prefix(itemDeserializer) {
175
160
  const size = this.readUInt8();
176
161
  const result = new Array(size);
177
- for (let i = 0; i < size; i++) {
162
+ for(let i = 0; i < size; i++){
178
163
  result[i] = itemDeserializer.fromBuffer(this);
179
164
  }
180
165
  return result;
181
166
  }
182
167
  /**
183
- * Read an array of a fixed size with elements of type T from the buffer.
184
- * The 'itemDeserializer' object should have a 'fromBuffer' method that takes a BufferReader instance as input,
185
- * and returns an instance of the desired deserialized data type T.
186
- * This method will call the 'fromBuffer' method for each element in the array and return the resulting array.
187
- *
188
- * @param size - The fixed number of elements in the array.
189
- * @param itemDeserializer - An object with a 'fromBuffer' method to deserialize individual elements of type T.
190
- * @returns An array of instances of type T.
191
- */
192
- readArray(size, itemDeserializer) {
193
- const result = Array.from({ length: size }, () => itemDeserializer.fromBuffer(this));
168
+ * Read an array of a fixed size with elements of type T from the buffer.
169
+ * The 'itemDeserializer' object should have a 'fromBuffer' method that takes a BufferReader instance as input,
170
+ * and returns an instance of the desired deserialized data type T.
171
+ * This method will call the 'fromBuffer' method for each element in the array and return the resulting array.
172
+ *
173
+ * @param size - The fixed number of elements in the array.
174
+ * @param itemDeserializer - An object with a 'fromBuffer' method to deserialize individual elements of type T.
175
+ * @returns An array of instances of type T.
176
+ */ readArray(size, itemDeserializer) {
177
+ const result = Array.from({
178
+ length: size
179
+ }, ()=>itemDeserializer.fromBuffer(this));
194
180
  return result;
195
181
  }
196
182
  /**
197
- * Read a variable sized Buffer array where elements are represented by length + data.
198
- * The method consecutively looks for a number which is the size of the proceeding buffer,
199
- * then reads the bytes until it reaches the end of the reader's internal buffer.
200
- * NOTE: if `size` is not provided, this will run to the end of the reader's buffer.
201
- * @param size - Size of the buffer array in bytes (full remaining buffer length if left empty).
202
- * @returns An array of variable sized buffers.
203
- */
204
- readBufferArray(size = -1) {
183
+ * Read a variable sized Buffer array where elements are represented by length + data.
184
+ * The method consecutively looks for a number which is the size of the proceeding buffer,
185
+ * then reads the bytes until it reaches the end of the reader's internal buffer.
186
+ * NOTE: if `size` is not provided, this will run to the end of the reader's buffer.
187
+ * @param size - Size of the buffer array in bytes (full remaining buffer length if left empty).
188
+ * @returns An array of variable sized buffers.
189
+ */ readBufferArray(size = -1) {
205
190
  const result = [];
206
191
  const end = size >= 0 ? this.index + size : this.buffer.length;
207
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, end - this.index);
208
- while (this.index < end) {
192
+ this.#rangeCheck(end - this.index);
193
+ while(this.index < end){
209
194
  const item = this.readBuffer();
210
195
  result.push(item);
211
196
  }
@@ -216,75 +201,69 @@ export class BufferReader {
216
201
  return result;
217
202
  }
218
203
  /**
219
- * Reads a serialized object from a buffer and returns the deserialized object using the given deserializer.
220
- *
221
- * @typeparam T - The type of the deserialized object.
222
- * @param deserializer - An object with a 'fromBuffer' method that takes a BufferReader instance and returns an instance of the deserialized object.
223
- * @returns The deserialized object of type T.
224
- */
225
- readObject(deserializer) {
204
+ * Reads a serialized object from a buffer and returns the deserialized object using the given deserializer.
205
+ *
206
+ * @typeparam T - The type of the deserialized object.
207
+ * @param deserializer - An object with a 'fromBuffer' method that takes a BufferReader instance and returns an instance of the deserialized object.
208
+ * @returns The deserialized object of type T.
209
+ */ readObject(deserializer) {
226
210
  return deserializer.fromBuffer(this);
227
211
  }
228
212
  /**
229
- * Returns a Buffer containing the next n bytes from the current buffer without modifying the reader's index position.
230
- * If n is not provided or exceeds the remaining length of the buffer, it returns all bytes from the current position till the end of the buffer.
231
- *
232
- * @param n - The number of bytes to peek from the current buffer. (Optional).
233
- * @returns A Buffer with the next n bytes or the remaining bytes if n is not provided or exceeds the buffer length.
234
- */
235
- peekBytes(n) {
236
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, n || 0);
213
+ * Returns a Buffer containing the next n bytes from the current buffer without modifying the reader's index position.
214
+ * If n is not provided or exceeds the remaining length of the buffer, it returns all bytes from the current position till the end of the buffer.
215
+ *
216
+ * @param n - The number of bytes to peek from the current buffer. (Optional).
217
+ * @returns A Buffer with the next n bytes or the remaining bytes if n is not provided or exceeds the buffer length.
218
+ */ peekBytes(n) {
219
+ this.#rangeCheck(n || 0);
237
220
  return this.buffer.subarray(this.index, n ? this.index + n : undefined);
238
221
  }
239
222
  /**
240
- * Reads a string from the buffer and returns it.
241
- * The method first reads the size of the string, then reads the corresponding
242
- * number of bytes from the buffer and converts them to a string.
243
- *
244
- * @returns The read string from the buffer.
245
- */
246
- readString() {
223
+ * Reads a string from the buffer and returns it.
224
+ * The method first reads the size of the string, then reads the corresponding
225
+ * number of bytes from the buffer and converts them to a string.
226
+ *
227
+ * @returns The read string from the buffer.
228
+ */ readString() {
247
229
  return this.readBuffer().toString();
248
230
  }
249
231
  /**
250
- * Reads a buffer from the current position of the reader and advances the index.
251
- * The method first reads the size (number) of bytes to be read, and then returns
252
- * a Buffer with that size containing the bytes. Useful for reading variable-length
253
- * binary data encoded as (size, data) format.
254
- *
255
- * @returns A Buffer containing the read bytes.
256
- */
257
- readBuffer() {
232
+ * Reads a buffer from the current position of the reader and advances the index.
233
+ * The method first reads the size (number) of bytes to be read, and then returns
234
+ * a Buffer with that size containing the bytes. Useful for reading variable-length
235
+ * binary data encoded as (size, data) format.
236
+ *
237
+ * @returns A Buffer containing the read bytes.
238
+ */ readBuffer() {
258
239
  const size = this.readNumber();
259
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, size);
240
+ this.#rangeCheck(size);
260
241
  return this.readBytes(size);
261
242
  }
262
243
  /**
263
- * Reads a buffer from the current position of the reader and advances the index.
264
- * The method first reads the size (number) of bytes to be read, and then returns
265
- * a Buffer with that size containing the bytes. Useful for reading variable-length
266
- * binary data encoded as (size, data) format.
267
- *
268
- * @returns A Buffer containing the read bytes.
269
- */
270
- readUint8Array() {
244
+ * Reads a buffer from the current position of the reader and advances the index.
245
+ * The method first reads the size (number) of bytes to be read, and then returns
246
+ * a Buffer with that size containing the bytes. Useful for reading variable-length
247
+ * binary data encoded as (size, data) format.
248
+ *
249
+ * @returns A Buffer containing the read bytes.
250
+ */ readUint8Array() {
271
251
  const size = this.readNumber();
272
- __classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, size);
252
+ this.#rangeCheck(size);
273
253
  return this.readBytes(size);
274
254
  }
275
255
  /**
276
- * Reads and constructs a map object from the current buffer using the provided deserializer.
277
- * The method reads the number of entries in the map, followed by iterating through each key-value pair.
278
- * The key is read as a string, while the value is obtained using the passed deserializer's `fromBuffer` method.
279
- * The resulting map object is returned, containing all the key-value pairs read from the buffer.
280
- *
281
- * @param deserializer - An object with a `fromBuffer` method to deserialize the values in the map.
282
- * @returns A map object with string keys and deserialized values based on the provided deserializer.
283
- */
284
- readMap(deserializer) {
256
+ * Reads and constructs a map object from the current buffer using the provided deserializer.
257
+ * The method reads the number of entries in the map, followed by iterating through each key-value pair.
258
+ * The key is read as a string, while the value is obtained using the passed deserializer's `fromBuffer` method.
259
+ * The resulting map object is returned, containing all the key-value pairs read from the buffer.
260
+ *
261
+ * @param deserializer - An object with a `fromBuffer` method to deserialize the values in the map.
262
+ * @returns A map object with string keys and deserialized values based on the provided deserializer.
263
+ */ readMap(deserializer) {
285
264
  const numEntries = this.readNumber();
286
265
  const map = {};
287
- for (let i = 0; i < numEntries; i++) {
266
+ for(let i = 0; i < numEntries; i++){
288
267
  const key = this.readString();
289
268
  const value = this.readObject(deserializer);
290
269
  map[key] = value;
@@ -292,23 +271,20 @@ export class BufferReader {
292
271
  return map;
293
272
  }
294
273
  /**
295
- * Get the length of the reader's buffer.
296
- * @returns The length of the underlying reader's buffer.
297
- */
298
- getLength() {
274
+ * Get the length of the reader's buffer.
275
+ * @returns The length of the underlying reader's buffer.
276
+ */ getLength() {
299
277
  return this.buffer.length;
300
278
  }
301
279
  /**
302
- * Gets bytes remaining to be read from the buffer.
303
- * @returns Bytes remaining to be read from the buffer.
304
- */
305
- remainingBytes() {
280
+ * Gets bytes remaining to be read from the buffer.
281
+ * @returns Bytes remaining to be read from the buffer.
282
+ */ remainingBytes() {
306
283
  return this.buffer.length - this.index;
307
284
  }
308
- }
309
- _BufferReader_instances = new WeakSet(), _BufferReader_rangeCheck = function _BufferReader_rangeCheck(numBytes) {
310
- if (this.index + numBytes > this.buffer.length) {
311
- throw new Error(`Attempted to read beyond buffer length. Start index: ${this.index}, Num bytes to read: ${numBytes}, Buffer length: ${this.buffer.length}`);
285
+ #rangeCheck(numBytes) {
286
+ if (this.index + numBytes > this.buffer.length) {
287
+ throw new Error(`Attempted to read beyond buffer length. Start index: ${this.index}, Num bytes to read: ${numBytes}, Buffer length: ${this.buffer.length}`);
288
+ }
312
289
  }
313
- };
314
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyX3JlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvYnVmZmVyX3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsTUFBYyxFQUFFLE1BQU0sR0FBRyxDQUFDOztRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFrRDtRQUN2RSxJQUFJLGNBQWMsWUFBWSxZQUFZLEVBQUUsQ0FBQztZQUMzQyxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDekMsQ0FBQyxDQUFDLGNBQWM7WUFDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3RixPQUFPLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCwwRUFBMEU7SUFDbkUsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxVQUFVO1FBQ2YsdUJBQUEsSUFBSSx5REFBWSxNQUFoQixJQUFJLEVBQWEsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFtQixLQUFRO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdEUsT0FBTyxNQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksV0FBVztRQUNoQix1QkFBQSxJQUFJLHlEQUFZLE1BQWhCLElBQUksRUFBYSxFQUFFLENBQUMsQ0FBQztRQUVyQixJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzVCLE1BQU0sR0FBRyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLFVBQVU7UUFDZix1QkFBQSxJQUFJLHlEQUFZLE1BQWhCLElBQUksRUFBYSxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksU0FBUztRQUNkLHVCQUFBLElBQUkseURBQVksTUFBaEIsSUFBSSxFQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVztRQUNoQix1QkFBQSxJQUFJLHlEQUFZLE1BQWhCLElBQUksRUFBYSxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxTQUFTLENBQUMsQ0FBUztRQUN4Qix1QkFBQSxJQUFJLHlEQUFZLE1BQWhCLElBQUksRUFBYSxDQUFDLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELHlDQUF5QztJQUNsQyxTQUFTO1FBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDaEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNyQixVQUFVLEVBQUUsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1NBQzFELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLFVBQVUsQ0FBSSxnQkFLcEI7UUFDQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUksSUFBSSxDQUFDLENBQUM7UUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHFCQUFxQixDQUFJLGdCQUsvQjtRQUNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxJQUFJLENBQUMsQ0FBQztRQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLFNBQVMsQ0FDZCxJQUFPLEVBQ1AsZ0JBS0M7UUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLE9BQU8sTUFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFhLEVBQUUsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDL0QsdUJBQUEsSUFBSSx5REFBWSxNQUFoQixJQUFJLEVBQWEsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUNELHdDQUF3QztRQUN4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FDYix3REFBd0QsSUFBSSxDQUFDLEtBQUssd0JBQXdCLEdBQUcsU0FBUyxDQUN2RyxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxVQUFVLENBQUksWUFLcEI7UUFDQyxPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxDQUFVO1FBQ3pCLHVCQUFBLElBQUkseURBQVksTUFBaEIsSUFBSSxFQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFVBQVU7UUFDZixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsdUJBQUEsSUFBSSx5REFBWSxNQUFoQixJQUFJLEVBQWEsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksY0FBYztRQUNuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0IsdUJBQUEsSUFBSSx5REFBWSxNQUFoQixJQUFJLEVBQWEsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE9BQU8sQ0FBSSxZQUtqQjtRQUNDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEdBQUcsR0FBeUIsRUFBRSxDQUFDO1FBQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBSSxZQUFZLENBQUMsQ0FBQztZQUMvQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDekMsQ0FBQztDQVNGO3NHQVBhLFFBQWdCO0lBQzFCLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQyxNQUFNLElBQUksS0FBSyxDQUNiLHdEQUF3RCxJQUFJLENBQUMsS0FBSyx3QkFBd0IsUUFBUSxvQkFBb0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FDM0ksQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIn0=
290
+ }
@@ -1,5 +1,5 @@
1
1
  import { Fq, type Fr } from '../fields/fields.js';
2
- import { type Tuple } from './types.js';
2
+ import type { Tuple } from './types.js';
3
3
  /**
4
4
  * The FieldReader class provides a utility for reading various data types from a field array.
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"field_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/field_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,qBAAa,WAAW;IAGV,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBACH,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,SAAI;IAQ5C;;;;;OAKG;WACW,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW;IAQ/D;;;;OAIG;IACH,IAAW,MAAM,WAEhB;IAED;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM;IAOrB;;;;OAIG;IACI,SAAS,IAAI,EAAE;IAOtB;;;;OAIG;IACI,SAAS,IAAI,EAAE;IAOtB;;;;OAIG;IACI,MAAM,IAAI,EAAE;IAInB;;;;;;;OAOG;IACI,WAAW,IAAI,OAAO;IAS7B;;;;;;OAMG;IACI,OAAO,IAAI,MAAM;IASxB;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAQ9D;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GAAG,CAAC;IAIL;;;OAGG;IACI,UAAU,IAAI,OAAO;CAG7B"}
1
+ {"version":3,"file":"field_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/field_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,qBAAa,WAAW;IAGV,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;gBACH,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,SAAI;IAQ5C;;;;;OAKG;WACW,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW;IAQ/D;;;;OAIG;IACH,IAAW,MAAM,WAEhB;IAED;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM;IAOrB;;;;OAIG;IACI,SAAS,IAAI,EAAE;IAOtB;;;;OAIG;IACI,SAAS,IAAI,EAAE;IAOtB;;;;OAIG;IACI,MAAM,IAAI,EAAE;IAInB;;;;;;;OAOG;IACI,WAAW,IAAI,OAAO;IAS7B;;;;;;OAMG;IACI,OAAO,IAAI,MAAM;IASxB;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAQ9D;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GAAG,CAAC;IAIL;;;OAGG;IACI,UAAU,IAAI,OAAO;CAG7B"}