@aztec/foundation 3.0.0-canary.a9708bd → 3.0.0-devnet.20251212

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 (451) 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 +2 -5
  28. package/dest/buffer/buffer16.d.ts.map +1 -1
  29. package/dest/buffer/buffer16.js +1 -1
  30. package/dest/buffer/buffer32.d.ts +2 -5
  31. package/dest/buffer/buffer32.d.ts.map +1 -1
  32. package/dest/buffer/buffer32.js +1 -1
  33. package/dest/buffer/index.d.ts +1 -1
  34. package/dest/collection/array.d.ts +3 -1
  35. package/dest/collection/array.d.ts.map +1 -1
  36. package/dest/collection/array.js +12 -3
  37. package/dest/collection/index.d.ts +1 -1
  38. package/dest/collection/object.d.ts +5 -1
  39. package/dest/collection/object.d.ts.map +1 -1
  40. package/dest/collection/object.js +6 -0
  41. package/dest/committable/committable.d.ts +1 -1
  42. package/dest/committable/committable.d.ts.map +1 -1
  43. package/dest/committable/index.d.ts +1 -1
  44. package/dest/config/env_var.d.ts +2 -2
  45. package/dest/config/env_var.d.ts.map +1 -1
  46. package/dest/config/index.d.ts +12 -2
  47. package/dest/config/index.d.ts.map +1 -1
  48. package/dest/config/index.js +18 -3
  49. package/dest/config/network_config.d.ts +42 -0
  50. package/dest/config/network_config.d.ts.map +1 -0
  51. package/dest/config/network_config.js +9 -0
  52. package/dest/config/network_name.d.ts +2 -2
  53. package/dest/config/network_name.d.ts.map +1 -1
  54. package/dest/config/network_name.js +10 -2
  55. package/dest/config/secret_value.d.ts +1 -1
  56. package/dest/config/secret_value.d.ts.map +1 -1
  57. package/dest/crypto/aes128/index.d.ts +1 -1
  58. package/dest/crypto/aes128/index.d.ts.map +1 -1
  59. package/dest/crypto/aes128/index.js +19 -6
  60. package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
  61. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  62. package/dest/crypto/bls/bn254_keystore.js +218 -0
  63. package/dest/crypto/bls/index.d.ts +13 -0
  64. package/dest/crypto/bls/index.d.ts.map +1 -0
  65. package/dest/crypto/bls/index.js +87 -0
  66. package/dest/crypto/bn254/index.d.ts +39 -0
  67. package/dest/crypto/bn254/index.d.ts.map +1 -0
  68. package/dest/crypto/bn254/index.js +56 -0
  69. package/dest/crypto/ecdsa/index.d.ts +1 -1
  70. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  71. package/dest/crypto/ecdsa/index.js +58 -48
  72. package/dest/crypto/ecdsa/signature.d.ts +2 -11
  73. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  74. package/dest/crypto/ecdsa/signature.js +2 -2
  75. package/dest/crypto/grumpkin/index.d.ts +10 -13
  76. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  77. package/dest/crypto/grumpkin/index.js +61 -55
  78. package/dest/crypto/keccak/index.d.ts +1 -1
  79. package/dest/crypto/keys/index.d.ts +2 -2
  80. package/dest/crypto/keys/index.d.ts.map +1 -1
  81. package/dest/crypto/keys/index.js +8 -5
  82. package/dest/crypto/pedersen/index.d.ts +1 -1
  83. package/dest/crypto/pedersen/pedersen.noble.d.ts +1 -1
  84. package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
  85. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  86. package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
  87. package/dest/crypto/poseidon/index.d.ts +2 -2
  88. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  89. package/dest/crypto/poseidon/index.js +33 -18
  90. package/dest/crypto/random/index.d.ts +1 -1
  91. package/dest/crypto/random/index.d.ts.map +1 -1
  92. package/dest/crypto/random/randomness_singleton.d.ts +1 -1
  93. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  94. package/dest/crypto/schnorr/index.d.ts +3 -2
  95. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  96. package/dest/crypto/schnorr/index.js +30 -38
  97. package/dest/crypto/schnorr/signature.d.ts +2 -2
  98. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  99. package/dest/crypto/schnorr/signature.js +2 -2
  100. package/dest/crypto/secp256k1/index.d.ts +1 -1
  101. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  102. package/dest/crypto/secp256k1/index.js +23 -18
  103. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  104. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  105. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  106. package/dest/crypto/secp256k1-signer/utils.d.ts +49 -3
  107. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  108. package/dest/crypto/secp256k1-signer/utils.js +87 -5
  109. package/dest/crypto/serialize.d.ts +1 -1
  110. package/dest/crypto/sha256/index.d.ts +2 -2
  111. package/dest/crypto/sha256/index.d.ts.map +1 -1
  112. package/dest/crypto/sha256/index.js +1 -1
  113. package/dest/crypto/sha512/index.d.ts +3 -3
  114. package/dest/crypto/sha512/index.d.ts.map +1 -1
  115. package/dest/crypto/sha512/index.js +1 -1
  116. package/dest/crypto/signature/index.d.ts +2 -2
  117. package/dest/crypto/signature/index.d.ts.map +1 -1
  118. package/dest/crypto/sync/index.d.ts +1 -1
  119. package/dest/crypto/sync/index.js +1 -1
  120. package/dest/crypto/sync/pedersen/index.d.ts +2 -2
  121. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  122. package/dest/crypto/sync/pedersen/index.js +18 -11
  123. package/dest/crypto/sync/poseidon/index.d.ts +2 -2
  124. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  125. package/dest/crypto/sync/poseidon/index.js +28 -13
  126. package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +3 -3
  127. package/dest/curves/bls12/field.d.ts.map +1 -0
  128. package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +6 -6
  129. package/dest/curves/bls12/index.d.ts +3 -0
  130. package/dest/curves/bls12/index.d.ts.map +1 -0
  131. package/dest/curves/bls12/index.js +2 -0
  132. package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +11 -20
  133. package/dest/curves/bls12/point.d.ts.map +1 -0
  134. package/dest/{fields/bls12_point.js → curves/bls12/point.js} +14 -14
  135. package/dest/{fields/fields.d.ts → curves/bn254/field.d.ts} +16 -9
  136. package/dest/curves/bn254/field.d.ts.map +1 -0
  137. package/dest/{fields/fields.js → curves/bn254/field.js} +41 -16
  138. package/dest/curves/bn254/index.d.ts +3 -0
  139. package/dest/curves/bn254/index.d.ts.map +1 -0
  140. package/dest/curves/bn254/index.js +2 -0
  141. package/dest/curves/bn254/point.d.ts +54 -0
  142. package/dest/curves/bn254/point.d.ts.map +1 -0
  143. package/dest/curves/bn254/point.js +143 -0
  144. package/dest/curves/grumpkin/index.d.ts +10 -0
  145. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  146. package/dest/curves/grumpkin/index.js +3 -0
  147. package/dest/{fields → curves/grumpkin}/point.d.ts +13 -13
  148. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  149. package/dest/{fields → curves/grumpkin}/point.js +24 -7
  150. package/dest/decorators/index.d.ts +1 -1
  151. package/dest/decorators/memoize.d.ts +1 -1
  152. package/dest/decorators/memoize.d.ts.map +1 -1
  153. package/dest/error/index.d.ts +4 -4
  154. package/dest/error/index.d.ts.map +1 -1
  155. package/dest/eth-address/index.d.ts +14 -4
  156. package/dest/eth-address/index.d.ts.map +1 -1
  157. package/dest/eth-address/index.js +23 -1
  158. package/dest/eth-signature/eth_signature.d.ts +1 -4
  159. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  160. package/dest/eth-signature/eth_signature.js +2 -4
  161. package/dest/eth-signature/index.d.ts +1 -1
  162. package/dest/fs/index.d.ts +1 -1
  163. package/dest/fs/run_in_dir.d.ts +1 -1
  164. package/dest/fs/try_rm_dir.d.ts +1 -1
  165. package/dest/iterable/all.d.ts +1 -1
  166. package/dest/iterable/filter.d.ts +1 -1
  167. package/dest/iterable/index.d.ts +1 -1
  168. package/dest/iterable/isAsyncIt.d.ts +1 -1
  169. package/dest/iterable/map.d.ts +1 -1
  170. package/dest/iterable/peek.d.ts +1 -1
  171. package/dest/iterable/sort.d.ts +1 -1
  172. package/dest/iterable/take.d.ts +1 -1
  173. package/dest/iterable/toArray.d.ts +1 -1
  174. package/dest/json-rpc/client/fetch.d.ts +1 -1
  175. package/dest/json-rpc/client/index.d.ts +1 -1
  176. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +1 -1
  177. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  178. package/dest/json-rpc/client/safe_json_rpc_client.js +9 -0
  179. package/dest/json-rpc/client/undici.d.ts +1 -1
  180. package/dest/json-rpc/convert.d.ts +1 -1
  181. package/dest/json-rpc/errors.d.ts +1 -1
  182. package/dest/json-rpc/errors.d.ts.map +1 -1
  183. package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
  184. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  185. package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
  186. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  187. package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
  188. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  189. package/dest/json-rpc/index.d.ts +1 -1
  190. package/dest/json-rpc/js_utils.d.ts +1 -1
  191. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  192. package/dest/json-rpc/server/index.d.ts +1 -1
  193. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +1 -1
  194. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  195. package/dest/json-rpc/server/telemetry.d.ts +1 -1
  196. package/dest/json-rpc/test/index.d.ts +1 -1
  197. package/dest/json-rpc/test/integration.d.ts +1 -1
  198. package/dest/log/console.d.ts +1 -1
  199. package/dest/log/gcloud-logger-config.d.ts +1 -1
  200. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  201. package/dest/log/index.d.ts +1 -1
  202. package/dest/log/libp2p_logger.d.ts +1 -1
  203. package/dest/log/log-filters.d.ts +1 -1
  204. package/dest/log/log-levels.d.ts +1 -1
  205. package/dest/log/log_fn.d.ts +2 -2
  206. package/dest/log/log_fn.d.ts.map +1 -1
  207. package/dest/log/noir_debug_log_util.d.ts +1 -1
  208. package/dest/log/pino-logger.d.ts +2 -2
  209. package/dest/log/pino-logger.d.ts.map +1 -1
  210. package/dest/log/pino-logger.js +0 -1
  211. package/dest/message/index.d.ts +1 -1
  212. package/dest/message/index.d.ts.map +1 -1
  213. package/dest/mutex/index.d.ts +1 -1
  214. package/dest/mutex/index.d.ts.map +1 -1
  215. package/dest/mutex/mutex_database.d.ts +1 -1
  216. package/dest/noir/index.d.ts +1 -1
  217. package/dest/noir/noir_package_config.d.ts +9 -9
  218. package/dest/number/index.d.ts +1 -1
  219. package/dest/profiler/index.d.ts +2 -0
  220. package/dest/profiler/index.d.ts.map +1 -0
  221. package/dest/profiler/index.js +1 -0
  222. package/dest/profiler/profiler.d.ts +8 -0
  223. package/dest/profiler/profiler.d.ts.map +1 -0
  224. package/dest/profiler/profiler.js +97 -0
  225. package/dest/promise/index.d.ts +1 -1
  226. package/dest/promise/running-promise.d.ts +1 -1
  227. package/dest/promise/running-promise.d.ts.map +1 -1
  228. package/dest/promise/utils.d.ts +1 -1
  229. package/dest/queue/base_memory_queue.d.ts +1 -1
  230. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  231. package/dest/queue/batch_queue.d.ts +1 -1
  232. package/dest/queue/batch_queue.d.ts.map +1 -1
  233. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  234. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  235. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  236. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  237. package/dest/queue/index.d.ts +1 -1
  238. package/dest/queue/priority_memory_queue.d.ts +1 -1
  239. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  240. package/dest/queue/priority_queue.d.ts +1 -1
  241. package/dest/queue/priority_queue.d.ts.map +1 -1
  242. package/dest/queue/semaphore.d.ts +1 -1
  243. package/dest/queue/semaphore.d.ts.map +1 -1
  244. package/dest/queue/serial_queue.d.ts +1 -1
  245. package/dest/queue/serial_queue.d.ts.map +1 -1
  246. package/dest/retry/index.d.ts +1 -1
  247. package/dest/running-promise/index.d.ts +1 -1
  248. package/dest/schemas/api.d.ts +1 -1
  249. package/dest/schemas/index.d.ts +1 -1
  250. package/dest/schemas/parse.d.ts +1 -1
  251. package/dest/schemas/schemas.d.ts +13 -17
  252. package/dest/schemas/schemas.d.ts.map +1 -1
  253. package/dest/schemas/schemas.js +9 -10
  254. package/dest/schemas/types.d.ts +1 -1
  255. package/dest/schemas/utils.d.ts +4 -4
  256. package/dest/schemas/utils.d.ts.map +1 -1
  257. package/dest/schemas/utils.js +15 -5
  258. package/dest/serialize/buffer_reader.d.ts +3 -1
  259. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  260. package/dest/serialize/buffer_reader.js +3 -0
  261. package/dest/serialize/field_reader.d.ts +2 -2
  262. package/dest/serialize/field_reader.d.ts.map +1 -1
  263. package/dest/serialize/field_reader.js +1 -1
  264. package/dest/serialize/free_funcs.d.ts +2 -2
  265. package/dest/serialize/free_funcs.d.ts.map +1 -1
  266. package/dest/serialize/free_funcs.js +1 -1
  267. package/dest/serialize/index.d.ts +1 -1
  268. package/dest/serialize/serialize.d.ts +2 -2
  269. package/dest/serialize/serialize.d.ts.map +1 -1
  270. package/dest/serialize/serialize.js +1 -1
  271. package/dest/serialize/type_registry.d.ts +1 -1
  272. package/dest/serialize/type_registry.d.ts.map +1 -1
  273. package/dest/serialize/types.d.ts +1 -1
  274. package/dest/sleep/index.d.ts +1 -1
  275. package/dest/sleep/index.d.ts.map +1 -1
  276. package/dest/string/index.d.ts +5 -1
  277. package/dest/string/index.d.ts.map +1 -1
  278. package/dest/string/index.js +19 -2
  279. package/dest/testing/files/index.d.ts +2 -1
  280. package/dest/testing/files/index.d.ts.map +1 -1
  281. package/dest/testing/files/index.js +1 -1
  282. package/dest/testing/formatting.d.ts +4 -0
  283. package/dest/testing/formatting.d.ts.map +1 -0
  284. package/dest/testing/formatting.js +3 -0
  285. package/dest/testing/index.d.ts +2 -1
  286. package/dest/testing/index.d.ts.map +1 -1
  287. package/dest/testing/index.js +1 -0
  288. package/dest/testing/port_allocator.d.ts +1 -1
  289. package/dest/testing/snapshot_serializer.d.ts +1 -1
  290. package/dest/testing/test_data.d.ts +1 -1
  291. package/dest/timer/date.d.ts +1 -1
  292. package/dest/timer/date.d.ts.map +1 -1
  293. package/dest/timer/elapsed.d.ts +1 -1
  294. package/dest/timer/index.d.ts +2 -2
  295. package/dest/timer/index.d.ts.map +1 -1
  296. package/dest/timer/index.js +1 -1
  297. package/dest/timer/timeout.d.ts +3 -1
  298. package/dest/timer/timeout.d.ts.map +1 -1
  299. package/dest/timer/timeout.js +9 -0
  300. package/dest/timer/timer.d.ts +1 -1
  301. package/dest/timer/timer.d.ts.map +1 -1
  302. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  303. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  304. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
  305. package/dest/transport/dispatch/messages.d.ts +1 -1
  306. package/dest/transport/index.d.ts +1 -1
  307. package/dest/transport/interface/connector.d.ts +1 -1
  308. package/dest/transport/interface/listener.d.ts +1 -1
  309. package/dest/transport/interface/socket.d.ts +1 -1
  310. package/dest/transport/interface/transferable.d.ts +1 -1
  311. package/dest/transport/node/index.d.ts +1 -1
  312. package/dest/transport/node/node_connector.d.ts +1 -1
  313. package/dest/transport/node/node_connector.d.ts.map +1 -1
  314. package/dest/transport/node/node_connector_socket.d.ts +1 -1
  315. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  316. package/dest/transport/node/node_listener.d.ts +1 -1
  317. package/dest/transport/node/node_listener.d.ts.map +1 -1
  318. package/dest/transport/node/node_listener_socket.d.ts +1 -1
  319. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  320. package/dest/transport/transport_client.d.ts +1 -1
  321. package/dest/transport/transport_client.d.ts.map +1 -1
  322. package/dest/transport/transport_server.d.ts +1 -10
  323. package/dest/transport/transport_server.d.ts.map +1 -1
  324. package/dest/trees/balanced_merkle_tree.d.ts +22 -0
  325. package/dest/trees/balanced_merkle_tree.d.ts.map +1 -0
  326. package/dest/trees/balanced_merkle_tree.js +66 -0
  327. package/dest/trees/hasher.d.ts +1 -1
  328. package/dest/trees/index.d.ts +2 -1
  329. package/dest/trees/index.d.ts.map +1 -1
  330. package/dest/trees/index.js +1 -0
  331. package/dest/trees/indexed_merkle_tree.d.ts +1 -1
  332. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  333. package/dest/trees/indexed_merkle_tree.js +1 -1
  334. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  335. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  336. package/dest/trees/indexed_tree_leaf.d.ts +1 -1
  337. package/dest/trees/membership_witness.d.ts +3 -24
  338. package/dest/trees/membership_witness.d.ts.map +1 -1
  339. package/dest/trees/membership_witness.js +1 -1
  340. package/dest/trees/merkle_tree.d.ts +1 -1
  341. package/dest/trees/merkle_tree.d.ts.map +1 -1
  342. package/dest/trees/merkle_tree_calculator.d.ts +2 -12
  343. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  344. package/dest/trees/merkle_tree_calculator.js +1 -31
  345. package/dest/trees/sibling_path.d.ts +5 -39
  346. package/dest/trees/sibling_path.d.ts.map +1 -1
  347. package/dest/trees/sibling_path.js +2 -2
  348. package/dest/trees/unbalanced_merkle_tree.d.ts +5 -4
  349. package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
  350. package/dest/trees/unbalanced_merkle_tree.js +33 -10
  351. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +27 -23
  352. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  353. package/dest/trees/unbalanced_merkle_tree_calculator.js +123 -97
  354. package/dest/trees/unbalanced_tree_store.d.ts +2 -1
  355. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  356. package/dest/trees/unbalanced_tree_store.js +6 -0
  357. package/dest/types/index.d.ts +1 -1
  358. package/dest/url/index.d.ts +1 -1
  359. package/dest/validation/index.d.ts +1 -1
  360. package/package.json +31 -8
  361. package/src/array/array.ts +0 -16
  362. package/src/branded-types/block_number.ts +112 -0
  363. package/src/branded-types/checkpoint_number.ts +100 -0
  364. package/src/branded-types/epoch.ts +88 -0
  365. package/src/branded-types/index.ts +6 -0
  366. package/src/branded-types/slot.ts +88 -0
  367. package/src/branded-types/types.ts +2 -0
  368. package/src/buffer/buffer16.ts +2 -2
  369. package/src/buffer/buffer32.ts +2 -2
  370. package/src/collection/array.ts +15 -3
  371. package/src/collection/object.ts +8 -0
  372. package/src/config/env_var.ts +38 -21
  373. package/src/config/index.ts +23 -3
  374. package/src/config/network_config.ts +16 -0
  375. package/src/config/network_name.ts +18 -3
  376. package/src/crypto/aes128/index.ts +19 -10
  377. package/src/crypto/bls/bn254_keystore.ts +287 -0
  378. package/src/crypto/bls/index.ts +77 -0
  379. package/src/crypto/bn254/index.ts +64 -0
  380. package/src/crypto/ecdsa/index.ts +40 -37
  381. package/src/crypto/ecdsa/signature.ts +2 -2
  382. package/src/crypto/grumpkin/index.ts +38 -46
  383. package/src/crypto/keys/index.ts +6 -6
  384. package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
  385. package/src/crypto/poseidon/index.ts +33 -25
  386. package/src/crypto/schnorr/index.ts +22 -18
  387. package/src/crypto/schnorr/signature.ts +2 -2
  388. package/src/crypto/secp256k1/index.ts +15 -11
  389. package/src/crypto/secp256k1-signer/utils.ts +115 -7
  390. package/src/crypto/sha256/index.ts +1 -1
  391. package/src/crypto/sha512/index.ts +1 -1
  392. package/src/crypto/signature/index.ts +1 -1
  393. package/src/crypto/sync/index.ts +1 -1
  394. package/src/crypto/sync/pedersen/index.ts +17 -16
  395. package/src/crypto/sync/poseidon/index.ts +28 -23
  396. package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +6 -6
  397. package/src/curves/bls12/index.ts +2 -0
  398. package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +14 -14
  399. package/src/{fields/fields.ts → curves/bn254/field.ts} +41 -19
  400. package/src/curves/bn254/index.ts +2 -0
  401. package/src/curves/bn254/point.ts +170 -0
  402. package/src/curves/grumpkin/index.ts +11 -0
  403. package/src/{fields → curves/grumpkin}/point.ts +26 -7
  404. package/src/eth-address/index.ts +28 -3
  405. package/src/eth-signature/eth_signature.ts +2 -4
  406. package/src/json-rpc/client/safe_json_rpc_client.ts +9 -0
  407. package/src/log/log_fn.ts +1 -1
  408. package/src/log/pino-logger.ts +0 -1
  409. package/src/profiler/index.ts +1 -0
  410. package/src/profiler/profiler.ts +125 -0
  411. package/src/schemas/schemas.ts +16 -13
  412. package/src/schemas/utils.ts +21 -8
  413. package/src/serialize/buffer_reader.ts +5 -0
  414. package/src/serialize/field_reader.ts +1 -1
  415. package/src/serialize/free_funcs.ts +1 -1
  416. package/src/serialize/serialize.ts +1 -1
  417. package/src/string/index.ts +24 -1
  418. package/src/testing/files/index.ts +1 -1
  419. package/src/testing/formatting.ts +3 -0
  420. package/src/testing/index.ts +1 -0
  421. package/src/timer/index.ts +1 -1
  422. package/src/timer/timeout.ts +13 -0
  423. package/src/trees/balanced_merkle_tree.ts +84 -0
  424. package/src/trees/index.ts +1 -0
  425. package/src/trees/indexed_merkle_tree.ts +1 -1
  426. package/src/trees/membership_witness.ts +1 -1
  427. package/src/trees/merkle_tree_calculator.ts +1 -34
  428. package/src/trees/sibling_path.ts +2 -2
  429. package/src/trees/unbalanced_merkle_tree.ts +55 -7
  430. package/src/trees/unbalanced_merkle_tree_calculator.ts +134 -93
  431. package/src/trees/unbalanced_tree_store.ts +5 -1
  432. package/dest/crypto/index.d.ts +0 -15
  433. package/dest/crypto/index.d.ts.map +0 -1
  434. package/dest/crypto/index.js +0 -14
  435. package/dest/fields/bls12_fields.d.ts.map +0 -1
  436. package/dest/fields/bls12_point.d.ts.map +0 -1
  437. package/dest/fields/coordinate.d.ts +0 -66
  438. package/dest/fields/coordinate.d.ts.map +0 -1
  439. package/dest/fields/coordinate.js +0 -96
  440. package/dest/fields/fields.d.ts.map +0 -1
  441. package/dest/fields/index.d.ts +0 -6
  442. package/dest/fields/index.d.ts.map +0 -1
  443. package/dest/fields/index.js +0 -5
  444. package/dest/fields/point.d.ts.map +0 -1
  445. package/dest/index.d.ts +0 -29
  446. package/dest/index.d.ts.map +0 -1
  447. package/dest/index.js +0 -29
  448. package/src/crypto/index.ts +0 -14
  449. package/src/fields/coordinate.ts +0 -104
  450. package/src/fields/index.ts +0 -5
  451. package/src/index.ts +0 -29
