@aztec/bb.js 0.0.1-commit.b655e406 → 0.0.1-commit.d3ec352c

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 (574) 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 +10 -24
  12. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  13. package/dest/browser/barretenberg/backend.js +35 -86
  14. package/dest/browser/barretenberg/index.d.ts +2 -4
  15. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  16. package/dest/browser/barretenberg/index.js +18 -27
  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 +10 -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 +1 -1
  78. package/dest/browser/cbind/generate.js +1 -1
  79. package/dest/browser/cbind/generated/api_types.d.ts +9 -23
  80. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  81. package/dest/browser/cbind/generated/api_types.js +11 -29
  82. package/dest/browser/cbind/generated/async.d.ts +1 -1
  83. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  84. package/dest/browser/cbind/generated/async.js +2 -1
  85. package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
  86. package/dest/browser/cbind/generated/sync.d.ts +1 -1
  87. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  88. package/dest/browser/cbind/generated/sync.js +2 -1
  89. package/dest/browser/cbind/schema_compiler.d.ts +1 -1
  90. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
  91. package/dest/browser/cbind/schema_compiler.js +6 -5
  92. package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
  93. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
  94. package/dest/browser/crs/browser/cached_net_crs.js +6 -1
  95. package/dest/browser/crs/browser/index.d.ts +1 -1
  96. package/dest/browser/crs/index.d.ts +1 -1
  97. package/dest/browser/crs/net_crs.d.ts +1 -16
  98. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  99. package/dest/browser/crs/net_crs.js +6 -1
  100. package/dest/browser/index.d.ts +2 -1
  101. package/dest/browser/index.d.ts.map +1 -1
  102. package/dest/browser/index.js +2 -1
  103. package/dest/browser/proof/index.d.ts +1 -1
  104. package/dest/browser/proof/index.js +1 -1
  105. package/dest/browser/random/browser/index.d.ts +1 -1
  106. package/dest/browser/random/browser/index.d.ts.map +1 -1
  107. package/dest/browser/random/browser/index.js +1 -1
  108. package/dest/browser/random/index.d.ts +1 -1
  109. package/dest/browser/retry/index.d.ts +1 -1
  110. package/dest/browser/retry/index.js +1 -1
  111. package/dest/node/async_map/index.d.ts +1 -1
  112. package/dest/node/async_map/index.js +1 -1
  113. package/dest/node/barretenberg/backend.d.ts +10 -24
  114. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  115. package/dest/node/barretenberg/backend.js +35 -86
  116. package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
  117. package/dest/node/barretenberg/blake2s.test.js +2 -2
  118. package/dest/node/barretenberg/index.d.ts +2 -4
  119. package/dest/node/barretenberg/index.d.ts.map +1 -1
  120. package/dest/node/barretenberg/index.js +18 -27
  121. package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
  122. package/dest/node/barretenberg/pedersen.test.js +2 -2
  123. package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
  124. package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
  125. package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
  126. package/dest/node/barretenberg/poseidon.test.js +2 -2
  127. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  128. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  129. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  130. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  131. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  132. package/dest/node/barretenberg/testing/fields.js +47 -0
  133. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  134. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  135. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  136. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  137. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  138. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  139. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  140. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  141. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  142. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  143. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  144. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  145. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  146. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  157. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  158. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  159. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  160. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  161. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  162. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  163. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  164. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  165. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  166. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  167. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  168. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  169. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  170. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  171. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  172. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
  173. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  174. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  175. package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
  176. package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
  177. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  178. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  179. package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
  180. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  181. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  182. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  183. package/dest/node/barretenberg_wasm/index.d.ts +1 -1
  184. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  185. package/dest/node/barretenberg_wasm/index.js +2 -3
  186. package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
  187. package/dest/node/barretenberg_wasm/index.test.js +1 -1
  188. package/dest/node/bb_backends/browser/index.d.ts +1 -1
  189. package/dest/node/bb_backends/browser/index.js +1 -1
  190. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  191. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  192. package/dest/node/bb_backends/browser/platform.js +10 -0
  193. package/dest/node/bb_backends/index.d.ts +10 -7
  194. package/dest/node/bb_backends/index.d.ts.map +1 -1
  195. package/dest/node/bb_backends/index.js +8 -7
  196. package/dest/node/bb_backends/interface.d.ts +1 -1
  197. package/dest/node/bb_backends/node/index.d.ts +1 -1
  198. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  199. package/dest/node/bb_backends/node/index.js +15 -9
  200. package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
  201. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
  202. package/dest/node/bb_backends/node/native_pipe.js +11 -10
  203. package/dest/node/bb_backends/node/native_shm.d.ts +3 -3
  204. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  205. package/dest/node/bb_backends/node/native_shm.js +49 -22
  206. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  207. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  208. package/dest/node/bb_backends/node/native_shm_async.js +237 -0
  209. package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
  210. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  211. package/dest/node/bb_backends/node/native_socket.js +43 -31
  212. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  213. package/dest/node/bb_backends/node/platform.js +1 -1
  214. package/dest/node/bb_backends/wasm.d.ts +1 -1
  215. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  216. package/dest/node/bb_backends/wasm.js +5 -3
  217. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  218. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  219. package/dest/node/bbapi/exception_handling.test.js +48 -0
  220. package/dest/node/bbapi_exception.d.ts +1 -1
  221. package/dest/node/bbapi_exception.d.ts.map +1 -1
  222. package/dest/node/bbapi_exception.js +1 -1
  223. package/dest/node/benchmark/index.d.ts +1 -1
  224. package/dest/node/benchmark/index.js +1 -1
  225. package/dest/node/benchmark/timer.d.ts +1 -1
  226. package/dest/node/benchmark/timer.d.ts.map +1 -1
  227. package/dest/node/benchmark/timer.js +2 -1
  228. package/dest/node/bin/index.d.ts +3 -0
  229. package/dest/node/bin/index.d.ts.map +1 -0
  230. package/dest/node/bin/index.js +11 -0
  231. package/dest/node/cbind/generate.d.ts +1 -1
  232. package/dest/node/cbind/generate.js +1 -1
  233. package/dest/node/cbind/generated/api_types.d.ts +9 -23
  234. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  235. package/dest/node/cbind/generated/api_types.js +11 -29
  236. package/dest/node/cbind/generated/async.d.ts +1 -1
  237. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  238. package/dest/node/cbind/generated/async.js +2 -1
  239. package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
  240. package/dest/node/cbind/generated/sync.d.ts +1 -1
  241. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  242. package/dest/node/cbind/generated/sync.js +2 -1
  243. package/dest/node/cbind/schema_compiler.d.ts +1 -1
  244. package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
  245. package/dest/node/cbind/schema_compiler.js +6 -5
  246. package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
  247. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
  248. package/dest/node/crs/browser/cached_net_crs.js +6 -1
  249. package/dest/node/crs/browser/index.d.ts +1 -1
  250. package/dest/node/crs/index.d.ts +1 -1
  251. package/dest/node/crs/net_crs.d.ts +1 -16
  252. package/dest/node/crs/net_crs.d.ts.map +1 -1
  253. package/dest/node/crs/net_crs.js +6 -1
  254. package/dest/node/crs/node/index.d.ts +1 -1
  255. package/dest/node/crs/node/index.d.ts.map +1 -1
  256. package/dest/node/crs/node/index.js +11 -6
  257. package/dest/node/index.d.ts +2 -1
  258. package/dest/node/index.d.ts.map +1 -1
  259. package/dest/node/index.js +2 -1
  260. package/dest/node/proof/index.d.ts +1 -1
  261. package/dest/node/proof/index.js +1 -1
  262. package/dest/node/random/browser/index.d.ts +1 -1
  263. package/dest/node/random/browser/index.d.ts.map +1 -1
  264. package/dest/node/random/browser/index.js +1 -1
  265. package/dest/node/random/index.d.ts +1 -1
  266. package/dest/node/random/node/index.d.ts +1 -1
  267. package/dest/node/random/node/index.js +1 -1
  268. package/dest/node/retry/index.d.ts +1 -1
  269. package/dest/node/retry/index.js +1 -1
  270. package/dest/node-cjs/async_map/index.d.ts +1 -1
  271. package/dest/node-cjs/async_map/index.js +1 -1
  272. package/dest/node-cjs/barretenberg/backend.d.ts +10 -24
  273. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  274. package/dest/node-cjs/barretenberg/backend.js +41 -92
  275. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
  276. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  277. package/dest/node-cjs/barretenberg/index.d.ts +2 -4
  278. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  279. package/dest/node-cjs/barretenberg/index.js +24 -33
  280. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
  281. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  282. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
  283. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
  284. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
  285. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  286. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  287. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  288. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  289. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  290. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  291. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  292. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  293. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  294. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  295. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +7 -8
  296. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  297. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  298. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
  299. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  300. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  301. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  302. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  303. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  304. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  305. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  306. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  307. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  308. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  309. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  310. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  311. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  312. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  313. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  314. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
  315. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  316. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  317. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  318. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  319. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  320. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  321. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  323. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  324. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  325. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  326. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  327. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  328. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  329. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  330. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
  331. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  332. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  333. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  334. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  335. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  336. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
  337. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
  338. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  339. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  340. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
  341. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  342. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  343. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  344. package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
  345. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  346. package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
  347. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
  348. package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
  349. package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
  350. package/dest/node-cjs/bb_backends/browser/index.js +1 -1
  351. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  352. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  353. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  354. package/dest/node-cjs/bb_backends/index.d.ts +10 -7
  355. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  356. package/dest/node-cjs/bb_backends/index.js +6 -6
  357. package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
  358. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  359. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  360. package/dest/node-cjs/bb_backends/node/index.js +15 -9
  361. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
  362. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
  363. package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
  364. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +3 -3
  365. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  366. package/dest/node-cjs/bb_backends/node/native_shm.js +49 -22
  367. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  368. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  369. package/dest/node-cjs/bb_backends/node/native_shm_async.js +241 -0
  370. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
  371. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  372. package/dest/node-cjs/bb_backends/node/native_socket.js +43 -31
  373. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  374. package/dest/node-cjs/bb_backends/node/platform.js +2 -2
  375. package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
  376. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  377. package/dest/node-cjs/bb_backends/wasm.js +5 -3
  378. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  379. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  380. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  381. package/dest/node-cjs/bbapi_exception.d.ts +1 -1
  382. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
  383. package/dest/node-cjs/bbapi_exception.js +1 -1
  384. package/dest/node-cjs/benchmark/index.d.ts +1 -1
  385. package/dest/node-cjs/benchmark/index.js +2 -2
  386. package/dest/node-cjs/benchmark/timer.d.ts +1 -1
  387. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
  388. package/dest/node-cjs/benchmark/timer.js +2 -1
  389. package/dest/node-cjs/bin/index.d.ts +3 -0
  390. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  391. package/dest/node-cjs/bin/index.js +13 -0
  392. package/dest/node-cjs/cbind/generate.d.ts +1 -1
  393. package/dest/node-cjs/cbind/generate.js +1 -1
  394. package/dest/node-cjs/cbind/generated/api_types.d.ts +9 -23
  395. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  396. package/dest/node-cjs/cbind/generated/api_types.js +11 -31
  397. package/dest/node-cjs/cbind/generated/async.d.ts +1 -1
  398. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  399. package/dest/node-cjs/cbind/generated/async.js +2 -1
  400. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
  401. package/dest/node-cjs/cbind/generated/sync.d.ts +1 -1
  402. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  403. package/dest/node-cjs/cbind/generated/sync.js +2 -1
  404. package/dest/node-cjs/cbind/schema_compiler.d.ts +1 -1
  405. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
  406. package/dest/node-cjs/cbind/schema_compiler.js +6 -5
  407. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
  408. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
  409. package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
  410. package/dest/node-cjs/crs/browser/index.d.ts +1 -1
  411. package/dest/node-cjs/crs/browser/index.js +2 -2
  412. package/dest/node-cjs/crs/index.d.ts +1 -1
  413. package/dest/node-cjs/crs/index.js +2 -2
  414. package/dest/node-cjs/crs/net_crs.d.ts +1 -16
  415. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  416. package/dest/node-cjs/crs/net_crs.js +6 -1
  417. package/dest/node-cjs/crs/node/index.d.ts +1 -1
  418. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  419. package/dest/node-cjs/crs/node/index.js +11 -6
  420. package/dest/node-cjs/index.d.ts +2 -1
  421. package/dest/node-cjs/index.d.ts.map +1 -1
  422. package/dest/node-cjs/index.js +10 -8
  423. package/dest/node-cjs/proof/index.d.ts +1 -1
  424. package/dest/node-cjs/proof/index.js +1 -1
  425. package/dest/node-cjs/random/browser/index.d.ts +1 -1
  426. package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
  427. package/dest/node-cjs/random/browser/index.js +1 -1
  428. package/dest/node-cjs/random/index.d.ts +1 -1
  429. package/dest/node-cjs/random/node/index.d.ts +1 -1
  430. package/dest/node-cjs/random/node/index.js +1 -1
  431. package/dest/node-cjs/retry/index.d.ts +1 -1
  432. package/dest/node-cjs/retry/index.js +1 -1
  433. package/package.json +8 -6
  434. package/src/barretenberg/backend.ts +21 -99
  435. package/src/barretenberg/blake2s.test.ts +1 -1
  436. package/src/barretenberg/index.ts +16 -27
  437. package/src/barretenberg/pedersen.test.ts +1 -1
  438. package/src/barretenberg/poseidon.bench.test.ts +160 -157
  439. package/src/barretenberg/poseidon.test.ts +1 -1
  440. package/src/{types → barretenberg/testing}/fields.ts +12 -26
  441. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
  442. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
  443. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
  444. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
  445. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
  446. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +37 -4
  447. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
  448. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
  449. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
  450. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
  451. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
  452. package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
  453. package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
  454. package/src/barretenberg_wasm/index.ts +1 -2
  455. package/src/bb_backends/browser/platform.ts +11 -0
  456. package/src/bb_backends/index.ts +9 -6
  457. package/src/bb_backends/node/index.ts +16 -8
  458. package/src/bb_backends/node/native_shm.ts +48 -24
  459. package/src/bb_backends/node/native_shm_async.ts +266 -0
  460. package/src/bb_backends/node/native_socket.ts +31 -17
  461. package/src/bb_backends/wasm.ts +1 -2
  462. package/src/bbapi/exception_handling.test.ts +54 -0
  463. package/src/bin/index.ts +14 -0
  464. package/src/cbind/generated/api_types.ts +14 -44
  465. package/src/cbind/generated/async.ts +1 -1
  466. package/src/cbind/generated/sync.ts +1 -1
  467. package/src/crs/node/index.ts +4 -5
  468. package/src/index.ts +2 -0
  469. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  470. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  471. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  472. package/dest/browser/bigint-array/index.d.ts +0 -17
  473. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  474. package/dest/browser/bigint-array/index.js +0 -37
  475. package/dest/browser/log/browser/index.d.ts +0 -6
  476. package/dest/browser/log/browser/index.d.ts.map +0 -1
  477. package/dest/browser/log/browser/index.js +0 -28
  478. package/dest/browser/log/index.d.ts +0 -2
  479. package/dest/browser/log/index.d.ts.map +0 -1
  480. package/dest/browser/log/index.js +0 -2
  481. package/dest/browser/log/types.d.ts +0 -6
  482. package/dest/browser/log/types.d.ts.map +0 -1
  483. package/dest/browser/log/types.js +0 -2
  484. package/dest/browser/serialize/index.d.ts +0 -2
  485. package/dest/browser/serialize/index.d.ts.map +0 -1
  486. package/dest/browser/serialize/index.js +0 -2
  487. package/dest/browser/serialize/serialize.d.ts +0 -18
  488. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  489. package/dest/browser/serialize/serialize.js +0 -72
  490. package/dest/browser/types/fields.d.ts +0 -23
  491. package/dest/browser/types/fields.d.ts.map +0 -1
  492. package/dest/browser/types/fields.js +0 -61
  493. package/dest/browser/types/index.d.ts +0 -3
  494. package/dest/browser/types/index.d.ts.map +0 -1
  495. package/dest/browser/types/index.js +0 -3
  496. package/dest/browser/types/point.d.ts +0 -18
  497. package/dest/browser/types/point.d.ts.map +0 -1
  498. package/dest/browser/types/point.js +0 -28
  499. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  500. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  501. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  502. package/dest/node/bigint-array/index.d.ts +0 -17
  503. package/dest/node/bigint-array/index.d.ts.map +0 -1
  504. package/dest/node/bigint-array/index.js +0 -37
  505. package/dest/node/log/browser/index.d.ts +0 -6
  506. package/dest/node/log/browser/index.d.ts.map +0 -1
  507. package/dest/node/log/browser/index.js +0 -28
  508. package/dest/node/log/index.d.ts +0 -2
  509. package/dest/node/log/index.d.ts.map +0 -1
  510. package/dest/node/log/index.js +0 -2
  511. package/dest/node/log/node/index.d.ts +0 -6
  512. package/dest/node/log/node/index.d.ts.map +0 -1
  513. package/dest/node/log/node/index.js +0 -40
  514. package/dest/node/log/types.d.ts +0 -6
  515. package/dest/node/log/types.d.ts.map +0 -1
  516. package/dest/node/log/types.js +0 -2
  517. package/dest/node/serialize/index.d.ts +0 -2
  518. package/dest/node/serialize/index.d.ts.map +0 -1
  519. package/dest/node/serialize/index.js +0 -2
  520. package/dest/node/serialize/serialize.d.ts +0 -18
  521. package/dest/node/serialize/serialize.d.ts.map +0 -1
  522. package/dest/node/serialize/serialize.js +0 -72
  523. package/dest/node/types/fields.d.ts +0 -23
  524. package/dest/node/types/fields.d.ts.map +0 -1
  525. package/dest/node/types/fields.js +0 -61
  526. package/dest/node/types/index.d.ts +0 -3
  527. package/dest/node/types/index.d.ts.map +0 -1
  528. package/dest/node/types/index.js +0 -3
  529. package/dest/node/types/point.d.ts +0 -18
  530. package/dest/node/types/point.d.ts.map +0 -1
  531. package/dest/node/types/point.js +0 -28
  532. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  533. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  534. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  535. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  536. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  537. package/dest/node-cjs/bigint-array/index.js +0 -43
  538. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  539. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  540. package/dest/node-cjs/log/browser/index.js +0 -30
  541. package/dest/node-cjs/log/index.d.ts +0 -2
  542. package/dest/node-cjs/log/index.d.ts.map +0 -1
  543. package/dest/node-cjs/log/index.js +0 -8
  544. package/dest/node-cjs/log/node/index.d.ts +0 -6
  545. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  546. package/dest/node-cjs/log/node/index.js +0 -42
  547. package/dest/node-cjs/log/types.d.ts +0 -6
  548. package/dest/node-cjs/log/types.d.ts.map +0 -1
  549. package/dest/node-cjs/log/types.js +0 -3
  550. package/dest/node-cjs/serialize/index.d.ts +0 -2
  551. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  552. package/dest/node-cjs/serialize/index.js +0 -5
  553. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  554. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  555. package/dest/node-cjs/serialize/serialize.js +0 -82
  556. package/dest/node-cjs/types/fields.d.ts +0 -23
  557. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  558. package/dest/node-cjs/types/fields.js +0 -65
  559. package/dest/node-cjs/types/index.d.ts +0 -3
  560. package/dest/node-cjs/types/index.d.ts.map +0 -1
  561. package/dest/node-cjs/types/index.js +0 -6
  562. package/dest/node-cjs/types/point.d.ts +0 -18
  563. package/dest/node-cjs/types/point.d.ts.map +0 -1
  564. package/dest/node-cjs/types/point.js +0 -32
  565. package/src/bb_backends/sync_to_async_adapter.ts +0 -21
  566. package/src/log/browser/index.ts +0 -35
  567. package/src/log/index.ts +0 -1
  568. package/src/log/node/index.ts +0 -52
  569. package/src/log/types.ts +0 -6
  570. package/src/serialize/index.ts +0 -1
  571. package/src/serialize/serialize.ts +0 -75
  572. package/src/types/index.ts +0 -2
  573. package/src/types/point.ts +0 -32
  574. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -5,6 +5,7 @@ import * as os from 'os';
