@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.017a351

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 (777) hide show
  1. package/dest/array/array.d.ts +6 -9
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +11 -11
  4. package/dest/array/index.d.ts +2 -1
  5. package/dest/array/index.d.ts.map +1 -1
  6. package/dest/array/index.js +1 -0
  7. package/dest/array/sorted_array.d.ts +15 -0
  8. package/dest/array/sorted_array.d.ts.map +1 -0
  9. package/dest/array/sorted_array.js +109 -0
  10. package/dest/async-map/index.d.ts +1 -1
  11. package/dest/async-pool/index.d.ts +1 -1
  12. package/dest/async-pool/index.d.ts.map +1 -1
  13. package/dest/async-pool/index.js +1 -0
  14. package/dest/bigint/index.d.ts +7 -0
  15. package/dest/bigint/index.d.ts.map +1 -0
  16. package/dest/bigint/index.js +15 -0
  17. package/dest/bigint-buffer/index.d.ts +1 -3
  18. package/dest/bigint-buffer/index.d.ts.map +1 -1
  19. package/dest/bigint-buffer/index.js +6 -1
  20. package/dest/branded-types/block_number.d.ts +56 -0
  21. package/dest/branded-types/block_number.d.ts.map +1 -0
  22. package/dest/branded-types/block_number.js +89 -0
  23. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  24. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  25. package/dest/branded-types/buffer32_hash.js +12 -0
  26. package/dest/branded-types/checkpoint_number.d.ts +60 -0
  27. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  28. package/dest/branded-types/checkpoint_number.js +88 -0
  29. package/dest/branded-types/epoch.d.ts +42 -0
  30. package/dest/branded-types/epoch.d.ts.map +1 -0
  31. package/dest/branded-types/epoch.js +59 -0
  32. package/dest/branded-types/index.d.ts +8 -0
  33. package/dest/branded-types/index.d.ts.map +1 -0
  34. package/dest/branded-types/index.js +6 -0
  35. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  36. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  37. package/dest/branded-types/index_within_checkpoint.js +59 -0
  38. package/dest/branded-types/slot.d.ts +45 -0
  39. package/dest/branded-types/slot.d.ts.map +1 -0
  40. package/dest/branded-types/slot.js +62 -0
  41. package/dest/branded-types/types.d.ts +5 -0
  42. package/dest/branded-types/types.d.ts.map +1 -0
  43. package/dest/branded-types/types.js +1 -0
  44. package/dest/buffer/buffer16.d.ts +82 -0
  45. package/dest/buffer/buffer16.d.ts.map +1 -0
  46. package/dest/buffer/buffer16.js +102 -0
  47. package/dest/buffer/buffer32.d.ts +32 -69
  48. package/dest/buffer/buffer32.d.ts.map +1 -1
  49. package/dest/buffer/buffer32.js +36 -68
  50. package/dest/buffer/index.d.ts +3 -1
  51. package/dest/buffer/index.d.ts.map +1 -1
  52. package/dest/buffer/index.js +2 -0
  53. package/dest/buffer/utils.d.ts +3 -0
  54. package/dest/buffer/utils.d.ts.map +1 -0
  55. package/dest/buffer/utils.js +7 -0
  56. package/dest/collection/array.d.ts +38 -4
  57. package/dest/collection/array.d.ts.map +1 -1
  58. package/dest/collection/array.js +141 -3
  59. package/dest/collection/index.d.ts +3 -1
  60. package/dest/collection/index.d.ts.map +1 -1
  61. package/dest/collection/index.js +2 -0
  62. package/dest/collection/lru_map.d.ts +41 -0
  63. package/dest/collection/lru_map.d.ts.map +1 -0
  64. package/dest/collection/lru_map.js +119 -0
  65. package/dest/collection/lru_set.d.ts +35 -0
  66. package/dest/collection/lru_set.d.ts.map +1 -0
  67. package/dest/collection/lru_set.js +95 -0
  68. package/dest/collection/object.d.ts +17 -1
  69. package/dest/collection/object.d.ts.map +1 -1
  70. package/dest/collection/object.js +25 -0
  71. package/dest/committable/committable.d.ts +1 -1
  72. package/dest/committable/committable.d.ts.map +1 -1
  73. package/dest/committable/committable.js +1 -1
  74. package/dest/committable/index.d.ts +1 -1
  75. package/dest/config/env_var.d.ts +2 -2
  76. package/dest/config/env_var.d.ts.map +1 -1
  77. package/dest/config/index.d.ts +88 -13
  78. package/dest/config/index.d.ts.map +1 -1
  79. package/dest/config/index.js +153 -22
  80. package/dest/config/network_config.d.ts +28 -0
  81. package/dest/config/network_config.d.ts.map +1 -0
  82. package/dest/config/network_config.js +14 -0
  83. package/dest/config/network_name.d.ts +3 -0
  84. package/dest/config/network_name.d.ts.map +1 -0
  85. package/dest/config/network_name.js +19 -0
  86. package/dest/config/parse-env.d.ts +3 -0
  87. package/dest/config/parse-env.d.ts.map +1 -0
  88. package/dest/config/parse-env.js +7 -0
  89. package/dest/config/secret_value.d.ts +28 -0
  90. package/dest/config/secret_value.d.ts.map +1 -0
  91. package/dest/config/secret_value.js +36 -0
  92. package/dest/crypto/aes128/index.d.ts +4 -5
  93. package/dest/crypto/aes128/index.d.ts.map +1 -1
  94. package/dest/crypto/aes128/index.js +30 -8
  95. package/dest/crypto/bls/bn254_keystore.d.ts +129 -0
  96. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  97. package/dest/crypto/bls/bn254_keystore.js +201 -0
  98. package/dest/crypto/bls/index.d.ts +13 -0
  99. package/dest/crypto/bls/index.d.ts.map +1 -0
  100. package/dest/crypto/bls/index.js +87 -0
  101. package/dest/crypto/bn254/index.d.ts +39 -0
  102. package/dest/crypto/bn254/index.d.ts.map +1 -0
  103. package/dest/crypto/bn254/index.js +56 -0
  104. package/dest/crypto/ecdsa/index.d.ts +3 -3
  105. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  106. package/dest/crypto/ecdsa/index.js +62 -48
  107. package/dest/crypto/ecdsa/signature.d.ts +3 -5
  108. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  109. package/dest/crypto/ecdsa/signature.js +2 -2
  110. package/dest/crypto/grumpkin/index.d.ts +10 -15
  111. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  112. package/dest/crypto/grumpkin/index.js +61 -55
  113. package/dest/crypto/keccak/index.d.ts +3 -5
  114. package/dest/crypto/keccak/index.d.ts.map +1 -1
  115. package/dest/crypto/keys/index.d.ts +2 -4
  116. package/dest/crypto/keys/index.d.ts.map +1 -1
  117. package/dest/crypto/keys/index.js +8 -5
  118. package/dest/crypto/pedersen/index.d.ts +1 -1
  119. package/dest/crypto/pedersen/pedersen.noble.d.ts +3 -5
  120. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
  121. package/dest/crypto/pedersen/pedersen.wasm.d.ts +4 -6
  122. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  123. package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
  124. package/dest/crypto/poseidon/index.d.ts +2 -5
  125. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  126. package/dest/crypto/poseidon/index.js +41 -28
  127. package/dest/crypto/random/index.d.ts +2 -4
  128. package/dest/crypto/random/index.d.ts.map +1 -1
  129. package/dest/crypto/random/index.js +2 -34
  130. package/dest/crypto/random/randomness_singleton.d.ts +4 -5
  131. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  132. package/dest/crypto/random/randomness_singleton.js +5 -5
  133. package/dest/crypto/schnorr/index.d.ts +10 -8
  134. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  135. package/dest/crypto/schnorr/index.js +34 -42
  136. package/dest/crypto/schnorr/signature.d.ts +13 -35
  137. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  138. package/dest/crypto/schnorr/signature.js +21 -37
  139. package/dest/crypto/secp256k1/index.d.ts +5 -7
  140. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  141. package/dest/crypto/secp256k1/index.js +23 -18
  142. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  143. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  144. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  145. package/dest/crypto/secp256k1-signer/utils.d.ts +67 -5
  146. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  147. package/dest/crypto/secp256k1-signer/utils.js +118 -6
  148. package/dest/crypto/sha256/index.d.ts +23 -6
  149. package/dest/crypto/sha256/index.d.ts.map +1 -1
  150. package/dest/crypto/sha256/index.js +43 -1
  151. package/dest/crypto/sha512/index.d.ts +3 -5
  152. package/dest/crypto/sha512/index.d.ts.map +1 -1
  153. package/dest/crypto/sha512/index.js +1 -1
  154. package/dest/crypto/signature/index.d.ts +2 -4
  155. package/dest/crypto/signature/index.d.ts.map +1 -1
  156. package/dest/crypto/sync/index.d.ts +1 -1
  157. package/dest/crypto/sync/index.js +1 -1
  158. package/dest/crypto/sync/pedersen/index.d.ts +4 -6
  159. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  160. package/dest/crypto/sync/pedersen/index.js +18 -11
  161. package/dest/crypto/sync/poseidon/index.d.ts +2 -5
  162. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  163. package/dest/crypto/sync/poseidon/index.js +23 -16
  164. package/dest/curves/bls12/field.d.ts +148 -0
  165. package/dest/curves/bls12/field.d.ts.map +1 -0
  166. package/dest/curves/bls12/field.js +357 -0
  167. package/dest/curves/bls12/index.d.ts +3 -0
  168. package/dest/curves/bls12/index.d.ts.map +1 -0
  169. package/dest/curves/bls12/index.js +2 -0
  170. package/dest/curves/bls12/point.d.ts +229 -0
  171. package/dest/curves/bls12/point.d.ts.map +1 -0
  172. package/dest/curves/bls12/point.js +400 -0
  173. package/dest/curves/bn254/field.d.ts +185 -0
  174. package/dest/curves/bn254/field.d.ts.map +1 -0
  175. package/dest/{fields/fields.js → curves/bn254/field.js} +111 -74
  176. package/dest/curves/bn254/index.d.ts +3 -0
  177. package/dest/curves/bn254/index.d.ts.map +1 -0
  178. package/dest/curves/bn254/index.js +2 -0
  179. package/dest/curves/bn254/point.d.ts +54 -0
  180. package/dest/curves/bn254/point.d.ts.map +1 -0
  181. package/dest/curves/bn254/point.js +143 -0
  182. package/dest/curves/grumpkin/index.d.ts +10 -0
  183. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  184. package/dest/curves/grumpkin/index.js +3 -0
  185. package/dest/{fields → curves/grumpkin}/point.d.ts +26 -33
  186. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  187. package/dest/{fields → curves/grumpkin}/point.js +53 -50
  188. package/dest/decorators/index.d.ts +1 -1
  189. package/dest/decorators/memoize.d.ts +1 -1
  190. package/dest/decorators/memoize.d.ts.map +1 -1
  191. package/dest/error/index.d.ts +1 -1
  192. package/dest/eth-address/index.d.ts +19 -10
  193. package/dest/eth-address/index.d.ts.map +1 -1
  194. package/dest/eth-address/index.js +31 -5
  195. package/dest/eth-signature/eth_signature.d.ts +19 -16
  196. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  197. package/dest/eth-signature/eth_signature.js +37 -18
  198. package/dest/eth-signature/index.d.ts +1 -1
  199. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  200. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  201. package/dest/fifo/fifo_frame_reader.js +91 -0
  202. package/dest/fifo/index.d.ts +2 -0
  203. package/dest/fifo/index.d.ts.map +1 -0
  204. package/dest/fifo/index.js +1 -0
  205. package/dest/fifo_set/fifo_set.d.ts +15 -0
  206. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  207. package/dest/fifo_set/fifo_set.js +39 -0
  208. package/dest/fifo_set/index.d.ts +2 -0
  209. package/dest/fifo_set/index.d.ts.map +1 -0
  210. package/dest/fifo_set/index.js +1 -0
  211. package/dest/fs/index.d.ts +2 -1
  212. package/dest/fs/index.d.ts.map +1 -1
  213. package/dest/fs/index.js +1 -0
  214. package/dest/fs/run_in_dir.d.ts +1 -1
  215. package/dest/fs/try_rm_dir.d.ts +3 -0
  216. package/dest/fs/try_rm_dir.d.ts.map +1 -0
  217. package/dest/fs/try_rm_dir.js +16 -0
  218. package/dest/iterable/all.d.ts +1 -1
  219. package/dest/iterable/filter.d.ts +1 -1
  220. package/dest/iterable/filter.js +1 -1
  221. package/dest/iterable/index.d.ts +1 -1
  222. package/dest/iterable/isAsyncIt.d.ts +1 -1
  223. package/dest/iterable/map.d.ts +1 -1
  224. package/dest/iterable/map.js +1 -1
  225. package/dest/iterable/peek.d.ts +1 -1
  226. package/dest/iterable/sort.d.ts +1 -1
  227. package/dest/iterable/take.d.ts +1 -1
  228. package/dest/iterable/toArray.d.ts +1 -1
  229. package/dest/iterator/filter.d.ts +3 -0
  230. package/dest/iterator/filter.d.ts.map +1 -0
  231. package/dest/iterator/filter.js +7 -0
  232. package/dest/iterator/index.d.ts +2 -0
  233. package/dest/iterator/index.d.ts.map +1 -0
  234. package/dest/iterator/index.js +1 -0
  235. package/dest/jest/env.js +48 -0
  236. package/dest/jest/setup.js +28 -1
  237. package/dest/jest/setupAfterEnv.js +3 -0
  238. package/dest/json-rpc/client/fetch.d.ts +3 -3
  239. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  240. package/dest/json-rpc/client/fetch.js +18 -31
  241. package/dest/json-rpc/client/index.d.ts +1 -1
  242. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +11 -4
  243. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  244. package/dest/json-rpc/client/safe_json_rpc_client.js +175 -15
  245. package/dest/json-rpc/client/undici.d.ts +1 -1
  246. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  247. package/dest/json-rpc/client/undici.js +29 -11
  248. package/dest/json-rpc/convert.d.ts +3 -10
  249. package/dest/json-rpc/convert.d.ts.map +1 -1
  250. package/dest/json-rpc/convert.js +1 -9
  251. package/dest/json-rpc/errors.d.ts +4 -0
  252. package/dest/json-rpc/errors.d.ts.map +1 -0
  253. package/dest/json-rpc/errors.js +6 -0
  254. package/dest/json-rpc/fixtures/class_a.d.ts +6 -4
  255. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  256. package/dest/json-rpc/fixtures/class_b.d.ts +6 -4
  257. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  258. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  259. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  260. package/dest/json-rpc/fixtures/test_state.js +57 -17
  261. package/dest/json-rpc/index.d.ts +3 -2
  262. package/dest/json-rpc/index.d.ts.map +1 -1
  263. package/dest/json-rpc/index.js +2 -1
  264. package/dest/json-rpc/js_utils.d.ts +1 -1
  265. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  266. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  267. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  268. package/dest/json-rpc/server/api_key_auth.js +57 -0
  269. package/dest/json-rpc/server/index.d.ts +2 -1
  270. package/dest/json-rpc/server/index.d.ts.map +1 -1
  271. package/dest/json-rpc/server/index.js +1 -0
  272. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +29 -25
  273. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  274. package/dest/json-rpc/server/safe_json_rpc_server.js +178 -59
  275. package/dest/json-rpc/test/index.d.ts +1 -1
  276. package/dest/json-rpc/test/integration.d.ts +2 -3
  277. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  278. package/dest/log/bigint-utils.d.ts +5 -0
  279. package/dest/log/bigint-utils.d.ts.map +1 -0
  280. package/dest/log/bigint-utils.js +21 -0
  281. package/dest/log/console.d.ts +1 -1
  282. package/dest/log/console.d.ts.map +1 -1
  283. package/dest/log/gcloud-logger-config.d.ts +1 -2
  284. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  285. package/dest/log/gcloud-logger-config.js +4 -9
  286. package/dest/log/index.d.ts +5 -5
  287. package/dest/log/index.d.ts.map +1 -1
  288. package/dest/log/index.js +4 -4
  289. package/dest/log/libp2p_logger.d.ts +5 -2
  290. package/dest/log/libp2p_logger.d.ts.map +1 -1
  291. package/dest/log/libp2p_logger.js +27 -6
  292. package/dest/log/log-filters.d.ts +17 -4
  293. package/dest/log/log-filters.d.ts.map +1 -1
  294. package/dest/log/log-filters.js +26 -12
  295. package/dest/log/log-levels.d.ts +1 -1
  296. package/dest/log/log_fn.d.ts +2 -2
  297. package/dest/log/log_fn.d.ts.map +1 -1
  298. package/dest/log/noir_debug_log_util.d.ts +14 -0
  299. package/dest/log/noir_debug_log_util.d.ts.map +1 -0
  300. package/dest/log/noir_debug_log_util.js +14 -0
  301. package/dest/log/pino-logger-server.d.ts +9 -0
  302. package/dest/log/pino-logger-server.d.ts.map +1 -0
  303. package/dest/log/pino-logger-server.js +18 -0
  304. package/dest/log/pino-logger.d.ts +40 -11
  305. package/dest/log/pino-logger.d.ts.map +1 -1
  306. package/dest/log/pino-logger.js +165 -31
  307. package/dest/message/index.d.ts +1 -1
  308. package/dest/message/index.d.ts.map +1 -1
  309. package/dest/mutex/index.d.ts +1 -1
  310. package/dest/mutex/index.d.ts.map +1 -1
  311. package/dest/mutex/mutex_database.d.ts +1 -1
  312. package/dest/mutex/mutex_database.d.ts.map +1 -1
  313. package/dest/noir/index.d.ts +1 -1
  314. package/dest/noir/noir_package_config.d.ts +19 -104
  315. package/dest/noir/noir_package_config.d.ts.map +1 -1
  316. package/dest/noir/noir_package_config.js +1 -1
  317. package/dest/number/index.d.ts +3 -0
  318. package/dest/number/index.d.ts.map +1 -0
  319. package/dest/number/index.js +12 -0
  320. package/dest/profiler/index.d.ts +2 -0
  321. package/dest/profiler/index.d.ts.map +1 -0
  322. package/dest/profiler/index.js +1 -0
  323. package/dest/profiler/profiler.d.ts +8 -0
  324. package/dest/profiler/profiler.d.ts.map +1 -0
  325. package/dest/profiler/profiler.js +97 -0
  326. package/dest/promise/index.d.ts +1 -1
  327. package/dest/promise/running-promise.d.ts +2 -2
  328. package/dest/promise/running-promise.d.ts.map +1 -1
  329. package/dest/promise/running-promise.js +2 -2
  330. package/dest/promise/utils.d.ts +1 -1
  331. package/dest/queue/base_memory_queue.d.ts +2 -2
  332. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  333. package/dest/queue/batch_queue.d.ts +2 -2
  334. package/dest/queue/batch_queue.d.ts.map +1 -1
  335. package/dest/queue/batch_queue.js +2 -1
  336. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  337. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  338. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  339. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  340. package/dest/queue/index.d.ts +1 -1
  341. package/dest/queue/priority_memory_queue.d.ts +1 -1
  342. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  343. package/dest/queue/priority_queue.d.ts +1 -1
  344. package/dest/queue/priority_queue.d.ts.map +1 -1
  345. package/dest/queue/semaphore.d.ts +5 -1
  346. package/dest/queue/semaphore.d.ts.map +1 -1
  347. package/dest/queue/serial_queue.d.ts +3 -3
  348. package/dest/queue/serial_queue.d.ts.map +1 -1
  349. package/dest/queue/serial_queue.js +7 -5
  350. package/dest/retry/index.d.ts +25 -3
  351. package/dest/retry/index.d.ts.map +1 -1
  352. package/dest/retry/index.js +34 -2
  353. package/dest/running-promise/index.d.ts +1 -1
  354. package/dest/schemas/api.d.ts +12 -10
  355. package/dest/schemas/api.d.ts.map +1 -1
  356. package/dest/schemas/api.js +7 -1
  357. package/dest/schemas/index.d.ts +1 -1
  358. package/dest/schemas/parse.d.ts +4 -4
  359. package/dest/schemas/parse.d.ts.map +1 -1
  360. package/dest/schemas/parse.js +7 -6
  361. package/dest/schemas/schemas.d.ts +30 -29
  362. package/dest/schemas/schemas.d.ts.map +1 -1
  363. package/dest/schemas/schemas.js +29 -11
  364. package/dest/schemas/types.d.ts +32 -2
  365. package/dest/schemas/types.d.ts.map +1 -1
  366. package/dest/schemas/types.js +25 -1
  367. package/dest/schemas/utils.d.ts +10 -16
  368. package/dest/schemas/utils.d.ts.map +1 -1
  369. package/dest/schemas/utils.js +17 -23
  370. package/dest/serialize/buffer_reader.d.ts +41 -6
  371. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  372. package/dest/serialize/buffer_reader.js +70 -6
  373. package/dest/serialize/buffer_sink.d.ts +134 -0
  374. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  375. package/dest/serialize/buffer_sink.js +297 -0
  376. package/dest/serialize/field_reader.d.ts +12 -3
  377. package/dest/serialize/field_reader.d.ts.map +1 -1
  378. package/dest/serialize/field_reader.js +19 -2
  379. package/dest/serialize/free_funcs.d.ts +25 -23
  380. package/dest/serialize/free_funcs.d.ts.map +1 -1
  381. package/dest/serialize/free_funcs.js +22 -28
  382. package/dest/serialize/index.d.ts +2 -1
  383. package/dest/serialize/index.d.ts.map +1 -1
  384. package/dest/serialize/index.js +1 -0
  385. package/dest/serialize/serialize.d.ts +24 -7
  386. package/dest/serialize/serialize.d.ts.map +1 -1
  387. package/dest/serialize/serialize.js +32 -1
  388. package/dest/serialize/type_registry.d.ts +1 -1
  389. package/dest/serialize/type_registry.d.ts.map +1 -1
  390. package/dest/serialize/types.d.ts +1 -1
  391. package/dest/sleep/index.d.ts +4 -1
  392. package/dest/sleep/index.d.ts.map +1 -1
  393. package/dest/sleep/index.js +14 -1
  394. package/dest/string/index.d.ts +8 -3
  395. package/dest/string/index.d.ts.map +1 -1
  396. package/dest/string/index.js +27 -1
  397. package/dest/testing/files/index.d.ts +2 -3
  398. package/dest/testing/files/index.d.ts.map +1 -1
  399. package/dest/testing/files/index.js +3 -3
  400. package/dest/testing/formatting.d.ts +4 -0
  401. package/dest/testing/formatting.d.ts.map +1 -0
  402. package/dest/testing/formatting.js +3 -0
  403. package/dest/testing/index.d.ts +2 -1
  404. package/dest/testing/index.d.ts.map +1 -1
  405. package/dest/testing/index.js +1 -0
  406. package/dest/testing/port_allocator.d.ts +1 -1
  407. package/dest/testing/snapshot_serializer.d.ts +1 -1
  408. package/dest/testing/test_data.d.ts +1 -1
  409. package/dest/timer/date.d.ts +28 -2
  410. package/dest/timer/date.d.ts.map +1 -1
  411. package/dest/timer/date.js +41 -3
  412. package/dest/timer/elapsed.d.ts +1 -1
  413. package/dest/timer/index.d.ts +2 -2
  414. package/dest/timer/index.d.ts.map +1 -1
  415. package/dest/timer/index.js +1 -1
  416. package/dest/timer/timeout.d.ts +21 -6
  417. package/dest/timer/timeout.d.ts.map +1 -1
  418. package/dest/timer/timeout.js +69 -22
  419. package/dest/timer/timer.d.ts +1 -1
  420. package/dest/timer/timer.d.ts.map +1 -1
  421. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  422. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  423. package/dest/transport/dispatch/messages.d.ts +1 -1
  424. package/dest/transport/index.d.ts +1 -3
  425. package/dest/transport/index.d.ts.map +1 -1
  426. package/dest/transport/index.js +0 -2
  427. package/dest/transport/interface/connector.d.ts +1 -1
  428. package/dest/transport/interface/connector.d.ts.map +1 -1
  429. package/dest/transport/interface/listener.d.ts +1 -2
  430. package/dest/transport/interface/listener.d.ts.map +1 -1
  431. package/dest/transport/interface/socket.d.ts +1 -1
  432. package/dest/transport/interface/socket.d.ts.map +1 -1
  433. package/dest/transport/interface/transferable.d.ts +1 -1
  434. package/dest/transport/node/index.d.ts +1 -1
  435. package/dest/transport/node/node_connector.d.ts +1 -2
  436. package/dest/transport/node/node_connector.d.ts.map +1 -1
  437. package/dest/transport/node/node_connector_socket.d.ts +1 -2
  438. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  439. package/dest/transport/node/node_listener.d.ts +1 -2
  440. package/dest/transport/node/node_listener.d.ts.map +1 -1
  441. package/dest/transport/node/node_listener_socket.d.ts +1 -2
  442. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  443. package/dest/transport/transport_client.d.ts +1 -2
  444. package/dest/transport/transport_client.d.ts.map +1 -1
  445. package/dest/transport/transport_client.js +2 -2
  446. package/dest/transport/transport_server.d.ts +1 -10
  447. package/dest/transport/transport_server.d.ts.map +1 -1
  448. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  449. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  450. package/dest/trees/balanced_merkle_tree_root.js +50 -0
  451. package/dest/trees/hasher.d.ts +8 -7
  452. package/dest/trees/hasher.d.ts.map +1 -1
  453. package/dest/trees/hasher.js +10 -5
  454. package/dest/trees/index.d.ts +5 -3
  455. package/dest/trees/index.d.ts.map +1 -1
  456. package/dest/trees/index.js +4 -2
  457. package/dest/trees/indexed_merkle_tree.d.ts +1 -3
  458. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  459. package/dest/trees/indexed_merkle_tree.js +1 -1
  460. package/dest/trees/indexed_merkle_tree_calculator.d.ts +2 -4
  461. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  462. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  463. package/dest/trees/indexed_tree_leaf.d.ts +1 -3
  464. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
  465. package/dest/trees/membership_witness.d.ts +10 -5
  466. package/dest/trees/membership_witness.d.ts.map +1 -1
  467. package/dest/trees/membership_witness.js +23 -1
  468. package/dest/trees/merkle_tree.d.ts +1 -3
  469. package/dest/trees/merkle_tree.d.ts.map +1 -1
  470. package/dest/trees/merkle_tree_calculator.d.ts +4 -4
  471. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  472. package/dest/trees/merkle_tree_calculator.js +1 -5
  473. package/dest/trees/sibling_path.d.ts +7 -41
  474. package/dest/trees/sibling_path.d.ts.map +1 -1
  475. package/dest/trees/sibling_path.js +11 -9
  476. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
  477. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
  478. package/dest/trees/unbalanced_merkle_tree_calculator.js +154 -0
  479. package/dest/trees/unbalanced_merkle_tree_root.d.ts +27 -0
  480. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  481. package/dest/trees/unbalanced_merkle_tree_root.js +83 -0
  482. package/dest/trees/unbalanced_tree_store.d.ts +6 -1
  483. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  484. package/dest/trees/unbalanced_tree_store.js +55 -1
  485. package/dest/types/index.d.ts +52 -3
  486. package/dest/types/index.d.ts.map +1 -1
  487. package/dest/types/index.js +21 -0
  488. package/dest/url/index.d.ts +1 -1
  489. package/dest/url/index.d.ts.map +1 -1
  490. package/dest/url/index.js +1 -1
  491. package/dest/validation/index.d.ts +1 -1
  492. package/package.json +84 -47
  493. package/src/array/array.ts +13 -16
  494. package/src/array/index.ts +1 -0
  495. package/src/array/sorted_array.ts +138 -0
  496. package/src/async-pool/index.ts +1 -0
  497. package/src/bigint/index.ts +20 -0
  498. package/src/bigint-buffer/index.ts +6 -1
  499. package/src/branded-types/block_number.ts +135 -0
  500. package/src/branded-types/buffer32_hash.ts +38 -0
  501. package/src/branded-types/checkpoint_number.ts +130 -0
  502. package/src/branded-types/epoch.ts +88 -0
  503. package/src/branded-types/index.ts +8 -0
  504. package/src/branded-types/index_within_checkpoint.ts +88 -0
  505. package/src/branded-types/slot.ts +93 -0
  506. package/src/branded-types/types.ts +2 -0
  507. package/src/buffer/buffer16.ts +136 -0
  508. package/src/buffer/buffer32.ts +47 -74
  509. package/src/buffer/index.ts +2 -0
  510. package/src/buffer/utils.ts +8 -0
  511. package/src/collection/array.ts +152 -4
  512. package/src/collection/index.ts +2 -0
  513. package/src/collection/lru_map.ts +143 -0
  514. package/src/collection/lru_set.ts +115 -0
  515. package/src/collection/object.ts +37 -0
  516. package/src/committable/committable.ts +1 -1
  517. package/src/config/env_var.ts +237 -63
  518. package/src/config/index.ts +265 -29
  519. package/src/config/network_config.ts +21 -0
  520. package/src/config/network_name.ts +28 -0
  521. package/src/config/parse-env.ts +4 -0
  522. package/src/config/secret_value.ts +49 -0
  523. package/src/crypto/aes128/index.ts +30 -12
  524. package/src/crypto/bls/bn254_keystore.ts +264 -0
  525. package/src/crypto/bls/index.ts +77 -0
  526. package/src/crypto/bn254/index.ts +64 -0
  527. package/src/crypto/ecdsa/index.ts +41 -23
  528. package/src/crypto/ecdsa/signature.ts +2 -2
  529. package/src/crypto/grumpkin/index.ts +38 -46
  530. package/src/crypto/keys/index.ts +6 -6
  531. package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
  532. package/src/crypto/poseidon/index.ts +43 -37
  533. package/src/crypto/random/index.ts +2 -40
  534. package/src/crypto/random/randomness_singleton.ts +6 -4
  535. package/src/crypto/schnorr/index.ts +29 -24
  536. package/src/crypto/schnorr/signature.ts +18 -47
  537. package/src/crypto/secp256k1/index.ts +15 -11
  538. package/src/crypto/secp256k1-signer/utils.ts +152 -7
  539. package/src/crypto/sha256/index.ts +48 -1
  540. package/src/crypto/sha512/index.ts +1 -1
  541. package/src/crypto/signature/index.ts +1 -1
  542. package/src/crypto/sync/index.ts +1 -1
  543. package/src/crypto/sync/pedersen/index.ts +17 -16
  544. package/src/crypto/sync/poseidon/index.ts +23 -27
  545. package/src/curves/bls12/field.ts +456 -0
  546. package/src/curves/bls12/index.ts +2 -0
  547. package/src/curves/bls12/point.ts +450 -0
  548. package/src/{fields/fields.ts → curves/bn254/field.ts} +117 -91
  549. package/src/curves/bn254/index.ts +2 -0
  550. package/src/curves/bn254/point.ts +170 -0
  551. package/src/curves/grumpkin/index.ts +11 -0
  552. package/src/{fields → curves/grumpkin}/point.ts +47 -47
  553. package/src/eth-address/index.ts +35 -7
  554. package/src/eth-signature/eth_signature.ts +50 -22
  555. package/src/fifo/fifo_frame_reader.ts +113 -0
  556. package/src/fifo/index.ts +1 -0
  557. package/src/fifo_set/fifo_set.ts +52 -0
  558. package/src/fifo_set/index.ts +1 -0
  559. package/src/fs/index.ts +1 -0
  560. package/src/fs/try_rm_dir.ts +15 -0
  561. package/src/iterable/filter.ts +1 -1
  562. package/src/iterable/map.ts +1 -1
  563. package/src/iterator/filter.ts +11 -0
  564. package/src/iterator/index.ts +1 -0
  565. package/src/jest/env.mjs +52 -0
  566. package/src/jest/setup.mjs +31 -1
  567. package/src/jest/setupAfterEnv.mjs +3 -0
  568. package/src/json-rpc/client/fetch.ts +16 -34
  569. package/src/json-rpc/client/safe_json_rpc_client.ts +230 -15
  570. package/src/json-rpc/client/undici.ts +31 -18
  571. package/src/json-rpc/convert.ts +3 -12
  572. package/src/json-rpc/errors.ts +6 -0
  573. package/src/json-rpc/fixtures/class_a.ts +4 -1
  574. package/src/json-rpc/fixtures/class_b.ts +4 -1
  575. package/src/json-rpc/fixtures/test_state.ts +10 -10
  576. package/src/json-rpc/index.ts +2 -1
  577. package/src/json-rpc/server/api_key_auth.ts +63 -0
  578. package/src/json-rpc/server/index.ts +1 -0
  579. package/src/json-rpc/server/safe_json_rpc_server.ts +162 -51
  580. package/src/json-rpc/test/integration.ts +1 -1
  581. package/src/log/bigint-utils.ts +25 -0
  582. package/src/log/console.ts +4 -1
  583. package/src/log/gcloud-logger-config.ts +8 -7
  584. package/src/log/index.ts +4 -4
  585. package/src/log/libp2p_logger.ts +33 -7
  586. package/src/log/log-filters.ts +29 -11
  587. package/src/log/log_fn.ts +1 -1
  588. package/src/log/noir_debug_log_util.ts +21 -0
  589. package/src/log/pino-logger-server.ts +25 -0
  590. package/src/log/pino-logger.ts +193 -40
  591. package/src/message/index.ts +5 -1
  592. package/src/mutex/mutex_database.ts +2 -3
  593. package/src/noir/noir_package_config.ts +32 -20
  594. package/src/number/index.ts +14 -0
  595. package/src/profiler/index.ts +1 -0
  596. package/src/profiler/profiler.ts +125 -0
  597. package/src/promise/running-promise.ts +2 -2
  598. package/src/queue/base_memory_queue.ts +1 -1
  599. package/src/queue/batch_queue.ts +2 -1
  600. package/src/queue/bounded_serial_queue.ts +4 -1
  601. package/src/queue/semaphore.ts +5 -0
  602. package/src/queue/serial_queue.ts +5 -5
  603. package/src/retry/index.ts +58 -5
  604. package/src/schemas/api.ts +25 -25
  605. package/src/schemas/parse.ts +10 -7
  606. package/src/schemas/schemas.ts +45 -16
  607. package/src/schemas/types.ts +34 -1
  608. package/src/schemas/utils.ts +25 -46
  609. package/src/serialize/buffer_reader.ts +96 -12
  610. package/src/serialize/buffer_sink.ts +350 -0
  611. package/src/serialize/field_reader.ts +28 -4
  612. package/src/serialize/free_funcs.ts +26 -32
  613. package/src/serialize/index.ts +1 -0
  614. package/src/serialize/serialize.ts +35 -1
  615. package/src/sleep/index.ts +16 -1
  616. package/src/string/index.ts +36 -1
  617. package/src/testing/files/index.ts +7 -3
  618. package/src/testing/formatting.ts +3 -0
  619. package/src/testing/index.ts +1 -0
  620. package/src/timer/date.ts +61 -3
  621. package/src/timer/index.ts +1 -1
  622. package/src/timer/timeout.ts +85 -19
  623. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  624. package/src/transport/index.ts +0 -2
  625. package/src/transport/interface/connector.ts +0 -1
  626. package/src/transport/interface/listener.ts +2 -3
  627. package/src/transport/interface/socket.ts +2 -3
  628. package/src/transport/transport_client.ts +5 -6
  629. package/src/transport/transport_server.ts +4 -1
  630. package/src/trees/balanced_merkle_tree_root.ts +65 -0
  631. package/src/trees/hasher.ts +16 -4
  632. package/src/trees/index.ts +4 -2
  633. package/src/trees/indexed_merkle_tree.ts +6 -2
  634. package/src/trees/indexed_merkle_tree_calculator.ts +7 -3
  635. package/src/trees/membership_witness.ts +22 -1
  636. package/src/trees/merkle_tree.ts +4 -1
  637. package/src/trees/merkle_tree_calculator.ts +9 -10
  638. package/src/trees/sibling_path.ts +12 -7
  639. package/src/trees/unbalanced_merkle_tree_calculator.ts +176 -0
  640. package/src/trees/unbalanced_merkle_tree_root.ts +112 -0
  641. package/src/trees/unbalanced_tree_store.ts +62 -3
  642. package/src/types/index.ts +82 -4
  643. package/src/url/index.ts +0 -1
  644. package/dest/crypto/index.d.ts +0 -15
  645. package/dest/crypto/index.d.ts.map +0 -1
  646. package/dest/crypto/index.js +0 -14
  647. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  648. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  649. package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
  650. package/dest/crypto/serialize.d.ts +0 -53
  651. package/dest/crypto/serialize.d.ts.map +0 -1
  652. package/dest/crypto/serialize.js +0 -68
  653. package/dest/fields/coordinate.d.ts +0 -68
  654. package/dest/fields/coordinate.d.ts.map +0 -1
  655. package/dest/fields/coordinate.js +0 -96
  656. package/dest/fields/fields.d.ts +0 -176
  657. package/dest/fields/fields.d.ts.map +0 -1
  658. package/dest/fields/index.d.ts +0 -4
  659. package/dest/fields/index.d.ts.map +0 -1
  660. package/dest/fields/index.js +0 -3
  661. package/dest/fields/point.d.ts.map +0 -1
  662. package/dest/index.d.ts +0 -31
  663. package/dest/index.d.ts.map +0 -1
  664. package/dest/index.js +0 -31
  665. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  666. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  667. package/dest/json-rpc/server/telemetry.js +0 -0
  668. package/dest/log/debug.d.ts +0 -56
  669. package/dest/log/debug.d.ts.map +0 -1
  670. package/dest/log/debug.js +0 -75
  671. package/dest/log/log_history.d.ts +0 -31
  672. package/dest/log/log_history.d.ts.map +0 -1
  673. package/dest/log/log_history.js +0 -38
  674. package/dest/transport/browser/index.d.ts +0 -5
  675. package/dest/transport/browser/index.d.ts.map +0 -1
  676. package/dest/transport/browser/index.js +0 -4
  677. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  678. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  679. package/dest/transport/browser/message_port_socket.js +0 -42
  680. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  681. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  682. package/dest/transport/browser/shared_worker_connector.js +0 -19
  683. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  684. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  685. package/dest/transport/browser/shared_worker_listener.js +0 -33
  686. package/dest/transport/browser/worker_connector.d.ts +0 -26
  687. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  688. package/dest/transport/browser/worker_connector.js +0 -30
  689. package/dest/transport/browser/worker_listener.d.ts +0 -39
  690. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  691. package/dest/transport/browser/worker_listener.js +0 -35
  692. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  693. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  694. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  695. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
  696. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  697. package/dest/trees/unbalanced_merkle_tree.js +0 -100
  698. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  699. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  700. package/dest/wasm/empty_wasi_sdk.js +0 -148
  701. package/dest/wasm/index.d.ts +0 -2
  702. package/dest/wasm/index.d.ts.map +0 -1
  703. package/dest/wasm/index.js +0 -1
  704. package/dest/wasm/wasm_module.d.ts +0 -136
  705. package/dest/wasm/wasm_module.d.ts.map +0 -1
  706. package/dest/wasm/wasm_module.js +0 -196
  707. package/dest/worker/browser/index.d.ts +0 -3
  708. package/dest/worker/browser/index.d.ts.map +0 -1
  709. package/dest/worker/browser/index.js +0 -2
  710. package/dest/worker/browser/start_web_module.d.ts +0 -7
  711. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  712. package/dest/worker/browser/start_web_module.js +0 -27
  713. package/dest/worker/browser/web_data_store.d.ts +0 -24
  714. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  715. package/dest/worker/browser/web_data_store.js +0 -29
  716. package/dest/worker/browser/web_worker.d.ts +0 -10
  717. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  718. package/dest/worker/browser/web_worker.js +0 -25
  719. package/dest/worker/data_store.d.ts +0 -21
  720. package/dest/worker/data_store.d.ts.map +0 -1
  721. package/dest/worker/data_store.js +0 -3
  722. package/dest/worker/index.d.ts +0 -3
  723. package/dest/worker/index.d.ts.map +0 -1
  724. package/dest/worker/index.js +0 -1
  725. package/dest/worker/node/index.d.ts +0 -3
  726. package/dest/worker/node/index.d.ts.map +0 -1
  727. package/dest/worker/node/index.js +0 -2
  728. package/dest/worker/node/node_data_store.d.ts +0 -13
  729. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  730. package/dest/worker/node/node_data_store.js +0 -20
  731. package/dest/worker/node/node_worker.d.ts +0 -6
  732. package/dest/worker/node/node_worker.d.ts.map +0 -1
  733. package/dest/worker/node/node_worker.js +0 -22
  734. package/dest/worker/node/start_node_module.d.ts +0 -7
  735. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  736. package/dest/worker/node/start_node_module.js +0 -31
  737. package/dest/worker/wasm_worker.d.ts +0 -9
  738. package/dest/worker/wasm_worker.d.ts.map +0 -1
  739. package/dest/worker/wasm_worker.js +0 -3
  740. package/dest/worker/worker_pool.d.ts +0 -40
  741. package/dest/worker/worker_pool.d.ts.map +0 -1
  742. package/dest/worker/worker_pool.js +0 -51
  743. package/src/crypto/index.ts +0 -14
  744. package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
  745. package/src/crypto/serialize.ts +0 -85
  746. package/src/fields/coordinate.ts +0 -104
  747. package/src/fields/index.ts +0 -3
  748. package/src/index.ts +0 -31
  749. package/src/json-rpc/server/telemetry.ts +0 -0
  750. package/src/log/debug.ts +0 -104
  751. package/src/log/log_history.ts +0 -44
  752. package/src/transport/browser/index.ts +0 -4
  753. package/src/transport/browser/message_port_socket.ts +0 -48
  754. package/src/transport/browser/shared_worker_connector.ts +0 -21
  755. package/src/transport/browser/shared_worker_listener.ts +0 -53
  756. package/src/transport/browser/worker_connector.ts +0 -30
  757. package/src/transport/browser/worker_listener.ts +0 -54
  758. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
  759. package/src/trees/unbalanced_merkle_tree.ts +0 -103
  760. package/src/wasm/README.md +0 -6
  761. package/src/wasm/empty_wasi_sdk.ts +0 -166
  762. package/src/wasm/fixtures/gcd.wasm +0 -0
  763. package/src/wasm/fixtures/gcd.wat +0 -27
  764. package/src/wasm/index.ts +0 -1
  765. package/src/wasm/wasm_module.ts +0 -260
  766. package/src/worker/browser/index.ts +0 -2
  767. package/src/worker/browser/start_web_module.ts +0 -24
  768. package/src/worker/browser/web_data_store.ts +0 -38
  769. package/src/worker/browser/web_worker.ts +0 -25
  770. package/src/worker/data_store.ts +0 -19
  771. package/src/worker/index.ts +0 -2
  772. package/src/worker/node/index.ts +0 -2
  773. package/src/worker/node/node_data_store.ts +0 -27
  774. package/src/worker/node/node_worker.ts +0 -23
  775. package/src/worker/node/start_node_module.ts +0 -30
  776. package/src/worker/wasm_worker.ts +0 -7
  777. package/src/worker/worker_pool.ts +0 -73