@@ -0,0 +1,56 @@
1
+ import { Fr } from '../../curves/bn254/field.js';
2
+ import { Bn254G1Point, Bn254G2Point } from '../../curves/bn254/point.js';
3
+ /**
4
+ * BN254 utility functions for point operations.
5
+ * Provides compression, decompression, and public key generation for the BN254 curve.
6
+ * Uses the bb.js Barretenberg backend for point operations.
7
+ */ /**
8
+ * Generate a compressed BN254 G1 public key from a private key.
9
+ *
10
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
11
+ * @returns Compressed G1 point (32 bytes with sign bit in MSB)
12
+ */ export async function computeBn254G1PublicKeyCompressed(privateKeyHex) {
13
+ const sk = BigInt(privateKeyHex);
14
+ const skReduced = sk % Fr.MODULUS;
15
+ // Generate G1 point on BN254 curve using bb.js
16
+ const scalar = Fr.fromString(skReduced.toString());
17
+ const pk1 = await Bn254G1Point.generator(scalar);
18
+ // Compress the point using the primitive method
19
+ return '0x' + pk1.compress().toString('hex');
20
+ }
21
+ /**
22
+ * Generate uncompressed BN254 G1 public key from a private key.
23
+ *
24
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
25
+ * @returns G1 point in affine coordinates
26
+ */ export async function computeBn254G1PublicKey(privateKeyHex) {
27
+ const sk = BigInt(privateKeyHex);
28
+ const skReduced = sk % Fr.MODULUS;
29
+ const scalar = Fr.fromString(skReduced.toString());
30
+ const pk1 = await Bn254G1Point.generator(scalar);
31
+ return {
32
+ x: pk1.x.toBigInt(),
33
+ y: pk1.y.toBigInt()
34
+ };
35
+ }
36
+ /**
37
+ * Generate BN254 G2 public key from a private key.
38
+ *
39
+ * @param privateKeyHex - Private key as 0x-prefixed hex string
40
+ * @returns G2 point in affine coordinates
41
+ */ export async function computeBn254G2PublicKey(privateKeyHex) {
42
+ const sk = BigInt(privateKeyHex);
43
+ const skReduced = sk % Fr.MODULUS;
44
+ const scalar = Fr.fromString(skReduced.toString());
45
+ const pk2 = await Bn254G2Point.generator(scalar);
46
+ return {
47
+ x: {
48
+ c0: pk2.x[0].toBigInt(),
49
+ c1: pk2.x[1].toBigInt()
50
+ },
51
+ y: {
52
+ c0: pk2.y[0].toBigInt(),
53
+ c1: pk2.y[1].toBigInt()
54
+ }
55
+ };
56
+ }
@@ -36,4 +36,4 @@ export declare class Ecdsa {
36
36
  */
37
37
  verifySignature(msg: Uint8Array, pubKey: Buffer, sig: EcdsaSignature): Promise<boolean>;
38
38
  }
