@aztec/bb.js 3.0.0-devnet.2 → 3.0.0-devnet.2-patch.1

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 (599) 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 +30 -39
  12. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  13. package/dest/browser/barretenberg/backend.js +103 -98
  14. package/dest/browser/barretenberg/index.d.ts +4 -6
  15. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  16. package/dest/browser/barretenberg/index.js +20 -29
  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 +7 -0
  72. package/dest/browser/bbapi_exception.d.ts.map +1 -0
  73. package/dest/browser/bbapi_exception.js +14 -0
  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 +1 -1
  78. package/dest/browser/cbind/generate.js +93 -1
  79. package/dest/browser/cbind/generated/api_types.d.ts +632 -400
  80. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  81. package/dest/browser/cbind/generated/api_types.js +773 -465
  82. package/dest/browser/cbind/generated/async.d.ts +16 -11
  83. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  84. package/dest/browser/cbind/generated/async.js +305 -96
  85. package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
  86. package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
  87. package/dest/browser/cbind/generated/curve_constants.js +45 -0
  88. package/dest/browser/cbind/generated/sync.d.ts +16 -11
  89. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  90. package/dest/browser/cbind/generated/sync.js +300 -96
  91. package/dest/browser/cbind/schema_compiler.d.ts +1 -1
  92. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
  93. package/dest/browser/cbind/schema_compiler.js +29 -8
  94. package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
  95. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
  96. package/dest/browser/crs/browser/cached_net_crs.js +6 -1
  97. package/dest/browser/crs/browser/index.d.ts +1 -1
  98. package/dest/browser/crs/index.d.ts +1 -1
  99. package/dest/browser/crs/net_crs.d.ts +1 -16
  100. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  101. package/dest/browser/crs/net_crs.js +6 -1
  102. package/dest/browser/index.d.ts +6 -3
  103. package/dest/browser/index.d.ts.map +1 -1
  104. package/dest/browser/index.js +5 -2
  105. package/dest/browser/proof/index.d.ts +1 -1
  106. package/dest/browser/proof/index.js +1 -1
  107. package/dest/browser/random/browser/index.d.ts +1 -1
  108. package/dest/browser/random/browser/index.d.ts.map +1 -1
  109. package/dest/browser/random/browser/index.js +1 -1
  110. package/dest/browser/random/index.d.ts +1 -1
  111. package/dest/browser/retry/index.d.ts +1 -1
  112. package/dest/browser/retry/index.js +1 -1
  113. package/dest/node/async_map/index.d.ts +1 -1
  114. package/dest/node/async_map/index.js +1 -1
  115. package/dest/node/barretenberg/backend.d.ts +30 -39
  116. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  117. package/dest/node/barretenberg/backend.js +103 -98
  118. package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
  119. package/dest/node/barretenberg/blake2s.test.js +2 -2
  120. package/dest/node/barretenberg/index.d.ts +4 -6
  121. package/dest/node/barretenberg/index.d.ts.map +1 -1
  122. package/dest/node/barretenberg/index.js +20 -29
  123. package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
  124. package/dest/node/barretenberg/pedersen.test.js +2 -2
  125. package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
  126. package/dest/node/barretenberg/poseidon.bench.test.js +81 -79
  127. package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
  128. package/dest/node/barretenberg/poseidon.test.js +2 -2
  129. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  130. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  131. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  132. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  133. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  134. package/dest/node/barretenberg/testing/fields.js +47 -0
  135. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  136. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  137. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  138. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  139. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  140. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  141. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  142. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  143. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  144. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  145. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  146. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  157. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  158. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  159. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  160. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  161. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  162. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  163. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  164. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  165. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  166. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  167. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  168. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  169. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  170. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  171. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  172. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  173. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  174. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
  175. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  176. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  177. package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
  178. package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
  179. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  180. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  181. package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
  182. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  183. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  184. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  185. package/dest/node/barretenberg_wasm/index.d.ts +1 -1
  186. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  187. package/dest/node/barretenberg_wasm/index.js +2 -3
  188. package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
  189. package/dest/node/barretenberg_wasm/index.test.js +1 -1
  190. package/dest/node/bb_backends/browser/index.d.ts +1 -1
  191. package/dest/node/bb_backends/browser/index.js +1 -1
  192. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  193. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  194. package/dest/node/bb_backends/browser/platform.js +10 -0
  195. package/dest/node/bb_backends/index.d.ts +12 -7
  196. package/dest/node/bb_backends/index.d.ts.map +1 -1
  197. package/dest/node/bb_backends/index.js +8 -7
  198. package/dest/node/bb_backends/interface.d.ts +1 -1
  199. package/dest/node/bb_backends/node/index.d.ts +1 -1
  200. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  201. package/dest/node/bb_backends/node/index.js +17 -11
  202. package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
  203. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
  204. package/dest/node/bb_backends/node/native_pipe.js +11 -10
  205. package/dest/node/bb_backends/node/native_shm.d.ts +3 -3
  206. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  207. package/dest/node/bb_backends/node/native_shm.js +61 -39
  208. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  209. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  210. package/dest/node/bb_backends/node/native_shm_async.js +232 -0
  211. package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
  212. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  213. package/dest/node/bb_backends/node/native_socket.js +43 -31
  214. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  215. package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
  216. package/dest/node/bb_backends/node/platform.js +7 -2
  217. package/dest/node/bb_backends/wasm.d.ts +1 -1
  218. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  219. package/dest/node/bb_backends/wasm.js +5 -3
  220. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  221. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  222. package/dest/node/bbapi/exception_handling.test.js +48 -0
  223. package/dest/node/bbapi_exception.d.ts +7 -0
  224. package/dest/node/bbapi_exception.d.ts.map +1 -0
  225. package/dest/node/bbapi_exception.js +14 -0
  226. package/dest/node/benchmark/index.d.ts +1 -1
  227. package/dest/node/benchmark/index.js +1 -1
  228. package/dest/node/benchmark/timer.d.ts +1 -1
  229. package/dest/node/benchmark/timer.d.ts.map +1 -1
  230. package/dest/node/benchmark/timer.js +2 -1
  231. package/dest/node/bin/index.d.ts +3 -0
  232. package/dest/node/bin/index.d.ts.map +1 -0
  233. package/dest/node/bin/index.js +11 -0
  234. package/dest/node/cbind/generate.d.ts +1 -1
  235. package/dest/node/cbind/generate.js +93 -1
  236. package/dest/node/cbind/generated/api_types.d.ts +632 -400
  237. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  238. package/dest/node/cbind/generated/api_types.js +773 -465
  239. package/dest/node/cbind/generated/async.d.ts +16 -11
  240. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  241. package/dest/node/cbind/generated/async.js +305 -96
  242. package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
  243. package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
  244. package/dest/node/cbind/generated/curve_constants.js +45 -0
  245. package/dest/node/cbind/generated/sync.d.ts +16 -11
  246. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  247. package/dest/node/cbind/generated/sync.js +300 -96
  248. package/dest/node/cbind/schema_compiler.d.ts +1 -1
  249. package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
  250. package/dest/node/cbind/schema_compiler.js +29 -8
  251. package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
  252. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
  253. package/dest/node/crs/browser/cached_net_crs.js +6 -1
  254. package/dest/node/crs/browser/index.d.ts +1 -1
  255. package/dest/node/crs/index.d.ts +1 -1
  256. package/dest/node/crs/net_crs.d.ts +1 -16
  257. package/dest/node/crs/net_crs.d.ts.map +1 -1
  258. package/dest/node/crs/net_crs.js +6 -1
  259. package/dest/node/crs/node/index.d.ts +1 -1
  260. package/dest/node/crs/node/index.d.ts.map +1 -1
  261. package/dest/node/crs/node/index.js +11 -6
  262. package/dest/node/index.d.ts +6 -3
  263. package/dest/node/index.d.ts.map +1 -1
  264. package/dest/node/index.js +5 -2
  265. package/dest/node/proof/index.d.ts +1 -1
  266. package/dest/node/proof/index.js +1 -1
  267. package/dest/node/random/browser/index.d.ts +1 -1
  268. package/dest/node/random/browser/index.d.ts.map +1 -1
  269. package/dest/node/random/browser/index.js +1 -1
  270. package/dest/node/random/index.d.ts +1 -1
  271. package/dest/node/random/node/index.d.ts +1 -1
  272. package/dest/node/random/node/index.js +1 -1
  273. package/dest/node/retry/index.d.ts +1 -1
  274. package/dest/node/retry/index.js +1 -1
  275. package/dest/node-cjs/async_map/index.d.ts +1 -1
  276. package/dest/node-cjs/async_map/index.js +1 -1
  277. package/dest/node-cjs/barretenberg/backend.d.ts +30 -39
  278. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  279. package/dest/node-cjs/barretenberg/backend.js +108 -103
  280. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
  281. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  282. package/dest/node-cjs/barretenberg/index.d.ts +4 -6
  283. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  284. package/dest/node-cjs/barretenberg/index.js +25 -34
  285. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
  286. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  287. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
  288. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -87
  289. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
  290. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  291. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  292. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  293. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  294. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  295. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  296. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  297. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  298. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  299. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  300. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +7 -8
  301. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  302. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  303. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
  304. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  305. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  306. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  307. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  308. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  309. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  310. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  311. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  312. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  313. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  314. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  315. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  316. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  317. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  318. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  319. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
  320. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  321. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  323. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  324. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  325. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  326. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  327. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  328. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  329. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  330. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  331. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  332. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  333. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  334. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  335. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
  336. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  337. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  338. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  339. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  340. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  341. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
  342. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
  343. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  344. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  345. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
  346. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  347. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  348. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  349. package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
  350. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  351. package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
  352. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
  353. package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
  354. package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
  355. package/dest/node-cjs/bb_backends/browser/index.js +1 -1
  356. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  357. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  358. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  359. package/dest/node-cjs/bb_backends/index.d.ts +12 -7
  360. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  361. package/dest/node-cjs/bb_backends/index.js +6 -6
  362. package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
  363. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  364. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  365. package/dest/node-cjs/bb_backends/node/index.js +17 -11
  366. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
  367. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
  368. package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
  369. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +3 -3
  370. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  371. package/dest/node-cjs/bb_backends/node/native_shm.js +61 -39
  372. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  373. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  374. package/dest/node-cjs/bb_backends/node/native_shm_async.js +236 -0
  375. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
  376. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  377. package/dest/node-cjs/bb_backends/node/native_socket.js +43 -31
  378. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  379. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
  380. package/dest/node-cjs/bb_backends/node/platform.js +8 -3
  381. package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
  382. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  383. package/dest/node-cjs/bb_backends/wasm.js +5 -3
  384. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  385. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  386. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  387. package/dest/node-cjs/bbapi_exception.d.ts +7 -0
  388. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
  389. package/dest/node-cjs/bbapi_exception.js +18 -0
  390. package/dest/node-cjs/benchmark/index.d.ts +1 -1
  391. package/dest/node-cjs/benchmark/index.js +2 -2
  392. package/dest/node-cjs/benchmark/timer.d.ts +1 -1
  393. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
  394. package/dest/node-cjs/benchmark/timer.js +2 -1
  395. package/dest/node-cjs/bin/index.d.ts +3 -0
  396. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  397. package/dest/node-cjs/bin/index.js +13 -0
  398. package/dest/node-cjs/cbind/generate.d.ts +1 -1
  399. package/dest/node-cjs/cbind/generate.js +93 -1
  400. package/dest/node-cjs/cbind/generated/api_types.d.ts +632 -400
  401. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  402. package/dest/node-cjs/cbind/generated/api_types.js +843 -507
  403. package/dest/node-cjs/cbind/generated/async.d.ts +16 -11
  404. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  405. package/dest/node-cjs/cbind/generated/async.js +304 -95
  406. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
  407. package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
  408. package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
  409. package/dest/node-cjs/cbind/generated/sync.d.ts +16 -11
  410. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  411. package/dest/node-cjs/cbind/generated/sync.js +299 -95
  412. package/dest/node-cjs/cbind/schema_compiler.d.ts +1 -1
  413. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
  414. package/dest/node-cjs/cbind/schema_compiler.js +29 -8
  415. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
  416. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
  417. package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
  418. package/dest/node-cjs/crs/browser/index.d.ts +1 -1
  419. package/dest/node-cjs/crs/browser/index.js +2 -2
  420. package/dest/node-cjs/crs/index.d.ts +1 -1
  421. package/dest/node-cjs/crs/index.js +2 -2
  422. package/dest/node-cjs/crs/net_crs.d.ts +1 -16
  423. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  424. package/dest/node-cjs/crs/net_crs.js +6 -1
  425. package/dest/node-cjs/crs/node/index.d.ts +1 -1
  426. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  427. package/dest/node-cjs/crs/node/index.js +11 -6
  428. package/dest/node-cjs/index.d.ts +6 -3
  429. package/dest/node-cjs/index.d.ts.map +1 -1
  430. package/dest/node-cjs/index.js +28 -11
  431. package/dest/node-cjs/proof/index.d.ts +1 -1
  432. package/dest/node-cjs/proof/index.js +1 -1
  433. package/dest/node-cjs/random/browser/index.d.ts +1 -1
  434. package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
  435. package/dest/node-cjs/random/browser/index.js +1 -1
  436. package/dest/node-cjs/random/index.d.ts +1 -1
  437. package/dest/node-cjs/random/node/index.d.ts +1 -1
  438. package/dest/node-cjs/random/node/index.js +1 -1
  439. package/dest/node-cjs/retry/index.d.ts +1 -1
  440. package/dest/node-cjs/retry/index.js +1 -1
  441. package/package.json +8 -6
  442. package/src/barretenberg/backend.ts +125 -126
  443. package/src/barretenberg/blake2s.test.ts +1 -1
  444. package/src/barretenberg/index.ts +24 -29
  445. package/src/barretenberg/pedersen.test.ts +1 -1
  446. package/src/barretenberg/poseidon.bench.test.ts +161 -157
  447. package/src/barretenberg/poseidon.test.ts +1 -1
  448. package/src/barretenberg/testing/fields.ts +63 -0
  449. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
  450. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
  451. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
  452. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
  453. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
  454. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +4 -4
  455. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +37 -4
  456. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
  457. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
  458. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
  459. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
  460. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
  461. package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
  462. package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
  463. package/src/barretenberg_wasm/index.ts +1 -2
  464. package/src/bb_backends/browser/platform.ts +11 -0
  465. package/src/bb_backends/index.ts +12 -6
  466. package/src/bb_backends/node/index.ts +23 -10
  467. package/src/bb_backends/node/native_shm.ts +59 -40
  468. package/src/bb_backends/node/native_shm_async.ts +261 -0
  469. package/src/bb_backends/node/native_socket.ts +31 -18
  470. package/src/bb_backends/node/platform.ts +6 -1
  471. package/src/bb_backends/wasm.ts +1 -2
  472. package/src/bbapi/exception_handling.test.ts +54 -0
  473. package/src/bbapi_exception.ts +13 -0
  474. package/src/bin/index.ts +14 -0
  475. package/src/cbind/generate.ts +99 -0
  476. package/src/cbind/generated/api_types.ts +1267 -783
  477. package/src/cbind/generated/async.ts +308 -95
  478. package/src/cbind/generated/curve_constants.ts +53 -0
  479. package/src/cbind/generated/sync.ts +303 -95
  480. package/src/cbind/schema_compiler.ts +25 -3
  481. package/src/crs/node/index.ts +4 -5
  482. package/src/index.ts +32 -1
  483. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  484. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  485. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  486. package/dest/browser/bigint-array/index.d.ts +0 -17
  487. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  488. package/dest/browser/bigint-array/index.js +0 -37
  489. package/dest/browser/log/browser/index.d.ts +0 -6
  490. package/dest/browser/log/browser/index.d.ts.map +0 -1
  491. package/dest/browser/log/browser/index.js +0 -28
  492. package/dest/browser/log/index.d.ts +0 -2
  493. package/dest/browser/log/index.d.ts.map +0 -1
  494. package/dest/browser/log/index.js +0 -2
  495. package/dest/browser/log/types.d.ts +0 -6
  496. package/dest/browser/log/types.d.ts.map +0 -1
  497. package/dest/browser/log/types.js +0 -2
  498. package/dest/browser/serialize/buffer_reader.d.ts +0 -28
  499. package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
  500. package/dest/browser/serialize/buffer_reader.js +0 -66
  501. package/dest/browser/serialize/index.d.ts +0 -3
  502. package/dest/browser/serialize/index.d.ts.map +0 -1
  503. package/dest/browser/serialize/index.js +0 -3
  504. package/dest/browser/serialize/serialize.d.ts +0 -18
  505. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  506. package/dest/browser/serialize/serialize.js +0 -72
  507. package/dest/browser/types/fields.d.ts +0 -43
  508. package/dest/browser/types/fields.d.ts.map +0 -1
  509. package/dest/browser/types/fields.js +0 -102
  510. package/dest/browser/types/index.d.ts +0 -3
  511. package/dest/browser/types/index.d.ts.map +0 -1
  512. package/dest/browser/types/index.js +0 -3
  513. package/dest/browser/types/point.d.ts +0 -16
  514. package/dest/browser/types/point.d.ts.map +0 -1
  515. package/dest/browser/types/point.js +0 -31
  516. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  517. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  518. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  519. package/dest/node/bigint-array/index.d.ts +0 -17
  520. package/dest/node/bigint-array/index.d.ts.map +0 -1
  521. package/dest/node/bigint-array/index.js +0 -37
  522. package/dest/node/log/browser/index.d.ts +0 -6
  523. package/dest/node/log/browser/index.d.ts.map +0 -1
  524. package/dest/node/log/browser/index.js +0 -28
  525. package/dest/node/log/index.d.ts +0 -2
  526. package/dest/node/log/index.d.ts.map +0 -1
  527. package/dest/node/log/index.js +0 -2
  528. package/dest/node/log/node/index.d.ts +0 -6
  529. package/dest/node/log/node/index.d.ts.map +0 -1
  530. package/dest/node/log/node/index.js +0 -40
  531. package/dest/node/log/types.d.ts +0 -6
  532. package/dest/node/log/types.d.ts.map +0 -1
  533. package/dest/node/log/types.js +0 -2
  534. package/dest/node/serialize/buffer_reader.d.ts +0 -28
  535. package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
  536. package/dest/node/serialize/buffer_reader.js +0 -66
  537. package/dest/node/serialize/index.d.ts +0 -3
  538. package/dest/node/serialize/index.d.ts.map +0 -1
  539. package/dest/node/serialize/index.js +0 -3
  540. package/dest/node/serialize/serialize.d.ts +0 -18
  541. package/dest/node/serialize/serialize.d.ts.map +0 -1
  542. package/dest/node/serialize/serialize.js +0 -72
  543. package/dest/node/types/fields.d.ts +0 -43
  544. package/dest/node/types/fields.d.ts.map +0 -1
  545. package/dest/node/types/fields.js +0 -102
  546. package/dest/node/types/index.d.ts +0 -3
  547. package/dest/node/types/index.d.ts.map +0 -1
  548. package/dest/node/types/index.js +0 -3
  549. package/dest/node/types/point.d.ts +0 -16
  550. package/dest/node/types/point.d.ts.map +0 -1
  551. package/dest/node/types/point.js +0 -31
  552. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  553. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  554. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  555. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  556. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  557. package/dest/node-cjs/bigint-array/index.js +0 -43
  558. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  559. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  560. package/dest/node-cjs/log/browser/index.js +0 -30
  561. package/dest/node-cjs/log/index.d.ts +0 -2
  562. package/dest/node-cjs/log/index.d.ts.map +0 -1
  563. package/dest/node-cjs/log/index.js +0 -8
  564. package/dest/node-cjs/log/node/index.d.ts +0 -6
  565. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  566. package/dest/node-cjs/log/node/index.js +0 -42
  567. package/dest/node-cjs/log/types.d.ts +0 -6
  568. package/dest/node-cjs/log/types.d.ts.map +0 -1
  569. package/dest/node-cjs/log/types.js +0 -3
  570. package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
  571. package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
  572. package/dest/node-cjs/serialize/buffer_reader.js +0 -70
  573. package/dest/node-cjs/serialize/index.d.ts +0 -3
  574. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  575. package/dest/node-cjs/serialize/index.js +0 -6
  576. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  577. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  578. package/dest/node-cjs/serialize/serialize.js +0 -82
  579. package/dest/node-cjs/types/fields.d.ts +0 -43
  580. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  581. package/dest/node-cjs/types/fields.js +0 -107
  582. package/dest/node-cjs/types/index.d.ts +0 -3
  583. package/dest/node-cjs/types/index.d.ts.map +0 -1
  584. package/dest/node-cjs/types/index.js +0 -6
  585. package/dest/node-cjs/types/point.d.ts +0 -16
  586. package/dest/node-cjs/types/point.d.ts.map +0 -1
  587. package/dest/node-cjs/types/point.js +0 -35
  588. package/src/bb_backends/sync_to_async_adapter.ts +0 -21
  589. package/src/log/browser/index.ts +0 -35
  590. package/src/log/index.ts +0 -1
  591. package/src/log/node/index.ts +0 -52
  592. package/src/log/types.ts +0 -6
  593. package/src/serialize/buffer_reader.ts +0 -85
  594. package/src/serialize/index.ts +0 -2
  595. package/src/serialize/serialize.ts +0 -75
  596. package/src/types/fields.ts +0 -126
  597. package/src/types/index.ts +0 -2
  598. package/src/types/point.ts +0 -38
  599. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -1,12 +1,17 @@
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
+ type UltraHonkBackendOptions,
13
+ type VerifierTarget,
14
+ } from './backend.js';
10
15
  export * from '../bb_backends/index.js';