@@ -0,0 +1,297 @@
1
+ /**
2
+ * A value that can be appended to a {@link BufferSink}. Mirrors `Bufferable`, but the object arm allows the
3
+ * optional-sink overload of `toBuffer` so a legacy `toBuffer(): Buffer` and a migrated `toBuffer(sink?)` both fit.
4
+ */ const DEFAULT_INITIAL_CAPACITY = 1024;
5
+ const MASK_64 = (1n << 64n) - 1n;
6
+ /**
7
+ * A growable, append-only binary sink backed by a single `ArrayBuffer`.
8
+ *
9
+ * It exists to replace the recursive `toBuffer()` chain — which allocates a `Buffer` at every node and
10
+ * `Buffer.concat`s at every level — with one buffer that the whole object graph streams into and that is sliced
11
+ * exactly once at the root. Encodings are big-endian, matching `serializeToBuffer` byte-for-byte.
12
+ *
13
+ * The migration contract is the optional-sink `toBuffer`:
14
+ *
15
+ * ```ts
16
+ * toBuffer(): Buffer;
17
+ * toBuffer(sink: BufferSink): void;
18
+ * toBuffer(sink?: BufferSink): Buffer | void {
19
+ * if (!sink) return BufferSink.serialize(this); // own a sink, fill it, slice once
20
+ * serializeToSink(sink, this.a, this.b, this.c); // stream into the caller's sink
21
+ * }
22
+ * ```
23
+ *
24
+ * When a sink is passed it writes and returns `undefined`; otherwise it returns its own buffer. Nodes that have
25
+ * not been migrated keep their plain `toBuffer(): Buffer` and are folded in via the return-value fallback in
26
+ * {@link serializeToSink}, so the tree stays valid at every step of an incremental migration.
27
+ *
28
+ * Performance note: bigints are written via `DataView.setBigUint64` limbs ({@link writeBigInt},
29
+ * {@link writeField}), NOT a per-byte shift loop. The limb form is ~16x faster than the legacy hex round-trip
30
+ * on field-heavy structures, and faster than the legacy path at every width — a naive per-byte shift loop is
31
+ * actually the slowest option, since each byte allocates a fresh BigInt. See the spike benchmark.
32
+ */ export class BufferSink {
33
+ buffer;
34
+ view;
35
+ offset = 0;
36
+ constructor(initialCapacity = DEFAULT_INITIAL_CAPACITY){
37
+ const ab = new ArrayBuffer(initialCapacity);
38
+ this.buffer = new Uint8Array(ab);
39
+ this.view = new DataView(ab);
40
+ }
41
+ /** Number of bytes written so far. */ get length() {
42
+ return this.offset;
43
+ }
44
+ /**
45
+ * Serialize a migrated value into a fresh sink and return the single resulting buffer. This is the no-sink
46
+ * branch of every migrated `toBuffer`: one allocation, one slice, only at the root.
47
+ *
48
+ * @param obj - The value to serialize via its sink-aware `toBuffer`.
49
+ * @param initialCapacity - Optional size hint (e.g. from `getSize()`) to skip reallocations on hot paths.
50
+ */ static serialize(obj, initialCapacity) {
51
+ const sink = new BufferSink(initialCapacity);
52
+ obj.toBuffer(sink);
53
+ return sink.toBuffer();
54
+ }
55
+ ensure(extra) {
56
+ const required = this.offset + extra;
57
+ if (required <= this.buffer.length) {
58
+ return;
59
+ }
60
+ let next = this.buffer.length * 2;
61
+ while(next < required){
62
+ next *= 2;
63
+ }
64
+ const grown = new Uint8Array(next);
65
+ grown.set(this.buffer.subarray(0, this.offset));
66
+ this.buffer = grown;
67
+ this.view = new DataView(grown.buffer);
68
+ }
69
+ /** Append a single byte (0/1) for a boolean, matching `boolToBuffer`. */ writeBool(value) {
70
+ this.ensure(1);
71
+ this.buffer[this.offset++] = value ? 1 : 0;
72
+ }
73
+ /** Append an unsigned 8-bit integer. */ writeUInt8(value) {
74
+ this.ensure(1);
75
+ this.buffer[this.offset++] = value & 0xff;
76
+ }
77
+ /** Append a big-endian unsigned 16-bit integer. */ writeUInt16(value) {
78
+ this.ensure(2);
79
+ this.view.setUint16(this.offset, value, false);
80
+ this.offset += 2;
81
+ }
82
+ /** Append a big-endian unsigned 32-bit integer, matching `numToUInt32BE`. */ writeNumber(value) {
83
+ this.ensure(4);
84
+ this.view.setUint32(this.offset, value, false);
85
+ this.offset += 4;
86
+ }
87
+ /** Append a big-endian unsigned 64-bit integer, matching `bigintToUInt64BE`. */ writeUInt64(value) {
88
+ this.ensure(8);
89
+ this.view.setBigUint64(this.offset, value, false);
90
+ this.offset += 8;
91
+ }
92
+ /**
93
+ * Append a non-negative bigint as a big-endian unsigned integer of `width` bytes (default 32), matching
94
+ * `serializeBigInt` / `toBufferBE`. Every width is written limb-wise via `setBigUint64` rather than the
95
+ * legacy per-byte BigInt shift loop — that loop allocated a fresh BigInt per byte and benchmarked as the
96
+ * *slowest* option (slower even than the legacy hex round-trip); the limb form is faster at every width.
97
+ *
98
+ * The bulk of the value is written as 64-bit big-endian limbs from the least-significant tail upward, and
99
+ * a final `width % 8` (at most 7) high bytes that don't fill a whole limb are written individually. The
100
+ * common widths (8/16/32) are exact multiples of 8, so they take the pure-limb path with no remainder.
101
+ * `width === 32` keeps its own straight-line four-limb form (shared with {@link writeField}) since it is
102
+ * the `Fr`/`Fq`/Chonk-proof hot path and the unrolled body is marginally faster than the loop.
103
+ *
104
+ * @param value - The non-negative bigint to serialize.
105
+ * @param width - Output width in bytes.
106
+ */ writeBigInt(value, width = 32) {
107
+ if (value < 0n) {
108
+ throw new Error(`Cannot serialize negative bigint ${value}`);
109
+ }
110
+ this.ensure(width);
111
+ const o = this.offset;
112
+ if (width === 32) {
113
+ let x = value;
114
+ this.view.setBigUint64(o + 24, x & MASK_64, false);
115
+ x >>= 64n;
116
+ this.view.setBigUint64(o + 16, x & MASK_64, false);
117
+ x >>= 64n;
118
+ this.view.setBigUint64(o + 8, x & MASK_64, false);
119
+ x >>= 64n;
120
+ this.view.setBigUint64(o, x & MASK_64, false);
121
+ x >>= 64n;
122
+ if (x !== 0n) {
123
+ throw new Error(`BigInt ${value} does not fit into 32 bytes`);
124
+ }
125
+ this.offset += 32;
126
+ return;
127
+ }
128
+ let x = value;
129
+ let pos = o + width;
130
+ while(pos - 8 >= o){
131
+ pos -= 8;
132
+ this.view.setBigUint64(pos, x & MASK_64, false);
133
+ x >>= 64n;
134
+ }
135
+ for(let i = pos - 1; i >= o; i--){
136
+ this.buffer[i] = Number(x & 0xffn);
137
+ x >>= 8n;
138
+ }
139
+ if (x !== 0n) {
140
+ throw new Error(`BigInt ${value} does not fit into ${width} bytes`);
141
+ }
142
+ this.offset += width;
143
+ }
144
+ /**
145
+ * Append a 32-byte (256-bit) big-endian non-negative bigint. Specialized form of {@link writeBigInt}
146
+ * with no width parameter and no width-branch, so V8 can inline the four `setBigUint64` limb writes
147
+ * without the wider branchy form's instability. This is the Fr/Fq leaf hot path; prefer it over
148
+ * `writeBigInt(value, 32)` in callers that always serialize 32-byte fields.
149
+ */ writeField(value) {
150
+ if (value < 0n) {
151
+ throw new Error(`Cannot serialize negative bigint ${value}`);
152
+ }
153
+ this.ensure(32);
154
+ const o = this.offset;
155
+ let x = value;
156
+ this.view.setBigUint64(o + 24, x & MASK_64, false);
157
+ x >>= 64n;
158
+ this.view.setBigUint64(o + 16, x & MASK_64, false);
159
+ x >>= 64n;
160
+ this.view.setBigUint64(o + 8, x & MASK_64, false);
161
+ x >>= 64n;
162
+ this.view.setBigUint64(o, x & MASK_64, false);
163
+ if (x >> 64n !== 0n) {
164
+ throw new Error(`BigInt ${value} does not fit into 32 bytes`);
165
+ }
166
+ this.offset = o + 32;
167
+ }
168
+ /**
169
+ * Append an array of field elements (or any objects exposing `toBigInt(): bigint`) as a contiguous
170
+ * sequence of 32-byte big-endian limbs. Iterates inline — no per-element `toBuffer` dispatch and no
171
+ * per-element function-call indirection through the generic sinkable dispatcher. Use this in classes
172
+ * that hold large flat field arrays (e.g. the 1632-element ChonkProof field list).
173
+ */ writeFields(fields) {
174
+ this.ensure(32 * fields.length);
175
+ for(let i = 0, n = fields.length; i < n; i++){
176
+ const value = fields[i].toBigInt();
177
+ if (value < 0n) {
178
+ throw new Error(`Cannot serialize negative bigint ${value}`);
179
+ }
180
+ const o = this.offset;
181
+ let x = value;
182
+ this.view.setBigUint64(o + 24, x & MASK_64, false);
183
+ x >>= 64n;
184
+ this.view.setBigUint64(o + 16, x & MASK_64, false);
185
+ x >>= 64n;
186
+ this.view.setBigUint64(o + 8, x & MASK_64, false);
187
+ x >>= 64n;
188
+ this.view.setBigUint64(o, x & MASK_64, false);
189
+ if (x >> 64n !== 0n) {
190
+ throw new Error(`BigInt ${value} does not fit into 32 bytes`);
191
+ }
192
+ this.offset = o + 32;
193
+ }
194
+ }
195
+ /** Append raw bytes verbatim (no length prefix), matching how a `Buffer`/`Uint8Array` is serialized inline. */ writeBytes(bytes) {
196
+ this.ensure(bytes.length);
197
+ this.buffer.set(bytes, this.offset);
198
+ this.offset += bytes.length;
199
+ }
200
+ /** Append a string as a 4-byte big-endian length prefix followed by its UTF-8 bytes, matching the string case. */ writeString(value) {
201
+ const bytes = Buffer.from(value);
202
+ this.writeNumber(bytes.length);
203
+ this.writeBytes(bytes);
204
+ }
205
+ /**
206
+ * Reset the write cursor without releasing the backing buffer. Lets the same sink be reused across many
207
+ * serializations without reallocating — the per-call cost drops to the bytes written (no `new ArrayBuffer`).
208
+ * Any `Buffer` previously returned by {@link toBuffer} is a fresh copy and remains valid; any view from
209
+ * {@link asUint8Array} aliases the buffer and is invalidated.
210
+ */ reset() {
211
+ this.offset = 0;
212
+ }
213
+ /** Copy the written region into a freshly allocated `Buffer`. The single allocation of the whole serialization. */ toBuffer() {
214
+ return Buffer.from(this.buffer.subarray(0, this.offset));
215
+ }
216
+ /** A zero-copy view of the written region. Valid only until the next write (which may reallocate). */ asUint8Array() {
217
+ return this.buffer.subarray(0, this.offset);
218
+ }
219
+ }
220
+ /**
221
+ * Streaming counterpart to `serializeToBufferArray`: walk a list of {@link Sinkable}s and append each to the sink.
222
+ * Dispatch matches `serializeToBufferArray` byte-for-byte. An object is serialized via `obj.toBuffer(sink)`; a
223
+ * migrated node writes into the sink and returns `undefined`, while a not-yet-migrated node ignores the argument
224
+ * and returns its `Buffer`, which we copy in. That return-value fallback is what makes the migration incremental.
225
+ *
226
+ * Dispatch is hot-pathed for the common case of objects exposing `toBuffer` (Fr/Fq and every other migrated leaf),
227
+ * and arrays recurse via an inner-array helper to avoid the per-call rest-args allocation that a spread-recurse
228
+ * would force on large flat arrays like the 1632-element ChonkProof field list.
229
+ *
230
+ * @param sink - The destination sink.
231
+ * @param objs - The values to serialize, in order.
232
+ */ export function serializeToSink(sink, ...objs) {
233
+ serializeArrayToSinkInner(sink, objs);
234
+ }
235
+ function serializeArrayToSinkInner(sink, objs) {
236
+ for(let i = 0, n = objs.length; i < n; i++){
237
+ serializeOneToSink(sink, objs[i]);
238
+ }
239
+ }
240
+ function serializeOneToSink(sink, obj) {
241
+ if (typeof obj === 'object' && obj !== null) {
242
+ // Hot path: migrated nodes (anything implementing toBuffer, including Fr/Fq via BaseField). This branch
243
+ // is taken for the vast majority of recursive serialization, so it is checked before the typeof primitives.
244
+ if (obj.toBuffer !== undefined) {
245
+ const ret = obj.toBuffer(sink);
246
+ if (ret !== undefined) {
247
+ sink.writeBytes(ret);
248
+ }
249
+ return;
250
+ }
251
+ if (Array.isArray(obj)) {
252
+ serializeArrayToSinkInner(sink, obj);
253
+ return;
254
+ }
255
+ if (Buffer.isBuffer(obj) || obj instanceof Uint8Array) {
256
+ sink.writeBytes(obj);
257
+ return;
258
+ }
259
+ throw new Error(`Cannot serialize input to sink: ${typeof obj} ${obj.constructor?.name}`);
260
+ }
261
+ if (typeof obj === 'boolean') {
262
+ sink.writeBool(obj);
263
+ } else if (typeof obj === 'bigint') {
264
+ sink.writeBigInt(obj);
265
+ } else if (typeof obj === 'number') {
266
+ sink.writeNumber(obj);
267
+ } else if (typeof obj === 'string') {
268
+ sink.writeString(obj);
269
+ } else {
270
+ throw new Error(`Cannot serialize input to sink: ${typeof obj}`);
271
+ }
272
+ }
273
+ /**
274
+ * Streaming counterpart to `serializeArrayOfBufferableToVector`: write a length prefix (1 or 4 bytes) giving the
275
+ * number of serialized elements, then each element. Byte-identical to the buffer version.
276
+ *
277
+ * @param sink - The destination sink.
278
+ * @param objs - The vector elements.
279
+ * @param prefixLength - Width of the count prefix in bytes (1 or 4).
280
+ */ export function serializeArrayToSink(sink, objs, prefixLength = 4) {
281
+ const count = countSinkables(objs);
282
+ if (prefixLength === 1) {
283
+ sink.writeUInt8(count);
284
+ } else if (prefixLength === 4) {
285
+ sink.writeNumber(count);
286
+ } else {
287
+ throw new Error(`Unsupported prefix length. Got ${prefixLength}, expected 1 or 4`);
288
+ }
289
+ serializeArrayToSinkInner(sink, objs);
290
+ }
291
+ /** Count how many top-level buffers `serializeToBufferArray` would emit, flattening nested arrays as it does. */ function countSinkables(objs) {
292
+ let count = 0;
293
+ for (const obj of objs){
294
+ count += Array.isArray(obj) ? countSinkables(obj) : 1;
295
+ }
296
+ return count;
297
+ }
@@ -1,4 +1,4 @@
1
- import { Fq, type Fr } from '../fields/fields.js';
1
+ import { Fq, type Fr } from '../curves/bn254/field.js';
2
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.
@@ -11,7 +11,7 @@ import type { Tuple } from './types.js';
11
11
  export declare class FieldReader {
12
12
  private fields;
13
13
  private index;
14
- private length;
14
+ private readonly length;
15
15
  constructor(fields: Fr[], offset?: number);
16
16
  /**
17
17
  * Creates a FieldReader instance from either a field array or an existing FieldReader.
@@ -26,6 +26,7 @@ export declare class FieldReader {
26
26
  * @returns The current cursor position.
27
27
  */
28
28
  get cursor(): number;
29
+ remainingFields(): number;
29
30
  /**
30
31
  * Skips the next n fields.
31
32
  *
@@ -67,6 +68,14 @@ export declare class FieldReader {
67
68
  * @returns The read 32-bit unsigned integer value.
68
69
  */
69
70
  readU32(): number;
71
+ /**
72
+ * Reads a 64-bit unsigned integer from the field array at the current index position.
73
+ * Updates the index position by 1 after reading the number.
74
+ * Throw if the value is greater than 2 ** 64.
75
+ *
76
+ * @returns The read 64-bit unsigned integer value as a bigint.
77
+ */
78
+ readU64(): bigint;
70
79
  /**
71
80
  * Read an array of a fixed size field array.
72
81
  *
@@ -109,4 +118,4 @@ export declare class FieldReader {
109
118
  */
110
119
  isFinished(): boolean;
111
120
  }
