@aztec/bb.js 3.0.0-nightly.20251030 → 3.0.0-nightly.20251031

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 (570) hide show
  1. package/dest/browser/async_map/index.d.ts +10 -0
  2. package/dest/browser/async_map/index.d.ts.map +1 -0
  3. package/dest/browser/async_map/index.js +16 -0
  4. package/dest/browser/barretenberg/backend.d.ts +75 -0
  5. package/dest/browser/barretenberg/backend.d.ts.map +1 -0
  6. package/dest/browser/barretenberg/backend.js +301 -0
  7. package/dest/browser/barretenberg/index.d.ts +67 -0
  8. package/dest/browser/barretenberg/index.d.ts.map +1 -0
  9. package/dest/browser/barretenberg/index.js +191 -0
  10. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  11. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  12. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +125 -0
  13. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  14. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  15. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +11 -0
  16. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  17. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  18. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +12 -0
  19. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  20. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  21. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +70 -0
  22. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +170 -0
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +11 -0
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +12 -0
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -0
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +40 -0
  34. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  35. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  36. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +2 -0
  37. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  38. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  39. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +2 -0
  40. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  41. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  42. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  43. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  44. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  45. package/dest/browser/barretenberg_wasm/fetch_code/index.js +2 -0
  46. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  47. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  48. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +40 -0
  49. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
  50. package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  51. package/dest/browser/barretenberg_wasm/helpers/index.js +2 -0
  52. package/dest/browser/barretenberg_wasm/index.d.ts +5 -0
  53. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
  54. package/dest/browser/barretenberg_wasm/index.js +16 -0
  55. package/dest/browser/bb_backends/browser/index.d.ts +11 -0
  56. package/dest/browser/bb_backends/browser/index.d.ts.map +1 -0
  57. package/dest/browser/bb_backends/browser/index.js +39 -0
  58. package/dest/browser/bb_backends/index.d.ts +45 -0
  59. package/dest/browser/bb_backends/index.d.ts.map +1 -0
  60. package/dest/browser/bb_backends/index.js +15 -0
  61. package/dest/browser/bb_backends/interface.d.ts +33 -0
  62. package/dest/browser/bb_backends/interface.d.ts.map +1 -0
  63. package/dest/browser/bb_backends/interface.js +2 -0
  64. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +15 -0
  65. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  66. package/dest/browser/bb_backends/sync_to_async_adapter.js +20 -0
  67. package/dest/browser/bb_backends/wasm.d.ts +49 -0
  68. package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
  69. package/dest/browser/bb_backends/wasm.js +83 -0
  70. package/dest/browser/bbapi_exception.d.ts +7 -0
  71. package/dest/browser/bbapi_exception.d.ts.map +1 -0
  72. package/dest/browser/bbapi_exception.js +14 -0
  73. package/dest/browser/bigint-array/index.d.ts +17 -0
  74. package/dest/browser/bigint-array/index.d.ts.map +1 -0
  75. package/dest/browser/bigint-array/index.js +37 -0
  76. package/dest/browser/cbind/generate.d.ts +5 -0
  77. package/dest/browser/cbind/generate.d.ts.map +1 -0
  78. package/dest/browser/cbind/generate.js +151 -0
  79. package/dest/browser/cbind/generated/api_types.d.ts +2051 -0
  80. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
  81. package/dest/browser/cbind/generated/api_types.js +2747 -0
  82. package/dest/browser/cbind/generated/async.d.ts +62 -0
  83. package/dest/browser/cbind/generated/async.d.ts.map +1 -0
  84. package/dest/browser/cbind/generated/async.js +662 -0
  85. package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
  86. package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
  87. package/dest/browser/cbind/generated/curve_constants.js +45 -0
  88. package/dest/browser/cbind/generated/sync.d.ts +62 -0
  89. package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
  90. package/dest/browser/cbind/generated/sync.js +609 -0
  91. package/dest/browser/cbind/schema_compiler.d.ts +68 -0
  92. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -0
  93. package/dest/browser/cbind/schema_compiler.js +599 -0
  94. package/dest/browser/crs/browser/cached_net_crs.d.ts +43 -0
  95. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
  96. package/dest/browser/crs/browser/cached_net_crs.js +90 -0
  97. package/dest/browser/crs/browser/index.d.ts +2 -0
  98. package/dest/browser/crs/browser/index.d.ts.map +1 -0
  99. package/dest/browser/crs/browser/index.js +2 -0
  100. package/dest/browser/crs/index.d.ts +2 -0
  101. package/dest/browser/crs/index.d.ts.map +1 -0
  102. package/dest/browser/crs/index.js +2 -0
  103. package/dest/browser/crs/net_crs.d.ts +85 -0
  104. package/dest/browser/crs/net_crs.d.ts.map +1 -0
  105. package/dest/browser/crs/net_crs.js +136 -0
  106. package/dest/browser/index.d.ts +8 -0
  107. package/dest/browser/index.d.ts.map +1 -0
  108. package/dest/browser/index.js +8 -0
  109. package/dest/browser/log/browser/index.d.ts +6 -0
  110. package/dest/browser/log/browser/index.d.ts.map +1 -0
  111. package/dest/browser/log/browser/index.js +28 -0
  112. package/dest/browser/log/index.d.ts +2 -0
  113. package/dest/browser/log/index.d.ts.map +1 -0
  114. package/dest/browser/log/index.js +2 -0
  115. package/dest/browser/log/types.d.ts +6 -0
  116. package/dest/browser/log/types.d.ts.map +1 -0
  117. package/dest/browser/log/types.js +2 -0
  118. package/dest/browser/proof/index.d.ts +21 -0
  119. package/dest/browser/proof/index.d.ts.map +1 -0
  120. package/dest/browser/proof/index.js +63 -0
  121. package/dest/browser/random/browser/index.d.ts +2 -0
  122. package/dest/browser/random/browser/index.d.ts.map +1 -0
  123. package/dest/browser/random/browser/index.js +31 -0
  124. package/dest/browser/random/index.d.ts +2 -0
  125. package/dest/browser/random/index.d.ts.map +1 -0
  126. package/dest/browser/random/index.js +2 -0
  127. package/dest/browser/retry/index.d.ts +26 -0
  128. package/dest/browser/retry/index.d.ts.map +1 -0
  129. package/dest/browser/retry/index.js +50 -0
  130. package/dest/browser/serialize/index.d.ts +2 -0
  131. package/dest/browser/serialize/index.d.ts.map +1 -0
  132. package/dest/browser/serialize/index.js +2 -0
  133. package/dest/browser/serialize/serialize.d.ts +18 -0
  134. package/dest/browser/serialize/serialize.d.ts.map +1 -0
  135. package/dest/browser/serialize/serialize.js +72 -0
  136. package/dest/browser/types/fields.d.ts +23 -0
  137. package/dest/browser/types/fields.d.ts.map +1 -0
  138. package/dest/browser/types/fields.js +61 -0
  139. package/dest/browser/types/index.d.ts +3 -0
  140. package/dest/browser/types/index.d.ts.map +1 -0
  141. package/dest/browser/types/index.js +3 -0
  142. package/dest/browser/types/point.d.ts +18 -0
  143. package/dest/browser/types/point.d.ts.map +1 -0
  144. package/dest/browser/types/point.js +28 -0
  145. package/dest/node/async_map/index.d.ts +10 -0
  146. package/dest/node/async_map/index.d.ts.map +1 -0
  147. package/dest/node/async_map/index.js +16 -0
  148. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
  149. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
  150. package/dest/node/barretenberg/backend.d.ts +75 -0
  151. package/dest/node/barretenberg/backend.d.ts.map +1 -0
  152. package/dest/node/barretenberg/backend.js +301 -0
  153. package/dest/node/barretenberg/blake2s.test.d.ts +2 -0
  154. package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
  155. package/dest/node/barretenberg/blake2s.test.js +57 -0
  156. package/dest/node/barretenberg/index.d.ts +67 -0
  157. package/dest/node/barretenberg/index.d.ts.map +1 -0
  158. package/dest/node/barretenberg/index.js +191 -0
  159. package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
  160. package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
  161. package/dest/node/barretenberg/pedersen.test.js +62 -0
  162. package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
  163. package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  164. package/dest/node/barretenberg/poseidon.bench.test.js +217 -0
  165. package/dest/node/barretenberg/poseidon.test.d.ts +2 -0
  166. package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
  167. package/dest/node/barretenberg/poseidon.test.js +35 -0
  168. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +125 -0
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +11 -0
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +12 -0
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  179. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  180. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +21 -0
  181. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  182. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  183. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +16 -0
  184. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  185. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  186. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +70 -0
  187. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -0
  188. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  189. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +170 -0
  190. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  191. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  192. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +11 -0
  193. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  194. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  195. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +12 -0
  196. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  197. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  198. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +21 -0
  199. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  200. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  201. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +16 -0
  202. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -0
  203. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  204. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +40 -0
  205. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  206. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  207. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
  208. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  209. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  210. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -0
  211. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  212. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  213. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  214. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  215. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  216. package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
  217. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  218. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  219. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +35 -0
  220. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  221. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  222. package/dest/node/barretenberg_wasm/helpers/browser/index.js +40 -0
  223. package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
  224. package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  225. package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
  226. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  227. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  228. package/dest/node/barretenberg_wasm/helpers/node/index.js +48 -0
  229. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  230. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  231. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
  232. package/dest/node/barretenberg_wasm/index.d.ts +5 -0
  233. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
  234. package/dest/node/barretenberg_wasm/index.js +16 -0
  235. package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
  236. package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
  237. package/dest/node/barretenberg_wasm/index.test.js +39 -0
  238. package/dest/node/bb_backends/browser/index.d.ts +11 -0
  239. package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
  240. package/dest/node/bb_backends/browser/index.js +39 -0
  241. package/dest/node/bb_backends/index.d.ts +45 -0
  242. package/dest/node/bb_backends/index.d.ts.map +1 -0
  243. package/dest/node/bb_backends/index.js +15 -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 +80 -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 +113 -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 +150 -0
  256. package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
  257. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
  258. package/dest/node/bb_backends/node/native_socket.js +269 -0
  259. package/dest/node/bb_backends/node/platform.d.ts +27 -0
  260. package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
  261. package/dest/node/bb_backends/node/platform.js +124 -0
  262. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +15 -0
  263. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  264. package/dest/node/bb_backends/sync_to_async_adapter.js +20 -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 +83 -0
  268. package/dest/node/bbapi_exception.d.ts +7 -0
  269. package/dest/node/bbapi_exception.d.ts.map +1 -0
  270. package/dest/node/bbapi_exception.js +14 -0
  271. package/dest/node/benchmark/index.d.ts +3 -0
  272. package/dest/node/benchmark/index.d.ts.map +1 -0
  273. package/dest/node/benchmark/index.js +25 -0
  274. package/dest/node/benchmark/timer.d.ts +34 -0
  275. package/dest/node/benchmark/timer.d.ts.map +1 -0
  276. package/dest/node/benchmark/timer.js +41 -0
  277. package/dest/node/bigint-array/index.d.ts +17 -0
  278. package/dest/node/bigint-array/index.d.ts.map +1 -0
  279. package/dest/node/bigint-array/index.js +37 -0
  280. package/dest/node/cbind/generate.d.ts +5 -0
  281. package/dest/node/cbind/generate.d.ts.map +1 -0
  282. package/dest/node/cbind/generate.js +151 -0
  283. package/dest/node/cbind/generated/api_types.d.ts +2051 -0
  284. package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
  285. package/dest/node/cbind/generated/api_types.js +2747 -0
  286. package/dest/node/cbind/generated/async.d.ts +62 -0
  287. package/dest/node/cbind/generated/async.d.ts.map +1 -0
  288. package/dest/node/cbind/generated/async.js +662 -0
  289. package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
  290. package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
  291. package/dest/node/cbind/generated/curve_constants.js +45 -0
  292. package/dest/node/cbind/generated/sync.d.ts +62 -0
  293. package/dest/node/cbind/generated/sync.d.ts.map +1 -0
  294. package/dest/node/cbind/generated/sync.js +609 -0
  295. package/dest/node/cbind/schema_compiler.d.ts +68 -0
  296. package/dest/node/cbind/schema_compiler.d.ts.map +1 -0
  297. package/dest/node/cbind/schema_compiler.js +599 -0
  298. package/dest/node/crs/browser/cached_net_crs.d.ts +43 -0
  299. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
  300. package/dest/node/crs/browser/cached_net_crs.js +90 -0
  301. package/dest/node/crs/browser/index.d.ts +2 -0
  302. package/dest/node/crs/browser/index.d.ts.map +1 -0
  303. package/dest/node/crs/browser/index.js +2 -0
  304. package/dest/node/crs/index.d.ts +2 -0
  305. package/dest/node/crs/index.d.ts.map +1 -0
  306. package/dest/node/crs/index.js +2 -0
  307. package/dest/node/crs/net_crs.d.ts +85 -0
  308. package/dest/node/crs/net_crs.d.ts.map +1 -0
  309. package/dest/node/crs/net_crs.js +136 -0
  310. package/dest/node/crs/node/index.d.ts +38 -0
  311. package/dest/node/crs/node/index.d.ts.map +1 -0
  312. package/dest/node/crs/node/index.js +102 -0
  313. package/dest/node/index.d.ts +8 -0
  314. package/dest/node/index.d.ts.map +1 -0
  315. package/dest/node/index.js +8 -0
  316. package/dest/node/log/browser/index.d.ts +6 -0
  317. package/dest/node/log/browser/index.d.ts.map +1 -0
  318. package/dest/node/log/browser/index.js +28 -0
  319. package/dest/node/log/index.d.ts +2 -0
  320. package/dest/node/log/index.d.ts.map +1 -0
  321. package/dest/node/log/index.js +2 -0
  322. package/dest/node/log/node/index.d.ts +6 -0
  323. package/dest/node/log/node/index.d.ts.map +1 -0
  324. package/dest/node/log/node/index.js +40 -0
  325. package/dest/node/log/types.d.ts +6 -0
  326. package/dest/node/log/types.d.ts.map +1 -0
  327. package/dest/node/log/types.js +2 -0
  328. package/dest/node/proof/index.d.ts +21 -0
  329. package/dest/node/proof/index.d.ts.map +1 -0
  330. package/dest/node/proof/index.js +63 -0
  331. package/dest/node/random/browser/index.d.ts +2 -0
  332. package/dest/node/random/browser/index.d.ts.map +1 -0
  333. package/dest/node/random/browser/index.js +31 -0
  334. package/dest/node/random/index.d.ts +2 -0
  335. package/dest/node/random/index.d.ts.map +1 -0
  336. package/dest/node/random/index.js +2 -0
  337. package/dest/node/random/node/index.d.ts +2 -0
  338. package/dest/node/random/node/index.d.ts.map +1 -0
  339. package/dest/node/random/node/index.js +5 -0
  340. package/dest/node/retry/index.d.ts +26 -0
  341. package/dest/node/retry/index.d.ts.map +1 -0
  342. package/dest/node/retry/index.js +50 -0
  343. package/dest/node/serialize/index.d.ts +2 -0
  344. package/dest/node/serialize/index.d.ts.map +1 -0
  345. package/dest/node/serialize/index.js +2 -0
  346. package/dest/node/serialize/serialize.d.ts +18 -0
  347. package/dest/node/serialize/serialize.d.ts.map +1 -0
  348. package/dest/node/serialize/serialize.js +72 -0
  349. package/dest/node/types/fields.d.ts +23 -0
  350. package/dest/node/types/fields.d.ts.map +1 -0
  351. package/dest/node/types/fields.js +61 -0
  352. package/dest/node/types/index.d.ts +3 -0
  353. package/dest/node/types/index.d.ts.map +1 -0
  354. package/dest/node/types/index.js +3 -0
  355. package/dest/node/types/point.d.ts +18 -0
  356. package/dest/node/types/point.d.ts.map +1 -0
  357. package/dest/node/types/point.js +28 -0
  358. package/dest/node-cjs/async_map/index.d.ts +10 -0
  359. package/dest/node-cjs/async_map/index.d.ts.map +1 -0
  360. package/dest/node-cjs/async_map/index.js +19 -0
  361. package/dest/node-cjs/barretenberg/backend.d.ts +75 -0
  362. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
  363. package/dest/node-cjs/barretenberg/backend.js +308 -0
  364. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +2 -0
  365. package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
  366. package/dest/node-cjs/barretenberg/blake2s.test.js +59 -0
  367. package/dest/node-cjs/barretenberg/index.d.ts +67 -0
  368. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
  369. package/dest/node-cjs/barretenberg/index.js +200 -0
  370. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
  371. package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
  372. package/dest/node-cjs/barretenberg/pedersen.test.js +64 -0
  373. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
  374. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  375. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +219 -0
  376. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +2 -0
  377. package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
  378. package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
  379. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  380. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  381. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  382. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +129 -0
  383. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  384. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  385. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +14 -0
  386. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  387. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  388. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +14 -0
  389. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  390. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  391. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +24 -0
  392. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  393. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  394. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +18 -0
  395. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  396. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  397. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +74 -0
  398. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +53 -0
  399. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  400. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +174 -0
  401. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  402. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  403. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +14 -0
  404. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  405. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  406. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +14 -0
  407. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  408. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  409. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +24 -0
  410. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  411. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  412. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +18 -0
  413. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +29 -0
  414. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  415. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +44 -0
  416. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  417. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  418. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
  419. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  420. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  421. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
  422. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  423. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  424. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +40 -0
  425. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  426. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  427. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
  428. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  429. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  430. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +39 -0
  431. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  432. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  433. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +50 -0
  434. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
  435. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  436. package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
  437. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  438. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  439. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +57 -0
  440. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  441. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  442. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +31 -0
  443. package/dest/node-cjs/barretenberg_wasm/index.d.ts +5 -0
  444. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
  445. package/dest/node-cjs/barretenberg_wasm/index.js +19 -0
  446. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
  447. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
  448. package/dest/node-cjs/barretenberg_wasm/index.test.js +41 -0
  449. package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
  450. package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
  451. package/dest/node-cjs/bb_backends/browser/index.js +43 -0
  452. package/dest/node-cjs/bb_backends/index.d.ts +45 -0
  453. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
  454. package/dest/node-cjs/bb_backends/index.js +18 -0
  455. package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
  456. package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
  457. package/dest/node-cjs/bb_backends/interface.js +3 -0
  458. package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
  459. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
  460. package/dest/node-cjs/bb_backends/node/index.js +84 -0
  461. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
  462. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
  463. package/dest/node-cjs/bb_backends/node/native_pipe.js +117 -0
  464. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
  465. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
  466. package/dest/node-cjs/bb_backends/node/native_shm.js +154 -0
  467. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
  468. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
  469. package/dest/node-cjs/bb_backends/node/native_socket.js +274 -0
  470. package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
  471. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
  472. package/dest/node-cjs/bb_backends/node/platform.js +131 -0
  473. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +15 -0
  474. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  475. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +24 -0
  476. package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
  477. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
  478. package/dest/node-cjs/bb_backends/wasm.js +88 -0
  479. package/dest/node-cjs/bbapi_exception.d.ts +7 -0
  480. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
  481. package/dest/node-cjs/bbapi_exception.js +18 -0
  482. package/dest/node-cjs/benchmark/index.d.ts +3 -0
  483. package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
  484. package/dest/node-cjs/benchmark/index.js +29 -0
  485. package/dest/node-cjs/benchmark/timer.d.ts +34 -0
  486. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
  487. package/dest/node-cjs/benchmark/timer.js +45 -0
  488. package/dest/node-cjs/bigint-array/index.d.ts +17 -0
  489. package/dest/node-cjs/bigint-array/index.d.ts.map +1 -0
  490. package/dest/node-cjs/bigint-array/index.js +43 -0
  491. package/dest/node-cjs/cbind/generate.d.ts +5 -0
  492. package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
  493. package/dest/node-cjs/cbind/generate.js +153 -0
  494. package/dest/node-cjs/cbind/generated/api_types.d.ts +2051 -0
  495. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
  496. package/dest/node-cjs/cbind/generated/api_types.js +2989 -0
  497. package/dest/node-cjs/cbind/generated/async.d.ts +62 -0
  498. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
  499. package/dest/node-cjs/cbind/generated/async.js +666 -0
  500. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
  501. package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
  502. package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
  503. package/dest/node-cjs/cbind/generated/sync.d.ts +62 -0
  504. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
  505. package/dest/node-cjs/cbind/generated/sync.js +613 -0
  506. package/dest/node-cjs/cbind/schema_compiler.d.ts +68 -0
  507. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -0
  508. package/dest/node-cjs/cbind/schema_compiler.js +606 -0
  509. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +43 -0
  510. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
  511. package/dest/node-cjs/crs/browser/cached_net_crs.js +95 -0
  512. package/dest/node-cjs/crs/browser/index.d.ts +2 -0
  513. package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
  514. package/dest/node-cjs/crs/browser/index.js +7 -0
  515. package/dest/node-cjs/crs/index.d.ts +2 -0
  516. package/dest/node-cjs/crs/index.d.ts.map +1 -0
  517. package/dest/node-cjs/crs/index.js +7 -0
  518. package/dest/node-cjs/crs/net_crs.d.ts +85 -0
  519. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
  520. package/dest/node-cjs/crs/net_crs.js +141 -0
  521. package/dest/node-cjs/crs/node/index.d.ts +38 -0
  522. package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
  523. package/dest/node-cjs/crs/node/index.js +107 -0
  524. package/dest/node-cjs/index.d.ts +8 -0
  525. package/dest/node-cjs/index.d.ts.map +1 -0
  526. package/dest/node-cjs/index.js +37 -0
  527. package/dest/node-cjs/log/browser/index.d.ts +6 -0
  528. package/dest/node-cjs/log/browser/index.d.ts.map +1 -0
  529. package/dest/node-cjs/log/browser/index.js +30 -0
  530. package/dest/node-cjs/log/index.d.ts +2 -0
  531. package/dest/node-cjs/log/index.d.ts.map +1 -0
  532. package/dest/node-cjs/log/index.js +8 -0
  533. package/dest/node-cjs/log/node/index.d.ts +6 -0
  534. package/dest/node-cjs/log/node/index.d.ts.map +1 -0
  535. package/dest/node-cjs/log/node/index.js +42 -0
  536. package/dest/node-cjs/log/types.d.ts +6 -0
  537. package/dest/node-cjs/log/types.d.ts.map +1 -0
  538. package/dest/node-cjs/log/types.js +3 -0
  539. package/dest/node-cjs/package.json +3 -0
  540. package/dest/node-cjs/proof/index.d.ts +21 -0
  541. package/dest/node-cjs/proof/index.d.ts.map +1 -0
  542. package/dest/node-cjs/proof/index.js +72 -0
  543. package/dest/node-cjs/random/browser/index.d.ts +2 -0
  544. package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
  545. package/dest/node-cjs/random/browser/index.js +35 -0
  546. package/dest/node-cjs/random/index.d.ts +2 -0
  547. package/dest/node-cjs/random/index.d.ts.map +1 -0
  548. package/dest/node-cjs/random/index.js +5 -0
  549. package/dest/node-cjs/random/node/index.d.ts +2 -0
  550. package/dest/node-cjs/random/node/index.d.ts.map +1 -0
  551. package/dest/node-cjs/random/node/index.js +8 -0
  552. package/dest/node-cjs/retry/index.d.ts +26 -0
  553. package/dest/node-cjs/retry/index.d.ts.map +1 -0
  554. package/dest/node-cjs/retry/index.js +55 -0
  555. package/dest/node-cjs/serialize/index.d.ts +2 -0
  556. package/dest/node-cjs/serialize/index.d.ts.map +1 -0
  557. package/dest/node-cjs/serialize/index.js +5 -0
  558. package/dest/node-cjs/serialize/serialize.d.ts +18 -0
  559. package/dest/node-cjs/serialize/serialize.d.ts.map +1 -0
  560. package/dest/node-cjs/serialize/serialize.js +82 -0
  561. package/dest/node-cjs/types/fields.d.ts +23 -0
  562. package/dest/node-cjs/types/fields.d.ts.map +1 -0
  563. package/dest/node-cjs/types/fields.js +65 -0
  564. package/dest/node-cjs/types/index.d.ts +3 -0
  565. package/dest/node-cjs/types/index.d.ts.map +1 -0
  566. package/dest/node-cjs/types/index.js +6 -0
  567. package/dest/node-cjs/types/point.d.ts +18 -0
  568. package/dest/node-cjs/types/point.d.ts.map +1 -0
  569. package/dest/node-cjs/types/point.js +32 -0
  570. package/package.json +1 -1
