@aztec/bb.js 0.0.1-commit.24de95ac → 0.0.1-commit.2ed92850

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 (630) hide show
  1. package/build/amd64-linux/bb +0 -0
  2. package/build/amd64-linux/nodejs_module.node +0 -0
  3. package/build/amd64-macos/bb +0 -0
  4. package/build/amd64-macos/nodejs_module.node +0 -0
  5. package/build/arm64-linux/bb +0 -0
  6. package/build/arm64-linux/nodejs_module.node +0 -0
  7. package/build/arm64-macos/bb +0 -0
  8. package/build/arm64-macos/nodejs_module.node +0 -0
  9. package/dest/browser/async_map/index.d.ts +1 -1
  10. package/dest/browser/async_map/index.js +1 -1
  11. package/dest/browser/barretenberg/backend.d.ts +58 -40
  12. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  13. package/dest/browser/barretenberg/backend.js +143 -94
  14. package/dest/browser/barretenberg/index.d.ts +3 -5
  15. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  16. package/dest/browser/barretenberg/index.js +19 -28
  17. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
  18. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  19. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  20. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  21. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  22. package/dest/browser/barretenberg/testing/fields.js +47 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  45. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  46. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  47. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  48. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  51. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  52. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  53. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  54. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +9 -2
  55. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +1 -1
  56. package/dest/browser/barretenberg_wasm/index.d.ts +1 -1
  57. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
  58. package/dest/browser/barretenberg_wasm/index.js +2 -3
  59. package/dest/browser/bb_backends/browser/index.d.ts +1 -1
  60. package/dest/browser/bb_backends/browser/index.js +1 -1
  61. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  62. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  63. package/dest/browser/bb_backends/browser/platform.js +10 -0
  64. package/dest/browser/bb_backends/index.d.ts +12 -7
  65. package/dest/browser/bb_backends/index.d.ts.map +1 -1
  66. package/dest/browser/bb_backends/index.js +8 -7
  67. package/dest/browser/bb_backends/interface.d.ts +1 -1
  68. package/dest/browser/bb_backends/wasm.d.ts +1 -1
  69. package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
  70. package/dest/browser/bb_backends/wasm.js +5 -3
  71. package/dest/browser/bbapi_exception.d.ts +1 -1
  72. package/dest/browser/bbapi_exception.d.ts.map +1 -1
  73. package/dest/browser/bbapi_exception.js +1 -1
  74. package/dest/browser/bin/index.d.ts +3 -0
  75. package/dest/browser/bin/index.d.ts.map +1 -0
  76. package/dest/browser/bin/index.js +11 -0
  77. package/dest/browser/cbind/generate.d.ts +5 -2
  78. package/dest/browser/cbind/generate.d.ts.map +1 -1
  79. package/dest/browser/cbind/generate.js +47 -25
  80. package/dest/browser/cbind/generated/api_types.d.ts +766 -1687
  81. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  82. package/dest/browser/cbind/generated/api_types.js +1465 -1555
  83. package/dest/browser/cbind/generated/async.d.ts +3 -5
  84. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  85. package/dest/browser/cbind/generated/async.js +14 -33
  86. package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
  87. package/dest/browser/cbind/generated/sync.d.ts +3 -5
  88. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  89. package/dest/browser/cbind/generated/sync.js +14 -31
  90. package/dest/browser/cbind/naming.d.ts +16 -0
  91. package/dest/browser/cbind/naming.d.ts.map +1 -0
  92. package/dest/browser/cbind/naming.js +24 -0
  93. package/dest/browser/cbind/rust_codegen.d.ts +26 -0
  94. package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
  95. package/dest/browser/cbind/rust_codegen.js +461 -0
  96. package/dest/browser/cbind/schema_visitor.d.ts +47 -0
  97. package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
  98. package/dest/browser/cbind/schema_visitor.js +158 -0
  99. package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
  100. package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
  101. package/dest/browser/cbind/typescript_codegen.js +365 -0
  102. package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
  103. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
  104. package/dest/browser/crs/browser/cached_net_crs.js +6 -1
  105. package/dest/browser/crs/browser/index.d.ts +1 -1
  106. package/dest/browser/crs/index.d.ts +1 -1
  107. package/dest/browser/crs/net_crs.d.ts +1 -16
  108. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  109. package/dest/browser/crs/net_crs.js +6 -1
  110. package/dest/browser/index.d.ts +3 -2
  111. package/dest/browser/index.d.ts.map +1 -1
  112. package/dest/browser/index.js +3 -2
  113. package/dest/browser/proof/index.d.ts +1 -1
  114. package/dest/browser/proof/index.js +1 -1
  115. package/dest/browser/random/browser/index.d.ts +1 -1
  116. package/dest/browser/random/browser/index.d.ts.map +1 -1
  117. package/dest/browser/random/browser/index.js +1 -1
  118. package/dest/browser/random/index.d.ts +1 -1
  119. package/dest/browser/retry/index.d.ts +1 -1
  120. package/dest/browser/retry/index.js +1 -1
  121. package/dest/node/async_map/index.d.ts +1 -1
  122. package/dest/node/async_map/index.js +1 -1
  123. package/dest/node/barretenberg/backend.d.ts +58 -40
  124. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  125. package/dest/node/barretenberg/backend.js +143 -94
  126. package/dest/node/barretenberg/backend.test.d.ts +2 -0
  127. package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
  128. package/dest/node/barretenberg/backend.test.js +103 -0
  129. package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
  130. package/dest/node/barretenberg/blake2s.test.js +2 -2
  131. package/dest/node/barretenberg/index.d.ts +3 -5
  132. package/dest/node/barretenberg/index.d.ts.map +1 -1
  133. package/dest/node/barretenberg/index.js +19 -28
  134. package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
  135. package/dest/node/barretenberg/pedersen.test.js +2 -2
  136. package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
  137. package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
  138. package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
  139. package/dest/node/barretenberg/poseidon.test.js +2 -2
  140. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  141. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  142. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  143. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  144. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  145. package/dest/node/barretenberg/testing/fields.js +47 -0
  146. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  157. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  158. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  159. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  160. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  161. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  162. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  163. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  164. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  165. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  166. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  167. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  168. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  179. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  180. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  181. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  182. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  183. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  184. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  185. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
  186. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  187. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  188. package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
  189. package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
  190. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  191. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  192. package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
  193. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  194. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  195. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  196. package/dest/node/barretenberg_wasm/index.d.ts +1 -1
  197. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  198. package/dest/node/barretenberg_wasm/index.js +2 -3
  199. package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
  200. package/dest/node/barretenberg_wasm/index.test.js +1 -1
  201. package/dest/node/bb_backends/browser/index.d.ts +1 -1
  202. package/dest/node/bb_backends/browser/index.js +1 -1
  203. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  204. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  205. package/dest/node/bb_backends/browser/platform.js +10 -0
  206. package/dest/node/bb_backends/index.d.ts +12 -7
  207. package/dest/node/bb_backends/index.d.ts.map +1 -1
  208. package/dest/node/bb_backends/index.js +8 -7
  209. package/dest/node/bb_backends/interface.d.ts +1 -1
  210. package/dest/node/bb_backends/node/index.d.ts +1 -1
  211. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  212. package/dest/node/bb_backends/node/index.js +17 -11
  213. package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
  214. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
  215. package/dest/node/bb_backends/node/native_pipe.js +11 -10
  216. package/dest/node/bb_backends/node/native_shm.d.ts +4 -3
  217. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  218. package/dest/node/bb_backends/node/native_shm.js +85 -39
  219. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  220. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  221. package/dest/node/bb_backends/node/native_shm_async.js +233 -0
  222. package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
  223. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  224. package/dest/node/bb_backends/node/native_socket.js +46 -32
  225. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  226. package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
  227. package/dest/node/bb_backends/node/platform.js +7 -2
  228. package/dest/node/bb_backends/wasm.d.ts +1 -1
  229. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  230. package/dest/node/bb_backends/wasm.js +5 -3
  231. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  232. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  233. package/dest/node/bbapi/exception_handling.test.js +48 -0
  234. package/dest/node/bbapi_exception.d.ts +1 -1
  235. package/dest/node/bbapi_exception.d.ts.map +1 -1
  236. package/dest/node/bbapi_exception.js +1 -1
  237. package/dest/node/benchmark/index.d.ts +1 -1
  238. package/dest/node/benchmark/index.js +1 -1
  239. package/dest/node/benchmark/timer.d.ts +1 -1
  240. package/dest/node/benchmark/timer.d.ts.map +1 -1
  241. package/dest/node/benchmark/timer.js +2 -1
  242. package/dest/node/bin/index.d.ts +3 -0
  243. package/dest/node/bin/index.d.ts.map +1 -0
  244. package/dest/node/bin/index.js +11 -0
  245. package/dest/node/cbind/generate.d.ts +5 -2
  246. package/dest/node/cbind/generate.d.ts.map +1 -1
  247. package/dest/node/cbind/generate.js +47 -25
  248. package/dest/node/cbind/generated/api_types.d.ts +766 -1687
  249. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  250. package/dest/node/cbind/generated/api_types.js +1465 -1555
  251. package/dest/node/cbind/generated/async.d.ts +3 -5
  252. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  253. package/dest/node/cbind/generated/async.js +14 -33
  254. package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
  255. package/dest/node/cbind/generated/sync.d.ts +3 -5
  256. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  257. package/dest/node/cbind/generated/sync.js +14 -31
  258. package/dest/node/cbind/naming.d.ts +16 -0
  259. package/dest/node/cbind/naming.d.ts.map +1 -0
  260. package/dest/node/cbind/naming.js +24 -0
  261. package/dest/node/cbind/rust_codegen.d.ts +26 -0
  262. package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
  263. package/dest/node/cbind/rust_codegen.js +461 -0
  264. package/dest/node/cbind/schema_visitor.d.ts +47 -0
  265. package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
  266. package/dest/node/cbind/schema_visitor.js +158 -0
  267. package/dest/node/cbind/typescript_codegen.d.ts +30 -0
  268. package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
  269. package/dest/node/cbind/typescript_codegen.js +365 -0
  270. package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
  271. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
  272. package/dest/node/crs/browser/cached_net_crs.js +6 -1
  273. package/dest/node/crs/browser/index.d.ts +1 -1
  274. package/dest/node/crs/index.d.ts +1 -1
  275. package/dest/node/crs/net_crs.d.ts +1 -16
  276. package/dest/node/crs/net_crs.d.ts.map +1 -1
  277. package/dest/node/crs/net_crs.js +6 -1
  278. package/dest/node/crs/node/index.d.ts +1 -1
  279. package/dest/node/crs/node/index.d.ts.map +1 -1
  280. package/dest/node/crs/node/index.js +11 -6
  281. package/dest/node/index.d.ts +3 -2
  282. package/dest/node/index.d.ts.map +1 -1
  283. package/dest/node/index.js +3 -2
  284. package/dest/node/proof/index.d.ts +1 -1
  285. package/dest/node/proof/index.js +1 -1
  286. package/dest/node/random/browser/index.d.ts +1 -1
  287. package/dest/node/random/browser/index.d.ts.map +1 -1
  288. package/dest/node/random/browser/index.js +1 -1
  289. package/dest/node/random/index.d.ts +1 -1
  290. package/dest/node/random/node/index.d.ts +1 -1
  291. package/dest/node/random/node/index.js +1 -1
  292. package/dest/node/retry/index.d.ts +1 -1
  293. package/dest/node/retry/index.js +1 -1
  294. package/dest/node-cjs/async_map/index.d.ts +1 -1
  295. package/dest/node-cjs/async_map/index.js +1 -1
  296. package/dest/node-cjs/barretenberg/backend.d.ts +58 -40
  297. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  298. package/dest/node-cjs/barretenberg/backend.js +151 -100
  299. package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
  300. package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
  301. package/dest/node-cjs/barretenberg/backend.test.js +105 -0
  302. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
  303. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  304. package/dest/node-cjs/barretenberg/index.d.ts +3 -5
  305. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  306. package/dest/node-cjs/barretenberg/index.js +27 -34
  307. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
  308. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  309. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
  310. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
  311. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
  312. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  313. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  314. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  315. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  316. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  317. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  318. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  319. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  320. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  321. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +7 -8
  323. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  324. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  325. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
  326. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  327. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  328. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  329. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  330. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  331. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  332. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  333. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  334. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  335. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  336. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  337. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  338. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  339. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  340. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  341. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
  342. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  343. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  344. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  345. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  346. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  347. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  348. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  349. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  350. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  351. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  352. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  353. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  354. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  355. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  356. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  357. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
  358. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  359. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  360. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  361. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  362. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  363. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
  364. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
  365. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  366. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  367. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
  368. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  369. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  370. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  371. package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
  372. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  373. package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
  374. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
  375. package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
  376. package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
  377. package/dest/node-cjs/bb_backends/browser/index.js +1 -1
  378. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  379. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  380. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  381. package/dest/node-cjs/bb_backends/index.d.ts +12 -7
  382. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  383. package/dest/node-cjs/bb_backends/index.js +6 -6
  384. package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
  385. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  386. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  387. package/dest/node-cjs/bb_backends/node/index.js +17 -11
  388. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
  389. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
  390. package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
  391. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +4 -3
  392. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  393. package/dest/node-cjs/bb_backends/node/native_shm.js +85 -39
  394. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  395. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  396. package/dest/node-cjs/bb_backends/node/native_shm_async.js +237 -0
  397. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
  398. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  399. package/dest/node-cjs/bb_backends/node/native_socket.js +46 -32
  400. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  401. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
  402. package/dest/node-cjs/bb_backends/node/platform.js +8 -3
  403. package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
  404. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  405. package/dest/node-cjs/bb_backends/wasm.js +5 -3
  406. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  407. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  408. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  409. package/dest/node-cjs/bbapi_exception.d.ts +1 -1
  410. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
  411. package/dest/node-cjs/bbapi_exception.js +1 -1
  412. package/dest/node-cjs/benchmark/index.d.ts +1 -1
  413. package/dest/node-cjs/benchmark/index.js +2 -2
  414. package/dest/node-cjs/benchmark/timer.d.ts +1 -1
  415. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
  416. package/dest/node-cjs/benchmark/timer.js +2 -1
  417. package/dest/node-cjs/bin/index.d.ts +3 -0
  418. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  419. package/dest/node-cjs/bin/index.js +13 -0
  420. package/dest/node-cjs/cbind/generate.d.ts +5 -2
  421. package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
  422. package/dest/node-cjs/cbind/generate.js +47 -25
  423. package/dest/node-cjs/cbind/generated/api_types.d.ts +766 -1687
  424. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  425. package/dest/node-cjs/cbind/generated/api_types.js +1671 -1771
  426. package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
  427. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  428. package/dest/node-cjs/cbind/generated/async.js +13 -32
  429. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
  430. package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
  431. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  432. package/dest/node-cjs/cbind/generated/sync.js +13 -30
  433. package/dest/node-cjs/cbind/naming.d.ts +16 -0
  434. package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
  435. package/dest/node-cjs/cbind/naming.js +28 -0
  436. package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
  437. package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
  438. package/dest/node-cjs/cbind/rust_codegen.js +465 -0
  439. package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
  440. package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
  441. package/dest/node-cjs/cbind/schema_visitor.js +162 -0
  442. package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
  443. package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
  444. package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
  445. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
  446. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
  447. package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
  448. package/dest/node-cjs/crs/browser/index.d.ts +1 -1
  449. package/dest/node-cjs/crs/browser/index.js +2 -2
  450. package/dest/node-cjs/crs/index.d.ts +1 -1
  451. package/dest/node-cjs/crs/index.js +2 -2
  452. package/dest/node-cjs/crs/net_crs.d.ts +1 -16
  453. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  454. package/dest/node-cjs/crs/net_crs.js +6 -1
  455. package/dest/node-cjs/crs/node/index.d.ts +1 -1
  456. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  457. package/dest/node-cjs/crs/node/index.js +11 -6
  458. package/dest/node-cjs/index.d.ts +3 -2
  459. package/dest/node-cjs/index.d.ts.map +1 -1
  460. package/dest/node-cjs/index.js +12 -8
  461. package/dest/node-cjs/proof/index.d.ts +1 -1
  462. package/dest/node-cjs/proof/index.js +1 -1
  463. package/dest/node-cjs/random/browser/index.d.ts +1 -1
  464. package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
  465. package/dest/node-cjs/random/browser/index.js +1 -1
  466. package/dest/node-cjs/random/index.d.ts +1 -1
  467. package/dest/node-cjs/random/node/index.d.ts +1 -1
  468. package/dest/node-cjs/random/node/index.js +1 -1
  469. package/dest/node-cjs/retry/index.d.ts +1 -1
  470. package/dest/node-cjs/retry/index.js +1 -1
  471. package/package.json +8 -6
  472. package/src/barretenberg/backend.test.ts +122 -0
  473. package/src/barretenberg/backend.ts +170 -122
  474. package/src/barretenberg/blake2s.test.ts +1 -1
  475. package/src/barretenberg/index.ts +25 -28
  476. package/src/barretenberg/pedersen.test.ts +1 -1
  477. package/src/barretenberg/poseidon.bench.test.ts +160 -157
  478. package/src/barretenberg/poseidon.test.ts +1 -1
  479. package/src/{types → barretenberg/testing}/fields.ts +12 -26
  480. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
  481. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
  482. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
  483. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
  484. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
  485. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +38 -5
  486. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
  487. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
  488. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
  489. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
  490. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
  491. package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
  492. package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
  493. package/src/barretenberg_wasm/index.ts +1 -2
  494. package/src/bb_backends/browser/platform.ts +11 -0
  495. package/src/bb_backends/index.ts +12 -6
  496. package/src/bb_backends/node/index.ts +23 -10
  497. package/src/bb_backends/node/native_shm.ts +81 -38
  498. package/src/bb_backends/node/native_shm_async.ts +262 -0
  499. package/src/bb_backends/node/native_socket.ts +35 -19
  500. package/src/bb_backends/node/platform.ts +6 -1
  501. package/src/bb_backends/wasm.ts +1 -2
  502. package/src/bbapi/exception_handling.test.ts +54 -0
  503. package/src/bin/index.ts +14 -0
  504. package/src/cbind/generate.ts +51 -32
  505. package/src/cbind/naming.ts +27 -0
  506. package/src/cbind/rust_codegen.ts +504 -0
  507. package/src/cbind/schema_visitor.ts +219 -0
  508. package/src/cbind/typescript_codegen.ts +419 -0
  509. package/src/crs/node/index.ts +4 -5
  510. package/src/index.ts +6 -0
  511. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  512. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  513. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  514. package/dest/browser/bigint-array/index.d.ts +0 -17
  515. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  516. package/dest/browser/bigint-array/index.js +0 -37
  517. package/dest/browser/cbind/schema_compiler.d.ts +0 -68
  518. package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
  519. package/dest/browser/cbind/schema_compiler.js +0 -599
  520. package/dest/browser/log/browser/index.d.ts +0 -6
  521. package/dest/browser/log/browser/index.d.ts.map +0 -1
  522. package/dest/browser/log/browser/index.js +0 -28
  523. package/dest/browser/log/index.d.ts +0 -2
  524. package/dest/browser/log/index.d.ts.map +0 -1
  525. package/dest/browser/log/index.js +0 -2
  526. package/dest/browser/log/types.d.ts +0 -6
  527. package/dest/browser/log/types.d.ts.map +0 -1
  528. package/dest/browser/log/types.js +0 -2
  529. package/dest/browser/serialize/index.d.ts +0 -2
  530. package/dest/browser/serialize/index.d.ts.map +0 -1
  531. package/dest/browser/serialize/index.js +0 -2
  532. package/dest/browser/serialize/serialize.d.ts +0 -18
  533. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  534. package/dest/browser/serialize/serialize.js +0 -72
  535. package/dest/browser/types/fields.d.ts +0 -23
  536. package/dest/browser/types/fields.d.ts.map +0 -1
  537. package/dest/browser/types/fields.js +0 -61
  538. package/dest/browser/types/index.d.ts +0 -3
  539. package/dest/browser/types/index.d.ts.map +0 -1
  540. package/dest/browser/types/index.js +0 -3
  541. package/dest/browser/types/point.d.ts +0 -18
  542. package/dest/browser/types/point.d.ts.map +0 -1
  543. package/dest/browser/types/point.js +0 -28
  544. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  545. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  546. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  547. package/dest/node/bigint-array/index.d.ts +0 -17
  548. package/dest/node/bigint-array/index.d.ts.map +0 -1
  549. package/dest/node/bigint-array/index.js +0 -37
  550. package/dest/node/cbind/schema_compiler.d.ts +0 -68
  551. package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
  552. package/dest/node/cbind/schema_compiler.js +0 -599
  553. package/dest/node/log/browser/index.d.ts +0 -6
  554. package/dest/node/log/browser/index.d.ts.map +0 -1
  555. package/dest/node/log/browser/index.js +0 -28
  556. package/dest/node/log/index.d.ts +0 -2
  557. package/dest/node/log/index.d.ts.map +0 -1
  558. package/dest/node/log/index.js +0 -2
  559. package/dest/node/log/node/index.d.ts +0 -6
  560. package/dest/node/log/node/index.d.ts.map +0 -1
  561. package/dest/node/log/node/index.js +0 -40
  562. package/dest/node/log/types.d.ts +0 -6
  563. package/dest/node/log/types.d.ts.map +0 -1
  564. package/dest/node/log/types.js +0 -2
  565. package/dest/node/serialize/index.d.ts +0 -2
  566. package/dest/node/serialize/index.d.ts.map +0 -1
  567. package/dest/node/serialize/index.js +0 -2
  568. package/dest/node/serialize/serialize.d.ts +0 -18
  569. package/dest/node/serialize/serialize.d.ts.map +0 -1
  570. package/dest/node/serialize/serialize.js +0 -72
  571. package/dest/node/types/fields.d.ts +0 -23
  572. package/dest/node/types/fields.d.ts.map +0 -1
  573. package/dest/node/types/fields.js +0 -61
  574. package/dest/node/types/index.d.ts +0 -3
  575. package/dest/node/types/index.d.ts.map +0 -1
  576. package/dest/node/types/index.js +0 -3
  577. package/dest/node/types/point.d.ts +0 -18
  578. package/dest/node/types/point.d.ts.map +0 -1
  579. package/dest/node/types/point.js +0 -28
  580. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  581. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  582. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  583. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  584. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  585. package/dest/node-cjs/bigint-array/index.js +0 -43
  586. package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
  587. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
  588. package/dest/node-cjs/cbind/schema_compiler.js +0 -606
  589. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  590. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  591. package/dest/node-cjs/log/browser/index.js +0 -30
  592. package/dest/node-cjs/log/index.d.ts +0 -2
  593. package/dest/node-cjs/log/index.d.ts.map +0 -1
  594. package/dest/node-cjs/log/index.js +0 -8
  595. package/dest/node-cjs/log/node/index.d.ts +0 -6
  596. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  597. package/dest/node-cjs/log/node/index.js +0 -42
  598. package/dest/node-cjs/log/types.d.ts +0 -6
  599. package/dest/node-cjs/log/types.d.ts.map +0 -1
  600. package/dest/node-cjs/log/types.js +0 -3
  601. package/dest/node-cjs/serialize/index.d.ts +0 -2
  602. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  603. package/dest/node-cjs/serialize/index.js +0 -5
  604. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  605. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  606. package/dest/node-cjs/serialize/serialize.js +0 -82
  607. package/dest/node-cjs/types/fields.d.ts +0 -23
  608. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  609. package/dest/node-cjs/types/fields.js +0 -65
  610. package/dest/node-cjs/types/index.d.ts +0 -3
  611. package/dest/node-cjs/types/index.d.ts.map +0 -1
  612. package/dest/node-cjs/types/index.js +0 -6
  613. package/dest/node-cjs/types/point.d.ts +0 -18
  614. package/dest/node-cjs/types/point.d.ts.map +0 -1
  615. package/dest/node-cjs/types/point.js +0 -32
  616. package/src/bb_backends/sync_to_async_adapter.ts +0 -21
  617. package/src/cbind/generated/api_types.ts +0 -4271
  618. package/src/cbind/generated/async.ts +0 -717
  619. package/src/cbind/generated/curve_constants.ts +0 -53
  620. package/src/cbind/generated/sync.ts +0 -663
  621. package/src/cbind/schema_compiler.ts +0 -745
  622. package/src/log/browser/index.ts +0 -35
  623. package/src/log/index.ts +0 -1
  624. package/src/log/node/index.ts +0 -52
  625. package/src/log/types.ts +0 -6
  626. package/src/serialize/index.ts +0 -1
  627. package/src/serialize/serialize.ts +0 -75
  628. package/src/types/index.ts +0 -2
  629. package/src/types/point.ts +0 -32
  630. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -1,8 +1,7 @@
