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

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 (327) 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 +1 -1
  5. package/dest/async-map/index.d.ts +1 -1
  6. package/dest/async-pool/index.d.ts +1 -1
  7. package/dest/bigint/index.d.ts +1 -1
  8. package/dest/bigint-buffer/index.d.ts +1 -1
  9. package/dest/branded-types/block_number.d.ts +53 -0
  10. package/dest/branded-types/block_number.d.ts.map +1 -0
  11. package/dest/branded-types/block_number.js +75 -0
  12. package/dest/branded-types/checkpoint_number.d.ts +46 -0
  13. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  14. package/dest/branded-types/checkpoint_number.js +68 -0
  15. package/dest/branded-types/epoch.d.ts +42 -0
  16. package/dest/branded-types/epoch.d.ts.map +1 -0
  17. package/dest/branded-types/epoch.js +59 -0
  18. package/dest/branded-types/index.d.ts +6 -0
  19. package/dest/branded-types/index.d.ts.map +1 -0
  20. package/dest/branded-types/index.js +4 -0
  21. package/dest/branded-types/slot.d.ts +42 -0
  22. package/dest/branded-types/slot.d.ts.map +1 -0
  23. package/dest/branded-types/slot.js +59 -0
  24. package/dest/branded-types/types.d.ts +5 -0
  25. package/dest/branded-types/types.d.ts.map +1 -0
  26. package/dest/branded-types/types.js +1 -0
  27. package/dest/buffer/buffer16.d.ts +1 -4
  28. package/dest/buffer/buffer16.d.ts.map +1 -1
  29. package/dest/buffer/buffer32.d.ts +1 -4
  30. package/dest/buffer/buffer32.d.ts.map +1 -1
  31. package/dest/buffer/index.d.ts +1 -1
  32. package/dest/collection/array.d.ts +1 -1
  33. package/dest/collection/index.d.ts +1 -1
  34. package/dest/collection/object.d.ts +1 -1
  35. package/dest/committable/committable.d.ts +1 -1
  36. package/dest/committable/committable.d.ts.map +1 -1
  37. package/dest/committable/index.d.ts +1 -1
  38. package/dest/config/env_var.d.ts +2 -2
  39. package/dest/config/env_var.d.ts.map +1 -1
  40. package/dest/config/index.d.ts +1 -1
  41. package/dest/config/network_config.d.ts +1 -1
  42. package/dest/config/network_name.d.ts +1 -1
  43. package/dest/config/secret_value.d.ts +1 -1
  44. package/dest/config/secret_value.d.ts.map +1 -1
  45. package/dest/crypto/aes128/index.d.ts +1 -1
  46. package/dest/crypto/aes128/index.d.ts.map +1 -1
  47. package/dest/crypto/aes128/index.js +2 -6
  48. package/dest/crypto/bls/bn254_keystore.d.ts +15 -15
  49. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  50. package/dest/crypto/bls/index.d.ts +1 -1
  51. package/dest/crypto/bn254/bn254_utils.d.ts +1 -1
  52. package/dest/crypto/bn254/index.d.ts +1 -1
  53. package/dest/crypto/bn254/index.d.ts.map +1 -1
  54. package/dest/crypto/bn254/index.js +3 -0
  55. package/dest/crypto/ecdsa/index.d.ts +1 -1
  56. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  57. package/dest/crypto/ecdsa/index.js +4 -12
  58. package/dest/crypto/ecdsa/signature.d.ts +1 -10
  59. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  60. package/dest/crypto/grumpkin/index.d.ts +1 -1
  61. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  62. package/dest/crypto/grumpkin/index.js +5 -15
  63. package/dest/crypto/index.d.ts +1 -1
  64. package/dest/crypto/keccak/index.d.ts +1 -1
  65. package/dest/crypto/keys/index.d.ts +1 -1
  66. package/dest/crypto/keys/index.js +1 -3
  67. package/dest/crypto/pedersen/index.d.ts +1 -1
  68. package/dest/crypto/pedersen/pedersen.noble.d.ts +1 -1
  69. package/dest/crypto/pedersen/pedersen.wasm.d.ts +1 -1
  70. package/dest/crypto/pedersen/pedersen.wasm.js +3 -9
  71. package/dest/crypto/poseidon/index.d.ts +1 -1
  72. package/dest/crypto/poseidon/index.js +5 -15
  73. package/dest/crypto/random/index.d.ts +1 -1
  74. package/dest/crypto/random/index.d.ts.map +1 -1
  75. package/dest/crypto/random/randomness_singleton.d.ts +1 -1
  76. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  77. package/dest/crypto/schnorr/index.d.ts +1 -1
  78. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  79. package/dest/crypto/schnorr/index.js +3 -9
  80. package/dest/crypto/schnorr/signature.d.ts +1 -1
  81. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  82. package/dest/crypto/secp256k1/index.d.ts +1 -1
  83. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  84. package/dest/crypto/secp256k1/index.js +3 -9
  85. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  86. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  87. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  88. package/dest/crypto/secp256k1-signer/utils.d.ts +1 -1
  89. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  90. package/dest/crypto/serialize.d.ts +1 -1
  91. package/dest/crypto/sha256/index.d.ts +1 -1
  92. package/dest/crypto/sha256/index.d.ts.map +1 -1
  93. package/dest/crypto/sha512/index.d.ts +2 -2
  94. package/dest/crypto/sha512/index.d.ts.map +1 -1
  95. package/dest/crypto/signature/index.d.ts +1 -1
  96. package/dest/crypto/sync/index.d.ts +1 -1
  97. package/dest/crypto/sync/index.js +1 -3
  98. package/dest/crypto/sync/pedersen/index.d.ts +1 -1
  99. package/dest/crypto/sync/poseidon/index.d.ts +1 -1
  100. package/dest/decorators/index.d.ts +1 -1
  101. package/dest/decorators/memoize.d.ts +1 -1
  102. package/dest/decorators/memoize.d.ts.map +1 -1
  103. package/dest/error/index.d.ts +4 -4
  104. package/dest/error/index.d.ts.map +1 -1
  105. package/dest/eth-address/index.d.ts +10 -1
  106. package/dest/eth-address/index.d.ts.map +1 -1
  107. package/dest/eth-address/index.js +17 -0
  108. package/dest/eth-signature/eth_signature.d.ts +1 -4
  109. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  110. package/dest/eth-signature/index.d.ts +1 -1
  111. package/dest/fields/bls12_fields.d.ts +1 -1
  112. package/dest/fields/bls12_fields.d.ts.map +1 -1
  113. package/dest/fields/bls12_point.d.ts +1 -10
  114. package/dest/fields/bls12_point.d.ts.map +1 -1
  115. package/dest/fields/coordinate.d.ts +1 -4
  116. package/dest/fields/coordinate.d.ts.map +1 -1
  117. package/dest/fields/fields.d.ts +10 -1
  118. package/dest/fields/fields.d.ts.map +1 -1
  119. package/dest/fields/fields.js +14 -0
  120. package/dest/fields/index.d.ts +1 -1
  121. package/dest/fields/point.d.ts +11 -11
  122. package/dest/fields/point.d.ts.map +1 -1
  123. package/dest/fields/point.js +17 -0
  124. package/dest/fs/index.d.ts +1 -1
  125. package/dest/fs/run_in_dir.d.ts +1 -1
  126. package/dest/fs/try_rm_dir.d.ts +1 -1
  127. package/dest/index.d.ts +2 -1
  128. package/dest/index.d.ts.map +1 -1
  129. package/dest/index.js +1 -0
  130. package/dest/iterable/all.d.ts +1 -1
  131. package/dest/iterable/filter.d.ts +1 -1
  132. package/dest/iterable/index.d.ts +1 -1
  133. package/dest/iterable/isAsyncIt.d.ts +1 -1
  134. package/dest/iterable/map.d.ts +1 -1
  135. package/dest/iterable/peek.d.ts +1 -1
  136. package/dest/iterable/sort.d.ts +1 -1
  137. package/dest/iterable/take.d.ts +1 -1
  138. package/dest/iterable/toArray.d.ts +1 -1
  139. package/dest/json-rpc/client/fetch.d.ts +1 -1
  140. package/dest/json-rpc/client/index.d.ts +1 -1
  141. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +1 -1
  142. package/dest/json-rpc/client/undici.d.ts +1 -1
  143. package/dest/json-rpc/convert.d.ts +1 -1
  144. package/dest/json-rpc/errors.d.ts +1 -1
  145. package/dest/json-rpc/errors.d.ts.map +1 -1
  146. package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
  147. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  148. package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
  149. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  150. package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
  151. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  152. package/dest/json-rpc/index.d.ts +1 -1
  153. package/dest/json-rpc/js_utils.d.ts +1 -1
  154. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  155. package/dest/json-rpc/server/index.d.ts +1 -1
  156. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +1 -1
  157. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  158. package/dest/json-rpc/server/telemetry.d.ts +1 -1
  159. package/dest/json-rpc/test/index.d.ts +1 -1
  160. package/dest/json-rpc/test/integration.d.ts +1 -1
  161. package/dest/log/console.d.ts +1 -1
  162. package/dest/log/gcloud-logger-config.d.ts +1 -1
  163. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  164. package/dest/log/index.d.ts +1 -1
  165. package/dest/log/libp2p_logger.d.ts +1 -1
  166. package/dest/log/log-filters.d.ts +1 -1
  167. package/dest/log/log-levels.d.ts +1 -1
  168. package/dest/log/log_fn.d.ts +1 -1
  169. package/dest/log/noir_debug_log_util.d.ts +1 -1
  170. package/dest/log/pino-logger.d.ts +2 -2
  171. package/dest/message/index.d.ts +1 -1
  172. package/dest/message/index.d.ts.map +1 -1
  173. package/dest/mutex/index.d.ts +1 -1
  174. package/dest/mutex/index.d.ts.map +1 -1
  175. package/dest/mutex/mutex_database.d.ts +1 -1
  176. package/dest/noir/index.d.ts +1 -1
  177. package/dest/noir/noir_package_config.d.ts +9 -9
  178. package/dest/number/index.d.ts +1 -1
  179. package/dest/profiler/index.d.ts +1 -1
  180. package/dest/profiler/profiler.d.ts +1 -1
  181. package/dest/promise/index.d.ts +1 -1
  182. package/dest/promise/running-promise.d.ts +1 -1
  183. package/dest/promise/running-promise.d.ts.map +1 -1
  184. package/dest/promise/utils.d.ts +1 -1
  185. package/dest/queue/base_memory_queue.d.ts +1 -1
  186. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  187. package/dest/queue/batch_queue.d.ts +1 -1
  188. package/dest/queue/batch_queue.d.ts.map +1 -1
  189. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  190. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  191. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  192. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  193. package/dest/queue/index.d.ts +1 -1
  194. package/dest/queue/priority_memory_queue.d.ts +1 -1
  195. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  196. package/dest/queue/priority_queue.d.ts +1 -1
  197. package/dest/queue/priority_queue.d.ts.map +1 -1
  198. package/dest/queue/semaphore.d.ts +1 -1
  199. package/dest/queue/semaphore.d.ts.map +1 -1
  200. package/dest/queue/serial_queue.d.ts +1 -1
  201. package/dest/queue/serial_queue.d.ts.map +1 -1
  202. package/dest/retry/index.d.ts +1 -1
  203. package/dest/running-promise/index.d.ts +1 -1
  204. package/dest/schemas/api.d.ts +1 -1
  205. package/dest/schemas/index.d.ts +1 -1
  206. package/dest/schemas/parse.d.ts +1 -1
  207. package/dest/schemas/schemas.d.ts +9 -15
  208. package/dest/schemas/schemas.d.ts.map +1 -1
  209. package/dest/schemas/schemas.js +5 -7
  210. package/dest/schemas/types.d.ts +1 -1
  211. package/dest/schemas/utils.d.ts +4 -4
  212. package/dest/schemas/utils.d.ts.map +1 -1
  213. package/dest/schemas/utils.js +15 -5
  214. package/dest/serialize/buffer_reader.d.ts +1 -1
  215. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  216. package/dest/serialize/field_reader.d.ts +1 -1
  217. package/dest/serialize/field_reader.d.ts.map +1 -1
  218. package/dest/serialize/free_funcs.d.ts +1 -1
  219. package/dest/serialize/index.d.ts +1 -1
  220. package/dest/serialize/serialize.d.ts +1 -1
  221. package/dest/serialize/type_registry.d.ts +1 -1
  222. package/dest/serialize/type_registry.d.ts.map +1 -1
  223. package/dest/serialize/types.d.ts +1 -1
  224. package/dest/sleep/index.d.ts +1 -1
  225. package/dest/sleep/index.d.ts.map +1 -1
  226. package/dest/string/index.d.ts +1 -1
  227. package/dest/testing/files/index.d.ts +2 -1
  228. package/dest/testing/files/index.d.ts.map +1 -1
  229. package/dest/testing/files/index.js +1 -1
  230. package/dest/testing/formatting.d.ts +1 -1
  231. package/dest/testing/index.d.ts +1 -1
  232. package/dest/testing/port_allocator.d.ts +1 -1
  233. package/dest/testing/snapshot_serializer.d.ts +1 -1
  234. package/dest/testing/test_data.d.ts +1 -1
  235. package/dest/timer/date.d.ts +1 -1
  236. package/dest/timer/date.d.ts.map +1 -1
  237. package/dest/timer/elapsed.d.ts +1 -1
  238. package/dest/timer/index.d.ts +1 -1
  239. package/dest/timer/timeout.d.ts +1 -1
  240. package/dest/timer/timeout.d.ts.map +1 -1
  241. package/dest/timer/timer.d.ts +1 -1
  242. package/dest/timer/timer.d.ts.map +1 -1
  243. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  244. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  245. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
  246. package/dest/transport/dispatch/messages.d.ts +1 -1
  247. package/dest/transport/index.d.ts +1 -1
  248. package/dest/transport/interface/connector.d.ts +1 -1
  249. package/dest/transport/interface/listener.d.ts +1 -1
  250. package/dest/transport/interface/socket.d.ts +1 -1
  251. package/dest/transport/interface/transferable.d.ts +1 -1
  252. package/dest/transport/node/index.d.ts +1 -1
  253. package/dest/transport/node/node_connector.d.ts +1 -1
  254. package/dest/transport/node/node_connector.d.ts.map +1 -1
  255. package/dest/transport/node/node_connector_socket.d.ts +1 -1
  256. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  257. package/dest/transport/node/node_listener.d.ts +1 -1
  258. package/dest/transport/node/node_listener.d.ts.map +1 -1
  259. package/dest/transport/node/node_listener_socket.d.ts +1 -1
  260. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  261. package/dest/transport/transport_client.d.ts +1 -1
  262. package/dest/transport/transport_client.d.ts.map +1 -1
  263. package/dest/transport/transport_server.d.ts +1 -10
  264. package/dest/transport/transport_server.d.ts.map +1 -1
  265. package/dest/trees/balanced_merkle_tree.d.ts +22 -0
  266. package/dest/trees/balanced_merkle_tree.d.ts.map +1 -0
  267. package/dest/trees/balanced_merkle_tree.js +64 -0
  268. package/dest/trees/hasher.d.ts +1 -1
  269. package/dest/trees/index.d.ts +2 -1
  270. package/dest/trees/index.d.ts.map +1 -1
  271. package/dest/trees/index.js +1 -0
  272. package/dest/trees/indexed_merkle_tree.d.ts +1 -1
  273. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  274. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  275. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  276. package/dest/trees/indexed_tree_leaf.d.ts +1 -1
  277. package/dest/trees/membership_witness.d.ts +2 -23
  278. package/dest/trees/membership_witness.d.ts.map +1 -1
  279. package/dest/trees/merkle_tree.d.ts +1 -1
  280. package/dest/trees/merkle_tree.d.ts.map +1 -1
  281. package/dest/trees/merkle_tree_calculator.d.ts +2 -12
  282. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  283. package/dest/trees/merkle_tree_calculator.js +1 -31
  284. package/dest/trees/sibling_path.d.ts +4 -38
  285. package/dest/trees/sibling_path.d.ts.map +1 -1
  286. package/dest/trees/unbalanced_merkle_tree.d.ts +5 -3
  287. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  288. package/dest/trees/unbalanced_merkle_tree.js +32 -9
  289. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +6 -5
  290. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  291. package/dest/trees/unbalanced_merkle_tree_calculator.js +36 -40
  292. package/dest/trees/unbalanced_tree_store.d.ts +1 -1
  293. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  294. package/dest/types/index.d.ts +1 -1
  295. package/dest/url/index.d.ts +1 -1
  296. package/dest/validation/index.d.ts +1 -1
  297. package/package.json +7 -5
  298. package/src/array/array.ts +0 -16
  299. package/src/branded-types/block_number.ts +112 -0
  300. package/src/branded-types/checkpoint_number.ts +100 -0
  301. package/src/branded-types/epoch.ts +88 -0
  302. package/src/branded-types/index.ts +6 -0
  303. package/src/branded-types/slot.ts +88 -0
  304. package/src/branded-types/types.ts +2 -0
  305. package/src/config/env_var.ts +12 -2
  306. package/src/crypto/aes128/index.ts +2 -2
  307. package/src/crypto/bn254/index.ts +3 -0
  308. package/src/crypto/ecdsa/index.ts +4 -4
  309. package/src/crypto/grumpkin/index.ts +5 -5
  310. package/src/crypto/keys/index.ts +1 -1
  311. package/src/crypto/pedersen/pedersen.wasm.ts +3 -3
  312. package/src/crypto/poseidon/index.ts +5 -5
  313. package/src/crypto/schnorr/index.ts +3 -3
  314. package/src/crypto/secp256k1/index.ts +3 -3
  315. package/src/crypto/sync/index.ts +1 -1
  316. package/src/eth-address/index.ts +19 -0
  317. package/src/fields/fields.ts +16 -0
  318. package/src/fields/point.ts +19 -0
  319. package/src/index.ts +1 -0
  320. package/src/schemas/schemas.ts +10 -10
  321. package/src/schemas/utils.ts +21 -8
  322. package/src/testing/files/index.ts +1 -1
  323. package/src/trees/balanced_merkle_tree.ts +82 -0
  324. package/src/trees/index.ts +1 -0
  325. package/src/trees/merkle_tree_calculator.ts +1 -34
  326. package/src/trees/unbalanced_merkle_tree.ts +54 -6
  327. package/src/trees/unbalanced_merkle_tree_calculator.ts +34 -41