11
16
 
12
17
  export type CircuitOptions = {
@@ -31,44 +36,39 @@ export class Barretenberg extends AsyncApi {
31
36
  *
32
37
  * If options.backend is set: uses that specific backend (throws if unavailable)
33
38
  * If options.backend is unset: tries backends in order with fallback:
34
- * 1. NativeSharedMemory (if bb binary available)
39
+ * 1. NativeUnixSocket (if bb binary available)
35
40
  * 2. WasmWorker (in browser) or Wasm (in Node.js)
36
41
  */
37
42
  static async new(options: BackendOptions = {}) {
38
- const logger = options.logger ?? createDebugLogger('bb_async');
43
+ const logger = options.logger ?? (() => {});
39
44
 
40
45
  if (options.backend) {
41
46
  // Explicit backend required - no fallback
42
- return await createAsyncBackend(options.backend, options, logger);
47
+ const backend = await createAsyncBackend(options.backend, options, logger);
48
+ if (options.backend === BackendType.Wasm || options.backend === BackendType.WasmWorker) {
49
+ await backend.initSRSChonk();
50
+ }
51
+ return backend;
43
52
  }
44
53
 
45
54
  if (typeof window === 'undefined') {
46
55
  try {
47
- return await createAsyncBackend(BackendType.NativeSharedMemory, options, logger);
56
+ return await createAsyncBackend(BackendType.NativeUnixSocket, options, logger);
48
57
  } 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
- }
58
+ logger(`Unix socket unavailable (${err.message}), falling back to WASM`);
59
+ const backend = await createAsyncBackend(BackendType.Wasm, options, logger);
60
+ await backend.initSRSChonk();
61
+ return backend;
56
62
  }
57
63
  } else {
58
64
  logger(`In browser, using WASM over worker backend.`);
59
- return await createAsyncBackend(BackendType.WasmWorker, options, logger);
65
+ const backend = await createAsyncBackend(BackendType.WasmWorker, options, logger);
66
+ await backend.initSRSChonk();
67
+ return backend;
60
68
  }
61
69
  }
