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

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 (637) hide show
  1. package/build/amd64-linux/bb +0 -0
  2. package/build/amd64-linux/nodejs_module.node +0 -0
  3. package/build/amd64-macos/bb +0 -0
  4. package/build/amd64-macos/nodejs_module.node +0 -0
  5. package/build/arm64-linux/bb +0 -0
  6. package/build/arm64-linux/nodejs_module.node +0 -0
  7. package/build/arm64-macos/bb +0 -0
  8. package/build/arm64-macos/nodejs_module.node +0 -0
  9. package/dest/browser/async_map/index.d.ts +1 -1
  10. package/dest/browser/async_map/index.js +1 -1
  11. package/dest/browser/barretenberg/backend.d.ts +58 -40
  12. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  13. package/dest/browser/barretenberg/backend.js +143 -94
  14. package/dest/browser/barretenberg/index.d.ts +3 -5
  15. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  16. package/dest/browser/barretenberg/index.js +19 -28
  17. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
  18. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  19. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  20. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  21. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  22. package/dest/browser/barretenberg/testing/fields.js +47 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  45. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  46. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  47. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  48. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  51. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  52. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  53. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  54. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +9 -2
  55. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +1 -1
  56. package/dest/browser/barretenberg_wasm/index.d.ts +1 -1
  57. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
  58. package/dest/browser/barretenberg_wasm/index.js +2 -3
  59. package/dest/browser/bb_backends/browser/index.d.ts +1 -1
  60. package/dest/browser/bb_backends/browser/index.js +1 -1
  61. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  62. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  63. package/dest/browser/bb_backends/browser/platform.js +10 -0
  64. package/dest/browser/bb_backends/index.d.ts +12 -7
  65. package/dest/browser/bb_backends/index.d.ts.map +1 -1
  66. package/dest/browser/bb_backends/index.js +8 -7
  67. package/dest/browser/bb_backends/interface.d.ts +1 -1
  68. package/dest/browser/bb_backends/wasm.d.ts +1 -1
  69. package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
  70. package/dest/browser/bb_backends/wasm.js +5 -3
  71. package/dest/browser/bbapi_exception.d.ts +1 -1
  72. package/dest/browser/bbapi_exception.d.ts.map +1 -1
  73. package/dest/browser/bbapi_exception.js +1 -1
  74. package/dest/browser/bin/index.d.ts +3 -0
  75. package/dest/browser/bin/index.d.ts.map +1 -0
  76. package/dest/browser/bin/index.js +11 -0
  77. package/dest/browser/cbind/generate.d.ts +5 -2
  78. package/dest/browser/cbind/generate.d.ts.map +1 -1
  79. package/dest/browser/cbind/generate.js +47 -25
  80. package/dest/browser/cbind/generated/api_types.d.ts +766 -1687
  81. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  82. package/dest/browser/cbind/generated/api_types.js +1465 -1555
  83. package/dest/browser/cbind/generated/async.d.ts +3 -5
  84. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  85. package/dest/browser/cbind/generated/async.js +14 -33
  86. package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
  87. package/dest/browser/cbind/generated/sync.d.ts +3 -5
  88. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  89. package/dest/browser/cbind/generated/sync.js +14 -31
  90. package/dest/browser/cbind/naming.d.ts +16 -0
  91. package/dest/browser/cbind/naming.d.ts.map +1 -0
  92. package/dest/browser/cbind/naming.js +24 -0
  93. package/dest/browser/cbind/rust_codegen.d.ts +26 -0
  94. package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
  95. package/dest/browser/cbind/rust_codegen.js +461 -0
  96. package/dest/browser/cbind/schema_visitor.d.ts +47 -0
  97. package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
  98. package/dest/browser/cbind/schema_visitor.js +158 -0
  99. package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
  100. package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
  101. package/dest/browser/cbind/typescript_codegen.js +365 -0
  102. package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
  103. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
  104. package/dest/browser/crs/browser/cached_net_crs.js +6 -1
  105. package/dest/browser/crs/browser/index.d.ts +1 -1
  106. package/dest/browser/crs/index.d.ts +1 -1
  107. package/dest/browser/crs/net_crs.d.ts +6 -16
  108. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  109. package/dest/browser/crs/net_crs.js +35 -7
  110. package/dest/browser/index.d.ts +3 -2
  111. package/dest/browser/index.d.ts.map +1 -1
  112. package/dest/browser/index.js +3 -2
  113. package/dest/browser/proof/index.d.ts +1 -1
  114. package/dest/browser/proof/index.js +1 -1
  115. package/dest/browser/random/browser/index.d.ts +1 -1
  116. package/dest/browser/random/browser/index.d.ts.map +1 -1
  117. package/dest/browser/random/browser/index.js +1 -1
  118. package/dest/browser/random/index.d.ts +1 -1
  119. package/dest/browser/retry/index.d.ts +1 -1
  120. package/dest/browser/retry/index.js +1 -1
  121. package/dest/node/async_map/index.d.ts +1 -1
  122. package/dest/node/async_map/index.js +1 -1
  123. package/dest/node/barretenberg/backend.d.ts +58 -40
  124. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  125. package/dest/node/barretenberg/backend.js +143 -94
  126. package/dest/node/barretenberg/backend.test.d.ts +2 -0
  127. package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
  128. package/dest/node/barretenberg/backend.test.js +103 -0
  129. package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
  130. package/dest/node/barretenberg/blake2s.test.js +2 -2
  131. package/dest/node/barretenberg/index.d.ts +3 -5
  132. package/dest/node/barretenberg/index.d.ts.map +1 -1
  133. package/dest/node/barretenberg/index.js +19 -28
  134. package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
  135. package/dest/node/barretenberg/pedersen.test.js +2 -2
  136. package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
  137. package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
  138. package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
  139. package/dest/node/barretenberg/poseidon.test.js +2 -2
  140. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  141. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  142. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  143. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  144. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  145. package/dest/node/barretenberg/testing/fields.js +47 -0
  146. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  157. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  158. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  159. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  160. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  161. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  162. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  163. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  164. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  165. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  166. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  167. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  168. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  179. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  180. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  181. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  182. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  183. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  184. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  185. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
  186. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  187. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  188. package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
  189. package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
  190. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  191. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  192. package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
  193. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  194. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  195. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  196. package/dest/node/barretenberg_wasm/index.d.ts +1 -1
  197. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  198. package/dest/node/barretenberg_wasm/index.js +2 -3
  199. package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
  200. package/dest/node/barretenberg_wasm/index.test.js +1 -1
  201. package/dest/node/bb_backends/browser/index.d.ts +1 -1
  202. package/dest/node/bb_backends/browser/index.js +1 -1
  203. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  204. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  205. package/dest/node/bb_backends/browser/platform.js +10 -0
  206. package/dest/node/bb_backends/index.d.ts +12 -7
  207. package/dest/node/bb_backends/index.d.ts.map +1 -1
  208. package/dest/node/bb_backends/index.js +8 -7
  209. package/dest/node/bb_backends/interface.d.ts +1 -1
  210. package/dest/node/bb_backends/node/index.d.ts +1 -1
  211. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  212. package/dest/node/bb_backends/node/index.js +17 -11
  213. package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
  214. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
  215. package/dest/node/bb_backends/node/native_pipe.js +11 -10
  216. package/dest/node/bb_backends/node/native_shm.d.ts +4 -3
  217. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  218. package/dest/node/bb_backends/node/native_shm.js +85 -39
  219. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  220. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  221. package/dest/node/bb_backends/node/native_shm_async.js +233 -0
  222. package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
  223. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  224. package/dest/node/bb_backends/node/native_socket.js +46 -32
  225. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  226. package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
  227. package/dest/node/bb_backends/node/platform.js +7 -2
  228. package/dest/node/bb_backends/wasm.d.ts +1 -1
  229. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  230. package/dest/node/bb_backends/wasm.js +5 -3
  231. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  232. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  233. package/dest/node/bbapi/exception_handling.test.js +48 -0
  234. package/dest/node/bbapi_exception.d.ts +1 -1
  235. package/dest/node/bbapi_exception.d.ts.map +1 -1
  236. package/dest/node/bbapi_exception.js +1 -1
  237. package/dest/node/benchmark/index.d.ts +1 -1
  238. package/dest/node/benchmark/index.js +1 -1
  239. package/dest/node/benchmark/timer.d.ts +1 -1
  240. package/dest/node/benchmark/timer.d.ts.map +1 -1
  241. package/dest/node/benchmark/timer.js +2 -1
  242. package/dest/node/bin/index.d.ts +3 -0
  243. package/dest/node/bin/index.d.ts.map +1 -0
  244. package/dest/node/bin/index.js +11 -0
  245. package/dest/node/cbind/generate.d.ts +5 -2
  246. package/dest/node/cbind/generate.d.ts.map +1 -1
  247. package/dest/node/cbind/generate.js +47 -25
  248. package/dest/node/cbind/generated/api_types.d.ts +766 -1687
  249. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  250. package/dest/node/cbind/generated/api_types.js +1465 -1555
  251. package/dest/node/cbind/generated/async.d.ts +3 -5
  252. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  253. package/dest/node/cbind/generated/async.js +14 -33
  254. package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
  255. package/dest/node/cbind/generated/sync.d.ts +3 -5
  256. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  257. package/dest/node/cbind/generated/sync.js +14 -31
  258. package/dest/node/cbind/naming.d.ts +16 -0
  259. package/dest/node/cbind/naming.d.ts.map +1 -0
  260. package/dest/node/cbind/naming.js +24 -0
  261. package/dest/node/cbind/rust_codegen.d.ts +26 -0
  262. package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
  263. package/dest/node/cbind/rust_codegen.js +461 -0
  264. package/dest/node/cbind/schema_visitor.d.ts +47 -0
  265. package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
  266. package/dest/node/cbind/schema_visitor.js +158 -0
  267. package/dest/node/cbind/typescript_codegen.d.ts +30 -0
  268. package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
  269. package/dest/node/cbind/typescript_codegen.js +365 -0
  270. package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
  271. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
  272. package/dest/node/crs/browser/cached_net_crs.js +6 -1
  273. package/dest/node/crs/browser/index.d.ts +1 -1
  274. package/dest/node/crs/index.d.ts +1 -1
  275. package/dest/node/crs/net_crs.d.ts +6 -16
  276. package/dest/node/crs/net_crs.d.ts.map +1 -1
  277. package/dest/node/crs/net_crs.js +35 -7
  278. package/dest/node/crs/net_crs.test.d.ts +2 -0
  279. package/dest/node/crs/net_crs.test.d.ts.map +1 -0
  280. package/dest/node/crs/net_crs.test.js +39 -0
  281. package/dest/node/crs/node/index.d.ts +1 -1
  282. package/dest/node/crs/node/index.d.ts.map +1 -1
  283. package/dest/node/crs/node/index.js +11 -6
  284. package/dest/node/index.d.ts +3 -2
  285. package/dest/node/index.d.ts.map +1 -1
  286. package/dest/node/index.js +3 -2
  287. package/dest/node/proof/index.d.ts +1 -1
  288. package/dest/node/proof/index.js +1 -1
  289. package/dest/node/random/browser/index.d.ts +1 -1
  290. package/dest/node/random/browser/index.d.ts.map +1 -1
  291. package/dest/node/random/browser/index.js +1 -1
  292. package/dest/node/random/index.d.ts +1 -1
  293. package/dest/node/random/node/index.d.ts +1 -1
  294. package/dest/node/random/node/index.js +1 -1
  295. package/dest/node/retry/index.d.ts +1 -1
  296. package/dest/node/retry/index.js +1 -1
  297. package/dest/node-cjs/async_map/index.d.ts +1 -1
  298. package/dest/node-cjs/async_map/index.js +1 -1
  299. package/dest/node-cjs/barretenberg/backend.d.ts +58 -40
  300. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  301. package/dest/node-cjs/barretenberg/backend.js +151 -100
  302. package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
  303. package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
  304. package/dest/node-cjs/barretenberg/backend.test.js +105 -0
  305. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
  306. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  307. package/dest/node-cjs/barretenberg/index.d.ts +3 -5
  308. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  309. package/dest/node-cjs/barretenberg/index.js +27 -34
  310. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
  311. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  312. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
  313. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
  314. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
  315. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  316. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  317. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  318. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  319. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  320. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  321. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  323. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  324. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  325. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +7 -8
  326. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  327. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  328. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
  329. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  330. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  331. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  332. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  333. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  334. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  335. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  336. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  337. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  338. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  339. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  340. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  341. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  342. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  343. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  344. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
  345. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  346. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  347. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  348. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  349. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  350. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  351. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  352. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  353. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  354. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  355. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  356. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  357. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  358. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  359. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  360. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
  361. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  362. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  363. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  364. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  365. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  366. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
  367. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
  368. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  369. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  370. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
  371. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  372. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  373. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  374. package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
  375. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  376. package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
  377. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
  378. package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
  379. package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
  380. package/dest/node-cjs/bb_backends/browser/index.js +1 -1
  381. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  382. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  383. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  384. package/dest/node-cjs/bb_backends/index.d.ts +12 -7
  385. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  386. package/dest/node-cjs/bb_backends/index.js +6 -6
  387. package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
  388. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  389. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  390. package/dest/node-cjs/bb_backends/node/index.js +17 -11
  391. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
  392. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
  393. package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
  394. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +4 -3
  395. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  396. package/dest/node-cjs/bb_backends/node/native_shm.js +85 -39
  397. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  398. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  399. package/dest/node-cjs/bb_backends/node/native_shm_async.js +237 -0
  400. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
  401. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  402. package/dest/node-cjs/bb_backends/node/native_socket.js +46 -32
  403. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  404. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
  405. package/dest/node-cjs/bb_backends/node/platform.js +8 -3
  406. package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
  407. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  408. package/dest/node-cjs/bb_backends/wasm.js +5 -3
  409. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  410. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  411. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  412. package/dest/node-cjs/bbapi_exception.d.ts +1 -1
  413. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
  414. package/dest/node-cjs/bbapi_exception.js +1 -1
  415. package/dest/node-cjs/benchmark/index.d.ts +1 -1
  416. package/dest/node-cjs/benchmark/index.js +2 -2
  417. package/dest/node-cjs/benchmark/timer.d.ts +1 -1
  418. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
  419. package/dest/node-cjs/benchmark/timer.js +2 -1
  420. package/dest/node-cjs/bin/index.d.ts +3 -0
  421. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  422. package/dest/node-cjs/bin/index.js +13 -0
  423. package/dest/node-cjs/cbind/generate.d.ts +5 -2
  424. package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
  425. package/dest/node-cjs/cbind/generate.js +47 -25
  426. package/dest/node-cjs/cbind/generated/api_types.d.ts +766 -1687
  427. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  428. package/dest/node-cjs/cbind/generated/api_types.js +1671 -1771
  429. package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
  430. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  431. package/dest/node-cjs/cbind/generated/async.js +13 -32
  432. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
  433. package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
  434. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  435. package/dest/node-cjs/cbind/generated/sync.js +13 -30
  436. package/dest/node-cjs/cbind/naming.d.ts +16 -0
  437. package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
  438. package/dest/node-cjs/cbind/naming.js +28 -0
  439. package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
  440. package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
  441. package/dest/node-cjs/cbind/rust_codegen.js +465 -0
  442. package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
  443. package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
  444. package/dest/node-cjs/cbind/schema_visitor.js +162 -0
  445. package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
  446. package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
  447. package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
  448. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
  449. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
  450. package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
  451. package/dest/node-cjs/crs/browser/index.d.ts +1 -1
  452. package/dest/node-cjs/crs/browser/index.js +2 -2
  453. package/dest/node-cjs/crs/index.d.ts +1 -1
  454. package/dest/node-cjs/crs/index.js +2 -2
  455. package/dest/node-cjs/crs/net_crs.d.ts +6 -16
  456. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  457. package/dest/node-cjs/crs/net_crs.js +36 -7
  458. package/dest/node-cjs/crs/net_crs.test.d.ts +2 -0
  459. package/dest/node-cjs/crs/net_crs.test.d.ts.map +1 -0
  460. package/dest/node-cjs/crs/net_crs.test.js +41 -0
  461. package/dest/node-cjs/crs/node/index.d.ts +1 -1
  462. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  463. package/dest/node-cjs/crs/node/index.js +11 -6
  464. package/dest/node-cjs/index.d.ts +3 -2
  465. package/dest/node-cjs/index.d.ts.map +1 -1
  466. package/dest/node-cjs/index.js +12 -8
  467. package/dest/node-cjs/proof/index.d.ts +1 -1
  468. package/dest/node-cjs/proof/index.js +1 -1
  469. package/dest/node-cjs/random/browser/index.d.ts +1 -1
  470. package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
  471. package/dest/node-cjs/random/browser/index.js +1 -1
  472. package/dest/node-cjs/random/index.d.ts +1 -1
  473. package/dest/node-cjs/random/node/index.d.ts +1 -1
  474. package/dest/node-cjs/random/node/index.js +1 -1
  475. package/dest/node-cjs/retry/index.d.ts +1 -1
  476. package/dest/node-cjs/retry/index.js +1 -1
  477. package/package.json +8 -6
  478. package/src/barretenberg/backend.test.ts +122 -0
  479. package/src/barretenberg/backend.ts +170 -122
  480. package/src/barretenberg/blake2s.test.ts +1 -1
  481. package/src/barretenberg/index.ts +25 -28
  482. package/src/barretenberg/pedersen.test.ts +1 -1
  483. package/src/barretenberg/poseidon.bench.test.ts +160 -157
  484. package/src/barretenberg/poseidon.test.ts +1 -1
  485. package/src/{types → barretenberg/testing}/fields.ts +12 -26
  486. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
  487. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
  488. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
  489. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
  490. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
  491. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +38 -5
  492. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
  493. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
  494. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
  495. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
  496. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
  497. package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
  498. package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
  499. package/src/barretenberg_wasm/index.ts +1 -2
  500. package/src/bb_backends/browser/platform.ts +11 -0
  501. package/src/bb_backends/index.ts +12 -6
  502. package/src/bb_backends/node/index.ts +23 -10
  503. package/src/bb_backends/node/native_shm.ts +81 -38
  504. package/src/bb_backends/node/native_shm_async.ts +262 -0
  505. package/src/bb_backends/node/native_socket.ts +35 -19
  506. package/src/bb_backends/node/platform.ts +6 -1
  507. package/src/bb_backends/wasm.ts +1 -2
  508. package/src/bbapi/exception_handling.test.ts +54 -0
  509. package/src/bin/index.ts +14 -0
  510. package/src/cbind/generate.ts +51 -32
  511. package/src/cbind/generated/api_types.ts +1612 -2833
  512. package/src/cbind/generated/async.ts +13 -34
  513. package/src/cbind/generated/sync.ts +13 -32
  514. package/src/cbind/naming.ts +27 -0
  515. package/src/cbind/rust_codegen.ts +504 -0
  516. package/src/cbind/schema_visitor.ts +219 -0
  517. package/src/cbind/typescript_codegen.ts +419 -0
  518. package/src/crs/net_crs.test.ts +47 -0
  519. package/src/crs/net_crs.ts +45 -14
  520. package/src/crs/node/index.ts +4 -5
  521. package/src/index.ts +6 -0
  522. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  523. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  524. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  525. package/dest/browser/bigint-array/index.d.ts +0 -17
  526. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  527. package/dest/browser/bigint-array/index.js +0 -37
  528. package/dest/browser/cbind/schema_compiler.d.ts +0 -68
  529. package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
  530. package/dest/browser/cbind/schema_compiler.js +0 -599
  531. package/dest/browser/log/browser/index.d.ts +0 -6
  532. package/dest/browser/log/browser/index.d.ts.map +0 -1
  533. package/dest/browser/log/browser/index.js +0 -28
  534. package/dest/browser/log/index.d.ts +0 -2
  535. package/dest/browser/log/index.d.ts.map +0 -1
  536. package/dest/browser/log/index.js +0 -2
  537. package/dest/browser/log/types.d.ts +0 -6
  538. package/dest/browser/log/types.d.ts.map +0 -1
  539. package/dest/browser/log/types.js +0 -2
  540. package/dest/browser/serialize/index.d.ts +0 -2
  541. package/dest/browser/serialize/index.d.ts.map +0 -1
  542. package/dest/browser/serialize/index.js +0 -2
  543. package/dest/browser/serialize/serialize.d.ts +0 -18
  544. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  545. package/dest/browser/serialize/serialize.js +0 -72
  546. package/dest/browser/types/fields.d.ts +0 -23
  547. package/dest/browser/types/fields.d.ts.map +0 -1
  548. package/dest/browser/types/fields.js +0 -61
  549. package/dest/browser/types/index.d.ts +0 -3
  550. package/dest/browser/types/index.d.ts.map +0 -1
  551. package/dest/browser/types/index.js +0 -3
  552. package/dest/browser/types/point.d.ts +0 -18
  553. package/dest/browser/types/point.d.ts.map +0 -1
  554. package/dest/browser/types/point.js +0 -28
  555. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  556. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  557. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  558. package/dest/node/bigint-array/index.d.ts +0 -17
  559. package/dest/node/bigint-array/index.d.ts.map +0 -1
  560. package/dest/node/bigint-array/index.js +0 -37
  561. package/dest/node/cbind/schema_compiler.d.ts +0 -68
  562. package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
  563. package/dest/node/cbind/schema_compiler.js +0 -599
  564. package/dest/node/log/browser/index.d.ts +0 -6
  565. package/dest/node/log/browser/index.d.ts.map +0 -1
  566. package/dest/node/log/browser/index.js +0 -28
  567. package/dest/node/log/index.d.ts +0 -2
  568. package/dest/node/log/index.d.ts.map +0 -1
  569. package/dest/node/log/index.js +0 -2
  570. package/dest/node/log/node/index.d.ts +0 -6
  571. package/dest/node/log/node/index.d.ts.map +0 -1
  572. package/dest/node/log/node/index.js +0 -40
  573. package/dest/node/log/types.d.ts +0 -6
  574. package/dest/node/log/types.d.ts.map +0 -1
  575. package/dest/node/log/types.js +0 -2
  576. package/dest/node/serialize/index.d.ts +0 -2
  577. package/dest/node/serialize/index.d.ts.map +0 -1
  578. package/dest/node/serialize/index.js +0 -2
  579. package/dest/node/serialize/serialize.d.ts +0 -18
  580. package/dest/node/serialize/serialize.d.ts.map +0 -1
  581. package/dest/node/serialize/serialize.js +0 -72
  582. package/dest/node/types/fields.d.ts +0 -23
  583. package/dest/node/types/fields.d.ts.map +0 -1
  584. package/dest/node/types/fields.js +0 -61
  585. package/dest/node/types/index.d.ts +0 -3
  586. package/dest/node/types/index.d.ts.map +0 -1
  587. package/dest/node/types/index.js +0 -3
  588. package/dest/node/types/point.d.ts +0 -18
  589. package/dest/node/types/point.d.ts.map +0 -1
  590. package/dest/node/types/point.js +0 -28
  591. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  592. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  593. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  594. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  595. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  596. package/dest/node-cjs/bigint-array/index.js +0 -43
  597. package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
  598. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
  599. package/dest/node-cjs/cbind/schema_compiler.js +0 -606
  600. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  601. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  602. package/dest/node-cjs/log/browser/index.js +0 -30
  603. package/dest/node-cjs/log/index.d.ts +0 -2
  604. package/dest/node-cjs/log/index.d.ts.map +0 -1
  605. package/dest/node-cjs/log/index.js +0 -8
  606. package/dest/node-cjs/log/node/index.d.ts +0 -6
  607. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  608. package/dest/node-cjs/log/node/index.js +0 -42
  609. package/dest/node-cjs/log/types.d.ts +0 -6
  610. package/dest/node-cjs/log/types.d.ts.map +0 -1
  611. package/dest/node-cjs/log/types.js +0 -3
  612. package/dest/node-cjs/serialize/index.d.ts +0 -2
  613. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  614. package/dest/node-cjs/serialize/index.js +0 -5
  615. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  616. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  617. package/dest/node-cjs/serialize/serialize.js +0 -82
  618. package/dest/node-cjs/types/fields.d.ts +0 -23
  619. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  620. package/dest/node-cjs/types/fields.js +0 -65
  621. package/dest/node-cjs/types/index.d.ts +0 -3
  622. package/dest/node-cjs/types/index.d.ts.map +0 -1
  623. package/dest/node-cjs/types/index.js +0 -6
  624. package/dest/node-cjs/types/point.d.ts +0 -18
  625. package/dest/node-cjs/types/point.d.ts.map +0 -1
  626. package/dest/node-cjs/types/point.js +0 -32
  627. package/src/bb_backends/sync_to_async_adapter.ts +0 -21
  628. package/src/cbind/schema_compiler.ts +0 -745
  629. package/src/log/browser/index.ts +0 -35
  630. package/src/log/index.ts +0 -1
  631. package/src/log/node/index.ts +0 -52
  632. package/src/log/types.ts +0 -6
  633. package/src/serialize/index.ts +0 -1
  634. package/src/serialize/serialize.ts +0 -75
  635. package/src/types/index.ts +0 -2
  636. package/src/types/point.ts +0 -32
  637. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -3,7 +3,9 @@ import * as net from 'net';