1
- import { BackendOptions, Barretenberg, CircuitOptions } from './index.js';
1
+ import { Barretenberg } from './index.js';
2
2
  import { ProofData, uint8ArrayToHex, hexToUint8Array } from '../proof/index.js';
3
- import { fromChonkProof, toChonkProof } from '../cbind/generated/api_types.js';
3
+ import { fromChonkProof, toChonkProof, ChonkProof } from '../cbind/generated/api_types.js';
4
4
  import { ungzip } from 'pako';
5
- import { Buffer } from 'buffer';
6
5
  import { Decoder, Encoder } from 'msgpackr';
7
6
 
8
7
  export class AztecClientBackendError extends Error {
@@ -11,29 +10,46 @@ export class AztecClientBackendError extends Error {
11
10
  }
12
11
  }
13
12
 
13
+ /**
14
+ * Target verification environment for proof generation.
15
+ * This determines the hash function used and whether zero-knowledge is enabled.
16
+ */
17
+ export type VerifierTarget =
18
+ | 'evm' // Ethereum/Solidity verification (keccak, ZK enabled)
19
+ | 'evm-no-zk' // Ethereum/Solidity without zero-knowledge
20
+ | 'noir-recursive' // Recursive verification in Noir circuits (poseidon2, ZK enabled)
21
+ | 'noir-recursive-no-zk' // Recursive verification without ZK
22
+ | 'noir-rollup' // Rollup circuits with IPA accumulation (poseidon2, ZK enabled)
23
+ | 'noir-rollup-no-zk' // Rollup circuits without ZK
24
+ | 'starknet' // Starknet verification via Garaga (ZK enabled)
25
+ | 'starknet-no-zk'; // Starknet without zero-knowledge
26
+
14
27
  /**
15
28
  * Options for the UltraHonkBackend.
16
29
  */
