@aztec/foundation 0.0.1-commit.b655e406 → 0.0.1-commit.b8a057fa

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 (600) hide show
  1. package/dest/array/array.d.ts +1 -9
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +0 -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/bigint/index.d.ts +1 -1
  13. package/dest/bigint-buffer/index.d.ts +1 -1
  14. package/dest/bigint-buffer/index.d.ts.map +1 -1
  15. package/dest/bigint-buffer/index.js +6 -1
  16. package/dest/branded-types/block_number.d.ts +56 -0
  17. package/dest/branded-types/block_number.d.ts.map +1 -0
  18. package/dest/branded-types/block_number.js +89 -0
  19. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  20. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  21. package/dest/branded-types/buffer32_hash.js +12 -0
  22. package/dest/branded-types/checkpoint_number.d.ts +60 -0
  23. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  24. package/dest/branded-types/checkpoint_number.js +88 -0
  25. package/dest/branded-types/epoch.d.ts +42 -0
  26. package/dest/branded-types/epoch.d.ts.map +1 -0
  27. package/dest/branded-types/epoch.js +59 -0
  28. package/dest/branded-types/index.d.ts +8 -0
  29. package/dest/branded-types/index.d.ts.map +1 -0
  30. package/dest/branded-types/index.js +6 -0
  31. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  32. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  33. package/dest/branded-types/index_within_checkpoint.js +59 -0
  34. package/dest/branded-types/slot.d.ts +45 -0
  35. package/dest/branded-types/slot.d.ts.map +1 -0
  36. package/dest/branded-types/slot.js +62 -0
  37. package/dest/branded-types/types.d.ts +5 -0
  38. package/dest/branded-types/types.d.ts.map +1 -0
  39. package/dest/branded-types/types.js +1 -0
  40. package/dest/buffer/buffer16.d.ts +4 -2
  41. package/dest/buffer/buffer16.d.ts.map +1 -1
  42. package/dest/buffer/buffer16.js +4 -2
  43. package/dest/buffer/buffer32.d.ts +29 -62
  44. package/dest/buffer/buffer32.d.ts.map +1 -1
  45. package/dest/buffer/buffer32.js +33 -65
  46. package/dest/buffer/index.d.ts +2 -1
  47. package/dest/buffer/index.d.ts.map +1 -1
  48. package/dest/buffer/index.js +1 -0
  49. package/dest/buffer/utils.d.ts +3 -0
  50. package/dest/buffer/utils.d.ts.map +1 -0
  51. package/dest/buffer/utils.js +7 -0
  52. package/dest/collection/array.d.ts +22 -1
  53. package/dest/collection/array.d.ts.map +1 -1
  54. package/dest/collection/array.js +84 -0
  55. package/dest/collection/index.d.ts +3 -1
  56. package/dest/collection/index.d.ts.map +1 -1
  57. package/dest/collection/index.js +2 -0
  58. package/dest/collection/lru_map.d.ts +41 -0
  59. package/dest/collection/lru_map.d.ts.map +1 -0
  60. package/dest/collection/lru_map.js +119 -0
  61. package/dest/collection/lru_set.d.ts +35 -0
  62. package/dest/collection/lru_set.d.ts.map +1 -0
  63. package/dest/collection/lru_set.js +95 -0
  64. package/dest/collection/object.d.ts +1 -1
  65. package/dest/committable/committable.d.ts +1 -1
  66. package/dest/committable/committable.d.ts.map +1 -1
  67. package/dest/committable/committable.js +1 -1
  68. package/dest/committable/index.d.ts +1 -1
  69. package/dest/config/env_var.d.ts +2 -2
  70. package/dest/config/env_var.d.ts.map +1 -1
  71. package/dest/config/index.d.ts +79 -38
  72. package/dest/config/index.d.ts.map +1 -1
  73. package/dest/config/index.js +103 -64
  74. package/dest/config/network_config.d.ts +17 -31
  75. package/dest/config/network_config.d.ts.map +1 -1
  76. package/dest/config/network_config.js +6 -1
  77. package/dest/config/network_name.d.ts +2 -2
  78. package/dest/config/network_name.d.ts.map +1 -1
  79. package/dest/config/network_name.js +3 -3
  80. package/dest/config/parse-env.d.ts +3 -0
  81. package/dest/config/parse-env.d.ts.map +1 -0
  82. package/dest/config/parse-env.js +7 -0
  83. package/dest/config/secret_value.d.ts +2 -2
  84. package/dest/config/secret_value.d.ts.map +1 -1
  85. package/dest/config/secret_value.js +3 -1
  86. package/dest/crypto/aes128/index.d.ts +2 -1
  87. package/dest/crypto/aes128/index.d.ts.map +1 -1
  88. package/dest/crypto/aes128/index.js +13 -8
  89. package/dest/crypto/bls/bn254_keystore.d.ts +10 -177
  90. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  91. package/dest/crypto/bls/bn254_keystore.js +23 -35
  92. package/dest/crypto/bls/index.d.ts +1 -1
  93. package/dest/crypto/bls/index.js +1 -1
  94. package/dest/crypto/bn254/index.d.ts +35 -51
  95. package/dest/crypto/bn254/index.d.ts.map +1 -1
  96. package/dest/crypto/bn254/index.js +51 -137
  97. package/dest/crypto/ecdsa/index.d.ts +1 -1
  98. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  99. package/dest/crypto/ecdsa/index.js +4 -12
  100. package/dest/crypto/ecdsa/signature.d.ts +2 -2
  101. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  102. package/dest/crypto/ecdsa/signature.js +2 -2
  103. package/dest/crypto/grumpkin/index.d.ts +4 -2
  104. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  105. package/dest/crypto/grumpkin/index.js +7 -16
  106. package/dest/crypto/keccak/index.d.ts +1 -1
  107. package/dest/crypto/keys/index.d.ts +4 -3
  108. package/dest/crypto/keys/index.d.ts.map +1 -1
  109. package/dest/crypto/keys/index.js +32 -10
  110. package/dest/crypto/pedersen/index.d.ts +1 -1
  111. package/dest/crypto/pedersen/pedersen.noble.d.ts +1 -1
  112. package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
  113. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  114. package/dest/crypto/pedersen/pedersen.wasm.js +4 -10
  115. package/dest/crypto/poseidon/index.d.ts +2 -3
  116. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  117. package/dest/crypto/poseidon/index.js +41 -53
  118. package/dest/crypto/random/index.d.ts +1 -1
  119. package/dest/crypto/random/index.d.ts.map +1 -1
  120. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  121. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  122. package/dest/crypto/random/randomness_singleton.js +5 -5
  123. package/dest/crypto/schnorr/index.d.ts +10 -8
  124. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  125. package/dest/crypto/schnorr/index.js +10 -16
  126. package/dest/crypto/schnorr/signature.d.ts +10 -30
  127. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  128. package/dest/crypto/schnorr/signature.js +21 -37
  129. package/dest/crypto/secp256k1/index.d.ts +1 -1
  130. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  131. package/dest/crypto/secp256k1/index.js +3 -9
  132. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  133. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  134. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  135. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  136. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  137. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  138. package/dest/crypto/sha256/index.d.ts +2 -2
  139. package/dest/crypto/sha256/index.d.ts.map +1 -1
  140. package/dest/crypto/sha256/index.js +1 -1
  141. package/dest/crypto/sha512/index.d.ts +3 -3
  142. package/dest/crypto/sha512/index.d.ts.map +1 -1
  143. package/dest/crypto/sha512/index.js +1 -1
  144. package/dest/crypto/signature/index.d.ts +2 -2
  145. package/dest/crypto/signature/index.d.ts.map +1 -1
  146. package/dest/crypto/sync/index.d.ts +1 -1
  147. package/dest/crypto/sync/index.js +1 -3
  148. package/dest/crypto/sync/pedersen/index.d.ts +2 -2
  149. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  150. package/dest/crypto/sync/pedersen/index.js +1 -1
  151. package/dest/crypto/sync/poseidon/index.d.ts +2 -3
  152. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  153. package/dest/crypto/sync/poseidon/index.js +1 -9
  154. package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +5 -5
  155. package/dest/curves/bls12/field.d.ts.map +1 -0
  156. package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +11 -13
  157. package/dest/curves/bls12/index.d.ts +3 -0
  158. package/dest/curves/bls12/index.d.ts.map +1 -0
  159. package/dest/curves/bls12/index.js +2 -0
  160. package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +5 -5
  161. package/dest/curves/bls12/point.d.ts.map +1 -0
  162. package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
  163. package/dest/curves/bn254/field.d.ts +185 -0
  164. package/dest/curves/bn254/field.d.ts.map +1 -0
  165. package/dest/{fields/fields.js → curves/bn254/field.js} +70 -61
  166. package/dest/curves/bn254/index.d.ts +3 -0
  167. package/dest/curves/bn254/index.d.ts.map +1 -0
  168. package/dest/curves/bn254/index.js +2 -0
  169. package/dest/curves/bn254/point.d.ts +54 -0
  170. package/dest/curves/bn254/point.d.ts.map +1 -0
  171. package/dest/curves/bn254/point.js +143 -0
  172. package/dest/curves/grumpkin/index.d.ts +10 -0
  173. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  174. package/dest/curves/grumpkin/index.js +3 -0
  175. package/dest/{fields → curves/grumpkin}/point.d.ts +24 -29
  176. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  177. package/dest/{fields → curves/grumpkin}/point.js +51 -48
  178. package/dest/decorators/index.d.ts +1 -1
  179. package/dest/decorators/memoize.d.ts +1 -1
  180. package/dest/decorators/memoize.d.ts.map +1 -1
  181. package/dest/error/index.d.ts +1 -1
  182. package/dest/eth-address/index.d.ts +13 -3
  183. package/dest/eth-address/index.d.ts.map +1 -1
  184. package/dest/eth-address/index.js +27 -6
  185. package/dest/eth-signature/eth_signature.d.ts +3 -2
  186. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  187. package/dest/eth-signature/eth_signature.js +7 -2
  188. package/dest/eth-signature/index.d.ts +1 -1
  189. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  190. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  191. package/dest/fifo/fifo_frame_reader.js +91 -0
  192. package/dest/fifo/index.d.ts +2 -0
  193. package/dest/fifo/index.d.ts.map +1 -0
  194. package/dest/fifo/index.js +1 -0
  195. package/dest/fifo_set/fifo_set.d.ts +15 -0
  196. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  197. package/dest/fifo_set/fifo_set.js +39 -0
  198. package/dest/fifo_set/index.d.ts +2 -0
  199. package/dest/fifo_set/index.d.ts.map +1 -0
  200. package/dest/fifo_set/index.js +1 -0
  201. package/dest/fs/index.d.ts +1 -1
  202. package/dest/fs/run_in_dir.d.ts +1 -1
  203. package/dest/fs/try_rm_dir.d.ts +1 -1
  204. package/dest/iterable/all.d.ts +1 -1
  205. package/dest/iterable/filter.d.ts +1 -1
  206. package/dest/iterable/index.d.ts +1 -1
  207. package/dest/iterable/isAsyncIt.d.ts +1 -1
  208. package/dest/iterable/map.d.ts +1 -1
  209. package/dest/iterable/peek.d.ts +1 -1
  210. package/dest/iterable/sort.d.ts +1 -1
  211. package/dest/iterable/take.d.ts +1 -1
  212. package/dest/iterable/toArray.d.ts +1 -1
  213. package/dest/iterator/filter.d.ts +3 -0
  214. package/dest/iterator/filter.d.ts.map +1 -0
  215. package/dest/iterator/filter.js +7 -0
  216. package/dest/iterator/index.d.ts +2 -0
  217. package/dest/iterator/index.d.ts.map +1 -0
  218. package/dest/iterator/index.js +1 -0
  219. package/dest/jest/setup.js +28 -1
  220. package/dest/json-rpc/client/fetch.d.ts +1 -1
  221. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  222. package/dest/json-rpc/client/fetch.js +4 -3
  223. package/dest/json-rpc/client/index.d.ts +1 -1
  224. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  225. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  226. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  227. package/dest/json-rpc/client/undici.d.ts +1 -1
  228. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  229. package/dest/json-rpc/client/undici.js +23 -4
  230. package/dest/json-rpc/convert.d.ts +1 -1
  231. package/dest/json-rpc/errors.d.ts +1 -1
  232. package/dest/json-rpc/errors.d.ts.map +1 -1
  233. package/dest/json-rpc/fixtures/class_a.d.ts +1 -1
  234. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  235. package/dest/json-rpc/fixtures/class_b.d.ts +1 -1
  236. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  237. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  238. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  239. package/dest/json-rpc/fixtures/test_state.js +57 -17
  240. package/dest/json-rpc/index.d.ts +1 -1
  241. package/dest/json-rpc/js_utils.d.ts +1 -1
  242. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  243. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  244. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  245. package/dest/json-rpc/server/api_key_auth.js +57 -0
  246. package/dest/json-rpc/server/index.d.ts +2 -1
  247. package/dest/json-rpc/server/index.d.ts.map +1 -1
  248. package/dest/json-rpc/server/index.js +1 -0
  249. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  250. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  251. package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
  252. package/dest/json-rpc/test/index.d.ts +1 -1
  253. package/dest/json-rpc/test/integration.d.ts +1 -1
  254. package/dest/log/bigint-utils.d.ts +5 -0
  255. package/dest/log/bigint-utils.d.ts.map +1 -0
  256. package/dest/log/bigint-utils.js +21 -0
  257. package/dest/log/console.d.ts +1 -1
  258. package/dest/log/gcloud-logger-config.d.ts +1 -1
  259. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  260. package/dest/log/gcloud-logger-config.js +3 -0
  261. package/dest/log/index.d.ts +1 -1
  262. package/dest/log/libp2p_logger.d.ts +5 -2
  263. package/dest/log/libp2p_logger.d.ts.map +1 -1
  264. package/dest/log/libp2p_logger.js +14 -4
  265. package/dest/log/log-filters.d.ts +17 -4
  266. package/dest/log/log-filters.d.ts.map +1 -1
  267. package/dest/log/log-filters.js +26 -12
  268. package/dest/log/log-levels.d.ts +1 -1
  269. package/dest/log/log_fn.d.ts +1 -1
  270. package/dest/log/noir_debug_log_util.d.ts +1 -1
  271. package/dest/log/pino-logger-server.d.ts +9 -0
  272. package/dest/log/pino-logger-server.d.ts.map +1 -0
  273. package/dest/log/pino-logger-server.js +18 -0
  274. package/dest/log/pino-logger.d.ts +38 -9
  275. package/dest/log/pino-logger.d.ts.map +1 -1
  276. package/dest/log/pino-logger.js +138 -30
  277. package/dest/message/index.d.ts +1 -1
  278. package/dest/message/index.d.ts.map +1 -1
  279. package/dest/mutex/index.d.ts +1 -1
  280. package/dest/mutex/index.d.ts.map +1 -1
  281. package/dest/mutex/mutex_database.d.ts +1 -1
  282. package/dest/noir/index.d.ts +1 -1
  283. package/dest/noir/noir_package_config.d.ts +19 -104
  284. package/dest/noir/noir_package_config.d.ts.map +1 -1
  285. package/dest/noir/noir_package_config.js +1 -1
  286. package/dest/number/index.d.ts +1 -1
  287. package/dest/profiler/index.d.ts +1 -1
  288. package/dest/profiler/profiler.d.ts +1 -1
  289. package/dest/promise/index.d.ts +1 -1
  290. package/dest/promise/running-promise.d.ts +5 -4
  291. package/dest/promise/running-promise.d.ts.map +1 -1
  292. package/dest/promise/running-promise.js +7 -3
  293. package/dest/promise/utils.d.ts +1 -1
  294. package/dest/queue/base_memory_queue.d.ts +2 -2
  295. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  296. package/dest/queue/batch_queue.d.ts +1 -1
  297. package/dest/queue/batch_queue.d.ts.map +1 -1
  298. package/dest/queue/batch_queue.js +1 -0
  299. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  300. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  301. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  302. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  303. package/dest/queue/index.d.ts +1 -1
  304. package/dest/queue/priority_memory_queue.d.ts +1 -1
  305. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  306. package/dest/queue/priority_queue.d.ts +1 -1
  307. package/dest/queue/priority_queue.d.ts.map +1 -1
  308. package/dest/queue/semaphore.d.ts +5 -1
  309. package/dest/queue/semaphore.d.ts.map +1 -1
  310. package/dest/queue/serial_queue.d.ts +1 -1
  311. package/dest/queue/serial_queue.d.ts.map +1 -1
  312. package/dest/retry/index.d.ts +41 -3
  313. package/dest/retry/index.d.ts.map +1 -1
  314. package/dest/retry/index.js +55 -2
  315. package/dest/running-promise/index.d.ts +1 -1
  316. package/dest/schemas/api.d.ts +12 -10
  317. package/dest/schemas/api.d.ts.map +1 -1
  318. package/dest/schemas/api.js +7 -1
  319. package/dest/schemas/index.d.ts +1 -1
  320. package/dest/schemas/parse.d.ts +4 -4
  321. package/dest/schemas/parse.d.ts.map +1 -1
  322. package/dest/schemas/parse.js +6 -5
  323. package/dest/schemas/schemas.d.ts +26 -28
  324. package/dest/schemas/schemas.d.ts.map +1 -1
  325. package/dest/schemas/schemas.js +14 -10
  326. package/dest/schemas/types.d.ts +32 -2
  327. package/dest/schemas/types.d.ts.map +1 -1
  328. package/dest/schemas/types.js +25 -1
  329. package/dest/schemas/utils.d.ts +10 -14
  330. package/dest/schemas/utils.d.ts.map +1 -1
  331. package/dest/schemas/utils.js +17 -23
  332. package/dest/serialize/buffer_reader.d.ts +14 -4
  333. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  334. package/dest/serialize/buffer_reader.js +26 -4
  335. package/dest/serialize/buffer_sink.d.ts +134 -0
  336. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  337. package/dest/serialize/buffer_sink.js +297 -0
  338. package/dest/serialize/field_reader.d.ts +2 -2
  339. package/dest/serialize/field_reader.d.ts.map +1 -1
  340. package/dest/serialize/field_reader.js +1 -1
  341. package/dest/serialize/free_funcs.d.ts +2 -2
  342. package/dest/serialize/free_funcs.d.ts.map +1 -1
  343. package/dest/serialize/free_funcs.js +1 -1
  344. package/dest/serialize/index.d.ts +2 -1
  345. package/dest/serialize/index.d.ts.map +1 -1
  346. package/dest/serialize/index.js +1 -0
  347. package/dest/serialize/serialize.d.ts +20 -2
  348. package/dest/serialize/serialize.d.ts.map +1 -1
  349. package/dest/serialize/serialize.js +32 -1
  350. package/dest/serialize/type_registry.d.ts +1 -1
  351. package/dest/serialize/type_registry.d.ts.map +1 -1
  352. package/dest/serialize/types.d.ts +1 -1
  353. package/dest/sleep/index.d.ts +4 -1
  354. package/dest/sleep/index.d.ts.map +1 -1
  355. package/dest/sleep/index.js +14 -1
  356. package/dest/string/index.d.ts +1 -1
  357. package/dest/string/index.js +1 -1
  358. package/dest/testing/files/index.d.ts +3 -3
  359. package/dest/testing/files/index.d.ts.map +1 -1
  360. package/dest/testing/files/index.js +2 -3
  361. package/dest/testing/formatting.d.ts +1 -1
  362. package/dest/testing/index.d.ts +1 -1
  363. package/dest/testing/port_allocator.d.ts +1 -1
  364. package/dest/testing/snapshot_serializer.d.ts +1 -1
  365. package/dest/testing/test_data.d.ts +1 -1
  366. package/dest/timer/date.d.ts +26 -1
  367. package/dest/timer/date.d.ts.map +1 -1
  368. package/dest/timer/date.js +36 -0
  369. package/dest/timer/elapsed.d.ts +1 -1
  370. package/dest/timer/index.d.ts +2 -2
  371. package/dest/timer/index.d.ts.map +1 -1
  372. package/dest/timer/index.js +1 -1
  373. package/dest/timer/timeout.d.ts +3 -1
  374. package/dest/timer/timeout.d.ts.map +1 -1
  375. package/dest/timer/timeout.js +26 -0
  376. package/dest/timer/timer.d.ts +1 -1
  377. package/dest/timer/timer.d.ts.map +1 -1
  378. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  379. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  380. package/dest/transport/dispatch/messages.d.ts +1 -1
  381. package/dest/transport/index.d.ts +1 -2
  382. package/dest/transport/index.d.ts.map +1 -1
  383. package/dest/transport/index.js +0 -1
  384. package/dest/transport/interface/connector.d.ts +1 -1
  385. package/dest/transport/interface/listener.d.ts +1 -1
  386. package/dest/transport/interface/socket.d.ts +1 -1
  387. package/dest/transport/interface/transferable.d.ts +1 -1
  388. package/dest/transport/node/index.d.ts +1 -1
  389. package/dest/transport/node/node_connector.d.ts +1 -1
  390. package/dest/transport/node/node_connector.d.ts.map +1 -1
  391. package/dest/transport/node/node_connector_socket.d.ts +1 -1
  392. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  393. package/dest/transport/node/node_listener.d.ts +1 -1
  394. package/dest/transport/node/node_listener.d.ts.map +1 -1
  395. package/dest/transport/node/node_listener_socket.d.ts +1 -1
  396. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  397. package/dest/transport/transport_client.d.ts +1 -1
  398. package/dest/transport/transport_client.d.ts.map +1 -1
  399. package/dest/transport/transport_client.js +2 -2
  400. package/dest/transport/transport_server.d.ts +1 -10
  401. package/dest/transport/transport_server.d.ts.map +1 -1
  402. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  403. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  404. package/dest/trees/balanced_merkle_tree_root.js +50 -0
  405. package/dest/trees/hasher.d.ts +4 -1
  406. package/dest/trees/hasher.d.ts.map +1 -1
  407. package/dest/trees/hasher.js +10 -5
  408. package/dest/trees/index.d.ts +4 -3
  409. package/dest/trees/index.d.ts.map +1 -1
  410. package/dest/trees/index.js +3 -2
  411. package/dest/trees/indexed_merkle_tree.d.ts +1 -1
  412. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  413. package/dest/trees/indexed_merkle_tree.js +1 -1
  414. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  415. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  416. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  417. package/dest/trees/indexed_tree_leaf.d.ts +1 -1
  418. package/dest/trees/membership_witness.d.ts +3 -18
  419. package/dest/trees/membership_witness.d.ts.map +1 -1
  420. package/dest/trees/membership_witness.js +1 -1
  421. package/dest/trees/merkle_tree.d.ts +1 -1
  422. package/dest/trees/merkle_tree.d.ts.map +1 -1
  423. package/dest/trees/merkle_tree_calculator.d.ts +4 -12
  424. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  425. package/dest/trees/merkle_tree_calculator.js +1 -35
  426. package/dest/trees/sibling_path.d.ts +6 -38
  427. package/dest/trees/sibling_path.d.ts.map +1 -1
  428. package/dest/trees/sibling_path.js +11 -9
  429. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +6 -6
  430. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  431. package/dest/trees/unbalanced_merkle_tree_calculator.js +34 -42
  432. package/dest/trees/unbalanced_merkle_tree_root.d.ts +27 -0
  433. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  434. package/dest/trees/unbalanced_merkle_tree_root.js +83 -0
  435. package/dest/trees/unbalanced_tree_store.d.ts +5 -1
  436. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  437. package/dest/trees/unbalanced_tree_store.js +49 -1
  438. package/dest/types/index.d.ts +28 -2
  439. package/dest/types/index.d.ts.map +1 -1
  440. package/dest/types/index.js +21 -0
  441. package/dest/url/index.d.ts +1 -1
  442. package/dest/validation/index.d.ts +1 -1
  443. package/package.json +54 -11
  444. package/src/array/array.ts +0 -16
  445. package/src/array/index.ts +1 -0
  446. package/src/array/sorted_array.ts +138 -0
  447. package/src/bigint-buffer/index.ts +6 -1
  448. package/src/branded-types/block_number.ts +135 -0
  449. package/src/branded-types/buffer32_hash.ts +38 -0
  450. package/src/branded-types/checkpoint_number.ts +130 -0
  451. package/src/branded-types/epoch.ts +88 -0
  452. package/src/branded-types/index.ts +8 -0
  453. package/src/branded-types/index_within_checkpoint.ts +88 -0
  454. package/src/branded-types/slot.ts +93 -0
  455. package/src/branded-types/types.ts +2 -0
  456. package/src/buffer/buffer16.ts +5 -2
  457. package/src/buffer/buffer32.ts +41 -70
  458. package/src/buffer/index.ts +1 -0
  459. package/src/buffer/utils.ts +8 -0
  460. package/src/collection/array.ts +86 -0
  461. package/src/collection/index.ts +2 -0
  462. package/src/collection/lru_map.ts +143 -0
  463. package/src/collection/lru_set.ts +115 -0
  464. package/src/committable/committable.ts +1 -1
  465. package/src/config/env_var.ts +138 -35
  466. package/src/config/index.ts +183 -114
  467. package/src/config/network_config.ts +5 -0
  468. package/src/config/network_name.ts +6 -6
  469. package/src/config/parse-env.ts +4 -0
  470. package/src/config/secret_value.ts +1 -1
  471. package/src/crypto/aes128/index.ts +13 -4
  472. package/src/crypto/bls/bn254_keystore.ts +34 -44
  473. package/src/crypto/bls/index.ts +1 -1
  474. package/src/crypto/bn254/index.ts +50 -156
  475. package/src/crypto/ecdsa/index.ts +4 -4
  476. package/src/crypto/ecdsa/signature.ts +2 -2
  477. package/src/crypto/grumpkin/index.ts +8 -6
  478. package/src/crypto/keys/index.ts +22 -6
  479. package/src/crypto/pedersen/pedersen.wasm.ts +4 -4
  480. package/src/crypto/poseidon/index.ts +43 -45
  481. package/src/crypto/random/randomness_singleton.ts +6 -4
  482. package/src/crypto/schnorr/index.ts +14 -12
  483. package/src/crypto/schnorr/signature.ts +18 -47
  484. package/src/crypto/secp256k1/index.ts +3 -3
  485. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  486. package/src/crypto/sha256/index.ts +1 -1
  487. package/src/crypto/sha512/index.ts +1 -1
  488. package/src/crypto/signature/index.ts +1 -1
  489. package/src/crypto/sync/index.ts +1 -1
  490. package/src/crypto/sync/pedersen/index.ts +1 -1
  491. package/src/crypto/sync/poseidon/index.ts +1 -10
  492. package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +5 -12
  493. package/src/curves/bls12/index.ts +2 -0
  494. package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
  495. package/src/{fields/fields.ts → curves/bn254/field.ts} +82 -84
  496. package/src/curves/bn254/index.ts +2 -0
  497. package/src/curves/bn254/point.ts +170 -0
  498. package/src/curves/grumpkin/index.ts +11 -0
  499. package/src/{fields → curves/grumpkin}/point.ts +47 -45
  500. package/src/eth-address/index.ts +27 -6
  501. package/src/eth-signature/eth_signature.ts +7 -1
  502. package/src/fifo/fifo_frame_reader.ts +113 -0
  503. package/src/fifo/index.ts +1 -0
  504. package/src/fifo_set/fifo_set.ts +52 -0
  505. package/src/fifo_set/index.ts +1 -0
  506. package/src/iterator/filter.ts +11 -0
  507. package/src/iterator/index.ts +1 -0
  508. package/src/jest/setup.mjs +31 -1
  509. package/src/json-rpc/client/fetch.ts +4 -3
  510. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  511. package/src/json-rpc/client/undici.ts +23 -3
  512. package/src/json-rpc/fixtures/test_state.ts +10 -10
  513. package/src/json-rpc/server/api_key_auth.ts +63 -0
  514. package/src/json-rpc/server/index.ts +1 -0
  515. package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
  516. package/src/log/bigint-utils.ts +25 -0
  517. package/src/log/gcloud-logger-config.ts +5 -0
  518. package/src/log/libp2p_logger.ts +12 -5
  519. package/src/log/log-filters.ts +29 -11
  520. package/src/log/pino-logger-server.ts +25 -0
  521. package/src/log/pino-logger.ts +162 -40
  522. package/src/noir/noir_package_config.ts +32 -20
  523. package/src/promise/running-promise.ts +8 -5
  524. package/src/queue/base_memory_queue.ts +1 -1
  525. package/src/queue/batch_queue.ts +1 -0
  526. package/src/queue/semaphore.ts +5 -0
  527. package/src/retry/index.ts +84 -4
  528. package/src/schemas/api.ts +25 -25
  529. package/src/schemas/parse.ts +9 -6
  530. package/src/schemas/schemas.ts +27 -16
  531. package/src/schemas/types.ts +34 -1
  532. package/src/schemas/utils.ts +25 -46
  533. package/src/serialize/buffer_reader.ts +36 -9
  534. package/src/serialize/buffer_sink.ts +350 -0
  535. package/src/serialize/field_reader.ts +1 -1
  536. package/src/serialize/free_funcs.ts +1 -1
  537. package/src/serialize/index.ts +1 -0
  538. package/src/serialize/serialize.ts +33 -1
  539. package/src/sleep/index.ts +16 -1
  540. package/src/string/index.ts +1 -1
  541. package/src/testing/files/index.ts +2 -3
  542. package/src/timer/date.ts +52 -0
  543. package/src/timer/index.ts +1 -1
  544. package/src/timer/timeout.ts +31 -0
  545. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  546. package/src/transport/index.ts +0 -1
  547. package/src/transport/transport_client.ts +2 -2
  548. package/src/trees/balanced_merkle_tree_root.ts +65 -0
  549. package/src/trees/hasher.ts +12 -0
  550. package/src/trees/index.ts +3 -2
  551. package/src/trees/indexed_merkle_tree.ts +1 -1
  552. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  553. package/src/trees/membership_witness.ts +1 -1
  554. package/src/trees/merkle_tree_calculator.ts +4 -43
  555. package/src/trees/sibling_path.ts +12 -7
  556. package/src/trees/unbalanced_merkle_tree_calculator.ts +32 -50
  557. package/src/trees/unbalanced_merkle_tree_root.ts +112 -0
  558. package/src/trees/unbalanced_tree_store.ts +57 -2
  559. package/src/types/index.ts +58 -1
  560. package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
  561. package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
  562. package/dest/crypto/bn254/bn254_utils.js +0 -56
  563. package/dest/crypto/index.d.ts +0 -17
  564. package/dest/crypto/index.d.ts.map +0 -1
  565. package/dest/crypto/index.js +0 -16
  566. package/dest/crypto/serialize.d.ts +0 -51
  567. package/dest/crypto/serialize.d.ts.map +0 -1
  568. package/dest/crypto/serialize.js +0 -68
  569. package/dest/fields/bls12_fields.d.ts.map +0 -1
  570. package/dest/fields/bls12_point.d.ts.map +0 -1
  571. package/dest/fields/coordinate.d.ts +0 -66
  572. package/dest/fields/coordinate.d.ts.map +0 -1
  573. package/dest/fields/coordinate.js +0 -96
  574. package/dest/fields/fields.d.ts +0 -179
  575. package/dest/fields/fields.d.ts.map +0 -1
  576. package/dest/fields/index.d.ts +0 -6
  577. package/dest/fields/index.d.ts.map +0 -1
  578. package/dest/fields/index.js +0 -5
  579. package/dest/fields/point.d.ts.map +0 -1
  580. package/dest/index.d.ts +0 -30
  581. package/dest/index.d.ts.map +0 -1
  582. package/dest/index.js +0 -30
  583. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  584. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  585. package/dest/json-rpc/server/telemetry.js +0 -0
  586. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  587. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  588. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  589. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -28
  590. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  591. package/dest/trees/unbalanced_merkle_tree.js +0 -99
  592. package/src/crypto/bn254/bn254_utils.ts +0 -64
  593. package/src/crypto/index.ts +0 -16
  594. package/src/crypto/serialize.ts +0 -85
  595. package/src/fields/coordinate.ts +0 -104
  596. package/src/fields/index.ts +0 -5
  597. package/src/index.ts +0 -30
  598. package/src/json-rpc/server/telemetry.ts +0 -0
  599. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
  600. package/src/trees/unbalanced_merkle_tree.ts +0 -111