3
3
  import * as fs from 'fs';
4
4
  import * as os from 'os';
5
5
  import * as path from 'path';
6
- import { findPackageRoot } from './platform.js';
6
+ import readline from 'readline';
7
+ import { threadId } from 'worker_threads';
8
+ let instanceCounter = 0;
7
9
  /**
8
10
  * Asynchronous native backend that communicates with bb binary via Unix Domain Socket.
9
11
  * Uses event-based I/O with a state machine to handle partial reads.
@@ -17,21 +19,24 @@ import { findPackageRoot } from './platform.js';
17
19
  * - Response: 4-byte little-endian length + msgpack buffer
18
20
  */
19
21
  export class BarretenbergNativeSocketAsyncBackend {
20
- constructor(bbBinaryPath, threads) {
21
- this.socket = null;
22
- this.connectionTimeout = null;
23
- // Queue of pending callbacks for pipelined requests
24
- // Responses come back in FIFO order, so we match them with queued callbacks
25
- this.pendingCallbacks = [];
26
- // State machine for reading responses
27
- this.readingLength = true;
28
- this.lengthBuffer = Buffer.alloc(4);
29
- this.lengthBytesRead = 0;
30
- this.responseLength = 0;
31
- this.responseBuffer = null;
32
- this.responseBytesRead = 0;
22
+ process;
23
+ socket = null;
24
+ socketPath;
25
+ connectionPromise;
26
+ connectionTimeout = null;
27
+ // Queue of pending callbacks for pipelined requests
28
+ // Responses come back in FIFO order, so we match them with queued callbacks
29
+ pendingCallbacks = [];
30
+ // State machine for reading responses
31
+ readingLength = true;
32
+ lengthBuffer = Buffer.alloc(4);
33
+ lengthBytesRead = 0;
34
+ responseLength = 0;
35
+ responseBuffer = null;
36
+ responseBytesRead = 0;
37
+ constructor(bbBinaryPath, threads, logger) {
33
38
  // Create a unique socket path in temp directory
34
- this.socketPath = path.join(os.tmpdir(), `bb-${process.pid}-${Date.now()}.sock`);
39
+ this.socketPath = path.join(os.tmpdir(), `bb-${process.pid}-${threadId}-${instanceCounter++}.sock`);
35
40
  // Ensure socket path doesn't already exist (cleanup from previous crashes)
36
41
  if (fs.existsSync(this.socketPath)) {
37
42
  fs.unlinkSync(this.socketPath);
@@ -42,16 +47,24 @@ export class BarretenbergNativeSocketAsyncBackend {
42
47
  connectionResolve = resolve;
43
48
  connectionReject = reject;
44
49
  });
45
- // Set HARDWARE_CONCURRENCY if threads specified
46
- const env = threads !== undefined ? { ...process.env, HARDWARE_CONCURRENCY: threads.toString() } : process.env;
50
+ // If threads not set use num cpu cores, max 16.
51
+ const hwc = threads ? threads.toString() : Math.min(16, os.cpus().length).toString();
52
+ const env = { ...process.env, HARDWARE_CONCURRENCY: hwc };
47
53
  // Spawn bb process - it will create the socket server
48
- const args = [bbBinaryPath, 'msgpack', 'run', '--input', this.socketPath];
49
- this.process = spawn(findPackageRoot() + '/scripts/kill_wrapper.sh', args, {
50
- stdio: ['ignore', 'ignore', 'ignore'],
54
+ const args = ['msgpack', 'run', '--input', this.socketPath];
55
+ this.process = spawn(bbBinaryPath, args, {
56
+ stdio: ['ignore', logger ? 'pipe' : 'ignore', logger ? 'pipe' : 'ignore'],
51
57
  env,
52
58
  });
53
- // Disconnect from event loop so process can exit. The kill wrapper will reap bb once parent (node) dies.
59
+ // Disconnect from event loop so process can exit without waiting for bb
60
+ // The bb process has parent death monitoring (prctl on Linux, kqueue on macOS)
61
+ // so it will automatically exit when Node.js exits
54
62
  this.process.unref();
63
+ if (logger) {
64
+ logger("Logger attached to bb process. DON'T FORGET TO DESTROY THE BACKEND to allow Node.js to exit.");
65
+ readline.createInterface({ input: this.process.stdout }).on('line', logger);
66
+ readline.createInterface({ input: this.process.stderr }).on('line', logger);
67
+ }
55
68
  this.process.on('error', err => {
56
69
  if (connectionReject) {
57
70
  connectionReject(new Error(`Native backend process error: ${err.message}`));
@@ -130,7 +143,7 @@ export class BarretenbergNativeSocketAsyncBackend {
130
143
  this.socket.setNoDelay(true);
131
144
  // Set up event handlers
132
145
  this.socket.once('connect', () => {
133
- this.socket.unref();
146
+ // Socket starts referenced - will be unreferenced when no callbacks pending
134
147
  // Clear connection timeout on successful connection
135
148
  if (this.connectionTimeout) {
136
149
  clearTimeout(this.connectionTimeout);
@@ -197,6 +210,10 @@ export class BarretenbergNativeSocketAsyncBackend {
197
210
  // This shouldn't happen - response without a pending request
198
211
  console.warn('Received response but no pending callback');
199
212
  }
213
+ // If no more pending callbacks, unref socket to allow process to exit
214
+ if (this.pendingCallbacks.length === 0 && this.socket) {
215
+ this.socket.unref();
216
+ }
200
217
  // Reset state for next message
201
218
  this.readingLength = true;
202
219
  this.lengthBytesRead = 0;
@@ -214,6 +231,10 @@ export class BarretenbergNativeSocketAsyncBackend {
214
231
  throw new Error('Socket not connected');
215
232
  }
216
233
  return new Promise((resolve, reject) => {
234
+ // If this is the first pending callback, ref the socket to keep event loop alive
235
+ if (this.pendingCallbacks.length === 0) {
236
+ this.socket.ref();
237
+ }
217
238
  // Enqueue this promise's callbacks (FIFO order)
218
239
  this.pendingCallbacks.push({ resolve, reject });
219
240
  // Write request: 4-byte little-endian length + msgpack data
@@ -254,16 +275,9 @@ export class BarretenbergNativeSocketAsyncBackend {
254
275
  // Don't try to unlink socket - bb owns it and will clean it up
255
276
  }
256
277
  async destroy() {
257
- // Cleanup first (closes socket, unrefs everything)
258
278
  this.cleanup();
259
- // Send SIGTERM for graceful shutdown
260
- // Process is unref'd so won't block event loop - just kill and return
261
- try {
262
- this.process.kill('SIGTERM');
263
- }
264
- catch (e) {
265
- // Already dead
266
- }
279
+ this.process.kill('SIGTERM');
280
+ this.process.removeAllListeners();
267
281
  }
268
282
  }
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX3NvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9ub2RlL25hdGl2ZV9zb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxvQ0FBb0M7SUFzQi9DLFlBQVksWUFBb0IsRUFBRSxPQUFnQjtRQXBCMUMsV0FBTSxHQUFzQixJQUFJLENBQUM7UUFHakMsc0JBQWlCLEdBQTBCLElBQUksQ0FBQztRQUV4RCxvREFBb0Q7UUFDcEQsNEVBQTRFO1FBQ3BFLHFCQUFnQixHQUduQixFQUFFLENBQUM7UUFFUixzQ0FBc0M7UUFDOUIsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsaUJBQVksR0FBVyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUNyQyxzQkFBaUIsR0FBVyxDQUFDLENBQUM7UUFHcEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFF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
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlX3NvY2tldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9ub2RlL25hdGl2ZV9zb2NrZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxJQUFJLGVBQWUsR0FBRyxDQUFDLENBQUM7QUFFeEI7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sb0NBQW9DO0lBQ3ZDLE9BQU8sQ0FBZTtJQUN0QixNQUFNLEdBQXNCLElBQUksQ0FBQztJQUNqQyxVQUFVLENBQVM7SUFDbkIsaUJBQWlCLENBQWdCO0lBQ2pDLGlCQUFpQixHQUEwQixJQUFJLENBQUM7SUFFeEQsb0RBQW9EO0lBQ3BELDRFQUE0RTtJQUNwRSxnQkFBZ0IsR0FHbkIsRUFBRSxDQUFDO0lBRVIsc0NBQXNDO0lBQzlCLGFBQWEsR0FBWSxJQUFJLENBQUM7SUFDOUIsWUFBWSxHQUFXLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkMsZUFBZSxHQUFXLENBQUMsQ0FBQztJQUM1QixjQUFjLEdBQVcsQ0FBQyxDQUFDO0lBQzNCLGNBQWMsR0FBa0IsSUFBSSxDQUFDO0lBQ3JDLGlCQUFpQixHQUFXLENBQUMsQ0FBQztJQUV0QyxZQUFZLFlBQW9CLEVBQUUsT0FBZ0IsRUFBRSxNQUE4QixFQUFFO1FBQ2xGLGdEQUFnRDtRQUNoRCxJQUFJ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
@@ -24,4 +24,4 @@ export declare function detectPlatform(): Platform | null;
24
24
  */
25
25
  export declare function findBbBinary(customPath?: string): string | null;
26
26
  export declare function findNapiBinary(customPath?: string): string | null;
27
- //# sourceMappingURL=platform.d.ts.map
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy9ub2RlL3BsYXRmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBOzs7O0dBSUc7QUFDSCx3QkFBZ0IsZUFBZSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBa0IvQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLFFBQVEsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQztBQVk3Rjs7O0dBR0c7QUFDSCx3QkFBZ0IsY0FBYyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBa0JoRDtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FpQy9EO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FpQ2pFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/platform.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAa/C;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAY7F;;;GAGG;AACH,wBAAgB,cAAc,IAAI,QAAQ,GAAG,IAAI,CAkBhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiC/D;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCjE"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/bb_backends/node/platform.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAkB/C;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAY7F;;;GAGG;AACH,wBAAgB,cAAc,IAAI,QAAQ,GAAG,IAAI,CAkBhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiC/D;AAED,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCjE"}
@@ -22,7 +22,12 @@ export function findPackageRoot() {
22
22
  while (currentDir !== root) {
23
23
  const packageJsonPath = path.join(currentDir, 'package.json');
24
24
  if (fs.existsSync(packageJsonPath)) {
25
- return currentDir;
25
+ // Check if this is the actual package root by verifying it has a 'build' directory
26
+ // This ensures we skip intermediate package.json files (e.g., in dest/node-cjs/)
27
+ const buildDir = path.join(currentDir, 'build');
28
+ if (fs.existsSync(buildDir)) {
29
+ return currentDir;
30
+ }
26
31
  }
27
32
  currentDir = path.dirname(currentDir);
28
33
  }
@@ -121,4 +126,4 @@ export function findNapiBinary(customPath) {
121
126
  }
122
127
  return null;
123
128
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLFNBQVMsYUFBYTtJQUNwQixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sNkRBQTZEO1FBQzdELGFBQWE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZTtJQUM3QixJQUFJLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUV6QyxPQUFPLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQU9EOztHQUVHO0FBQ0gsTUFBTSxx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
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmJfYmFja2VuZHMvbm9kZS9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQztBQUN6QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLFNBQVMsYUFBYSxHQUFHO0lBQ3ZCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTiw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQUEsQ0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxHQUFrQjtJQUMvQyxJQUFJLFVBQVUsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUV6QyxPQUFPLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM5RCxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxtRkFBbUY7WUFDbkYsaUZBQWlGO1lBQ2pGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxD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
@@ -46,4 +46,4 @@ export declare class BarretenbergWasmAsyncBackend implements IMsgpackBackendAsyn
46
46
  call(inputBuffer: Uint8Array): Promise<Uint8Array>;
47
47
  destroy(): Promise<void>;
48
48
  }
49
- //# sourceMappingURL=wasm.d.ts.map
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JiX2JhY2tlbmRzL3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0U7OztHQUdHO0FBQ0gscUJBQWEsMkJBQTRCLFlBQVcsbUJBQW1CO0lBQ2pELE9BQU8sQ0FBQyxJQUFJO0lBQWhDLE9BQU8sZUFBbUQ7SUFFMUQ7Ozs7T0FJRztJQUNILE9BQWEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssSUFBSSxHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUt4RztJQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxHQUFHLFVBQVUsQ0FFeEM7SUFFRCxPQUFPLElBQUksSUFBSSxDQUlkO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHFCQUFhLDRCQUE2QixZQUFXLG9CQUFvQjtJQUVyRSxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFGakIsT0FBTyxlQUdIO0lBRUo7Ozs7Ozs7T0FPRztJQUNILE9BQWEsR0FBRyxDQUNkLE9BQU8sR0FBRTtRQUNQLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNqQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQztRQUMvQixNQUFNLENBQUMsRUFBRTtZQUFFLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtTQUFFLENBQUM7UUFDaEQsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDO0tBQ2hCLEdBQ0wsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBd0J2QztJQUVLLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FFdkQ7SUFFSyxPQUFPLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUs3QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAM3E;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACjD,OAAO,CAAC,IAAI;IAAhC,OAAO;IAEP;;;;OAIG;WACU,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAOzG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU;IAIzC,OAAO,IAAI,IAAI;CAKhB;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,oBAAoB;IAErE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM,CAAC;IAFjB,OAAO;IAKP;;;;;;;OAOG;WACU,GAAG,CACd,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB,GACL,OAAO,CAAC,4BAA4B,CAAC;IA0BlC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAIlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B"}
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAK3E;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACjD,OAAO,CAAC,IAAI;IAAhC,OAAO,eAAmD;IAE1D;;;;OAIG;IACH,OAAa,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAKxG;IAED,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAExC;IAED,OAAO,IAAI,IAAI,CAId;CACF;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,YAAW,oBAAoB;IAErE,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM,CAAC;IAFjB,OAAO,eAGH;IAEJ;;;;;;;OAOG;IACH,OAAa,GAAG,CACd,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAChD,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB,GACL,OAAO,CAAC,4BAA4B,CAAC,CAwBvC;IAEK,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAEvD;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAK7B;CACF"}
@@ -2,13 +2,13 @@ import { BarretenbergWasmMain } from '../barretenberg_wasm/barretenberg_wasm_mai
2
2
  import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
3
3
  import { createMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js';
4
4
  import { getRemoteBarretenbergWasm } from '../barretenberg_wasm/helpers/index.js';
5
- import { createDebugLogger } from '../log/index.js';
6
5
  import { proxy } from 'comlink';
7
6
  /**
8
7
  * Synchronous WASM backend that wraps BarretenbergWasmMain.
9
8
  * Encapsulates all WASM initialization and memory management.
10
9
  */
11
10
  export class BarretenbergWasmSyncBackend {
11
+ wasm;
12
12
  constructor(wasm) {
13
13
  this.wasm = wasm;
14
14
  }
@@ -39,6 +39,8 @@ export class BarretenbergWasmSyncBackend {
39
39
  * Direct mode: Runs WASM directly on the calling thread. Used by node.js for better performance.
40
40
  */
41
41
  export class BarretenbergWasmAsyncBackend {
42
+ wasm;
43
+ worker;
42
44
  constructor(wasm, worker) {
43
45
  this.wasm = wasm;
44
46
  this.worker = worker;
@@ -59,7 +61,7 @@ export class BarretenbergWasmAsyncBackend {
59
61
  const worker = await createMainWorker();
60
62
  const wasm = getRemoteBarretenbergWasm(worker);
61
63
  const { module, threads } = await fetchModuleAndThreads(options.threads, options.wasmPath, options.logger);
62
- await wasm.init(module, threads, proxy(options.logger ?? createDebugLogger('bb_wasm_async')), options.memory?.initial, options.memory?.maximum);
64
+ await wasm.init(module, threads, proxy(options.logger ?? (() => { })), options.memory?.initial, options.memory?.maximum);
63
65
  return new BarretenbergWasmAsyncBackend(wasm, worker);
64
66
  }
65
67
  else {
@@ -80,4 +82,4 @@ export class BarretenbergWasmAsyncBackend {
80
82
  }
81
83
  }
82
84
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy93YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBOEIsTUFBTSxzREFBc0QsQ0FBQztBQUN4SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFBNEIsSUFBMEI7UUFBMUIsU0FBSSxHQUFKLElBQUksQ0FBc0I7SUFBRyxDQUFDO0lBRTFEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFpQixFQUFFLE1BQThCO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN4QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksQ0FBQyxXQUF1QjtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FB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
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYl9iYWNrZW5kcy93YXNtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBOEIsTUFBTSxzREFBc0QsQ0FBQztBQUN4SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUNyRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFDVixJQUFJO0lBQWhDLFlBQTRCLElBQTBCLEVBQUU7b0JBQTVCLElBQUk7SUFBeUIsQ0FBQztJQUUxRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBaUIsRUFBRSxNQUE4QixFQUF3QztRQUN4RyxNQUFNLElBQUksR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDeEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLHFCQUFxQixDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0UsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQUEsQ0FDOUM7SUFFRCxJQUFJLENBQUMsV0FBdUIsRUFBYztRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUFBLENBQ2xEO0lBRUQsT0FBTyxHQUFTO1FBQ2QsdUZBQXVGO1FBQ3ZGLDJFQUEyRTtRQUMzRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFBQSxDQUMxQjtDQUNGO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8sNEJBQTRCO0lBRTdCLElBQUk7SUFDSixNQUFNO0lBRmhCLFlBQ1UsSUFBdUQsRUFDdkQsTUFBWSxFQUNwQjtvQkFGUSxJQUFJO3NCQUNKLE1BQU07SUFDYixDQUFDO0lBRUo7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNkLE9BQU8sR0FNSCxFQUFFLEVBQ2lDO1FBQ3ZDLDRDQUE0QztRQUM1QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztRQUU1QyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsMERBQTBEO1lBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBNkIsTUFBTSxDQUFDLENBQUM7WUFDM0UsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0csTUFBTSxJQUFJLENBQUMsSUFBSSxDQUNiLE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ25DLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUN2QixPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FDeEIsQ0FBQztZQUNGLE9BQU8sSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDTixpRUFBaUU7WUFDakUsTUFBTSxJQUFJLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNuRyxPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUFBLENBQ0Y7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXVCLEVBQXVCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQUEsQ0FDbEQ7SUFFRCxLQUFLLENBQUMsT0FBTyxHQUFrQjtRQUM3QixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFBQSxDQUNGO0NBQ0YifQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uX2hhbmRsaW5nLnRlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYmFwaS9leGNlcHRpb25faGFuZGxpbmcudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception_handling.test.d.ts","sourceRoot":"","sources":["../../../src/bbapi/exception_handling.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { BarretenbergWasmSyncBackend } from '../bb_backends/wasm.js';
2
+ import { SyncApi } from '../cbind/generated/sync.js';
3
+ describe('BBApi Exception Handling from bb.js', () => {
4
+ let backend;
5
+ let api;
6
+ beforeAll(async () => {
7
+ backend = await BarretenbergWasmSyncBackend.new();
8
+ api = new SyncApi(backend);
9
+ }, 60000);
10
+ afterAll(() => {
11
+ backend.destroy();
12
+ });
13
+ it('should catch CRS initialization exceptions from WASM', () => {
14
+ // Create an SrsInitSrs command with invalid data that will cause an exception in C++
15
+ // We pass buffers that are too small, which will cause validation to fail
16
+ const invalidCommand = {
17
+ numPoints: 100, // Request 100 points (requires 6400 bytes)
18
+ pointsBuf: new Uint8Array(10), // Only 10 bytes - will cause exception
19
+ g2Point: new Uint8Array(10), // Only 10 bytes (needs 128) - will cause exception
20
+ };
21
+ // In WASM builds, throw_or_abort calls abort directly which throws a generic Error
22
+ // In native builds with exceptions, our try-catch in bbapi converts it to ErrorResponse
23
+ // This test verifies that errors are catchable from bb.js (even if as generic Error in WASM)
24
+ expect(() => {
25
+ api.srsInitSrs(invalidCommand);
26
+ }).toThrow();
27
+ });
28
+ it('should return error message from caught exception', () => {
29
+ const invalidCommand = {
30
+ numPoints: 100,
31
+ pointsBuf: new Uint8Array(10),
32
+ g2Point: new Uint8Array(10),
33
+ };
34
+ try {
35
+ api.srsInitSrs(invalidCommand);
36
+ fail('Expected exception to be thrown');
37
+ }
38
+ catch (error) {
39
+ // Error is catchable and contains a useful message
40
+ expect(error).toBeInstanceOf(Error);
41
+ expect(error.message).toBeTruthy();
42
+ expect(error.message.length).toBeGreaterThan(0);
43
+ expect(error.message).toContain('g1_identity');
44
+ console.log('Successfully caught exception from bb.js with message:', error.message);
45
+ }
46
+ });
47
+ });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uX2hhbmRsaW5nLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmJhcGkvZXhjZXB0aW9uX2hhbmRsaW5nLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JELFFBQVEsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNwRCxJQUFJLE9BQW9DLENBQUM7SUFDekMsSUFBSSxHQUFZLENBQUM7SUFFakIsU0FBUyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDcEIsT0FBTyxHQUFHLE1BQU0sMkJBQTJCLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDbEQsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQUEsQ0FDNUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNiLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUFBLENBQ25CLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzREFBc0QsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMvRCxxRkFBcUY7UUFDckYsMEVBQTBFO1FBQzFFLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFNBQVMsRUFBRSxHQUFHLEVBQUUsMkNBQTJDO1lBQzNELFNBQVMsRUFBRSxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsRUFBRSx1Q0FBdUM7WUFDdEUsT0FBTyxFQUFFLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLG1EQUFtRDtTQUNqRixDQUFDO1FBRUYsbUZBQW1GO1FBQ25GLHdGQUF3RjtRQUN4Riw2RkFBNkY7UUFDN0YsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1gsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUFBLENBQ2hDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUFBLENBQ2QsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLG1EQUFtRCxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQzVELE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFNBQVMsRUFBRSxHQUFHO1lBQ2QsU0FBUyxFQUFFLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDO1NBQzVCLENBQUM7UUFFRixJQUFJLENBQUM7WUFDSCxHQUFHLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsbURBQW1EO1lBQ25ELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsTUFBTSxDQUFFLEtBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM5QyxNQUFNLENBQUUsS0FBZSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0QsTUFBTSxDQUFFLEtBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3REFBd0QsRUFBRyxLQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEcsQ0FBQztJQUFBLENBQ0YsQ0FBQyxDQUFDO0FBQUEsQ0FDSixDQUFDLENBQUMifQ==
@@ -4,4 +4,4 @@
4
4
  export declare class BBApiException extends Error {
5
5
  constructor(message: string);
6
6
  }
7
- //# sourceMappingURL=bbapi_exception.d.ts.map
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJhcGlfZXhjZXB0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmJhcGlfZXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQU8xQjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"bbapi_exception.d.ts","sourceRoot":"","sources":["../../src/bbapi_exception.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAQ5B"}
1
+ {"version":3,"file":"bbapi_exception.d.ts","sourceRoot":"","sources":["../../src/bbapi_exception.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAO1B;CACF"}
@@ -11,4 +11,4 @@ export class BBApiException extends Error {
11
11
  }
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJhcGlfZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JiYXBpX2V4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWU7UUFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztRQUM3QixxRkFBcUY7UUFDckYsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmJhcGlfZXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2JiYXBpX2V4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWUsRUFBRTtRQUMzQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1FBQzdCLHFGQUFxRjtRQUNyRixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVCLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUFBLENBQ0Y7Q0FDRiJ9
@@ -1,3 +1,3 @@
1
1
  export * from './timer.js';
2
2
  export declare function writeBenchmark<T>(name: string, value: T, labels?: Record<string, any>): void;
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZW5jaG1hcmsvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxZQUFZLENBQUM7QUFXM0Isd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBTSxRQWF6RiJ9
@@ -22,4 +22,4 @@ export function writeBenchmark(name, value, labels = {}) {
22
22
  const jsonl = JSON.stringify(data) + '\n';
23
23
  fs.writeSync(bfd, jsonl);
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBRTNCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFO0lBQ2hCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFTCxNQUFNLFVBQVUsY0FBYyxDQUFJLElBQVksRUFBRSxLQUFRLEVBQUUsU0FBOEIsRUFBRTtJQUN4RixJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2YsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLElBQUksR0FBRztRQUNYLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtRQUNuQyxJQUFJO1FBQ0osSUFBSSxFQUFFLE9BQU8sS0FBSztRQUNsQixLQUFLO1FBQ0wsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNCLENBQUMifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBRTNCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDakIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7SUFDeEMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQUEsQ0FDWixDQUFDLEVBQUUsQ0FBQztBQUVMLE1BQU0sVUFBVSxjQUFjLENBQUksSUFBWSxFQUFFLEtBQVEsRUFBRSxNQUFNLEdBQXdCLEVBQUUsRUFBRTtJQUMxRixJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2YsT0FBTztJQUNULENBQUM7SUFDRCxNQUFNLElBQUksR0FBRztRQUNYLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtRQUNuQyxJQUFJO1FBQ0osSUFBSSxFQUFFLE9BQU8sS0FBSztRQUNsQixLQUFLO1FBQ0wsR0FBRyxNQUFNO0tBQ1YsQ0FBQztJQUNGLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQUEsQ0FDMUIifQ==
@@ -31,4 +31,4 @@ export declare class Timer {
31
31
  */
32
32
  s(): number;
33
33
  }
34
- //# sourceMappingURL=timer.d.ts.map
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZW5jaG1hcmsvdGltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxxQkFBYSxLQUFLO0lBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQVM7SUFFdEIsY0FFQztJQUVNLEVBQUUsV0FFUjtJQUVEOzs7Ozs7T0FNRztJQUNJLEVBQUUsV0FFUjtJQUVEOzs7Ozs7T0FNRztJQUNJLENBQUMsV0FFUDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../../src/benchmark/timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAS;;IAMf,EAAE;IAIT;;;;;;OAMG;IACI,EAAE;IAIT;;;;;;OAMG;IACI,CAAC;CAGT"}
1
+ {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../../src/benchmark/timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAS;IAEtB,cAEC;IAEM,EAAE,WAER;IAED;;;;;;OAMG;IACI,EAAE,WAER;IAED;;;;;;OAMG;IACI,CAAC,WAEP;CACF"}
@@ -11,6 +11,7 @@
11
11
  * \}, 1000);
12
12
  */
13
13
  export class Timer {
14
+ start;
14
15
  constructor() {
15
16
  this.start = performance.now();
16
17
  }
@@ -38,4 +39,4 @@ export class Timer {
38
39
  return this.ms() / 1000;
39
40
  }
40
41
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrL3RpbWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLEtBQUs7SUFHaEI7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sRUFBRTtRQUNQLE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksRUFBRTtRQUNQLE9BQU8sV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLENBQUM7UUFDTixPQUFPLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztDQUNGIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrL3RpbWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLEtBQUs7SUFDUixLQUFLLENBQVM7SUFFdEIsY0FBYztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQUEsQ0FDaEM7SUFFTSxFQUFFLEdBQUc7UUFDVixPQUFPLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFBQSxDQUN6QjtJQUVEOzs7Ozs7T0FNRztJQUNJLEVBQUUsR0FBRztRQUNWLE9BQU8sV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFBQSxDQUN2QztJQUVEOzs7Ozs7T0FNRztJQUNJLENBQUMsR0FBRztRQUNULE9BQU8sSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQztJQUFBLENBQ3pCO0NBQ0YifQ==
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ import { findBbBinary } from '../bb_backends/node/platform.js';
3
+ import { spawnSync } from 'node:child_process';
4
+ const bin = findBbBinary();
5
+ if (!bin) {
6
+ console.error('Could not find bb binary. Please ensure it is built and accessible.');
7
+ process.exit(1);
8
+ }
9
+ const result = spawnSync(bin, process.argv.slice(2), { stdio: 'inherit' });
10
+ process.exit(result.status ?? 1);
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmluL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRS9DLE1BQU0sR0FBRyxHQUFHLFlBQVksRUFBRSxDQUFDO0FBRTNCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMscUVBQXFFLENBQUMsQ0FBQztJQUNyRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7QUFFM0UsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDIn0=
@@ -1,5 +1,8 @@
1
1
  /**
2
- * Generate TypeScript bindings from msgpack schema
2
+ * Multi-language code generation from BB msgpack schema
3
+ *
4
+ * Architecture:
5
+ * Raw Schema → SchemaVisitor → CompiledSchema IR → Language Codegens → Files
3
6
  */
4
7
  export {};
5
- //# sourceMappingURL=generate.d.ts.map
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jYmluZC9nZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cbind/generate.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cbind/generate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,5 +1,8 @@
1
1
  /**
2
- * Generate TypeScript bindings from msgpack schema
2
+ * Multi-language code generation from BB msgpack schema
3
+ *
4
+ * Architecture:
5
+ * Raw Schema → SchemaVisitor → CompiledSchema IR → Language Codegens → Files
3
6
  */
4
7
  import { writeFileSync, mkdirSync } from 'fs';
5
8
  import { dirname, join } from 'path';
@@ -7,23 +10,33 @@ import { exec } from 'child_process';
7
10
  import { promisify } from 'util';
8
11
  import { fileURLToPath } from 'url';
9
12
  import { unpack } from 'msgpackr';
10
- import { createSharedTypesCompiler, createSyncApiCompiler, createAsyncApiCompiler, } from './schema_compiler.js';
13
+ import { SchemaVisitor } from './schema_visitor.js';
14
+ import { TypeScriptCodegen } from './typescript_codegen.js';
15
+ import { RustCodegen } from './rust_codegen.js';
11
16
  const execAsync = promisify(exec);
12
- const GENERATORS = [
17
+ const LANGUAGE_GENERATORS = [
13
18
  {
14
- name: 'Shared types',
15
- outputFile: 'generated/api_types.ts',
16
- createCompiler: createSharedTypesCompiler,
19
+ name: 'TypeScript',
20
+ enabled: true,
21
+ generate: (compiled) => {
22
+ const tsGen = new TypeScriptCodegen();
23
+ return [
24
+ { path: 'generated/api_types.ts', content: tsGen.generateTypes(compiled) },
25
+ { path: 'generated/sync.ts', content: tsGen.generateSyncApi(compiled) },
26
+ { path: 'generated/async.ts', content: tsGen.generateAsyncApi(compiled) },
27
+ ];
28
+ },
17
29
  },
18
30
  {
19
- name: 'Sync API',
20
- outputFile: 'generated/sync.ts',
21
- createCompiler: createSyncApiCompiler,
22
- },
23
- {
24
- name: 'Async API',
25
- outputFile: 'generated/async.ts',
26
- createCompiler: createAsyncApiCompiler,
31
+ name: 'Rust',
32
+ enabled: true,
33
+ generate: (compiled) => {
34
+ const rustGen = new RustCodegen();
35
+ return [
36
+ { path: '../../../rust/barretenberg-rs/src/generated_types.rs', content: rustGen.generateTypes(compiled) },
37
+ { path: '../../../rust/barretenberg-rs/src/api.rs', content: rustGen.generateApi(compiled) },
38
+ ];
39
+ },
27
40
  },
28
41
  ];
29
42
  // @ts-ignore
@@ -37,23 +50,32 @@ async function generate() {
37
50
  if (!schema.commands || !schema.responses) {
38
51
  throw new Error('Invalid schema: missing commands or responses');
39
52
  }
40
- console.log('Generating TypeScript bindings...\n');
53
+ // Compile schema once using visitor pattern
54
+ console.log('Compiling schema...');
55
+ const visitor = new SchemaVisitor();
56
+ const compiled = visitor.visit(schema.commands, schema.responses);
57
+ console.log(`Found ${compiled.commands.length} commands, ${compiled.structs.size} structs\n`);
41
58
  // Ensure output directory exists
42
59
  const outputDir = join(__dirname, 'generated');
43
60
  mkdirSync(outputDir, { recursive: true });
44
- // Generate each output file
45
- for (const config of GENERATORS) {
46
- const compiler = config.createCompiler();
47
- compiler.processApiSchema(schema.commands, schema.responses);
48
- const outputPath = join(__dirname, config.outputFile);
49
- const content = compiler.compile();
50
- writeFileSync(outputPath, content);
51
- console.log(`✓ ${config.name}: ${outputPath}`);
61
+ // Generate all language bindings from compiled IR
62
+ for (const generator of LANGUAGE_GENERATORS) {
63
+ if (!generator.enabled) {
64
+ console.log(`⊘ ${generator.name}: disabled`);
65
+ continue;
66
+ }
67
+ const files = generator.generate(compiled);
68
+ for (const file of files) {
69
+ const outputPath = join(__dirname, file.path);
70
+ mkdirSync(dirname(outputPath), { recursive: true });
71
+ writeFileSync(outputPath, file.content);
72
+ console.log(`✓ ${generator.name}: ${outputPath}`);
73
+ }
52
74
  }
53
75
  // Generate curve constants
54
76
  console.log('\nGenerating curve constants...');
55
77
  await generateCurveConstants(bbBuildPath, outputDir);
56
- console.log('\nGeneration complete!');
78
+ console.log('\n✨ Generation complete! Clean, maintainable, multi-language architecture.');
57
79
  }
58
80
  async function generateCurveConstants(bbBuildPath, outputDir) {
59
81
  // Get curve constants from bb as msgpack binary
@@ -148,4 +170,4 @@ generate().catch(error => {
148
170
  console.error('Generation failed:', error);
149
171
  process.exit(1);
150
172
  });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHNCQUFzQixHQUV2QixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQVFsQyxNQUFNLFVBQVUsR0FBc0I7SUFDcEM7UUFDRSxJQUFJLEVBQUUsY0FBYztRQUNwQixVQUFVLEVBQUUsd0JBQXdCO1FBQ3BDLGNBQWMsRUFBRSx5QkFBeUI7S0FDMUM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxtQkFBbUI7UUFDL0IsY0FBYyxFQUFFLHFCQUFxQjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxjQUFjLEVBQUUsc0JBQXNCO0tBQ3ZDO0NBQ0YsQ0FBQztBQUVGLGFBQWE7QUFDYixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUUxRCxLQUFLLFVBQVUsUUFBUTtJQUNyQixNQUFNLFdB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
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLElBQUksQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQVNsQyxNQUFNLG1CQUFtQixHQUF3QjtJQUMvQztRQUNFLElBQUksRUFBRSxZQUFZO1FBQ2xCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEMsT0FBTztnQkFDTCxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDMUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JB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