17
30
  export type UltraHonkBackendOptions = {
18
- /** Selecting this option will use the keccak hash function instead of poseidon
19
- * when generating challenges in the proof.
20
- * Use this when you want to verify the created proof on an EVM chain.
31
+ /**
32
+ * Target verification environment. Determines hash function and ZK settings.
33
+ * This is the recommended way to configure proof generation.
34
+ *
35
+ * @example
36
+ * // For EVM/Solidity verification
37
+ * backend.generateProof(witness, { verifierTarget: 'evm' });
38
+ *
39
+ * // For recursive verification in Noir
40
+ * backend.generateProof(witness, { verifierTarget: 'noir-recursive' });
21
41
  */
42
+ verifierTarget?: VerifierTarget;
43
+
44
+ // Legacy options - prefer using verifierTarget instead
45
+
46
+ /** @deprecated Use verifierTarget: 'evm-no-zk' instead */
22
47
  keccak?: boolean;
23
- /** Selecting this option will use the keccak hash function instead of poseidon
24
- * when generating challenges in the proof.
25
- * Use this when you want to verify the created proof on an EVM chain.
26
- */
48
+ /** @deprecated Use verifierTarget: 'evm' instead */
27
49
  keccakZK?: boolean;
28
- /** Selecting this option will use the poseidon/stark252 hash function instead of poseidon
29
- * when generating challenges in the proof.
30
- * Use this when you want to verify the created proof on an Starknet chain with Garaga.
31
- */
50
+ /** @deprecated Use verifierTarget: 'starknet-no-zk' instead */
32
51
  starknet?: boolean;
33
- /** Selecting this option will use the poseidon/stark252 hash function instead of poseidon
34
- * when generating challenges in the proof.
35
- * Use this when you want to verify the created proof on an Starknet chain with Garaga.
36
- */
52
+ /** @deprecated Use verifierTarget: 'starknet' instead */
37
53
  starknetZK?: boolean;
38
54
  };