39
- //# sourceMappingURL=index.d.ts.map
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vZWNkc2EvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELGNBQWMsZ0JBQWdCLENBQUM7QUFFL0I7OztHQUdHO0FBQ0gscUJBQWEsS0FBSztJQUNKLE9BQU8sQ0FBQyxLQUFLO0lBQXpCLFlBQW9CLEtBQUssR0FBRSxXQUFXLEdBQUcsV0FBeUIsRUFBSTtJQUN0RTs7OztPQUlHO0lBQ1UsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBUWpFO0lBRUQ7Ozs7O09BS0c7SUFDVSxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQVFsRTtJQUVEOzs7OztPQUtHO0lBQ1UsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FRbkY7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxjQUFjLG9CQW9CaEY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,cAAc,gBAAgB,CAAC;AAE/B;;;GAGG;AACH,qBAAa,KAAK;IACJ,OAAO,CAAC,KAAK;gBAAL,KAAK,GAAE,WAAW,GAAG,WAAyB;IAClE;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlE;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM;IAanE;;;;;OAKG;IACU,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAapF;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc;CAYlF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,cAAc,gBAAgB,CAAC;AAE/B;;;GAGG;AACH,qBAAa,KAAK;IACJ,OAAO,CAAC,KAAK;IAAzB,YAAoB,KAAK,GAAE,WAAW,GAAG,WAAyB,EAAI;IACtE;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQjE;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,2BAQlE;IAED;;;;;OAKG;IACU,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnF;IAED;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,oBAoBhF;CACF"}
@@ -1,6 +1,4 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { numToInt32BE } from '@aztec/foundation/serialize';
3
- import { concatenateUint8Arrays } from '../serialize.js';
4
2
  import { EcdsaSignature } from './signature.js';
