@aztec/foundation 0.0.0-test.1 → 0.0.1-commit.0208eb9

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 (701) hide show
  1. package/dest/array/array.d.ts +6 -9
  2. package/dest/array/array.d.ts.map +1 -1
  3. package/dest/array/array.js +11 -11
  4. package/dest/array/index.d.ts +2 -1
  5. package/dest/array/index.d.ts.map +1 -1
  6. package/dest/array/index.js +1 -0
  7. package/dest/array/sorted_array.d.ts +10 -0
  8. package/dest/array/sorted_array.d.ts.map +1 -0
  9. package/dest/array/sorted_array.js +106 -0
  10. package/dest/async-map/index.d.ts +1 -1
  11. package/dest/async-pool/index.d.ts +1 -1
  12. package/dest/async-pool/index.d.ts.map +1 -1
  13. package/dest/async-pool/index.js +1 -0
  14. package/dest/bigint/index.d.ts +7 -0
  15. package/dest/bigint/index.d.ts.map +1 -0
  16. package/dest/bigint/index.js +15 -0
  17. package/dest/bigint-buffer/index.d.ts +1 -3
  18. package/dest/bigint-buffer/index.d.ts.map +1 -1
  19. package/dest/branded-types/block_number.d.ts +56 -0
  20. package/dest/branded-types/block_number.d.ts.map +1 -0
  21. package/dest/branded-types/block_number.js +78 -0
  22. package/dest/branded-types/checkpoint_number.d.ts +54 -0
  23. package/dest/branded-types/checkpoint_number.d.ts.map +1 -0
  24. package/dest/branded-types/checkpoint_number.js +77 -0
  25. package/dest/branded-types/epoch.d.ts +42 -0
  26. package/dest/branded-types/epoch.d.ts.map +1 -0
  27. package/dest/branded-types/epoch.js +59 -0
  28. package/dest/branded-types/index.d.ts +7 -0
  29. package/dest/branded-types/index.d.ts.map +1 -0
  30. package/dest/branded-types/index.js +5 -0
  31. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  32. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  33. package/dest/branded-types/index_within_checkpoint.js +59 -0
  34. package/dest/branded-types/slot.d.ts +42 -0
  35. package/dest/branded-types/slot.d.ts.map +1 -0
  36. package/dest/branded-types/slot.js +59 -0
  37. package/dest/branded-types/types.d.ts +5 -0
  38. package/dest/branded-types/types.d.ts.map +1 -0
  39. package/dest/branded-types/types.js +1 -0
  40. package/dest/buffer/buffer16.d.ts +80 -0
  41. package/dest/buffer/buffer16.d.ts.map +1 -0
  42. package/dest/buffer/buffer16.js +102 -0
  43. package/dest/buffer/buffer32.d.ts +5 -9
  44. package/dest/buffer/buffer32.d.ts.map +1 -1
  45. package/dest/buffer/buffer32.js +9 -7
  46. package/dest/buffer/index.d.ts +2 -1
  47. package/dest/buffer/index.d.ts.map +1 -1
  48. package/dest/buffer/index.js +1 -0
  49. package/dest/collection/array.d.ts +28 -4
  50. package/dest/collection/array.d.ts.map +1 -1
  51. package/dest/collection/array.js +108 -3
  52. package/dest/collection/index.d.ts +1 -1
  53. package/dest/collection/object.d.ts +17 -1
  54. package/dest/collection/object.d.ts.map +1 -1
  55. package/dest/collection/object.js +25 -0
  56. package/dest/committable/committable.d.ts +1 -1
  57. package/dest/committable/committable.d.ts.map +1 -1
  58. package/dest/committable/index.d.ts +1 -1
  59. package/dest/config/env_var.d.ts +2 -2
  60. package/dest/config/env_var.d.ts.map +1 -1
  61. package/dest/config/index.d.ts +62 -4
  62. package/dest/config/index.d.ts.map +1 -1
  63. package/dest/config/index.js +143 -12
  64. package/dest/config/network_config.d.ts +54 -0
  65. package/dest/config/network_config.d.ts.map +1 -0
  66. package/dest/config/network_config.js +11 -0
  67. package/dest/config/network_name.d.ts +3 -0
  68. package/dest/config/network_name.d.ts.map +1 -0
  69. package/dest/config/network_name.js +19 -0
  70. package/dest/config/parse-env.d.ts +3 -0
  71. package/dest/config/parse-env.d.ts.map +1 -0
  72. package/dest/config/parse-env.js +7 -0
  73. package/dest/config/secret_value.d.ts +28 -0
  74. package/dest/config/secret_value.d.ts.map +1 -0
  75. package/dest/config/secret_value.js +36 -0
  76. package/dest/crypto/aes128/index.d.ts +3 -5
  77. package/dest/crypto/aes128/index.d.ts.map +1 -1
  78. package/dest/crypto/aes128/index.js +19 -6
  79. package/dest/crypto/bls/bn254_keystore.d.ts +296 -0
  80. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -0
  81. package/dest/crypto/bls/bn254_keystore.js +218 -0
  82. package/dest/crypto/bls/index.d.ts +13 -0
  83. package/dest/crypto/bls/index.d.ts.map +1 -0
  84. package/dest/crypto/bls/index.js +87 -0
  85. package/dest/crypto/bn254/index.d.ts +39 -0
  86. package/dest/crypto/bn254/index.d.ts.map +1 -0
  87. package/dest/crypto/bn254/index.js +56 -0
  88. package/dest/crypto/ecdsa/index.d.ts +3 -3
  89. package/dest/crypto/ecdsa/index.d.ts.map +1 -1
  90. package/dest/crypto/ecdsa/index.js +62 -48
  91. package/dest/crypto/ecdsa/signature.d.ts +3 -5
  92. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  93. package/dest/crypto/ecdsa/signature.js +2 -2
  94. package/dest/crypto/grumpkin/index.d.ts +10 -15
  95. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  96. package/dest/crypto/grumpkin/index.js +61 -55
  97. package/dest/crypto/keccak/index.d.ts +3 -5
  98. package/dest/crypto/keccak/index.d.ts.map +1 -1
  99. package/dest/crypto/keys/index.d.ts +2 -4
  100. package/dest/crypto/keys/index.d.ts.map +1 -1
  101. package/dest/crypto/keys/index.js +8 -5
  102. package/dest/crypto/pedersen/index.d.ts +1 -1
  103. package/dest/crypto/pedersen/pedersen.noble.d.ts +3 -5
  104. package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
  105. package/dest/crypto/pedersen/pedersen.wasm.d.ts +4 -6
  106. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  107. package/dest/crypto/pedersen/pedersen.wasm.js +24 -14
  108. package/dest/crypto/poseidon/index.d.ts +2 -5
  109. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  110. package/dest/crypto/poseidon/index.js +27 -21
  111. package/dest/crypto/random/index.d.ts +2 -4
  112. package/dest/crypto/random/index.d.ts.map +1 -1
  113. package/dest/crypto/random/index.js +2 -34
  114. package/dest/crypto/random/randomness_singleton.d.ts +4 -5
  115. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  116. package/dest/crypto/random/randomness_singleton.js +5 -5
  117. package/dest/crypto/schnorr/index.d.ts +3 -2
  118. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  119. package/dest/crypto/schnorr/index.js +30 -38
  120. package/dest/crypto/schnorr/signature.d.ts +5 -7
  121. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  122. package/dest/crypto/schnorr/signature.js +2 -2
  123. package/dest/crypto/secp256k1/index.d.ts +5 -7
  124. package/dest/crypto/secp256k1/index.d.ts.map +1 -1
  125. package/dest/crypto/secp256k1/index.js +23 -18
  126. package/dest/crypto/secp256k1-signer/index.d.ts +1 -1
  127. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +1 -1
  128. package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -1
  129. package/dest/crypto/secp256k1-signer/utils.d.ts +56 -5
  130. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  131. package/dest/crypto/secp256k1-signer/utils.js +92 -6
  132. package/dest/crypto/serialize.d.ts +5 -7
  133. package/dest/crypto/serialize.d.ts.map +1 -1
  134. package/dest/crypto/sha256/index.d.ts +23 -6
  135. package/dest/crypto/sha256/index.d.ts.map +1 -1
  136. package/dest/crypto/sha256/index.js +43 -1
  137. package/dest/crypto/sha512/index.d.ts +3 -5
  138. package/dest/crypto/sha512/index.d.ts.map +1 -1
  139. package/dest/crypto/sha512/index.js +1 -1
  140. package/dest/crypto/signature/index.d.ts +2 -4
  141. package/dest/crypto/signature/index.d.ts.map +1 -1
  142. package/dest/crypto/sync/index.d.ts +1 -1
  143. package/dest/crypto/sync/index.js +1 -1
  144. package/dest/crypto/sync/pedersen/index.d.ts +4 -6
  145. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  146. package/dest/crypto/sync/pedersen/index.js +18 -11
  147. package/dest/crypto/sync/poseidon/index.d.ts +2 -5
  148. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  149. package/dest/crypto/sync/poseidon/index.js +23 -16
  150. package/dest/curves/bls12/field.d.ts +148 -0
  151. package/dest/curves/bls12/field.d.ts.map +1 -0
  152. package/dest/curves/bls12/field.js +362 -0
  153. package/dest/curves/bls12/index.d.ts +3 -0
  154. package/dest/curves/bls12/index.d.ts.map +1 -0
  155. package/dest/curves/bls12/index.js +2 -0
  156. package/dest/curves/bls12/point.d.ts +229 -0
  157. package/dest/curves/bls12/point.d.ts.map +1 -0
  158. package/dest/curves/bls12/point.js +400 -0
  159. package/dest/curves/bn254/field.d.ts +180 -0
  160. package/dest/curves/bn254/field.d.ts.map +1 -0
  161. package/dest/{fields/fields.js → curves/bn254/field.js} +90 -62
  162. package/dest/curves/bn254/index.d.ts +3 -0
  163. package/dest/curves/bn254/index.d.ts.map +1 -0
  164. package/dest/curves/bn254/index.js +2 -0
  165. package/dest/curves/bn254/point.d.ts +54 -0
  166. package/dest/curves/bn254/point.d.ts.map +1 -0
  167. package/dest/curves/bn254/point.js +143 -0
  168. package/dest/curves/grumpkin/index.d.ts +10 -0
  169. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  170. package/dest/curves/grumpkin/index.js +3 -0
  171. package/dest/{fields → curves/grumpkin}/point.d.ts +14 -7
  172. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  173. package/dest/{fields → curves/grumpkin}/point.js +27 -10
  174. package/dest/decorators/index.d.ts +1 -1
  175. package/dest/decorators/memoize.d.ts +1 -1
  176. package/dest/decorators/memoize.d.ts.map +1 -1
  177. package/dest/error/index.d.ts +1 -1
  178. package/dest/eth-address/index.d.ts +18 -9
  179. package/dest/eth-address/index.d.ts.map +1 -1
  180. package/dest/eth-address/index.js +31 -2
  181. package/dest/eth-signature/eth_signature.d.ts +17 -15
  182. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  183. package/dest/eth-signature/eth_signature.js +31 -17
  184. package/dest/eth-signature/index.d.ts +1 -1
  185. package/dest/fs/index.d.ts +2 -1
  186. package/dest/fs/index.d.ts.map +1 -1
  187. package/dest/fs/index.js +1 -0
  188. package/dest/fs/run_in_dir.d.ts +1 -1
  189. package/dest/fs/try_rm_dir.d.ts +3 -0
  190. package/dest/fs/try_rm_dir.d.ts.map +1 -0
  191. package/dest/fs/try_rm_dir.js +16 -0
  192. package/dest/iterable/all.d.ts +1 -1
  193. package/dest/iterable/filter.d.ts +1 -1
  194. package/dest/iterable/filter.js +1 -1
  195. package/dest/iterable/index.d.ts +1 -1
  196. package/dest/iterable/isAsyncIt.d.ts +1 -1
  197. package/dest/iterable/map.d.ts +1 -1
  198. package/dest/iterable/map.js +1 -1
  199. package/dest/iterable/peek.d.ts +1 -1
  200. package/dest/iterable/sort.d.ts +1 -1
  201. package/dest/iterable/take.d.ts +1 -1
  202. package/dest/iterable/toArray.d.ts +1 -1
  203. package/dest/iterator/filter.d.ts +3 -0
  204. package/dest/iterator/filter.d.ts.map +1 -0
  205. package/dest/iterator/filter.js +7 -0
  206. package/dest/iterator/index.d.ts +2 -0
  207. package/dest/iterator/index.d.ts.map +1 -0
  208. package/dest/iterator/index.js +1 -0
  209. package/dest/jest/env.js +48 -0
  210. package/dest/jest/setup.js +4 -1
  211. package/dest/jest/setupAfterEnv.js +3 -0
  212. package/dest/json-rpc/client/fetch.d.ts +3 -3
  213. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  214. package/dest/json-rpc/client/fetch.js +16 -30
  215. package/dest/json-rpc/client/index.d.ts +1 -1
  216. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +10 -4
  217. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  218. package/dest/json-rpc/client/safe_json_rpc_client.js +173 -13
  219. package/dest/json-rpc/client/undici.d.ts +1 -1
  220. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  221. package/dest/json-rpc/client/undici.js +27 -11
  222. package/dest/json-rpc/convert.d.ts +3 -10
  223. package/dest/json-rpc/convert.d.ts.map +1 -1
  224. package/dest/json-rpc/convert.js +1 -9
  225. package/dest/json-rpc/errors.d.ts +4 -0
  226. package/dest/json-rpc/errors.d.ts.map +1 -0
  227. package/dest/json-rpc/errors.js +6 -0
  228. package/dest/json-rpc/fixtures/class_a.d.ts +6 -4
  229. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  230. package/dest/json-rpc/fixtures/class_b.d.ts +6 -4
  231. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  232. package/dest/json-rpc/fixtures/test_state.d.ts +1 -1
  233. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  234. package/dest/json-rpc/index.d.ts +3 -2
  235. package/dest/json-rpc/index.d.ts.map +1 -1
  236. package/dest/json-rpc/index.js +2 -1
  237. package/dest/json-rpc/js_utils.d.ts +1 -1
  238. package/dest/json-rpc/js_utils.d.ts.map +1 -1
  239. package/dest/json-rpc/server/index.d.ts +1 -1
  240. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +22 -23
  241. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  242. package/dest/json-rpc/server/safe_json_rpc_server.js +161 -56
  243. package/dest/json-rpc/test/index.d.ts +1 -1
  244. package/dest/json-rpc/test/integration.d.ts +2 -3
  245. package/dest/json-rpc/test/integration.d.ts.map +1 -1
  246. package/dest/log/console.d.ts +1 -1
  247. package/dest/log/console.d.ts.map +1 -1
  248. package/dest/log/gcloud-logger-config.d.ts +1 -2
  249. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  250. package/dest/log/gcloud-logger-config.js +1 -9
  251. package/dest/log/index.d.ts +5 -5
  252. package/dest/log/index.d.ts.map +1 -1
  253. package/dest/log/index.js +4 -4
  254. package/dest/log/libp2p_logger.d.ts +5 -2
  255. package/dest/log/libp2p_logger.d.ts.map +1 -1
  256. package/dest/log/libp2p_logger.js +27 -6
  257. package/dest/log/log-filters.d.ts +1 -1
  258. package/dest/log/log-levels.d.ts +1 -1
  259. package/dest/log/log_fn.d.ts +2 -2
  260. package/dest/log/log_fn.d.ts.map +1 -1
  261. package/dest/log/noir_debug_log_util.d.ts +14 -0
  262. package/dest/log/noir_debug_log_util.d.ts.map +1 -0
  263. package/dest/log/noir_debug_log_util.js +14 -0
  264. package/dest/log/pino-logger-server.d.ts +9 -0
  265. package/dest/log/pino-logger-server.d.ts.map +1 -0
  266. package/dest/log/pino-logger-server.js +18 -0
  267. package/dest/log/pino-logger.d.ts +40 -11
  268. package/dest/log/pino-logger.d.ts.map +1 -1
  269. package/dest/log/pino-logger.js +143 -28
  270. package/dest/message/index.d.ts +1 -1
  271. package/dest/message/index.d.ts.map +1 -1
  272. package/dest/mutex/index.d.ts +1 -1
  273. package/dest/mutex/index.d.ts.map +1 -1
  274. package/dest/mutex/mutex_database.d.ts +1 -1
  275. package/dest/mutex/mutex_database.d.ts.map +1 -1
  276. package/dest/noir/index.d.ts +1 -1
  277. package/dest/noir/noir_package_config.d.ts +9 -9
  278. package/dest/number/index.d.ts +3 -0
  279. package/dest/number/index.d.ts.map +1 -0
  280. package/dest/number/index.js +12 -0
  281. package/dest/profiler/index.d.ts +2 -0
  282. package/dest/profiler/index.d.ts.map +1 -0
  283. package/dest/profiler/index.js +1 -0
  284. package/dest/profiler/profiler.d.ts +8 -0
  285. package/dest/profiler/profiler.d.ts.map +1 -0
  286. package/dest/profiler/profiler.js +97 -0
  287. package/dest/promise/index.d.ts +1 -1
  288. package/dest/promise/running-promise.d.ts +2 -2
  289. package/dest/promise/running-promise.d.ts.map +1 -1
  290. package/dest/promise/running-promise.js +2 -2
  291. package/dest/promise/utils.d.ts +1 -1
  292. package/dest/queue/base_memory_queue.d.ts +1 -1
  293. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  294. package/dest/queue/batch_queue.d.ts +2 -2
  295. package/dest/queue/batch_queue.d.ts.map +1 -1
  296. package/dest/queue/batch_queue.js +1 -1
  297. package/dest/queue/bounded_serial_queue.d.ts +1 -1
  298. package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
  299. package/dest/queue/fifo_memory_queue.d.ts +1 -1
  300. package/dest/queue/fifo_memory_queue.d.ts.map +1 -1
  301. package/dest/queue/index.d.ts +1 -1
  302. package/dest/queue/priority_memory_queue.d.ts +1 -1
  303. package/dest/queue/priority_memory_queue.d.ts.map +1 -1
  304. package/dest/queue/priority_queue.d.ts +1 -1
  305. package/dest/queue/priority_queue.d.ts.map +1 -1
  306. package/dest/queue/semaphore.d.ts +5 -1
  307. package/dest/queue/semaphore.d.ts.map +1 -1
  308. package/dest/queue/serial_queue.d.ts +3 -3
  309. package/dest/queue/serial_queue.d.ts.map +1 -1
  310. package/dest/queue/serial_queue.js +7 -5
  311. package/dest/retry/index.d.ts +14 -3
  312. package/dest/retry/index.d.ts.map +1 -1
  313. package/dest/retry/index.js +13 -2
  314. package/dest/running-promise/index.d.ts +1 -1
  315. package/dest/schemas/api.d.ts +1 -1
  316. package/dest/schemas/api.d.ts.map +1 -1
  317. package/dest/schemas/index.d.ts +1 -1
  318. package/dest/schemas/parse.d.ts +1 -1
  319. package/dest/schemas/parse.js +1 -1
  320. package/dest/schemas/schemas.d.ts +21 -20
  321. package/dest/schemas/schemas.d.ts.map +1 -1
  322. package/dest/schemas/schemas.js +29 -11
  323. package/dest/schemas/types.d.ts +31 -1
  324. package/dest/schemas/types.d.ts.map +1 -1
  325. package/dest/schemas/types.js +25 -1
  326. package/dest/schemas/utils.d.ts +4 -6
  327. package/dest/schemas/utils.d.ts.map +1 -1
  328. package/dest/schemas/utils.js +15 -5
  329. package/dest/serialize/buffer_reader.d.ts +34 -6
  330. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  331. package/dest/serialize/buffer_reader.js +57 -6
  332. package/dest/serialize/field_reader.d.ts +12 -3
  333. package/dest/serialize/field_reader.d.ts.map +1 -1
  334. package/dest/serialize/field_reader.js +19 -2
  335. package/dest/serialize/free_funcs.d.ts +25 -23
  336. package/dest/serialize/free_funcs.d.ts.map +1 -1
  337. package/dest/serialize/free_funcs.js +22 -28
  338. package/dest/serialize/index.d.ts +1 -1
  339. package/dest/serialize/serialize.d.ts +6 -7
  340. package/dest/serialize/serialize.d.ts.map +1 -1
  341. package/dest/serialize/serialize.js +1 -1
  342. package/dest/serialize/type_registry.d.ts +1 -1
  343. package/dest/serialize/type_registry.d.ts.map +1 -1
  344. package/dest/serialize/types.d.ts +1 -1
  345. package/dest/sleep/index.d.ts +3 -1
  346. package/dest/sleep/index.d.ts.map +1 -1
  347. package/dest/sleep/index.js +4 -0
  348. package/dest/string/index.d.ts +8 -3
  349. package/dest/string/index.d.ts.map +1 -1
  350. package/dest/string/index.js +27 -1
  351. package/dest/testing/files/index.d.ts +2 -3
  352. package/dest/testing/files/index.d.ts.map +1 -1
  353. package/dest/testing/files/index.js +3 -3
  354. package/dest/testing/formatting.d.ts +4 -0
  355. package/dest/testing/formatting.d.ts.map +1 -0
  356. package/dest/testing/formatting.js +3 -0
  357. package/dest/testing/index.d.ts +2 -1
  358. package/dest/testing/index.d.ts.map +1 -1
  359. package/dest/testing/index.js +1 -0
  360. package/dest/testing/port_allocator.d.ts +1 -1
  361. package/dest/testing/snapshot_serializer.d.ts +1 -1
  362. package/dest/testing/test_data.d.ts +1 -1
  363. package/dest/timer/date.d.ts +4 -2
  364. package/dest/timer/date.d.ts.map +1 -1
  365. package/dest/timer/date.js +8 -3
  366. package/dest/timer/elapsed.d.ts +1 -1
  367. package/dest/timer/index.d.ts +2 -2
  368. package/dest/timer/index.d.ts.map +1 -1
  369. package/dest/timer/index.js +1 -1
  370. package/dest/timer/timeout.d.ts +19 -6
  371. package/dest/timer/timeout.d.ts.map +1 -1
  372. package/dest/timer/timeout.js +43 -22
  373. package/dest/timer/timer.d.ts +1 -1
  374. package/dest/timer/timer.d.ts.map +1 -1
  375. package/dest/transport/dispatch/create_dispatch_fn.d.ts +1 -1
  376. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
  377. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +1 -1
  378. package/dest/transport/dispatch/messages.d.ts +1 -1
  379. package/dest/transport/index.d.ts +1 -2
  380. package/dest/transport/index.d.ts.map +1 -1
  381. package/dest/transport/index.js +0 -1
  382. package/dest/transport/interface/connector.d.ts +1 -1
  383. package/dest/transport/interface/connector.d.ts.map +1 -1
  384. package/dest/transport/interface/listener.d.ts +1 -2
  385. package/dest/transport/interface/listener.d.ts.map +1 -1
  386. package/dest/transport/interface/socket.d.ts +1 -1
  387. package/dest/transport/interface/socket.d.ts.map +1 -1
  388. package/dest/transport/interface/transferable.d.ts +1 -1
  389. package/dest/transport/node/index.d.ts +1 -1
  390. package/dest/transport/node/node_connector.d.ts +1 -2
  391. package/dest/transport/node/node_connector.d.ts.map +1 -1
  392. package/dest/transport/node/node_connector_socket.d.ts +1 -2
  393. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  394. package/dest/transport/node/node_listener.d.ts +1 -2
  395. package/dest/transport/node/node_listener.d.ts.map +1 -1
  396. package/dest/transport/node/node_listener_socket.d.ts +1 -2
  397. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  398. package/dest/transport/transport_client.d.ts +1 -2
  399. package/dest/transport/transport_client.d.ts.map +1 -1
  400. package/dest/transport/transport_server.d.ts +1 -10
  401. package/dest/transport/transport_server.d.ts.map +1 -1
  402. package/dest/trees/balanced_merkle_tree_root.d.ts +17 -0
  403. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  404. package/dest/trees/balanced_merkle_tree_root.js +51 -0
  405. package/dest/trees/hasher.d.ts +7 -7
  406. package/dest/trees/hasher.d.ts.map +1 -1
  407. package/dest/trees/hasher.js +10 -5
  408. package/dest/trees/index.d.ts +5 -3
  409. package/dest/trees/index.d.ts.map +1 -1
  410. package/dest/trees/index.js +4 -2
  411. package/dest/trees/indexed_merkle_tree.d.ts +1 -3
  412. package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
  413. package/dest/trees/indexed_merkle_tree.js +1 -1
  414. package/dest/trees/indexed_merkle_tree_calculator.d.ts +2 -4
  415. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  416. package/dest/trees/indexed_tree_leaf.d.ts +1 -3
  417. package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
  418. package/dest/trees/membership_witness.d.ts +10 -5
  419. package/dest/trees/membership_witness.d.ts.map +1 -1
  420. package/dest/trees/membership_witness.js +23 -1
  421. package/dest/trees/merkle_tree.d.ts +1 -3
  422. package/dest/trees/merkle_tree.d.ts.map +1 -1
  423. package/dest/trees/merkle_tree_calculator.d.ts +2 -4
  424. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  425. package/dest/trees/merkle_tree_calculator.js +2 -2
  426. package/dest/trees/sibling_path.d.ts +6 -41
  427. package/dest/trees/sibling_path.d.ts.map +1 -1
  428. package/dest/trees/sibling_path.js +3 -3
  429. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +48 -0
  430. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -0
  431. package/dest/trees/unbalanced_merkle_tree_calculator.js +154 -0
  432. package/dest/trees/unbalanced_merkle_tree_root.d.ts +28 -0
  433. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  434. package/dest/trees/unbalanced_merkle_tree_root.js +84 -0
  435. package/dest/trees/unbalanced_tree_store.d.ts +6 -1
  436. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  437. package/dest/trees/unbalanced_tree_store.js +55 -1
  438. package/dest/types/index.d.ts +30 -3
  439. package/dest/types/index.d.ts.map +1 -1
  440. package/dest/types/index.js +6 -0
  441. package/dest/url/index.d.ts +1 -1
  442. package/dest/url/index.d.ts.map +1 -1
  443. package/dest/url/index.js +1 -1
  444. package/dest/validation/index.d.ts +1 -1
  445. package/package.json +60 -45
  446. package/src/array/array.ts +13 -16
  447. package/src/array/index.ts +1 -0
  448. package/src/array/sorted_array.ts +133 -0
  449. package/src/async-pool/index.ts +1 -0
  450. package/src/bigint/index.ts +20 -0
  451. package/src/branded-types/block_number.ts +117 -0
  452. package/src/branded-types/checkpoint_number.ts +115 -0
  453. package/src/branded-types/epoch.ts +88 -0
  454. package/src/branded-types/index.ts +7 -0
  455. package/src/branded-types/index_within_checkpoint.ts +88 -0
  456. package/src/branded-types/slot.ts +88 -0
  457. package/src/branded-types/types.ts +2 -0
  458. package/src/buffer/buffer16.ts +133 -0
  459. package/src/buffer/buffer32.ts +10 -8
  460. package/src/buffer/index.ts +1 -0
  461. package/src/collection/array.ts +118 -4
  462. package/src/collection/object.ts +37 -0
  463. package/src/config/env_var.ts +194 -59
  464. package/src/config/index.ts +226 -10
  465. package/src/config/network_config.ts +18 -0
  466. package/src/config/network_name.ts +28 -0
  467. package/src/config/parse-env.ts +4 -0
  468. package/src/config/secret_value.ts +49 -0
  469. package/src/crypto/aes128/index.ts +19 -10
  470. package/src/crypto/bls/bn254_keystore.ts +287 -0
  471. package/src/crypto/bls/index.ts +77 -0
  472. package/src/crypto/bn254/index.ts +64 -0
  473. package/src/crypto/ecdsa/index.ts +41 -23
  474. package/src/crypto/ecdsa/signature.ts +2 -2
  475. package/src/crypto/grumpkin/index.ts +38 -46
  476. package/src/crypto/keys/index.ts +6 -6
  477. package/src/crypto/pedersen/pedersen.wasm.ts +23 -19
  478. package/src/crypto/poseidon/index.ts +27 -29
  479. package/src/crypto/random/index.ts +2 -40
  480. package/src/crypto/random/randomness_singleton.ts +6 -4
  481. package/src/crypto/schnorr/index.ts +22 -18
  482. package/src/crypto/schnorr/signature.ts +2 -2
  483. package/src/crypto/secp256k1/index.ts +15 -11
  484. package/src/crypto/secp256k1-signer/utils.ts +120 -7
  485. package/src/crypto/sha256/index.ts +48 -1
  486. package/src/crypto/sha512/index.ts +1 -1
  487. package/src/crypto/signature/index.ts +1 -1
  488. package/src/crypto/sync/index.ts +1 -1
  489. package/src/crypto/sync/pedersen/index.ts +17 -16
  490. package/src/crypto/sync/poseidon/index.ts +23 -27
  491. package/src/curves/bls12/field.ts +463 -0
  492. package/src/curves/bls12/index.ts +2 -0
  493. package/src/curves/bls12/point.ts +450 -0
  494. package/src/{fields/fields.ts → curves/bn254/field.ts} +84 -63
  495. package/src/curves/bn254/index.ts +2 -0
  496. package/src/curves/bn254/point.ts +170 -0
  497. package/src/curves/grumpkin/index.ts +11 -0
  498. package/src/{fields → curves/grumpkin}/point.ts +27 -10
  499. package/src/eth-address/index.ts +35 -3
  500. package/src/eth-signature/eth_signature.ts +44 -22
  501. package/src/fs/index.ts +1 -0
  502. package/src/fs/try_rm_dir.ts +15 -0
  503. package/src/iterable/filter.ts +1 -1
  504. package/src/iterable/map.ts +1 -1
  505. package/src/iterator/filter.ts +11 -0
  506. package/src/iterator/index.ts +1 -0
  507. package/src/jest/env.mjs +52 -0
  508. package/src/jest/setup.mjs +4 -1
  509. package/src/jest/setupAfterEnv.mjs +3 -0
  510. package/src/json-rpc/client/fetch.ts +14 -33
  511. package/src/json-rpc/client/safe_json_rpc_client.ts +226 -13
  512. package/src/json-rpc/client/undici.ts +29 -18
  513. package/src/json-rpc/convert.ts +3 -12
  514. package/src/json-rpc/errors.ts +6 -0
  515. package/src/json-rpc/fixtures/class_a.ts +4 -1
  516. package/src/json-rpc/fixtures/class_b.ts +4 -1
  517. package/src/json-rpc/index.ts +2 -1
  518. package/src/json-rpc/server/safe_json_rpc_server.ts +141 -48
  519. package/src/json-rpc/test/integration.ts +1 -1
  520. package/src/log/console.ts +4 -1
  521. package/src/log/gcloud-logger-config.ts +3 -7
  522. package/src/log/index.ts +4 -4
  523. package/src/log/libp2p_logger.ts +33 -7
  524. package/src/log/log_fn.ts +1 -1
  525. package/src/log/noir_debug_log_util.ts +21 -0
  526. package/src/log/pino-logger-server.ts +25 -0
  527. package/src/log/pino-logger.ts +169 -37
  528. package/src/message/index.ts +5 -1
  529. package/src/mutex/mutex_database.ts +2 -3
  530. package/src/number/index.ts +14 -0
  531. package/src/profiler/index.ts +1 -0
  532. package/src/profiler/profiler.ts +125 -0
  533. package/src/promise/running-promise.ts +2 -2
  534. package/src/queue/batch_queue.ts +1 -1
  535. package/src/queue/bounded_serial_queue.ts +4 -1
  536. package/src/queue/semaphore.ts +5 -0
  537. package/src/queue/serial_queue.ts +5 -5
  538. package/src/retry/index.ts +28 -5
  539. package/src/schemas/api.ts +4 -4
  540. package/src/schemas/parse.ts +1 -1
  541. package/src/schemas/schemas.ts +42 -13
  542. package/src/schemas/types.ts +33 -0
  543. package/src/schemas/utils.ts +21 -8
  544. package/src/serialize/buffer_reader.ts +81 -12
  545. package/src/serialize/field_reader.ts +28 -4
  546. package/src/serialize/free_funcs.ts +26 -32
  547. package/src/serialize/serialize.ts +3 -1
  548. package/src/sleep/index.ts +6 -0
  549. package/src/string/index.ts +36 -1
  550. package/src/testing/files/index.ts +7 -3
  551. package/src/testing/formatting.ts +3 -0
  552. package/src/testing/index.ts +1 -0
  553. package/src/timer/date.ts +13 -3
  554. package/src/timer/index.ts +1 -1
  555. package/src/timer/timeout.ts +54 -19
  556. package/src/transport/index.ts +0 -1
  557. package/src/transport/interface/connector.ts +0 -1
  558. package/src/transport/interface/listener.ts +2 -3
  559. package/src/transport/interface/socket.ts +2 -3
  560. package/src/transport/transport_client.ts +3 -4
  561. package/src/transport/transport_server.ts +4 -1
  562. package/src/trees/balanced_merkle_tree_root.ts +68 -0
  563. package/src/trees/hasher.ts +13 -4
  564. package/src/trees/index.ts +4 -2
  565. package/src/trees/indexed_merkle_tree.ts +6 -2
  566. package/src/trees/indexed_merkle_tree_calculator.ts +2 -2
  567. package/src/trees/membership_witness.ts +22 -1
  568. package/src/trees/merkle_tree.ts +4 -1
  569. package/src/trees/merkle_tree_calculator.ts +10 -5
  570. package/src/trees/sibling_path.ts +3 -3
  571. package/src/trees/unbalanced_merkle_tree_calculator.ts +176 -0
  572. package/src/trees/unbalanced_merkle_tree_root.ts +115 -0
  573. package/src/trees/unbalanced_tree_store.ts +62 -3
  574. package/src/types/index.ts +35 -4
  575. package/src/url/index.ts +0 -1
  576. package/dest/crypto/index.d.ts +0 -15
  577. package/dest/crypto/index.d.ts.map +0 -1
  578. package/dest/crypto/index.js +0 -14
  579. package/dest/crypto/pedersen/pedersen.elliptic.d.ts +0 -13
  580. package/dest/crypto/pedersen/pedersen.elliptic.d.ts.map +0 -1
  581. package/dest/crypto/pedersen/pedersen.elliptic.js +0 -582
  582. package/dest/fields/coordinate.d.ts +0 -68
  583. package/dest/fields/coordinate.d.ts.map +0 -1
  584. package/dest/fields/coordinate.js +0 -96
  585. package/dest/fields/fields.d.ts +0 -176
  586. package/dest/fields/fields.d.ts.map +0 -1
  587. package/dest/fields/index.d.ts +0 -4
  588. package/dest/fields/index.d.ts.map +0 -1
  589. package/dest/fields/index.js +0 -3
  590. package/dest/fields/point.d.ts.map +0 -1
  591. package/dest/index.d.ts +0 -31
  592. package/dest/index.d.ts.map +0 -1
  593. package/dest/index.js +0 -31
  594. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  595. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  596. package/dest/json-rpc/server/telemetry.js +0 -0
  597. package/dest/log/debug.d.ts +0 -56
  598. package/dest/log/debug.d.ts.map +0 -1
  599. package/dest/log/debug.js +0 -75
  600. package/dest/log/log_history.d.ts +0 -31
  601. package/dest/log/log_history.d.ts.map +0 -1
  602. package/dest/log/log_history.js +0 -38
  603. package/dest/transport/browser/index.d.ts +0 -5
  604. package/dest/transport/browser/index.d.ts.map +0 -1
  605. package/dest/transport/browser/index.js +0 -4
  606. package/dest/transport/browser/message_port_socket.d.ts +0 -37
  607. package/dest/transport/browser/message_port_socket.d.ts.map +0 -1
  608. package/dest/transport/browser/message_port_socket.js +0 -42
  609. package/dest/transport/browser/shared_worker_connector.d.ts +0 -19
  610. package/dest/transport/browser/shared_worker_connector.d.ts.map +0 -1
  611. package/dest/transport/browser/shared_worker_connector.js +0 -19
  612. package/dest/transport/browser/shared_worker_listener.d.ts +0 -38
  613. package/dest/transport/browser/shared_worker_listener.d.ts.map +0 -1
  614. package/dest/transport/browser/shared_worker_listener.js +0 -33
  615. package/dest/transport/browser/worker_connector.d.ts +0 -26
  616. package/dest/transport/browser/worker_connector.d.ts.map +0 -1
  617. package/dest/transport/browser/worker_connector.js +0 -30
  618. package/dest/transport/browser/worker_listener.d.ts +0 -39
  619. package/dest/transport/browser/worker_listener.d.ts.map +0 -1
  620. package/dest/transport/browser/worker_listener.js +0 -35
  621. package/dest/trees/unbalanced_merkle_tree.d.ts +0 -17
  622. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  623. package/dest/trees/unbalanced_merkle_tree.js +0 -100
  624. package/dest/wasm/empty_wasi_sdk.d.ts +0 -130
  625. package/dest/wasm/empty_wasi_sdk.d.ts.map +0 -1
  626. package/dest/wasm/empty_wasi_sdk.js +0 -148
  627. package/dest/wasm/index.d.ts +0 -2
  628. package/dest/wasm/index.d.ts.map +0 -1
  629. package/dest/wasm/index.js +0 -1
  630. package/dest/wasm/wasm_module.d.ts +0 -136
  631. package/dest/wasm/wasm_module.d.ts.map +0 -1
  632. package/dest/wasm/wasm_module.js +0 -196
  633. package/dest/worker/browser/index.d.ts +0 -3
  634. package/dest/worker/browser/index.d.ts.map +0 -1
  635. package/dest/worker/browser/index.js +0 -2
  636. package/dest/worker/browser/start_web_module.d.ts +0 -7
  637. package/dest/worker/browser/start_web_module.d.ts.map +0 -1
  638. package/dest/worker/browser/start_web_module.js +0 -27
  639. package/dest/worker/browser/web_data_store.d.ts +0 -24
  640. package/dest/worker/browser/web_data_store.d.ts.map +0 -1
  641. package/dest/worker/browser/web_data_store.js +0 -29
  642. package/dest/worker/browser/web_worker.d.ts +0 -10
  643. package/dest/worker/browser/web_worker.d.ts.map +0 -1
  644. package/dest/worker/browser/web_worker.js +0 -25
  645. package/dest/worker/data_store.d.ts +0 -21
  646. package/dest/worker/data_store.d.ts.map +0 -1
  647. package/dest/worker/data_store.js +0 -3
  648. package/dest/worker/index.d.ts +0 -3
  649. package/dest/worker/index.d.ts.map +0 -1
  650. package/dest/worker/index.js +0 -1
  651. package/dest/worker/node/index.d.ts +0 -3
  652. package/dest/worker/node/index.d.ts.map +0 -1
  653. package/dest/worker/node/index.js +0 -2
  654. package/dest/worker/node/node_data_store.d.ts +0 -13
  655. package/dest/worker/node/node_data_store.d.ts.map +0 -1
  656. package/dest/worker/node/node_data_store.js +0 -20
  657. package/dest/worker/node/node_worker.d.ts +0 -6
  658. package/dest/worker/node/node_worker.d.ts.map +0 -1
  659. package/dest/worker/node/node_worker.js +0 -22
  660. package/dest/worker/node/start_node_module.d.ts +0 -7
  661. package/dest/worker/node/start_node_module.d.ts.map +0 -1
  662. package/dest/worker/node/start_node_module.js +0 -31
  663. package/dest/worker/wasm_worker.d.ts +0 -9
  664. package/dest/worker/wasm_worker.d.ts.map +0 -1
  665. package/dest/worker/wasm_worker.js +0 -3
  666. package/dest/worker/worker_pool.d.ts +0 -40
  667. package/dest/worker/worker_pool.d.ts.map +0 -1
  668. package/dest/worker/worker_pool.js +0 -51
  669. package/src/crypto/index.ts +0 -14
  670. package/src/crypto/pedersen/pedersen.elliptic.ts +0 -584
  671. package/src/fields/coordinate.ts +0 -104
  672. package/src/fields/index.ts +0 -3
  673. package/src/index.ts +0 -31
  674. package/src/json-rpc/server/telemetry.ts +0 -0
  675. package/src/log/debug.ts +0 -104
  676. package/src/log/log_history.ts +0 -44
  677. package/src/transport/browser/index.ts +0 -4
  678. package/src/transport/browser/message_port_socket.ts +0 -48
  679. package/src/transport/browser/shared_worker_connector.ts +0 -21
  680. package/src/transport/browser/shared_worker_listener.ts +0 -53
  681. package/src/transport/browser/worker_connector.ts +0 -30
  682. package/src/transport/browser/worker_listener.ts +0 -54
  683. package/src/trees/unbalanced_merkle_tree.ts +0 -103
  684. package/src/wasm/README.md +0 -6
  685. package/src/wasm/empty_wasi_sdk.ts +0 -166
  686. package/src/wasm/fixtures/gcd.wasm +0 -0
  687. package/src/wasm/fixtures/gcd.wat +0 -27
  688. package/src/wasm/index.ts +0 -1
  689. package/src/wasm/wasm_module.ts +0 -260
  690. package/src/worker/browser/index.ts +0 -2
  691. package/src/worker/browser/start_web_module.ts +0 -24
  692. package/src/worker/browser/web_data_store.ts +0 -38
  693. package/src/worker/browser/web_worker.ts +0 -25
  694. package/src/worker/data_store.ts +0 -19
  695. package/src/worker/index.ts +0 -2
  696. package/src/worker/node/index.ts +0 -2
  697. package/src/worker/node/node_data_store.ts +0 -27
  698. package/src/worker/node/node_worker.ts +0 -23
  699. package/src/worker/node/start_node_module.ts +0 -30
  700. package/src/worker/wasm_worker.ts +0 -7
  701. package/src/worker/worker_pool.ts +0 -73