39
55
 
@@ -43,6 +59,67 @@ function getProofSettingsFromOptions(options?: UltraHonkBackendOptions): {
43
59
  disableZk: boolean;
44
60
  optimizedSolidityVerifier: boolean;
45
61
  } {
62
+ // Check for conflicting options - verifierTarget should not be combined with legacy options
63
+ if (options?.verifierTarget) {
64
+ const legacyOptions = [options.keccak, options.keccakZK, options.starknet, options.starknetZK].filter(Boolean);
65
+ if (legacyOptions.length > 0) {
66
+ throw new Error(
67
+ 'Cannot use verifierTarget with legacy options (keccak, keccakZK, starknet, starknetZK). ' +
68
+ 'Use verifierTarget alone.',
69
+ );
70
+ }
71
+
72
+ switch (options.verifierTarget) {
73
+ case 'evm':
74
+ return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: false, optimizedSolidityVerifier: false };
75
+ case 'evm-no-zk':
76
+ return { ipaAccumulation: false, oracleHashType: 'keccak', disableZk: true, optimizedSolidityVerifier: false };
77
+ case 'noir-recursive':
78
+ return {
79
+ ipaAccumulation: false,
80
+ oracleHashType: 'poseidon2',
81
+ disableZk: false,
82
+ optimizedSolidityVerifier: false,
83
+ };
84
+ case 'noir-recursive-no-zk':
85
+ return {
86
+ ipaAccumulation: false,
87
+ oracleHashType: 'poseidon2',
88
+ disableZk: true,
89
+ optimizedSolidityVerifier: false,
90
+ };
91
+ case 'noir-rollup':
92
+ return {
93
+ ipaAccumulation: true,
94
+ oracleHashType: 'poseidon2',
95
+ disableZk: false,
96
+ optimizedSolidityVerifier: false,
97
+ };
98
+ case 'noir-rollup-no-zk':
99
+ return {
100
+ ipaAccumulation: true,
101
+ oracleHashType: 'poseidon2',
102
+ disableZk: true,
103
+ optimizedSolidityVerifier: false,
104
+ };
105
+ case 'starknet':
106
+ return {
107
+ ipaAccumulation: false,
108
+ oracleHashType: 'starknet',
109
+ disableZk: false,
110
+ optimizedSolidityVerifier: false,
111
+ };
112
+ case 'starknet-no-zk':
113
+ return {
114
+ ipaAccumulation: false,
115
+ oracleHashType: 'starknet',
116
+ disableZk: true,
117
+ optimizedSolidityVerifier: false,
118
+ };
119
+ }
120
+ }
121
+
122
+ // Legacy options support (deprecated)
46
123
  return {
47
124
  ipaAccumulation: false,
48
125
  oracleHashType:
@@ -51,36 +128,18 @@ function getProofSettingsFromOptions(options?: UltraHonkBackendOptions): {
51
128
  : options?.starknet || options?.starknetZK
52
129
  ? 'starknet'
53
130
  : 'poseidon2',
54
- // TODO no current way to target non-zk poseidon2 hash
55
131
  disableZk: options?.keccak || options?.starknet ? true : false,
56
132
  optimizedSolidityVerifier: false,
57
133
  };
58
134
  }