@@ -34,4 +34,4 @@ export interface AsyncHasher {
34
34
  */
35
35
  hashInputs(inputs: Buffer[]): Promise<Buffer<ArrayBuffer>>;
36
36
  }
37
- //# sourceMappingURL=hasher.d.ts.map
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvaGFzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxXQUFXLE1BQU07SUFDckI7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1RDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7Q0FDbkQ7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxXQUFXO0lBQzFCOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFFckU7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0NBQzVEIn0=
@@ -1,3 +1,4 @@
1
+ export * from './balanced_merkle_tree.js';
1
2
  export * from './unbalanced_merkle_tree.js';
2
3
  export * from './unbalanced_tree_store.js';
3
4
  export * from './merkle_tree_calculator.js';
@@ -9,4 +10,4 @@ export * from './membership_witness.js';
9
10
  export * from './hasher.js';
10
11
  export * from './indexed_tree_leaf.js';
11
12
  export * from './unbalanced_merkle_tree_calculator.js';
12
- //# sourceMappingURL=index.d.ts.map
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0NBQXdDLENBQUMifQ==
@@ -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,2BAA2B,CAAC;AAC1C,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,3 +1,4 @@
1
+ export * from './balanced_merkle_tree.js';
1
2
  export * from './unbalanced_merkle_tree.js';