@@ -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,6 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Fr } from '../../fields/fields.js';
1
+ import { Fr } from '../../curves/bn254/field.js';
4
2
  import { type Fieldable } from '../../serialize/serialize.js';
5
3
  /**
6
4
  * Create a poseidon hash (field) from an array of input fields.
@@ -15,7 +13,6 @@ export declare function poseidon2Hash(input: Fieldable[]): Promise<Fr>;
15
13
  * @returns The poseidon hash.
16
14
  */
17
15
  export declare function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Promise<Fr>;
18
- export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>;
19
16
  /**
20
17
  * Runs a Poseidon2 permutation.
21
18
  * @param input the input state. Expected to be of size 4.
@@ -23,4 +20,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr>
23
20
  */
24
21
  export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
25
22
  export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
26
- //# sourceMappingURL=index.d.ts.map
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRjs7OztHQUlHO0FBQ0gsd0JBQXNCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVFuRTtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FTbkc7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FZNUU7QUFFRCx3QkFBc0Isa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBa0JuRSJ9
@@ -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;;;;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"}
@@ -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 poseidon hash (field) from an array of input fields.
@@ -7,9 +7,12 @@ import { serializeToFields } from '../../serialize/serialize.js';
7
7
  * @returns The poseidon hash.
8
8
  */ export async function poseidon2Hash(input) {
9
9
  const inputFields = serializeToFields(input);
10
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
11
- const hash = api.poseidon2Hash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
12
- return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
10
+ await BarretenbergSync.initSingleton();
11
+ const api = BarretenbergSync.getSingleton();
12
+ const response = api.poseidon2Hash({
13
+ inputs: inputFields.map((i)=>i.toBuffer())
14
+ });
15
+ return Fr.fromBuffer(Buffer.from(response.hash));
13
16
  }
14
17
  /**
15
18
  * Create a poseidon hash (field) from an array of input fields and a domain separator.
@@ -19,15 +22,12 @@ import { serializeToFields } from '../../serialize/serialize.js';
19
22
  */ export async function poseidon2HashWithSeparator(input, separator) {
20
23
  const inputFields = serializeToFields(input);
21
24
  inputFields.unshift(new Fr(separator));
22
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
23
- const hash = api.poseidon2Hash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
24
- return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
25
- }
26
- export async function poseidon2HashAccumulate(input) {
27
- const inputFields = serializeToFields(input);
28
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
29
- const result = api.poseidon2HashAccumulate(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
30
- return Fr.fromBuffer(Buffer.from(result.toBuffer()));
25
+ await BarretenbergSync.initSingleton();
26
+ const api = BarretenbergSync.getSingleton();
27
+ const response = api.poseidon2Hash({
28
+ inputs: inputFields.map((i)=>i.toBuffer())
29
+ });
30
+ return Fr.fromBuffer(Buffer.from(response.hash));
31
31
  }
32
32
  /**
33
33
  * Runs a Poseidon2 permutation.
@@ -37,11 +37,14 @@ export async function poseidon2HashAccumulate(input) {
37
37
  const inputFields = serializeToFields(input);
38
38
  // We'd like this assertion but it's not possible to use it in the browser.
39
39
  // assert(input.length === 4, 'Input state must be of size 4');
40
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
41
- const res = api.poseidon2Permutation(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
40
+ await BarretenbergSync.initSingleton();
41
+ const api = BarretenbergSync.getSingleton();
42
+ const response = api.poseidon2Permutation({
43
+ inputs: inputFields.map((i)=>i.toBuffer())
44
+ });
42
45
  // We'd like this assertion but it's not possible to use it in the browser.
43
- // assert(res.length === 4, 'Output state must be of size 4');
44
- return res.map((o)=>Fr.fromBuffer(Buffer.from(o.toBuffer())));
46
+ // assert(response.outputs.length === 4, 'Output state must be of size 4');
47
+ return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
45
48
  }
46
49
  export async function poseidon2HashBytes(input) {
47
50
  const inputFields = [];
@@ -52,7 +55,10 @@ export async function poseidon2HashBytes(input) {
52
55
  fieldBytes.reverse();
53
56
  inputFields.push(Fr.fromBuffer(fieldBytes));
54
57
  }
55
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
56
- const res = api.poseidon2Hash(inputFields.map((i)=>new FrBarretenberg(i.toBuffer())));
57
- return Fr.fromBuffer(Buffer.from(res.toBuffer()));
58
+ await BarretenbergSync.initSingleton();
59
+ const api = BarretenbergSync.getSingleton();
60
+ const response = api.poseidon2Hash({
61
+ inputs: inputFields.map((i)=>i.toBuffer())
62
+ });
63
+ return Fr.fromBuffer(Buffer.from(response.hash));
58
64
  }
@@ -1,6 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- export declare const randomBytes: (len: number) => Buffer;
1
+ export declare const randomBytes: (len: number) => Buffer<ArrayBufferLike>;
4
2
  /**
5
3
  * Generate a random integer less than max.
6
4
  * @param max - The maximum value.
@@ -22,4 +20,4 @@ export declare const randomBigInt: (max: bigint) => bigint;
22
20
  * @returns A random boolean value.
23
21
  */
24
22
  export declare const randomBoolean: () => boolean;
25
- //# sourceMappingURL=index.d.ts.map
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGVBQU8sTUFBTSxXQUFXLDBDQU92QixDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsZUFBTyxNQUFNLFNBQVMseUJBSXJCLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxlQUFPLE1BQU0sWUFBWSx5QkFJeEIsQ0FBQztBQUVGOzs7R0FHRztBQUNILGVBQU8sTUFBTSxhQUFhLGVBR3pCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/index.ts"],"names":[],"mappings":";;AAmBA,eAAO,MAAM,WAAW,QAAS,MAAM,WA8BtC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,WAIpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,QAAS,MAAM,WAIvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,eAGzB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,0CAOvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,yBAIrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yBAIxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,eAGzB,CAAC"}
@@ -1,43 +1,11 @@
1
- import nodeCrypto from 'crypto';
2
- import isNode from 'detect-node';
1
+ import { randomBytes as bbRandomBytes } from '@aztec/bb.js';
3
2
  import { RandomnessSingleton } from './randomness_singleton.js';
4
- // limit of Crypto.getRandomValues()
5
- // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
6
- const MAX_BYTES = 65536;
7
- const getWebCrypto = ()=>{
8
- if (typeof window !== 'undefined' && window.crypto) {
9
- return window.crypto;
10
- }
11
- if (typeof self !== 'undefined' && self.crypto) {
12
- return self.crypto;
13
- }
14
- return undefined;
15
- };
16
3
  export const randomBytes = (len)=>{
17
4
  const singleton = RandomnessSingleton.getInstance();
18
5
  if (singleton.isDeterministic()) {
19
6
  return singleton.getBytes(len);
20
7
  }
21
- if (isNode) {
22
- return nodeCrypto.randomBytes(len);
23
- }
24
- const crypto = getWebCrypto();
25
- if (!crypto) {
26
- throw new Error('randomBytes UnsupportedEnvironment');
27
- }
28
- const buf = Buffer.allocUnsafe(len);
29
- if (len > MAX_BYTES) {
30
- // this is the max bytes crypto.getRandomValues
31
- // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
32
- for(let generated = 0; generated < len; generated += MAX_BYTES){
33
- // buffer.slice automatically checks if the end is past the end of
34
- // the buffer so we don't have to here
35
- crypto.getRandomValues(buf.slice(generated, generated + MAX_BYTES));
36
- }
37
- } else {
38
- crypto.getRandomValues(buf);
39
- }
40
- return buf;
8
+ return Buffer.from(bbRandomBytes(len));
41
9
  };
42
10
  /**
43
11
  * Generate a random integer less than max.
@@ -1,5 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
1
+ import { type LoggerBindings } from '../../log/pino-logger.js';
3
2
  /**
4
3
  * A number generator which is used as a source of randomness in the system. If the SEED env variable is set, the
5
4
  * generator will be deterministic and will always produce the same sequence of numbers. Otherwise a true randomness
@@ -10,11 +9,11 @@
10
9
  */
11
10
  export declare class RandomnessSingleton {
12
11
  private readonly seed?;
13
- private readonly log;
14
12
  private static instance;
15
13
  private counter;
14
+ private log;
16
15
  private constructor();
17
- static getInstance(): RandomnessSingleton;
16
+ static getInstance(bindings?: LoggerBindings): RandomnessSingleton;
18
17
  /**
19
18
  * Indicates whether the generator is deterministic (was seeded) or not.
20
19
  * @returns Whether the generator is deterministic.
@@ -22,4 +21,4 @@ export declare class RandomnessSingleton {
22
21
  isDeterministic(): boolean;
23
22
  getBytes(length: number): Buffer;
24
23
  }
25
- //# sourceMappingURL=randomness_singleton.d.ts.map
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL3JhbmRvbW5lc3Nfc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRjs7Ozs7OztHQU9HO0FBQ0gscUJBQWEsbUJBQW1CO0lBTzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBTnhCLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFzQjtJQUU3QyxPQUFPLENBQUMsT0FBTyxDQUFLO0lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsT0FBTyxlQVdOO0lBRUQsT0FBYyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUFHLG1CQUFtQixDQU94RTtJQUVEOzs7T0FHRztJQUNJLGVBQWUsSUFBSSxPQUFPLENBRWhDO0lBRU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQWdCdEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":";;AAEA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAM5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO;WAYO,WAAW,IAAI,mBAAmB;IAShD;;;OAGG;IACI,eAAe,IAAI,OAAO;IAI1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAiBxC"}
1
+ {"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAE1F;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IANxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,eAWN;IAED,OAAc,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAOxE;IAED;;;OAGG;IACI,eAAe,IAAI,OAAO,CAEhC;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBtC;CACF"}
@@ -8,13 +8,13 @@ import { createLogger } from '../../log/pino-logger.js';
8
8
  * TODO(#3949): This is not safe enough for production and should be made safer or removed before mainnet.
9
9
  */ export class RandomnessSingleton {
10
10
  seed;
11
- log;
12
11
  static instance;
13
12
  counter;
14
- constructor(seed, log = createLogger('foundation:randomness_singleton')){
13
+ log;
14
+ constructor(seed, bindings){
15
15
  this.seed = seed;
16
- this.log = log;
17
16
  this.counter = 0;
17
+ this.log = createLogger('foundation:randomness_singleton', bindings);
18
18
  if (seed !== undefined) {
19
19
  this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
20
20
  this.counter = seed;
@@ -22,10 +22,10 @@ import { createLogger } from '../../log/pino-logger.js';
22
22
  this.log.debug('Using true randomness');
23
23
  }
24
24
  }
25
- static getInstance() {
25
+ static getInstance(bindings) {
26
26
  if (!RandomnessSingleton.instance) {
27
27
  const seed = process.env.SEED ? Number(process.env.SEED) : undefined;
28
- RandomnessSingleton.instance = new RandomnessSingleton(seed);
28
+ RandomnessSingleton.instance = new RandomnessSingleton(seed, bindings);
29
29
  }
30
30
  return RandomnessSingleton.instance;
31
31
  }
@@ -1,4 +1,5 @@
1
- import { type GrumpkinScalar, Point } from '@aztec/foundation/fields';
1
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
2
+ import { Point } from '@aztec/foundation/curves/grumpkin';
2
3
  import { SchnorrSignature } from './signature.js';
3
4
  export * from './signature.js';
4
5
  /**
@@ -27,4 +28,4 @@ export declare class Schnorr {
27
28
  */
28
29
  verifySignature(msg: Uint8Array, pubKey: Point, sig: SchnorrSignature): Promise<boolean>;
29
30
  }
30
- //# sourceMappingURL=index.d.ts.map
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQjs7R0FFRztBQUNILHFCQUFhLE9BQU87SUFDbEI7Ozs7T0FJRztJQUNVLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUt4RTtJQUVEOzs7OztPQUtHO0lBQ1Usa0JBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyw2QkFRMUU7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0Isb0JBVWpGO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAItE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAMzE;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc;IAS3E;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB;CAQnF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAKxE;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,6BAQ1E;IAED;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,oBAUjF;CACF"}
@@ -1,7 +1,5 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { Point } from '@aztec/foundation/fields';
3
- import { numToInt32BE } from '@aztec/foundation/serialize';
4
- import { concatenateUint8Arrays } from '../serialize.js';
2
+ import { Point } from '@aztec/foundation/curves/grumpkin';
5
3
  import { SchnorrSignature } from './signature.js';
6
4
  export * from './signature.js';
7
5
  /**
@@ -12,13 +10,15 @@ export * from './signature.js';
12
10
  * @param privateKey - The private key.
13
11
  * @returns A grumpkin public key.
14
12
  */ async computePublicKey(privateKey) {
15
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
16
- const [result] = api.getWasm().callWasmExport('schnorr_compute_public_key', [
17
- privateKey.toBuffer()
18
- ], [
19
- 64
20
- ]);
21
- return Point.fromBuffer(Buffer.from(result));
13
+ await BarretenbergSync.initSingleton();
14
+ const api = BarretenbergSync.getSingleton();
15
+ const response = api.schnorrComputePublicKey({
16
+ privateKey: privateKey.toBuffer()
17
+ });
18
+ return Point.fromBuffer(Buffer.concat([
19
+ Buffer.from(response.publicKey.x),
20
+ Buffer.from(response.publicKey.y)
21
+ ]));
22
22
  }
23
23
  /**
24
24
  * Constructs a Schnorr signature given a msg and a private key.
@@ -26,21 +26,15 @@ export * from './signature.js';
26
26
  * @param privateKey - The private key of the signer.
27
27
  * @returns A Schnorr signature of the form (s, e).
28
28
  */ async constructSignature(msg, privateKey) {
29
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
30
- const messageArray = concatenateUint8Arrays([
31
- numToInt32BE(msg.length),
32
- msg
33
- ]);
34
- const [s, e] = api.getWasm().callWasmExport('schnorr_construct_signature', [
35
- messageArray,
36
- privateKey.toBuffer()
37
- ], [
38
- 32,
39
- 32
40
- ]);
29
+ await BarretenbergSync.initSingleton();
30
+ const api = BarretenbergSync.getSingleton();
31
+ const response = api.schnorrConstructSignature({
32
+ message: msg,
33
+ privateKey: privateKey.toBuffer()
34
+ });
41
35
  return new SchnorrSignature(Buffer.from([
42
- ...s,
43
- ...e
36
+ ...response.s,
37
+ ...response.e
44
38
  ]));
45
39
  }
46
40
  /**
@@ -50,19 +44,17 @@ export * from './signature.js';
50
44
  * @param sig - The Schnorr signature.
51
45
  * @returns True or false.
52
46
  */ async verifySignature(msg, pubKey, sig) {
53
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
54
- const messageArray = concatenateUint8Arrays([
55
- numToInt32BE(msg.length),
56
- msg
57
- ]);
58
- const [result] = api.getWasm().callWasmExport('schnorr_verify_signature', [
59
- messageArray,
60
- pubKey.toBuffer(),
61
- sig.s,
62
- sig.e
63
- ], [
64
- 1
65
- ]);
66
- return result[0] === 1;
47
+ await BarretenbergSync.initSingleton();
48
+ const api = BarretenbergSync.getSingleton();
49
+ const response = api.schnorrVerifySignature({
50
+ message: msg,
51
+ publicKey: {
52
+ x: pubKey.x.toBuffer(),
53
+ y: pubKey.y.toBuffer()
54
+ },
55
+ s: sig.s,
56
+ e: sig.e
57
+ });
58
+ return response.verified;
67
59
  }
68
60
  }
@@ -1,6 +1,4 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
2
  import { BufferReader } from '@aztec/foundation/serialize';
5
3
  import type { Signature } from '../signature/index.js';
6
4
  /**
@@ -39,17 +37,17 @@ export declare class SchnorrSignature implements Signature {
39
37
  * Returns the 's' component of the signature.
40
38
  * @returns A buffer containing the signature's 's' component.
41
39
  */
42
- get s(): Buffer;
40
+ get s(): Buffer<ArrayBufferLike>;
43
41
  /**
44
42
  * Returns the 'e' component of the signature.
45
43
  * @returns A buffer containing the signature's 'e' component.
46
44
  */
47
- get e(): Buffer;
45
+ get e(): Buffer<ArrayBufferLike>;
48
46
  /**
49
47
  * Returns the full signature as a buffer.
50
48
  * @returns A buffer containing the signature.
51
49
  */
52
- toBuffer(): Buffer;
50
+ toBuffer(): Buffer<ArrayBufferLike>;
53
51
  /**
54
52
  * Deserializes from a buffer.
55
53
  * @param buffer - The buffer representation of the object.
@@ -67,4 +65,4 @@ export declare class SchnorrSignature implements Signature {
67
65
  */
68
66
  toFields(): Fr[];
69
67
  }
70
- //# sourceMappingURL=signature.d.ts.map
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NjaG5vcnIvc2lnbmF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsZ0JBQWlCLFlBQVcsU0FBUztJQVdwQyxPQUFPLENBQUMsTUFBTTtJQVYxQjs7T0FFRztJQUNILE9BQWMsSUFBSSxTQUFNO0lBRXhCOztPQUVHO0lBQ0gsT0FBYyxLQUFLLG1CQUEwQztJQUU3RCxZQUFvQixNQUFNLEVBQUUsTUFBTSxFQUlqQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxXQUUxQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxvQkFLekM7SUFFRDs7O09BR0c7SUFDSCxPQUFjLE1BQU0scUJBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQUdqRTtJQUVEOzs7T0FHRztJQUNILFFBQVEsV0FFUDtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FZZjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAWpC,OAAO,CAAC,MAAM;IAV1B;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,KAAK,mBAA0C;gBAEzC,MAAM,EAAE,MAAM;IAMlC;;;;OAIG;WACW,WAAW,CAAC,SAAS,EAAE,MAAM;IAI3C;;;;OAIG;WACW,UAAU,CAAC,SAAS,EAAE,MAAM;IAO1C;;;OAGG;WACW,MAAM;IAIpB;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,WAEJ;IAED;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAKlE;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE;CAajB"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAWpC,OAAO,CAAC,MAAM;IAV1B;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,KAAK,mBAA0C;IAE7D,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;OAIG;IACH,OAAc,WAAW,CAAC,SAAS,EAAE,MAAM,WAE1C;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,SAAS,EAAE,MAAM,oBAKzC;IAED;;;OAGG;IACH,OAAc,MAAM,qBAEnB;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAGjE;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAYf;CACF"}
@@ -1,5 +1,5 @@
1
- import { randomBytes } from '@aztec/foundation/crypto';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import { randomBytes } from '@aztec/foundation/crypto/random';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
4
4
  /**
5
5
  * Schnorr signature used for transactions.
@@ -1,10 +1,8 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  /**
4
2
  * Secp256k1 elliptic curve operations.
5
3
  */
6
4
  export declare class Secp256k1 {
7
- static generator: Buffer;
5
+ static generator: Buffer<ArrayBuffer>;
8
6
  /**
9
7
  * Point generator
10
8
  * @returns The generator for the curve.
@@ -16,17 +14,17 @@ export declare class Secp256k1 {
16
14
  * @param scalar - Scalar to multiply by.
17
15
  * @returns Result of the multiplication.
18
16
  */
19
- mul(point: Uint8Array, scalar: Uint8Array): Promise<Buffer>;
17
+ mul(point: Uint8Array, scalar: Uint8Array): Promise<Buffer<ArrayBuffer>>;
20
18
  /**
21
19
  * Gets a random field element.
22
20
  * @returns Random field element.
23
21
  */
24
- getRandomFr(): Promise<Buffer>;
22
+ getRandomFr(): Promise<Buffer<ArrayBuffer>>;
25
23
  /**
26
24
  * Converts a 512 bits long buffer to a field.
27
25
  * @param uint512Buf - The buffer to convert.
28
26
  * @returns Buffer representation of the field element.
29
27
  */
30
- reduce512BufferToFr(uint512Buf: Buffer): Promise<Buffer>;
28
+ reduce512BufferToFr(uint512Buf: Buffer): Promise<Buffer<ArrayBuffer>>;
31
29
  }
32
- //# sourceMappingURL=index.d.ts.map
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gscUJBQWEsU0FBUztJQUVwQixNQUFNLENBQUMsU0FBUyxzQkFLYjtJQUVIOzs7T0FHRztJQUNJLFNBQVMsSUFBSSxNQUFNLENBRXpCO0lBRUQ7Ozs7O09BS0c7SUFDVSxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxnQ0FRckQ7SUFFRDs7O09BR0c7SUFDVSxXQUFXLGlDQUt2QjtJQUVEOzs7O09BSUc7SUFDVSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxnQ0FLbEQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1/index.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,qBAAa,SAAS;IAEpB,MAAM,CAAC,SAAS,SAKb;IAEH;;;OAGG;IACI,SAAS,IAAI,MAAM;IAI1B;;;;;OAKG;IACU,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU;IAMtD;;;OAGG;IACU,WAAW;IAMxB;;;;OAIG;IACU,mBAAmB,CAAC,UAAU,EAAE,MAAM;CAOpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,qBAAa,SAAS;IAEpB,MAAM,CAAC,SAAS,sBAKb;IAEH;;;OAGG;IACI,SAAS,IAAI,MAAM,CAEzB;IAED;;;;;OAKG;IACU,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,gCAQrD;IAED;;;OAGG;IACU,WAAW,iCAKvB;IAED;;;;OAIG;IACU,mBAAmB,CAAC,UAAU,EAAE,MAAM,gCAKlD;CACF"}
@@ -81,36 +81,41 @@ import { BarretenbergSync } from '@aztec/bb.js';
81
81
  * @param scalar - Scalar to multiply by.
82
82
  * @returns Result of the multiplication.
83
83
  */ async mul(point, scalar) {
84
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
85
- const [result] = api.getWasm().callWasmExport('ecc_secp256k1__mul', [
86
- point,
84
+ await BarretenbergSync.initSingleton();
85
+ const api = BarretenbergSync.getSingleton();
86
+ const response = api.secp256k1Mul({
87
+ point: {
88
+ x: point.subarray(0, 32),
89
+ y: point.subarray(32, 64)
90
+ },
87
91
  scalar
88
- ], [
89
- 64
92
+ });
93
+ return Buffer.concat([
94
+ Buffer.from(response.point.x),
95
+ Buffer.from(response.point.y)
90
96
  ]);
91
- return Buffer.from(result);
92
97
  }
93
98
  /**
94
99
  * Gets a random field element.
95
100
  * @returns Random field element.
96
101
  */ async getRandomFr() {
97
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
98
- const [result] = api.getWasm().callWasmExport('ecc_secp256k1__get_random_scalar_mod_circuit_modulus', [], [
99
- 32
100
- ]);
101
- return Buffer.from(result);
102
+ await BarretenbergSync.initSingleton();
103
+ const api = BarretenbergSync.getSingleton();
104
+ const response = api.secp256k1GetRandomFr({
105
+ dummy: 0
106
+ });
107
+ return Buffer.from(response.value);
102
108
  }
103
109
  /**
104
110
  * Converts a 512 bits long buffer to a field.
105
111
  * @param uint512Buf - The buffer to convert.
106
112
  * @returns Buffer representation of the field element.
107
113
  */ async reduce512BufferToFr(uint512Buf) {
108
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
109
- const [result] = api.getWasm().callWasmExport('ecc_secp256k1__reduce512_buffer_mod_circuit_modulus', [
110
- uint512Buf
111
- ], [
112
- 32
113
- ]);
114
- return Buffer.from(result);
114
+ await BarretenbergSync.initSingleton();
115
+ const api = BarretenbergSync.getSingleton();
116
+ const response = api.secp256k1Reduce512({
117
+ input: uint512Buf
118
+ });
119
+ return Buffer.from(response.value);
115
120
  }
116
121
  }
@@ -1,3 +1,3 @@
1
1
  export * from './secp256k1_signer.js';
2
2
  export * from './utils.js';
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsWUFBWSxDQUFDIn0=
@@ -21,4 +21,4 @@ export declare class Secp256k1Signer {
21
21
  signMessage(message: Buffer32): Signature;
22
22
  static random(): Secp256k1Signer;
23
23
  }
24
- //# sourceMappingURL=secp256k1_signer.d.ts.map
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcDI1NmsxX3NpZ25lci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NyeXB0by9zZWNwMjU2azEtc2lnbmVyL3NlY3AyNTZrMV9zaWduZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSWpFOzs7Ozs7R0FNRztBQUNILHFCQUFhLGVBQWU7SUFHZCxPQUFPLENBQUMsVUFBVTtJQUY5QixTQUFnQixPQUFPLEVBQUUsVUFBVSxDQUFDO0lBRXBDLFlBQW9CLFVBQVUsRUFBRSxRQUFRLEVBRXZDO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEdBQUcsU0FBUyxDQUVqQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxTQUFTLENBR3hDO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBRS9CO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1_signer.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/secp256k1_signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,SAAgB,OAAO,EAAE,UAAU,CAAC;gBAEhB,UAAU,EAAE,QAAQ;IAIxC,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS;IAIlC;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS;IAKzC,MAAM,CAAC,MAAM,IAAI,eAAe;CAGjC"}
1
+ {"version":3,"file":"secp256k1_signer.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/secp256k1_signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAIjE;;;;;;GAMG;AACH,qBAAa,eAAe;IAGd,OAAO,CAAC,UAAU;IAF9B,SAAgB,OAAO,EAAE,UAAU,CAAC;IAEpC,YAAoB,UAAU,EAAE,QAAQ,EAEvC;IAED,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAEjC;IAED;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAGxC;IAED,MAAM,CAAC,MAAM,IAAI,eAAe,CAE/B;CACF"}