@aztec/bb.js 0.0.1-alpha.7 → 0.0.1-commit.5476d83

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 (777) hide show
  1. package/README.md +55 -84
  2. package/build/amd64-linux/bb +0 -0
  3. package/build/amd64-linux/nodejs_module.node +0 -0
  4. package/build/amd64-macos/bb +0 -0
  5. package/build/amd64-macos/nodejs_module.node +0 -0
  6. package/build/arm64-linux/bb +0 -0
  7. package/build/arm64-linux/nodejs_module.node +0 -0
  8. package/build/arm64-macos/bb +0 -0
  9. package/build/arm64-macos/nodejs_module.node +0 -0
  10. package/dest/{async_map → browser/async_map}/index.d.ts +1 -1
  11. package/dest/browser/async_map/index.d.ts.map +1 -0
  12. package/dest/{async_map → browser/async_map}/index.js +1 -1
  13. package/dest/browser/barretenberg/backend.d.ts +61 -0
  14. package/dest/browser/barretenberg/backend.d.ts.map +1 -0
  15. package/dest/browser/barretenberg/backend.js +250 -0
  16. package/dest/browser/barretenberg/index.d.ts +65 -0
  17. package/dest/browser/barretenberg/index.d.ts.map +1 -0
  18. package/dest/browser/barretenberg/index.js +182 -0
  19. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
  20. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  21. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  22. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  23. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  24. package/dest/browser/barretenberg/testing/fields.js +47 -0
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  45. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
  46. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
  47. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  48. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  51. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +2 -0
  52. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  53. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  54. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +2 -0
  55. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  56. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  57. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  58. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  59. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  60. package/dest/browser/barretenberg_wasm/fetch_code/index.js +2 -0
  61. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  62. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  63. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +47 -0
  64. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
  65. package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  66. package/dest/browser/barretenberg_wasm/helpers/index.js +2 -0
  67. package/dest/browser/barretenberg_wasm/index.d.ts +5 -0
  68. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
  69. package/dest/browser/barretenberg_wasm/index.js +15 -0
  70. package/dest/browser/bb_backends/browser/index.d.ts +11 -0
  71. package/dest/browser/bb_backends/browser/index.d.ts.map +1 -0
  72. package/dest/browser/bb_backends/browser/index.js +39 -0
  73. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  74. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  75. package/dest/browser/bb_backends/browser/platform.js +10 -0
  76. package/dest/browser/bb_backends/index.d.ts +48 -0
  77. package/dest/browser/bb_backends/index.d.ts.map +1 -0
  78. package/dest/browser/bb_backends/index.js +16 -0
  79. package/dest/browser/bb_backends/interface.d.ts +33 -0
  80. package/dest/browser/bb_backends/interface.d.ts.map +1 -0
  81. package/dest/browser/bb_backends/interface.js +2 -0
  82. package/dest/browser/bb_backends/wasm.d.ts +49 -0
  83. package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
  84. package/dest/browser/bb_backends/wasm.js +85 -0
  85. package/dest/browser/bbapi_exception.d.ts +7 -0
  86. package/dest/browser/bbapi_exception.d.ts.map +1 -0
  87. package/dest/browser/bbapi_exception.js +14 -0
  88. package/dest/browser/bin/index.d.ts +3 -0
  89. package/dest/{bindgen → browser/bin}/index.d.ts.map +1 -1
  90. package/dest/browser/bin/index.js +11 -0
  91. package/dest/browser/cbind/generate.d.ts +5 -0
  92. package/dest/browser/cbind/generate.d.ts.map +1 -0
  93. package/dest/browser/cbind/generate.js +151 -0
  94. package/dest/browser/cbind/generated/api_types.d.ts +2051 -0
  95. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
  96. package/dest/browser/cbind/generated/api_types.js +2747 -0
  97. package/dest/browser/cbind/generated/async.d.ts +62 -0
  98. package/dest/browser/cbind/generated/async.d.ts.map +1 -0
  99. package/dest/browser/cbind/generated/async.js +663 -0
  100. package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
  101. package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
  102. package/dest/browser/cbind/generated/curve_constants.js +45 -0
  103. package/dest/browser/cbind/generated/sync.d.ts +62 -0
  104. package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
  105. package/dest/browser/cbind/generated/sync.js +610 -0
  106. package/dest/browser/cbind/schema_compiler.d.ts +68 -0
  107. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -0
  108. package/dest/browser/cbind/schema_compiler.js +600 -0
  109. package/dest/browser/crs/browser/cached_net_crs.d.ts +43 -0
  110. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
  111. package/dest/browser/crs/browser/cached_net_crs.js +95 -0
  112. package/dest/browser/crs/browser/index.d.ts +2 -0
  113. package/dest/browser/crs/browser/index.d.ts.map +1 -0
  114. package/dest/browser/crs/browser/index.js +2 -0
  115. package/dest/browser/crs/index.d.ts +2 -0
  116. package/dest/browser/crs/index.d.ts.map +1 -0
  117. package/dest/browser/crs/index.js +2 -0
  118. package/dest/browser/crs/net_crs.d.ts +70 -0
  119. package/dest/browser/crs/net_crs.d.ts.map +1 -0
  120. package/dest/browser/crs/net_crs.js +141 -0
  121. package/dest/browser/index.d.ts +9 -0
  122. package/dest/browser/index.d.ts.map +1 -0
  123. package/dest/browser/index.js +9 -0
  124. package/dest/browser/proof/index.d.ts +21 -0
  125. package/dest/browser/proof/index.d.ts.map +1 -0
  126. package/dest/browser/proof/index.js +63 -0
  127. package/dest/browser/random/browser/index.d.ts +2 -0
  128. package/dest/browser/random/browser/index.d.ts.map +1 -0
  129. package/dest/browser/random/browser/index.js +31 -0
  130. package/dest/browser/random/index.d.ts +2 -0
  131. package/dest/browser/random/index.d.ts.map +1 -0
  132. package/dest/browser/random/index.js +2 -0
  133. package/dest/browser/retry/index.d.ts +26 -0
  134. package/dest/browser/retry/index.d.ts.map +1 -0
  135. package/dest/browser/retry/index.js +50 -0
  136. package/dest/node/async_map/index.d.ts +10 -0
  137. package/dest/node/async_map/index.d.ts.map +1 -0
  138. package/dest/node/async_map/index.js +16 -0
  139. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
  140. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
  141. package/dest/node/barretenberg/backend.d.ts +61 -0
  142. package/dest/node/barretenberg/backend.d.ts.map +1 -0
  143. package/dest/node/barretenberg/backend.js +250 -0
  144. package/dest/node/barretenberg/blake2s.test.d.ts +2 -0
  145. package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
  146. package/dest/node/barretenberg/blake2s.test.js +57 -0
  147. package/dest/node/barretenberg/index.d.ts +65 -0
  148. package/dest/node/barretenberg/index.d.ts.map +1 -0
  149. package/dest/node/barretenberg/index.js +182 -0
  150. package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
  151. package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
  152. package/dest/node/barretenberg/pedersen.test.js +62 -0
  153. package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
  154. package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  155. package/dest/node/barretenberg/poseidon.bench.test.js +218 -0
  156. package/dest/node/barretenberg/poseidon.test.d.ts +2 -0
  157. package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
  158. package/dest/node/barretenberg/poseidon.test.js +35 -0
  159. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  160. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  161. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  162. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  163. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  164. package/dest/node/barretenberg/testing/fields.js +47 -0
  165. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  166. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  167. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  168. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +19 -0
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  179. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  180. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +9 -0
  181. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  182. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  183. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
  184. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
  185. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  186. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
  187. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  188. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  189. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
  190. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  191. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  192. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
  193. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  194. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  195. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +19 -0
  196. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  197. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  198. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +10 -0
  199. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
  200. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  201. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
  202. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  203. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  204. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
  205. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  206. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  207. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -0
  208. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  209. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  210. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  211. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  212. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  213. package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
  214. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  215. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  216. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +35 -0
  217. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  218. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  219. package/dest/node/barretenberg_wasm/helpers/browser/index.js +47 -0
  220. package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
  221. package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  222. package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
  223. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +21 -0
  224. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  225. package/dest/node/barretenberg_wasm/helpers/node/index.js +56 -0
  226. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  227. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  228. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
  229. package/dest/node/barretenberg_wasm/index.d.ts +5 -0
  230. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
  231. package/dest/node/barretenberg_wasm/index.js +15 -0
  232. package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
  233. package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
  234. package/dest/node/barretenberg_wasm/index.test.js +39 -0
  235. package/dest/node/bb_backends/browser/index.d.ts +11 -0
  236. package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
  237. package/dest/node/bb_backends/browser/index.js +39 -0
  238. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  239. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  240. package/dest/node/bb_backends/browser/platform.js +10 -0
  241. package/dest/node/bb_backends/index.d.ts +48 -0
  242. package/dest/node/bb_backends/index.d.ts.map +1 -0
  243. package/dest/node/bb_backends/index.js +16 -0
  244. package/dest/node/bb_backends/interface.d.ts +33 -0
  245. package/dest/node/bb_backends/interface.d.ts.map +1 -0
  246. package/dest/node/bb_backends/interface.js +2 -0
  247. package/dest/node/bb_backends/node/index.d.ts +11 -0
  248. package/dest/node/bb_backends/node/index.d.ts.map +1 -0
  249. package/dest/node/bb_backends/node/index.js +86 -0
  250. package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
  251. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
  252. package/dest/node/bb_backends/node/native_pipe.js +114 -0
  253. package/dest/node/bb_backends/node/native_shm.d.ts +28 -0
  254. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
  255. package/dest/node/bb_backends/node/native_shm.js +177 -0
  256. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  257. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  258. package/dest/node/bb_backends/node/native_shm_async.js +237 -0
  259. package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
  260. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
  261. package/dest/node/bb_backends/node/native_socket.js +281 -0
  262. package/dest/node/bb_backends/node/platform.d.ts +27 -0
  263. package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
  264. package/dest/node/bb_backends/node/platform.js +124 -0
  265. package/dest/node/bb_backends/wasm.d.ts +49 -0
  266. package/dest/node/bb_backends/wasm.d.ts.map +1 -0
  267. package/dest/node/bb_backends/wasm.js +85 -0
  268. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  269. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  270. package/dest/node/bbapi/exception_handling.test.js +48 -0
  271. package/dest/node/bbapi_exception.d.ts +7 -0
  272. package/dest/node/bbapi_exception.d.ts.map +1 -0
  273. package/dest/node/bbapi_exception.js +14 -0
  274. package/dest/node/benchmark/index.d.ts +3 -0
  275. package/dest/node/benchmark/index.d.ts.map +1 -0
  276. package/dest/node/benchmark/index.js +25 -0
  277. package/dest/node/benchmark/timer.d.ts +34 -0
  278. package/dest/node/benchmark/timer.d.ts.map +1 -0
  279. package/dest/node/benchmark/timer.js +42 -0
  280. package/dest/node/bin/index.d.ts +3 -0
  281. package/dest/node/bin/index.d.ts.map +1 -0
  282. package/dest/node/bin/index.js +11 -0
  283. package/dest/node/cbind/generate.d.ts +5 -0
  284. package/dest/node/cbind/generate.d.ts.map +1 -0
  285. package/dest/node/cbind/generate.js +151 -0
  286. package/dest/node/cbind/generated/api_types.d.ts +2051 -0
  287. package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
  288. package/dest/node/cbind/generated/api_types.js +2747 -0
  289. package/dest/node/cbind/generated/async.d.ts +62 -0
  290. package/dest/node/cbind/generated/async.d.ts.map +1 -0
  291. package/dest/node/cbind/generated/async.js +663 -0
  292. package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
  293. package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
  294. package/dest/node/cbind/generated/curve_constants.js +45 -0
  295. package/dest/node/cbind/generated/sync.d.ts +62 -0
  296. package/dest/node/cbind/generated/sync.d.ts.map +1 -0
  297. package/dest/node/cbind/generated/sync.js +610 -0
  298. package/dest/node/cbind/schema_compiler.d.ts +68 -0
  299. package/dest/node/cbind/schema_compiler.d.ts.map +1 -0
  300. package/dest/node/cbind/schema_compiler.js +600 -0
  301. package/dest/node/crs/browser/cached_net_crs.d.ts +43 -0
  302. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
  303. package/dest/node/crs/browser/cached_net_crs.js +95 -0
  304. package/dest/node/crs/browser/index.d.ts +2 -0
  305. package/dest/node/crs/browser/index.d.ts.map +1 -0
  306. package/dest/node/crs/browser/index.js +2 -0
  307. package/dest/node/crs/index.d.ts +2 -0
  308. package/dest/node/crs/index.d.ts.map +1 -0
  309. package/dest/node/crs/index.js +2 -0
  310. package/dest/node/crs/net_crs.d.ts +70 -0
  311. package/dest/node/crs/net_crs.d.ts.map +1 -0
  312. package/dest/node/crs/net_crs.js +141 -0
  313. package/dest/node/crs/node/index.d.ts +38 -0
  314. package/dest/node/crs/node/index.d.ts.map +1 -0
  315. package/dest/node/crs/node/index.js +107 -0
  316. package/dest/node/index.d.ts +9 -0
  317. package/dest/node/index.d.ts.map +1 -0
  318. package/dest/node/index.js +9 -0
  319. package/dest/node/proof/index.d.ts +21 -0
  320. package/dest/node/proof/index.d.ts.map +1 -0
  321. package/dest/node/proof/index.js +63 -0
  322. package/dest/node/random/browser/index.d.ts +2 -0
  323. package/dest/node/random/browser/index.d.ts.map +1 -0
  324. package/dest/node/random/browser/index.js +31 -0
  325. package/dest/node/random/index.d.ts +2 -0
  326. package/dest/node/random/index.d.ts.map +1 -0
  327. package/dest/{random → node/random}/index.js +1 -1
  328. package/dest/node/random/node/index.d.ts +2 -0
  329. package/dest/node/random/node/index.d.ts.map +1 -0
  330. package/dest/node/random/node/index.js +5 -0
  331. package/dest/node/retry/index.d.ts +26 -0
  332. package/dest/node/retry/index.d.ts.map +1 -0
  333. package/dest/node/retry/index.js +50 -0
  334. package/dest/node-cjs/async_map/index.d.ts +10 -0
  335. package/dest/node-cjs/async_map/index.d.ts.map +1 -0
  336. package/dest/node-cjs/async_map/index.js +19 -0
  337. package/dest/node-cjs/barretenberg/backend.d.ts +61 -0
  338. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
  339. package/dest/node-cjs/barretenberg/backend.js +257 -0
  340. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +2 -0
  341. package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
  342. package/dest/node-cjs/barretenberg/blake2s.test.js +59 -0
  343. package/dest/node-cjs/barretenberg/index.d.ts +65 -0
  344. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
  345. package/dest/node-cjs/barretenberg/index.js +191 -0
  346. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
  347. package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
  348. package/dest/node-cjs/barretenberg/pedersen.test.js +64 -0
  349. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
  350. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  351. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +220 -0
  352. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +2 -0
  353. package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
  354. package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
  355. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  356. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  357. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  358. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  359. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  360. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  361. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  362. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  363. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  364. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +128 -0
  365. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  366. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  367. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +12 -0
  368. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  369. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  370. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +8 -0
  371. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  372. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  373. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +22 -0
  374. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  375. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  376. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +11 -0
  377. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  378. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  379. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +75 -0
  380. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
  381. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  382. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +201 -0
  383. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  384. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  385. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +12 -0
  386. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  387. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  388. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +8 -0
  389. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  390. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  391. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +22 -0
  392. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  393. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  394. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +12 -0
  395. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
  396. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  397. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +45 -0
  398. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  399. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  400. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
  401. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  402. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  403. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
  404. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  405. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  406. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +40 -0
  407. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  408. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  409. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
  410. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  411. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  412. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +39 -0
  413. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  414. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  415. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +57 -0
  416. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
  417. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  418. package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
  419. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +21 -0
  420. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  421. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +65 -0
  422. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  423. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  424. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +31 -0
  425. package/dest/node-cjs/barretenberg_wasm/index.d.ts +5 -0
  426. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
  427. package/dest/node-cjs/barretenberg_wasm/index.js +18 -0
  428. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
  429. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
  430. package/dest/node-cjs/barretenberg_wasm/index.test.js +41 -0
  431. package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
  432. package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
  433. package/dest/node-cjs/bb_backends/browser/index.js +43 -0
  434. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  435. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  436. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  437. package/dest/node-cjs/bb_backends/index.d.ts +48 -0
  438. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
  439. package/dest/node-cjs/bb_backends/index.js +18 -0
  440. package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
  441. package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
  442. package/dest/node-cjs/bb_backends/interface.js +3 -0
  443. package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
  444. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
  445. package/dest/node-cjs/bb_backends/node/index.js +90 -0
  446. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
  447. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
  448. package/dest/node-cjs/bb_backends/node/native_pipe.js +118 -0
  449. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
  450. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
  451. package/dest/node-cjs/bb_backends/node/native_shm.js +181 -0
  452. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  453. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  454. package/dest/node-cjs/bb_backends/node/native_shm_async.js +241 -0
  455. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
  456. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
  457. package/dest/node-cjs/bb_backends/node/native_socket.js +286 -0
  458. package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
  459. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
  460. package/dest/node-cjs/bb_backends/node/platform.js +131 -0
  461. package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
  462. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
  463. package/dest/node-cjs/bb_backends/wasm.js +90 -0
  464. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  465. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  466. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  467. package/dest/node-cjs/bbapi_exception.d.ts +7 -0
  468. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
  469. package/dest/node-cjs/bbapi_exception.js +18 -0
  470. package/dest/node-cjs/benchmark/index.d.ts +3 -0
  471. package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
  472. package/dest/node-cjs/benchmark/index.js +29 -0
  473. package/dest/node-cjs/benchmark/timer.d.ts +34 -0
  474. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
  475. package/dest/node-cjs/benchmark/timer.js +46 -0
  476. package/dest/node-cjs/bin/index.d.ts +3 -0
  477. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  478. package/dest/node-cjs/bin/index.js +13 -0
  479. package/dest/node-cjs/cbind/generate.d.ts +5 -0
  480. package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
  481. package/dest/node-cjs/cbind/generate.js +153 -0
  482. package/dest/node-cjs/cbind/generated/api_types.d.ts +2051 -0
  483. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
  484. package/dest/node-cjs/cbind/generated/api_types.js +2989 -0
  485. package/dest/node-cjs/cbind/generated/async.d.ts +62 -0
  486. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
  487. package/dest/node-cjs/cbind/generated/async.js +667 -0
  488. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
  489. package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
  490. package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
  491. package/dest/node-cjs/cbind/generated/sync.d.ts +62 -0
  492. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
  493. package/dest/node-cjs/cbind/generated/sync.js +614 -0
  494. package/dest/node-cjs/cbind/schema_compiler.d.ts +68 -0
  495. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -0
  496. package/dest/node-cjs/cbind/schema_compiler.js +607 -0
  497. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +43 -0
  498. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
  499. package/dest/node-cjs/crs/browser/cached_net_crs.js +100 -0
  500. package/dest/node-cjs/crs/browser/index.d.ts +2 -0
  501. package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
  502. package/dest/node-cjs/crs/browser/index.js +7 -0
  503. package/dest/node-cjs/crs/index.d.ts +2 -0
  504. package/dest/node-cjs/crs/index.d.ts.map +1 -0
  505. package/dest/node-cjs/crs/index.js +7 -0
  506. package/dest/node-cjs/crs/net_crs.d.ts +70 -0
  507. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
  508. package/dest/node-cjs/crs/net_crs.js +146 -0
  509. package/dest/node-cjs/crs/node/index.d.ts +38 -0
  510. package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
  511. package/dest/node-cjs/crs/node/index.js +112 -0
  512. package/dest/node-cjs/index.d.ts +9 -0
  513. package/dest/node-cjs/index.d.ts.map +1 -0
  514. package/dest/node-cjs/index.js +39 -0
  515. package/dest/node-cjs/package.json +3 -0
  516. package/dest/node-cjs/proof/index.d.ts +21 -0
  517. package/dest/node-cjs/proof/index.d.ts.map +1 -0
  518. package/dest/node-cjs/proof/index.js +72 -0
  519. package/dest/node-cjs/random/browser/index.d.ts +2 -0
  520. package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
  521. package/dest/node-cjs/random/browser/index.js +35 -0
  522. package/dest/node-cjs/random/index.d.ts +2 -0
  523. package/dest/node-cjs/random/index.d.ts.map +1 -0
  524. package/dest/node-cjs/random/index.js +5 -0
  525. package/dest/node-cjs/random/node/index.d.ts +2 -0
  526. package/dest/node-cjs/random/node/index.d.ts.map +1 -0
  527. package/dest/node-cjs/random/node/index.js +8 -0
  528. package/dest/node-cjs/retry/index.d.ts +26 -0
  529. package/dest/node-cjs/retry/index.d.ts.map +1 -0
  530. package/dest/node-cjs/retry/index.js +55 -0
  531. package/package.json +59 -46
  532. package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +156 -0
  533. package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +40 -0
  534. package/src/barretenberg/backend.ts +312 -0
  535. package/src/barretenberg/blake2s.test.ts +69 -0
  536. package/src/barretenberg/index.ts +212 -0
  537. package/src/barretenberg/pedersen.test.ts +69 -0
  538. package/src/barretenberg/poseidon.bench.test.ts +271 -0
  539. package/src/barretenberg/poseidon.test.ts +39 -0
  540. package/src/barretenberg/testing/bigint-buffer.ts +43 -0
  541. package/src/barretenberg/testing/fields.ts +63 -0
  542. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +137 -0
  543. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +9 -0
  544. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +6 -0
  545. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +19 -0
  546. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +10 -0
  547. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +72 -0
  548. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +251 -0
  549. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +9 -0
  550. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +6 -0
  551. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +19 -0
  552. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +12 -0
  553. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +48 -0
  554. package/src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts +3 -0
  555. package/src/barretenberg_wasm/fetch_code/browser/barretenberg.ts +3 -0
  556. package/src/barretenberg_wasm/fetch_code/browser/index.ts +34 -0
  557. package/src/barretenberg_wasm/fetch_code/index.ts +1 -0
  558. package/src/barretenberg_wasm/fetch_code/node/index.ts +34 -0
  559. package/src/barretenberg_wasm/fetch_code/wasm-module.d.ts +4 -0
  560. package/src/barretenberg_wasm/helpers/browser/index.ts +54 -0
  561. package/src/barretenberg_wasm/helpers/index.ts +1 -0
  562. package/src/barretenberg_wasm/helpers/node/index.ts +62 -0
  563. package/src/barretenberg_wasm/index.test.ts +46 -0
  564. package/src/barretenberg_wasm/index.ts +21 -1
  565. package/src/bb_backends/browser/index.ts +50 -0
  566. package/src/bb_backends/browser/platform.ts +11 -0
  567. package/src/bb_backends/index.ts +52 -0
  568. package/src/bb_backends/interface.ts +35 -0
  569. package/src/bb_backends/node/index.ts +102 -0
  570. package/src/bb_backends/node/native_pipe.ts +127 -0
  571. package/src/bb_backends/node/native_shm.ts +195 -0
  572. package/src/bb_backends/node/native_shm_async.ts +266 -0
  573. package/src/bb_backends/node/native_socket.ts +326 -0
  574. package/src/bb_backends/node/platform.ts +151 -0
  575. package/src/bb_backends/wasm.ts +102 -0
  576. package/src/bbapi/exception_handling.test.ts +54 -0
  577. package/src/bbapi_exception.ts +13 -0
  578. package/src/benchmark/index.ts +26 -0
  579. package/src/benchmark/timer.ts +45 -0
  580. package/src/bin/index.ts +14 -0
  581. package/src/cbind/README.md +1 -0
  582. package/src/cbind/generate.ts +182 -0
  583. package/src/cbind/schema_compiler.ts +745 -0
  584. package/src/crs/browser/cached_net_crs.ts +41 -1
  585. package/src/crs/browser/index.ts +1 -1
  586. package/src/crs/index.ts +1 -1
  587. package/src/crs/net_crs.ts +114 -19
  588. package/src/crs/node/index.ts +95 -26
  589. package/src/index.html +1 -1
  590. package/src/index.ts +43 -5
  591. package/src/proof/index.ts +94 -0
  592. package/src/random/browser/index.ts +1 -1
  593. package/src/retry/index.ts +50 -0
  594. package/dest/async_map/index.d.ts.map +0 -1
  595. package/dest/barretenberg-threads.wasm +0 -0
  596. package/dest/barretenberg.wasm +0 -0
  597. package/dest/barretenberg_api/blake2s.test.d.ts +0 -2
  598. package/dest/barretenberg_api/blake2s.test.d.ts.map +0 -1
  599. package/dest/barretenberg_api/blake2s.test.js +0 -30
  600. package/dest/barretenberg_api/common.test.d.ts +0 -2
  601. package/dest/barretenberg_api/common.test.d.ts.map +0 -1
  602. package/dest/barretenberg_api/common.test.js +0 -18
  603. package/dest/barretenberg_api/index.d.ts +0 -103
  604. package/dest/barretenberg_api/index.d.ts.map +0 -1
  605. package/dest/barretenberg_api/index.js +0 -379
  606. package/dest/barretenberg_api/pedersen.test.d.ts +0 -2
  607. package/dest/barretenberg_api/pedersen.test.d.ts.map +0 -1
  608. package/dest/barretenberg_api/pedersen.test.js +0 -69
  609. package/dest/barretenberg_api/schnorr.test.d.ts +0 -2
  610. package/dest/barretenberg_api/schnorr.test.d.ts.map +0 -1
  611. package/dest/barretenberg_api/schnorr.test.js +0 -113
  612. package/dest/barretenberg_binder/heap_allocator.d.ts +0 -22
  613. package/dest/barretenberg_binder/heap_allocator.d.ts.map +0 -1
  614. package/dest/barretenberg_binder/heap_allocator.js +0 -59
  615. package/dest/barretenberg_binder/heap_allocator_sync.d.ts +0 -22
  616. package/dest/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
  617. package/dest/barretenberg_binder/heap_allocator_sync.js +0 -58
  618. package/dest/barretenberg_binder/index.d.ts +0 -32
  619. package/dest/barretenberg_binder/index.d.ts.map +0 -1
  620. package/dest/barretenberg_binder/index.js +0 -73
  621. package/dest/barretenberg_wasm/barretenberg_wasm.d.ts +0 -50
  622. package/dest/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
  623. package/dest/barretenberg_wasm/barretenberg_wasm.js +0 -212
  624. package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts +0 -2
  625. package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
  626. package/dest/barretenberg_wasm/barretenberg_wasm.test.js +0 -43
  627. package/dest/barretenberg_wasm/browser/index.d.ts +0 -8
  628. package/dest/barretenberg_wasm/browser/index.d.ts.map +0 -1
  629. package/dest/barretenberg_wasm/browser/index.js +0 -26
  630. package/dest/barretenberg_wasm/browser/worker.d.ts +0 -2
  631. package/dest/barretenberg_wasm/browser/worker.d.ts.map +0 -1
  632. package/dest/barretenberg_wasm/browser/worker.js +0 -11
  633. package/dest/barretenberg_wasm/index.d.ts +0 -2
  634. package/dest/barretenberg_wasm/index.d.ts.map +0 -1
  635. package/dest/barretenberg_wasm/index.js +0 -2
  636. package/dest/barretenberg_wasm/node/index.d.ts +0 -17
  637. package/dest/barretenberg_wasm/node/index.d.ts.map +0 -1
  638. package/dest/barretenberg_wasm/node/index.js +0 -40
  639. package/dest/barretenberg_wasm/node/node_endpoint.d.ts +0 -8
  640. package/dest/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
  641. package/dest/barretenberg_wasm/node/node_endpoint.js +0 -28
  642. package/dest/barretenberg_wasm/node/worker.d.ts +0 -2
  643. package/dest/barretenberg_wasm/node/worker.d.ts.map +0 -1
  644. package/dest/barretenberg_wasm/node/worker.js +0 -9
  645. package/dest/barretenberg_wasm.js +0 -2
  646. package/dest/barretenberg_wasm.js.LICENSE.txt +0 -5
  647. package/dest/bigint-array/index.d.ts +0 -3
  648. package/dest/bigint-array/index.d.ts.map +0 -1
  649. package/dest/bigint-array/index.js +0 -21
  650. package/dest/bindgen/function_declaration.d.ts +0 -11
  651. package/dest/bindgen/function_declaration.d.ts.map +0 -1
  652. package/dest/bindgen/function_declaration.js +0 -2
  653. package/dest/bindgen/index.d.ts +0 -2
  654. package/dest/bindgen/index.js +0 -15
  655. package/dest/bindgen/mappings.d.ts +0 -4
  656. package/dest/bindgen/mappings.d.ts.map +0 -1
  657. package/dest/bindgen/mappings.js +0 -63
  658. package/dest/bindgen/rust.d.ts +0 -2
  659. package/dest/bindgen/rust.d.ts.map +0 -1
  660. package/dest/bindgen/rust.js +0 -43
  661. package/dest/bindgen/to_camel_case.d.ts +0 -2
  662. package/dest/bindgen/to_camel_case.d.ts.map +0 -1
  663. package/dest/bindgen/to_camel_case.js +0 -11
  664. package/dest/bindgen/typescript.d.ts +0 -2
  665. package/dest/bindgen/typescript.d.ts.map +0 -1
  666. package/dest/bindgen/typescript.js +0 -80
  667. package/dest/crs/browser/cached_net_crs.d.ts +0 -25
  668. package/dest/crs/browser/cached_net_crs.d.ts.map +0 -1
  669. package/dest/crs/browser/cached_net_crs.js +0 -54
  670. package/dest/crs/browser/index.d.ts +0 -2
  671. package/dest/crs/browser/index.d.ts.map +0 -1
  672. package/dest/crs/browser/index.js +0 -2
  673. package/dest/crs/index.d.ts +0 -2
  674. package/dest/crs/index.d.ts.map +0 -1
  675. package/dest/crs/index.js +0 -2
  676. package/dest/crs/net_crs.d.ts +0 -36
  677. package/dest/crs/net_crs.d.ts.map +0 -1
  678. package/dest/crs/net_crs.js +0 -59
  679. package/dest/crs/node/ignition_files_crs.d.ts +0 -37
  680. package/dest/crs/node/ignition_files_crs.d.ts.map +0 -1
  681. package/dest/crs/node/ignition_files_crs.js +0 -51
  682. package/dest/crs/node/index.d.ts +0 -21
  683. package/dest/crs/node/index.d.ts.map +0 -1
  684. package/dest/crs/node/index.js +0 -54
  685. package/dest/examples/simple.rawtest.d.ts +0 -2
  686. package/dest/examples/simple.rawtest.d.ts.map +0 -1
  687. package/dest/examples/simple.rawtest.js +0 -29
  688. package/dest/examples/simple.test.d.ts +0 -2
  689. package/dest/examples/simple.test.d.ts.map +0 -1
  690. package/dest/examples/simple.test.js +0 -22
  691. package/dest/factory/index.d.ts +0 -21
  692. package/dest/factory/index.d.ts.map +0 -1
  693. package/dest/factory/index.js +0 -34
  694. package/dest/index.d.ts +0 -6
  695. package/dest/index.d.ts.map +0 -1
  696. package/dest/index.html +0 -1
  697. package/dest/index.js +0 -6
  698. package/dest/main.d.ts +0 -10
  699. package/dest/main.d.ts.map +0 -1
  700. package/dest/main.js +0 -275
  701. package/dest/random/browser/index.d.ts +0 -2
  702. package/dest/random/browser/index.d.ts.map +0 -1
  703. package/dest/random/browser/index.js +0 -31
  704. package/dest/random/index.d.ts +0 -2
  705. package/dest/random/index.d.ts.map +0 -1
  706. package/dest/random/node/index.d.ts +0 -2
  707. package/dest/random/node/index.d.ts.map +0 -1
  708. package/dest/random/node/index.js +0 -5
  709. package/dest/serialize/buffer_reader.d.ts +0 -28
  710. package/dest/serialize/buffer_reader.d.ts.map +0 -1
  711. package/dest/serialize/buffer_reader.js +0 -66
  712. package/dest/serialize/index.d.ts +0 -4
  713. package/dest/serialize/index.d.ts.map +0 -1
  714. package/dest/serialize/index.js +0 -4
  715. package/dest/serialize/output_type.d.ts +0 -11
  716. package/dest/serialize/output_type.d.ts.map +0 -1
  717. package/dest/serialize/output_type.js +0 -44
  718. package/dest/serialize/serialize.d.ts +0 -53
  719. package/dest/serialize/serialize.d.ts.map +0 -1
  720. package/dest/serialize/serialize.js +0 -139
  721. package/dest/simple_test.js +0 -2
  722. package/dest/simple_test.js.LICENSE.txt +0 -14
  723. package/dest/types/fields.d.ts +0 -33
  724. package/dest/types/fields.d.ts.map +0 -1
  725. package/dest/types/fields.js +0 -86
  726. package/dest/types/fixed_size_buffer.d.ts +0 -26
  727. package/dest/types/fixed_size_buffer.d.ts.map +0 -1
  728. package/dest/types/fixed_size_buffer.js +0 -54
  729. package/dest/types/index.d.ts +0 -6
  730. package/dest/types/index.d.ts.map +0 -1
  731. package/dest/types/index.js +0 -6
  732. package/dest/types/point.d.ts +0 -17
  733. package/dest/types/point.d.ts.map +0 -1
  734. package/dest/types/point.js +0 -32
  735. package/dest/types/ptr.d.ts +0 -13
  736. package/dest/types/ptr.d.ts.map +0 -1
  737. package/dest/types/ptr.js +0 -20
  738. package/dest/types/raw_buffer.d.ts +0 -3
  739. package/dest/types/raw_buffer.d.ts.map +0 -1
  740. package/dest/types/raw_buffer.js +0 -5
  741. package/src/barretenberg_api/blake2s.test.ts +0 -39
  742. package/src/barretenberg_api/common.test.ts +0 -21
  743. package/src/barretenberg_api/index.ts +0 -649
  744. package/src/barretenberg_api/pedersen.test.ts +0 -84
  745. package/src/barretenberg_api/schnorr.test.ts +0 -169
  746. package/src/barretenberg_binder/heap_allocator.ts +0 -62
  747. package/src/barretenberg_binder/heap_allocator_sync.ts +0 -61
  748. package/src/barretenberg_binder/index.ts +0 -76
  749. package/src/barretenberg_wasm/barretenberg_wasm.test.ts +0 -52
  750. package/src/barretenberg_wasm/barretenberg_wasm.ts +0 -246
  751. package/src/barretenberg_wasm/browser/index.ts +0 -32
  752. package/src/barretenberg_wasm/browser/worker.ts +0 -13
  753. package/src/barretenberg_wasm/node/index.ts +0 -46
  754. package/src/barretenberg_wasm/node/worker.ts +0 -10
  755. package/src/bigint-array/index.ts +0 -21
  756. package/src/bindgen/function_declaration.ts +0 -11
  757. package/src/bindgen/index.ts +0 -17
  758. package/src/bindgen/mappings.ts +0 -66
  759. package/src/bindgen/rust.ts +0 -52
  760. package/src/bindgen/to_camel_case.ts +0 -10
  761. package/src/bindgen/typescript.ts +0 -91
  762. package/src/crs/node/ignition_files_crs.ts +0 -60
  763. package/src/examples/simple.rawtest.ts +0 -37
  764. package/src/examples/simple.test.ts +0 -27
  765. package/src/factory/index.ts +0 -36
  766. package/src/main.ts +0 -311
  767. package/src/serialize/buffer_reader.ts +0 -82
  768. package/src/serialize/index.ts +0 -3
  769. package/src/serialize/output_type.ts +0 -53
  770. package/src/serialize/serialize.ts +0 -157
  771. package/src/types/fields.ts +0 -98
  772. package/src/types/fixed_size_buffer.ts +0 -59
  773. package/src/types/index.ts +0 -5
  774. package/src/types/point.ts +0 -35
  775. package/src/types/ptr.ts +0 -20
  776. package/src/types/raw_buffer.ts +0 -3
  777. /package/src/barretenberg_wasm/{node → helpers/node}/node_endpoint.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barretenberg-threads.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,oCAAoC,CAAC;AAE3E,eAAe,yBAAyB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import barretenbergThreadsModule from '../../barretenberg-threads.wasm.gz';