2
3
  export * from './unbalanced_tree_store.js';
3
4
  export * from './merkle_tree_calculator.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"}
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXhlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvaW5kZXhlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdELFVBQVUsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLHVCQUF1QjtJQUM3RCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7Q0FDL0I7QUFFRDs7R0FFRztBQUNILHFCQUFhLDJCQUEyQixDQUFDLENBQUMsU0FBUyx1QkFBdUIsRUFBRSxDQUFDLFNBQVMsTUFBTTtJQUV4RixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLE9BQU87SUFKakIsT0FBTyxlQUtIO0lBRUosT0FBYSxNQUFNLENBQUMsQ0FBQyxTQUFTLHVCQUF1QixFQUFFLENBQUMsU0FBUyxNQUFNLEVBQ3JFLE1BQU0sRUFBRSxDQUFDLEVBQ1QsTUFBTSxFQUFFLFdBQVcsRUFDbkIsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxFQUMvQixRQUFRLHNCQUFtQiw4Q0FPNUI7SUFFSyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FxQ3BFO0lBRUssZUFBZSxDQUFDLE1BQU0sR0FBRSxNQUFNLEVBQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBa0I1RDtDQUNGIn0=
@@ -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,CAqCpE;IAEK,eAAe,CAAC,MAAM,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB5D;CACF"}
@@ -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==
@@ -5,13 +5,7 @@ import type { SiblingPath } from './sibling_path.js';
5
5
  * Contains information which can be used to prove that a leaf is a member of a Merkle tree.