112
- //# sourceMappingURL=field_reader.d.ts.map
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRfcmVhZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplL2ZpZWxkX3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXhDOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSxXQUFXO0lBS3BCLE9BQU8sQ0FBQyxNQUFNO0lBSmhCLE9BQU8sQ0FBQyxLQUFLLENBQVM7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQVM7SUFFaEMsWUFDVSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQ3BCLE1BQU0sU0FBSSxFQU9YO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFjLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FNOUQ7SUFFRDs7OztPQUlHO0lBQ0gsSUFBVyxNQUFNLFdBRWhCO0lBRU0sZUFBZSxJQUFJLE1BQU0sQ0FFL0I7SUFFRDs7OztPQUlHO0lBQ0ksSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLFFBS3BCO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsSUFBSSxFQUFFLENBS3JCO0lBRUQ7Ozs7T0FJRztJQUNJLFNBQVMsSUFBSSxFQUFFLENBS3JCO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sSUFBSSxFQUFFLENBRWxCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFdBQVcsSUFBSSxPQUFPLENBTzVCO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksT0FBTyxJQUFJLE1BQU0sQ0FPdkI7SUFFRDs7Ozs7O09BTUc7SUFDSSxPQUFPLElBQUksTUFBTSxDQU92QjtJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQU03RDtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sRUFDbEMsSUFBSSxFQUFFLENBQUMsRUFDUCxnQkFBZ0IsRUFBRTtRQUNoQjs7V0FFRztRQUNILFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxXQUFXLEtBQUssQ0FBQyxDQUFDO0tBQ3hDLEdBQ0EsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FHYjtJQUVEOzs7Ozs7T0FNRztJQUNJLFVBQVUsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFO1FBQ2pDOztXQUVHO1FBQ0gsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFdBQVcsS0FBSyxDQUFDLENBQUM7S0FDeEMsR0FBRyxDQUFDLENBRUo7SUFFRDs7O09BR0c7SUFDSSxVQUFVLElBQUksT0FBTyxDQUUzQjtDQUNGIn0=
@@ -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,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"}
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,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,qBAAa,WAAW;IAKpB,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,YACU,MAAM,EAAE,EAAE,EAAE,EACpB,MAAM,SAAI,EAOX;IAED;;;;;OAKG;IACH,OAAc,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,WAAW,CAM9D;IAED;;;;OAIG;IACH,IAAW,MAAM,WAEhB;IAEM,eAAe,IAAI,MAAM,CAE/B;IAED;;;;OAIG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,QAKpB;IAED;;;;OAIG;IACI,SAAS,IAAI,EAAE,CAKrB;IAED;;;;OAIG;IACI,SAAS,IAAI,EAAE,CAKrB;IAED;;;;OAIG;IACI,MAAM,IAAI,EAAE,CAElB;IAED;;;;;;;OAOG;IACI,WAAW,IAAI,OAAO,CAO5B;IAED;;;;;;OAMG;IACI,OAAO,IAAI,MAAM,CAOvB;IAED;;;;;;OAMG;IACI,OAAO,IAAI,MAAM,CAOvB;IAED;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAM7D;IAED;;;;;;;;;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,CAGb;IAED;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,CAAC,CAAC;KACxC,GAAG,CAAC,CAEJ;IAED;;;OAGG;IACI,UAAU,IAAI,OAAO,CAE3B;CACF"}
@@ -1,4 +1,4 @@
1
- import { Fq } from '../fields/fields.js';
1
+ import { Fq } from '../curves/bn254/field.js';
2
2
  /**
3
3
  * The FieldReader class provides a utility for reading various data types from a field array.
4
4
  *
@@ -14,7 +14,7 @@ import { Fq } from '../fields/fields.js';
14
14
  this.fields = fields;
15
15
  this.index = offset;
16
16
  this.length = fields.length;
17
- if (offset >= this.length) {
17
+ if (offset > this.length) {
18
18
  throw new Error('Offset out of bounds.');
19
19
  }
20
20
  }
@@ -36,6 +36,9 @@ import { Fq } from '../fields/fields.js';
36
36
  */ get cursor() {
37
37
  return this.index;
38
38
  }