@@ -42,15 +42,6 @@ export declare class TransportServer<Payload> {
42
42
  * @returns The split data and transferables.
43
43
  */
44
44
  private getPayloadAndTransfers;
45
- /**
46
- * Handles incoming socket messages, processing the request and sending back a response.
47
- * This function is responsible for invoking the registered message handler function with the received
48
- * payload, extracting the result and transferables, and sending a response message back to the client.
49
- * In case of an error during message handling, it sends an error response with the stack trace.
50
- *
51
- * @param socket - The Socket instance from which the message was received.
52
- * @param msg - The RequestMessage object containing the message ID and payload.
53
- */
54
45
  private handleSocketMessage;
55
46
  }
56
- //# sourceMappingURL=transport_server.d.ts.map
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0X3NlcnZlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyYW5zcG9ydC90cmFuc3BvcnRfc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXhEOztHQUVHO0FBQ0gscUJBQWEsZUFBZSxDQUFDLE9BQU87SUFJaEMsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLFlBQVk7SUFKdEIsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFFL0IsWUFDVSxRQUFRLEVBQUUsUUFBUSxFQUNsQixZQUFZLEVBQUUsQ0FBQyxHQUFHLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDbEQ7SUFFSjs7OztPQUlHO0lBQ0gsS0FBSyxTQUdKO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxTQUVIO0lBRUQ7Ozs7Ozs7T0FPRztJQUNHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxpQkFFM0I7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsZUFBZTtJQWN2Qjs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxzQkFBc0I7WUF3QmhCLG1CQUFtQjtDQWFsQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"transport_server.d.ts","sourceRoot":"","sources":["../../src/transport/transport_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD;;GAEG;AACH,qBAAa,eAAe,CAAC,OAAO;IAIhC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,OAAO,CAAgB;gBAGrB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC;IAGtD;;;;OAIG;IACH,KAAK;IAKL;;;OAGG;IACH,IAAI;IAIJ;;;;;;;OAOG;IACG,SAAS,CAAC,GAAG,EAAE,OAAO;IAI5B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;;;OAQG;YACW,mBAAmB;CAalC"}
1
+ {"version":3,"file":"transport_server.d.ts","sourceRoot":"","sources":["../../src/transport/transport_server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD;;GAEG;AACH,qBAAa,eAAe,CAAC,OAAO;IAIhC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,OAAO,CAAgB;IAE/B,YACU,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD;IAEJ;;;;OAIG;IACH,KAAK,SAGJ;IAED;;;OAGG;IACH,IAAI,SAEH;IAED;;;;;;;OAOG;IACG,SAAS,CAAC,GAAG,EAAE,OAAO,iBAE3B;IAED;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;YAwBhB,mBAAmB;CAalC"}
@@ -0,0 +1,16 @@
1
+ export declare const computeBalancedShaRoot: (leaves: Buffer<ArrayBufferLike>[]) => Buffer<ArrayBufferLike>;
2
+ /**
3
+ * Computes the Merkle root with the provided leaves **synchronously**.
4
+ * This method uses a synchronous hash function (defaults to `sha256Trunc`).
5
+ *
6
+ * @throws If the number of leaves is not a power of two.
7
+ */
8
+ export declare function computeBalancedMerkleTreeRoot(leaves: Buffer[], hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Buffer<ArrayBuffer>): Buffer;
9
+ /**
10
+ * Computes the Merkle root with the provided leaves **asynchronously**.
11
+ * This method uses an asynchronous hash function (defaults to `poseidon2Hash`).
12
+ *
13
+ * @throws If the number of leaves is not a power of two.
14
+ */
15
+ export declare function computeBalancedMerkleTreeRootAsync(leaves: Buffer[], hasher: (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBuffer>>): Promise<Buffer>;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFsYW5jZWRfbWVya2xlX3RyZWVfcm9vdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL2JhbGFuY2VkX21lcmtsZV90cmVlX3Jvb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBTyxNQUFNLHNCQUFzQixnRUFBOEQsQ0FBQztBQUVsRzs7Ozs7R0FLRztBQUNILHdCQUFnQiw2QkFBNkIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSw4RkFBZ0IsR0FBRyxNQUFNLENBZTlGO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBc0Isa0NBQWtDLENBQ3RELE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFDaEIsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsR0FDcEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQWVqQiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanced_merkle_tree_root.d.ts","sourceRoot":"","sources":["../../src/trees/balanced_merkle_tree_root.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,gEAA8D,CAAC;AAElG;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,8FAAgB,GAAG,MAAM,CAe9F;AAED;;;;;GAKG;AACH,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GACpE,OAAO,CAAC,MAAM,CAAC,CAejB"}
@@ -0,0 +1,50 @@
1
+ import { shaMerkleHash } from './hasher.js';
2
+ export const computeBalancedShaRoot = (leaves)=>computeBalancedMerkleTreeRoot(leaves);
3
+ /**
4
+ * Computes the Merkle root with the provided leaves **synchronously**.
5
+ * This method uses a synchronous hash function (defaults to `sha256Trunc`).
6
+ *
7
+ * @throws If the number of leaves is not a power of two.
8
+ */ export function computeBalancedMerkleTreeRoot(leaves, hasher = shaMerkleHash) {
9
+ const height = getTreeHeight(leaves);
10
+ let nodes = leaves.slice();
11
+ for(let i = 0; i < height; ++i){
12
+ let j = 0;
13
+ for(; j < nodes.length / 2; ++j){
14
+ const l = nodes[j * 2];
15
+ const r = nodes[j * 2 + 1];
16
+ nodes[j] = hasher(l, r);
17
+ }
18
+ nodes = nodes.slice(0, j);
19
+ }
20
+ return nodes[0];
21
+ }
22
+ /**
23
+ * Computes the Merkle root with the provided leaves **asynchronously**.
24
+ * This method uses an asynchronous hash function (defaults to `poseidon2Hash`).
25
+ *
26
+ * @throws If the number of leaves is not a power of two.
27
+ */ export async function computeBalancedMerkleTreeRootAsync(leaves, hasher) {
28
+ const height = getTreeHeight(leaves);
29
+ let nodes = leaves.slice();
30
+ for(let i = 0; i < height; ++i){
31
+ let j = 0;
32
+ for(; j < nodes.length / 2; ++j){
33
+ const l = nodes[j * 2];
34
+ const r = nodes[j * 2 + 1];
35
+ nodes[j] = await hasher(l, r);
36
+ }
37
+ nodes = nodes.slice(0, j);
38
+ }
39
+ return nodes[0];
40
+ }
41
+ function getTreeHeight(leaves) {
42
+ if (leaves.length === 0) {
43
+ throw new Error('Cannot compute a Merkle root with no leaves');
44
+ }
45
+ const height = Math.log2(leaves.length);
46
+ if (!Number.isInteger(height)) {
47
+ throw new Error('Cannot compute a Merkle root with a non-power-of-two number of leaves');
48
+ }
49
+ return height;
50
+ }
@@ -34,4 +34,7 @@ export interface AsyncHasher {
34
34
  */
35
35
  hashInputs(inputs: Buffer[]): Promise<Buffer<ArrayBuffer>>;
36
36
  }
37
- //# sourceMappingURL=hasher.d.ts.map
37
+ export declare const shaMerkleHash: Hasher['hash'];
38
+ /** Creates a poseidon2 merkle hasher with the given domain separator. */
39
+ export declare const makePoseidonMerkleHash: (separator: number) => (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Promise<Buffer<ArrayBuffer>>;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvaGFzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOztHQUVHO0FBQ0gsTUFBTSxXQUFXLE1BQU07SUFDckI7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1RDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Q0FDbkQ7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxXQUFXO0lBQzFCOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFckU7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0NBQzVEO0FBRUQsZUFBTyxNQUFNLGFBQWEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUN5QixDQUFDO0FBRW5FLHlFQUF5RTtBQUN6RSxlQUFPLE1BQU0sc0JBQXNCLDZIQUcrRCxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/trees/hasher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAE5D;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/trees/hasher.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAE5D;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAErE;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;CAC5D;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CACyB,CAAC;AAEnE,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,6HAG+D,CAAC"}
@@ -1,5 +1,10 @@
1
- /**
2
- * Defines hasher interface used by Merkle trees.
3
- */ /**
4
- * Defines an async hasher interface used by Merkle trees.
5
- */ export { };
1
+ import { poseidon2HashWithSeparator } from '../crypto/poseidon/index.js';
2
+ import { sha256Trunc } from '../crypto/sha256/index.js';
3
+ export const shaMerkleHash = (left, right)=>sha256Trunc(Buffer.concat([
4
+ left,
5
+ right
6
+ ]));
7
+ /** Creates a poseidon2 merkle hasher with the given domain separator. */ export const makePoseidonMerkleHash = (separator)=>async (left, right)=>(await poseidon2HashWithSeparator([
8
+ left,
9
+ right
10
+ ], separator)).toBuffer();
@@ -1,5 +1,4 @@
1
- export * from './unbalanced_merkle_tree.js';
2
- export * from './unbalanced_tree_store.js';
1
+ export * from './balanced_merkle_tree_root.js';
3
2
  export * from './merkle_tree_calculator.js';
4
3
  export * from './merkle_tree.js';
5
4
  export * from './indexed_merkle_tree_calculator.js';
@@ -9,4 +8,6 @@ export * from './membership_witness.js';
9
8
  export * from './hasher.js';
10
9
  export * from './indexed_tree_leaf.js';
11
10
  export * from './unbalanced_merkle_tree_calculator.js';
12
- //# sourceMappingURL=index.d.ts.map
11
+ export * from './unbalanced_merkle_tree_root.js';
12
+ export * from './unbalanced_tree_store.js';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trees/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trees/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wCAAwC,CAAC;AACvD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC"}
@@ -1,5 +1,4 @@
1
- export * from './unbalanced_merkle_tree.js';
2
- export * from './unbalanced_tree_store.js';
1
+ export * from './balanced_merkle_tree_root.js';
3
2
  export * from './merkle_tree_calculator.js';
4
3
  export * from './merkle_tree.js';
5
4
  export * from './indexed_merkle_tree_calculator.js';
@@ -9,3 +8,5 @@ export * from './membership_witness.js';
9
8
  export * from './hasher.js';
10
9
  export * from './indexed_tree_leaf.js';
11
10
  export * from './unbalanced_merkle_tree_calculator.js';
11
+ export * from './unbalanced_merkle_tree_root.js';
12
+ export * from './unbalanced_tree_store.js';
@@ -8,4 +8,4 @@ export declare class IndexedMerkleTree<T extends IndexedTreeLeafPreimage, N exte
8
8
  getLowLeaf(value: bigint): T;
9
9
  getMembershipWitness(leafIndexOrLeaf: number | Buffer): MembershipWitness<N>;
10
10
  }
11
- //# sourceMappingURL=indexed_merkle_tree.d.ts.map
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL2luZGV4ZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMseUlBQXlJO0FBQ3pJLHFCQUFhLGlCQUFpQixDQUFDLENBQUMsU0FBUyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsTUFBTSxDQUFFLFNBQVEsVUFBVTthQUlsRixhQUFhLEVBQUUsQ0FBQyxFQUFFO0lBSHBDLFlBQ0UsTUFBTSxFQUFFLENBQUMsRUFDVCxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQ0MsYUFBYSxFQUFFLENBQUMsRUFBRSxFQUduQztJQUVNLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FZbEM7SUFFTSxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FRbEY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"indexed_merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/indexed_merkle_tree.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,yIAAyI;AACzI,qBAAa,iBAAiB,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,MAAM,CAAE,SAAQ,UAAU;aAIlF,aAAa,EAAE,CAAC,EAAE;gBAFlC,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EAAE,EACC,aAAa,EAAE,CAAC,EAAE;IAK7B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;IAc5B,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC;CASpF"}
1
+ {"version":3,"file":"indexed_merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/indexed_merkle_tree.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,yIAAyI;AACzI,qBAAa,iBAAiB,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,MAAM,CAAE,SAAQ,UAAU;aAIlF,aAAa,EAAE,CAAC,EAAE;IAHpC,YACE,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,MAAM,EAAE,EACC,aAAa,EAAE,CAAC,EAAE,EAGnC;IAEM,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAYlC;IAEM,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAQlF;CACF"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '../fields/index.js';
1
+ import { Fr } from '../curves/bn254/index.js';
2
2
  import { assertLength } from '../serialize/index.js';
3
3
  import { MembershipWitness } from './membership_witness.js';
4
4
  import { MerkleTree } from './merkle_tree.js';
@@ -18,4 +18,4 @@ export declare class IndexedMerkleTreeCalculator<T extends IndexedTreeLeafPreima
18
18
  computeTreeRoot(leaves?: Buffer[]): Promise<Buffer>;
19
19
  }
20
20
  export {};
21
- //# sourceMappingURL=indexed_merkle_tree_calculator.d.ts.map
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvaW5kZXhlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdELFVBQVUsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLHVCQUF1QjtJQUM3RCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7Q0FDL0I7QUFFRDs7R0FFRztBQUNILHFCQUFhLDJCQUEyQixDQUFDLENBQUMsU0FBUyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsTUFBTTtJQUV4RixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLE9BQU87SUFKakIsT0FBTyxlQUtIO0lBRUosT0FBYSxNQUFNLENBQUMsQ0FBQyxTQUFTLHVCQUF1QixFQUFFLENBQUMsU0FBUyxNQUFNLEVBQ3JFLE1BQU0sRUFBRSxDQUFDLEVBQ1QsTUFBTSxFQUFFLFdBQVcsRUFDbkIsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUMvQixRQUFRLHNCQUFtQiw4Q0FPNUI7SUFFSyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0F5Q3BFO0lBRUssZUFBZSxDQUFDLE1BQU0sR0FBRSxNQUFNLEVBQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBa0I1RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"indexed_merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/indexed_merkle_tree_calculator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,UAAU,mBAAmB,CAAC,CAAC,SAAS,uBAAuB;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,2BAA2B,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,MAAM;IAExF,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IAJjB,OAAO;WAOM,MAAM,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,MAAM,EACrE,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC/B,QAAQ,sBAAmB;IASvB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAuC/D,eAAe,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAmB9D"}
1
+ {"version":3,"file":"indexed_merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/indexed_merkle_tree_calculator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,UAAU,mBAAmB,CAAC,CAAC,SAAS,uBAAuB;IAC7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,2BAA2B,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,MAAM;IAExF,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IAJjB,OAAO,eAKH;IAEJ,OAAa,MAAM,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,MAAM,EACrE,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC/B,QAAQ,sBAAmB,8CAO5B;IAEK,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAyCpE;IAEK,eAAe,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB5D;CACF"}
@@ -34,7 +34,11 @@ import { IndexedMerkleTree } from './indexed_merkle_tree.js';
34
34
  const sorted = values.map((v, i)=>({
35
35
  value: v,
36
36
  index: i
37
- })).sort((a, b)=>Number(toBigIntBE(b.value) - toBigIntBE(a.value)));
37
+ })).sort((a, b)=>{
38
+ const aBigInt = toBigIntBE(a.value);
39
+ const bBigInt = toBigIntBE(b.value);
40
+ return aBigInt < bBigInt ? 1 : aBigInt > bBigInt ? -1 : 0;
41
+ });
38
42
  const indexedLeaves = sorted.map((item, i)=>({
39
43
  leaf: this.factory.fromBuffer(Buffer.concat([
40
44
  item.value,
@@ -52,4 +52,4 @@ export interface IndexedTreeLeafPreimage extends TreeLeafPreimage {
52
52
  */
53
53
  getNextIndex(): bigint;
54
54
  }
55
- //# sourceMappingURL=indexed_tree_leaf.d.ts.map
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF90cmVlX2xlYWYuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9pbmRleGVkX3RyZWVfbGVhZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sV0FBVyxlQUFlO0lBQzlCOztPQUVHO0lBQ0gsTUFBTSxJQUFJLE1BQU0sQ0FBQztJQUNqQjs7T0FFRztJQUNILFFBQVEsSUFBSSxNQUFNLENBQUM7SUFDbkI7O09BRUc7SUFDSCxPQUFPLElBQUksT0FBTyxDQUFDO0lBQ25COzs7O09BSUc7SUFDSCxRQUFRLENBQUMsT0FBTyxFQUFFLGVBQWUsR0FBRyxlQUFlLENBQUM7Q0FDckQ7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0I7O09BRUc7SUFDSCxNQUFNLElBQUksTUFBTSxDQUFDO0lBQ2pCOztPQUVHO0lBQ0gsTUFBTSxJQUFJLGVBQWUsQ0FBQztJQUMxQjs7T0FFRztJQUNILFFBQVEsSUFBSSxNQUFNLENBQUM7SUFDbkI7O09BRUc7SUFDSCxZQUFZLElBQUksTUFBTSxFQUFFLENBQUM7Q0FDMUI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFDL0QsVUFBVSxJQUFJLE1BQU0sQ0FBQztJQUNyQjs7T0FFRztJQUNILFlBQVksSUFBSSxNQUFNLENBQUM7Q0FDeEIifQ==
@@ -1,4 +1,4 @@
1
- import { Fr } from '../fields/fields.js';
1
+ import { Fr } from '../curves/bn254/field.js';
2
2
  import { BufferReader, type Tuple } from '../serialize/index.js';
3
3
  import type { SiblingPath } from './sibling_path.js';
4
4
  /**
@@ -29,22 +29,7 @@ export declare class MembershipWitness<N extends number> {
29
29
  toBuffer(): Buffer<ArrayBufferLike>;
30
30
  toJSON(): Buffer<ArrayBufferLike>;
31
31
  toFields(): Fr[];
32
- static schemaFor<N extends number>(size: N): import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Buffer<ArrayBuffer>, string>, import("zod").ZodEffects<import("zod").ZodObject<{
33
- type: import("zod").ZodLiteral<"Buffer">;
34
- data: import("zod").ZodArray<import("zod").ZodNumber, "many">;
35
- }, "strip", import("zod").ZodTypeAny, {
36
- type: "Buffer";
37
- data: number[];
38
- }, {
39
- type: "Buffer";
40
- data: number[];
41
- }>, Buffer<ArrayBuffer>, {
42
- type: "Buffer";
43
- data: number[];
44
- }>]>, MembershipWitness<N>, string | {
45
- type: "Buffer";
46
- data: number[];
47
- }>;
32
+ static schemaFor<N extends number>(size: N): import("zod").ZodPipe<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, import("zod").ZodTransform<MembershipWitness<N>, Buffer<ArrayBufferLike>>>;
48
33
  /**
49
34
  * Creates a random membership witness. Used for testing purposes.
50
35
  * @param pathSize - Number of fields in the sibling path.
@@ -75,4 +60,4 @@ export declare class MembershipWitness<N extends number> {
75
60
  };
76
61
  static fromSiblingPath<N extends number>(leafIndex: bigint, siblingPath: SiblingPath<N>): MembershipWitness<N>;
77
62
  }
78
- //# sourceMappingURL=membership_witness.d.ts.map
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcF93aXRuZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvbWVtYmVyc2hpcF93aXRuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssS0FBSyxFQUFxQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gscUJBQWEsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLE1BQU07SUFNM0M7O09BRUc7SUFDSSxTQUFTLEVBQUUsTUFBTTtJQUN4Qjs7T0FFRztJQUNJLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQVpsQztJQUNFOztPQUVHO0lBQ0gsUUFBUSxFQUFFLENBQUM7SUFDWDs7T0FFRztJQUNJLFNBQVMsRUFBRSxNQUFNO0lBQ3hCOztPQUVHO0lBQ0ksV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBR2pDO0lBRUQsUUFBUSw0QkFFUDtJQUVELE1BQU0sNEJBRUw7SUFFRCxRQUFRLElBQUksRUFBRSxFQUFFLENBRWY7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsbUtBRXpDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWMsTUFBTSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsd0JBUWpEO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFjLEtBQUssQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsU0FBUyxTQUFLLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBS3ZGO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBTS9HO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUtoRztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRztRQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUFFLENBU2xIO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FFN0c7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/membership_witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM;IAM3C;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;;IAXhC;;OAEG;IACH,QAAQ,EAAE,CAAC;IACX;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAKlC,QAAQ;IAIR,MAAM;IAIN,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;IAI1C;;;;OAIG;WACW,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC;IAUlD;;;;;OAKG;WACW,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,SAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAOxF,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAQhH;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAOjG;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG;QAAE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;KAAE;IAWnH,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAG/G"}
1
+ {"version":3,"file":"membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/membership_witness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAqB,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM;IAM3C;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAZlC;IACE;;OAEG;IACH,QAAQ,EAAE,CAAC;IACX;;OAEG;IACI,SAAS,EAAE,MAAM;IACxB;;OAEG;IACI,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAGjC;IAED,QAAQ,4BAEP;IAED,MAAM,4BAEL;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,mKAEzC;IAED;;;;OAIG;IACH,OAAc,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,wBAQjD;IAED;;;;;OAKG;IACH,OAAc,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,SAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAKvF;IAED,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAM/G;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAKhG;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG;QAAE,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;KAAE,CASlH;IAED,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAE7G;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { assertMemberLength } from '../array/array.js';
2
2
  import { toBigIntBE, toBufferBE } from '../bigint-buffer/index.js';
3
- import { Fr } from '../fields/fields.js';
3
+ import { Fr } from '../curves/bn254/field.js';
4
4
  import { schemas } from '../schemas/schemas.js';
5
5
  import { BufferReader, serializeToBuffer } from '../serialize/index.js';
6
6
  /**
@@ -13,4 +13,4 @@ export declare class MerkleTree {
13
13
  /** Returns a nice string representation of the tree, useful for debugging purposes. */
14
14
  drawTree(elemSize?: number): string;
15
15
  }
16
- //# sourceMappingURL=merkle_tree.d.ts.map
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVya2xlX3RyZWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9tZXJrbGVfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwSEFBMEg7QUFDMUgscUJBQWEsVUFBVTthQUVILE1BQU0sRUFBRSxNQUFNO2FBQ2QsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUZqQyxZQUNrQixNQUFNLEVBQUUsTUFBTSxFQUNkLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFNaEM7SUFFRCxJQUFJLElBQUksSUFBSSxNQUFNLENBRWpCO0lBRUQsSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBRXJCO0lBRUQsd0ZBQXdGO0lBQ2pGLGNBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQzVDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBd0I5QyxrREFBa0Q7SUFDM0MsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLFVBRTlCO0lBRUQsdUZBQXVGO0lBQ2hGLFFBQVEsQ0FBQyxRQUFRLFNBQUksVUFxQjNCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/merkle_tree.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,qBAAa,UAAU;aAEH,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,MAAM,EAAE;gBADf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE;IAQjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED,wFAAwF;IACjF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAC3C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAwB7C,kDAAkD;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM;IAI/B,uFAAuF;IAChF,QAAQ,CAAC,QAAQ,SAAI;CAsB7B"}
1
+ {"version":3,"file":"merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/merkle_tree.ts"],"names":[],"mappings":"AAAA,0HAA0H;AAC1H,qBAAa,UAAU;aAEH,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,MAAM,EAAE;IAFjC,YACkB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EAAE,EAMhC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,MAAM,EAAE,CAErB;IAED,wFAAwF;IACjF,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAwB9C,kDAAkD;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,UAE9B;IAED,uFAAuF;IAChF,QAAQ,CAAC,QAAQ,SAAI,UAqB3B;CACF"}
@@ -1,5 +1,5 @@
1
- import { sha256Trunc } from '@aztec/foundation/crypto';
2
1
  import { MerkleTree } from './merkle_tree.js';
2
+ type MerkleHashFn = (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBuffer>>;
3
3
  /**
4
4
  * Merkle tree calculator.
5
5
  */
@@ -8,17 +8,9 @@ export declare class MerkleTreeCalculator {
8
8
  private zeroHashes;
9
9
  private hasher;
10
10
  private constructor();
11
- static create(height: number, zeroLeaf?: Buffer, hasher?: (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBuffer>>): Promise<MerkleTreeCalculator>;
11
+ static create(height: number, zeroLeaf: Buffer<ArrayBufferLike> | undefined, hasher: MerkleHashFn): Promise<MerkleTreeCalculator>;
12
12
  computeTree(leaves?: Buffer[]): Promise<MerkleTree>;
13
13
  computeTreeRoot(leaves?: Buffer[]): Promise<Buffer>;
14
- /**
15
- * Computes the Merkle root with the provided leaves **synchronously**.
16
- *
17
- * This method uses a synchronous hash function (defaults to `sha256Trunc`) and **does not** allow for padding.
18
- * If the number of leaves is not a power of two, it throws an error.
19
- * This contrasts with the above non-static async method `computeTreeRoot`, which can handle any number of leaves by
20
- * padding with zero hashes.
21
- */
22
- static computeTreeRootSync(leaves: Buffer[], hasher?: typeof sha256Trunc): Buffer;
23
14
  }
24
- //# sourceMappingURL=merkle_tree_calculator.d.ts.map
15
+ export {};
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVya2xlX3RyZWVfY2FsY3VsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL21lcmtsZV90cmVlX2NhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLEtBQUssWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUVsRjs7R0FFRztBQUNILHFCQUFhLG9CQUFvQjtJQUU3QixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxNQUFNO0lBSGhCLE9BQU8sZUFNTjtJQUVELE9BQWEsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxxQ0FBMkIsRUFBRSxNQUFNLEVBQUUsWUFBWSxpQ0FNNUY7SUFFSyxXQUFXLENBQUMsTUFBTSxHQUFFLE1BQU0sRUFBTyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FvQjVEO0lBRUssZUFBZSxDQUFDLE1BQU0sR0FBRSxNQUFNLEVBQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBa0I1RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/merkle_tree_calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IAHhB,OAAO;WAQM,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAyB,EACnC,MAAM,IAAU,MAAM,MAAM,EAAE,OAAO,MAAM,iCAC4B;IASnE,WAAW,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBvD,eAAe,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB7D;;;;;;;OAOG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,qBAAc,GAAG,MAAM;CAwB3E"}
1
+ {"version":3,"file":"merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/merkle_tree_calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAElF;;GAEG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IAHhB,OAAO,eAMN;IAED,OAAa,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,qCAA2B,EAAE,MAAM,EAAE,YAAY,iCAM5F;IAEK,WAAW,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAoB5D;IAEK,eAAe,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB5D;CACF"}
@@ -1,4 +1,3 @@
1
- import { pedersenHash, sha256Trunc } from '@aztec/foundation/crypto';
2
1
  import { MerkleTree } from './merkle_tree.js';
3
2
  /**
4
3
  * Merkle tree calculator.
@@ -12,10 +11,7 @@ import { MerkleTree } from './merkle_tree.js';
12
11
  this.hasher = hasher;
13
12
  this.hasher = hasher;
14
13
  }
15
- static async create(height, zeroLeaf = Buffer.alloc(32), hasher = async (left, right)=>(await pedersenHash([
16
- left,
17
- right
18
- ])).toBuffer()) {
14
+ static async create(height, zeroLeaf = Buffer.alloc(32), hasher) {
19
15
  const zeroHashes = [
20
16
  zeroLeaf
21
17
  ];
@@ -58,34 +54,4 @@ import { MerkleTree } from './merkle_tree.js';
58
54
  }
59
55
  return leaves[0];
60
56
  }
61
- /**
62
- * Computes the Merkle root with the provided leaves **synchronously**.
63
- *
64
- * This method uses a synchronous hash function (defaults to `sha256Trunc`) and **does not** allow for padding.
65
- * If the number of leaves is not a power of two, it throws an error.
66
- * This contrasts with the above non-static async method `computeTreeRoot`, which can handle any number of leaves by
67
- * padding with zero hashes.
68
- */ static computeTreeRootSync(leaves, hasher = sha256Trunc) {
69
- if (leaves.length === 0) {
70
- throw new Error('Cannot compute a Merkle root with no leaves');
71
- }
72
- const height = Math.log2(leaves.length);
73
- if (!Number.isInteger(height)) {
74
- throw new Error('Cannot compute a Merkle root with a non-power-of-two number of leaves');
75
- }
76
- let nodes = leaves.slice();
77
- for(let i = 0; i < height; ++i){
78
- let j = 0;
79
- for(; j < nodes.length / 2; ++j){
80
- const l = nodes[j * 2];
81
- const r = nodes[j * 2 + 1];
82
- nodes[j] = hasher(Buffer.concat([
83
- l,
84
- r
85
- ]));
86
- }
87
- nodes = nodes.slice(0, j);
88
- }
89
- return nodes[0];
90
- }
91
57
  }
@@ -1,4 +1,5 @@
1
- import { Fr } from '../fields/index.js';
1
+ import { z } from 'zod';
2
+ import { Fr } from '../curves/bn254/index.js';
2
3
  import { type Tuple } from '../serialize/index.js';
3
4
  import type { Hasher } from './hasher.js';
4
5
  /**
@@ -25,41 +26,8 @@ export declare class SiblingPath<N extends number> {
25
26
  pathSize: N,
26
27
  /** The sibling path data. */
27
28
  path: Buffer[]);
28
- static get schema(): import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Buffer<ArrayBuffer>, string>, import("zod").ZodEffects<import("zod").ZodObject<{
29
- type: import("zod").ZodLiteral<"Buffer">;
30
- data: import("zod").ZodArray<import("zod").ZodNumber, "many">;
31
- }, "strip", import("zod").ZodTypeAny, {
32
- type: "Buffer";
33
- data: number[];
34
- }, {
35
- type: "Buffer";
36
- data: number[];
37
- }>, Buffer<ArrayBuffer>, {
38
- type: "Buffer";
39
- data: number[];
40
- }>]>, SiblingPath<number>, string | {
41
- type: "Buffer";
42
- data: number[];
43
- }>;
44
- static schemaFor<N extends number>(size: N): import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodString, string, string>, Buffer<ArrayBuffer>, string>, import("zod").ZodEffects<import("zod").ZodObject<{
45
- type: import("zod").ZodLiteral<"Buffer">;
46
- data: import("zod").ZodArray<import("zod").ZodNumber, "many">;
47
- }, "strip", import("zod").ZodTypeAny, {
48
- type: "Buffer";
49
- data: number[];
50
- }, {
51
- type: "Buffer";
52
- data: number[];
53
- }>, Buffer<ArrayBuffer>, {
54
- type: "Buffer";
55
- data: number[];
56
- }>]>, SiblingPath<N>, string | {
57
- type: "Buffer";
58
- data: number[];
59
- }>, SiblingPath<N>, string | {
60
- type: "Buffer";
61
- data: number[];
62
- }>;
29
+ static get schema(): z.ZodPipe<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, z.ZodTransform<SiblingPath<number>, Buffer<ArrayBufferLike>>>;
30
+ static schemaFor<N extends number>(size: N): z.ZodPipe<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, z.ZodTransform<SiblingPath<N>, Buffer<ArrayBufferLike>>>;
63
31
  toJSON(): Buffer<ArrayBufferLike>;
64
32
  /**
65
33
  * Returns sibling path hashed up from the a element.
@@ -126,5 +94,5 @@ export declare class SiblingPath<N extends number> {
126
94
  getSubtreeSiblingPath<SubtreeHeight extends number, SubtreeSiblingPathHeight extends number>(subtreeHeight: SubtreeHeight): SiblingPath<SubtreeSiblingPathHeight>;
127
95
  }
128
96
  /** Computes the expected root of a merkle tree given a leaf and its sibling path. */
129
- export declare function computeRootFromSiblingPath(leaf: Buffer, siblingPath: Buffer[], index: number, hasher?: (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBufferLike>>): Promise<Buffer<ArrayBufferLike>>;
130
- //# sourceMappingURL=sibling_path.d.ts.map
97
+ export declare function computeRootFromSiblingPath(leaf: Buffer, siblingPath: Buffer[], index: number, hasher: (left: Buffer, right: Buffer) => Promise<Buffer>): Promise<Buffer<ArrayBufferLike>>;
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2libGluZ19wYXRoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvc2libGluZ19wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFHeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFDTCxLQUFLLEtBQUssRUFJWCxNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQzs7Ozs7Ozs7O0dBU0c7QUFDSCxxQkFBYSxXQUFXLENBQUMsQ0FBQyxTQUFTLE1BQU07SUFTckMsK0RBQStEO0lBQ3hELFFBQVEsRUFBRSxDQUFDO0lBVHBCLE9BQU8sQ0FBQyxJQUFJLENBQW1CO0lBRS9COzs7O09BSUc7SUFDSDtJQUNFLCtEQUErRDtJQUN4RCxRQUFRLEVBQUUsQ0FBQztJQUNsQiw2QkFBNkI7SUFDN0IsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUdmO0lBRUQsTUFBTSxLQUFLLE1BQU0sMklBRWhCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLHFJQVN6QztJQUVELE1BQU0sNEJBRUw7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFjLElBQUksQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FRakc7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsa0JBR3hDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FFeEI7SUFFRDs7O09BR0c7SUFDSSxhQUFhLElBQUksTUFBTSxFQUFFLENBRS9CO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUV0QjtJQUVEOzs7T0FHRztJQUNJLE9BQU8sSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUc3QjtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUczRTtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFJOzs7TUFRM0Q7SUFFRDs7O09BR0c7SUFDSSxRQUFRLElBQUksTUFBTSxDQUV4QjtJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFVBQVUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUV2RTtJQUVEOzs7O09BSUc7SUFDSSxxQkFBcUIsQ0FBQyxhQUFhLFNBQVMsTUFBTSxFQUFFLHdCQUF3QixTQUFTLE1BQU0sRUFDaEcsYUFBYSxFQUFFLGFBQWEsR0FDM0IsV0FBVyxDQUFDLHdCQUF3QixDQUFDLENBS3ZDO0NBQ0Y7QUFFRCxxRkFBcUY7QUFDckYsd0JBQXNCLDBCQUEwQixDQUM5QyxJQUFJLEVBQUUsTUFBTSxFQUNaLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFDckIsS0FBSyxFQUFFLE1BQU0sRUFDYixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQ0FRekQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"sibling_path.d.ts","sourceRoot":"","sources":["../../src/trees/sibling_path.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EACL,KAAK,KAAK,EAIX,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;GASG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IASrC,+DAA+D;IACxD,QAAQ,EAAE,CAAC;IATpB,OAAO,CAAC,IAAI,CAAmB;IAE/B;;;;OAIG;;IAED,+DAA+D;IACxD,QAAQ,EAAE,CAAC;IAClB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,EAAE;IAKhB,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;OAEhB;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;;;;IAO1C,MAAM;IAIN;;;;;;OAMG;WACW,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAUlG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC;IAKzC;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;OAGG;IACI,aAAa,IAAI,MAAM,EAAE;IAIhC;;;OAGG;IACI,QAAQ,IAAI,EAAE,EAAE;IAIvB;;;OAGG;IACI,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAK9B;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,WAAW,CAAC,CAAC,CAAC;IAK5E;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;;IAU5D;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;OAIG;WACW,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAIxE;;;;OAIG;IACI,qBAAqB,CAAC,aAAa,SAAS,MAAM,EAAE,wBAAwB,SAAS,MAAM,EAChG,aAAa,EAAE,aAAa,GAC3B,WAAW,CAAC,wBAAwB,CAAC;CAMzC;AAED,qFAAqF;AACrF,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,IAAU,MAAM,MAAM,EAAE,OAAO,MAAM,qCAAmD,oCAQ/F"}
1
+ {"version":3,"file":"sibling_path.d.ts","sourceRoot":"","sources":["../../src/trees/sibling_path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EACL,KAAK,KAAK,EAIX,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;GASG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IASrC,+DAA+D;IACxD,QAAQ,EAAE,CAAC;IATpB,OAAO,CAAC,IAAI,CAAmB;IAE/B;;;;OAIG;IACH;IACE,+DAA+D;IACxD,QAAQ,EAAE,CAAC;IAClB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,EAAE,EAGf;IAED,MAAM,KAAK,MAAM,2IAEhB;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,qIASzC;IAED,MAAM,4BAEL;IAED;;;;;;OAMG;IACH,OAAc,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAQjG;IAED,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,kBAGxC;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;;OAGG;IACI,aAAa,IAAI,MAAM,EAAE,CAE/B;IAED;;;OAGG;IACI,QAAQ,IAAI,EAAE,EAAE,CAEtB;IAED;;;OAGG;IACI,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAG7B;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAG3E;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI;;;MAQ3D;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAEvE;IAED;;;;OAIG;IACI,qBAAqB,CAAC,aAAa,SAAS,MAAM,EAAE,wBAAwB,SAAS,MAAM,EAChG,aAAa,EAAE,aAAa,GAC3B,WAAW,CAAC,wBAAwB,CAAC,CAKvC;CACF;AAED,qFAAqF;AACrF,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,oCAQzD"}
@@ -1,6 +1,6 @@
1
+ import { z } from 'zod';
1
2
  import { makeTuple } from '../array/array.js';
2
- import { pedersenHash } from '../crypto/index.js';
3
- import { Fr } from '../fields/index.js';
3
+ import { Fr } from '../curves/bn254/index.js';
4
4
  import { schemas } from '../schemas/index.js';
5
5
  import { assertLength, deserializeArrayFromVector, serializeArrayOfBufferableToVector } from '../serialize/index.js';
6
6
  import { bufferToHex, hexToBuffer } from '../string/index.js';
@@ -28,9 +28,14 @@ import { bufferToHex, hexToBuffer } from '../string/index.js';
28
28
  return schemas.Buffer.transform((b)=>SiblingPath.fromBuffer(b));
29
29
  }
30
30
  static schemaFor(size) {
31
- return schemas.Buffer.transform((b)=>SiblingPath.fromBuffer(b)).refine((path)=>path.pathSize === size, (path)=>({
32
- message: `Expected sibling path size ${size} but got ${path.pathSize}`
33
- }));
31
+ return schemas.Buffer.transform((b)=>SiblingPath.fromBuffer(b)).superRefine((path, ctx)=>{
32
+ if (path.pathSize !== size) {
33
+ ctx.addIssue({
34
+ code: z.ZodIssueCode.custom,
35
+ message: `Expected sibling path size ${size} but got ${path.pathSize}`
36
+ });
37
+ }
38
+ });
34
39
  }
35
40
  toJSON() {
36
41
  return this.toBuffer();
@@ -131,10 +136,7 @@ import { bufferToHex, hexToBuffer } from '../string/index.js';
131
136
  return new SiblingPath(subtreePathSize, subtreeData);
132
137
  }
133
138
  }
134
- /** Computes the expected root of a merkle tree given a leaf and its sibling path. */ export async function computeRootFromSiblingPath(leaf, siblingPath, index, hasher = async (left, right)=>(await pedersenHash([
135
- left,
136
- right
137
- ])).toBuffer()) {
139
+ /** Computes the expected root of a merkle tree given a leaf and its sibling path. */ export async function computeRootFromSiblingPath(leaf, siblingPath, index, hasher) {
138
140
  let result = leaf;
139
141
  for (const sibling of siblingPath){
140
142
  result = index & 1 ? await hasher(sibling, result) : await hasher(result, sibling);
@@ -1,7 +1,6 @@
1
- import type { Hasher } from './hasher.js';
1
+ import { type Hasher } from './hasher.js';
2
2
  import { SiblingPath } from './sibling_path.js';
3
3
  import { type TreeNodeLocation } from './unbalanced_tree_store.js';
4
- export declare function computeCompressedUnbalancedMerkleTreeRoot(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, hasher?: Hasher['hash']): Buffer;
5
4
  /**
6
5
  * An ephemeral unbalanced Merkle tree implementation.
7
6
  * Follows the rollup implementation which greedily hashes pairs of nodes up the tree.
@@ -13,11 +12,12 @@ export declare function computeCompressedUnbalancedMerkleTreeRoot(leaves: Buffer
13
12
  export declare class UnbalancedMerkleTreeCalculator {
14
13
  private readonly leaves;
15
14
  private readonly valueToCompress;
15
+ private readonly emptyRoot;
16
16
  private readonly hasher;
17
17
  private store;
18
18
  private leafLocations;
19
- constructor(leaves: Buffer[], valueToCompress: Buffer, hasher: Hasher['hash']);
20
- static create(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, hasher?: (left: Buffer, right: Buffer) => Buffer<ArrayBuffer>): UnbalancedMerkleTreeCalculator;
19
+ constructor(leaves: Buffer[], valueToCompress: Buffer, emptyRoot: Buffer, hasher: Hasher['hash']);
20
+ static create(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>, hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Buffer<ArrayBuffer>): UnbalancedMerkleTreeCalculator;
21
21
  /**
22
22
  * Returns the root of the tree.
23
23
  * @returns The root of the tree.
@@ -43,6 +43,6 @@ export declare class UnbalancedMerkleTreeCalculator {
43
43
  */
44
44
  private buildTree;
45
45
  private shiftNodeUp;
46
- private shiftChildrenUp;
46
+ private collectNodesToShift;
47
47
  }
48
- //# sourceMappingURL=unbalanced_merkle_tree_calculator.d.ts.map
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvdW5iYWxhbmNlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF1QixNQUFNLDRCQUE0QixDQUFDO0FBT3hGOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSw4QkFBOEI7SUFLdkMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNO0lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZTtJQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFDMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNO0lBUHpCLE9BQU8sQ0FBQyxLQUFLLENBQWdDO0lBQzdDLE9BQU8sQ0FBQyxhQUFhLENBQTBCO0lBRS9DLFlBQ21CLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFDaEIsZUFBZSxFQUFFLE1BQU0sRUFDdkIsU0FBUyxFQUFFLE1BQU0sRUFDakIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFJeEM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUNYLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFDaEIsZUFBZSxzQkFBa0IsRUFDakMsU0FBUyxzQkFBbUIsRUFDNUIsTUFBTSw4RkFBZ0Isa0NBR3ZCO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxJQUFJLE1BQU0sQ0FFdkI7SUFFRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQU9yRTtJQUVEOzs7O09BSUc7SUFDSSx5QkFBeUIsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQW1CcEY7SUFFTSxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sb0JBRXZDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLFNBQVM7SUErQ2pCLE9BQU8sQ0FBQyxXQUFXO0lBWW5CLE9BQU8sQ0FBQyxtQkFBbUI7Q0FtQjVCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"unbalanced_merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree_calculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;AAExF,wBAAgB,yCAAyC,CACvD,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,sBAAmB,EAClC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,GACtB,MAAM,CAGR;AAOD;;;;;;;GAOG;AACH,qBAAa,8BAA8B;IAKvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,aAAa,CAA0B;gBAG5B,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAUzC,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,sBAAkB,EACjC,MAAM,IAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAkD,MAAM,CAAC,WAAW,CAAC;IAK5G;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAStE;;;;OAIG;IACI,yBAAyB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAqB9E,eAAe,CAAC,SAAS,EAAE,MAAM;IAIxC;;;OAGG;IACH,OAAO,CAAC,SAAS;IAkDjB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,eAAe;CAoBxB"}
1
+ {"version":3,"file":"unbalanced_merkle_tree_calculator.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree_calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,4BAA4B,CAAC;AAOxF;;;;;;;GAOG;AACH,qBAAa,8BAA8B;IAKvC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,aAAa,CAA0B;IAE/C,YACmB,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAIxC;IAED,MAAM,CAAC,MAAM,CACX,MAAM,EAAE,MAAM,EAAE,EAChB,eAAe,sBAAkB,EACjC,SAAS,sBAAmB,EAC5B,MAAM,8FAAgB,kCAGvB;IAED;;;OAGG;IACI,OAAO,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAOrE;IAED;;;;OAIG;IACI,yBAAyB,CAAC,CAAC,SAAS,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAmBpF;IAEM,eAAe,CAAC,SAAS,EAAE,MAAM,oBAEvC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAS;IA+CjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,mBAAmB;CAmB5B"}