5
3
  export * from './signature.js';
6
4
  /**
@@ -16,13 +14,17 @@ export * from './signature.js';
16
14
  * @param privateKey - Secp256k1 private key.
17
15
  * @returns A secp256k1 public key.
18
16
  */ async computePublicKey(privateKey) {
19
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
20
- const [result] = api.getWasm().callWasmExport(`ecdsa_${this.curve === 'secp256r1' ? 'r' : ''}_compute_public_key`, [
17
+ await BarretenbergSync.initSingleton();
18
+ const api = BarretenbergSync.getSingleton();
19
+ const response = this.curve === 'secp256r1' ? api.ecdsaSecp256r1ComputePublicKey({
21
20
  privateKey
22
- ], [
23
- 64
21
+ }) : api.ecdsaSecp256k1ComputePublicKey({
22
+ privateKey
23
+ });
24
+ return Buffer.concat([
25
+ Buffer.from(response.publicKey.x),
26
+ Buffer.from(response.publicKey.y)
24
27
  ]);
25
- return Buffer.from(result);
26
28
  }
27
29
  /**
28
30
  * Constructs an ECDSA signature given a msg and a private key.
@@ -30,20 +32,18 @@ export * from './signature.js';
30
32
  * @param privateKey - The secp256k1 private key of the signer.
31
33
  * @returns An ECDSA signature of the form (r, s, v).
32
34
  */ async constructSignature(msg, privateKey) {
33
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
34
- const messageArray = concatenateUint8Arrays([
35
- numToInt32BE(msg.length),
36
- msg
37
- ]);
38
- const [r, s, v] = api.getWasm().callWasmExport(`ecdsa_${this.curve === 'secp256r1' ? 'r' : ''}_construct_signature_`, [
39
- messageArray,
35
+ await BarretenbergSync.initSingleton();
36
+ const api = BarretenbergSync.getSingleton();
37
+ const response = this.curve === 'secp256r1' ? api.ecdsaSecp256r1ConstructSignature({
38
+ message: msg,
40
39
  privateKey
41
- ], [
42
- 32,
43
- 32,
44
- 1
45
- ]);
46
- return new EcdsaSignature(Buffer.from(r), Buffer.from(s), Buffer.from(v));
40
+ }) : api.ecdsaSecp256k1ConstructSignature({
41
+ message: msg,
42
+ privateKey
43
+ });
44
+ return new EcdsaSignature(Buffer.from(response.r), Buffer.from(response.s), Buffer.from([
45
+ response.v
46
+ ]));
47
47
  }
48
48
  /**
49
49
  * Recovers a secp256k1 public key from an ECDSA signature (similar to ecrecover).
@@ -51,20 +51,23 @@ export * from './signature.js';
51
51
  * @param sig - The ECDSA signature.
52
52
  * @returns The secp256k1 public key of the signer.
53
53
  */ async recoverPublicKey(msg, sig) {
54
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
55
- const messageArray = concatenateUint8Arrays([
56
- numToInt32BE(msg.length),
57
- msg
54
+ await BarretenbergSync.initSingleton();
55
+ const api = BarretenbergSync.getSingleton();
56
+ const response = this.curve === 'secp256r1' ? api.ecdsaSecp256r1RecoverPublicKey({
57
+ message: msg,
58
+ r: sig.r,
59
+ s: sig.s,
60
+ v: sig.v[0]
61
+ }) : api.ecdsaSecp256k1RecoverPublicKey({
62
+ message: msg,
63
+ r: sig.r,
64
+ s: sig.s,
65
+ v: sig.v[0]
66
+ });
67
+ return Buffer.concat([
68
+ Buffer.from(response.publicKey.x),
69
+ Buffer.from(response.publicKey.y)
58
70
  ]);
59
- const [result] = api.getWasm().callWasmExport(`ecdsa_${this.curve === 'secp256r1' ? 'r' : ''}_recover_public_key_from_signature_`, [
60
- messageArray,
61
- sig.r,
62
- sig.s,
63
- sig.v
64
- ], [
65
- 64
66
- ]);
67
- return Buffer.from(result);
68
71
  }
69
72
  /**
70
73
  * Verifies and ECDSA signature given a secp256k1 public key.
@@ -73,20 +76,27 @@ export * from './signature.js';
73
76
  * @param sig - The ECDSA signature.
74
77
  * @returns True or false.
75
78
  */ async verifySignature(msg, pubKey, sig) {
76
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
77
- const messageArray = concatenateUint8Arrays([
78
- numToInt32BE(msg.length),
79
- msg
80
- ]);
81
- const [result] = api.getWasm().callWasmExport(`ecdsa_${this.curve === 'secp256r1' ? 'r' : ''}_verify_signature_`, [
82
- messageArray,
83
- pubKey,
84
- sig.r,
85
- sig.s,
86
- sig.v
87
- ], [
88
- 1
89
- ]);
90
- return result[0] === 1;
79
+ await BarretenbergSync.initSingleton();
80
+ const api = BarretenbergSync.getSingleton();
81
+ const response = this.curve === 'secp256r1' ? api.ecdsaSecp256r1VerifySignature({
82
+ message: msg,
83
+ publicKey: {
84
+ x: pubKey.subarray(0, 32),
85
+ y: pubKey.subarray(32, 64)
86
+ },
87
+ r: sig.r,
88
+ s: sig.s,
89
+ v: sig.v[0]
90
+ }) : api.ecdsaSecp256k1VerifySignature({
91
+ message: msg,
92
+ publicKey: {
93
+ x: pubKey.subarray(0, 32),
94
+ y: pubKey.subarray(32, 64)
95
+ },
96
+ r: sig.r,
97
+ s: sig.s,
98
+ v: sig.v[0]
99
+ });
100
+ return response.verified;
91
101
  }
92
102
  }
@@ -1,21 +1,12 @@
1
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { Signature } from '../signature/index.js';
3
3
  /**
4
4
  * ECDSA signature used for transactions.
5
5
  * @see cpp/barretenberg/cpp/src/barretenberg/crypto/ecdsa/ecdsa.hpp
6
6
  */
7
7
  export declare class EcdsaSignature implements Signature {
8
- /**
9
- * The r byte-array (32 bytes) in an ECDSA signature.
10
- */
11
8
  r: Buffer;
12
- /**
13
- * The s byte-array (32 bytes) in an ECDSA signature.
14
- */
15
9
  s: Buffer;
16
- /**
17
- * The recovery id (1 byte) in an ECDSA signature.
18
- */
19
10
  v: Buffer;
20
11
  constructor(
21
12
  /**
@@ -66,4 +57,4 @@ export declare class EcdsaSignature implements Signature {
66
57
  */
67
58
  toFields(includeV?: boolean): Fr[];
68
59
  }
69
- //# sourceMappingURL=signature.d.ts.map
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL2VjZHNhL3NpZ25hdHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsY0FBZSxZQUFXLFNBQVM7SUFLckMsQ0FBQyxFQUFFLE1BQU07SUFJVCxDQUFDLEVBQUUsTUFBTTtJQUlULENBQUMsRUFBRSxNQUFNO0lBWmxCO0lBQ0U7O09BRUc7SUFDSSxDQUFDLEVBQUUsTUFBTTtJQUNoQjs7T0FFRztJQUNJLENBQUMsRUFBRSxNQUFNO0lBQ2hCOztPQUVHO0lBQ0ksQ0FBQyxFQUFFLE1BQU0sRUFXakI7SUFFRDs7O09BR0c7SUFDSCxRQUFRLHdCQUVQO0lBRUQ7Ozs7T0FJRztJQUNILE9BQWMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLGtCQUV0QztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsV0FBVyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFFeEQ7SUFFRDs7O09BR0c7SUFDSCxPQUFjLE1BQU0sbUJBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxXQUVQO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsQ0FBQyxRQUFRLFVBQVEsR0FBRyxFQUFFLEVBQUUsQ0FZL0I7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAE5C;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;;IAXhB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAalB;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM;IAIvC;;;;;;OAMG;WACW,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAIzD;;;OAGG;WACW,MAAM;IAIpB;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,UAAQ,GAAG,EAAE,EAAE;CAajC"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/ecdsa/signature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,cAAe,YAAW,SAAS;IAKrC,CAAC,EAAE,MAAM;IAIT,CAAC,EAAE,MAAM;IAIT,CAAC,EAAE,MAAM;IAZlB;IACE;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM;IAChB;;OAEG;IACI,CAAC,EAAE,MAAM,EAWjB;IAED;;;OAGG;IACH,QAAQ,wBAEP;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,kBAEtC;IAED;;;;;;OAMG;IACH,OAAc,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,kBAExD;IAED;;;OAGG;IACH,OAAc,MAAM,mBAEnB;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,UAAQ,GAAG,EAAE,EAAE,CAY/B;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { toBufferBE } from '@aztec/foundation/bigint-buffer';
2
- import { randomBytes } from '@aztec/foundation/crypto';
3
- import { Fr } from '@aztec/foundation/fields';
2
+ import { randomBytes } from '@aztec/foundation/crypto/random';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { mapTuple } from '@aztec/foundation/serialize';
5
5
  /**
6
6
  * ECDSA signature used for transactions.
@@ -1,45 +1,42 @@
1
- import { Fr, type GrumpkinScalar, Point } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
+ import { Point } from '@aztec/foundation/curves/grumpkin';
2
4
  /**
3
5
  * Grumpkin elliptic curve operations.
4
6
  */
5
7
  export declare class Grumpkin {
6
- static generator: Point;
7
- /**
8
- * Point generator
9
- * @returns The generator for the curve.
10
- */
11
- generator(): Point;
8
+ static readonly generator: Point;
12
9
  /**
13
10
  * Multiplies a point by a scalar (adds the point `scalar` amount of times).
14
11
  * @param point - Point to multiply.
15
12
  * @param scalar - Scalar to multiply by.
16
13
  * @returns Result of the multiplication.
17
14
  */
18
- mul(point: Point, scalar: GrumpkinScalar): Promise<Point>;
15
+ static mul(point: Point, scalar: GrumpkinScalar): Promise<Point>;
19
16
  /**
20
17
  * Add two points.
21
18
  * @param a - Point a in the addition
22
19
  * @param b - Point b to add to a
23
20
  * @returns Result of the addition.
24
21
  */
25
- add(a: Point, b: Point): Promise<Point>;
22
+ static add(a: Point, b: Point): Promise<Point>;
26
23
  /**
27
24
  * Multiplies a set of points by a scalar.
28
25
  * @param points - Points to multiply.
29
26
  * @param scalar - Scalar to multiply by.
30
27
  * @returns Points multiplied by the scalar.
31
28
  */
32
- batchMul(points: Point[], scalar: GrumpkinScalar): Promise<Point[]>;
29
+ static batchMul(points: Point[], scalar: GrumpkinScalar): Promise<Point[]>;
33
30
  /**
34
31
  * Gets a random field element.
35
32
  * @returns Random field element.
36
33
  */
37
- getRandomFr(): Promise<Fr>;
34
+ static getRandomFr(): Promise<Fr>;
38
35
  /**
39
36
  * Converts a 512 bits long buffer to a field.
40
37
  * @param uint512Buf - The buffer to convert.
41
38
  * @returns Buffer representation of the field element.
42
39
  */
43
- reduce512BufferToFr(uint512Buf: Buffer): Promise<Fr>;
40
+ static reduce512BufferToFr(uint512Buf: Buffer): Promise<Fr>;
44
41
  }
45
- //# sourceMappingURL=index.d.ts.map
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vZ3J1bXBraW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRDs7R0FFRztBQUNILHFCQUFhLFFBQVE7SUFFbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxTQUFTLFFBS3JCO0lBRUo7Ozs7O09BS0c7SUFDSCxPQUFvQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRNUU7SUFFRDs7Ozs7T0FLRztJQUNILE9BQW9CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQVExRDtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBb0IsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxvQkFTbkU7SUFFRDs7O09BR0c7SUFDSCxPQUFvQixXQUFXLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUs3QztJQUVEOzs7O09BSUc7SUFDSCxPQUFvQixtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FLdkU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/grumpkin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,KAAK,cAAc,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAE1E;;GAEG;AACH,qBAAa,QAAQ;IAEnB,MAAM,CAAC,SAAS,QAKZ;IAEJ;;;OAGG;IACI,SAAS,IAAI,KAAK;IAIzB;;;;;OAKG;IACU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAMtE;;;;;OAKG;IACU,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAMpD;;;;;OAKG;IACU,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc;IAqB7D;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC;IAMvC;;;;OAIG;IACU,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;CAOlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/grumpkin/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;GAEG;AACH,qBAAa,QAAQ;IAEnB,MAAM,CAAC,QAAQ,CAAC,SAAS,QAKrB;IAEJ;;;;;OAKG;IACH,OAAoB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ5E;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAQ1D;IAED;;;;;OAKG;IACH,OAAoB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,cAAc,oBASnE;IAED;;;OAGG;IACH,OAAoB,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,CAK7C;IAED;;;;OAIG;IACH,OAAoB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAKvE;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { Fr, Point } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import { Point } from '@aztec/foundation/curves/grumpkin';
3
4
  /**
4
5
  * Grumpkin elliptic curve operations.
5
6
  */ export class Grumpkin {
@@ -71,84 +72,89 @@ import { Fr, Point } from '@aztec/foundation/fields';
71
72
  0x2c
72
73
  ]));
73
74
  /**
74
- * Point generator
75
- * @returns The generator for the curve.
76
- */ generator() {
77
- return Grumpkin.generator;
78
- }
79
- /**
80
75
  * Multiplies a point by a scalar (adds the point `scalar` amount of times).
81
76
  * @param point - Point to multiply.
82
77
  * @param scalar - Scalar to multiply by.
83
78
  * @returns Result of the multiplication.
84
- */ async mul(point, scalar) {
85
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
86
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__mul', [
87
- point.toBuffer(),
88
- scalar.toBuffer()
89
- ], [
90
- 64
91
- ]);
92
- return Point.fromBuffer(Buffer.from(result));
79
+ */ static async mul(point, scalar) {
80
+ await BarretenbergSync.initSingleton();
81
+ const api = BarretenbergSync.getSingleton();
82
+ const response = api.grumpkinMul({
83
+ point: {
84
+ x: point.x.toBuffer(),
85
+ y: point.y.toBuffer()
86
+ },
87
+ scalar: scalar.toBuffer()
88
+ });
89
+ return Point.fromBuffer(Buffer.concat([
90
+ Buffer.from(response.point.x),
91
+ Buffer.from(response.point.y)
92
+ ]));
93
93
  }
94
94
  /**
95
95
  * Add two points.
96
96
  * @param a - Point a in the addition
97
97
  * @param b - Point b to add to a
98
98
  * @returns Result of the addition.
99
- */ async add(a, b) {
100
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
101
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__add', [
102
- a.toBuffer(),
103
- b.toBuffer()
104
- ], [
105
- 64
106
- ]);
107
- return Point.fromBuffer(Buffer.from(result));
99
+ */ static async add(a, b) {
100
+ await BarretenbergSync.initSingleton();
101
+ const api = BarretenbergSync.getSingleton();
102
+ const response = api.grumpkinAdd({
103
+ pointA: {
104
+ x: a.x.toBuffer(),
105
+ y: a.y.toBuffer()
106
+ },
107
+ pointB: {
108
+ x: b.x.toBuffer(),
109
+ y: b.y.toBuffer()
110
+ }
111
+ });
112
+ return Point.fromBuffer(Buffer.concat([
113
+ Buffer.from(response.point.x),
114
+ Buffer.from(response.point.y)
115
+ ]));
108
116
  }