39
+ remainingFields() {
40
+ return this.length - this.index;
41
+ }
39
42
  /**
40
43
  * Skips the next n fields.
41
44
  *
@@ -103,6 +106,20 @@ import { Fq } from '../fields/fields.js';
103
106
  return Number(value);
104
107
  }
105
108
  /**
109
+ * Reads a 64-bit unsigned integer from the field array at the current index position.
110
+ * Updates the index position by 1 after reading the number.
111
+ * Throw if the value is greater than 2 ** 64.
112
+ *
113
+ * @returns The read 64-bit unsigned integer value as a bigint.
114
+ */ readU64() {
115
+ const field = this.readField();
116
+ const value = field.toBigInt();
117
+ if (value >= 1n << 64n) {
118
+ throw new Error('Field is not a u64.');
119
+ }
120
+ return value;
121
+ }
122
+ /**
106
123
  * Read an array of a fixed size field array.
107
124
  *
108
125
  * @param size - The fixed number of fields in the array.
@@ -1,6 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Fr } from '../fields/fields.js';
1
+ import { Fr } from '../curves/bn254/field.js';
4
2
  import type { Tuple } from './types.js';
5
3
  /**
6
4
  * Convert a boolean value to its corresponding byte representation in a Buffer of size 1.
@@ -10,13 +8,13 @@ import type { Tuple } from './types.js';
10
8
  * @param b - The boolean value to be converted.
11
9
  * @returns A Buffer containing the byte representation of the input boolean value.
12
10
  */