62
70
 
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
- async initSRSClientIVC(srsSize = this.getDefaultSrsSize()): Promise<void> {
71
+ async initSRSChonk(srsSize = this.getDefaultSrsSize()): Promise<void> {
72
72
  // crsPath can be undefined
73
73
  const crs = await Crs.new(srsSize + 1, this.options.crsPath, this.options.logger);
74
74
  const grumpkinCrs = await GrumpkinCrs.new(2 ** 16 + 1, this.options.crsPath, this.options.logger);
@@ -106,11 +106,6 @@ export class Barretenberg extends AsyncApi {
106
106
  return [response.numGates, response.numGatesDyadic];
107
107
  }
108
108
 
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
109
  async destroy() {
115
110
  return super.destroy();
116
111
  }
@@ -177,7 +172,7 @@ export class BarretenbergSync extends SyncApi {
177
172
  * Not supported: WasmWorker (no workers in sync), NativeUnixSocket (async only)
178
173
  */
179
174
  static async new(options: BackendOptions = {}) {
180
- const logger = options.logger ?? createDebugLogger('bb_sync');
175
+ const logger = options.logger ?? (() => {});
181
176
 
182
177
  if (options.backend) {
183
178
  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;
@@ -1,8 +1,8 @@
1
- import { Barretenberg, BarretenbergSync, Fr } from '../index.js';
2
- import { serializeBufferable } from '../serialize/index.js';
1
+ import { Barretenberg, BarretenbergSync } from '../index.js';
3
2
  import { BarretenbergWasmMain } from '../barretenberg_wasm/barretenberg_wasm_main/index.js';
4
3
  import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
5
4
  import { BackendType } from './index.js';
5
+ import { Fr } from './testing/fields.js';
6
6
 
7
7
  /**
8
8
  * Async API benchmark test: WASM vs Native backends with proper non-blocking I/O
@@ -66,170 +66,179 @@ describe('poseidon2Hash benchmark (Async API): WASM vs Native', () => {
66
66
  }
67
67
  }, 20000);
68
68
 
69
- afterAll(async () => {
70
- await wasm.destroy();
71
- if (wasmApi) {
72
- await wasmApi.destroy();
73
- }
74
- if (nativeSocketApi) {
75
- await nativeSocketApi.destroy();
76
- }
77
- if (nativeShmApi) {
78
- await nativeShmApi.destroy();
79
- }
80
- if (nativeShmSyncApi) {
81
- nativeShmSyncApi.destroy();
82
- }
83
- });
69
+ it.each(SIZES)(
70
+ 'benchmark with %p field elements',
71
+ async size => {
72
+ // Generate random inputs
73
+ const inputs = Array(size)
74
+ .fill(0)
75
+ .map(() => Fr.random().toBuffer());
84
76
 
85
- async function directPoseidon2Hash(inputsBuffer: Fr[]): Promise<Fr> {
86
- const inArgs = [inputsBuffer].map(serializeBufferable);
87
- const outTypes = [Fr];
88
- const result = wasm.callWasmExport(
89
- 'poseidon2_hash',
90
- inArgs,
91
- outTypes.map(t => t.SIZE_IN_BYTES),
92
- );
93
- const out = result.map((r, i) => outTypes[i].fromBuffer(r));
94
- return Promise.resolve(out[0]);
95
- }
96
-
97
- it.each(SIZES)('benchmark with %p field elements', async size => {
98
- // Generate random inputs
99
- const inputs = Array(size)
100
- .fill(0)
101
- .map(() => Fr.random());
102
-
103
- // Benchmark 1: Direct WASM (baseline - always available)
104
- const directStart = performance.now();
105
- for (let i = 0; i < ITERATIONS; i++) {
106
- await directPoseidon2Hash(inputs);
107
- }
108
- const directTime = performance.now() - directStart;
109
-
110
- // Benchmark 2: WASM (async)
111
- let wasmTime = 0;
112
- if (wasmApi) {
113
- const wasmStart = performance.now();
114
- for (let i = 0; i < ITERATIONS; i++) {
115
- await wasmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
77
+ // Benchmark 1: WASM (async)
78
+ let wasmTime = 0;
79
+ if (wasmApi) {
80
+ const wasmStart = performance.now();
81
+ for (let i = 0; i < ITERATIONS; i++) {
82
+ await wasmApi.poseidon2Hash({ inputs });
83
+ }
84
+ wasmTime = performance.now() - wasmStart;
116
85
  }
117
- wasmTime = performance.now() - wasmStart;
118
- }
119
86
 
120
- // Benchmark 3: Native Socket (async with non-blocking I/O)
121
- let nativeSocketTime = 0;
122
- if (nativeSocketApi) {
123
- const nativeSocketStart = performance.now();
124
- for (let i = 0; i < ITERATIONS; i++) {
125
- await nativeSocketApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
87
+ // Benchmark 2: Native Socket (async with non-blocking I/O)
88
+ let nativeSocketTime = 0;
89
+ if (nativeSocketApi) {
90
+ const nativeSocketStart = performance.now();
91
+ for (let i = 0; i < ITERATIONS; i++) {
92
+ await nativeSocketApi.poseidon2Hash({ inputs });
93
+ }
94
+ nativeSocketTime = performance.now() - nativeSocketStart;
126
95
  }
127
- nativeSocketTime = performance.now() - nativeSocketStart;
128
- }
129
96
 
130
- // Benchmark 4: Native Shared Memory (async)
131
- let nativeShmTime = 0;
132
- if (nativeShmApi) {
133
- const nativeShmStart = performance.now();
134
- for (let i = 0; i < ITERATIONS; i++) {
135
- await nativeShmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
97
+ // Benchmark 3: Native Socket (async, request pipelined)
98
+ let nativeSocketPipelinedTime = 0;
99
+ if (nativeSocketApi) {
100
+ const nativeSocketPipelinedStart = performance.now();
101
+ // Use promise.all to pipeline requests
102
+ const promises = [];
103
+ for (let i = 0; i < ITERATIONS; i++) {
104
+ promises.push(nativeSocketApi.poseidon2Hash({ inputs }));
105
+ }
106
+ await Promise.all(promises);
107
+ nativeSocketPipelinedTime = performance.now() - nativeSocketPipelinedStart;
136
108
  }
137
- nativeShmTime = performance.now() - nativeShmStart;
138
- }
139
109
 
140
- // Benchmark 5: Native Shared Memory (sync)
141
- let nativeShmSyncTime = 0;
142
- if (nativeShmSyncApi) {
143
- const nativeShmSyncStart = performance.now();
144
- for (let i = 0; i < ITERATIONS; i++) {
145
- nativeShmSyncApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
110
+ // Benchmark 4: Native Shared Memory (async)
111
+ let nativeShmTime = 0;
112
+ if (nativeShmApi) {
113
+ const nativeShmStart = performance.now();
114
+ for (let i = 0; i < ITERATIONS; i++) {
115
+ await nativeShmApi.poseidon2Hash({ inputs });
116
+ }
117
+ nativeShmTime = performance.now() - nativeShmStart;
146
118
  }
147
- nativeShmSyncTime = performance.now() - nativeShmSyncStart;
148
- }
149
119
 
150
- // Calculate metrics (all relative to WASM baseline)
151
- const directOverhead = ((directTime - wasmTime) / wasmTime) * 100;
152
- const nativeSocketOverhead = ((nativeSocketTime - wasmTime) / wasmTime) * 100;
153
- const nativeShmOverhead = ((nativeShmTime - wasmTime) / wasmTime) * 100;
154
- const nativeShmSyncOverhead = ((nativeShmSyncTime - wasmTime) / wasmTime) * 100;
155
-
156
- const avgDirectTimeUs = (directTime / ITERATIONS) * 1000; // microseconds
157
- const avgWasmTimeUs = (wasmTime / ITERATIONS) * 1000;
158
- const avgNativeSocketTimeUs = (nativeSocketTime / ITERATIONS) * 1000;
159
- const avgNativeShmTimeUs = (nativeShmTime / ITERATIONS) * 1000;
160
- const avgNativeShmSyncTimeUs = (nativeShmSyncTime / ITERATIONS) * 1000;
161
-
162
- process.stdout.write(`┌─ Size ${size.toString().padStart(3)} field elements ──────────────────────────────────┐\n`);
163
- const formatOverhead = (overhead: number): string => {
164
- const sign = overhead >= 0 ? '+' : '-';
165
- const value = Math.abs(overhead).toFixed(1).padStart(6);
166
- return `${sign}${value}%`;
167
- };
168
-
169
- if (wasmApi) {
170
- process.stdout.write(
171
- `│ WASM: ${wasmTime.toFixed(2).padStart(8)}ms (${avgWasmTimeUs.toFixed(2).padStart(7)}µs/call) [baseline] │\n`,
172
- );
173
- } else {
174
- process.stdout.write(`│ WASM: unavailable │\n`);
175
- }
120
+ // Benchmark 5: Native Shared Memory (async, request pipelined)
121
+ let nativeShmPipelinedTime = 0;
122
+ if (nativeShmApi) {
123
+ const nativeShmPipelinedStart = performance.now();
124
+ // Use promise.all to pipeline requests
125
+ const promises = [];
126
+ for (let i = 0; i < ITERATIONS; i++) {
127
+ promises.push(nativeShmApi.poseidon2Hash({ inputs }));
128
+ }
129
+ await Promise.all(promises);
130
+ nativeShmPipelinedTime = performance.now() - nativeShmPipelinedStart;
131
+ }
176
132
 
177
- process.stdout.write(
178
- `│ Direct WASM: ${directTime.toFixed(2).padStart(8)}ms (${avgDirectTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(directOverhead)} │\n`,
179
- );
133
+ // Benchmark 6: Native Shared Memory (sync)
134
+ let nativeShmSyncTime = 0;
135
+ if (nativeShmSyncApi) {
136
+ const nativeShmSyncStart = performance.now();
137
+ for (let i = 0; i < ITERATIONS; i++) {
138
+ nativeShmSyncApi.poseidon2Hash({ inputs });
139
+ }
140
+ nativeShmSyncTime = performance.now() - nativeShmSyncStart;
141
+ }
180
142
 
181
- if (nativeSocketApi) {
182
- process.stdout.write(
183
- `│ Native Socket: ${nativeSocketTime.toFixed(2).padStart(8)}ms (${avgNativeSocketTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeSocketOverhead)} │\n`,
184
- );
185
- } else {
186
- process.stdout.write(`│ Native Socket: unavailable │\n`);
187
- }
143
+ // Calculate metrics (all relative to WASM baseline)
144
+ const nativeSocketOverhead = ((nativeSocketTime - wasmTime) / wasmTime) * 100;
145
+ const nativeSocketPipelinedOverhead = ((nativeSocketPipelinedTime - wasmTime) / wasmTime) * 100;
146
+ const nativeShmOverhead = ((nativeShmTime - wasmTime) / wasmTime) * 100;
147
+ const nativeShmPipelinedOverhead = ((nativeShmPipelinedTime - wasmTime) / wasmTime) * 100;
148
+ const nativeShmSyncOverhead = ((nativeShmSyncTime - wasmTime) / wasmTime) * 100;
188
149
 
189
- if (nativeShmApi) {
190
- process.stdout.write(
191
- `│ Native Shared: ${nativeShmTime.toFixed(2).padStart(8)}ms (${avgNativeShmTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeShmOverhead)} │\n`,
192
- );
193
- } else {
194
- process.stdout.write(`│ Native Shared: unavailable │\n`);
195
- }
150
+ const avgWasmTimeUs = (wasmTime / ITERATIONS) * 1000;
151
+ const avgNativeSocketTimeUs = (nativeSocketTime / ITERATIONS) * 1000;
152
+ const avgNativeSocketPipelinedTimeUs = (nativeSocketPipelinedTime / ITERATIONS) * 1000;
153
+ const avgNativeShmTimeUs = (nativeShmTime / ITERATIONS) * 1000;
154
+ const avgNativeShmPipelinedTimeUs = (nativeShmPipelinedTime / ITERATIONS) * 1000;
155
+ const avgNativeShmSyncTimeUs = (nativeShmSyncTime / ITERATIONS) * 1000;
196
156
 
197
- if (nativeShmSyncApi) {
198
157
  process.stdout.write(
199
- `│ Native Shared Sync: ${nativeShmSyncTime.toFixed(2).padStart(8)}ms (${avgNativeShmSyncTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeShmSyncOverhead)} │\n`,
158
+ `┌─ Size ${size.toString().padStart(3)} field elements ───────────────────────────────────────┐\n`,
200
159
  );
201
- } else {
202
- process.stdout.write(`│ Native Shared Sync: unavailable │\n`);
203
- }
160
+ const formatOverhead = (overhead: number): string => {
161
+ const sign = overhead >= 0 ? '+' : '-';
162
+ const value = Math.abs(overhead).toFixed(1).padStart(6);
163
+ return `${sign}${value}%`;
164
+ };
204
165
 
205
- process.stdout.write(`└────────────────────────────────────────────────────────────┘\n`);
166
+ if (wasmApi) {
167
+ process.stdout.write(
168
+ `│ WASM: ${wasmTime.toFixed(2).padStart(8)}ms (${avgWasmTimeUs.toFixed(2).padStart(7)}µs/call) [baseline] │\n`,
169
+ );
170
+ } else {
171
+ process.stdout.write(`│ WASM: unavailable │\n`);
172
+ }
206
173
 
207
- // Sanity check: verify all backends produce same result as direct WASM
208
- const directResult = await directPoseidon2Hash(inputs);
174
+ if (nativeSocketApi) {
175
+ process.stdout.write(
176
+ `│ Native Socket: ${nativeSocketTime.toFixed(2).padStart(8)}ms (${avgNativeSocketTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeSocketOverhead)} │\n`,
177
+ );
178
+ } else {
179
+ process.stdout.write(`│ Native Socket: unavailable │\n`);
180
+ }
209
181
 
210
- if (wasmApi) {
211
- const wasmResult = await wasmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
212
- expect(Buffer.from(wasmResult.hash)).toEqual(directResult.toBuffer());
213
- }
182
+ if (nativeSocketApi) {
183
+ process.stdout.write(
184
+ `│ Native Socket Pipelined: ${nativeSocketPipelinedTime
185
+ .toFixed(2)
186
+ .padStart(8)}ms (${avgNativeSocketPipelinedTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(
187
+ nativeSocketPipelinedOverhead,
188
+ )} │\n`,
189
+ );
190
+ } else {
191
+ process.stdout.write(`│ Native Socket Pipelined: unavailable │\n`);
192
+ }
214
193
 
215
- if (nativeSocketApi) {
216
- const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
217
- expect(Buffer.from(nativeSocketResult.hash)).toEqual(directResult.toBuffer());
218
- }
194
+ if (nativeShmApi) {
195
+ process.stdout.write(
196
+ `│ Native Shared: ${nativeShmTime.toFixed(2).padStart(8)}ms (${avgNativeShmTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeShmOverhead)} │\n`,
197
+ );
198
+ } else {
199
+ process.stdout.write(`│ Native Shared: unavailable │\n`);
200
+ }
219
201
 
220
- if (nativeShmApi) {
221
- const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
222
- expect(Buffer.from(nativeShmResult.hash)).toEqual(directResult.toBuffer());
223
- }
202
+ if (nativeShmApi) {
203
+ process.stdout.write(
204
+ `│ Native Shared Pipelined: ${nativeShmPipelinedTime.toFixed(2).padStart(8)}ms (${avgNativeShmPipelinedTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeShmPipelinedOverhead)} │\n`,
205
+ );
206
+ } else {
207
+ process.stdout.write(`│ Native Shared Pipelined: unavailable │\n`);
208
+ }
224
209
 
225
- if (nativeShmSyncApi) {
226
- const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
227
- expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(directResult.toBuffer());
228
- }
210
+ if (nativeShmSyncApi) {
211
+ process.stdout.write(
212
+ `│ Native Shared Sync: ${nativeShmSyncTime.toFixed(2).padStart(8)}ms (${avgNativeShmSyncTimeUs.toFixed(2).padStart(7)}µs/call) ${formatOverhead(nativeShmSyncOverhead)} │\n`,
213
+ );
214
+ } else {
215
+ process.stdout.write(`│ Native Shared Sync: unavailable │\n`);
216
+ }
229
217
 
230
- // Test always passes, this is just for measuring performance
231
- expect(true).toBe(true);
232
- });
218
+ process.stdout.write(`└─────────────────────────────────────────────────────────────────┘\n`);
219
+
220
+ const wasmResult = await wasmApi!.poseidon2Hash({ inputs });
221
+
222
+ if (nativeSocketApi) {
223
+ const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs });
224
+ expect(Buffer.from(nativeSocketResult.hash)).toEqual(wasmResult.hash);
225
+ }
226
+
227
+ if (nativeShmApi) {
228
+ const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs });
229
+ expect(Buffer.from(nativeShmResult.hash)).toEqual(wasmResult.hash);
230
+ }
231
+
232
+ if (nativeShmSyncApi) {
233
+ const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs });
234
+ expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(wasmResult.hash);
235
+ }
236
+
237
+ // Test always passes, this is just for measuring performance
238
+ expect(true).toBe(true);
239
+ },
240
+ 10000,
241
+ );
233
242
 
234
243
  const TEST_VECTORS = [1, 2, 3, 5, 10, 50, 100];
235
244
  const NUM_RANDOM_TESTS = 10;
@@ -239,28 +248,23 @@ describe('poseidon2Hash benchmark (Async API): WASM vs Native', () => {
239
248
  for (let test = 0; test < NUM_RANDOM_TESTS; test++) {
240
249
  const inputs = Array(size)
241
250
  .fill(0)
242
- .map(() => Fr.random());
251
+ .map(() => Fr.random().toBuffer());
243
252
 
244
- const directResult = await directPoseidon2Hash(inputs);
245
-
246
- if (wasmApi) {
247
- const wasmResult = await wasmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
248
- expect(Buffer.from(wasmResult.hash)).toEqual(directResult.toBuffer());
249
- }
253
+ const wasmResult = await wasmApi!.poseidon2Hash({ inputs });
250
254
 
251
255
  if (nativeSocketApi) {
252
- const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
253
- expect(Buffer.from(nativeSocketResult.hash)).toEqual(directResult.toBuffer());
256
+ const nativeSocketResult = await nativeSocketApi.poseidon2Hash({ inputs });
257
+ expect(Buffer.from(nativeSocketResult.hash)).toEqual(wasmResult.hash);
254
258
  }
255
259
 
256
260
  if (nativeShmApi) {
257
- const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
258
- expect(Buffer.from(nativeShmResult.hash)).toEqual(directResult.toBuffer());
261
+ const nativeShmResult = await nativeShmApi.poseidon2Hash({ inputs });
262
+ expect(Buffer.from(nativeShmResult.hash)).toEqual(wasmResult.hash);
259
263
  }
260
264
 
261
265
  if (nativeShmSyncApi) {
262
- const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs: inputs.map(fr => fr.toBuffer()) });
263
- expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(directResult.toBuffer());
266
+ const nativeShmSyncResult = nativeShmSyncApi.poseidon2Hash({ inputs });
267
+ expect(Buffer.from(nativeShmSyncResult.hash)).toEqual(wasmResult.hash);
264
268
  }
265
269
  }
266
270
  });
@@ -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('poseidon sync', () => {
6
6
  let api: BarretenbergSync;
@@ -0,0 +1,63 @@
1
+ import { randomBytes } from '../../random/index.js';
2
+ import {
3
+ buffer32BytesToBigIntBE,
4
+ uint8ArrayToBigIntBE,
5
+ bigIntToBufferBE,
6
+ bigIntToUint8ArrayBE,
7
+ } from './bigint-buffer.js';
8
+
9
+ export class Fr {
10
+ static ZERO = new Fr(0n);
11
+ static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
12
+ static MAX_VALUE = this.MODULUS - 1n;
13
+ static SIZE_IN_BYTES = 32;
14
+ value: Uint8Array;
15
+
16
+ constructor(value: Uint8Array | Buffer | bigint) {
17
+ // We convert buffer value to bigint to be able to check it fits within modulus
18
+ const valueBigInt =
19
+ typeof value === 'bigint'
20
+ ? value
21
+ : value instanceof Buffer
22
+ ? buffer32BytesToBigIntBE(value)
23
+ : uint8ArrayToBigIntBE(value);
24
+
25
+ if (valueBigInt > Fr.MAX_VALUE) {
26
+ throw new Error(`Value 0x${valueBigInt.toString(16)} is greater or equal to field modulus.`);
27
+ }
28
+
29
+ this.value =
30
+ typeof value === 'bigint' ? bigIntToUint8ArrayBE(value) : value instanceof Buffer ? new Uint8Array(value) : value;
31
+ }
32
+
33
+ static random() {
34
+ const r = uint8ArrayToBigIntBE(randomBytes(64)) % Fr.MODULUS;
35
+ return new this(r);
36
+ }
37
+
38
+ toBuffer() {
39
+ return this.value;
40
+ }
41
+
42
+ toString() {
43
+ return '0x' + this.toBuffer().reduce((accumulator, byte) => accumulator + byte.toString(16).padStart(2, '0'), '');
44
+ }
45
+
46
+ equals(rhs: Fr) {
47
+ return this.value.every((v, i) => v === rhs.value[i]);
48
+ }
49
+
50
+ isZero() {
51
+ return this.value.every(v => v === 0);
52
+ }
53
+
54
+ static fromBuffer(value: Uint8Array): Fr {
55
+ return Fr.fromBufferReduce(value);
56
+ }
57
+
58
+ static fromBufferReduce(value: Uint8Array): Fr {
59
+ const valueBigInt = uint8ArrayToBigIntBE(value);
60
+ const reducedValue = valueBigInt % Fr.MODULUS;
61
+ return new Fr(reducedValue);
62
+ }
63
+ }
@@ -1,4 +1,3 @@
1
- import { createDebugLogger } from '../../log/index.js';
2
1
  import { randomBytes } from '../../random/index.js';
3
2
 
4
3
  /**
@@ -9,7 +8,7 @@ export class BarretenbergWasmBase {
9
8
  protected memStore: { [key: string]: Uint8Array } = {};
10
9
  protected memory!: WebAssembly.Memory;
11
10
  protected instance!: WebAssembly.Instance;
12
- protected logger: (msg: string) => void = createDebugLogger('bb_wasm_base');
11
+ protected logger: (msg: string) => void = () => {};
13
12
 
14
13
  protected getImportObj(memory: WebAssembly.Memory) {
15
14
  /* eslint-disable camelcase */
@@ -1,11 +1,9 @@
1
- import { logOptions } from '../../../../log/index.js';
2
1
  import { readinessListener } from '../../../helpers/browser/index.js';
3
2
 
4
3
  export async function createMainWorker() {
5
4
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6
5
  // @ts-ignore
7
6
  const worker = new Worker(new URL('./main.worker.js', import.meta.url), { type: 'module' });
8
- worker.postMessage({ log: logOptions });
9
7
  await new Promise<void>(resolve => readinessListener(worker, resolve));
10
8
  return worker;
11
9
  }
@@ -1,13 +1,6 @@
1
1
  import { expose } from 'comlink';
2
2
  import { BarretenbergWasmMain } from '../../index.js';
3
3
  import { Ready } from '../../../helpers/browser/index.js';
4
- import { initLogger } from '../../../../log/browser/index.js';
5
-
6
- addEventListener('message', e => {
7
- if (e.data.log) {
8
- initLogger(e.data.log);
9
- }
10
- });
11
4
 
12
5
  expose(new BarretenbergWasmMain());
13
6
  postMessage(Ready);
@@ -1,7 +1,6 @@
1
1
  import { Worker } from 'worker_threads';
2
2
  import { dirname } from 'path';
3
3
  import { fileURLToPath } from 'url';
4
- import { logOptions } from '../../../../log/index.js';
5
4
 
6
5
  function getCurrentDir() {
7
6
  if (typeof __dirname !== 'undefined') {
@@ -16,6 +15,5 @@ function getCurrentDir() {
16
15
  export function createMainWorker() {
17
16
  const __dirname = getCurrentDir();
18
17
  const worker = new Worker(__dirname + `/main.worker.js`);
19
- worker.postMessage({ log: logOptions });
20
18
  return Promise.resolve(worker);
21
19
  }
@@ -2,18 +2,9 @@ import { parentPort } from 'worker_threads';
2
2
  import { expose } from 'comlink';
3
3
  import { BarretenbergWasmMain } from '../../index.js';
4
4
  import { nodeEndpoint } from '../../../helpers/node/node_endpoint.js';
5
- import { initLogger } from '../../../../log/node/index.js';
6
5
 
7
6
  if (!parentPort) {
8
7
  throw new Error('No parentPort');
9
8
  }
10
9
 
11
- const endpoint = nodeEndpoint(parentPort);
12
-
13
- endpoint.addEventListener('message', (e: any) => {
14
- if (e.data.log) {
15
- initLogger(e.data.log);
16
- }
17
- });
18
-
19
10
  expose(new BarretenbergWasmMain(), nodeEndpoint(parentPort));