109
117
  /**
110
118
  * Multiplies a set of points by a scalar.
111
119
  * @param points - Points to multiply.
112
120
  * @param scalar - Scalar to multiply by.
113
121
  * @returns Points multiplied by the scalar.
114
- */ async batchMul(points, scalar) {
115
- const concatenatedPoints = Buffer.concat(points.map((point)=>point.toBuffer()));
116
- const pointsByteLength = points.length * Point.SIZE_IN_BYTES;
117
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
118
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__batch_mul', [
119
- concatenatedPoints,
120
- scalar.toBuffer(),
121
- points.length
122
- ], [
123
- pointsByteLength
124
- ]);
125
- const parsedResult = [];
126
- for(let i = 0; i < pointsByteLength; i += 64){
127
- parsedResult.push(Point.fromBuffer(Buffer.from(result.subarray(i, i + 64))));
128
- }
129
- return parsedResult;
122
+ */ static async batchMul(points, scalar) {
123
+ await BarretenbergSync.initSingleton();
124
+ const api = BarretenbergSync.getSingleton();
125
+ const response = api.grumpkinBatchMul({
126
+ points: points.map((p)=>({
127
+ x: p.x.toBuffer(),
128
+ y: p.y.toBuffer()
129
+ })),
130
+ scalar: scalar.toBuffer()
131
+ });
132
+ return response.points.map((p)=>Point.fromBuffer(Buffer.concat([
133
+ Buffer.from(p.x),
134
+ Buffer.from(p.y)
135
+ ])));
130
136
  }