13
- export declare function boolToByte(b: boolean): Buffer;
11
+ export declare function boolToByte(b: boolean): Buffer<ArrayBuffer>;
14
12
  /**
15
13
  * @param n - The input number to be converted to a big-endian unsigned 16-bit integer Buffer.
16
14
  * @param bufferSize - Optional, the size of the output Buffer (default is 2).
17
15
  * @returns A Buffer containing the big-endian unsigned 16-bit integer representation of the input number.
18
16
  */
19
- export declare function numToUInt16BE(n: number, bufferSize?: number): Buffer;
17
+ export declare function numToUInt16BE(n: number, bufferSize?: number): Buffer<ArrayBuffer>;
20
18
  /**
21
19
  * Convert a number into a 4-byte little-endian unsigned integer buffer.
22
20
  * The input number is serialized as an unsigned 32-bit integer in little-endian byte order,
@@ -27,7 +25,7 @@ export declare function numToUInt16BE(n: number, bufferSize?: number): Buffer;
27
25
  * @param bufferSize - Optional, the size of the output buffer (default value is 4).
28
26
  * @returns A Buffer containing the serialized little-endian unsigned integer representation of the input number.
29
27
  */
30
- export declare function numToUInt32LE(n: number, bufferSize?: number): Buffer;
28
+ export declare function numToUInt32LE(n: number, bufferSize?: number): Buffer<ArrayBuffer>;
31
29
  /**
32
30
  * Convert a number to a big-endian unsigned 32-bit integer Buffer.
33
31
  * This function takes a number and an optional buffer size as input and creates a Buffer with the specified size (defaults to 4) containing the big-endian representation of the input number as an unsigned 32-bit integer. Note that the bufferSize should be greater than or equal to 4, otherwise the output Buffer might truncate the serialized value.
@@ -36,7 +34,23 @@ export declare function numToUInt32LE(n: number, bufferSize?: number): Buffer;
36
34
  * @param bufferSize - Optional, the size of the output Buffer (default is 4).
37
35
  * @returns A Buffer containing the big-endian unsigned 32-bit integer representation of the input number.
38
36
  */