59
135
 
60
136
  export class UltraHonkVerifierBackend {
61
- protected api!: Barretenberg;
62
-
63
- constructor(
64
- protected backendOptions: BackendOptions = { threads: 1 },
65
- protected circuitOptions: CircuitOptions = { recursive: false },
66
- ) {}
67
- /** @ignore */
68
- private async instantiate(): Promise<void> {
69
- if (!this.api) {
70
- const api = await Barretenberg.new(this.backendOptions);
71
- const honkRecursion = true;
72
- await api.initSRSForCircuitSize(0);
73
-
74
- this.api = api;
75
- }
76
- }
137
+ constructor(private api: Barretenberg) {}
77
138
 
78
139
  async verifyProof(
79
140
  proofData: ProofData & { verificationKey: Uint8Array },
80
141
  options?: UltraHonkBackendOptions,
81
142
  ): Promise<boolean> {
82
- await this.instantiate();
83
-
84
143
  const proofFrs: Uint8Array[] = [];
85
144
  for (let i = 0; i < proofData.proof.length; i += 32) {
86
145
  proofFrs.push(proofData.proof.slice(i, i + 32));
@@ -93,12 +152,6 @@ export class UltraHonkVerifierBackend {
93
152
  });
94
153
  return verified;
95
154
  }
96
- destroy(): Promise<void> {
97
- if (!this.api) {
98
- return Promise.resolve();
99
- }
100
- return this.api.destroy();
101
- }
102
155
  }
103
156
 