131
137
  /**
132
138
  * Gets a random field element.
133
139
  * @returns Random field element.
134
- */ async getRandomFr() {
135
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
136
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__get_random_scalar_mod_circuit_modulus', [], [
137
- 32
138
- ]);
139
- return Fr.fromBuffer(Buffer.from(result));
140
+ */ static async getRandomFr() {
141
+ await BarretenbergSync.initSingleton();
142
+ const api = BarretenbergSync.getSingleton();
143
+ const response = api.grumpkinGetRandomFr({
144
+ dummy: 0
145
+ });
146
+ return Fr.fromBuffer(Buffer.from(response.value));
140
147
  }
141
148
  /**
142
149
  * Converts a 512 bits long buffer to a field.
143
150
  * @param uint512Buf - The buffer to convert.
144
151
  * @returns Buffer representation of the field element.
145
- */ async reduce512BufferToFr(uint512Buf) {
146
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
147
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__reduce512_buffer_mod_circuit_modulus', [
148
- uint512Buf
149
- ], [
150
- 32
151
- ]);
152
- return Fr.fromBuffer(Buffer.from(result));
152
+ */ static async reduce512BufferToFr(uint512Buf) {
153
+ await BarretenbergSync.initSingleton();
154
+ const api = BarretenbergSync.getSingleton();
155
+ const response = api.grumpkinReduce512({
156
+ input: uint512Buf
157
+ });
158
+ return Fr.fromBuffer(Buffer.from(response.value));
153
159
  }