39
- export declare function numToUInt32BE(n: number, bufferSize?: number): Buffer;
37
+ export declare function numToUInt32BE(n: number, bufferSize?: number): Buffer<ArrayBuffer>;
38
+ /**
39
+ * Convert a bigint to a big-endian unsigned 64-bit integer Buffer.
40
+ *
41
+ * @param n - The bigint to be converted to a big-endian unsigned 64-bit integer Buffer.
42
+ * @param bufferSize - Optional, the size of the output Buffer (default is 8).
43
+ * @returns A Buffer containing the big-endian unsigned 64-bit integer representation of the input number.
44
+ */
45
+ export declare function bigintToUInt64BE(n: bigint, bufferSize?: number): Buffer<ArrayBuffer>;
46
+ /**
47
+ * Convert a bigint to a big-endian unsigned 128-bit integer Buffer.
48
+ *
49
+ * @param n - The bigint to be converted to a big-endian unsigned 128-bit integer Buffer.
50
+ * @param bufferSize - Optional, the size of the output Buffer (default is 16).
51
+ * @returns A Buffer containing the big-endian unsigned 128-bit integer representation of the input number.
52
+ */
53
+ export declare function bigintToUInt128BE(n: bigint, bufferSize?: number): Buffer<ArrayBufferLike>;
40
54
  /**
41
55
  * Serialize a number into a big-endian signed 32-bit integer Buffer with the specified buffer size.
42
56
  * This function converts the input number into its binary representation and stores it in a Buffer
@@ -48,7 +62,7 @@ export declare function numToUInt32BE(n: number, bufferSize?: number): Buffer;
48
62
  * @param bufferSize - Optional, the size of the output Buffer (default is 4 bytes).
49
63
  * @returns A Buffer containing the serialized big-endian signed 32-bit integer.
50
64
  */