6
6
  */
7
7
  export declare class MembershipWitness<N extends number> {
8
- /**
9
- * Index of a leaf in the Merkle tree.
10
- */
11
8
  leafIndex: bigint;
12
- /**
13
- * Sibling path of the leaf in the Merkle tree.
14
- */
15
9
  siblingPath: Tuple<Fr, N>;
16
10
  constructor(
17
11
  /**
@@ -29,22 +23,7 @@ export declare class MembershipWitness<N extends number> {
29
23
  toBuffer(): Buffer<ArrayBufferLike>;
30
24
  toJSON(): Buffer<ArrayBufferLike>;
31
25
  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
- }>;
26
+ static schemaFor<N extends number>(size: N): import("zod").ZodEffects<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, MembershipWitness<N>, any>;
48
27
  /**
49
28
  * Creates a random membership witness. Used for testing purposes.
50
29
  * @param pathSize - Number of fields in the sibling path.
@@ -75,4 +54,4 @@ export declare class MembershipWitness<N extends number> {
75
54
  };
76
55
  static fromSiblingPath<N extends number>(leafIndex: bigint, siblingPath: SiblingPath<N>): MembershipWitness<N>;
77
56
  }
78
- //# sourceMappingURL=membership_witness.d.ts.map
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyc2hpcF93aXRuZXNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvbWVtYmVyc2hpcF93aXRuZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssS0FBSyxFQUFxQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJEOztHQUVHO0FBQ0gscUJBQWEsaUJBQWlCLENBQUMsQ0FBQyxTQUFTLE1BQU07SUFTcEMsU0FBUyxFQUFFLE1BQU07SUFJakIsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBWmxDO0lBQ0U7O09BRUc7SUFDSCxRQUFRLEVBQUUsQ0FBQztJQUNYOztPQUVHO0lBQ0ksU0FBUyxFQUFFLE1BQU07SUFDeEI7O09BRUc7SUFDSSxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFHakM7SUFFRCxRQUFRLDRCQUVQO0lBRUQsTUFBTSw0QkFFTDtJQUVELFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FFZjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxzSEFFekM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYyxNQUFNLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyx3QkFRakQ7SUFFRDs7Ozs7T0FLRztJQUNILE9BQWMsS0FBSyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxTQUFTLFNBQUssR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FLdkY7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FNL0c7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBS2hHO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHO1FBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQUUsQ0FTbEg7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUU3RztDQUNGIn0=
@@ -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,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;IASpC,SAAS,EAAE,MAAM;IAIjB,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,sHAEzC;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"}
@@ -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,4 +1,3 @@
1
- import { sha256Trunc } from '@aztec/foundation/crypto';
2
1
  import { MerkleTree } from './merkle_tree.js';
3
2
  /**
4
3
  * Merkle tree calculator.
@@ -8,17 +7,8 @@ export declare class MerkleTreeCalculator {
8
7
  private zeroHashes;
9
8
  private hasher;
10
9
  private constructor();
11
- static create(height: number, zeroLeaf?: Buffer, hasher?: (left: Buffer, right: Buffer) => Promise<Buffer<ArrayBuffer>>): Promise<MerkleTreeCalculator>;
10
+ static create(height: number, zeroLeaf?: Buffer, hasher?: (left: Buffer<ArrayBufferLike>, right: Buffer<ArrayBufferLike>) => Promise<Buffer<ArrayBuffer>>): Promise<MerkleTreeCalculator>;
12
11
  computeTree(leaves?: Buffer[]): Promise<MerkleTree>;
13
12
  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
13
  }
24
- //# sourceMappingURL=merkle_tree_calculator.d.ts.map
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVya2xlX3RyZWVfY2FsY3VsYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL21lcmtsZV90cmVlX2NhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gscUJBQWEsb0JBQW9CO0lBRTdCLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLE1BQU07SUFIaEIsT0FBTyxlQU1OO0lBRUQsT0FBYSxNQUFNLENBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxHQUFFLE1BQXlCLEVBQ25DLE1BQU0sa0dBQ2lFLGlDQU94RTtJQUVLLFdBQVcsQ0FBQyxNQUFNLEdBQUUsTUFBTSxFQUFPLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQW9CNUQ7SUFFSyxlQUFlLENBQUMsTUFBTSxHQUFFLE1BQU0sRUFBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FrQjVEO0NBQ0YifQ==
@@ -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":"AAGA,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,eAMN;IAED,OAAa,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAyB,EACnC,MAAM,kGACiE,iCAOxE;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,4 @@
1
- import { pedersenHash, sha256Trunc } from '@aztec/foundation/crypto';
1
+ import { pedersenHash } from '@aztec/foundation/crypto';
2
2
  import { MerkleTree } from './merkle_tree.js';
3
3
  /**
4
4
  * Merkle tree calculator.
@@ -58,34 +58,4 @@ import { MerkleTree } from './merkle_tree.js';
58
58
  }
59
59
  return leaves[0];
60
60
  }
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
61
  }
@@ -12,7 +12,6 @@ import type { Hasher } from './hasher.js';
12
12
  * And the elements would be ordered as: [ leaf_at_index_2, node_at_level_2_index_0, node_at_level_1_index_1 ].
13
13
  */
14
14
  export declare class SiblingPath<N extends number> {
15
- /** Size of the sibling path (number of fields it contains). */
16
15
  pathSize: N;
17
16
  private data;
18
17
  /**
@@ -25,41 +24,8 @@ export declare class SiblingPath<N extends number> {
25
24
  pathSize: N,
26
25
  /** The sibling path data. */
27
26
  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
- }>;
27
+ static get schema(): import("zod").ZodEffects<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, SiblingPath<number>, any>;
28
+ static schemaFor<N extends number>(size: N): import("zod").ZodEffects<import("zod").ZodEffects<import("../schemas/types.js").ZodFor<Buffer<ArrayBufferLike>>, SiblingPath<N>, any>, SiblingPath<N>, any>;
63
29
  toJSON(): Buffer<ArrayBufferLike>;
64
30
  /**
65
31
  * Returns sibling path hashed up from the a element.
@@ -126,5 +92,5 @@ export declare class SiblingPath<N extends number> {
126
92
  getSubtreeSiblingPath<SubtreeHeight extends number, SubtreeSiblingPathHeight extends number>(subtreeHeight: SubtreeHeight): SiblingPath<SubtreeSiblingPathHeight>;
127
93
  }
128
94
  /** 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
95
+ export declare function computeRootFromSiblingPath(leaf: Buffer, siblingPath: Buffer[], index: number, hasher?: (left: Buffer<ArrayBufferLike>, right: Buffer<ArrayBufferLike>) => Promise<Buffer<ArrayBufferLike>>): Promise<Buffer<ArrayBufferLike>>;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2libGluZ19wYXRoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvc2libGluZ19wYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsS0FBSyxLQUFLLEVBSVgsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUM7Ozs7Ozs7OztHQVNHO0FBQ0gscUJBQWEsV0FBVyxDQUFDLENBQUMsU0FBUyxNQUFNO0lBVTlCLFFBQVEsRUFBRSxDQUFDO0lBVHBCLE9BQU8sQ0FBQyxJQUFJLENBQW1CO0lBRS9COzs7O09BSUc7SUFDSDtJQUNFLCtEQUErRDtJQUN4RCxRQUFRLEVBQUUsQ0FBQztJQUNsQiw2QkFBNkI7SUFDN0IsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUdmO0lBRUQsTUFBTSxLQUFLLE1BQU0sc0hBRWhCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLCtKQUt6QztJQUVELE1BQU0sNEJBRUw7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFjLElBQUksQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FRakc7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsa0JBR3hDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FFeEI7SUFFRDs7O09BR0c7SUFDSSxhQUFhLElBQUksTUFBTSxFQUFFLENBRS9CO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUV0QjtJQUVEOzs7T0FHRztJQUNJLE9BQU8sSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUc3QjtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUczRTtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFJOzs7TUFRM0Q7SUFFRDs7O09BR0c7SUFDSSxRQUFRLElBQUksTUFBTSxDQUV4QjtJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFVBQVUsQ0FBQyxDQUFDLFNBQVMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUV2RTtJQUVEOzs7O09BSUc7SUFDSSxxQkFBcUIsQ0FBQyxhQUFhLFNBQVMsTUFBTSxFQUFFLHdCQUF3QixTQUFTLE1BQU0sRUFDaEcsYUFBYSxFQUFFLGFBQWEsR0FDM0IsV0FBVyxDQUFDLHdCQUF3QixDQUFDLENBS3ZDO0NBQ0Y7QUFFRCxxRkFBcUY7QUFDckYsd0JBQXNCLDBCQUEwQixDQUM5QyxJQUFJLEVBQUUsTUFBTSxFQUNaLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFDckIsS0FBSyxFQUFFLE1BQU0sRUFDYixNQUFNLHNHQUF3RixvQ0FRL0YifQ==
@@ -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":"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;IAU9B,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,sHAEhB;IAED,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,+JAKzC;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,sGAAwF,oCAQ/F"}
@@ -1,4 +1,5 @@
1
- import { sha256Trunc } from '../crypto/sha256/index.js';
1
+ export declare const computeUnbalancedShaRoot: (leaves: Buffer<ArrayBufferLike>[]) => Buffer<ArrayBufferLike>;
2
+ export declare const computeUnbalancedPoseidonRoot: (leaves: Buffer<ArrayBufferLike>[]) => Promise<Buffer<ArrayBufferLike>>;
2
3
  /**
3
4
  * Computes the Merkle root of an unbalanced tree.
4
5
  *
@@ -20,9 +21,10 @@ import { sha256Trunc } from '../crypto/sha256/index.js';
20
21
  * But if we instead combine the size-4 and size-8 subtrees first (depth 4), and then merge with the size-2 subtree
21
22
  * (depth 1), the final tree has a depth of 5.
22
23
  */
23
- export declare function computeUnbalancedMerkleTreeRoot(leaves: Buffer[], hasher?: typeof sha256Trunc): Buffer;
24
+ export declare function computeUnbalancedMerkleTreeRoot(leaves: Buffer[], hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>): Buffer;
25
+ export declare function computeUnbalancedMerkleTreeRootAsync(leaves: Buffer[], hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Promise<Buffer<ArrayBuffer>>, emptyRoot?: Buffer<ArrayBuffer>): Promise<Buffer>;
24
26
  export declare function findLeafLevelAndIndex(numLeaves: number, leafIndex: number): {
25
27
  level: number;
26
28
  indexAtLevel: number;
27
29
  };
28
- //# sourceMappingURL=unbalanced_merkle_tree.d.ts.map
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF9tZXJrbGVfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3VuYmFsYW5jZWRfbWVya2xlX3RyZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsZUFBTyxNQUFNLHdCQUF3QixnRUFBK0UsQ0FBQztBQUVySCxlQUFPLE1BQU0sNkJBQTZCLHlFQUM4QixDQUFDO0FBRXpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQUNILHdCQUFnQiwrQkFBK0IsQ0FDN0MsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixNQUFNLDhGQUFnQixFQUN0QixTQUFTLHNCQUFtQixHQUMzQixNQUFNLENBNkJSO0FBRUQsd0JBQXNCLG9DQUFvQyxDQUN4RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQ2hCLE1BQU0sdUdBQXFCLEVBQzNCLFNBQVMsc0JBQW1CLEdBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0E2QmpCO0FBc0RELHdCQUFnQixxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNOzs7RUFHekUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"unbalanced_merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,qBAAc,GAAG,MAAM,CA6B9F;AAsDD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;WAhC9D,MAAM;kBAAgB,MAAM;EAmCvC"}
1
+ {"version":3,"file":"unbalanced_merkle_tree.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_tree.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,gEAA+E,CAAC;AAErH,eAAO,MAAM,6BAA6B,yEAC8B,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,8FAAgB,EACtB,SAAS,sBAAmB,GAC3B,MAAM,CA6BR;AAED,wBAAsB,oCAAoC,CACxD,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,uGAAqB,EAC3B,SAAS,sBAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAsDD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;EAGzE"}
@@ -1,5 +1,6 @@
1
- import { sha256Trunc } from '../crypto/sha256/index.js';
2
- import { MerkleTreeCalculator } from './merkle_tree_calculator.js';
1
+ import { computeBalancedMerkleTreeRoot, computeBalancedMerkleTreeRootAsync, poseidonMerkleHash, shaMerkleHash } from './balanced_merkle_tree.js';
2
+ export const computeUnbalancedShaRoot = (leaves)=>computeUnbalancedMerkleTreeRoot(leaves, shaMerkleHash);
3
+ export const computeUnbalancedPoseidonRoot = async (leaves)=>await computeUnbalancedMerkleTreeRootAsync(leaves, poseidonMerkleHash);
3
4
  /**
4
5
  * Computes the Merkle root of an unbalanced tree.
5
6
  *
@@ -20,9 +21,9 @@ import { MerkleTreeCalculator } from './merkle_tree_calculator.js';
20
21
  *
21
22
  * But if we instead combine the size-4 and size-8 subtrees first (depth 4), and then merge with the size-2 subtree
22
23
  * (depth 1), the final tree has a depth of 5.
23
- */ export function computeUnbalancedMerkleTreeRoot(leaves, hasher = sha256Trunc) {
24
+ */ export function computeUnbalancedMerkleTreeRoot(leaves, hasher = shaMerkleHash, emptyRoot = Buffer.alloc(32)) {
24
25
  if (!leaves.length) {
25
- throw new Error('Cannot compute a Merkle root with no leaves');
26
+ return emptyRoot;
26
27
  }
27
28
  if (leaves.length === 1) {
28
29
  return leaves[0];
@@ -33,14 +34,36 @@ import { MerkleTreeCalculator } from './merkle_tree_calculator.js';
33
34
  while(numRemainingLeaves > 1){
34
35
  if ((numRemainingLeaves & subtreeSize) !== 0) {
35
36
  const subtreeLeaves = leaves.slice(numRemainingLeaves - subtreeSize, numRemainingLeaves);
36
- const subtreeRoot = MerkleTreeCalculator.computeTreeRootSync(subtreeLeaves, hasher);
37
+ const subtreeRoot = computeBalancedMerkleTreeRoot(subtreeLeaves, hasher);
37
38
  if (!root) {
38
39
  root = subtreeRoot;
39
40
  } else {
40
- root = hasher(Buffer.concat([
41
- subtreeRoot,
42
- root
43
- ]));
41
+ root = hasher(subtreeRoot, root);
42
+ }
43
+ numRemainingLeaves -= subtreeSize;
44
+ }
45
+ subtreeSize *= 2;
46
+ }
47
+ return root;
48
+ }
49
+ export async function computeUnbalancedMerkleTreeRootAsync(leaves, hasher = poseidonMerkleHash, emptyRoot = Buffer.alloc(32)) {
50
+ if (!leaves.length) {
51
+ return emptyRoot;
52
+ }
53
+ if (leaves.length === 1) {
54
+ return leaves[0];
55
+ }
56
+ let numRemainingLeaves = leaves.length;
57
+ let subtreeSize = 1;
58
+ let root;
59
+ while(numRemainingLeaves > 1){
60
+ if ((numRemainingLeaves & subtreeSize) !== 0) {
61
+ const subtreeLeaves = leaves.slice(numRemainingLeaves - subtreeSize, numRemainingLeaves);
62
+ const subtreeRoot = await computeBalancedMerkleTreeRootAsync(subtreeLeaves, hasher);
63
+ if (!root) {
64
+ root = subtreeRoot;
65
+ } else {
66
+ root = await hasher(subtreeRoot, root);
44
67
  }
45
68
  numRemainingLeaves -= subtreeSize;
46
69
  }
@@ -1,7 +1,7 @@
1
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;
4
+ export declare function computeCompressedUnbalancedMerkleTreeRoot(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>, hasher?: Hasher['hash']): Buffer;
5
5
  /**
6
6
  * An ephemeral unbalanced Merkle tree implementation.
7
7
  * Follows the rollup implementation which greedily hashes pairs of nodes up the tree.
@@ -13,11 +13,12 @@ export declare function computeCompressedUnbalancedMerkleTreeRoot(leaves: Buffer
13
13
  export declare class UnbalancedMerkleTreeCalculator {
14
14
  private readonly leaves;
15
15
  private readonly valueToCompress;
16
+ private readonly emptyRoot;
16
17
  private readonly hasher;
17
18
  private store;
18
19
  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;
20
+ constructor(leaves: Buffer[], valueToCompress: Buffer, emptyRoot: Buffer, hasher: Hasher['hash']);
21
+ static create(leaves: Buffer[], valueToCompress?: Buffer<ArrayBuffer>, emptyRoot?: Buffer<ArrayBuffer>, hasher?: (lhs: Uint8Array<ArrayBufferLike>, rhs: Uint8Array<ArrayBufferLike>) => Buffer<ArrayBuffer>): UnbalancedMerkleTreeCalculator;
21
22
  /**
22
23
  * Returns the root of the tree.
23
24
  * @returns The root of the tree.
@@ -43,6 +44,6 @@ export declare class UnbalancedMerkleTreeCalculator {
43
44
  */
44
45
  private buildTree;
45
46
  private shiftNodeUp;
46
- private shiftChildrenUp;
47
+ private collectNodesToShift;
47
48
  }
48
- //# sourceMappingURL=unbalanced_merkle_tree_calculator.d.ts.map
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvdW5iYWxhbmNlZF9tZXJrbGVfdHJlZV9jYWxjdWxhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVCLE1BQU0sNEJBQTRCLENBQUM7QUFFeEYsd0JBQWdCLHlDQUF5QyxDQUN2RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQ2hCLGVBQWUsc0JBQW1CLEVBQ2xDLFNBQVMsc0JBQW1CLEVBQzVCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FDdEIsTUFBTSxDQUdSO0FBT0Q7Ozs7Ozs7R0FPRztBQUNILHFCQUFhLDhCQUE4QjtJQUt2QyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlO0lBQ2hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFQekIsT0FBTyxDQUFDLEtBQUssQ0FBZ0M7SUFDN0MsT0FBTyxDQUFDLGFBQWEsQ0FBMEI7SUFFL0MsWUFDbUIsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixlQUFlLEVBQUUsTUFBTSxFQUN2QixTQUFTLEVBQUUsTUFBTSxFQUNqQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUl4QztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQ1gsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUNoQixlQUFlLHNCQUFrQixFQUNqQyxTQUFTLHNCQUFtQixFQUM1QixNQUFNLDhGQUFnQixrQ0FHdkI7SUFFRDs7O09BR0c7SUFDSSxPQUFPLElBQUksTUFBTSxDQUV2QjtJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBT3JFO0lBRUQ7Ozs7T0FJRztJQUNJLHlCQUF5QixDQUFDLENBQUMsU0FBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBbUJwRjtJQUVNLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxvQkFFdkM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsU0FBUztJQStDakIsT0FBTyxDQUFDLFdBQVc7SUFZbkIsT0FBTyxDQUFDLG1CQUFtQjtDQW1CNUIifQ==
@@ -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":"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,SAAS,sBAAmB,EAC5B,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,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"}
@@ -1,8 +1,8 @@
1
- import { sha256Trunc } from '../crypto/index.js';
1
+ import { shaMerkleHash } from './balanced_merkle_tree.js';
2
2
  import { SiblingPath } from './sibling_path.js';
3
3
  import { UnbalancedTreeStore } from './unbalanced_tree_store.js';
4
- export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompress = Buffer.alloc(32), hasher) {
5
- const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, hasher);
4
+ export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompress = Buffer.alloc(32), emptyRoot = Buffer.alloc(32), hasher) {
5
+ const calculator = UnbalancedMerkleTreeCalculator.create(leaves, valueToCompress, emptyRoot, hasher);
6
6
  return calculator.getRoot();
7
7
  }
8
8
  /**
@@ -15,25 +15,21 @@ export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompres
15
15
  */ export class UnbalancedMerkleTreeCalculator {
16
16
  leaves;
17
17
  valueToCompress;
18
+ emptyRoot;
18
19
  hasher;
19
20
  store;
20
21
  leafLocations;
21
- constructor(leaves, valueToCompress, hasher){
22
+ constructor(leaves, valueToCompress, emptyRoot, hasher){
22
23
  this.leaves = leaves;
23
24
  this.valueToCompress = valueToCompress;
25
+ this.emptyRoot = emptyRoot;
24
26
  this.hasher = hasher;
25
27
  this.leafLocations = [];
26
- if (leaves.length === 0) {
27
- throw Error('Cannot create a compressed unbalanced tree with 0 leaves.');
28
- }
29
28
  this.store = new UnbalancedTreeStore(leaves.length);
30
29
  this.buildTree();
31
30
  }
32
- static create(leaves, valueToCompress = Buffer.alloc(0), hasher = (left, right)=>sha256Trunc(Buffer.concat([
33
- left,
34
- right
35
- ]))) {
36
- return new UnbalancedMerkleTreeCalculator(leaves, valueToCompress, hasher);
31
+ static create(leaves, valueToCompress = Buffer.alloc(0), emptyRoot = Buffer.alloc(32), hasher = shaMerkleHash) {
32
+ return new UnbalancedMerkleTreeCalculator(leaves, valueToCompress, emptyRoot, hasher);
37
33
  }
38
34
  /**
39
35
  * Returns the root of the tree.
@@ -88,12 +84,12 @@ export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompres
88
84
  // Start with the leaves that are not compressed.
89
85
  let toProcess = this.leafLocations.filter((_, i)=>!this.leaves[i].equals(this.valueToCompress));
90
86
  if (!toProcess.length) {
91
- // All leaves are compressed. Set 0 to the root.
87
+ // All leaves are compressed. Set empty root to the root.
92
88
  this.store.setNode({
93
89
  level: 0,
94
90
  index: 0
95
91
  }, {
96
- value: Buffer.alloc(32)
92
+ value: this.emptyRoot
97
93
  });
98
94
  return;
99
95
  }
@@ -114,10 +110,7 @@ export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompres
114
110
  const shouldShiftUp = !sibling || sibling.value.equals(this.valueToCompress);
115
111
  if (shouldShiftUp) {
116
112
  // The node becomes the parent if the sibling is a compressed leaf.
117
- const isLeaf = this.shiftNodeUp(location, parentLocation);
118
- if (!isLeaf) {
119
- this.shiftChildrenUp(location);
120
- }
113
+ this.shiftNodeUp(location, parentLocation);
121
114
  } else {
122
115
  // Hash the value with the (right) sibling and update the parent node.
123
116
  const node = this.store.getNode(location);
@@ -132,31 +125,34 @@ export function computeCompressedUnbalancedMerkleTreeRoot(leaves, valueToCompres
132
125
  toProcess = toProcessNext;
133
126
  }
134
127
  }
135
- shiftNodeUp(fromLocation, toLocation) {
136
- const node = this.store.getNode(fromLocation);
137
- this.store.setNode(toLocation, node);
138
- const isLeaf = node.leafIndex !== undefined;
139
- if (isLeaf) {
140
- // Update the location if the node is a leaf.
141
- this.leafLocations[node.leafIndex] = toLocation;
128
+ shiftNodeUp(from, to) {
129
+ // Collect all nodes that need to shift.
130
+ const nodesToShift = this.collectNodesToShift(from, to);
131
+ // Move all nodes to their new locations.
132
+ for (const { node, newLocation } of nodesToShift){
133
+ this.store.setNode(newLocation, node);
134
+ if (node.leafIndex !== undefined) {
135
+ this.leafLocations[node.leafIndex] = newLocation;
136
+ }
142
137
  }
143
- return isLeaf;
144
138
  }
145
- shiftChildrenUp(parent) {
146
- const [left, right] = this.store.getChildLocations(parent);
147
- const level = parent.level;
148
- const groupSize = 2 ** level;
149
- const computeNewLocation = (index)=>({
150
- level,
151
- index: Math.floor(index / (groupSize * 2)) * groupSize + index % groupSize
152
- });
153
- const isLeftLeaf = this.shiftNodeUp(left, computeNewLocation(left.index));
154
- const isRightLeaf = this.shiftNodeUp(right, computeNewLocation(right.index));
155
- if (!isLeftLeaf) {
156
- this.shiftChildrenUp(left);
139
+ collectNodesToShift(from, to) {
140
+ const node = this.store.getNode(from);
141
+ if (!node) {
142
+ return [];
157
143
  }
158
- if (!isRightLeaf) {
159
- this.shiftChildrenUp(right);
144
+ let result = [
145
+ {
146
+ node,
147
+ newLocation: to
148
+ }
149
+ ];
150
+ // If not a leaf, collect its children.
151
+ if (node.leafIndex === undefined) {
152
+ const [leftChild, rightChild] = this.store.getChildLocations(from);
153
+ const [leftChildNew, rightChildNew] = this.store.getChildLocations(to);
154
+ result = result.concat(this.collectNodesToShift(leftChild, leftChildNew)).concat(this.collectNodesToShift(rightChild, rightChildNew));
160
155
  }
156
+ return result;
161
157
  }
162
158
  }
@@ -17,4 +17,4 @@ export declare class UnbalancedTreeStore<T> {
17
17
  getSibling(location: TreeNodeLocation): T | undefined;
18
18
  getChildren(location: TreeNodeLocation): [T | undefined, T | undefined];
19
19
  }
20
- //# sourceMappingURL=unbalanced_tree_store.d.ts.map
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF90cmVlX3N0b3JlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvdW5iYWxhbmNlZF90cmVlX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0IsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUNkLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZjtBQU9ELHFCQUFhLG1CQUFtQixDQUFDLENBQUM7O0lBSWhDLFlBQVksU0FBUyxFQUFFLE1BQU0sRUFFNUI7SUFFRCxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQWVyRDtJQUVELE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQVNuRDtJQUVELGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLGdCQUFnQixHQUFHLGdCQUFnQixDQU10RTtJQUVELGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLGdCQUFnQixHQUFHLGdCQUFnQixDQU12RTtJQUVELGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLGdCQUFnQixHQUFHLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FJMUY7SUFFRCxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQU94QztJQUVELE9BQU8sQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FFakQ7SUFFRCxPQUFPLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FFdkI7SUFFRCxTQUFTLENBQUMsUUFBUSxFQUFFLGdCQUFnQixHQUFHLENBQUMsR0FBRyxTQUFTLENBR25EO0lBRUQsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUdwRDtJQUVELFdBQVcsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FHdEU7Q0FLRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"unbalanced_tree_store.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_tree_store.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,qBAAa,mBAAmB,CAAC,CAAC;;gBAIpB,SAAS,EAAE,MAAM;IAI7B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,gBAAgB;IAiBtD,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAWpD,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,gBAAgB;IAQvE,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,gBAAgB;IAQxE,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAM3F,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IASzC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS;IAIlD,OAAO,IAAI,CAAC,GAAG,SAAS;IAIxB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS;IAKpD,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS;IAKrD,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;CAQxE"}
1
+ {"version":3,"file":"unbalanced_tree_store.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_tree_store.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,qBAAa,mBAAmB,CAAC,CAAC;;IAIhC,YAAY,SAAS,EAAE,MAAM,EAE5B;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,gBAAgB,CAerD;IAED,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,QASnD;IAED,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,CAMtE;IAED,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,CAMvE;IAED,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAI1F;IAED,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAOxC;IAED,OAAO,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAEjD;IAED,OAAO,IAAI,CAAC,GAAG,SAAS,CAEvB;IAED,SAAS,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAGnD;IAED,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAGpD;IAED,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAGtE;CAKF"}
@@ -39,4 +39,4 @@ export interface TypedEventEmitter<TEventMap extends {
39
39
  removeListener<K extends keyof TEventMap>(event: K, listener: TEventMap[K]): this;
40
40
  removeAllListeners<K extends keyof TEventMap>(event: K): this;
41
41
  }
42
- //# sourceMappingURL=index.d.ts.map
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQ0FBZ0M7QUFDaEMsTUFBTSxNQUFNLFFBQVEsQ0FBQyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxRQUFRLEdBQUcsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQzFELENBQUM7QUFFRixrQ0FBa0M7QUFDbEMsTUFBTSxNQUFNLFdBQVcsQ0FBQyxDQUFDLElBQUk7S0FDMUIsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxRQUFRLEdBQUcsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQzFELENBQUM7QUFFRix1REFBdUQ7QUFDdkQsTUFBTSxNQUFNLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUvRSw2Q0FBNkM7QUFDN0MsTUFBTSxNQUFNLFNBQVMsQ0FBQyxDQUFDLElBQUk7SUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FBRSxDQUFDO0FBRTlELGdEQUFnRDtBQUNoRCx3QkFBZ0IsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FFaEQ7QUFFRCxxREFBcUQ7QUFDckQsTUFBTSxNQUFNLFFBQVEsQ0FBQyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDckIsR0FBRyxFQUFFLENBQUM7QUFFUDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxXQUFXLGlCQUFpQixDQUFDLFNBQVMsU0FBUztLQUFHLEdBQUcsSUFBSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLElBQUk7Q0FBRTtJQUN6RyxJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQU0sU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDeEUsRUFBRSxDQUFDLENBQUMsU0FBUyxNQUFNLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3RFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsTUFBTSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN2RSxJQUFJLENBQUMsQ0FBQyxTQUFTLE1BQU0sU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUN0RixjQUFjLENBQUMsQ0FBQyxTQUFTLE1BQU0sU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDbEYsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLE1BQU0sU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO0NBRS9EIn0=
@@ -6,4 +6,4 @@
6
6
  * @api public
7
7
  */
8
8
  export declare function fileURLToPath(uri: string): string;
9
- //# sourceMappingURL=index.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cmwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBOzs7Ozs7R0FNRztBQUVILHdCQUFnQixhQUFhLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBNENqRCJ9
@@ -6,4 +6,4 @@ export declare function required<T>(value: T | undefined, errMsg?: string): T;
6
6
  * @param err - Error message to throw if x isn't met.
7
7
  */
8
8
  export declare function assert(x: any, err: string): asserts x;
9
- //# sourceMappingURL=index.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlFQUF5RTtBQUN6RSx3QkFBZ0IsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUtwRTtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUlyRCJ9