@aztec/foundation 0.0.0-test.0 → 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,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
  import type { Signature } from '../signature/index.js';
@@ -1,36 +1,34 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { Fr, type GrumpkinScalar, Point } from '@aztec/foundation/fields';
2
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
4
+ import { Point } from '@aztec/foundation/curves/grumpkin';
3
5
 
4
6
  /**
5
7
  * Grumpkin elliptic curve operations.
6
8
  */
7
9
  export class Grumpkin {
8
10
  // prettier-ignore
9
- static generator = Point.fromBuffer(Buffer.from([
11
+ static readonly generator = Point.fromBuffer(Buffer.from([
10
12
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
11
13
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
12
14
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xcf, 0x13, 0x5e, 0x75, 0x06, 0xa4, 0x5d, 0x63,
13
15
  0x2d, 0x27, 0x0d, 0x45, 0xf1, 0x18, 0x12, 0x94, 0x83, 0x3f, 0xc4, 0x8d, 0x82, 0x3f, 0x27, 0x2c,
14
16
  ]));
15
17
 
16
- /**
17
- * Point generator
18
- * @returns The generator for the curve.
19
- */
20
- public generator(): Point {
21
- return Grumpkin.generator;
22
- }
23
-
24
18
  /**
25
19
  * Multiplies a point by a scalar (adds the point `scalar` amount of times).
26
20
  * @param point - Point to multiply.
27
21
  * @param scalar - Scalar to multiply by.
28
22
  * @returns Result of the multiplication.
29
23
  */
30
- public async mul(point: Point, scalar: GrumpkinScalar): Promise<Point> {
31
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
32
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__mul', [point.toBuffer(), scalar.toBuffer()], [64]);
33
- return Point.fromBuffer(Buffer.from(result));
24
+ public static async mul(point: Point, scalar: GrumpkinScalar): Promise<Point> {
25
+ await BarretenbergSync.initSingleton();
26
+ const api = BarretenbergSync.getSingleton();
27
+ const response = api.grumpkinMul({
28
+ point: { x: point.x.toBuffer(), y: point.y.toBuffer() },
29
+ scalar: scalar.toBuffer(),
30
+ });
31
+ return Point.fromBuffer(Buffer.concat([Buffer.from(response.point.x), Buffer.from(response.point.y)]));
34
32
  }
35
33
 
36
34
  /**
@@ -39,10 +37,14 @@ export class Grumpkin {
39
37
  * @param b - Point b to add to a
40
38
  * @returns Result of the addition.
41
39
  */
42
- public async add(a: Point, b: Point): Promise<Point> {
43
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
44
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__add', [a.toBuffer(), b.toBuffer()], [64]);
45
- return Point.fromBuffer(Buffer.from(result));
40
+ public static async add(a: Point, b: Point): Promise<Point> {
41
+ await BarretenbergSync.initSingleton();
42
+ const api = BarretenbergSync.getSingleton();
43
+ const response = api.grumpkinAdd({
44
+ pointA: { x: a.x.toBuffer(), y: a.y.toBuffer() },
45
+ pointB: { x: b.x.toBuffer(), y: b.y.toBuffer() },
46
+ });
47
+ return Point.fromBuffer(Buffer.concat([Buffer.from(response.point.x), Buffer.from(response.point.y)]));
46
48
  }
47
49
 
48
50
  /**
@@ -51,35 +53,26 @@ export class Grumpkin {
51
53
  * @param scalar - Scalar to multiply by.
52
54
  * @returns Points multiplied by the scalar.
53
55
  */
54
- public async batchMul(points: Point[], scalar: GrumpkinScalar) {
55
- const concatenatedPoints: Buffer = Buffer.concat(points.map(point => point.toBuffer()));
56
-
57
- const pointsByteLength = points.length * Point.SIZE_IN_BYTES;
58
-
59
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
60
- const [result] = api
61
- .getWasm()
62
- .callWasmExport(
63
- 'ecc_grumpkin__batch_mul',
64
- [concatenatedPoints, scalar.toBuffer(), points.length],
65
- [pointsByteLength],
66
- );
56
+ public static async batchMul(points: Point[], scalar: GrumpkinScalar) {
57
+ await BarretenbergSync.initSingleton();
58
+ const api = BarretenbergSync.getSingleton();
59
+ const response = api.grumpkinBatchMul({
60
+ points: points.map(p => ({ x: p.x.toBuffer(), y: p.y.toBuffer() })),
61
+ scalar: scalar.toBuffer(),
62
+ });
67
63
 
68
- const parsedResult: Point[] = [];
69
- for (let i = 0; i < pointsByteLength; i += 64) {
70
- parsedResult.push(Point.fromBuffer(Buffer.from(result.subarray(i, i + 64))));
71
- }
72
- return parsedResult;
64
+ return response.points.map(p => Point.fromBuffer(Buffer.concat([Buffer.from(p.x), Buffer.from(p.y)])));
73
65
  }
74
66
 
75
67
  /**
76
68
  * Gets a random field element.
77
69
  * @returns Random field element.
78
70
  */
79
- public async getRandomFr(): Promise<Fr> {
80
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
81
- const [result] = api.getWasm().callWasmExport('ecc_grumpkin__get_random_scalar_mod_circuit_modulus', [], [32]);
82
- return Fr.fromBuffer(Buffer.from(result));
71
+ public static async getRandomFr(): Promise<Fr> {
72
+ await BarretenbergSync.initSingleton();
73
+ const api = BarretenbergSync.getSingleton();
74
+ const response = api.grumpkinGetRandomFr({ dummy: 0 });
75
+ return Fr.fromBuffer(Buffer.from(response.value));
83
76
  }
84
77
 
85
78
  /**
@@ -87,11 +80,10 @@ export class Grumpkin {
87
80
  * @param uint512Buf - The buffer to convert.
88
81
  * @returns Buffer representation of the field element.
89
82
  */
90
- public async reduce512BufferToFr(uint512Buf: Buffer): Promise<Fr> {
91
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
92
- const [result] = api
93
- .getWasm()
94
- .callWasmExport('ecc_grumpkin__reduce512_buffer_mod_circuit_modulus', [uint512Buf], [32]);
95
- return Fr.fromBuffer(Buffer.from(result));
83
+ public static async reduce512BufferToFr(uint512Buf: Buffer): Promise<Fr> {
84
+ await BarretenbergSync.initSingleton();
85
+ const api = BarretenbergSync.getSingleton();
86
+ const response = api.grumpkinReduce512({ input: uint512Buf });
87
+ return Fr.fromBuffer(Buffer.from(response.value));
96
88
  }
97
89
  }
@@ -1,10 +1,10 @@
1
- import { BarretenbergSync, RawBuffer } from '@aztec/bb.js';
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
2
 
3
- import { Fr } from '../../fields/fields.js';
3
+ import { Fr } from '../../curves/bn254/field.js';
4
4
 
5
5
  export async function vkAsFieldsMegaHonk(input: Buffer): Promise<Fr[]> {
6
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
7
- const result = api.acirVkAsFieldsMegaHonk(new RawBuffer(input));
8
-
9
- return result.map(bbFr => Fr.fromBuffer(Buffer.from(bbFr.toBuffer()))); // TODO(#4189): remove this conversion
6
+ await BarretenbergSync.initSingleton();
7
+ const api = BarretenbergSync.getSingleton();
8
+ const response = api.megaVkAsFields({ verificationKey: input });
9
+ return response.fields.map(field => Fr.fromBuffer(Buffer.from(field)));
10
10
  }
@@ -1,6 +1,6 @@
1
- import { BarretenbergSync, Fr as FrBarretenberg } from '@aztec/bb.js';
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
2
 
3
- import { Fr } from '../../fields/fields.js';
3
+ import { Fr } from '../../curves/bn254/field.js';
4
4
  import { type Fieldable, serializeToFields } from '../../serialize/serialize.js';
5
5
 
6
6
  /**
@@ -12,14 +12,13 @@ export async function pedersenCommit(input: Buffer[], offset = 0) {
12
12
  throw new Error('All Pedersen Commit input buffers must be <= 32 bytes.');
13
13
  }
14
14
  input = input.map(i => (i.length < 32 ? Buffer.concat([Buffer.alloc(32 - i.length, 0), i]) : i));
15
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
16
- const point = api.pedersenCommit(
17
- input.map(i => new FrBarretenberg(i)),
18
- offset,
19
- );
20
- // toBuffer returns Uint8Arrays (browser/worker-boundary friendly).
21
- // TODO: rename toTypedArray()?
22
- return [Buffer.from(point.x.toBuffer()), Buffer.from(point.y.toBuffer())];
15
+ await BarretenbergSync.initSingleton();
16
+ const api = BarretenbergSync.getSingleton();
17
+ const response = api.pedersenCommit({
18
+ inputs: input,
19
+ hashIndex: offset,
20
+ });
21
+ return [Buffer.from(response.point.x), Buffer.from(response.point.y)];
23
22
  }
24
23
 
25
24
  /**
@@ -30,19 +29,24 @@ export async function pedersenCommit(input: Buffer[], offset = 0) {
30
29
  */
31
30
  export async function pedersenHash(input: Fieldable[], index = 0): Promise<Fr> {
32
31
  const inputFields = serializeToFields(input);
33
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
34
- const hash = api.pedersenHash(
35
- inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
36
- index,
37
- );
38
- return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
32
+ await BarretenbergSync.initSingleton();
33
+ const api = BarretenbergSync.getSingleton();
34
+ const response = api.pedersenHash({
35
+ inputs: inputFields.map(i => i.toBuffer()),
36
+ hashIndex: index,
37
+ });
38
+ return Fr.fromBuffer(Buffer.from(response.hash));
39
39
  }
40
40
 
41
41
  /**
42
42
  * Create a pedersen hash from an arbitrary length buffer.
43
43
  */
44
44
  export async function pedersenHashBuffer(input: Buffer, index = 0) {
45
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
46
- const result = api.pedersenHashBuffer(input, index);
47
- return Buffer.from(result.toBuffer());
45
+ await BarretenbergSync.initSingleton();
46
+ const api = BarretenbergSync.getSingleton();
47
+ const response = api.pedersenHashBuffer({
48
+ input,
49
+ hashIndex: index,
50
+ });
51
+ return Buffer.from(response.hash);
48
52
  }
@@ -1,6 +1,6 @@
1
- import { BarretenbergSync, Fr as FrBarretenberg } from '@aztec/bb.js';
1
+ import { BarretenbergSync } from '@aztec/bb.js';
2
2
 
3
- import { Fr } from '../../fields/fields.js';
3
+ import { Fr } from '../../curves/bn254/field.js';
4
4
  import { type Fieldable, serializeToFields } from '../../serialize/serialize.js';
5
5
 
6
6
  /**
@@ -10,11 +10,12 @@ import { type Fieldable, serializeToFields } from '../../serialize/serialize.js'
10
10
  */
11
11
  export async function poseidon2Hash(input: Fieldable[]): Promise<Fr> {
12
12
  const inputFields = serializeToFields(input);
13
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
14
- const hash = api.poseidon2Hash(
15
- inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
16
- );
17
- return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
13
+ await BarretenbergSync.initSingleton();
14
+ const api = BarretenbergSync.getSingleton();
15
+ const response = api.poseidon2Hash({
16
+ inputs: inputFields.map(i => i.toBuffer()),
17
+ });
18
+ return Fr.fromBuffer(Buffer.from(response.hash));
18
19
  }
19
20
 
20
21
  /**
@@ -26,19 +27,12 @@ export async function poseidon2Hash(input: Fieldable[]): Promise<Fr> {
26
27
  export async function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Promise<Fr> {
27
28
  const inputFields = serializeToFields(input);
28
29
  inputFields.unshift(new Fr(separator));
29
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
30
-
31
- const hash = api.poseidon2Hash(
32
- inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
33
- );
34
- return Fr.fromBuffer(Buffer.from(hash.toBuffer()));
35
- }
36
-
37
- export async function poseidon2HashAccumulate(input: Fieldable[]): Promise<Fr> {
38
- const inputFields = serializeToFields(input);
39
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
40
- const result = api.poseidon2HashAccumulate(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
41
- return Fr.fromBuffer(Buffer.from(result.toBuffer()));
30
+ await BarretenbergSync.initSingleton();
31
+ const api = BarretenbergSync.getSingleton();
32
+ const response = api.poseidon2Hash({
33
+ inputs: inputFields.map(i => i.toBuffer()),
34
+ });
35
+ return Fr.fromBuffer(Buffer.from(response.hash));
42
36
  }
43
37
 
44
38
  /**
@@ -50,11 +44,14 @@ export async function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]> {
50
44
  const inputFields = serializeToFields(input);
51
45
  // We'd like this assertion but it's not possible to use it in the browser.
52
46
  // assert(input.length === 4, 'Input state must be of size 4');
53
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
54
- const res = api.poseidon2Permutation(inputFields.map(i => new FrBarretenberg(i.toBuffer())));
47
+ await BarretenbergSync.initSingleton();
48
+ const api = BarretenbergSync.getSingleton();
49
+ const response = api.poseidon2Permutation({
50
+ inputs: inputFields.map(i => i.toBuffer()),
51
+ });
55
52
  // We'd like this assertion but it's not possible to use it in the browser.
56
- // assert(res.length === 4, 'Output state must be of size 4');
57
- return res.map(o => Fr.fromBuffer(Buffer.from(o.toBuffer())));
53
+ // assert(response.outputs.length === 4, 'Output state must be of size 4');
54
+ return response.outputs.map(o => Fr.fromBuffer(Buffer.from(o)));
58
55
  }
59
56
 
60
57
  export async function poseidon2HashBytes(input: Buffer): Promise<Fr> {
@@ -68,10 +65,11 @@ export async function poseidon2HashBytes(input: Buffer): Promise<Fr> {
68
65
  inputFields.push(Fr.fromBuffer(fieldBytes));
69
66
  }
70
67
 
71
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
72
- const res = api.poseidon2Hash(
73
- inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
74
- );
68
+ await BarretenbergSync.initSingleton();
69
+ const api = BarretenbergSync.getSingleton();
70
+ const response = api.poseidon2Hash({
71
+ inputs: inputFields.map(i => i.toBuffer()),
72
+ });
75
73
 
76
- return Fr.fromBuffer(Buffer.from(res.toBuffer()));
74
+ return Fr.fromBuffer(Buffer.from(response.hash));
77
75
  }
@@ -1,52 +1,14 @@
1
- import nodeCrypto from 'crypto';
2
- import isNode from 'detect-node';
1
+ import { randomBytes as bbRandomBytes } from '@aztec/bb.js';
3
2
 
4
3
  import { RandomnessSingleton } from './randomness_singleton.js';
5
4
 
6
- // limit of Crypto.getRandomValues()
7
- // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
8
- const MAX_BYTES = 65536;
9
-
10
- const getWebCrypto = () => {
11
- if (typeof window !== 'undefined' && window.crypto) {
12
- return window.crypto;
13
- }
14
- if (typeof self !== 'undefined' && self.crypto) {
15
- return self.crypto;
16
- }
17
- return undefined;
18
- };
19
-
20
5
  export const randomBytes = (len: number) => {
21
6
  const singleton = RandomnessSingleton.getInstance();
22
7
 
23
8
  if (singleton.isDeterministic()) {
24
9
  return singleton.getBytes(len);
25
10
  }
26
-
27
- if (isNode) {
28
- return nodeCrypto.randomBytes(len) as Buffer;
29
- }
30
-
31
- const crypto = getWebCrypto();
32
- if (!crypto) {
33
- throw new Error('randomBytes UnsupportedEnvironment');
34
- }
35
-
36
- const buf = Buffer.allocUnsafe(len);
37
- if (len > MAX_BYTES) {
38
- // this is the max bytes crypto.getRandomValues
39
- // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
40
- for (let generated = 0; generated < len; generated += MAX_BYTES) {
41
- // buffer.slice automatically checks if the end is past the end of
42
- // the buffer so we don't have to here
43
- crypto.getRandomValues(buf.slice(generated, generated + MAX_BYTES));
44
- }
45
- } else {
46
- crypto.getRandomValues(buf);
47
- }
48
-
49
- return buf;
11
+ return Buffer.from(bbRandomBytes(len)) as Buffer<ArrayBuffer>;
50
12
  };
51
13
 
52
14
  /**
@@ -1,4 +1,4 @@
1
- import { createLogger } from '../../log/pino-logger.js';
1
+ import { type Logger, type LoggerBindings, createLogger } from '../../log/pino-logger.js';
2
2
 
3
3
  /**
4
4
  * A number generator which is used as a source of randomness in the system. If the SEED env variable is set, the
@@ -12,11 +12,13 @@ export class RandomnessSingleton {
12
12
  private static instance: RandomnessSingleton;
13
13
 
14
14
  private counter = 0;
15
+ private log: Logger;
15
16
 
16
17
  private constructor(
17
18
  private readonly seed?: number,
18
- private readonly log = createLogger('foundation:randomness_singleton'),
19
+ bindings?: LoggerBindings,
19
20
  ) {
21
+ this.log = createLogger('foundation:randomness_singleton', bindings);
20
22
  if (seed !== undefined) {
21
23
  this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
22
24
  this.counter = seed;
@@ -25,10 +27,10 @@ export class RandomnessSingleton {
25
27
  }
26
28
  }
27
29
 
28
- public static getInstance(): RandomnessSingleton {
30
+ public static getInstance(bindings?: LoggerBindings): RandomnessSingleton {
29
31
  if (!RandomnessSingleton.instance) {
30
32
  const seed = process.env.SEED ? Number(process.env.SEED) : undefined;
31
- RandomnessSingleton.instance = new RandomnessSingleton(seed);
33
+ RandomnessSingleton.instance = new RandomnessSingleton(seed, bindings);
32
34
  }
33
35
 
34
36
  return RandomnessSingleton.instance;
@@ -1,8 +1,7 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { type GrumpkinScalar, Point } from '@aztec/foundation/fields';
3
- import { numToInt32BE } from '@aztec/foundation/serialize';
2
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
3
+ import { Point } from '@aztec/foundation/curves/grumpkin';
4
4
 
5
- import { concatenateUint8Arrays } from '../serialize.js';
6
5
  import { SchnorrSignature } from './signature.js';
7
6
 
8
7
  export * from './signature.js';
@@ -17,9 +16,10 @@ export class Schnorr {
17
16
  * @returns A grumpkin public key.
18
17
  */
19
18
  public async computePublicKey(privateKey: GrumpkinScalar): Promise<Point> {
20
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
21
- const [result] = api.getWasm().callWasmExport('schnorr_compute_public_key', [privateKey.toBuffer()], [64]);
22
- return Point.fromBuffer(Buffer.from(result));
19
+ await BarretenbergSync.initSingleton();
20
+ const api = BarretenbergSync.getSingleton();
21
+ const response = api.schnorrComputePublicKey({ privateKey: privateKey.toBuffer() });
22
+ return Point.fromBuffer(Buffer.concat([Buffer.from(response.publicKey.x), Buffer.from(response.publicKey.y)]));
23
23
  }
24
24
 
25
25
  /**
@@ -29,12 +29,13 @@ export class Schnorr {
29
29
  * @returns A Schnorr signature of the form (s, e).
30
30
  */
31
31
  public async constructSignature(msg: Uint8Array, privateKey: GrumpkinScalar) {
32
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
33
- const messageArray = concatenateUint8Arrays([numToInt32BE(msg.length), msg]);
34
- const [s, e] = api
35
- .getWasm()
36
- .callWasmExport('schnorr_construct_signature', [messageArray, privateKey.toBuffer()], [32, 32]);
37
- return new SchnorrSignature(Buffer.from([...s, ...e]));
32
+ await BarretenbergSync.initSingleton();
33
+ const api = BarretenbergSync.getSingleton();
34
+ const response = api.schnorrConstructSignature({
35
+ message: msg,
36
+ privateKey: privateKey.toBuffer(),
37
+ });
38
+ return new SchnorrSignature(Buffer.from([...response.s, ...response.e]));
38
39
  }
39
40
 
40
41
  /**
@@ -45,11 +46,14 @@ export class Schnorr {
45
46
  * @returns True or false.
46
47
  */
47
48
  public async verifySignature(msg: Uint8Array, pubKey: Point, sig: SchnorrSignature) {
48
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
49
- const messageArray = concatenateUint8Arrays([numToInt32BE(msg.length), msg]);
50
- const [result] = api
51
- .getWasm()
52
- .callWasmExport('schnorr_verify_signature', [messageArray, pubKey.toBuffer(), sig.s, sig.e], [1]);
53
- return result[0] === 1;
49
+ await BarretenbergSync.initSingleton();
50
+ const api = BarretenbergSync.getSingleton();
51
+ const response = api.schnorrVerifySignature({
52
+ message: msg,
53
+ publicKey: { x: pubKey.x.toBuffer(), y: pubKey.y.toBuffer() },
54
+ s: sig.s,
55
+ e: sig.e,
56
+ });
57
+ return response.verified;
54
58
  }
55
59
  }
@@ -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
  import type { Signature } from '../signature/index.js';
@@ -27,9 +27,13 @@ export class Secp256k1 {
27
27
  * @returns Result of the multiplication.
28
28
  */
29
29
  public async mul(point: Uint8Array, scalar: Uint8Array) {
30
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
31
- const [result] = api.getWasm().callWasmExport('ecc_secp256k1__mul', [point, scalar], [64]);
32
- return Buffer.from(result);
30
+ await BarretenbergSync.initSingleton();
31
+ const api = BarretenbergSync.getSingleton();
32
+ const response = api.secp256k1Mul({
33
+ point: { x: point.subarray(0, 32), y: point.subarray(32, 64) },
34
+ scalar,
35
+ });
36
+ return Buffer.concat([Buffer.from(response.point.x), Buffer.from(response.point.y)]);
33
37
  }
34
38
 
35
39
  /**
@@ -37,9 +41,10 @@ export class Secp256k1 {
37
41
  * @returns Random field element.
38
42
  */
39
43
  public async getRandomFr() {
40
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
41
- const [result] = api.getWasm().callWasmExport('ecc_secp256k1__get_random_scalar_mod_circuit_modulus', [], [32]);
42
- return Buffer.from(result);
44
+ await BarretenbergSync.initSingleton();
45
+ const api = BarretenbergSync.getSingleton();
46
+ const response = api.secp256k1GetRandomFr({ dummy: 0 });
47
+ return Buffer.from(response.value);
43
48
  }
44
49
 
45
50
  /**
@@ -48,10 +53,9 @@ export class Secp256k1 {
48
53
  * @returns Buffer representation of the field element.
49
54
  */
50
55
  public async reduce512BufferToFr(uint512Buf: Buffer) {
51
- const api = await BarretenbergSync.initSingleton(process.env.BB_WASM_PATH);
52
- const [result] = api
53
- .getWasm()
54
- .callWasmExport('ecc_secp256k1__reduce512_buffer_mod_circuit_modulus', [uint512Buf], [32]);
55
- return Buffer.from(result);
56
+ await BarretenbergSync.initSingleton();
57
+ const api = BarretenbergSync.getSingleton();
58
+ const response = api.secp256k1Reduce512({ input: uint512Buf });
59
+ return Buffer.from(response.value);
56
60
  }
57
61
  }