2
+ export default barretenbergThreadsModule;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmV0ZW5iZXJnLXRocmVhZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2JhcnJldGVuYmVyZy10aHJlYWRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8seUJBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFFM0UsZUFBZSx5QkFBeUIsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ import barretenbergModule from '../../barretenberg.wasm.gz';
2
+ export default barretenbergModule;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmV0ZW5iZXJnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2JhcnJldGVuYmVyZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGtCQUFrQixNQUFNLDRCQUE0QixDQUFDO0FBRTVELGVBQWUsa0JBQWtCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"barretenberg.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/barretenberg.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,4BAA4B,CAAC;AAE5D,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import barretenbergModule from '../../barretenberg.wasm.gz';
2
+ export default barretenbergModule;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmV0ZW5iZXJnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZ193YXNtL2ZldGNoX2NvZGUvYnJvd3Nlci9iYXJyZXRlbmJlcmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxrQkFBa0IsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxlQUFlLGtCQUFrQixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export declare function fetchCode(multithreaded: boolean, wasmPath?: string): Promise<Uint8Array<ArrayBuffer>>;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9mZXRjaF9jb2RlL2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsd0JBQXNCLFNBQVMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sb0NBNkJ4RSJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/index.ts"],"names":[],"mappings":"AAIA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,oCA6BxE"}
@@ -0,0 +1,36 @@
1
+ import pako from 'pako';
2
+ // Annoyingly the wasm declares if it's memory is shared or not. So now we need two wasms if we want to be
3
+ // able to fallback on "non shared memory" situations.
4
+ export async function fetchCode(multithreaded, wasmPath) {
5
+ let url;
6
+ if (wasmPath) {
7
+ const suffix = multithreaded ? '-threads' : '';
8
+ const filePath = wasmPath.split('/').slice(0, -1).join('/');
9
+ const fileNameWithExtensions = wasmPath.split('/').pop();
10
+ const [fileName, ...extensions] = fileNameWithExtensions.split('.');
11
+ url = `${filePath}/${fileName}${suffix}.${extensions.join('.')}`;
12
+ }
13
+ else {
14
+ url = multithreaded
15
+ ? (await import('./barretenberg-threads.js')).default
16
+ : (await import('./barretenberg.js')).default;
17
+ }
18
+ const res = await fetch(url);
19
+ // Default bb wasm is compressed, but user could point it to a non-compressed version
20
+ const maybeCompressedData = await res.arrayBuffer();
21
+ const buffer = new Uint8Array(maybeCompressedData);
22
+ const isGzip =
23
+ // Check magic number
24
+ buffer[0] === 0x1f &&
25
+ buffer[1] === 0x8b &&
26
+ // Check compression method:
27
+ buffer[2] === 0x08;
28
+ if (isGzip) {
29
+ const decompressedData = pako.ungzip(buffer);
30
+ return decompressedData.buffer;
31
+ }
32
+ else {
33
+ return buffer;
34
+ }
35
+ }
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QiwwR0FBMEc7QUFDMUcsc0RBQXNEO0FBQ3RELE1BQU0sQ0FBQyxLQUFLLFVBQVUsU0FBUyxDQUFDLGFBQXNCLEVBQUUsUUFBaUIsRUFBRTtJQUN6RSxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxRQUFRLEVBQUUsR0FBRyxVQUFVLENBQUMsR0FBRyxzQkFBdUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckUsR0FBRyxHQUFHLEdBQUcsUUFBUSxJQUFJLFFBQVEsR0FBRyxNQUFNLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ25FLENBQUM7U0FBTSxDQUFDO1FBQ04sR0FBRyxHQUFHLGFBQWE7WUFDakIsQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLE9BQU87WUFDckQsQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUNsRCxDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IscUZBQXFGO0lBQ3JGLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNuRCxNQUFNLE1BQU07SUFDVixxQkFBcUI7SUFDckIsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUk7UUFDbEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUk7UUFDbEIsNEJBQTRCO1FBQzVCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7SUFDckIsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxPQUFPLGdCQUFnQixDQUFDLE1BQTRDLENBQUM7SUFDdkUsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0FBQUEsQ0FDRiJ9
@@ -0,0 +1,2 @@
1
+ export * from './node/index.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9mZXRjaF9jb2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/fetch_code/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './node/index.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export declare function fetchCode(multithreaded: boolean, wasmPath?: string): Promise<Uint8Array<ArrayBuffer>>;
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9mZXRjaF9jb2RlL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLHdCQUFzQixTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxNQUFNLG9DQWlCeEUifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/node/index.ts"],"names":[],"mappings":"AAgBA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,oCAiBxE"}
@@ -0,0 +1,35 @@
1
+ import { readFile } from 'fs/promises';
2
+ import { dirname } from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ import pako from 'pako';
5
+ function getCurrentDir() {
6
+ if (typeof __dirname !== 'undefined') {
7
+ return __dirname;
8
+ }
9
+ else {
10
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
+ // @ts-ignore
12
+ return dirname(fileURLToPath(import.meta.url));
13
+ }
14
+ }
15
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
+ export async function fetchCode(multithreaded, wasmPath) {
17
+ const path = wasmPath ?? getCurrentDir() + '/../../barretenberg-threads.wasm.gz';
18
+ // Default bb wasm is compressed, but user could point it to a non-compressed version
19
+ const maybeCompressedData = await readFile(path);
20
+ const buffer = new Uint8Array(maybeCompressedData);
21
+ const isGzip =
22
+ // Check magic number
23
+ buffer[0] === 0x1f &&
24
+ buffer[1] === 0x8b &&
25
+ // Check compression method:
26
+ buffer[2] === 0x08;
27
+ if (isGzip) {
28
+ const decompressedData = pako.ungzip(buffer);
29
+ return decompressedData.buffer;
30
+ }
31
+ else {
32
+ return buffer;
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixTQUFTLGFBQWEsR0FBRztJQUN2QixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sNkRBQTZEO1FBQzdELGFBQWE7UUFDYixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQUEsQ0FDRjtBQUVELDZEQUE2RDtBQUM3RCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxhQUFzQixFQUFFLFFBQWlCLEVBQUU7SUFDekUsTUFBTSxJQUFJLEdBQUcsUUFBUSxJQUFJLGFBQWEsRUFBRSxHQUFHLHFDQUFxQyxDQUFDO0lBQ2pGLHFGQUFxRjtJQUNyRixNQUFNLG1CQUFtQixHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNO0lBQ1YscUJBQXFCO0lBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJO1FBQ2xCLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJO1FBQ2xCLDRCQUE0QjtRQUM1QixNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQ3JCLElBQUksTUFBTSxFQUFFLENBQUM7UUFDWCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsT0FBTyxnQkFBZ0IsQ0FBQyxNQUE0QyxDQUFDO0lBQ3ZFLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztBQUFBLENBQ0YifQ==
@@ -0,0 +1,13 @@
1
+ export declare function getSharedMemoryAvailable(): boolean;
2
+ export declare function getRemoteBarretenbergWasm<T>(worker: Worker): import("comlink").Remote<T>;
3
+ export declare function getNumCpu(): number;
4
+ export declare function threadLogger(useCustomLogger: boolean): ((msg: string) => void) | undefined;
5
+ export declare function killSelf(): void;
6
+ export declare function getAvailableThreads(logger: (msg: string) => void): number;
7
+ /** The message expected by the `readinessListener`. */
8
+ export declare const Ready: {
9
+ ready: boolean;
10
+ };
11
+ /** Listen for the readiness message from the Worker and call the `callback` once. */
12
+ export declare function readinessListener(worker: Worker, callback: () => void): void;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9oZWxwZXJzL2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsd0JBQWdCLHdCQUF3QixZQUd2QztBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBRTFEO0FBRUQsd0JBQWdCLFNBQVMsV0FFeEI7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLGVBQWUsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDLEdBQUcsU0FBUyxDQVMxRjtBQUVELHdCQUFnQixRQUFRLFNBRXZCO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBSSxHQUFHLE1BQU0sQ0FPekU7QUFLRCx1REFBdUQ7QUFDdkQsZUFBTyxNQUFNLEtBQUs7O0NBQWtCLENBQUM7QUFFckMscUZBQXFGO0FBQ3JGLHdCQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksUUFPckUifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/browser/index.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,YAGvC;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,+BAE1D;AAED,wBAAgB,SAAS,WAExB;AAED,wBAAgB,YAAY,CAAC,eAAe,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAS1F;AAED,wBAAgB,QAAQ,SAEvB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CAOzE;AAKD,uDAAuD;AACvD,eAAO,MAAM,KAAK;;CAAkB,CAAC;AAErC,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,QAOrE"}
@@ -0,0 +1,47 @@
1
+ import { wrap } from 'comlink';
2
+ export function getSharedMemoryAvailable() {
3
+ const globalScope = typeof window !== 'undefined' ? window : globalThis;
4
+ return typeof SharedArrayBuffer !== 'undefined' && globalScope.crossOriginIsolated;
5
+ }
6
+ export function getRemoteBarretenbergWasm(worker) {
7
+ return wrap(worker);
8
+ }
9
+ export function getNumCpu() {
10
+ return navigator.hardwareConcurrency;
11
+ }
12
+ export function threadLogger(useCustomLogger) {
13
+ if (useCustomLogger) {
14
+ // Post log messages back to main thread for routing through user-provided logger
15
+ return (msg) => {
16
+ postMessage({ type: 'log', msg });
17
+ };
18
+ }
19
+ // Use console.log directly when no custom logger is provided
20
+ return console.log;
21
+ }
22
+ export function killSelf() {
23
+ self.close();
24
+ }
25
+ export function getAvailableThreads(logger) {
26
+ if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
27
+ return navigator.hardwareConcurrency;
28
+ }
29
+ else {
30
+ logger(`Could not detect environment to query number of threads. Falling back to one thread.`);
31
+ return 1;
32
+ }
33
+ }
34
+ // Solution to async initialization of workers, taken from
35
+ // https://github.com/GoogleChromeLabs/comlink/issues/635#issuecomment-1598913044
36
+ /** The message expected by the `readinessListener`. */
37
+ export const Ready = { ready: true };
38
+ /** Listen for the readiness message from the Worker and call the `callback` once. */
39
+ export function readinessListener(worker, callback) {
40
+ worker.addEventListener('message', function ready(event) {
41
+ if (!!event.data && event.data.ready === true) {
42
+ worker.removeEventListener('message', ready);
43
+ callback();
44
+ }
45
+ });
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFL0IsTUFBTSxVQUFVLHdCQUF3QixHQUFHO0lBQ3pDLE1BQU0sV0FBVyxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDeEUsT0FBTyxPQUFPLGlCQUFpQixLQUFLLFdBQVcsSUFBSSxXQUFXLENBQUMsbUJBQW1CLENBQUM7QUFBQSxDQUNwRjtBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBSSxNQUFjLEVBQUU7SUFDM0QsT0FBTyxJQUFJLENBQUksTUFBTSxDQUFDLENBQUM7QUFBQSxDQUN4QjtBQUVELE1BQU0sVUFBVSxTQUFTLEdBQUc7SUFDMUIsT0FBTyxTQUFTLENBQUMsbUJBQW1CLENBQUM7QUFBQSxDQUN0QztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsZUFBd0IsRUFBdUM7SUFDMUYsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUNwQixpRkFBaUY7UUFDakYsT0FBTyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUM7WUFDdEIsV0FBVyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQUEsQ0FDbkMsQ0FBQztJQUNKLENBQUM7SUFDRCw2REFBNkQ7SUFDN0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDO0FBQUEsQ0FDcEI7QUFFRCxNQUFNLFVBQVUsUUFBUSxHQUFHO0lBQ3pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUFBLENBQ2Q7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBNkIsRUFBVTtJQUN6RSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN0RSxPQUFPLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztJQUN2QyxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxzRkFBc0YsQ0FBQyxDQUFDO1FBQy9GLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztBQUFBLENBQ0Y7QUFFRCwwREFBMEQ7QUFDMUQsaUZBQWlGO0FBRWpGLHVEQUF1RDtBQUN2RCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFFckMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsUUFBb0IsRUFBRTtJQUN0RSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFNBQVMsS0FBSyxDQUFDLEtBQWlDLEVBQUU7UUFDbkYsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM5QyxNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzdDLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQztJQUFBLENBQ0YsQ0FBQyxDQUFDO0FBQUEsQ0FDSiJ9
@@ -0,0 +1,2 @@
1
+ export * from './node/index.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './node/index.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIn0=
@@ -0,0 +1,21 @@
1
+ import { Worker } from 'worker_threads';
2
+ export declare function getSharedMemoryAvailable(): boolean;
3
+ /**
4
+ * Comlink allows you to produce a Proxy to the worker, enabling you to call methods as if it were a normal class.
5
+ * Note we give it the type information it needs so the returned Proxy object looks like that type.
6
+ * Node has a different implementation, needing this nodeEndpoint wrapper, hence this function exists here.
7
+ */
8
+ export declare function getRemoteBarretenbergWasm<T>(worker: Worker): import("comlink").Remote<T>;
9
+ /**
10
+ * Returns number of cpus as reported by the system, unless overriden by HARDWARE_CONCURRENCY env var.
11
+ */
12
+ export declare function getNumCpu(): number;
13
+ /**
14
+ * Returns a logger function for worker threads.
15
+ * When a custom logger is provided, posts messages back to the main thread.
16
+ * Otherwise, writes directly to stdout.
17
+ */
18
+ export declare function threadLogger(useCustomLogger: boolean): ((msg: string) => void) | undefined;
19
+ export declare function killSelf(): never;
20
+ export declare function getAvailableThreads(logger: (msg: string) => void): number;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9oZWxwZXJzL25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBTXBELHdCQUFnQix3QkFBd0IsWUFFdkM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFFMUQ7QUFFRDs7R0FFRztBQUNILHdCQUFnQixTQUFTLFdBRXhCO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixZQUFZLENBQUMsZUFBZSxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUMsR0FBRyxTQUFTLENBWTFGO0FBRUQsd0JBQWdCLFFBQVEsSUFBSSxLQUFLLENBS2hDO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBSSxHQUFHLE1BQU0sQ0FTekUifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,gBAAgB,CAAC;AAMpD,wBAAgB,wBAAwB,YAEvC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,+BAE1D;AAED;;GAEG;AACH,wBAAgB,SAAS,WAExB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,eAAe,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAY1F;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAKhC;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,CASzE"}
@@ -0,0 +1,56 @@
1
+ import { parentPort } from 'worker_threads';
2
+ import os from 'os';
3
+ import { wrap } from 'comlink';
4
+ import { nodeEndpoint } from './node_endpoint.js';
5
+ import { writeSync } from 'fs';
6
+ export function getSharedMemoryAvailable() {
7
+ return true;
8
+ }
9
+ /**
10
+ * Comlink allows you to produce a Proxy to the worker, enabling you to call methods as if it were a normal class.
11
+ * Note we give it the type information it needs so the returned Proxy object looks like that type.
12
+ * Node has a different implementation, needing this nodeEndpoint wrapper, hence this function exists here.
13
+ */
14
+ export function getRemoteBarretenbergWasm(worker) {
15
+ return wrap(nodeEndpoint(worker));
16
+ }
17
+ /**
18
+ * Returns number of cpus as reported by the system, unless overriden by HARDWARE_CONCURRENCY env var.
19
+ */
20
+ export function getNumCpu() {
21
+ return +process.env.HARDWARE_CONCURRENCY || os.cpus().length;
22
+ }
23
+ /**
24
+ * Returns a logger function for worker threads.
25
+ * When a custom logger is provided, posts messages back to the main thread.
26
+ * Otherwise, writes directly to stdout.
27
+ */
28
+ export function threadLogger(useCustomLogger) {
29
+ if (useCustomLogger) {
30
+ return (msg) => {
31
+ if (parentPort) {
32
+ parentPort.postMessage({ type: 'log', msg });
33
+ }
34
+ };
35
+ }
36
+ // Write directly to stdout when no custom logger is provided
37
+ return (msg) => {
38
+ writeSync(1, msg + '\n');
39
+ };
40
+ }
41
+ export function killSelf() {
42
+ // Extordinarily hard process termination. Due to how parent threads block on child threads etc, even process.exit
43
+ // doesn't seem to be able to abort the process. The following does.
44
+ process.kill(process.pid);
45
+ throw new Error();
46
+ }
47
+ export function getAvailableThreads(logger) {
48
+ try {
49
+ return os.cpus().length;
50
+ }
51
+ catch (e) {
52
+ logger(`Could not detect environment to query number of threads. Falling back to one thread. Error: ${e.message ?? e}`);
53
+ return 1;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQztBQUUvQixNQUFNLFVBQVUsd0JBQXdCLEdBQUc7SUFDekMsT0FBTyxJQUFJLENBQUM7QUFBQSxDQUNiO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx5QkFBeUIsQ0FBSSxNQUFjLEVBQUU7SUFDM0QsT0FBTyxJQUFJLENBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFBQSxDQUN0QztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsR0FBRztJQUMxQixPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBcUIsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO0FBQUEsQ0FDL0Q7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxlQUF3QixFQUF1QztJQUMxRixJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQUEsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELDZEQUE2RDtJQUM3RCxPQUFPLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQztRQUN0QixTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUFBLENBQzFCLENBQUM7QUFBQSxDQUNIO0FBRUQsTUFBTSxVQUFVLFFBQVEsR0FBVTtJQUNoQyxrSEFBa0g7SUFDbEgsb0VBQW9FO0lBQ3BFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUFBLENBQ25CO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQTZCLEVBQVU7SUFDekUsSUFBSSxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sQ0FDSiwrRkFBK0YsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FDaEgsQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztBQUFBLENBQ0YifQ==
@@ -0,0 +1,8 @@
1
+ import { NodeEndpoint } from 'comlink/dist/esm/node-adapter.js';
2
+ export declare function nodeEndpoint(nep: NodeEndpoint): {
3
+ postMessage: (message: any, transfer?: any[] | undefined) => void;
4
+ addEventListener: (_: any, eh: any) => void;
5
+ removeEventListener: (_: any, eh: any) => void;
6
+ start: (() => void) | undefined;
7
+ };
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9lbmRwb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZ193YXNtL2hlbHBlcnMvbm9kZS9ub2RlX2VuZHBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSx3QkFBZ0IsWUFBWSxDQUFDLEdBQUcsRUFBRSxZQUFZOzs7OztFQXlCN0MifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_endpoint.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/node/node_endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY;;;;;EAyB7C"}
@@ -0,0 +1,28 @@
1
+ export function nodeEndpoint(nep) {
2
+ const listeners = new WeakMap();
3
+ return {
4
+ postMessage: nep.postMessage.bind(nep),
5
+ addEventListener: (_, eh) => {
6
+ const l = (data) => {
7
+ if ('handleEvent' in eh) {
8
+ eh.handleEvent({ data });
9
+ }
10
+ else {
11
+ eh({ data });
12
+ }
13
+ };
14
+ nep.on('message', l);
15
+ listeners.set(eh, l);
16
+ },
17
+ removeEventListener: (_, eh) => {
18
+ const l = listeners.get(eh);
19
+ if (!l) {
20
+ return;
21
+ }
22
+ nep.off('message', l);
23
+ listeners.delete(eh);
24
+ },
25
+ start: nep.start && nep.start.bind(nep),
26
+ };
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9lbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9oZWxwZXJzL25vZGUvbm9kZV9lbmRwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsWUFBWSxDQUFDLEdBQWlCLEVBQUU7SUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNoQyxPQUFPO1FBQ0wsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN0QyxnQkFBZ0IsRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxhQUFhLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ3hCLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDZixDQUFDO1lBQUEsQ0FDRixDQUFDO1lBQ0YsR0FBRyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFBQSxDQUN0QjtRQUNELG1CQUFtQixFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQU8sRUFBRSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsT0FBTztZQUNULENBQUM7WUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQUEsQ0FDdEI7UUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDeEMsQ0FBQztBQUFBLENBQ0gifQ==
@@ -0,0 +1,5 @@
1
+ export declare function fetchModuleAndThreads(desiredThreads?: number, wasmPath?: string, logger?: (msg: string) => void): Promise<{
2
+ module: WebAssembly.Module;
3
+ threads: number;
4
+ }>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSx3QkFBc0IscUJBQXFCLENBQ3pDLGNBQWMsU0FBSyxFQUNuQixRQUFRLENBQUMsRUFBRSxNQUFNLEVBQ2pCLE1BQU0sR0FBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBZTs7O0dBY3pDIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.ts"],"names":[],"mappings":"AAGA,wBAAsB,qBAAqB,CACzC,cAAc,SAAK,EACnB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAe;;;GAczC"}
@@ -0,0 +1,15 @@
1
+ import { getSharedMemoryAvailable, getAvailableThreads } from './helpers/node/index.js';
2
+ import { fetchCode } from './fetch_code/index.js';
3
+ export async function fetchModuleAndThreads(desiredThreads = 32, wasmPath, logger = () => { }) {
4
+ const shared = getSharedMemoryAvailable();
5
+ const availableThreads = shared ? await getAvailableThreads(logger) : 1;
6
+ // We limit the number of threads to 32 as we do not benefit from greater numbers.
7
+ const limitedThreads = Math.min(desiredThreads, availableThreads, 32);
8
+ logger(`Fetching bb wasm from ${wasmPath ?? 'default location'}`);
9
+ const code = await fetchCode(shared, wasmPath);
10
+ logger(`Compiling bb wasm of ${code.byteLength} bytes`);
11
+ const module = await WebAssembly.compile(code);
12
+ logger('Compilation of bb wasm complete');
13
+ return { module, threads: limitedThreads };
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLGNBQWMsR0FBRyxFQUFFLEVBQ25CLFFBQWlCLEVBQ2pCLE1BQU0sR0FBMEIsR0FBRyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQ3hDO0lBQ0EsTUFBTSxNQUFNLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztJQUUxQyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLGtGQUFrRjtJQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV0RSxNQUFNLENBQUMseUJBQXlCLFFBQVEsSUFBSSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxDQUFDLFVBQVUsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQUEsQ0FDNUMifQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhcnJldGVuYmVyZ193YXNtL2luZGV4LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { createMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js';
2
+ import { getRemoteBarretenbergWasm } from '../barretenberg_wasm/helpers/index.js';
3
+ import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
4
+ describe('barretenberg wasm', () => {
5
+ let wasm;
6
+ let worker;
7
+ beforeAll(async () => {
8
+ worker = await createMainWorker();
9
+ wasm = getRemoteBarretenbergWasm(worker);
10
+ const { module, threads } = await fetchModuleAndThreads(2);
11
+ await wasm.init(module, threads);
12
+ }, 20000);
13
+ afterAll(async () => {
14
+ await wasm.destroy();
15
+ await worker.terminate();
16
+ });
17
+ it('should new malloc, transfer and slice mem', async () => {
18
+ const length = 1024;
19
+ const ptr = await wasm.call('bbmalloc', length);
20
+ const buf = Buffer.alloc(length, 128);
21
+ await wasm.writeMemory(ptr, Uint8Array.from(buf));
22
+ const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
23
+ await wasm.call('bbfree', ptr);
24
+ expect(result).toStrictEqual(buf);
25
+ });
26
+ it('test abort', async () => {
27
+ await expect(() => wasm.call('test_abort')).rejects.toThrow();
28
+ });
29
+ it('should new malloc, transfer and slice mem', async () => {
30
+ const length = 1024;
31
+ const ptr = await wasm.call('bbmalloc', length);
32
+ const buf = Buffer.alloc(length, 128);
33
+ await wasm.writeMemory(ptr, Uint8Array.from(buf));
34
+ const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
35
+ await wasm.call('bbfree', ptr);
36
+ expect(result).toStrictEqual(buf);
37
+ });
38
+ });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9pbmRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRXJHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR3RFLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxJQUFJLElBQWdDLENBQUM7SUFDckMsSUFBSSxNQUFjLENBQUM7SUFFbkIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDcEIsTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLEdBQUcseUJBQXlCLENBQTZCLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQUEsQ0FDbEMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQUEsQ0FDMUIsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUFBLENBQ25DLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQUEsQ0FDL0QsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUFBLENBQ25DLENBQUMsQ0FBQztBQUFBLENBQ0osQ0FBQyxDQUFDIn0=
@@ -0,0 +1,11 @@
1
+ import { Barretenberg, BarretenbergSync } from '../../barretenberg/index.js';
2
+ import { BackendOptions, BackendType } from '../index.js';
3
+ /**
4
+ * Create backend of specific type (no fallback)
5
+ */
6
+ export declare function createAsyncBackend(type: BackendType, options: BackendOptions, logger: (msg: string) => void): Promise<Barretenberg>;
7
+ /**
8
+ * Create backend of specific type (no fallback)
9
+ */
10
+ export declare function createSyncBackend(type: BackendType, options: BackendOptions, logger: (msg: string) => void): Promise<BarretenbergSync>;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxRDs7R0FFRztBQUNILHdCQUFzQixrQkFBa0IsQ0FDdEMsSUFBSSxFQUFFLFdBQVcsRUFDakIsT0FBTyxFQUFFLGNBQWMsRUFDdkIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sS0FBSyxJQUFJLEdBQzVCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FtQnZCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLElBQUksRUFBRSxXQUFXLEVBQ2pCLE9BQU8sRUFBRSxjQUFjLEVBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBSSxHQUM1QixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FVM0IifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/browser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1D;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,YAAY,CAAC,CAmBvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAU3B"}
@@ -0,0 +1,39 @@
1
+ import { BarretenbergWasmSyncBackend, BarretenbergWasmAsyncBackend } from '../wasm.js';
2
+ import { Barretenberg, BarretenbergSync } from '../../barretenberg/index.js';
3
+ import { BackendType } from '../index.js';
4
+ /**
5
+ * Create backend of specific type (no fallback)
6
+ */
7
+ export async function createAsyncBackend(type, options, logger) {
8
+ switch (type) {
9
+ case BackendType.Wasm:
10
+ case BackendType.WasmWorker: {
11
+ const useWorker = type === BackendType.WasmWorker;
12
+ logger(`Using WASM backend (worker: ${useWorker})`);
13
+ const wasm = await BarretenbergWasmAsyncBackend.new({
14
+ threads: options.threads,
15
+ wasmPath: options.wasmPath,
16
+ logger,
17
+ memory: options.memory,
18
+ useWorker,
19
+ });
20
+ return new Barretenberg(wasm, options);
21
+ }
22
+ default:
23
+ throw new Error(`Unknown backend type: ${type}`);
24
+ }
25
+ }
26
+ /**
27
+ * Create backend of specific type (no fallback)
28
+ */
29
+ export async function createSyncBackend(type, options, logger) {
30
+ switch (type) {
31
+ case BackendType.Wasm:
32
+ logger('Using WASM backend');
33
+ const wasm = await BarretenbergWasmSyncBackend.new(options.wasmPath, logger);
34
+ return new BarretenbergSync(wasm);
35
+ default:
36
+ throw new Error(`Backend ${type} not supported for BarretenbergSync`);
37
+ }
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvYnJvd3Nlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsSUFBaUIsRUFDakIsT0FBdUIsRUFDdkIsTUFBNkIsRUFDTjtJQUN2QixRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3RCLEtBQUssV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQ2xELE1BQU0sQ0FBQywrQkFBK0IsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLDRCQUE0QixDQUFDLEdBQUcsQ0FBQztnQkFDbEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7Z0JBQzFCLE1BQU07Z0JBQ04sTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixTQUFTO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVEO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0FBQUEsQ0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsSUFBaUIsRUFDakIsT0FBdUIsRUFDdkIsTUFBNkIsRUFDRjtJQUMzQixRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxXQUFXLENBQUMsSUFBSTtZQUNuQixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUM3QixNQUFNLElBQUksR0FBRyxNQUFNLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzdFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwQztZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLHFDQUFxQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztBQUFBLENBQ0YifQ==
@@ -0,0 +1,4 @@
1
+ export declare function findPackageRoot(): string | null;
2
+ export declare function findBbBinary(customPath?: string): string | null;
3
+ export declare function findNapiBinary(customPath?: string): string | null;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9icm93c2VyL3BsYXRmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUFnQixlQUFlLElBQUksTUFBTSxHQUFHLElBQUksQ0FFL0M7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUUvRDtBQUVELHdCQUFnQixjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxJQUFJLENBRWpFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/browser/platform.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE"}
@@ -0,0 +1,10 @@
1
+ export function findPackageRoot() {
2
+ throw new Error('Not implemented in browser environment.');
3
+ }
4
+ export function findBbBinary(customPath) {
5
+ throw new Error('Not implemented in browser environment.');
6
+ }
7
+ export function findNapiBinary(customPath) {
8
+ throw new Error('Not implemented in browser environment.');
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvYnJvd3Nlci9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsZUFBZSxHQUFrQjtJQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7QUFBQSxDQUM1RDtBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBbUIsRUFBaUI7SUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBQUEsQ0FDNUQ7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFVBQW1CLEVBQWlCO0lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztBQUFBLENBQzVEIn0=
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Backend types for Barretenberg
3
+ */
4
+ export declare enum BackendType {
5
+ /** WASM direct execution (no worker) */
6
+ Wasm = "Wasm",
7
+ /** WASM with worker threads */
8
+ WasmWorker = "WasmWorker",
9
+ /** Native via Unix domain socket (async only) */
10
+ NativeUnixSocket = "NativeUnixSocket",
11
+ /** Native via shared memory */
12
+ NativeSharedMemory = "NativeSharedMemory"
13
+ }
14
+ export type BackendOptions = {
15
+ /** @description Number of threads to run the backend worker on */
16
+ threads?: number;
17
+ /** @description Initial and Maximum memory to be alloted to the backend worker */
18
+ memory?: {
19
+ initial?: number;
20
+ maximum?: number;
21
+ };
22
+ /** @description Path to download CRS files */
23
+ crsPath?: string;
24
+ /** @description Path to download WASM files */
25
+ wasmPath?: string;
26
+ /** @description Custom path to bb binary for native backend (overrides automatic detection) */
27
+ bbPath?: string;
28
+ /**
29
+ * @description Logging function
30
+ * Warning: Attaching a logger can prevent nodejs from exiting without explicitly destroying the backend.
31
+ */
32
+ logger?: (msg: string) => void;
33
+ /**
34
+ * @description Maximum concurrent clients for shared memory IPC server (default: 1)
35
+ * Only applies to NativeSharedMemory backend
36
+ */
37
+ maxClients?: number;
38
+ /**
39
+ * @description Specify exact backend to use
40
+ * - If unset: tries backends in default order with fallback
41
+ * - If set: must succeed with specified backend or throw error (no fallback)
42
+ *
43
+ * Barretenberg (async) supports: all types
44
+ * BarretenbergSync supports: Wasm, NativeSharedMem only
45
+ */
46
+ backend?: BackendType;
47
+ };
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILG9CQUFZLFdBQVc7SUFDckIsd0NBQXdDO0lBQ3hDLElBQUksU0FBUztJQUNiLCtCQUErQjtJQUMvQixVQUFVLGVBQWU7SUFDekIsaURBQWlEO0lBQ2pELGdCQUFnQixxQkFBcUI7SUFDckMsK0JBQStCO0lBQy9CLGtCQUFrQix1QkFBdUI7Q0FDMUM7QUFFRCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLGtFQUFrRTtJQUNsRSxPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFakIsa0ZBQWtGO0lBQ2xGLE1BQU0sQ0FBQyxFQUFFO1FBQUUsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUVoRCw4Q0FBOEM7SUFDOUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRWpCLCtDQUErQztJQUMvQyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFbEIsK0ZBQStGO0lBQy9GLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBSSxDQUFDO0lBRS9COzs7T0FHRztJQUNILFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUVwQjs7Ozs7OztPQU9HO0lBQ0gsT0FBTyxDQUFDLEVBQUUsV0FBVyxDQUFDO0NBQ3ZCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,WAAW;IACrB,wCAAwC;IACxC,IAAI,SAAS;IACb,+BAA+B;IAC/B,UAAU,eAAe;IACzB,iDAAiD;IACjD,gBAAgB,qBAAqB;IACrC,+BAA+B;IAC/B,kBAAkB,uBAAuB;CAC1C;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kFAAkF;IAClF,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEhD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC"}
@@ -0,0 +1,16 @@
1
+ export { BackendType };
2
+ /**
3
+ * Backend types for Barretenberg
4
+ */
5
+ var BackendType;
6
+ (function (BackendType) {
7
+ /** WASM direct execution (no worker) */
8
+ BackendType["Wasm"] = "Wasm";
9
+ /** WASM with worker threads */
10
+ BackendType["WasmWorker"] = "WasmWorker";
11
+ /** Native via Unix domain socket (async only) */
12
+ BackendType["NativeUnixSocket"] = "NativeUnixSocket";
13
+ /** Native via shared memory */
14
+ BackendType["NativeSharedMemory"] = "NativeSharedMemory";
15
+ })(BackendType || (BackendType = {}));
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IlNBR1ksV0FBVztBQUh2Qjs7R0FFRztBQUNILElBQVksV0FTWDtBQVRELFdBQVksV0FBVztJQUNyQix3Q0FBd0M7SUFDeEMsNEJBQWEsQ0FBQTtJQUNiLCtCQUErQjtJQUMvQix3Q0FBeUIsQ0FBQTtJQUN6QixpREFBaUQ7SUFDakQsb0RBQXFDLENBQUE7SUFDckMsK0JBQStCO0lBQy9CLHdEQUF5QyxDQUFBO0FBQUMsQ0FDNUMsRUFUWSxXQUFXLEtBQVgsV0FBVyxRQVN0QiJ9