5
5
  import * as path from 'path';
6
6
  import { IMsgpackBackendAsync } from '../interface.js';
7
7
  import { findPackageRoot } from './platform.js';
8
+ import readline from 'readline';
8
9
 
9
10
  /**
10
11
  * Asynchronous native backend that communicates with bb binary via Unix Domain Socket.
@@ -40,7 +41,7 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
40
41
  private responseBuffer: Buffer | null = null;
41
42
  private responseBytesRead: number = 0;
42
43
 
43
- constructor(bbBinaryPath: string, threads?: number) {
44
+ constructor(bbBinaryPath: string, threads?: number, logger?: (msg: string) => void) {
44
45
  // Create a unique socket path in temp directory
45
46
  this.socketPath = path.join(os.tmpdir(), `bb-${process.pid}-${Date.now()}.sock`);
46
47
 
@@ -57,18 +58,28 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
57
58
  connectionReject = reject;
58
59
  });
59
60
 
60
- // Set HARDWARE_CONCURRENCY if threads specified
61
- const env = threads !== undefined ? { ...process.env, HARDWARE_CONCURRENCY: threads.toString() } : process.env;
61
+ // If threads not set use num cpu cores, max 32.
62
+ const hwc = threads ? threads.toString() : Math.min(32, os.cpus.length).toString();
63
+ const env = { ...process.env, HARDWARE_CONCURRENCY: '1' };
62
64
 
63
65
  // Spawn bb process - it will create the socket server
64
- const args = [bbBinaryPath, 'msgpack', 'run', '--input', this.socketPath];
65
- this.process = spawn(findPackageRoot() + '/scripts/kill_wrapper.sh', args, {
66
- stdio: ['ignore', 'ignore', 'ignore'],
66
+ const args = ['msgpack', 'run', '--input', this.socketPath];
67
+ this.process = spawn(bbBinaryPath, args, {
68
+ stdio: ['ignore', logger ? 'pipe' : 'ignore', logger ? 'pipe' : 'ignore'],
67
69
  env,
68
70
  });
69
- // Disconnect from event loop so process can exit. The kill wrapper will reap bb once parent (node) dies.
71
+
72
+ // Disconnect from event loop so process can exit without waiting for bb
73
+ // The bb process has parent death monitoring (prctl on Linux, kqueue on macOS)
74
+ // so it will automatically exit when Node.js exits
70
75
  this.process.unref();
71
76
 
77
+ if (logger) {
78
+ logger("Logger attached to bb process. DON'T FORGET TO DESTROY THE BACKEND to allow Node.js to exit.");
79
+ readline.createInterface({ input: this.process.stdout! }).on('line', logger);
80
+ readline.createInterface({ input: this.process.stderr! }).on('line', logger);
81
+ }
82
+
72
83
  this.process.on('error', err => {
73
84
  if (connectionReject) {
74
85
  connectionReject(new Error(`Native backend process error: ${err.message}`));
@@ -157,7 +168,7 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
157
168
 
158
169
  // Set up event handlers
159
170
  this.socket.once('connect', () => {
160
- this.socket!.unref();
171
+ // Socket starts referenced - will be unreferenced when no callbacks pending
161
172
 
162
173
  // Clear connection timeout on successful connection
163
174
  if (this.connectionTimeout) {
@@ -232,6 +243,11 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
232
243
  console.warn('Received response but no pending callback');
233
244
  }
234
245
 
246
+ // If no more pending callbacks, unref socket to allow process to exit
247
+ if (this.pendingCallbacks.length === 0 && this.socket) {
248
+ this.socket.unref();
249
+ }
250
+
235
251
  // Reset state for next message
236
252
  this.readingLength = true;
237
253
  this.lengthBytesRead = 0;
@@ -252,6 +268,11 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
252
268
  }
253
269
 
254
270
  return new Promise((resolve, reject) => {
271
+ // If this is the first pending callback, ref the socket to keep event loop alive
272
+ if (this.pendingCallbacks.length === 0) {
273
+ this.socket!.ref();
274
+ }
275
+
255
276
  // Enqueue this promise's callbacks (FIFO order)
256
277
  this.pendingCallbacks.push({ resolve, reject });
257
278
 
@@ -298,15 +319,8 @@ export class BarretenbergNativeSocketAsyncBackend implements IMsgpackBackendAsyn
298
319
  }
299
320
 
300
321
  async destroy(): Promise<void> {
301
- // Cleanup first (closes socket, unrefs everything)
302
322
  this.cleanup();
303
-
304
- // Send SIGTERM for graceful shutdown
305
- // Process is unref'd so won't block event loop - just kill and return
306
- try {
307
- this.process.kill('SIGTERM');
308
- } catch (e) {
309
- // Already dead
310
- }
323
+ this.process.kill('SIGTERM');
324
+ this.process.removeAllListeners();
311
325
  }
312
326
  }
@@ -3,7 +3,6 @@ import { fetchModuleAndThreads } from '../barretenberg_wasm/index.js';
3
3
  import { IMsgpackBackendSync, IMsgpackBackendAsync } from './interface.js';
4
4
  import { createMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js';
5
5
  import { getRemoteBarretenbergWasm } from '../barretenberg_wasm/helpers/index.js';
6
- import { createDebugLogger } from '../log/index.js';
7
6
  import { proxy } from 'comlink';
8
7
 
9
8
  /**
@@ -76,7 +75,7 @@ export class BarretenbergWasmAsyncBackend implements IMsgpackBackendAsync {
76
75
  await wasm.init(
77
76
  module,
78
77
  threads,
79
- proxy(options.logger ?? createDebugLogger('bb_wasm_async')),
78
+ proxy(options.logger ?? (() => {})),
80
79
  options.memory?.initial,
81
80
  options.memory?.maximum,
82
81
  );
@@ -0,0 +1,54 @@
1
+ import { BarretenbergWasmSyncBackend } from '../bb_backends/wasm.js';
2
+ import { SyncApi } from '../cbind/generated/sync.js';
3
+ import { BBApiException } from '../bbapi_exception.js';
4
+
5
+ describe('BBApi Exception Handling from bb.js', () => {
6
+ let backend: BarretenbergWasmSyncBackend;
7
+ let api: SyncApi;
8
+
9
+ beforeAll(async () => {
10
+ backend = await BarretenbergWasmSyncBackend.new();
11
+ api = new SyncApi(backend);
12
+ }, 60000);
13
+
14
+ afterAll(() => {
15
+ backend.destroy();
16
+ });
17
+
18
+ it('should catch CRS initialization exceptions from WASM', () => {
19
+ // Create an SrsInitSrs command with invalid data that will cause an exception in C++
20
+ // We pass buffers that are too small, which will cause validation to fail
21
+ const invalidCommand = {
22
+ numPoints: 100, // Request 100 points (requires 6400 bytes)
23
+ pointsBuf: new Uint8Array(10), // Only 10 bytes - will cause exception
24
+ g2Point: new Uint8Array(10), // Only 10 bytes (needs 128) - will cause exception
25
+ };
26
+
27
+ // In WASM builds, throw_or_abort calls abort directly which throws a generic Error
28
+ // In native builds with exceptions, our try-catch in bbapi converts it to ErrorResponse
29
+ // This test verifies that errors are catchable from bb.js (even if as generic Error in WASM)
30
+ expect(() => {
31
+ api.srsInitSrs(invalidCommand);
32
+ }).toThrow();
33
+ });
34
+
35
+ it('should return error message from caught exception', () => {
36
+ const invalidCommand = {
37
+ numPoints: 100,
38
+ pointsBuf: new Uint8Array(10),
39
+ g2Point: new Uint8Array(10),
40
+ };
41
+
42
+ try {
43
+ api.srsInitSrs(invalidCommand);
44
+ fail('Expected exception to be thrown');
45
+ } catch (error) {
46
+ // Error is catchable and contains a useful message
47
+ expect(error).toBeInstanceOf(Error);
48
+ expect((error as Error).message).toBeTruthy();
49
+ expect((error as Error).message.length).toBeGreaterThan(0);
50
+ expect((error as Error).message).toContain('g1_identity');
51
+ console.log('Successfully caught exception from bb.js with message:', (error as Error).message);
52
+ }
53
+ });
54
+ });
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { findBbBinary } from '../bb_backends/node/platform.js';
3
+ import { spawnSync } from 'node:child_process';
4
+
5
+ const bin = findBbBinary();
6
+
7
+ if (!bin) {
8
+ console.error('Could not find bb binary. Please ensure it is built and accessible.');
9
+ process.exit(1);
10
+ }
11
+
12
+ const result = spawnSync(bin, process.argv.slice(2), { stdio: 'inherit' });
13
+
14
+ process.exit(result.status ?? 1);
@@ -504,16 +504,6 @@ interface MsgpackCircuitWriteSolidityVerifierResponse {
504
504
  solidity_code: string;
505
505
  }
506
506
 
507
- export interface ECCVMProof {
508
- preIpaProof: Fr[];
509
- ipaProof: Fr[];
510
- }
511
-
512
- interface MsgpackECCVMProof {
513
- pre_ipa_proof: Uint8Array[];
514
- ipa_proof: Uint8Array[];
515
- }
516
-
517
507
  export interface EcdsaSecp256k1ComputePublicKey {
518
508
  privateKey: Secp256k1Fr;
519
509
  }
@@ -692,13 +682,15 @@ interface MsgpackErrorResponse {
692
682
 
693
683
  export interface GoblinProof {
694
684
  mergeProof: Fr[];
695
- eccvmProof: ECCVMProof;
685
+ eccvmProof: Fr[];
686
+ ipaProof: Fr[];
696
687
  translatorProof: Fr[];
697
688
  }
698
689
 
699
690
  interface MsgpackGoblinProof {
700
691
  merge_proof: Uint8Array[];
701
- eccvm_proof: MsgpackECCVMProof;
692
+ eccvm_proof: Uint8Array[];
693
+ ipa_proof: Uint8Array[];
702
694
  translator_proof: Uint8Array[];
703
695
  }
704
696
 
@@ -1617,16 +1609,6 @@ interface MsgpackCircuitWriteSolidityVerifierResponse {
1617
1609
  solidity_code: string;
1618
1610
  }
1619
1611
 
1620
- export interface ECCVMProof {
1621
- preIpaProof: Fr[];
1622
- ipaProof: Fr[];
1623
- }
1624
-
1625
- interface MsgpackECCVMProof {
1626
- pre_ipa_proof: Uint8Array[];
1627
- ipa_proof: Uint8Array[];
1628
- }
1629
-
1630
1612
  export interface EcdsaSecp256k1ComputePublicKey {
1631
1613
  privateKey: Secp256k1Fr;
1632
1614
  }
@@ -1805,13 +1787,15 @@ interface MsgpackErrorResponse {
1805
1787
 
1806
1788
  export interface GoblinProof {
1807
1789
  mergeProof: Fr[];
1808
- eccvmProof: ECCVMProof;
1790
+ eccvmProof: Fr[];
1791
+ ipaProof: Fr[];
1809
1792
  translatorProof: Fr[];
1810
1793
  }
1811
1794
 
1812
1795
  interface MsgpackGoblinProof {
1813
1796
  merge_proof: Uint8Array[];
1814
- eccvm_proof: MsgpackECCVMProof;
1797
+ eccvm_proof: Uint8Array[];
1798
+ ipa_proof: Uint8Array[];
1815
1799
  translator_proof: Uint8Array[];
1816
1800
  }
1817
1801
 
@@ -3108,24 +3092,6 @@ export function fromCircuitWriteSolidityVerifierResponse(o: CircuitWriteSolidity
3108
3092
  };
3109
3093
  }
3110
3094
 
3111
- export function toECCVMProof(o: MsgpackECCVMProof): ECCVMProof {
3112
- if (o.pre_ipa_proof === undefined) { throw new Error("Expected pre_ipa_proof in ECCVMProof deserialization"); }
3113
- if (o.ipa_proof === undefined) { throw new Error("Expected ipa_proof in ECCVMProof deserialization"); };
3114
- return {
3115
- preIpaProof: o.pre_ipa_proof.map((v: any) => v),
3116
- ipaProof: o.ipa_proof.map((v: any) => v),
3117
- };
3118
- }
3119
-
3120
- export function fromECCVMProof(o: ECCVMProof): MsgpackECCVMProof {
3121
- if (o.preIpaProof === undefined) { throw new Error("Expected preIpaProof in ECCVMProof serialization"); }
3122
- if (o.ipaProof === undefined) { throw new Error("Expected ipaProof in ECCVMProof serialization"); };
3123
- return {
3124
- pre_ipa_proof: o.preIpaProof.map((v: any) => v),
3125
- ipa_proof: o.ipaProof.map((v: any) => v),
3126
- };
3127
- }
3128
-
3129
3095
  export function toEcdsaSecp256k1ComputePublicKey(o: MsgpackEcdsaSecp256k1ComputePublicKey): EcdsaSecp256k1ComputePublicKey {
3130
3096
  if (o.private_key === undefined) { throw new Error("Expected private_key in EcdsaSecp256k1ComputePublicKey deserialization"); };
3131
3097
  return {
@@ -3447,10 +3413,12 @@ export function fromErrorResponse(o: ErrorResponse): MsgpackErrorResponse {
3447
3413
  export function toGoblinProof(o: MsgpackGoblinProof): GoblinProof {
3448
3414
  if (o.merge_proof === undefined) { throw new Error("Expected merge_proof in GoblinProof deserialization"); }
3449
3415
  if (o.eccvm_proof === undefined) { throw new Error("Expected eccvm_proof in GoblinProof deserialization"); }
3416
+ if (o.ipa_proof === undefined) { throw new Error("Expected ipa_proof in GoblinProof deserialization"); }
3450
3417
  if (o.translator_proof === undefined) { throw new Error("Expected translator_proof in GoblinProof deserialization"); };
3451
3418
  return {
3452
3419
  mergeProof: o.merge_proof.map((v: any) => v),
3453
- eccvmProof: toECCVMProof(o.eccvm_proof),
3420
+ eccvmProof: o.eccvm_proof.map((v: any) => v),
3421
+ ipaProof: o.ipa_proof.map((v: any) => v),
3454
3422
  translatorProof: o.translator_proof.map((v: any) => v),
3455
3423
  };
3456
3424
  }
@@ -3458,10 +3426,12 @@ export function toGoblinProof(o: MsgpackGoblinProof): GoblinProof {
3458
3426
  export function fromGoblinProof(o: GoblinProof): MsgpackGoblinProof {
3459
3427
  if (o.mergeProof === undefined) { throw new Error("Expected mergeProof in GoblinProof serialization"); }
3460
3428
  if (o.eccvmProof === undefined) { throw new Error("Expected eccvmProof in GoblinProof serialization"); }
3429
+ if (o.ipaProof === undefined) { throw new Error("Expected ipaProof in GoblinProof serialization"); }
3461
3430
  if (o.translatorProof === undefined) { throw new Error("Expected translatorProof in GoblinProof serialization"); };
3462
3431
  return {
3463
3432
  merge_proof: o.mergeProof.map((v: any) => v),
3464
- eccvm_proof: fromECCVMProof(o.eccvmProof),
3433
+ eccvm_proof: o.eccvmProof.map((v: any) => v),
3434
+ ipa_proof: o.ipaProof.map((v: any) => v),
3465
3435
  translator_proof: o.translatorProof.map((v: any) => v),
3466
3436
  };
3467
3437
  }
@@ -3,7 +3,7 @@
3
3
  import { IMsgpackBackendAsync } from '../../bb_backends/interface.js';
4
4
  import { Decoder, Encoder } from 'msgpackr';
5
5
  import { BBApiException } from '../../bbapi_exception.js';
6
- import { AesDecrypt, AesDecryptResponse, AesEncrypt, AesEncryptResponse, BbApiBase, Blake2s, Blake2sResponse, Blake2sToField, Blake2sToFieldResponse, Bn254FqSqrt, Bn254FqSqrtResponse, Bn254FrSqrt, Bn254FrSqrtResponse, Bn254G1FromCompressed, Bn254G1FromCompressedResponse, Bn254G1IsOnCurve, Bn254G1IsOnCurveResponse, Bn254G1Mul, Bn254G1MulResponse, Bn254G1Point, Bn254G2Mul, Bn254G2MulResponse, Bn254G2Point, ChonkAccumulate, ChonkAccumulateResponse, ChonkCheckPrecomputedVk, ChonkCheckPrecomputedVkResponse, ChonkComputeIvcVk, ChonkComputeIvcVkResponse, ChonkComputeStandaloneVk, ChonkComputeStandaloneVkResponse, ChonkLoad, ChonkLoadResponse, ChonkProof, ChonkProve, ChonkProveResponse, ChonkStart, ChonkStartResponse, ChonkStats, ChonkStatsResponse, ChonkVerify, ChonkVerifyResponse, CircuitComputeVk, CircuitComputeVkResponse, CircuitInfoResponse, CircuitInput, CircuitInputNoVK, CircuitProve, CircuitProveResponse, CircuitStats, CircuitVerify, CircuitVerifyResponse, CircuitWriteSolidityVerifier, CircuitWriteSolidityVerifierResponse, ECCVMProof, EcdsaSecp256k1ComputePublicKey, EcdsaSecp256k1ComputePublicKeyResponse, EcdsaSecp256k1ConstructSignature, EcdsaSecp256k1ConstructSignatureResponse, EcdsaSecp256k1RecoverPublicKey, EcdsaSecp256k1RecoverPublicKeyResponse, EcdsaSecp256k1VerifySignature, EcdsaSecp256k1VerifySignatureResponse, EcdsaSecp256r1ComputePublicKey, EcdsaSecp256r1ComputePublicKeyResponse, EcdsaSecp256r1ConstructSignature, EcdsaSecp256r1ConstructSignatureResponse, EcdsaSecp256r1RecoverPublicKey, EcdsaSecp256r1RecoverPublicKeyResponse, EcdsaSecp256r1VerifySignature, EcdsaSecp256r1VerifySignatureResponse, ErrorResponse, Field2, Fq, Fr, GoblinProof, GrumpkinAdd, GrumpkinAddResponse, GrumpkinBatchMul, GrumpkinBatchMulResponse, GrumpkinGetRandomFr, GrumpkinGetRandomFrResponse, GrumpkinMul, GrumpkinMulResponse, GrumpkinPoint, GrumpkinReduce512, GrumpkinReduce512Response, MegaVkAsFields, MegaVkAsFieldsResponse, PedersenCommit, PedersenCommitResponse, PedersenHash, PedersenHashBuffer, PedersenHashBufferResponse, PedersenHashResponse, Poseidon2Hash, Poseidon2HashAccumulate, Poseidon2HashAccumulateResponse, Poseidon2HashResponse, Poseidon2Permutation, Poseidon2PermutationResponse, ProofSystemSettings, SchnorrComputePublicKey, SchnorrComputePublicKeyResponse, SchnorrConstructSignature, SchnorrConstructSignatureResponse, SchnorrVerifySignature, SchnorrVerifySignatureResponse, Secp256k1Fq, Secp256k1Fr, Secp256k1GetRandomFr, Secp256k1GetRandomFrResponse, Secp256k1Mul, Secp256k1MulResponse, Secp256k1Point, Secp256k1Reduce512, Secp256k1Reduce512Response, Secp256r1Fq, Secp256r1Fr, Secp256r1Point, Shutdown, ShutdownResponse, SrsInitGrumpkinSrs, SrsInitGrumpkinSrsResponse, SrsInitSrs, SrsInitSrsResponse, Uint256T, VkAsFields, VkAsFieldsResponse, fromAesDecrypt, fromAesEncrypt, fromBlake2s, fromBlake2sToField, fromBn254FqSqrt, fromBn254FrSqrt, fromBn254G1FromCompressed, fromBn254G1IsOnCurve, fromBn254G1Mul, fromBn254G2Mul, fromChonkAccumulate, fromChonkCheckPrecomputedVk, fromChonkComputeIvcVk, fromChonkComputeStandaloneVk, fromChonkLoad, fromChonkProve, fromChonkStart, fromChonkStats, fromChonkVerify, fromCircuitComputeVk, fromCircuitProve, fromCircuitStats, fromCircuitVerify, fromCircuitWriteSolidityVerifier, fromEcdsaSecp256k1ComputePublicKey, fromEcdsaSecp256k1ConstructSignature, fromEcdsaSecp256k1RecoverPublicKey, fromEcdsaSecp256k1VerifySignature, fromEcdsaSecp256r1ComputePublicKey, fromEcdsaSecp256r1ConstructSignature, fromEcdsaSecp256r1RecoverPublicKey, fromEcdsaSecp256r1VerifySignature, fromGrumpkinAdd, fromGrumpkinBatchMul, fromGrumpkinGetRandomFr, fromGrumpkinMul, fromGrumpkinReduce512, fromMegaVkAsFields, fromPedersenCommit, fromPedersenHash, fromPedersenHashBuffer, fromPoseidon2Hash, fromPoseidon2HashAccumulate, fromPoseidon2Permutation, fromSchnorrComputePublicKey, fromSchnorrConstructSignature, fromSchnorrVerifySignature, fromSecp256k1GetRandomFr, fromSecp256k1Mul, fromSecp256k1Reduce512, fromShutdown, fromSrsInitGrumpkinSrs, fromSrsInitSrs, fromVkAsFields, toAesDecryptResponse, toAesEncryptResponse, toBlake2sResponse, toBlake2sToFieldResponse, toBn254FqSqrtResponse, toBn254FrSqrtResponse, toBn254G1FromCompressedResponse, toBn254G1IsOnCurveResponse, toBn254G1MulResponse, toBn254G2MulResponse, toChonkAccumulateResponse, toChonkCheckPrecomputedVkResponse, toChonkComputeIvcVkResponse, toChonkComputeStandaloneVkResponse, toChonkLoadResponse, toChonkProveResponse, toChonkStartResponse, toChonkStatsResponse, toChonkVerifyResponse, toCircuitComputeVkResponse, toCircuitInfoResponse, toCircuitProveResponse, toCircuitVerifyResponse, toCircuitWriteSolidityVerifierResponse, toEcdsaSecp256k1ComputePublicKeyResponse, toEcdsaSecp256k1ConstructSignatureResponse, toEcdsaSecp256k1RecoverPublicKeyResponse, toEcdsaSecp256k1VerifySignatureResponse, toEcdsaSecp256r1ComputePublicKeyResponse, toEcdsaSecp256r1ConstructSignatureResponse, toEcdsaSecp256r1RecoverPublicKeyResponse, toEcdsaSecp256r1VerifySignatureResponse, toGrumpkinAddResponse, toGrumpkinBatchMulResponse, toGrumpkinGetRandomFrResponse, toGrumpkinMulResponse, toGrumpkinReduce512Response, toMegaVkAsFieldsResponse, toPedersenCommitResponse, toPedersenHashBufferResponse, toPedersenHashResponse, toPoseidon2HashAccumulateResponse, toPoseidon2HashResponse, toPoseidon2PermutationResponse, toSchnorrComputePublicKeyResponse, toSchnorrConstructSignatureResponse, toSchnorrVerifySignatureResponse, toSecp256k1GetRandomFrResponse, toSecp256k1MulResponse, toSecp256k1Reduce512Response, toShutdownResponse, toSrsInitGrumpkinSrsResponse, toSrsInitSrsResponse, toVkAsFieldsResponse } from './api_types.js';
6
+ import { AesDecrypt, AesDecryptResponse, AesEncrypt, AesEncryptResponse, BbApiBase, Blake2s, Blake2sResponse, Blake2sToField, Blake2sToFieldResponse, Bn254FqSqrt, Bn254FqSqrtResponse, Bn254FrSqrt, Bn254FrSqrtResponse, Bn254G1FromCompressed, Bn254G1FromCompressedResponse, Bn254G1IsOnCurve, Bn254G1IsOnCurveResponse, Bn254G1Mul, Bn254G1MulResponse, Bn254G1Point, Bn254G2Mul, Bn254G2MulResponse, Bn254G2Point, ChonkAccumulate, ChonkAccumulateResponse, ChonkCheckPrecomputedVk, ChonkCheckPrecomputedVkResponse, ChonkComputeIvcVk, ChonkComputeIvcVkResponse, ChonkComputeStandaloneVk, ChonkComputeStandaloneVkResponse, ChonkLoad, ChonkLoadResponse, ChonkProof, ChonkProve, ChonkProveResponse, ChonkStart, ChonkStartResponse, ChonkStats, ChonkStatsResponse, ChonkVerify, ChonkVerifyResponse, CircuitComputeVk, CircuitComputeVkResponse, CircuitInfoResponse, CircuitInput, CircuitInputNoVK, CircuitProve, CircuitProveResponse, CircuitStats, CircuitVerify, CircuitVerifyResponse, CircuitWriteSolidityVerifier, CircuitWriteSolidityVerifierResponse, EcdsaSecp256k1ComputePublicKey, EcdsaSecp256k1ComputePublicKeyResponse, EcdsaSecp256k1ConstructSignature, EcdsaSecp256k1ConstructSignatureResponse, EcdsaSecp256k1RecoverPublicKey, EcdsaSecp256k1RecoverPublicKeyResponse, EcdsaSecp256k1VerifySignature, EcdsaSecp256k1VerifySignatureResponse, EcdsaSecp256r1ComputePublicKey, EcdsaSecp256r1ComputePublicKeyResponse, EcdsaSecp256r1ConstructSignature, EcdsaSecp256r1ConstructSignatureResponse, EcdsaSecp256r1RecoverPublicKey, EcdsaSecp256r1RecoverPublicKeyResponse, EcdsaSecp256r1VerifySignature, EcdsaSecp256r1VerifySignatureResponse, ErrorResponse, Field2, Fq, Fr, GoblinProof, GrumpkinAdd, GrumpkinAddResponse, GrumpkinBatchMul, GrumpkinBatchMulResponse, GrumpkinGetRandomFr, GrumpkinGetRandomFrResponse, GrumpkinMul, GrumpkinMulResponse, GrumpkinPoint, GrumpkinReduce512, GrumpkinReduce512Response, MegaVkAsFields, MegaVkAsFieldsResponse, PedersenCommit, PedersenCommitResponse, PedersenHash, PedersenHashBuffer, PedersenHashBufferResponse, PedersenHashResponse, Poseidon2Hash, Poseidon2HashAccumulate, Poseidon2HashAccumulateResponse, Poseidon2HashResponse, Poseidon2Permutation, Poseidon2PermutationResponse, ProofSystemSettings, SchnorrComputePublicKey, SchnorrComputePublicKeyResponse, SchnorrConstructSignature, SchnorrConstructSignatureResponse, SchnorrVerifySignature, SchnorrVerifySignatureResponse, Secp256k1Fq, Secp256k1Fr, Secp256k1GetRandomFr, Secp256k1GetRandomFrResponse, Secp256k1Mul, Secp256k1MulResponse, Secp256k1Point, Secp256k1Reduce512, Secp256k1Reduce512Response, Secp256r1Fq, Secp256r1Fr, Secp256r1Point, Shutdown, ShutdownResponse, SrsInitGrumpkinSrs, SrsInitGrumpkinSrsResponse, SrsInitSrs, SrsInitSrsResponse, Uint256T, VkAsFields, VkAsFieldsResponse, fromAesDecrypt, fromAesEncrypt, fromBlake2s, fromBlake2sToField, fromBn254FqSqrt, fromBn254FrSqrt, fromBn254G1FromCompressed, fromBn254G1IsOnCurve, fromBn254G1Mul, fromBn254G2Mul, fromChonkAccumulate, fromChonkCheckPrecomputedVk, fromChonkComputeIvcVk, fromChonkComputeStandaloneVk, fromChonkLoad, fromChonkProve, fromChonkStart, fromChonkStats, fromChonkVerify, fromCircuitComputeVk, fromCircuitProve, fromCircuitStats, fromCircuitVerify, fromCircuitWriteSolidityVerifier, fromEcdsaSecp256k1ComputePublicKey, fromEcdsaSecp256k1ConstructSignature, fromEcdsaSecp256k1RecoverPublicKey, fromEcdsaSecp256k1VerifySignature, fromEcdsaSecp256r1ComputePublicKey, fromEcdsaSecp256r1ConstructSignature, fromEcdsaSecp256r1RecoverPublicKey, fromEcdsaSecp256r1VerifySignature, fromGrumpkinAdd, fromGrumpkinBatchMul, fromGrumpkinGetRandomFr, fromGrumpkinMul, fromGrumpkinReduce512, fromMegaVkAsFields, fromPedersenCommit, fromPedersenHash, fromPedersenHashBuffer, fromPoseidon2Hash, fromPoseidon2HashAccumulate, fromPoseidon2Permutation, fromSchnorrComputePublicKey, fromSchnorrConstructSignature, fromSchnorrVerifySignature, fromSecp256k1GetRandomFr, fromSecp256k1Mul, fromSecp256k1Reduce512, fromShutdown, fromSrsInitGrumpkinSrs, fromSrsInitSrs, fromVkAsFields, toAesDecryptResponse, toAesEncryptResponse, toBlake2sResponse, toBlake2sToFieldResponse, toBn254FqSqrtResponse, toBn254FrSqrtResponse, toBn254G1FromCompressedResponse, toBn254G1IsOnCurveResponse, toBn254G1MulResponse, toBn254G2MulResponse, toChonkAccumulateResponse, toChonkCheckPrecomputedVkResponse, toChonkComputeIvcVkResponse, toChonkComputeStandaloneVkResponse, toChonkLoadResponse, toChonkProveResponse, toChonkStartResponse, toChonkStatsResponse, toChonkVerifyResponse, toCircuitComputeVkResponse, toCircuitInfoResponse, toCircuitProveResponse, toCircuitVerifyResponse, toCircuitWriteSolidityVerifierResponse, toEcdsaSecp256k1ComputePublicKeyResponse, toEcdsaSecp256k1ConstructSignatureResponse, toEcdsaSecp256k1RecoverPublicKeyResponse, toEcdsaSecp256k1VerifySignatureResponse, toEcdsaSecp256r1ComputePublicKeyResponse, toEcdsaSecp256r1ConstructSignatureResponse, toEcdsaSecp256r1RecoverPublicKeyResponse, toEcdsaSecp256r1VerifySignatureResponse, toGrumpkinAddResponse, toGrumpkinBatchMulResponse, toGrumpkinGetRandomFrResponse, toGrumpkinMulResponse, toGrumpkinReduce512Response, toMegaVkAsFieldsResponse, toPedersenCommitResponse, toPedersenHashBufferResponse, toPedersenHashResponse, toPoseidon2HashAccumulateResponse, toPoseidon2HashResponse, toPoseidon2PermutationResponse, toSchnorrComputePublicKeyResponse, toSchnorrConstructSignatureResponse, toSchnorrVerifySignatureResponse, toSecp256k1GetRandomFrResponse, toSecp256k1MulResponse, toSecp256k1Reduce512Response, toShutdownResponse, toSrsInitGrumpkinSrsResponse, toSrsInitSrsResponse, toVkAsFieldsResponse } from './api_types.js';
7
7
 
8
8
  async function msgpackCall(backend: IMsgpackBackendAsync, input: any[]) { const inputBuffer = new Encoder({ useRecords: false }).pack(input); const encodedResult = await backend.call(inputBuffer); return new Decoder({ useRecords: false }).unpack(encodedResult);}
9
9
  export class AsyncApi implements BbApiBase {
@@ -3,7 +3,7 @@
3
3
  import { IMsgpackBackendSync } from '../../bb_backends/interface.js';
4
4
  import { Decoder, Encoder } from 'msgpackr';
5
5
  import { BBApiException } from '../../bbapi_exception.js';
6
- import { AesDecrypt, AesDecryptResponse, AesEncrypt, AesEncryptResponse, BbApiBase, Blake2s, Blake2sResponse, Blake2sToField, Blake2sToFieldResponse, Bn254FqSqrt, Bn254FqSqrtResponse, Bn254FrSqrt, Bn254FrSqrtResponse, Bn254G1FromCompressed, Bn254G1FromCompressedResponse, Bn254G1IsOnCurve, Bn254G1IsOnCurveResponse, Bn254G1Mul, Bn254G1MulResponse, Bn254G1Point, Bn254G2Mul, Bn254G2MulResponse, Bn254G2Point, ChonkAccumulate, ChonkAccumulateResponse, ChonkCheckPrecomputedVk, ChonkCheckPrecomputedVkResponse, ChonkComputeIvcVk, ChonkComputeIvcVkResponse, ChonkComputeStandaloneVk, ChonkComputeStandaloneVkResponse, ChonkLoad, ChonkLoadResponse, ChonkProof, ChonkProve, ChonkProveResponse, ChonkStart, ChonkStartResponse, ChonkStats, ChonkStatsResponse, ChonkVerify, ChonkVerifyResponse, CircuitComputeVk, CircuitComputeVkResponse, CircuitInfoResponse, CircuitInput, CircuitInputNoVK, CircuitProve, CircuitProveResponse, CircuitStats, CircuitVerify, CircuitVerifyResponse, CircuitWriteSolidityVerifier, CircuitWriteSolidityVerifierResponse, ECCVMProof, EcdsaSecp256k1ComputePublicKey, EcdsaSecp256k1ComputePublicKeyResponse, EcdsaSecp256k1ConstructSignature, EcdsaSecp256k1ConstructSignatureResponse, EcdsaSecp256k1RecoverPublicKey, EcdsaSecp256k1RecoverPublicKeyResponse, EcdsaSecp256k1VerifySignature, EcdsaSecp256k1VerifySignatureResponse, EcdsaSecp256r1ComputePublicKey, EcdsaSecp256r1ComputePublicKeyResponse, EcdsaSecp256r1ConstructSignature, EcdsaSecp256r1ConstructSignatureResponse, EcdsaSecp256r1RecoverPublicKey, EcdsaSecp256r1RecoverPublicKeyResponse, EcdsaSecp256r1VerifySignature, EcdsaSecp256r1VerifySignatureResponse, ErrorResponse, Field2, Fq, Fr, GoblinProof, GrumpkinAdd, GrumpkinAddResponse, GrumpkinBatchMul, GrumpkinBatchMulResponse, GrumpkinGetRandomFr, GrumpkinGetRandomFrResponse, GrumpkinMul, GrumpkinMulResponse, GrumpkinPoint, GrumpkinReduce512, GrumpkinReduce512Response, MegaVkAsFields, MegaVkAsFieldsResponse, PedersenCommit, PedersenCommitResponse, PedersenHash, PedersenHashBuffer, PedersenHashBufferResponse, PedersenHashResponse, Poseidon2Hash, Poseidon2HashAccumulate, Poseidon2HashAccumulateResponse, Poseidon2HashResponse, Poseidon2Permutation, Poseidon2PermutationResponse, ProofSystemSettings, SchnorrComputePublicKey, SchnorrComputePublicKeyResponse, SchnorrConstructSignature, SchnorrConstructSignatureResponse, SchnorrVerifySignature, SchnorrVerifySignatureResponse, Secp256k1Fq, Secp256k1Fr, Secp256k1GetRandomFr, Secp256k1GetRandomFrResponse, Secp256k1Mul, Secp256k1MulResponse, Secp256k1Point, Secp256k1Reduce512, Secp256k1Reduce512Response, Secp256r1Fq, Secp256r1Fr, Secp256r1Point, Shutdown, ShutdownResponse, SrsInitGrumpkinSrs, SrsInitGrumpkinSrsResponse, SrsInitSrs, SrsInitSrsResponse, Uint256T, VkAsFields, VkAsFieldsResponse, fromAesDecrypt, fromAesEncrypt, fromBlake2s, fromBlake2sToField, fromBn254FqSqrt, fromBn254FrSqrt, fromBn254G1FromCompressed, fromBn254G1IsOnCurve, fromBn254G1Mul, fromBn254G2Mul, fromChonkAccumulate, fromChonkCheckPrecomputedVk, fromChonkComputeIvcVk, fromChonkComputeStandaloneVk, fromChonkLoad, fromChonkProve, fromChonkStart, fromChonkStats, fromChonkVerify, fromCircuitComputeVk, fromCircuitProve, fromCircuitStats, fromCircuitVerify, fromCircuitWriteSolidityVerifier, fromEcdsaSecp256k1ComputePublicKey, fromEcdsaSecp256k1ConstructSignature, fromEcdsaSecp256k1RecoverPublicKey, fromEcdsaSecp256k1VerifySignature, fromEcdsaSecp256r1ComputePublicKey, fromEcdsaSecp256r1ConstructSignature, fromEcdsaSecp256r1RecoverPublicKey, fromEcdsaSecp256r1VerifySignature, fromGrumpkinAdd, fromGrumpkinBatchMul, fromGrumpkinGetRandomFr, fromGrumpkinMul, fromGrumpkinReduce512, fromMegaVkAsFields, fromPedersenCommit, fromPedersenHash, fromPedersenHashBuffer, fromPoseidon2Hash, fromPoseidon2HashAccumulate, fromPoseidon2Permutation, fromSchnorrComputePublicKey, fromSchnorrConstructSignature, fromSchnorrVerifySignature, fromSecp256k1GetRandomFr, fromSecp256k1Mul, fromSecp256k1Reduce512, fromShutdown, fromSrsInitGrumpkinSrs, fromSrsInitSrs, fromVkAsFields, toAesDecryptResponse, toAesEncryptResponse, toBlake2sResponse, toBlake2sToFieldResponse, toBn254FqSqrtResponse, toBn254FrSqrtResponse, toBn254G1FromCompressedResponse, toBn254G1IsOnCurveResponse, toBn254G1MulResponse, toBn254G2MulResponse, toChonkAccumulateResponse, toChonkCheckPrecomputedVkResponse, toChonkComputeIvcVkResponse, toChonkComputeStandaloneVkResponse, toChonkLoadResponse, toChonkProveResponse, toChonkStartResponse, toChonkStatsResponse, toChonkVerifyResponse, toCircuitComputeVkResponse, toCircuitInfoResponse, toCircuitProveResponse, toCircuitVerifyResponse, toCircuitWriteSolidityVerifierResponse, toEcdsaSecp256k1ComputePublicKeyResponse, toEcdsaSecp256k1ConstructSignatureResponse, toEcdsaSecp256k1RecoverPublicKeyResponse, toEcdsaSecp256k1VerifySignatureResponse, toEcdsaSecp256r1ComputePublicKeyResponse, toEcdsaSecp256r1ConstructSignatureResponse, toEcdsaSecp256r1RecoverPublicKeyResponse, toEcdsaSecp256r1VerifySignatureResponse, toGrumpkinAddResponse, toGrumpkinBatchMulResponse, toGrumpkinGetRandomFrResponse, toGrumpkinMulResponse, toGrumpkinReduce512Response, toMegaVkAsFieldsResponse, toPedersenCommitResponse, toPedersenHashBufferResponse, toPedersenHashResponse, toPoseidon2HashAccumulateResponse, toPoseidon2HashResponse, toPoseidon2PermutationResponse, toSchnorrComputePublicKeyResponse, toSchnorrConstructSignatureResponse, toSchnorrVerifySignatureResponse, toSecp256k1GetRandomFrResponse, toSecp256k1MulResponse, toSecp256k1Reduce512Response, toShutdownResponse, toSrsInitGrumpkinSrsResponse, toSrsInitSrsResponse, toVkAsFieldsResponse } from './api_types.js';
6
+ import { AesDecrypt, AesDecryptResponse, AesEncrypt, AesEncryptResponse, BbApiBase, Blake2s, Blake2sResponse, Blake2sToField, Blake2sToFieldResponse, Bn254FqSqrt, Bn254FqSqrtResponse, Bn254FrSqrt, Bn254FrSqrtResponse, Bn254G1FromCompressed, Bn254G1FromCompressedResponse, Bn254G1IsOnCurve, Bn254G1IsOnCurveResponse, Bn254G1Mul, Bn254G1MulResponse, Bn254G1Point, Bn254G2Mul, Bn254G2MulResponse, Bn254G2Point, ChonkAccumulate, ChonkAccumulateResponse, ChonkCheckPrecomputedVk, ChonkCheckPrecomputedVkResponse, ChonkComputeIvcVk, ChonkComputeIvcVkResponse, ChonkComputeStandaloneVk, ChonkComputeStandaloneVkResponse, ChonkLoad, ChonkLoadResponse, ChonkProof, ChonkProve, ChonkProveResponse, ChonkStart, ChonkStartResponse, ChonkStats, ChonkStatsResponse, ChonkVerify, ChonkVerifyResponse, CircuitComputeVk, CircuitComputeVkResponse, CircuitInfoResponse, CircuitInput, CircuitInputNoVK, CircuitProve, CircuitProveResponse, CircuitStats, CircuitVerify, CircuitVerifyResponse, CircuitWriteSolidityVerifier, CircuitWriteSolidityVerifierResponse, EcdsaSecp256k1ComputePublicKey, EcdsaSecp256k1ComputePublicKeyResponse, EcdsaSecp256k1ConstructSignature, EcdsaSecp256k1ConstructSignatureResponse, EcdsaSecp256k1RecoverPublicKey, EcdsaSecp256k1RecoverPublicKeyResponse, EcdsaSecp256k1VerifySignature, EcdsaSecp256k1VerifySignatureResponse, EcdsaSecp256r1ComputePublicKey, EcdsaSecp256r1ComputePublicKeyResponse, EcdsaSecp256r1ConstructSignature, EcdsaSecp256r1ConstructSignatureResponse, EcdsaSecp256r1RecoverPublicKey, EcdsaSecp256r1RecoverPublicKeyResponse, EcdsaSecp256r1VerifySignature, EcdsaSecp256r1VerifySignatureResponse, ErrorResponse, Field2, Fq, Fr, GoblinProof, GrumpkinAdd, GrumpkinAddResponse, GrumpkinBatchMul, GrumpkinBatchMulResponse, GrumpkinGetRandomFr, GrumpkinGetRandomFrResponse, GrumpkinMul, GrumpkinMulResponse, GrumpkinPoint, GrumpkinReduce512, GrumpkinReduce512Response, MegaVkAsFields, MegaVkAsFieldsResponse, PedersenCommit, PedersenCommitResponse, PedersenHash, PedersenHashBuffer, PedersenHashBufferResponse, PedersenHashResponse, Poseidon2Hash, Poseidon2HashAccumulate, Poseidon2HashAccumulateResponse, Poseidon2HashResponse, Poseidon2Permutation, Poseidon2PermutationResponse, ProofSystemSettings, SchnorrComputePublicKey, SchnorrComputePublicKeyResponse, SchnorrConstructSignature, SchnorrConstructSignatureResponse, SchnorrVerifySignature, SchnorrVerifySignatureResponse, Secp256k1Fq, Secp256k1Fr, Secp256k1GetRandomFr, Secp256k1GetRandomFrResponse, Secp256k1Mul, Secp256k1MulResponse, Secp256k1Point, Secp256k1Reduce512, Secp256k1Reduce512Response, Secp256r1Fq, Secp256r1Fr, Secp256r1Point, Shutdown, ShutdownResponse, SrsInitGrumpkinSrs, SrsInitGrumpkinSrsResponse, SrsInitSrs, SrsInitSrsResponse, Uint256T, VkAsFields, VkAsFieldsResponse, fromAesDecrypt, fromAesEncrypt, fromBlake2s, fromBlake2sToField, fromBn254FqSqrt, fromBn254FrSqrt, fromBn254G1FromCompressed, fromBn254G1IsOnCurve, fromBn254G1Mul, fromBn254G2Mul, fromChonkAccumulate, fromChonkCheckPrecomputedVk, fromChonkComputeIvcVk, fromChonkComputeStandaloneVk, fromChonkLoad, fromChonkProve, fromChonkStart, fromChonkStats, fromChonkVerify, fromCircuitComputeVk, fromCircuitProve, fromCircuitStats, fromCircuitVerify, fromCircuitWriteSolidityVerifier, fromEcdsaSecp256k1ComputePublicKey, fromEcdsaSecp256k1ConstructSignature, fromEcdsaSecp256k1RecoverPublicKey, fromEcdsaSecp256k1VerifySignature, fromEcdsaSecp256r1ComputePublicKey, fromEcdsaSecp256r1ConstructSignature, fromEcdsaSecp256r1RecoverPublicKey, fromEcdsaSecp256r1VerifySignature, fromGrumpkinAdd, fromGrumpkinBatchMul, fromGrumpkinGetRandomFr, fromGrumpkinMul, fromGrumpkinReduce512, fromMegaVkAsFields, fromPedersenCommit, fromPedersenHash, fromPedersenHashBuffer, fromPoseidon2Hash, fromPoseidon2HashAccumulate, fromPoseidon2Permutation, fromSchnorrComputePublicKey, fromSchnorrConstructSignature, fromSchnorrVerifySignature, fromSecp256k1GetRandomFr, fromSecp256k1Mul, fromSecp256k1Reduce512, fromShutdown, fromSrsInitGrumpkinSrs, fromSrsInitSrs, fromVkAsFields, toAesDecryptResponse, toAesEncryptResponse, toBlake2sResponse, toBlake2sToFieldResponse, toBn254FqSqrtResponse, toBn254FrSqrtResponse, toBn254G1FromCompressedResponse, toBn254G1IsOnCurveResponse, toBn254G1MulResponse, toBn254G2MulResponse, toChonkAccumulateResponse, toChonkCheckPrecomputedVkResponse, toChonkComputeIvcVkResponse, toChonkComputeStandaloneVkResponse, toChonkLoadResponse, toChonkProveResponse, toChonkStartResponse, toChonkStatsResponse, toChonkVerifyResponse, toCircuitComputeVkResponse, toCircuitInfoResponse, toCircuitProveResponse, toCircuitVerifyResponse, toCircuitWriteSolidityVerifierResponse, toEcdsaSecp256k1ComputePublicKeyResponse, toEcdsaSecp256k1ConstructSignatureResponse, toEcdsaSecp256k1RecoverPublicKeyResponse, toEcdsaSecp256k1VerifySignatureResponse, toEcdsaSecp256r1ComputePublicKeyResponse, toEcdsaSecp256r1ConstructSignatureResponse, toEcdsaSecp256r1RecoverPublicKeyResponse, toEcdsaSecp256r1VerifySignatureResponse, toGrumpkinAddResponse, toGrumpkinBatchMulResponse, toGrumpkinGetRandomFrResponse, toGrumpkinMulResponse, toGrumpkinReduce512Response, toMegaVkAsFieldsResponse, toPedersenCommitResponse, toPedersenHashBufferResponse, toPedersenHashResponse, toPoseidon2HashAccumulateResponse, toPoseidon2HashResponse, toPoseidon2PermutationResponse, toSchnorrComputePublicKeyResponse, toSchnorrConstructSignatureResponse, toSchnorrVerifySignatureResponse, toSecp256k1GetRandomFrResponse, toSecp256k1MulResponse, toSecp256k1Reduce512Response, toShutdownResponse, toSrsInitGrumpkinSrsResponse, toSrsInitSrsResponse, toVkAsFieldsResponse } from './api_types.js';
7
7
 
8
8
  function msgpackCall(backend: IMsgpackBackendSync, input: any[]) { const inputBuffer = new Encoder({ useRecords: false }).pack(input); const encodedResult = backend.call(inputBuffer); return new Decoder({ useRecords: false }).unpack(encodedResult);}
9
9
  export class SyncApi {
@@ -4,7 +4,6 @@ import { stat } from 'fs/promises';
4
4
  import { Readable } from 'stream';
5
5
  import { homedir } from 'os';
6
6
  import { finished } from 'stream/promises';
7
- import { createDebugLogger } from '../../log/index.js';
8
7
  import { join } from 'path';
9
8
 
10
9
  /**
@@ -14,13 +13,13 @@ export class Crs {
14
13
  constructor(
15
14
  public readonly numPoints: number,
16
15
  public readonly path: string,
17
- private readonly logger: (msg: string) => void = createDebugLogger('crs'),
16
+ private readonly logger: (msg: string) => void = () => {},
18
17
  ) {}
19
18
 
20
19
  static async new(
21
20
  numPoints: number,
22
21
  crsPath = process.env.CRS_PATH ?? join(homedir(), '.bb-crs'),
23
- logger: (msg: string) => void = createDebugLogger('crs'),
22
+ logger: (msg: string) => void = () => {},
24
23
  ) {
25
24
  const crs = new Crs(numPoints, crsPath, logger);
26
25
  await crs.init();
@@ -83,13 +82,13 @@ export class GrumpkinCrs {
83
82
  constructor(
84
83
  public readonly numPoints: number,
85
84
  public readonly path: string,
86
- private readonly logger: (msg: string) => void = createDebugLogger('crs'),
85
+ private readonly logger: (msg: string) => void = () => {},
87
86
  ) {}
88
87
 
89
88
  static async new(
90
89
  numPoints: number,
91
90
  crsPath = process.env.CRS_PATH ?? join(homedir(), '.bb-crs'),
92
- logger: (msg: string) => void = createDebugLogger('crs'),
91
+ logger: (msg: string) => void = () => {},
93
92
  ) {
94
93
  const crs = new GrumpkinCrs(numPoints, crsPath, logger);
95
94
  await crs.init();
package/src/index.ts CHANGED
@@ -39,3 +39,5 @@ export {
39
39
  SECP256R1_FQ_MODULUS,
40
40
  SECP256R1_G1_GENERATOR,
41
41
  } from './cbind/generated/curve_constants.js';
42
+
43
+ export { findNapiBinary } from './bb_backends/node/platform.js';
@@ -1,15 +0,0 @@
1
- import { IMsgpackBackendSync, IMsgpackBackendAsync } from './interface.js';
2
- /**
3
- * Adapter that wraps a synchronous backend to provide an async interface.
4
- * The sync backend's blocking calls are simply wrapped in Promise.resolve().
5
- *
6
- * This is useful for backends like shared memory where the call is actually
7
- * synchronous but we want to use it with the async API.
8
- */
9
- export declare class SyncToAsyncAdapter implements IMsgpackBackendAsync {
10
- private syncBackend;
11
- constructor(syncBackend: IMsgpackBackendSync);
12
- call(inputBuffer: Uint8Array): Promise<Uint8Array>;
13
- destroy(): Promise<void>;
14
- }
15
- //# sourceMappingURL=sync_to_async_adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync_to_async_adapter.d.ts","sourceRoot":"","sources":["../../../src/bb_backends/sync_to_async_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;IACjD,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,mBAAmB;IAE9C,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAKlD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Adapter that wraps a synchronous backend to provide an async interface.
3
- * The sync backend's blocking calls are simply wrapped in Promise.resolve().
4
- *
5
- * This is useful for backends like shared memory where the call is actually
6
- * synchronous but we want to use it with the async API.
7
- */
8
- export class SyncToAsyncAdapter {
9
- constructor(syncBackend) {
10
- this.syncBackend = syncBackend;
11
- }
12
- async call(inputBuffer) {
13
- // The sync backend blocks until complete, so just wrap in a resolved promise
14
- return Promise.resolve(this.syncBackend.call(inputBuffer));
15
- }
16
- async destroy() {
17
- this.syncBackend.destroy();
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luY190b19hc3luY19hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JiX2JhY2tlbmRzL3N5bmNfdG9fYXN5bmNfYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLFdBQWdDO1FBQWhDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtJQUFHLENBQUM7SUFFeEQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF1QjtRQUNoQyw2RUFBNkU7UUFDN0UsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YifQ==
@@ -1,17 +0,0 @@
1
- /**
2
- * Convert a 32-byte BE Buffer to a BigInt.
3
- */
4
- export declare function buffer32BytesToBigIntBE(buf: Buffer): bigint;
5
- /**
6
- * Convert a BE Uint8Array to a BigInt.
7
- */
8
- export declare function uint8ArrayToBigIntBE(bytes: Uint8Array): bigint;
9
- /**
10
- * Convert a BigInt to a 32-byte BE Buffer.
11
- */
12
- export declare function bigIntToBufferBE(value: bigint, byteLength?: number): Buffer;
13
- /**
14
- * Convert a BigInt to a 32-byte BE Uint8Array.
15
- */
16
- export declare function bigIntToUint8ArrayBE(value: bigint, byteLength?: number): Uint8Array;
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigint-array/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAG9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,MAAM,CAYvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,UAAU,CAE/E"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Convert a 32-byte BE Buffer to a BigInt.
3
- */
4
- export function buffer32BytesToBigIntBE(buf) {
5
- return ((buf.readBigUInt64BE(0) << 192n) +
6
- (buf.readBigUInt64BE(8) << 128n) +
7
- (buf.readBigUInt64BE(16) << 64n) +
8
- buf.readBigUInt64BE(24));
9
- }
10
- /**
11
- * Convert a BE Uint8Array to a BigInt.
12
- */
13
- export function uint8ArrayToBigIntBE(bytes) {
14
- const buffer = Buffer.from(bytes);
15
- return buffer32BytesToBigIntBE(buffer);
16
- }
17
- /**
18
- * Convert a BigInt to a 32-byte BE Buffer.
19
- */
20
- export function bigIntToBufferBE(value, byteLength = 32) {
21
- if (byteLength != 32) {
22
- throw new Error(`Only 32 bytes supported for conversion from bigint to buffer, attempted byte length: ${byteLength}`);
23
- }
24
- const buf = Buffer.alloc(byteLength);
25
- buf.writeBigUInt64BE(value >> 192n, 0);
26
- buf.writeBigUInt64BE((value >> 128n) & 0xffffffffffffffffn, 8);
27
- buf.writeBigUInt64BE((value >> 64n) & 0xffffffffffffffffn, 16);
28
- buf.writeBigUInt64BE(value & 0xffffffffffffffffn, 24);
29
- return buf;
30
- }
31
- /**
32
- * Convert a BigInt to a 32-byte BE Uint8Array.
33
- */
34
- export function bigIntToUint8ArrayBE(value, byteLength = 32) {
35
- return new Uint8Array(bigIntToBufferBE(value, byteLength));
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmlnaW50LWFycmF5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEdBQVc7SUFDakQsT0FBTyxDQUNMLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDaEMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNoQyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQ3hCLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBaUI7SUFDcEQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxPQUFPLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsVUFBVSxHQUFHLEVBQUU7SUFDN0QsSUFBSSxVQUFVLElBQUksRUFBRSxFQUFFLENBQUM7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYix3RkFBd0YsVUFBVSxFQUFFLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxHQUFHLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsS0FBYSxFQUFFLFVBQVUsR0FBRyxFQUFFO0lBQ2pFLE9BQU8sSUFBSSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDN0QsQ0FBQyJ9
@@ -1,6 +0,0 @@
1
- import { LogOptions } from '../types.js';
2
- import { Logger } from 'pino';
3
- export declare let logOptions: LogOptions | undefined;
4
- export declare function initLogger({ level }?: LogOptions): Logger<"verbose"> | undefined;
5
- export declare function createDebugLogger(name: string): (msg: string) => void;
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/log/browser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAW9B,eAAO,IAAI,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;AAI9C,wBAAgB,UAAU,CAAC,EAAE,KAAc,EAAE,GAAE,UAAgD,iCAM9F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAMpC,KAAK,MAAM,UAGpB"}
@@ -1,28 +0,0 @@
1
- import { pino } from 'pino';
2
- const defaultOptions = {
3
- name: 'bb.js',
4
- useOnlyCustomLevels: false,
5
- customLevels: { verbose: 25 },
6
- browser: { asObject: false },
7
- };
8
- // Options must be exposed so they can be provided to threads upon creation
9
- // This way we ensure all loggers are spawned with the same options
10
- export let logOptions;
11
- let logger;
12
- export function initLogger({ level = 'info' } = { level: 'info', useStdErr: false }) {
13
- if (logger) {
14
- return logger;
15
- }
16
- logOptions = { level, useStdErr: false };
17
- logger = pino({ ...defaultOptions, level });
18
- }
19
- export function createDebugLogger(name) {
20
- initLogger();
21
- const sublogger = logger.child({
22
- name,
23
- });
24
- return (msg) => {
25
- sublogger.debug(msg);
26
- };
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9nL2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk1QixNQUFNLGNBQWMsR0FBRztJQUNyQixJQUFJLEVBQUUsT0FBTztJQUNiLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtJQUM3QixPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO0NBQzdCLENBQUM7QUFFRiwyRUFBMkU7QUFDM0UsbUVBQW1FO0FBQ25FLE1BQU0sQ0FBQyxJQUFJLFVBQWtDLENBQUM7QUFFOUMsSUFBSSxNQUFxQyxDQUFDO0FBRTFDLE1BQU0sVUFBVSxVQUFVLENBQUMsRUFBRSxLQUFLLEdBQUcsTUFBTSxLQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTtJQUM3RixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELFVBQVUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDekMsTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFZO0lBQzVDLFVBQVUsRUFBRSxDQUFDO0lBRWIsTUFBTSxTQUFTLEdBQUcsTUFBTyxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJO0tBQ0wsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQ3JCLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,2 +0,0 @@
1
- export { initLogger, createDebugLogger, logOptions } from './node/index.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { initLogger, createDebugLogger, logOptions } from './browser/index.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUMifQ==
@@ -1,6 +0,0 @@
1
- export type LogLevels = 'silent' | 'info' | 'debug' | 'warn' | 'error' | 'trace' | 'verbose';
2
- export type LogOptions = {
3
- level: LogLevels;
4
- useStdErr: boolean;
5
- };
6
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/log/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7F,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9nL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -1,2 +0,0 @@
1
- export * from './serialize.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serialize/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './serialize.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VyaWFsaXplL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMifQ==
@@ -1,18 +0,0 @@
1
- export declare function boolToBuffer(b: boolean): Uint8Array<ArrayBuffer>;
2
- export declare function numToUInt32BE(n: number, bufferSize?: number): Uint8Array<ArrayBuffer>;
3
- export declare function numToInt32BE(n: number, bufferSize?: number): Uint8Array<ArrayBuffer>;
4
- export declare function concatenateUint8Arrays(arrayOfUint8Arrays: Uint8Array[]): Uint8Array<ArrayBuffer>;
5
- export declare function serializeBufferToVector(buf: Uint8Array): Uint8Array<ArrayBuffer>;
6
- export declare function serializeBigInt(n: bigint, width?: number): Uint8Array<ArrayBuffer>;
7
- export declare function serializeBufferArrayToVector(arr: Uint8Array[]): Uint8Array<ArrayBuffer>;
8
- /** A type that can be written to a buffer. */
9
- export type Bufferable = boolean | Uint8Array | number | string | {
10
- toBuffer: () => Uint8Array;
11
- } | Bufferable[];
12
- /**
13
- * Serializes a list of objects contiguously for calling into wasm.
14
- * @param objs - Objects to serialize.
15
- * @returns A buffer list with the concatenation of all fields.
16
- */
17
- export declare function serializeBufferable(obj: Bufferable): Uint8Array;
18
- //# sourceMappingURL=serialize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../../src/serialize/serialize.ts"],"names":[],"mappings":"AACA,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,2BAItC;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,2BAItD;AAGD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,SAAI,2BAIrD;AAED,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,UAAU,EAAE,2BAStE;AAGD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,UAAU,2BAEtD;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,2BAMpD;AAGD,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,UAAU,EAAE,2BAE7D;AAED,8CAA8C;AAC9C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;CAAE,GAAG,UAAU,EAAE,CAAC;AAEhH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAgB/D"}