154
160
  }
@@ -23,4 +23,4 @@ export declare function keccak224(input: Buffer): Buffer<ArrayBufferLike>;
23
23
  * @returns The permuted state.
24
24
  */
25
25
  export declare function keccakf1600(state: bigint[]): bigint[];
26
- //# sourceMappingURL=index.d.ts.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8va2VjY2FrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVwRDs7Ozs7R0FLRztBQUNILHdCQUFnQixTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxRQUFRLDJCQU1qRDtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxVQUs1QztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSwyQkFHdEM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBK01yRCJ9
@@ -1,3 +1,3 @@
1
- import { Fr } from '../../fields/fields.js';
1
+ import { Fr } from '../../curves/bn254/field.js';
2
2
  export declare function vkAsFieldsMegaHonk(input: Buffer): Promise<Fr[]>;
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8va2V5cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakQsd0JBQXNCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBS3JFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAKrE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/keys/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAKrE"}
@@ -1,7 +1,10 @@
1
- import { BarretenbergSync, RawBuffer } from '@aztec/bb.js';
2
- import { Fr } from '../../fields/fields.js';
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
+ import { Fr } from '../../curves/bn254/field.js';
3
3
  export async function vkAsFieldsMegaHonk(input) {
4
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
5
- const result = api.acirVkAsFieldsMegaHonk(new RawBuffer(input));
6
- return result.map((bbFr)=>Fr.fromBuffer(Buffer.from(bbFr.toBuffer()))); // TODO(#4189): remove this conversion
4
+ await BarretenbergSync.initSingleton();
5
+ const api = BarretenbergSync.getSingleton();
6
+ const response = api.megaVkAsFields({
7
+ verificationKey: input
8
+ });
9
+ return response.fields.map((field)=>Fr.fromBuffer(Buffer.from(field)));
7
10
  }