@@ -0,0 +1,45 @@
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 = "wasm-worker",
9
+ /** Native via Unix domain socket (async only) */
10
+ NativeUnixSocket = "native-unix-socket",
11
+ /** Native via shared memory (sync only currently) */
12
+ NativeSharedMemory = "native-shared-mem"
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
+ /** @description Logging function */
29
+ logger?: (msg: string) => void;
30
+ /**
31
+ * @description Maximum concurrent clients for shared memory IPC server (default: 1)
32
+ * Only applies to NativeSharedMemory backend
33
+ */
34
+ maxClients?: number;
35
+ /**
36
+ * @description Specify exact backend to use
37
+ * - If unset: tries backends in default order with fallback
38
+ * - If set: must succeed with specified backend or throw error (no fallback)
39
+ *
40
+ * Barretenberg (async) supports: all types
41
+ * BarretenbergSync supports: Wasm, NativeSharedMem only
42
+ */
43
+ backend?: BackendType;
44
+ };
45
+ //# sourceMappingURL=index.d.ts.map
@@ -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,gBAAgB;IAC1B,iDAAiD;IACjD,gBAAgB,uBAAuB;IACvC,qDAAqD;IACrD,kBAAkB,sBAAsB;CACzC;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,oCAAoC;IACpC,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,15 @@
1
+ /**
2
+ * Backend types for Barretenberg
3
+ */
4
+ export var BackendType;
5
+ (function (BackendType) {
6
+ /** WASM direct execution (no worker) */
7
+ BackendType["Wasm"] = "wasm";
8
+ /** WASM with worker threads */
9
+ BackendType["WasmWorker"] = "wasm-worker";
10
+ /** Native via Unix domain socket (async only) */
11
+ BackendType["NativeUnixSocket"] = "native-unix-socket";
12
+ /** Native via shared memory (sync only currently) */
13
+ BackendType["NativeSharedMemory"] = "native-shared-mem";
14
+ })(BackendType || (BackendType = {}));
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxXQVNYO0FBVEQsV0FBWSxXQUFXO0lBQ3JCLHdDQUF3QztJQUN4Qyw0QkFBYSxDQUFBO0lBQ2IsK0JBQStCO0lBQy9CLHlDQUEwQixDQUFBO0lBQzFCLGlEQUFpRDtJQUNqRCxzREFBdUMsQ0FBQTtJQUN2QyxxREFBcUQ7SUFDckQsdURBQXdDLENBQUE7QUFDMUMsQ0FBQyxFQVRXLFdBQVcsS0FBWCxXQUFXLFFBU3RCIn0=
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Generic interface for msgpack backend implementations.
3
+ * Both WASM and native binary backends implement this interface.
4
+ */
5
+ export interface IMsgpackBackend {
6
+ /**
7
+ * Execute a msgpack command and return the msgpack response.
8
+ * @param inputBuffer The msgpack-encoded input buffer
9
+ * @returns The msgpack-encoded response buffer (sync or async)
10
+ */
11
+ call(inputBuffer: Uint8Array): Uint8Array | Promise<Uint8Array>;
12
+ /**
13
+ * Clean up resources.
14
+ */
15
+ destroy(): void | Promise<void>;
16
+ }
17
+ /**
18
+ * Synchronous variant of IMsgpackBackend.
19
+ * Used by BarretenbergSync and SyncApi.
20
+ */
21
+ export interface IMsgpackBackendSync extends IMsgpackBackend {
22
+ call(inputBuffer: Uint8Array): Uint8Array;
23
+ destroy(): void;
24
+ }
25
+ /**
26
+ * Asynchronous variant of IMsgpackBackend.
27
+ * Used by Barretenberg and AsyncApi.
28
+ */
29
+ export interface IMsgpackBackendAsync extends IMsgpackBackend {
30
+ call(inputBuffer: Uint8Array): Promise<Uint8Array>;
31
+ destroy(): Promise<void>;
32
+ }
33
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhE;;OAEG;IACH,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC;IAC1C,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JiX2JhY2tlbmRzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -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=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/index.ts"],"names":[],"mappings":"AAKA,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,CA6CvB;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,CAwB3B"}
@@ -0,0 +1,80 @@
1
+ import { BarretenbergNativeSocketAsyncBackend } from './native_socket.js';
2
+ import { BarretenbergWasmSyncBackend, BarretenbergWasmAsyncBackend } from '../wasm.js';
3
+ import { BarretenbergNativeShmSyncBackend } from './native_shm.js';
4
+ import { SyncToAsyncAdapter } from '../sync_to_async_adapter.js';
5
+ import { findBbBinary, findNapiBinary } from './platform.js';
6
+ import { Barretenberg, BarretenbergSync } from '../../barretenberg/index.js';
7
+ import { BackendType } from '../index.js';
8
+ /**
9
+ * Create backend of specific type (no fallback)
10
+ */
11
+ export async function createAsyncBackend(type, options, logger) {
12
+ switch (type) {
13
+ case BackendType.NativeUnixSocket: {
14
+ const bbPath = findBbBinary(options.bbPath);
15
+ if (!bbPath) {
16
+ throw new Error('Native backend requires bb binary.');
17
+ }
18
+ logger(`Using native Unix socket backend: ${bbPath}`);
19
+ const socket = new BarretenbergNativeSocketAsyncBackend(bbPath, options.threads);
20
+ return new Barretenberg(socket, options);
21
+ }
22
+ case BackendType.NativeSharedMemory: {
23
+ const bbPath = findBbBinary(options.bbPath);
24
+ if (!bbPath) {
25
+ throw new Error('Native backend requires bb binary.');
26
+ }
27
+ const napiPath = findNapiBinary();
28
+ if (!napiPath) {
29
+ throw new Error('Native sync backend requires napi client stub.');
30
+ }
31
+ logger(`Using native shared memory backend (via sync adapter): ${bbPath}`);
32
+ // Use sync backend with adapter to provide async interface
33
+ const syncBackend = await BarretenbergNativeShmSyncBackend.new(bbPath, options.threads, options.maxClients);
34
+ const asyncBackend = new SyncToAsyncAdapter(syncBackend);
35
+ return new Barretenberg(asyncBackend, options);
36
+ }
37
+ case BackendType.Wasm:
38
+ case BackendType.WasmWorker: {
39
+ const useWorker = type === BackendType.WasmWorker;
40
+ logger(`Using WASM backend (worker: ${useWorker})`);
41
+ const wasm = await BarretenbergWasmAsyncBackend.new({
42
+ threads: options.threads,
43
+ wasmPath: options.wasmPath,
44
+ logger: options.logger,
45
+ memory: options.memory,
46
+ useWorker,
47
+ });
48
+ return new Barretenberg(wasm, options);
49
+ }
50
+ default:
51
+ throw new Error(`Unknown backend type: ${type}`);
52
+ }
53
+ }
54
+ /**
55
+ * Create backend of specific type (no fallback)
56
+ */
57
+ export async function createSyncBackend(type, options, logger) {
58
+ switch (type) {
59
+ case BackendType.NativeSharedMemory: {
60
+ const bbPath = findBbBinary(options.bbPath);
61
+ if (!bbPath) {
62
+ throw new Error('Native backend requires bb binary.');
63
+ }
64
+ const napiPath = findNapiBinary();
65
+ if (!napiPath) {
66
+ throw new Error('Native sync backend requires napi client stub.');
67
+ }
68
+ logger(`Using native shared memory backend: ${bbPath}`);
69
+ const shm = await BarretenbergNativeShmSyncBackend.new(bbPath, options.threads, options.maxClients);
70
+ return new BarretenbergSync(shm);
71
+ }
72
+ case BackendType.Wasm:
73
+ logger('Using WASM backend');
74
+ const wasm = await BarretenbergWasmSyncBackend.new(options.wasmPath, logger);
75
+ return new BarretenbergSync(wasm);
76
+ default:
77
+ throw new Error(`Backend ${type} not supported for BarretenbergSync`);
78
+ }
79
+ }
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdFLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxrQkFBa0IsQ0FDdEMsSUFBaUIsRUFDakIsT0FBdUIsRUFDdkIsTUFBNkI7SUFFN0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUNsQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNELE1BQU0sQ0FBQyxxQ0FBcUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN0RCxNQUFNLE1BQU0sR0FBRyxJQUFJLG9DQUFvQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakYsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELEtBQUssV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUNELE1BQU0sQ0FBQywwREFBMEQsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUMzRSwyREFBMkQ7WUFDM0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxnQ0FBZ0MsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVHLE1BQU0sWUFBWSxHQUFHLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekQsT0FBTyxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztRQUN0QixLQUFLLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQ2xELE1BQU0sQ0FBQywrQkFBK0IsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLDRCQUE0QixDQUFDLEdBQUcsQ0FBQztnQkFDbEQsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7Z0JBQzFCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtnQkFDdEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixTQUFTO2FBQ1YsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVEO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FDckMsSUFBaUIsRUFDakIsT0FBdUIsRUFDdkIsTUFBNkI7SUFFN0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUNELE1BQU0sQ0FBQyx1Q0FBdUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN4RCxNQUFNLEdBQUcsR0FBRyxNQUFNLGdDQUFnQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEcsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxLQUFLLFdBQVcsQ0FBQyxJQUFJO1lBQ25CLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sSUFBSSxHQUFHLE1BQU0sMkJBQTJCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0UsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDO1lBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUkscUNBQXFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,25 @@
1
+ import { IMsgpackBackendAsync } from '../interface.js';
2
+ /**
3
+ * Asynchronous native backend that communicates with bb binary via stdin/stdout.
4
+ * Uses event-based I/O with a state machine to handle partial reads.
5
+ *
6
+ * Protocol:
7
+ * - Request: 4-byte little-endian length + msgpack buffer
8
+ * - Response: 4-byte little-endian length + msgpack buffer
9
+ */
10
+ export declare class BarretenbergNativePipeAsyncBackend implements IMsgpackBackendAsync {
11
+ private process;
12
+ private pendingResolve;
13
+ private pendingReject;
14
+ private readingLength;
15
+ private lengthBuffer;
16
+ private lengthBytesRead;
17
+ private responseLength;
18
+ private responseBuffer;
19
+ private responseBytesRead;
20
+ constructor(bbBinaryPath: string);
21
+ private handleData;
22
+ call(inputBuffer: Uint8Array): Promise<Uint8Array>;
23
+ destroy(): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=native_pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_pipe.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/native_pipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5E;;;;;;;GAOG;AACH,qBAAa,kCAAmC,YAAW,oBAAoB;IAC7E,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,aAAa,CAAyC;IAG9D,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAa;gBAE1B,YAAY,EAAE,MAAM;IAkChC,OAAO,CAAC,UAAU;IA4CZ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
@@ -0,0 +1,113 @@
1
+ import { spawn } from 'child_process';
2
+ /**
3
+ * Asynchronous native backend that communicates with bb binary via stdin/stdout.
4
+ * Uses event-based I/O with a state machine to handle partial reads.
5
+ *
6
+ * Protocol:
7
+ * - Request: 4-byte little-endian length + msgpack buffer
8
+ * - Response: 4-byte little-endian length + msgpack buffer
9
+ */
10
+ export class BarretenbergNativePipeAsyncBackend {
11
+ constructor(bbBinaryPath) {
12
+ this.pendingResolve = null;
13
+ this.pendingReject = null;
14
+ // State machine for reading responses
15
+ this.readingLength = true;
16
+ this.lengthBuffer = Buffer.alloc(4);
17
+ this.lengthBytesRead = 0;
18
+ this.responseLength = 0;
19
+ this.responseBuffer = null;
20
+ this.responseBytesRead = 0;
21
+ this.process = spawn(bbBinaryPath, ['msgpack', 'run'], {
22
+ stdio: ['pipe', 'pipe', 'inherit'],
23
+ });
24
+ this.process.stdout.on('data', (chunk) => {
25
+ this.handleData(chunk);
26
+ });
27
+ this.process.on('error', err => {
28
+ if (this.pendingReject) {
29
+ this.pendingReject(new Error(`Native backend process error: ${err.message}`));
30
+ this.pendingReject = null;
31
+ this.pendingResolve = null;
32
+ }
33
+ });
34
+ this.process.on('exit', (code, signal) => {
35
+ if (this.pendingReject) {
36
+ if (code !== null && code !== 0) {
37
+ this.pendingReject(new Error(`Native backend process exited with code ${code}`));
38
+ }
39
+ else if (signal) {
40
+ if (signal != 'SIGTERM') {
41
+ this.pendingReject(new Error(`Native backend process killed with signal ${signal}`));
42
+ }
43
+ }
44
+ else {
45
+ this.pendingReject(new Error('Native backend process exited unexpectedly'));
46
+ }
47
+ this.pendingReject = null;
48
+ this.pendingResolve = null;
49
+ }
50
+ });
51
+ }
52
+ handleData(chunk) {
53
+ let offset = 0;
54
+ while (offset < chunk.length) {
55
+ if (this.readingLength) {
56
+ // Reading 4-byte length prefix
57
+ const bytesToCopy = Math.min(4 - this.lengthBytesRead, chunk.length - offset);
58
+ chunk.copy(this.lengthBuffer, this.lengthBytesRead, offset, offset + bytesToCopy);
59
+ this.lengthBytesRead += bytesToCopy;
60
+ offset += bytesToCopy;
61
+ if (this.lengthBytesRead === 4) {
62
+ // Length is complete, switch to reading data
63
+ this.responseLength = this.lengthBuffer.readUInt32LE(0);
64
+ this.responseBuffer = Buffer.alloc(this.responseLength);
65
+ this.responseBytesRead = 0;
66
+ this.readingLength = false;
67
+ }
68
+ }
69
+ else {
70
+ // Reading response data
71
+ const bytesToCopy = Math.min(this.responseLength - this.responseBytesRead, chunk.length - offset);
72
+ chunk.copy(this.responseBuffer, this.responseBytesRead, offset, offset + bytesToCopy);
73
+ this.responseBytesRead += bytesToCopy;
74
+ offset += bytesToCopy;
75
+ if (this.responseBytesRead === this.responseLength) {
76
+ // Response is complete
77
+ if (this.pendingResolve) {
78
+ this.pendingResolve(new Uint8Array(this.responseBuffer));
79
+ this.pendingResolve = null;
80
+ this.pendingReject = null;
81
+ }
82
+ // Reset state for next message
83
+ this.readingLength = true;
84
+ this.lengthBytesRead = 0;
85
+ this.responseLength = 0;
86
+ this.responseBuffer = null;
87
+ this.responseBytesRead = 0;
88
+ }
89
+ }
90
+ }
91
+ }
92
+ async call(inputBuffer) {
93
+ if (this.pendingResolve) {
94
+ throw new Error('Cannot call while another call is pending (no pipelining supported)');
95
+ }
96
+ return new Promise((resolve, reject) => {
97
+ this.pendingResolve = resolve;
98
+ this.pendingReject = reject;
99
+ // Write request: 4-byte little-endian length + msgpack data
100
+ const lengthBuf = Buffer.alloc(4);
101
+ lengthBuf.writeUInt32LE(inputBuffer.length, 0);
102
+ this.process.stdin.write(lengthBuf);
103
+ this.process.stdin.write(inputBuffer);
104
+ });
105
+ }
106
+ async destroy() {
107
+ this.process.kill();
108
+ return new Promise(resolve => {
109
+ this.process.once('exit', () => resolve());
110
+ });
111
+ }
112
+ }
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX3BpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9uYXRpdmVfcGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUlwRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGtDQUFrQztJQWE3QyxZQUFZLFlBQW9CO1FBWHhCLG1CQUFjLEdBQXdDLElBQUksQ0FBQztRQUMzRCxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFFOUQsc0NBQXNDO1FBQzlCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGlCQUFZLEdBQVcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUMzQixtQkFBYyxHQUFrQixJQUFJLENBQUM7UUFDckMsc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBR3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNyRCxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQztTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU8sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtZQUM3QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJ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
@@ -0,0 +1,28 @@
1
+ import { IMsgpackBackendSync } from '../interface.js';
2
+ /**
3
+ * Synchronous shared memory backend that communicates with bb binary via shared memory.
4
+ * Uses NAPI module to interface with shared memory IPC.
5
+ *
6
+ * Architecture: bb acts as the SERVER, TypeScript is the CLIENT
7
+ * - bb creates the shared memory region
8
+ * - TypeScript connects via NAPI wrapper
9
+ *
10
+ * Protocol:
11
+ * - Handled internally by IpcClient (no manual length prefixes needed)
12
+ */
13
+ export declare class BarretenbergNativeShmSyncBackend implements IMsgpackBackendSync {
14
+ private process;
15
+ private client;
16
+ private constructor();
17
+ /**
18
+ * Create and initialize a shared memory backend.
19
+ * @param bbBinaryPath Path to bb binary
20
+ * @param threads Optional number of threads
21
+ * @param maxClients Optional maximum concurrent clients (default: 1)
22
+ */
23
+ static new(bbBinaryPath: string, threads?: number, maxClients?: number): Promise<BarretenbergNativeShmSyncBackend>;
24
+ call(inputBuffer: Uint8Array): Uint8Array;
25
+ private cleanup;
26
+ destroy(): void;
27
+ }
28
+ //# sourceMappingURL=native_shm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_shm.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/native_shm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAkBtD;;;;;;;;;;GAUG;AACH,qBAAa,gCAAiC,YAAW,mBAAmB;IAC1E,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAM;IAEpB,OAAO;IAKP;;;;;OAKG;WACU,GAAG,CACd,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,gCAAgC,CAAC;IA+F5C,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU;IASzC,OAAO,CAAC,OAAO;IAUf,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,150 @@
1
+ import { createRequire } from 'module';
2
+ import { spawn } from 'child_process';
3
+ import { findNapiBinary, findPackageRoot } from './platform.js';
4
+ // Import the NAPI module
5
+ // The addon is built to the nodejs_module directory
6
+ const addonPath = findNapiBinary();
7
+ // Try loading, but don't throw if it doesn't exist (will be caught in constructor)
8
+ let addon = null;
9
+ try {
10
+ if (addonPath) {
11
+ const require = createRequire(findPackageRoot());
12
+ addon = require(addonPath);
13
+ }
14
+ }
15
+ catch (err) {
16
+ // Addon not built yet or not available
17
+ addon = null;
18
+ }
19
+ /**
20
+ * Synchronous shared memory backend that communicates with bb binary via shared memory.
21
+ * Uses NAPI module to interface with shared memory IPC.
22
+ *
23
+ * Architecture: bb acts as the SERVER, TypeScript is the CLIENT
24
+ * - bb creates the shared memory region
25
+ * - TypeScript connects via NAPI wrapper
26
+ *
27
+ * Protocol:
28
+ * - Handled internally by IpcClient (no manual length prefixes needed)
29
+ */
30
+ export class BarretenbergNativeShmSyncBackend {
31
+ constructor(process, client) {
32
+ this.process = process;
33
+ this.client = client;
34
+ }
35
+ /**
36
+ * Create and initialize a shared memory backend.
37
+ * @param bbBinaryPath Path to bb binary
38
+ * @param threads Optional number of threads
39
+ * @param maxClients Optional maximum concurrent clients (default: 1)
40
+ */
41
+ static async new(bbBinaryPath, threads, maxClients) {
42
+ if (!addon || !addon.MsgpackClient) {
43
+ throw new Error('Shared memory NAPI not available.');
44
+ }
45
+ // Create a unique shared memory name
46
+ const shmName = `bb-${process.pid}-${Date.now()}`;
47
+ // Default maxClients to 1 if not specified
48
+ const clientCount = maxClients ?? 1;
49
+ // Set HARDWARE_CONCURRENCY if threads specified
50
+ const env = threads !== undefined ? { ...process.env, HARDWARE_CONCURRENCY: threads.toString() } : process.env;
51
+ // Spawn bb process with shared memory mode
52
+ const args = [bbBinaryPath, 'msgpack', 'run', '--input', `${shmName}.shm`, '--max-clients', clientCount.toString()];
53
+ const bbProcess = spawn(findPackageRoot() + '/scripts/kill_wrapper.sh', args, {
54
+ stdio: ['ignore', 'ignore', 'ignore'],
55
+ env,
56
+ });
57
+ // Disconnect from event loop so process can exit. The kill wrapper will reap bb once parent (node) dies.
58
+ bbProcess.unref();
59
+ // Capture stderr for error diagnostics
60
+ // bbProcess.stderr?.on('data', (data: Buffer) => {
61
+ // stderrOutput += data.toString();
62
+ // });
63
+ // Track if process has exited
64
+ let processExited = false;
65
+ let exitError = null;
66
+ bbProcess.on('error', err => {
67
+ processExited = true;
68
+ exitError = new Error(`Native backend process error: ${err.message}`);
69
+ });
70
+ bbProcess.on('exit', (code, signal) => {
71
+ processExited = true;
72
+ if (code !== null && code !== 0) {
73
+ exitError = new Error(`Native backend process exited with code ${code}`);
74
+ }
75
+ else if (signal && signal !== 'SIGTERM') {
76
+ exitError = new Error(`Native backend process killed with signal ${signal}`);
77
+ }
78
+ });
79
+ // Wait for bb to create shared memory
80
+ // Retry connection every 100ms for up to 3 seconds
81
+ const retryInterval = 100; // ms
82
+ const timeout = 3000; // ms
83
+ const maxAttempts = Math.floor(timeout / retryInterval);
84
+ let client = null;
85
+ try {
86
+ for (let attempt = 0; attempt < maxAttempts; attempt++) {
87
+ // Check if bb process has exited before attempting connection
88
+ if (processExited) {
89
+ throw exitError || new Error('Native backend process exited unexpectedly during startup');
90
+ }
91
+ // Wait before attempting connection (except first attempt)
92
+ if (attempt > 0) {
93
+ await new Promise(resolve => setTimeout(resolve, retryInterval));
94
+ }
95
+ try {
96
+ // Create NAPI client with matching max_clients value
97
+ client = new addon.MsgpackClient(shmName, clientCount);
98
+ break; // Success!
99
+ }
100
+ catch (err) {
101
+ // Connection failed, will retry
102
+ if (attempt === maxAttempts - 1) {
103
+ // Last attempt failed - check one more time if process exited
104
+ if (processExited && exitError) {
105
+ throw exitError;
106
+ }
107
+ throw new Error(`Failed to connect to shared memory after ${timeout}ms: ${err.message}`);
108
+ }
109
+ }
110
+ }
111
+ if (!client) {
112
+ throw new Error('Failed to create client connection');
113
+ }
114
+ return new BarretenbergNativeShmSyncBackend(bbProcess, client);
115
+ }
116
+ finally {
117
+ // If we failed to connect, ensure the process is killed
118
+ // kill() returns false if process already exited, but doesn't throw
119
+ if (!client) {
120
+ bbProcess.kill('SIGKILL');
121
+ }
122
+ }
123
+ }
124
+ call(inputBuffer) {
125
+ try {
126
+ const responseBuffer = this.client.call(Buffer.from(inputBuffer));
127
+ return new Uint8Array(responseBuffer);
128
+ }
129
+ catch (err) {
130
+ throw new Error(`Shared memory call failed: ${err.message}`);
131
+ }
132
+ }
133
+ cleanup() {
134
+ if (this.client) {
135
+ try {
136
+ this.client.close();
137
+ }
138
+ catch (e) {
139
+ // Ignore errors during cleanup
140
+ }
141
+ }
142
+ }
143
+ destroy() {
144
+ this.cleanup();
145
+ this.process.kill('SIGTERM');
146
+ // Remove process event listeners to prevent hanging
147
+ this.process.removeAllListeners();
148
+ }
149
+ }
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX3NobS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9ub2RlL25hdGl2ZV9zaG0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSx5QkFBeUI7QUFDekIsb0RBQW9EO0FBQ3BELE1BQU0sU0FBUyxHQUFHLGNBQWMsRUFBRSxDQUFDO0FBQ25DLG1GQUFtRjtBQUNuRixJQUFJLEtBQUssR0FBUSxJQUFJLENBQUM7QUFDdEIsSUFBSSxDQUFDO0lBQ0gsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxlQUFlLEVBQUcsQ0FBQyxDQUFDO1FBQ2xELEtBQUssR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUM7QUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2IsdUNBQXVDO0lBQ3ZDLEtBQUssR0FBRyxJQUFJLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0MsWUFBb0IsT0FBcUIsRUFBRSxNQUFXO1FBQ3BELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNkLFlBQW9CLEVBQ3BCLE9BQWdCLEVBQ2hCLFVBQW1CO1FBRW5CLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO1FBRWxELDJDQUEyQztRQUMzQyxNQUFNLFdBQVcsR0FBRyxVQUFVLElBQUksQ0FBQyxDQUFDO1FBRXBDLGdEQUFnRDtRQUNoRCxNQUFNLEdBQUcsR0FBRyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUUvRywyQ0FBMkM7UUFDM0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLE1BQU0sRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEgsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLGVBQWUsRUFBRSxHQUFHLDBCQUEwQixFQUFFLElBQUksRUFBRTtZQUM1RSxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQztZQUNyQyxHQUFHO1NBQ0osQ0FBQyxDQUFDO1FBQ0gseUdBQXlHO1FBQ3pHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQix1Q0FBdUM7UUFDdkMsbURBQW1EO1FBQ25ELHFDQUFxQztRQUNyQyxNQUFNO1FBRU4sOEJBQThCO1FBQzlCLElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLFNBQVMsR0FBaUIsSUFBSSxDQUFDO1FBRW5DLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDckIsU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLGlDQUFpQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDLENBQUMsQ0FBQztRQUVILFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3BDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLDJDQUEyQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLENBQUM7aUJBQU0sSUFBSSxNQUFNLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMxQyxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUMsNkNBQTZDLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDL0UsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsc0NBQXNDO1FBQ3RDLG1EQUFtRDtRQUNuRCxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLO1FBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxDQUFDLEtBQUs7UUFDM0IsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDeEQsSUFBSSxNQUFNLEdBQVEsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQztZQUNILEtBQUssSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDdkQsOERBQThEO2dCQUM5RCxJQUFJLGFBQWEsRUFBRSxDQUFDO29CQUNsQixNQUFNLFNBQVMsSUFBSSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFDO2dCQUM1RixDQUFDO2dCQUVELDJEQUEyRDtnQkFDM0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ2hCLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ25FLENBQUM7Z0JBRUQsSUFBSSxDQUFDO29CQUNILHFEQUFxRDtvQkFDckQsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7b0JBQ3ZELE1BQU0sQ0FBQyxXQUFXO2dCQUNwQixDQUFDO2dCQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7b0JBQ2xCLGdDQUFnQztvQkFDaEMsSUFBSSxPQUFPLEtBQUssV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNoQyw4REFBOEQ7d0JBQzlELElBQUksYUFBYSxJQUFJLFNBQVMsRUFBRSxDQUFDOzRCQUMvQixNQUFNLFNBQVMsQ0FBQzt3QkFDbEIsQ0FBQzt3QkFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxPQUFPLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7b0JBQzNGLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFFRCxPQUFPLElBQUksZ0NBQWdDLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLENBQUM7Z0JBQVMsQ0FBQztZQUNULHdEQUF3RDtZQUN4RCxvRUFBb0U7WUFDcEUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNaLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLFdBQXVCO1FBQzFCLElBQUksQ0FBQztZQUNILE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUNsRSxPQUFPLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRU8sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQztnQkFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLCtCQUErQjtZQUNqQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0Isb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0YifQ==
@@ -0,0 +1,34 @@
1
+ import { IMsgpackBackendAsync } from '../interface.js';
2
+ /**
3
+ * Asynchronous native backend that communicates with bb binary via Unix Domain Socket.
4
+ * Uses event-based I/O with a state machine to handle partial reads.
5
+ *
6
+ * Architecture: bb acts as the SERVER, TypeScript is the CLIENT
7
+ * - bb creates the socket and listens for connections
8
+ * - TypeScript waits for socket file to exist, then connects
9
+ *
10
+ * Protocol:
11
+ * - Request: 4-byte little-endian length + msgpack buffer
12
+ * - Response: 4-byte little-endian length + msgpack buffer
13
+ */
14
+ export declare class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsync {
15
+ private process;
16
+ private socket;
17
+ private socketPath;
18
+ private connectionPromise;
19
+ private connectionTimeout;
20
+ private pendingCallbacks;
21
+ private readingLength;
22
+ private lengthBuffer;
23
+ private lengthBytesRead;
24
+ private responseLength;
25
+ private responseBuffer;
26
+ private responseBytesRead;
27
+ constructor(bbBinaryPath: string, threads?: number);
28
+ private waitForSocketAndConnect;
29
+ private handleData;
30
+ call(inputBuffer: Uint8Array): Promise<Uint8Array>;
31
+ private cleanup;
32
+ destroy(): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=native_socket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native_socket.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/native_socket.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;;;;;;;;;;GAWG;AACH,qBAAa,oCAAqC,YAAW,oBAAoB;IAC/E,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,iBAAiB,CAA+B;IAIxD,OAAO,CAAC,gBAAgB,CAGhB;IAGR,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,iBAAiB,CAAa;gBAE1B,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;YA4FpC,uBAAuB;IAiErC,OAAO,CAAC,UAAU;IA8CZ,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBxD,OAAO,CAAC,OAAO;IAiCT,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAY/B"}