104
157
  export class UltraHonkBackend {
@@ -107,37 +160,23 @@ export class UltraHonkBackend {
107
160
  // These are initialized asynchronously in the `init` function,
108
161
  // constructors cannot be asynchronous which is why we do this.
109
162
 
110
- protected api!: Barretenberg;
111
- protected acirUncompressedBytecode: Uint8Array;
163
+ private acirUncompressedBytecode: Uint8Array;
112
164
 
113
165
  constructor(
114
166
  acirBytecode: string,
115
- protected backendOptions: BackendOptions = { threads: 1 },
116
- protected circuitOptions: CircuitOptions = { recursive: false },
167
+ private api: Barretenberg,
117
168
  ) {
118
169
  this.acirUncompressedBytecode = acirToUint8Array(acirBytecode);
119
170
  }
120
- /** @ignore */
121
- private async instantiate(): Promise<void> {
122
- if (!this.api) {
123
- const api = await Barretenberg.new(this.backendOptions);
124
- const honkRecursion = true;
125
- await api.acirInitSRS(this.acirUncompressedBytecode, this.circuitOptions.recursive, honkRecursion);
126
-
127
- this.api = api;
128
- }
129
- }
130
171
 
131
172
  async generateProof(compressedWitness: Uint8Array, options?: UltraHonkBackendOptions): Promise<ProofData> {
132
- await this.instantiate();
133
-
134
173
  const witness = ungzip(compressedWitness);
135
174
  const { proof, publicInputs } = await this.api.circuitProve({
136
175
  witness,
137
176
  circuit: {
138
177
  name: 'circuit',
139
- bytecode: Buffer.from(this.acirUncompressedBytecode),
140
- verificationKey: Buffer.from([]), // Empty VK - lower performance.
178
+ bytecode: this.acirUncompressedBytecode,
179
+ verificationKey: new Uint8Array(0), // Empty VK - lower performance.
141
180
  },
142
181
  settings: getProofSettingsFromOptions(options),
143
182
  });
@@ -153,8 +192,6 @@ export class UltraHonkBackend {
153
192
  }
154
193
 
155
194
  async verifyProof(proofData: ProofData, options?: UltraHonkBackendOptions): Promise<boolean> {
156
- await this.instantiate();
157
-
158
195
  const proofFrs: Uint8Array[] = [];
159
196
  for (let i = 0; i < proofData.proof.length; i += 32) {
160
197
  proofFrs.push(proofData.proof.slice(i, i + 32));
@@ -177,12 +214,10 @@ export class UltraHonkBackend {
177
214
  }
178
215
 
179
216
  async getVerificationKey(options?: UltraHonkBackendOptions): Promise<Uint8Array> {
180
- await this.instantiate();
181
-
182
217
  const vkResult = await this.api.circuitComputeVk({
183
218
  circuit: {
184
219
  name: 'circuit',
185
- bytecode: Buffer.from(this.acirUncompressedBytecode),
220
+ bytecode: this.acirUncompressedBytecode,
186
221
  },
187
222
  settings: getProofSettingsFromOptions(options),
188
223
  });
@@ -191,7 +226,6 @@ export class UltraHonkBackend {
191
226
 
192
227
  /** @description Returns a solidity verifier */
193
228
  async getSolidityVerifier(vk: Uint8Array, options?: UltraHonkBackendOptions): Promise<string> {
194
- await this.instantiate();
195
229
  const result = await this.api.circuitWriteSolidityVerifier({
196
230
  verificationKey: vk,
197
231
  settings: getProofSettingsFromOptions(options),
@@ -205,8 +239,8 @@ export class UltraHonkBackend {
205
239
  _proof: Uint8Array,
206
240
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
207
241
  _numOfPublicInputs: number,
242
+ options?: UltraHonkBackendOptions,
208
243
  ): Promise<{ proofAsFields: string[]; vkAsFields: string[]; vkHash: string }> {
209
- await this.instantiate();
210
244
  // TODO(https://github.com/noir-lang/noir/issues/5661): This needs to be updated to handle recursive aggregation.
211
245
  // There is still a proofAsFields method but we could consider getting rid of it as the proof itself
212
246
  // is a list of field elements.
@@ -215,14 +249,12 @@ export class UltraHonkBackend {
215
249
  // const proof = reconstructProofWithPublicInputs(proofData);
216
250
  // const proofAsFields = (await this.api.acirProofAsFieldsUltraHonk(proof)).slice(numOfPublicInputs);
217
251
 
218
- // TODO: perhaps we should put this in the init function. Need to benchmark
219
- // TODO how long it takes.
220
252
  const vkResult = await this.api.circuitComputeVk({
221
253
  circuit: {
222
254
  name: 'circuit',
223
- bytecode: Buffer.from(this.acirUncompressedBytecode),
255
+ bytecode: this.acirUncompressedBytecode,
224
256
  },
225
- settings: getProofSettingsFromOptions({}),
257
+ settings: getProofSettingsFromOptions(options),
226
258
  });
227
259
 
228
260
  // Convert VK bytes to field elements (32-byte chunks)
@@ -242,13 +274,6 @@ export class UltraHonkBackend {
242
274
  vkHash: uint8ArrayToHex(vkResult.hash),
243
275
  };
244
276
  }
245
-
246
- async destroy(): Promise<void> {
247
- if (!this.api) {
248
- return;
249
- }
250
- await this.api.destroy();
251
- }
252
277
  }
253
278
 
254
279
  export class AztecClientBackend {
@@ -257,22 +282,11 @@ export class AztecClientBackend {
257
282
  // These are initialized asynchronously in the `init` function,
258
283
  // constructors cannot be asynchronous which is why we do this.
259
284
 
260
- protected api!: Barretenberg;
261
-
262
285
  constructor(
263
- protected acirBuf: Uint8Array[],
264
- protected options: BackendOptions = { threads: 1 },
286
+ private acirBuf: Uint8Array[],
287
+ private api: Barretenberg,
265
288
  ) {}
266
289
 
267
- /** @ignore */
268
- private async instantiate(): Promise<void> {
269
- if (!this.api) {
270
- const api = await Barretenberg.new(this.options);
271
- await api.initSRSChonk();
272
- this.api = api;
273
- }
274
- }
275
-
276
290
  async prove(witnessBuf: Uint8Array[], vksBuf: Uint8Array[] = []): Promise<[Uint8Array[], Uint8Array, Uint8Array]> {
277
291
  if (vksBuf.length !== 0 && this.acirBuf.length !== witnessBuf.length) {
278
292
  throw new AztecClientBackendError('Witness and bytecodes must have the same stack depth!');
@@ -281,7 +295,6 @@ export class AztecClientBackend {
281
295
  // NOTE: we allow 0 as an explicit 'I have no VKs'. This is a deprecated feature.
282
296
  throw new AztecClientBackendError('Witness and VKs must have the same stack depth!');
283
297
  }
284
- await this.instantiate();
285
298
 
286
299
  // Queue IVC start with the number of circuits
287
300
  this.api.chonkStart({ numCircuits: this.acirBuf.length });
@@ -289,22 +302,22 @@ export class AztecClientBackend {
289
302
  // Queue load and accumulate for each circuit
290
303
  for (let i = 0; i < this.acirBuf.length; i++) {
291
304
  const bytecode = this.acirBuf[i];
292
- const witness = witnessBuf[i] || Buffer.from([]);
293
- const vk = vksBuf[i] || Buffer.from([]);
305
+ const witness = witnessBuf[i] || new Uint8Array(0);
306
+ const vk = vksBuf[i] || new Uint8Array(0);
294
307
  const functionName = `unknown_wasm_${i}`;
295
308
 
296
309
  // Load the circuit
297
310
  this.api.chonkLoad({
298
311
  circuit: {
299
312
  name: functionName,
300
- bytecode: Buffer.from(bytecode),
301
- verificationKey: Buffer.from(vk),
313
+ bytecode: bytecode,
314
+ verificationKey: vk,
302
315
  },
303
316
  });
304
317
 
305
318
  // Accumulate with witness
306
319
  this.api.chonkAccumulate({
307
- witness: Buffer.from(witness),
320
+ witness,
308
321
  });
309
322
  }
310
323
 
@@ -313,7 +326,7 @@ export class AztecClientBackend {
313
326
  // The API currently expects a msgpack-encoded API.
314
327
  const proof = new Encoder({ useRecords: false }).encode(fromChonkProof(proveResult.proof));
315
328
  // Generate the VK
316
- const vkResult = await this.api.chonkComputeIvcVk({
329
+ const vkResult = await this.api.chonkComputeVk({
317
330
  circuit: {
318
331
  name: 'hiding',
319
332
  bytecode: this.acirBuf[this.acirBuf.length - 1],
@@ -323,29 +336,39 @@ export class AztecClientBackend {
323
336
  const proofFields = [
324
337
  proveResult.proof.megaProof,
325
338
  proveResult.proof.goblinProof.mergeProof,
326
- proveResult.proof.goblinProof.eccvmProof.preIpaProof,
327
- proveResult.proof.goblinProof.eccvmProof.ipaProof,
339
+ proveResult.proof.goblinProof.eccvmProof,
340
+ proveResult.proof.goblinProof.ipaProof,
328
341
  proveResult.proof.goblinProof.translatorProof,
329
342
  ].flat();
330
343
 
331
- // Note: Verification may not work correctly until we properly serialize the proof
332
- if (!(await this.verify(proof, vkResult.bytes))) {
344
+ // Verify using native proof directly to avoid redundant encode/decode cycle
345
+ if (!(await this.verifyNative(proveResult.proof, vkResult.bytes))) {
333
346
  throw new AztecClientBackendError('Failed to verify the private (Chonk) transaction proof!');
334
347
  }
335
348
  return [proofFields, proof, vkResult.bytes];
336
349
  }
337
350
 
338
351
  async verify(proof: Uint8Array, vk: Uint8Array): Promise<boolean> {
339
- await this.instantiate();
340
352
  const result = await this.api.chonkVerify({
341
353
  proof: toChonkProof(new Decoder({ useRecords: false }).decode(proof)),
342
- vk: Buffer.from(vk),
354
+ vk,
355
+ });
356
+ return result.valid;
357
+ }
358
+
359
+ /**
360
+ * Internal verification using native ChonkProof type.
361
+ * Avoids encode/decode cycle when called from prove().
362
+ */
363
+ private async verifyNative(proof: ChonkProof, vk: Uint8Array): Promise<boolean> {
364
+ const result = await this.api.chonkVerify({
365
+ proof,
366
+ vk,
343
367
  });
344
368
  return result.valid;
345
369
  }
346
370
 
347
371
  async gates(): Promise<number[]> {
348
- await this.instantiate();
349
372
  const circuitSizes: number[] = [];
350
373
  for (const buf of this.acirBuf) {
351
374
  const gates = await this.api.chonkStats({
@@ -359,13 +382,6 @@ export class AztecClientBackend {
359
382
  }
360
383
  return circuitSizes;
361
384
  }
362
-
363
- async destroy(): Promise<void> {
364
- if (!this.api) {
365
- return;
366
- }
367
- await this.api.destroy();
368
- }
369
385
  }
370
386
 
371
387
  // Converts bytecode from a base64 string to a Uint8Array
@@ -374,17 +390,49 @@ function acirToUint8Array(base64EncodedBytecode: string): Uint8Array {
374
390
  return ungzip(compressedByteCode);
375
391
  }
376
392
 
377
- // Since this is a simple function, we can use feature detection to
378
- // see if we are in the nodeJs environment or the browser environment.
393
+ // Base64 decode using atob (works in both browser and Node.js 18+)
379
394
  function base64Decode(input: string): Uint8Array {
380
- if (typeof Buffer !== 'undefined') {
381
- // Node.js environment
382
- const b = Buffer.from(input, 'base64');
383
- return new Uint8Array(b.buffer, b.byteOffset, b.byteLength);
384
- } else if (typeof atob === 'function') {
385
- // Browser environment
395
+ if (typeof atob === 'function') {
386
396
  return Uint8Array.from(atob(input), c => c.charCodeAt(0));
387
397
  } else {
388
- throw new Error('No implementation found for base64 decoding.');
398
+ throw new Error('atob is not available. Node.js 18+ or browser required.');
399
+ }
400
+ }
401
+
402
+ /**
403
+ * Convert a field element (32-byte Uint8Array) to a string.
404
+ *
405
+ * @param field - A 32-byte field element
406
+ * @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
407
+ * @returns The field value as a string in the specified radix
408
+ *
409
+ * @example
410
+ * const decimal = fieldToString(field); // "12345678"
411
+ * const hex = fieldToString(field, 16); // "bc614e"
412
+ */
413
+ export function fieldToString(field: Uint8Array, radix: number = 10): string {
414
+ let result = 0n;
415
+ for (const byte of field) {
416
+ result <<= 8n;
417
+ result += BigInt(byte);
389
418
  }
419
+ return result.toString(radix);
390
420
  }
421
+
422
+ /**
423
+ * Convert an array of field elements to an array of strings.
424
+ * Useful for passing VK fields to Noir circuits.
425
+ *
426
+ * @param fields - Array of 32-byte field elements
427
+ * @param radix - The radix for string conversion (2-36), defaults to 10 (decimal)
428
+ * @returns Array of strings in the specified radix
429
+ *
430
+ * @example
431
+ * const vkAsFields = await barretenbergAPI.vkAsFields({ verificationKey: vk });
432
+ * const vkDecimalStrings = fieldsToStrings(vkAsFields.fields); // ["12345678", "87654321", ...]
433
+ * const vkHexStrings = fieldsToStrings(vkAsFields.fields, 16); // ["bc614e", "5397fb1", ...]
434
+ */
435
+ export function fieldsToStrings(fields: Uint8Array[], radix: number = 10): string[] {
436
+ return fields.map(field => fieldToString(field, radix));
437
+ }
438
+
@@ -1,5 +1,5 @@
1
1
  import { BackendType, Barretenberg, BarretenbergSync } from './index.js';
2
- import { Fr } from '../types/index.js';
2
+ import { Fr } from './testing/fields.js';
3
3
 
4
4
  describe('blake2s async', () => {
5
5
  let api: Barretenberg;
@@ -1,12 +1,19 @@
1
1
  import { Crs, GrumpkinCrs } from '../crs/index.js';
2
- import { createDebugLogger } from '../log/index.js';
3
2
  import { AsyncApi } from '../cbind/generated/async.js';
4
3
  import { SyncApi } from '../cbind/generated/sync.js';
5
4
  import { IMsgpackBackendSync, IMsgpackBackendAsync } from '../bb_backends/interface.js';
6
5
  import { BackendOptions, BackendType } from '../bb_backends/index.js';
7
6
  import { createAsyncBackend, createSyncBackend } from '../bb_backends/node/index.js';
8
7
 
9
- export { UltraHonkBackend, UltraHonkVerifierBackend, AztecClientBackend } from './backend.js';
8
+ export {
9
+ UltraHonkBackend,
10
+ UltraHonkVerifierBackend,
11
+ AztecClientBackend,
12
+ fieldToString,
13
+ fieldsToStrings,
14
+ type UltraHonkBackendOptions,
15
+ type VerifierTarget,
16
+ } from './backend.js';
10
17
  export * from '../bb_backends/index.js';
11
18
 
12
19
  export type CircuitOptions = {
@@ -31,43 +38,38 @@ export class Barretenberg extends AsyncApi {
31
38
  *
32
39
  * If options.backend is set: uses that specific backend (throws if unavailable)
33
40
  * If options.backend is unset: tries backends in order with fallback:
34
- * 1. NativeSharedMemory (if bb binary available)
41
+ * 1. NativeUnixSocket (if bb binary available)
35
42
  * 2. WasmWorker (in browser) or Wasm (in Node.js)
36
43
  */
37
44
  static async new(options: BackendOptions = {}) {
38
- const logger = options.logger ?? createDebugLogger('bb_async');
45
+ const logger = options.logger ?? (() => {});
39
46
 
40
47
  if (options.backend) {
41
48
  // Explicit backend required - no fallback
42
- return await createAsyncBackend(options.backend, options, logger);
49
+ const backend = await createAsyncBackend(options.backend, options, logger);
50
+ if (options.backend === BackendType.Wasm || options.backend === BackendType.WasmWorker) {
51
+ await backend.initSRSChonk();
52
+ }
53
+ return backend;
43
54
  }
44
55
 
45
56
  if (typeof window === 'undefined') {
46
57
  try {
47
- return await createAsyncBackend(BackendType.NativeSharedMemory, options, logger);
58
+ return await createAsyncBackend(BackendType.NativeUnixSocket, options, logger);
48
59
  } catch (err: any) {
49
- logger(`Shared memory unavailable (${err.message}), falling back to other backends`);
50
- try {
51
- return await createAsyncBackend(BackendType.NativeUnixSocket, options, logger);
52
- } catch (err: any) {
53
- logger(`Unix socket unavailable (${err.message}), falling back to WASM`);
54
- return await createAsyncBackend(BackendType.Wasm, options, logger);
55
- }
60
+ logger(`Unix socket unavailable (${err.message}), falling back to WASM`);
61
+ const backend = await createAsyncBackend(BackendType.Wasm, options, logger);
62
+ await backend.initSRSChonk();
63
+ return backend;
56
64
  }
57
65
  } else {
58
66
  logger(`In browser, using WASM over worker backend.`);
59
- return await createAsyncBackend(BackendType.WasmWorker, options, logger);
67
+ const backend = await createAsyncBackend(BackendType.WasmWorker, options, logger);
68
+ await backend.initSRSChonk();
69
+ return backend;
60
70
  }
61
71
  }
62
72
 
63
- async initSRSForCircuitSize(circuitSize: number): Promise<void> {
64
- const minSRSSize = 2 ** 9; // 2**9 is the dyadic size for the SmallSubgroupIPA MSM.
65
- const crs = await Crs.new(Math.max(circuitSize, minSRSSize) + 1, this.options.crsPath, this.options.logger);
66
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1129): Do slab allocator initialization?
67
- // await this.commonInitSlabAllocator(circuitSize);
68
- await this.srsInitSrs({ pointsBuf: crs.getG1Data(), numPoints: crs.numPoints, g2Point: crs.getG2Data() });
69
- }
70
-
71
73
  async initSRSChonk(srsSize = this.getDefaultSrsSize()): Promise<void> {
72
74
  // crsPath can be undefined
73
75
  const crs = await Crs.new(srsSize + 1, this.options.crsPath, this.options.logger);
@@ -106,11 +108,6 @@ export class Barretenberg extends AsyncApi {
106
108
  return [response.numGates, response.numGatesDyadic];
107
109
  }
108
110
 
109
- async acirInitSRS(bytecode: Uint8Array, recursive: boolean, honkRecursion: boolean): Promise<void> {
110
- const [_, subgroupSize] = await this.acirGetCircuitSizes(bytecode, recursive, honkRecursion);
111
- return this.initSRSForCircuitSize(subgroupSize);
112
- }
113
-
114
111
  async destroy() {
115
112
  return super.destroy();
116
113
  }
@@ -177,7 +174,7 @@ export class BarretenbergSync extends SyncApi {
177
174
  * Not supported: WasmWorker (no workers in sync), NativeUnixSocket (async only)
178
175
  */
179
176
  static async new(options: BackendOptions = {}) {
180
- const logger = options.logger ?? createDebugLogger('bb_sync');
177
+ const logger = options.logger ?? (() => {});
181
178
 
182
179
  if (options.backend) {
183
180
  return await createSyncBackend(options.backend, options, logger);
@@ -1,6 +1,6 @@
1
1
  import { BarretenbergSync } from './index.js';
2
2
  import { Timer } from '../benchmark/timer.js';
3
- import { Fr } from '../types/index.js';
3
+ import { Fr } from './testing/fields.js';
4
4
 
5
5
  describe('pedersen sync', () => {
6
6
  let api: BarretenbergSync;