51
- export declare function numToInt32BE(n: number, bufferSize?: number): Buffer;
65
+ export declare function numToInt32BE(n: number, bufferSize?: number): Buffer<ArrayBuffer>;
52
66
  /**
53
67
  * Convert a number to an 8-bit unsigned integer and return it as a Buffer of length 1.
54
68
  * The input number is written as an 8-bit unsigned integer into the buffer. This function
@@ -58,13 +72,13 @@ export declare function numToInt32BE(n: number, bufferSize?: number): Buffer;
58
72
  * @param n - The number to be converted to an 8-bit unsigned integer.
59
73
  * @returns A Buffer containing the 8-bit unsigned integer representation of the input number.
60
74
  */
61
- export declare function numToUInt8(n: number): Buffer;
75
+ export declare function numToUInt8(n: number): Buffer<ArrayBuffer>;
62
76
  /**
63
77
  * Adds a 4-byte byte-length prefix to a buffer.
64
78
  * @param buf - The input Buffer to be prefixed
65
79
  * @returns A Buffer with 4-byte byte-length prefix.
66
80
  */
67
- export declare function prefixBufferWithLength(buf: Buffer): Buffer;
81
+ export declare function prefixBufferWithLength(buf: Buffer): Buffer<ArrayBuffer>;
68
82
  /**
69
83
  * Parse a buffer as a big integer.
70
84
  */