@@ -1,2 +1,2 @@
1
1
  export * from './pedersen.wasm.js';
2
- //# sourceMappingURL=index.d.ts.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyJ9
@@ -6,4 +6,4 @@ export declare function pedersenCommitNoble(input: Buffer[], generatorOffset?: n
6
6
  * Create a pedersen hash (field) from an array of input fields.
7
7
  */
8
8
  export declare function pedersenHashWithHashIndexNoble(input: Buffer[], index?: number): Buffer<ArrayBufferLike>;
9
- //# sourceMappingURL=pedersen.noble.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ubm9ibGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcGVkZXJzZW4vcGVkZXJzZW4ubm9ibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOGlCQTs7R0FFRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsZUFBZSxTQUFJLDZCQUd2RTtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLDhCQUE4QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLFNBQUksMkJBR3hFIn0=
@@ -1,4 +1,4 @@
1
- import { Fr } from '../../fields/fields.js';
1
+ import { Fr } from '../../curves/bn254/field.js';
2
2
  import { type Fieldable } from '../../serialize/serialize.js';
3
3
  /**
4
4
  * Create a pedersen commitment (point) from an array of input fields.
@@ -16,4 +16,4 @@ export declare function pedersenHash(input: Fieldable[], index?: number): Promis
16
16
  * Create a pedersen hash from an arbitrary length buffer.
17
17
  */
18
18
  export declare function pedersenHashBuffer(input: Buffer, index?: number): Promise<Buffer<ArrayBuffer>>;
19
- //# sourceMappingURL=pedersen.wasm.d.ts.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVkZXJzZW4ud2FzbS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9wZWRlcnNlbi9wZWRlcnNlbi53YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFFakY7OztHQUdHO0FBQ0gsd0JBQXNCLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxTQUFJLGtDQVkvRDtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLFlBQVksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsS0FBSyxTQUFJLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVM3RTtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxTQUFJLGdDQVFoRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,kCAa/D;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAQ7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,gCAIhE"}
1
+ {"version":3,"file":"pedersen.wasm.d.ts","sourceRoot":"","sources":["../../../src/crypto/pedersen/pedersen.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,kCAY/D;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,gCAQhE"}
@@ -1,5 +1,5 @@
1
- import { BarretenbergSync, Fr as FrBarretenberg } from '@aztec/bb.js';
2
- import { Fr } from '../../fields/fields.js';
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
+ import { Fr } from '../../curves/bn254/field.js';
3
3
  import { serializeToFields } from '../../serialize/serialize.js';
4
4
  /**
5
5
  * Create a pedersen commitment (point) from an array of input fields.
@@ -12,13 +12,15 @@ import { serializeToFields } from '../../serialize/serialize.js';
12
12
  Buffer.alloc(32 - i.length, 0),
13
13
  i
14
14
  ]) : i);
15
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
16
- const point = api.pedersenCommit(input.map((i)=>new FrBarretenberg(i)), offset);
17
- // toBuffer returns Uint8Arrays (browser/worker-boundary friendly).
18
- // TODO: rename toTypedArray()?
15
+ await BarretenbergSync.initSingleton();
16
+ const api = BarretenbergSync.getSingleton();
17
+ const response = api.pedersenCommit({
18
+ inputs: input,
19
+ hashIndex: offset
20
+ });
19
21
  return [
20
- Buffer.from(point.x.toBuffer()),
21
- Buffer.from(point.y.toBuffer())
22
+ Buffer.from(response.point.x),
23
+ Buffer.from(response.point.y)
22
24
  ];
23
25
  }
24
26
  /**
@@ -28,14 +30,22 @@ import { serializeToFields } from '../../serialize/serialize.js';
28
30
  * @returns The pedersen hash.
29
31
  */ export async function pedersenHash(input, index = 0) {
30
32
  const inputFields = serializeToFields(input);
31
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
32
- const hash = api.pedersenHash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())), index);
33
- return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
33
+ await BarretenbergSync.initSingleton();
34
+ const api = BarretenbergSync.getSingleton();
35
+ const response = api.pedersenHash({
36
+ inputs: inputFields.map((i)=>i.toBuffer()),
37
+ hashIndex: index
38
+ });
39
+ return Fr.fromBuffer(Buffer.from(response.hash));
34
40
  }
35
41
  /**
36
42
  * Create a pedersen hash from an arbitrary length buffer.
37
43
  */ export async function pedersenHashBuffer(input, index = 0) {
38
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
39
- const result = api.pedersenHashBuffer(input, index);
40
- return Buffer.from(result.toBuffer());
44
+ await BarretenbergSync.initSingleton();
45
+ const api = BarretenbergSync.getSingleton();
46
+ const response = api.pedersenHashBuffer({
47
+ input,
48
+ hashIndex: index
49
+ });
50
+ return Buffer.from(response.hash);
41
51
  }
@@ -1,4 +1,4 @@
1
- import { Fr } from '../../fields/fields.js';
1
+ import { Fr } from '../../curves/bn254/field.js';
2
2
  import { type Fieldable } from '../../serialize/serialize.js';
3
3
  /**
4
4
  * Create a poseidon hash (field) from an array of input fields.
@@ -21,4 +21,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>
21
21
  */
22
22
  export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
23
23
  export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
24
- //# sourceMappingURL=index.d.ts.map
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRjs7OztHQUlHO0FBQ0gsd0JBQXNCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVFuRTtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FTbkc7QUFFRCx3QkFBc0IsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FRN0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FZNUU7QUFFRCx3QkFBc0Isa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBa0JuRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAOnE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CASnG;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAK7E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAS5E;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAiBnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQnE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CASnG;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQ7E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAY5E;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAkBnE"}