@@ -88,18 +102,6 @@ export declare function from2Fields(field1: Fr, field2: Fr): Buffer;
88
102
  * @returns 31 bytes of data padded to 32
89
103
  */
90
104
  export declare function truncateAndPad(buf: Buffer): Buffer;
91
- /**
92
- * Stores 248 bits of information in 1 field.
93
- * @param buf - 32 or 31 bytes of data
94
- * @returns 1 field element
95
- */
96
- export declare function toTruncField(buf: Buffer): Fr;
97
- /**
98
- * Reconstructs the original 31 bytes of data from 1 truncated field element.
99
- * @param field - field element
100
- * @returns 31 bytes of data as a Buffer
101
- */
102
- export declare function fromTruncField(field: Fr): Buffer;
103
105
  export declare function fromFieldsTuple(fields: Tuple<Fr, 2>): Buffer;
104
106
  export declare function toHumanReadable(buf: Buffer, maxLen?: number): string;
105
- //# sourceMappingURL=free_funcs.d.ts.map
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlZV9mdW5jcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZS9mcmVlX2Z1bmNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFeEM7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sdUJBSXBDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixhQUFhLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLFNBQUksdUJBSXREO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsU0FBSSx1QkFJdEQ7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsU0FBSSx1QkFJdEQ7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLFNBQUksdUJBSXpEO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxTQUFLLDJCQUUzRDtBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxTQUFJLHVCQUlyRDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSx1QkFLbkM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLEdBQUcsRUFBRSxNQUFNLHVCQUlqRDtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FNNUM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQVUvQztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLFdBQVcsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTSxDQVcxRDtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQU1sRDtBQUVELHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUU1RDtBQUVELHdCQUFnQixlQUFlLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQU1wRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"free_funcs.d.ts","sourceRoot":"","sources":["../../src/serialize/free_funcs.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,UAIpC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAItD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAItD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAItD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,UAIrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,UAKnC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,UAIjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAU/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,CAW5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAMhD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAMpE"}
1
+ {"version":3,"file":"free_funcs.d.ts","sourceRoot":"","sources":["../../src/serialize/free_funcs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,uBAIpC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,uBAItD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,uBAItD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,uBAItD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,uBAIzD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAK,2BAE3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,uBAIrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,uBAKnC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,uBAIjD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAU/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAE5D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAMpE"}
@@ -1,4 +1,5 @@
1
- import { Fr } from '../fields/fields.js';
1
+ import { toBufferBE } from '../bigint-buffer/index.js';
2
+ import { Fr } from '../curves/bn254/field.js';
2
3
  /**
3
4
  * Convert a boolean value to its corresponding byte representation in a Buffer of size 1.
4
5
  * The function takes a boolean value and writes it into a new buffer as either 1 (true) or 0 (false).
@@ -46,6 +47,26 @@ import { Fr } from '../fields/fields.js';
46
47
  buf.writeUInt32BE(n, bufferSize - 4);
47
48
  return buf;
48
49
  }
50
+ /**
51
+ * Convert a bigint to a big-endian unsigned 64-bit integer Buffer.
52
+ *
53
+ * @param n - The bigint to be converted to a big-endian unsigned 64-bit integer Buffer.
54
+ * @param bufferSize - Optional, the size of the output Buffer (default is 8).
55
+ * @returns A Buffer containing the big-endian unsigned 64-bit integer representation of the input number.
56
+ */ export function bigintToUInt64BE(n, bufferSize = 8) {
57
+ const buf = Buffer.alloc(bufferSize);
58
+ buf.writeBigUInt64BE(n, bufferSize - 8);
59
+ return buf;
60
+ }
61
+ /**
62
+ * Convert a bigint to a big-endian unsigned 128-bit integer Buffer.
63
+ *
64
+ * @param n - The bigint to be converted to a big-endian unsigned 128-bit integer Buffer.
65
+ * @param bufferSize - Optional, the size of the output Buffer (default is 16).
66
+ * @returns A Buffer containing the big-endian unsigned 128-bit integer representation of the input number.
67
+ */ export function bigintToUInt128BE(n, bufferSize = 16) {
68
+ return toBufferBE(n, bufferSize);
69
+ }
49
70
  /**
50
71
  * Serialize a number into a big-endian signed 32-bit integer Buffer with the specified buffer size.
51
72
  * This function converts the input number into its binary representation and stores it in a Buffer
@@ -150,33 +171,6 @@ import { Fr } from '../fields/fields.js';
150
171
  buf.subarray(0, 31)
151
172
  ]);
152
173
  }
153
- /**
154
- * Stores 248 bits of information in 1 field.
155
- * @param buf - 32 or 31 bytes of data
156
- * @returns 1 field element
157
- */ export function toTruncField(buf) {
158
- if (buf.length !== 32 && buf.length !== 31) {
159
- throw new Error('Buffer must be 31 or 32 bytes');
160
- }
161
- if (buf.length == 32 && buf[0] == 0 || buf.length == 31) {
162
- return Fr.fromBuffer(buf);
163
- } else {
164
- // Note: safer to NOT truncate here, all inputs are expected to be truncated
165
- // from Noir or L1 Contracts or Class.hash() methods
166
- throw new Error(`Number ${toBigInt(buf)} does not fit in 31 byte truncated buffer`);
167
- }
168
- }
169
- /**
170
- * Reconstructs the original 31 bytes of data from 1 truncated field element.
171
- * @param field - field element
172
- * @returns 31 bytes of data as a Buffer
173
- */ export function fromTruncField(field) {
174
- const buffer = field.toBuffer();
175
- if (buffer[0] != 0) {
176
- throw new Error(`Number ${field} does not fit in 31 byte truncated buffer`);
177
- }
178
- return buffer;
179
- }
180
174
  export function fromFieldsTuple(fields) {
181
175
  return from2Fields(fields[0], fields[1]);
182
176
  }
@@ -1,7 +1,8 @@
1
1
  export * from './free_funcs.js';
2
2
  export * from './buffer_reader.js';
3
+ export * from './buffer_sink.js';
3
4
  export * from './field_reader.js';
4
5
  export * from './types.js';
5
6
  export * from './serialize.js';
6
7
  export * from './type_registry.js';
7
- //# sourceMappingURL=index.d.ts.map
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export * from './free_funcs.js';
2
2
  export * from './buffer_reader.js';
3
+ export * from './buffer_sink.js';
3
4
  export * from './field_reader.js';
4
5
  export * from './types.js';
5
6
  export * from './serialize.js';