@aztec/bb.js 0.0.0-devnet

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 (545) hide show
  1. package/README.md +149 -0
  2. package/dest/browser/522.index.js +10 -0
  3. package/dest/browser/barretenberg/backend.d.ts +85 -0
  4. package/dest/browser/barretenberg/backend.d.ts.map +1 -0
  5. package/dest/browser/barretenberg/index.d.ts +47 -0
  6. package/dest/browser/barretenberg/index.d.ts.map +1 -0
  7. package/dest/browser/barretenberg/verifier.d.ts +16 -0
  8. package/dest/browser/barretenberg/verifier.d.ts.map +1 -0
  9. package/dest/browser/barretenberg_api/index.d.ts +113 -0
  10. package/dest/browser/barretenberg_api/index.d.ts.map +1 -0
  11. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +44 -0
  12. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  13. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  14. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  15. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +3 -0
  16. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  17. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +4 -0
  18. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  19. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  20. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  21. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +47 -0
  22. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +3 -0
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +4 -0
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +28 -0
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  31. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  32. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  33. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  34. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  35. package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  36. package/dest/browser/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  37. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +6 -0
  38. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  39. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
  40. package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  41. package/dest/browser/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  42. package/dest/browser/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  43. package/dest/browser/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  44. package/dest/browser/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  45. package/dest/browser/barretenberg_wasm/index.d.ts +18 -0
  46. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
  47. package/dest/browser/bigint-array/index.d.ts +3 -0
  48. package/dest/browser/bigint-array/index.d.ts.map +1 -0
  49. package/dest/browser/crs/browser/cached_net_crs.d.ts +43 -0
  50. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
  51. package/dest/browser/crs/browser/index.d.ts +2 -0
  52. package/dest/browser/crs/browser/index.d.ts.map +1 -0
  53. package/dest/browser/crs/index.d.ts +2 -0
  54. package/dest/browser/crs/index.d.ts.map +1 -0
  55. package/dest/browser/crs/net_crs.d.ts +61 -0
  56. package/dest/browser/crs/net_crs.d.ts.map +1 -0
  57. package/dest/browser/crs/node/index.d.ts +36 -0
  58. package/dest/browser/crs/node/index.d.ts.map +1 -0
  59. package/dest/browser/index.d.ts +5 -0
  60. package/dest/browser/index.d.ts.map +1 -0
  61. package/dest/browser/index.js +16205 -0
  62. package/dest/browser/proof/index.d.ts +19 -0
  63. package/dest/browser/proof/index.d.ts.map +1 -0
  64. package/dest/browser/random/browser/index.d.ts +2 -0
  65. package/dest/browser/random/browser/index.d.ts.map +1 -0
  66. package/dest/browser/random/index.d.ts +2 -0
  67. package/dest/browser/random/index.d.ts.map +1 -0
  68. package/dest/browser/random/node/index.d.ts +2 -0
  69. package/dest/browser/random/node/index.d.ts.map +1 -0
  70. package/dest/browser/serialize/buffer_reader.d.ts +28 -0
  71. package/dest/browser/serialize/buffer_reader.d.ts.map +1 -0
  72. package/dest/browser/serialize/index.d.ts +4 -0
  73. package/dest/browser/serialize/index.d.ts.map +1 -0
  74. package/dest/browser/serialize/output_type.d.ts +11 -0
  75. package/dest/browser/serialize/output_type.d.ts.map +1 -0
  76. package/dest/browser/serialize/serialize.d.ts +53 -0
  77. package/dest/browser/serialize/serialize.d.ts.map +1 -0
  78. package/dest/browser/types/fields.d.ts +43 -0
  79. package/dest/browser/types/fields.d.ts.map +1 -0
  80. package/dest/browser/types/fixed_size_buffer.d.ts +26 -0
  81. package/dest/browser/types/fixed_size_buffer.d.ts.map +1 -0
  82. package/dest/browser/types/index.d.ts +6 -0
  83. package/dest/browser/types/index.d.ts.map +1 -0
  84. package/dest/browser/types/point.d.ts +17 -0
  85. package/dest/browser/types/point.d.ts.map +1 -0
  86. package/dest/browser/types/ptr.d.ts +13 -0
  87. package/dest/browser/types/ptr.d.ts.map +1 -0
  88. package/dest/browser/types/raw_buffer.d.ts +3 -0
  89. package/dest/browser/types/raw_buffer.d.ts.map +1 -0
  90. package/dest/node/async_map/index.d.ts +10 -0
  91. package/dest/node/async_map/index.d.ts.map +1 -0
  92. package/dest/node/async_map/index.js +16 -0
  93. package/dest/node/barretenberg/backend.d.ts +85 -0
  94. package/dest/node/barretenberg/backend.d.ts.map +1 -0
  95. package/dest/node/barretenberg/backend.js +247 -0
  96. package/dest/node/barretenberg/blake2s.test.d.ts +2 -0
  97. package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
  98. package/dest/node/barretenberg/blake2s.test.js +54 -0
  99. package/dest/node/barretenberg/common.test.d.ts +2 -0
  100. package/dest/node/barretenberg/common.test.d.ts.map +1 -0
  101. package/dest/node/barretenberg/common.test.js +20 -0
  102. package/dest/node/barretenberg/index.d.ts +47 -0
  103. package/dest/node/barretenberg/index.d.ts.map +1 -0
  104. package/dest/node/barretenberg/index.js +97 -0
  105. package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
  106. package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
  107. package/dest/node/barretenberg/pedersen.test.js +55 -0
  108. package/dest/node/barretenberg/poseidon.test.d.ts +2 -0
  109. package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
  110. package/dest/node/barretenberg/poseidon.test.js +35 -0
  111. package/dest/node/barretenberg/schnorr.test.d.ts +2 -0
  112. package/dest/node/barretenberg/schnorr.test.d.ts.map +1 -0
  113. package/dest/node/barretenberg/schnorr.test.js +113 -0
  114. package/dest/node/barretenberg/verifier.d.ts +16 -0
  115. package/dest/node/barretenberg/verifier.d.ts.map +1 -0
  116. package/dest/node/barretenberg/verifier.js +40 -0
  117. package/dest/node/barretenberg_api/index.d.ts +113 -0
  118. package/dest/node/barretenberg_api/index.d.ts.map +1 -0
  119. package/dest/node/barretenberg_api/index.js +728 -0
  120. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  121. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +44 -0
  122. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  123. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +125 -0
  124. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  125. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  126. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +10 -0
  127. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +3 -0
  128. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  129. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +12 -0
  130. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +4 -0
  131. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  132. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +18 -0
  133. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  134. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  135. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +9 -0
  136. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  137. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  138. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +57 -0
  139. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +47 -0
  140. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  141. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +107 -0
  142. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  143. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  144. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +10 -0
  145. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +3 -0
  146. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +12 -0
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +4 -0
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +18 -0
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +9 -0
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +28 -0
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +40 -0
  157. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  158. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  159. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +12 -0
  160. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  161. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  162. package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
  163. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  164. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  165. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +22 -0
  166. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +6 -0
  167. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  168. package/dest/node/barretenberg_wasm/helpers/browser/index.js +18 -0
  169. package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
  170. package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  171. package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
  172. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  173. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  174. package/dest/node/barretenberg_wasm/helpers/node/index.js +39 -0
  175. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  176. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  177. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
  178. package/dest/node/barretenberg_wasm/index.d.ts +18 -0
  179. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
  180. package/dest/node/barretenberg_wasm/index.js +45 -0
  181. package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
  182. package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
  183. package/dest/node/barretenberg_wasm/index.test.js +38 -0
  184. package/dest/node/benchmark/index.d.ts +3 -0
  185. package/dest/node/benchmark/index.d.ts.map +1 -0
  186. package/dest/node/benchmark/index.js +25 -0
  187. package/dest/node/benchmark/timer.d.ts +34 -0
  188. package/dest/node/benchmark/timer.d.ts.map +1 -0
  189. package/dest/node/benchmark/timer.js +41 -0
  190. package/dest/node/bigint-array/index.d.ts +3 -0
  191. package/dest/node/bigint-array/index.d.ts.map +1 -0
  192. package/dest/node/bigint-array/index.js +21 -0
  193. package/dest/node/bindgen/function_declaration.d.ts +11 -0
  194. package/dest/node/bindgen/function_declaration.d.ts.map +1 -0
  195. package/dest/node/bindgen/function_declaration.js +2 -0
  196. package/dest/node/bindgen/index.d.ts +2 -0
  197. package/dest/node/bindgen/index.d.ts.map +1 -0
  198. package/dest/node/bindgen/index.js +15 -0
  199. package/dest/node/bindgen/mappings.d.ts +4 -0
  200. package/dest/node/bindgen/mappings.d.ts.map +1 -0
  201. package/dest/node/bindgen/mappings.js +63 -0
  202. package/dest/node/bindgen/rust.d.ts +2 -0
  203. package/dest/node/bindgen/rust.d.ts.map +1 -0
  204. package/dest/node/bindgen/rust.js +43 -0
  205. package/dest/node/bindgen/to_camel_case.d.ts +2 -0
  206. package/dest/node/bindgen/to_camel_case.d.ts.map +1 -0
  207. package/dest/node/bindgen/to_camel_case.js +11 -0
  208. package/dest/node/bindgen/typescript.d.ts +2 -0
  209. package/dest/node/bindgen/typescript.d.ts.map +1 -0
  210. package/dest/node/bindgen/typescript.js +100 -0
  211. package/dest/node/crs/browser/cached_net_crs.d.ts +43 -0
  212. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
  213. package/dest/node/crs/browser/cached_net_crs.js +90 -0
  214. package/dest/node/crs/browser/index.d.ts +2 -0
  215. package/dest/node/crs/browser/index.d.ts.map +1 -0
  216. package/dest/node/crs/browser/index.js +2 -0
  217. package/dest/node/crs/index.d.ts +2 -0
  218. package/dest/node/crs/index.d.ts.map +1 -0
  219. package/dest/node/crs/index.js +2 -0
  220. package/dest/node/crs/net_crs.d.ts +61 -0
  221. package/dest/node/crs/net_crs.d.ts.map +1 -0
  222. package/dest/node/crs/net_crs.js +97 -0
  223. package/dest/node/crs/node/ignition_files_crs.d.ts +38 -0
  224. package/dest/node/crs/node/ignition_files_crs.d.ts.map +1 -0
  225. package/dest/node/crs/node/ignition_files_crs.js +65 -0
  226. package/dest/node/crs/node/index.d.ts +36 -0
  227. package/dest/node/crs/node/index.d.ts.map +1 -0
  228. package/dest/node/crs/node/index.js +93 -0
  229. package/dest/node/examples/simple.rawtest.d.ts +2 -0
  230. package/dest/node/examples/simple.rawtest.d.ts.map +1 -0
  231. package/dest/node/examples/simple.rawtest.js +30 -0
  232. package/dest/node/examples/simple.test.d.ts +2 -0
  233. package/dest/node/examples/simple.test.d.ts.map +1 -0
  234. package/dest/node/examples/simple.test.js +23 -0
  235. package/dest/node/index.d.ts +5 -0
  236. package/dest/node/index.d.ts.map +1 -0
  237. package/dest/node/index.js +5 -0
  238. package/dest/node/main.d.ts +23 -0
  239. package/dest/node/main.d.ts.map +1 -0
  240. package/dest/node/main.js +712 -0
  241. package/dest/node/proof/index.d.ts +19 -0
  242. package/dest/node/proof/index.d.ts.map +1 -0
  243. package/dest/node/proof/index.js +85 -0
  244. package/dest/node/random/browser/index.d.ts +2 -0
  245. package/dest/node/random/browser/index.d.ts.map +1 -0
  246. package/dest/node/random/browser/index.js +31 -0
  247. package/dest/node/random/index.d.ts +2 -0
  248. package/dest/node/random/index.d.ts.map +1 -0
  249. package/dest/node/random/index.js +2 -0
  250. package/dest/node/random/node/index.d.ts +2 -0
  251. package/dest/node/random/node/index.d.ts.map +1 -0
  252. package/dest/node/random/node/index.js +5 -0
  253. package/dest/node/serialize/buffer_reader.d.ts +28 -0
  254. package/dest/node/serialize/buffer_reader.d.ts.map +1 -0
  255. package/dest/node/serialize/buffer_reader.js +66 -0
  256. package/dest/node/serialize/index.d.ts +4 -0
  257. package/dest/node/serialize/index.d.ts.map +1 -0
  258. package/dest/node/serialize/index.js +4 -0
  259. package/dest/node/serialize/output_type.d.ts +11 -0
  260. package/dest/node/serialize/output_type.d.ts.map +1 -0
  261. package/dest/node/serialize/output_type.js +44 -0
  262. package/dest/node/serialize/serialize.d.ts +53 -0
  263. package/dest/node/serialize/serialize.d.ts.map +1 -0
  264. package/dest/node/serialize/serialize.js +139 -0
  265. package/dest/node/types/fields.d.ts +43 -0
  266. package/dest/node/types/fields.d.ts.map +1 -0
  267. package/dest/node/types/fields.js +97 -0
  268. package/dest/node/types/fixed_size_buffer.d.ts +26 -0
  269. package/dest/node/types/fixed_size_buffer.d.ts.map +1 -0
  270. package/dest/node/types/fixed_size_buffer.js +51 -0
  271. package/dest/node/types/index.d.ts +6 -0
  272. package/dest/node/types/index.d.ts.map +1 -0
  273. package/dest/node/types/index.js +6 -0
  274. package/dest/node/types/point.d.ts +17 -0
  275. package/dest/node/types/point.d.ts.map +1 -0
  276. package/dest/node/types/point.js +31 -0
  277. package/dest/node/types/ptr.d.ts +13 -0
  278. package/dest/node/types/ptr.d.ts.map +1 -0
  279. package/dest/node/types/ptr.js +19 -0
  280. package/dest/node/types/raw_buffer.d.ts +3 -0
  281. package/dest/node/types/raw_buffer.d.ts.map +1 -0
  282. package/dest/node/types/raw_buffer.js +5 -0
  283. package/dest/node-cjs/async_map/index.d.ts +10 -0
  284. package/dest/node-cjs/async_map/index.d.ts.map +1 -0
  285. package/dest/node-cjs/async_map/index.js +20 -0
  286. package/dest/node-cjs/barretenberg/backend.d.ts +85 -0
  287. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
  288. package/dest/node-cjs/barretenberg/backend.js +253 -0
  289. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +2 -0
  290. package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
  291. package/dest/node-cjs/barretenberg/blake2s.test.js +56 -0
  292. package/dest/node-cjs/barretenberg/common.test.d.ts +2 -0
  293. package/dest/node-cjs/barretenberg/common.test.d.ts.map +1 -0
  294. package/dest/node-cjs/barretenberg/common.test.js +22 -0
  295. package/dest/node-cjs/barretenberg/index.d.ts +47 -0
  296. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
  297. package/dest/node-cjs/barretenberg/index.js +106 -0
  298. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
  299. package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
  300. package/dest/node-cjs/barretenberg/pedersen.test.js +57 -0
  301. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +2 -0
  302. package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
  303. package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
  304. package/dest/node-cjs/barretenberg/schnorr.test.d.ts +2 -0
  305. package/dest/node-cjs/barretenberg/schnorr.test.d.ts.map +1 -0
  306. package/dest/node-cjs/barretenberg/schnorr.test.js +115 -0
  307. package/dest/node-cjs/barretenberg/verifier.d.ts +16 -0
  308. package/dest/node-cjs/barretenberg/verifier.d.ts.map +1 -0
  309. package/dest/node-cjs/barretenberg/verifier.js +44 -0
  310. package/dest/node-cjs/barretenberg_api/index.d.ts +113 -0
  311. package/dest/node-cjs/barretenberg_api/index.d.ts.map +1 -0
  312. package/dest/node-cjs/barretenberg_api/index.js +733 -0
  313. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  314. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +44 -0
  315. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  316. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +130 -0
  317. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  318. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  319. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +15 -0
  320. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +3 -0
  321. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +15 -0
  323. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +4 -0
  324. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  325. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +22 -0
  326. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  327. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  328. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +11 -0
  329. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  330. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  331. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +61 -0
  332. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +47 -0
  333. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  334. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +112 -0
  335. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  336. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  337. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +15 -0
  338. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +3 -0
  339. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  340. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +15 -0
  341. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +4 -0
  342. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  343. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +22 -0
  344. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  345. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  346. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +11 -0
  347. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +28 -0
  348. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  349. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +44 -0
  350. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  351. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  352. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +17 -0
  353. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  354. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  355. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
  356. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  357. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  358. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +27 -0
  359. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +6 -0
  360. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  361. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +26 -0
  362. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
  363. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  364. package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
  365. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +22 -0
  366. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  367. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +48 -0
  368. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  369. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  370. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +32 -0
  371. package/dest/node-cjs/barretenberg_wasm/index.d.ts +18 -0
  372. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
  373. package/dest/node-cjs/barretenberg_wasm/index.js +51 -0
  374. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
  375. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
  376. package/dest/node-cjs/barretenberg_wasm/index.test.js +40 -0
  377. package/dest/node-cjs/benchmark/index.d.ts +3 -0
  378. package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
  379. package/dest/node-cjs/benchmark/index.js +30 -0
  380. package/dest/node-cjs/benchmark/timer.d.ts +34 -0
  381. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
  382. package/dest/node-cjs/benchmark/timer.js +45 -0
  383. package/dest/node-cjs/bigint-array/index.d.ts +3 -0
  384. package/dest/node-cjs/bigint-array/index.d.ts.map +1 -0
  385. package/dest/node-cjs/bigint-array/index.js +26 -0
  386. package/dest/node-cjs/bindgen/function_declaration.d.ts +11 -0
  387. package/dest/node-cjs/bindgen/function_declaration.d.ts.map +1 -0
  388. package/dest/node-cjs/bindgen/function_declaration.js +3 -0
  389. package/dest/node-cjs/bindgen/index.d.ts +2 -0
  390. package/dest/node-cjs/bindgen/index.d.ts.map +1 -0
  391. package/dest/node-cjs/bindgen/index.js +17 -0
  392. package/dest/node-cjs/bindgen/mappings.d.ts +4 -0
  393. package/dest/node-cjs/bindgen/mappings.d.ts.map +1 -0
  394. package/dest/node-cjs/bindgen/mappings.js +68 -0
  395. package/dest/node-cjs/bindgen/rust.d.ts +2 -0
  396. package/dest/node-cjs/bindgen/rust.d.ts.map +1 -0
  397. package/dest/node-cjs/bindgen/rust.js +48 -0
  398. package/dest/node-cjs/bindgen/to_camel_case.d.ts +2 -0
  399. package/dest/node-cjs/bindgen/to_camel_case.d.ts.map +1 -0
  400. package/dest/node-cjs/bindgen/to_camel_case.js +15 -0
  401. package/dest/node-cjs/bindgen/typescript.d.ts +2 -0
  402. package/dest/node-cjs/bindgen/typescript.d.ts.map +1 -0
  403. package/dest/node-cjs/bindgen/typescript.js +105 -0
  404. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +43 -0
  405. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
  406. package/dest/node-cjs/crs/browser/cached_net_crs.js +95 -0
  407. package/dest/node-cjs/crs/browser/index.d.ts +2 -0
  408. package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
  409. package/dest/node-cjs/crs/browser/index.js +7 -0
  410. package/dest/node-cjs/crs/index.d.ts +2 -0
  411. package/dest/node-cjs/crs/index.d.ts.map +1 -0
  412. package/dest/node-cjs/crs/index.js +7 -0
  413. package/dest/node-cjs/crs/net_crs.d.ts +61 -0
  414. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
  415. package/dest/node-cjs/crs/net_crs.js +102 -0
  416. package/dest/node-cjs/crs/node/ignition_files_crs.d.ts +38 -0
  417. package/dest/node-cjs/crs/node/ignition_files_crs.d.ts.map +1 -0
  418. package/dest/node-cjs/crs/node/ignition_files_crs.js +69 -0
  419. package/dest/node-cjs/crs/node/index.d.ts +36 -0
  420. package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
  421. package/dest/node-cjs/crs/node/index.js +99 -0
  422. package/dest/node-cjs/examples/simple.rawtest.d.ts +2 -0
  423. package/dest/node-cjs/examples/simple.rawtest.d.ts.map +1 -0
  424. package/dest/node-cjs/examples/simple.rawtest.js +33 -0
  425. package/dest/node-cjs/examples/simple.test.d.ts +2 -0
  426. package/dest/node-cjs/examples/simple.test.d.ts.map +1 -0
  427. package/dest/node-cjs/examples/simple.test.js +25 -0
  428. package/dest/node-cjs/index.d.ts +5 -0
  429. package/dest/node-cjs/index.d.ts.map +1 -0
  430. package/dest/node-cjs/index.js +20 -0
  431. package/dest/node-cjs/main.d.ts +23 -0
  432. package/dest/node-cjs/main.d.ts.map +1 -0
  433. package/dest/node-cjs/main.js +735 -0
  434. package/dest/node-cjs/package.json +3 -0
  435. package/dest/node-cjs/proof/index.d.ts +19 -0
  436. package/dest/node-cjs/proof/index.d.ts.map +1 -0
  437. package/dest/node-cjs/proof/index.js +93 -0
  438. package/dest/node-cjs/random/browser/index.d.ts +2 -0
  439. package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
  440. package/dest/node-cjs/random/browser/index.js +35 -0
  441. package/dest/node-cjs/random/index.d.ts +2 -0
  442. package/dest/node-cjs/random/index.d.ts.map +1 -0
  443. package/dest/node-cjs/random/index.js +5 -0
  444. package/dest/node-cjs/random/node/index.d.ts +2 -0
  445. package/dest/node-cjs/random/node/index.d.ts.map +1 -0
  446. package/dest/node-cjs/random/node/index.js +9 -0
  447. package/dest/node-cjs/serialize/buffer_reader.d.ts +28 -0
  448. package/dest/node-cjs/serialize/buffer_reader.d.ts.map +1 -0
  449. package/dest/node-cjs/serialize/buffer_reader.js +70 -0
  450. package/dest/node-cjs/serialize/index.d.ts +4 -0
  451. package/dest/node-cjs/serialize/index.d.ts.map +1 -0
  452. package/dest/node-cjs/serialize/index.js +7 -0
  453. package/dest/node-cjs/serialize/output_type.d.ts +11 -0
  454. package/dest/node-cjs/serialize/output_type.d.ts.map +1 -0
  455. package/dest/node-cjs/serialize/output_type.js +52 -0
  456. package/dest/node-cjs/serialize/serialize.d.ts +53 -0
  457. package/dest/node-cjs/serialize/serialize.d.ts.map +1 -0
  458. package/dest/node-cjs/serialize/serialize.js +161 -0
  459. package/dest/node-cjs/types/fields.d.ts +43 -0
  460. package/dest/node-cjs/types/fields.d.ts.map +1 -0
  461. package/dest/node-cjs/types/fields.js +102 -0
  462. package/dest/node-cjs/types/fixed_size_buffer.d.ts +26 -0
  463. package/dest/node-cjs/types/fixed_size_buffer.d.ts.map +1 -0
  464. package/dest/node-cjs/types/fixed_size_buffer.js +57 -0
  465. package/dest/node-cjs/types/index.d.ts +6 -0
  466. package/dest/node-cjs/types/index.d.ts.map +1 -0
  467. package/dest/node-cjs/types/index.js +9 -0
  468. package/dest/node-cjs/types/point.d.ts +17 -0
  469. package/dest/node-cjs/types/point.d.ts.map +1 -0
  470. package/dest/node-cjs/types/point.js +35 -0
  471. package/dest/node-cjs/types/ptr.d.ts +13 -0
  472. package/dest/node-cjs/types/ptr.d.ts.map +1 -0
  473. package/dest/node-cjs/types/ptr.js +23 -0
  474. package/dest/node-cjs/types/raw_buffer.d.ts +3 -0
  475. package/dest/node-cjs/types/raw_buffer.d.ts.map +1 -0
  476. package/dest/node-cjs/types/raw_buffer.js +9 -0
  477. package/package.json +105 -0
  478. package/src/async_map/index.ts +15 -0
  479. package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +156 -0
  480. package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +40 -0
  481. package/src/barretenberg/backend.ts +362 -0
  482. package/src/barretenberg/blake2s.test.ts +70 -0
  483. package/src/barretenberg/common.test.ts +23 -0
  484. package/src/barretenberg/index.ts +130 -0
  485. package/src/barretenberg/pedersen.test.ts +62 -0
  486. package/src/barretenberg/poseidon.test.ts +39 -0
  487. package/src/barretenberg/schnorr.test.ts +182 -0
  488. package/src/barretenberg/verifier.ts +55 -0
  489. package/src/barretenberg_api/index.ts +1305 -0
  490. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +138 -0
  491. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +10 -0
  492. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +15 -0
  493. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +18 -0
  494. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +10 -0
  495. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +60 -0
  496. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +138 -0
  497. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +10 -0
  498. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +15 -0
  499. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +18 -0
  500. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +10 -0
  501. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +47 -0
  502. package/src/barretenberg_wasm/fetch_code/browser/index.ts +12 -0
  503. package/src/barretenberg_wasm/fetch_code/browser/wasm-module.d.ts +4 -0
  504. package/src/barretenberg_wasm/fetch_code/index.ts +1 -0
  505. package/src/barretenberg_wasm/fetch_code/node/index.ts +22 -0
  506. package/src/barretenberg_wasm/helpers/browser/index.ts +22 -0
  507. package/src/barretenberg_wasm/helpers/index.ts +1 -0
  508. package/src/barretenberg_wasm/helpers/node/index.ts +44 -0
  509. package/src/barretenberg_wasm/helpers/node/node_endpoint.ts +28 -0
  510. package/src/barretenberg_wasm/index.test.ts +45 -0
  511. package/src/barretenberg_wasm/index.ts +50 -0
  512. package/src/benchmark/index.ts +26 -0
  513. package/src/benchmark/timer.ts +45 -0
  514. package/src/bigint-array/index.ts +21 -0
  515. package/src/bindgen/function_declaration.ts +11 -0
  516. package/src/bindgen/index.ts +17 -0
  517. package/src/bindgen/mappings.ts +66 -0
  518. package/src/bindgen/rust.ts +52 -0
  519. package/src/bindgen/to_camel_case.ts +10 -0
  520. package/src/bindgen/typescript.ts +116 -0
  521. package/src/crs/browser/cached_net_crs.ts +99 -0
  522. package/src/crs/browser/index.ts +1 -0
  523. package/src/crs/index.ts +1 -0
  524. package/src/crs/net_crs.ts +115 -0
  525. package/src/crs/node/ignition_files_crs.ts +74 -0
  526. package/src/crs/node/index.ts +102 -0
  527. package/src/examples/simple.rawtest.ts +38 -0
  528. package/src/examples/simple.test.ts +28 -0
  529. package/src/index.html +9 -0
  530. package/src/index.ts +12 -0
  531. package/src/main.ts +834 -0
  532. package/src/proof/index.ts +120 -0
  533. package/src/random/browser/index.ts +32 -0
  534. package/src/random/index.ts +1 -0
  535. package/src/random/node/index.ts +5 -0
  536. package/src/serialize/buffer_reader.ts +82 -0
  537. package/src/serialize/index.ts +3 -0
  538. package/src/serialize/output_type.ts +53 -0
  539. package/src/serialize/serialize.ts +157 -0
  540. package/src/types/fields.ts +115 -0
  541. package/src/types/fixed_size_buffer.ts +59 -0
  542. package/src/types/index.ts +5 -0
  543. package/src/types/point.ts +35 -0
  544. package/src/types/ptr.ts +20 -0
  545. package/src/types/raw_buffer.ts +3 -0
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Base implementation of BarretenbergWasm.
3
+ * Contains code that is common to the "main thread" implementation and the "child thread" implementation.
4
+ */
5
+ export declare class BarretenbergWasmBase {
6
+ protected memStore: {
7
+ [key: string]: Uint8Array;
8
+ };
9
+ protected memory: WebAssembly.Memory;
10
+ protected instance: WebAssembly.Instance;
11
+ protected logger: (msg: string) => void;
12
+ protected getImportObj(memory: WebAssembly.Memory): {
13
+ wasi_snapshot_preview1: {
14
+ random_get: (out: any, length: number) => void;
15
+ clock_time_get: (a1: number, a2: number, out: number) => void;
16
+ proc_exit: () => never;
17
+ };
18
+ env: {
19
+ /**
20
+ * The 'info' call we use for logging in C++, calls this under the hood.
21
+ * The native code will just print to std:err (to avoid std::cout which is used for IPC).
22
+ * Here we just emit the log line for the client to decide what to do with.
23
+ */
24
+ logstr: (addr: number) => void;
25
+ get_data: (keyAddr: number, outBufAddr: number) => void;
26
+ set_data: (keyAddr: number, dataAddr: number, dataLength: number) => void;
27
+ memory: WebAssembly.Memory;
28
+ };
29
+ };
30
+ exports(): any;
31
+ /**
32
+ * When returning values from the WASM, use >>> operator to convert signed representation to unsigned representation.
33
+ */
34
+ call(name: string, ...args: any): number;
35
+ memSize(): number;
36
+ /**
37
+ * Returns a copy of the data, not a view.
38
+ */
39
+ getMemorySlice(start: number, end: number): Uint8Array;
40
+ writeMemory(offset: number, arr: Uint8Array): void;
41
+ private getMemory;
42
+ private stringFromAddress;
43
+ }
44
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_base/index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAM;IACvD,SAAS,CAAC,MAAM,EAAG,WAAW,CAAC,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,EAAG,WAAW,CAAC,QAAQ,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAS;IAEhD,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;8BAOzB,GAAG,UAAU,MAAM;iCAMhB,MAAM,MAAM,MAAM,OAAO,MAAM;;;;YAepD;;;;eAIG;2BACY,MAAM;gCAUD,MAAM,cAAc,MAAM;gCAa1B,MAAM,YAAY,MAAM,cAAc,MAAM;;;;IAe/D,OAAO,IAAI,GAAG;IAIrB;;OAEG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG;IAc/B,OAAO;IAId;;OAEG;IACI,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAIzC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAOlD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,iBAAiB;CAQ1B"}
@@ -0,0 +1,125 @@
1
+ import createDebug from 'debug';
2
+ import { randomBytes } from '../../random/index.js';
3
+ const debug = createDebug('bb.js:wasm');
4
+ /**
5
+ * Base implementation of BarretenbergWasm.
6
+ * Contains code that is common to the "main thread" implementation and the "child thread" implementation.
7
+ */
8
+ export class BarretenbergWasmBase {
9
+ constructor() {
10
+ this.memStore = {};
11
+ this.logger = debug;
12
+ }
13
+ getImportObj(memory) {
14
+ /* eslint-disable camelcase */
15
+ const importObj = {
16
+ // We need to implement a part of the wasi api:
17
+ // https://github.com/WebAssembly/WASI/blob/main/phases/snapshot/docs.md
18
+ // We literally only need to support random_get, everything else is noop implementated in barretenberg.wasm.
19
+ wasi_snapshot_preview1: {
20
+ random_get: (out, length) => {
21
+ out = out >>> 0;
22
+ const randomData = randomBytes(length);
23
+ const mem = this.getMemory();
24
+ mem.set(randomData, out);
25
+ },
26
+ clock_time_get: (a1, a2, out) => {
27
+ out = out >>> 0;
28
+ const ts = BigInt(new Date().getTime()) * 1000000n;
29
+ const view = new DataView(this.getMemory().buffer);
30
+ view.setBigUint64(out, ts, true);
31
+ },
32
+ proc_exit: () => {
33
+ this.logger('PANIC: proc_exit was called.');
34
+ throw new Error();
35
+ },
36
+ },
37
+ // These are functions implementations for imports we've defined are needed.
38
+ // The native C++ build defines these in a module called "env". We must implement TypeScript versions here.
39
+ env: {
40
+ /**
41
+ * The 'info' call we use for logging in C++, calls this under the hood.
42
+ * The native code will just print to std:err (to avoid std::cout which is used for IPC).
43
+ * Here we just emit the log line for the client to decide what to do with.
44
+ */
45
+ logstr: (addr) => {
46
+ const str = this.stringFromAddress(addr);
47
+ const m = this.getMemory();
48
+ const str2 = `${str} (mem: ${(m.length / (1024 * 1024)).toFixed(2)}MiB)`;
49
+ this.logger(str2);
50
+ if (str2.startsWith('WARNING:')) {
51
+ this.logger(new Error().stack);
52
+ }
53
+ },
54
+ get_data: (keyAddr, outBufAddr) => {
55
+ const key = this.stringFromAddress(keyAddr);
56
+ outBufAddr = outBufAddr >>> 0;
57
+ const data = this.memStore[key];
58
+ if (!data) {
59
+ this.logger(`get_data miss ${key}`);
60
+ return;
61
+ }
62
+ // this.logger(`get_data hit ${key} size: ${data.length} dest: ${outBufAddr}`);
63
+ // this.logger(Buffer.from(data.slice(0, 64)).toString('hex'));
64
+ this.writeMemory(outBufAddr, data);
65
+ },
66
+ set_data: (keyAddr, dataAddr, dataLength) => {
67
+ const key = this.stringFromAddress(keyAddr);
68
+ dataAddr = dataAddr >>> 0;
69
+ this.memStore[key] = this.getMemorySlice(dataAddr, dataAddr + dataLength);
70
+ // this.logger(`set_data: ${key} length: ${dataLength}`);
71
+ },
72
+ memory,
73
+ },
74
+ };
75
+ /* eslint-enable camelcase */
76
+ return importObj;
77
+ }
78
+ exports() {
79
+ return this.instance.exports;
80
+ }
81
+ /**
82
+ * When returning values from the WASM, use >>> operator to convert signed representation to unsigned representation.
83
+ */
84
+ call(name, ...args) {
85
+ if (!this.exports()[name]) {
86
+ throw new Error(`WASM function ${name} not found.`);
87
+ }
88
+ try {
89
+ return this.exports()[name](...args) >>> 0;
90
+ }
91
+ catch (err) {
92
+ const message = `WASM function ${name} aborted, error: ${err}`;
93
+ this.logger(message);
94
+ this.logger(err.stack);
95
+ throw err;
96
+ }
97
+ }
98
+ memSize() {
99
+ return this.getMemory().length;
100
+ }
101
+ /**
102
+ * Returns a copy of the data, not a view.
103
+ */
104
+ getMemorySlice(start, end) {
105
+ return this.getMemory().subarray(start, end).slice();
106
+ }
107
+ writeMemory(offset, arr) {
108
+ const mem = this.getMemory();
109
+ mem.set(arr, offset);
110
+ }
111
+ // PRIVATE METHODS
112
+ getMemory() {
113
+ return new Uint8Array(this.memory.buffer);
114
+ }
115
+ stringFromAddress(addr) {
116
+ addr = addr >>> 0;
117
+ const m = this.getMemory();
118
+ let i = addr;
119
+ for (; m[i] !== 0; ++i)
120
+ ;
121
+ const textDecoder = new TextDecoder('ascii');
122
+ return textDecoder.decode(m.slice(addr, i));
123
+ }
124
+ }
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFDaEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV4Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQWpDO1FBQ1ksYUFBUSxHQUFrQyxFQUFFLENBQUM7UUFHN0MsV0FBTSxHQUEwQixLQUFLLENBQUM7SUE0SGxELENBQUM7SUExSFcsWUFBWSxDQUFDLE1BQTBCO1FBQy9DLDhCQUE4QjtRQUM5QixNQUFNLFNBQVMsR0FBRztZQUNoQiwrQ0FBK0M7WUFDL0Msd0VBQXdFO1lBQ3hFLDRHQUE0RztZQUM1RyxzQkFBc0IsRUFBRTtnQkFDdEIsVUFBVSxFQUFFLENBQUMsR0FBUSxFQUFFLE1BQWMsRUFBRSxFQUFFO29CQUN2QyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztvQkFDaEIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQzdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixDQUFDO2dCQUNELGNBQWMsRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFVLEVBQUUsR0FBVyxFQUFFLEVBQUU7b0JBQ3RELEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO29CQUNoQixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFFBQVEs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
@@ -0,0 +1,2 @@
1
+ export declare function createMainWorker(): any;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,QAM/B"}
@@ -0,0 +1,10 @@
1
+ import debug from 'debug';
2
+ import MainWorker from './main.worker.js';
3
+ export function createMainWorker() {
4
+ const worker = new MainWorker();
5
+ const debugStr = debug.disable();
6
+ debug.enable(debugStr);
7
+ worker.postMessage({ debug: debugStr });
8
+ return worker;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L2Jyb3dzZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sVUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBRTFDLE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUNoQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QixNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDeEMsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ declare const _default: any;
2
+ export default _default;
3
+ //# sourceMappingURL=main.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts"],"names":[],"mappings":";AAcA,wBAA2B"}
@@ -0,0 +1,12 @@
1
+ import { expose } from 'comlink';
2
+ import { BarretenbergWasmMain } from '../../index.js';
3
+ import debug from 'debug';
4
+ self.onmessage = function (e) {
5
+ if (e.data.debug) {
6
+ debug.enable(e.data.debug);
7
+ }
8
+ };
9
+ expose(new BarretenbergWasmMain());
10
+ self.postMessage({ ready: true });
11
+ export default null;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L2Jyb3dzZXIvbWFpbi53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7SUFDMUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0FBRW5DLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUVsQyxlQUFlLElBQVcsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { Worker } from 'worker_threads';
3
+ export declare function createMainWorker(): Worker;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAcxC,wBAAgB,gBAAgB,WAG/B"}
@@ -0,0 +1,18 @@
1
+ import { Worker } from 'worker_threads';
2
+ import { dirname } from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ function getCurrentDir() {
5
+ if (typeof __dirname !== 'undefined') {
6
+ return __dirname;
7
+ }
8
+ else {
9
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
+ // @ts-ignore
11
+ return dirname(fileURLToPath(import.meta.url));
12
+ }
13
+ }
14
+ export function createMainWorker() {
15
+ const __dirname = getCurrentDir();
16
+ return new Worker(__dirname + `/main.worker.js`);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L25vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUVwQyxTQUFTLGFBQWE7SUFDcEIsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO1NBQU0sQ0FBQztRQUNOLDZEQUE2RDtRQUM3RCxhQUFhO1FBQ2IsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsTUFBTSxTQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztBQUNuRCxDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { parentPort } from 'worker_threads';
2
+ import { expose } from 'comlink';
3
+ import { BarretenbergWasmMain } from '../../index.js';
4
+ import { nodeEndpoint } from '../../../helpers/node/node_endpoint.js';
5
+ if (!parentPort) {
6
+ throw new Error('No parentPort');
7
+ }
8
+ expose(new BarretenbergWasmMain(), nodeEndpoint(parentPort));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi53b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9mYWN0b3J5L25vZGUvbWFpbi53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXRFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,21 @@
1
+ import { type BarretenbergWasmMain } from './index.js';
2
+ /**
3
+ * Keeps track of heap allocations so they can be easily freed.
4
+ * The WASM memory layout has 1024 bytes of unused "scratch" space at the start (addresses 0-1023).
5
+ * We can leverage this for IO rather than making expensive bb_malloc bb_free calls.
6
+ * Heap allocations will be created for input/output args that don't fit into the scratch space.
7
+ * Input and output args can use the same scratch space as it's assume all input reads will be performed before any
8
+ * output writes are performed.
9
+ */
10
+ export declare class HeapAllocator {
11
+ private wasm;
12
+ private allocs;
13
+ private inScratchRemaining;
14
+ private outScratchRemaining;
15
+ constructor(wasm: BarretenbergWasmMain);
16
+ copyToMemory(buffers: Uint8Array[]): number[];
17
+ getOutputPtrs(outLens: (number | undefined)[]): number[];
18
+ addOutputPtr(ptr: number): void;
19
+ freeAll(): void;
20
+ }
21
+ //# sourceMappingURL=heap_allocator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heap_allocator.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;gBAEf,IAAI,EAAE,oBAAoB;IAE9C,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE;IAelC,aAAa,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAgB7C,YAAY,CAAC,GAAG,EAAE,MAAM;IAMxB,OAAO;CAKR"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Keeps track of heap allocations so they can be easily freed.
3
+ * The WASM memory layout has 1024 bytes of unused "scratch" space at the start (addresses 0-1023).
4
+ * We can leverage this for IO rather than making expensive bb_malloc bb_free calls.
5
+ * Heap allocations will be created for input/output args that don't fit into the scratch space.
6
+ * Input and output args can use the same scratch space as it's assume all input reads will be performed before any
7
+ * output writes are performed.
8
+ */
9
+ export class HeapAllocator {
10
+ constructor(wasm) {
11
+ this.wasm = wasm;
12
+ this.allocs = [];
13
+ this.inScratchRemaining = 1024;
14
+ this.outScratchRemaining = 1024;
15
+ }
16
+ copyToMemory(buffers) {
17
+ return buffers.map(buf => {
18
+ if (buf.length <= this.inScratchRemaining) {
19
+ const ptr = (this.inScratchRemaining -= buf.length);
20
+ this.wasm.writeMemory(ptr, buf);
21
+ return ptr;
22
+ }
23
+ else {
24
+ const ptr = this.wasm.call('bbmalloc', buf.length);
25
+ this.wasm.writeMemory(ptr, buf);
26
+ this.allocs.push(ptr);
27
+ return ptr;
28
+ }
29
+ });
30
+ }
31
+ getOutputPtrs(outLens) {
32
+ return outLens.map(len => {
33
+ // If the obj is variable length, we need a 4 byte ptr to write the serialized data address to.
34
+ // WARNING: 4 only works with WASM as it has 32 bit memory.
35
+ const size = len || 4;
36
+ if (size <= this.outScratchRemaining) {
37
+ return (this.outScratchRemaining -= size);
38
+ }
39
+ else {
40
+ const ptr = this.wasm.call('bbmalloc', size);
41
+ this.allocs.push(ptr);
42
+ return ptr;
43
+ }
44
+ });
45
+ }
46
+ addOutputPtr(ptr) {
47
+ if (ptr >= 1024) {
48
+ this.allocs.push(ptr);
49
+ }
50
+ }
51
+ freeAll() {
52
+ for (const ptr of this.allocs) {
53
+ this.wasm.call('bbfree', ptr);
54
+ }
55
+ }
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhcF9hbGxvY2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9oZWFwX2FsbG9jYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFLeEIsWUFBb0IsSUFBMEI7UUFBMUIsU0FBSSxHQUFKLElBQUksQ0FBc0I7UUFKdEMsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsd0JBQW1CLEdBQUcsSUFBSSxDQUFDO0lBRWMsQ0FBQztJQUVsRCxZQUFZLENBQUMsT0FBcUI7UUFDaEMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUErQjtRQUMzQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdkIsK0ZBQStGO1lBQy9GLDJEQUEyRDtZQUMzRCxNQUFNLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRXRCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsR0FBVztRQUN0QixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
@@ -0,0 +1,47 @@
1
+ import { Remote } from 'comlink';
2
+ import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
3
+ /**
4
+ * This is the "main thread" implementation of BarretenbergWasm.
5
+ * It spawns a bunch of "child thread" implementations.
6
+ * In a browser context, this still runs on a worker, as it will block waiting on child threads.
7
+ */
8
+ export declare class BarretenbergWasmMain extends BarretenbergWasmBase {
9
+ static MAX_THREADS: number;
10
+ private workers;
11
+ private remoteWasms;
12
+ private nextWorker;
13
+ private nextThreadId;
14
+ getNumThreads(): number;
15
+ /**
16
+ * Init as main thread. Spawn child threads.
17
+ */
18
+ init(module: WebAssembly.Module, threads?: number, logger?: (msg: string) => void, initial?: number, maximum?: number): Promise<void>;
19
+ /**
20
+ * Called on main thread. Signals child threads to gracefully exit.
21
+ */
22
+ destroy(): Promise<void>;
23
+ protected getImportObj(memory: WebAssembly.Memory): {
24
+ wasi: {
25
+ 'thread-spawn': (arg: number) => number;
26
+ };
27
+ env: {
28
+ env_hardware_concurrency: () => number;
29
+ logstr: (addr: number) => void;
30
+ get_data: (keyAddr: number, outBufAddr: number) => void;
31
+ set_data: (keyAddr: number, dataAddr: number, dataLength: number) => void;
32
+ memory: WebAssembly.Memory;
33
+ };
34
+ wasi_snapshot_preview1: {
35
+ random_get: (out: any, length: number) => void;
36
+ clock_time_get: (a1: number, a2: number, out: number) => void;
37
+ proc_exit: () => never;
38
+ };
39
+ };
40
+ callWasmExport(funcName: string, inArgs: Uint8Array[], outLens: (number | undefined)[]): Uint8Array[];
41
+ private getOutputArgs;
42
+ }
43
+ /**
44
+ * The comlink type that asyncifies the BarretenbergWasmMain api.
45
+ */
46
+ export type BarretenbergWasmMainWorker = Remote<BarretenbergWasmMain>;
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_main/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAK1E;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,oBAAoB;IAC5D,MAAM,CAAC,WAAW,SAAM;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IAElB,aAAa;IAIpB;;OAEG;IACU,IAAI,CACf,MAAM,EAAE,WAAW,CAAC,MAAM,EAC1B,OAAO,SAA0D,EACjE,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAY,EACrC,OAAO,SAAK,EACZ,OAAO,SAAU;IAiCnB;;OAEG;IACU,OAAO;IAIpB,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;kCAOrB,MAAM;;;;;;;;;;;;;;;IAsBlC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IAUtF,OAAO,CAAC,aAAa;CAkBtB;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,107 @@
1
+ import createDebug from 'debug';
2
+ import { getNumCpu, getRemoteBarretenbergWasm, getSharedMemoryAvailable } from '../helpers/index.js';
3
+ import { createThreadWorker } from '../barretenberg_wasm_thread/factory/node/index.js';
4
+ import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
5
+ import { HeapAllocator } from './heap_allocator.js';
6
+ const debug = createDebug('bb.js:wasm');
7
+ /**
8
+ * This is the "main thread" implementation of BarretenbergWasm.
9
+ * It spawns a bunch of "child thread" implementations.
10
+ * In a browser context, this still runs on a worker, as it will block waiting on child threads.
11
+ */
12
+ export class BarretenbergWasmMain extends BarretenbergWasmBase {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.workers = [];
16
+ this.remoteWasms = [];
17
+ this.nextWorker = 0;
18
+ this.nextThreadId = 1;
19
+ }
20
+ getNumThreads() {
21
+ return this.workers.length + 1;
22
+ }
23
+ /**
24
+ * Init as main thread. Spawn child threads.
25
+ */
26
+ async init(module, threads = Math.min(getNumCpu(), BarretenbergWasmMain.MAX_THREADS), logger = debug, initial = 32, maximum = 2 ** 16) {
27
+ this.logger = logger;
28
+ const initialMb = (initial * 2 ** 16) / (1024 * 1024);
29
+ const maxMb = (maximum * 2 ** 16) / (1024 * 1024);
30
+ const shared = getSharedMemoryAvailable();
31
+ this.logger(`initial mem: ${initial} pages, ${initialMb}MiB. ` +
32
+ `max mem: ${maximum} pages, ${maxMb}MiB. ` +
33
+ `threads: ${threads}, shared: ${shared}`);
34
+ this.memory = new WebAssembly.Memory({ initial, maximum, shared });
35
+ const instance = await WebAssembly.instantiate(module, this.getImportObj(this.memory));
36
+ this.instance = instance;
37
+ // Init all global/static data.
38
+ this.call('_initialize');
39
+ // Create worker threads. Create 1 less than requested, as main thread counts as a thread.
40
+ if (threads > 1) {
41
+ this.logger(`creating ${threads} worker threads...`);
42
+ this.workers = await Promise.all(Array.from({ length: threads - 1 }).map(createThreadWorker));
43
+ this.remoteWasms = await Promise.all(this.workers.map((getRemoteBarretenbergWasm)));
44
+ await Promise.all(this.remoteWasms.map(w => w.initThread(module, this.memory)));
45
+ }
46
+ this.logger('init complete.');
47
+ }
48
+ /**
49
+ * Called on main thread. Signals child threads to gracefully exit.
50
+ */
51
+ async destroy() {
52
+ await Promise.all(this.workers.map(w => w.terminate()));
53
+ }
54
+ getImportObj(memory) {
55
+ const baseImports = super.getImportObj(memory);
56
+ /* eslint-disable camelcase */
57
+ return {
58
+ ...baseImports,
59
+ wasi: {
60
+ 'thread-spawn': (arg) => {
61
+ arg = arg >>> 0;
62
+ const id = this.nextThreadId++;
63
+ const worker = this.nextWorker++ % this.remoteWasms.length;
64
+ // this.logger(`spawning thread ${id} on worker ${worker} with arg ${arg >>> 0}`);
65
+ this.remoteWasms[worker].call('wasi_thread_start', id, arg).catch(this.logger);
66
+ // this.remoteWasms[worker].postMessage({ msg: 'thread', data: { id, arg } });
67
+ return id;
68
+ },
69
+ },
70
+ env: {
71
+ ...baseImports.env,
72
+ env_hardware_concurrency: () => {
73
+ // If there are no workers (we're already running as a worker, or the main thread requested no workers)
74
+ // then we return 1, which should cause any algos using threading to just not create a thread.
75
+ return this.remoteWasms.length + 1;
76
+ },
77
+ },
78
+ };
79
+ /* eslint-enable camelcase */
80
+ }
81
+ callWasmExport(funcName, inArgs, outLens) {
82
+ const alloc = new HeapAllocator(this);
83
+ const inPtrs = alloc.copyToMemory(inArgs);
84
+ const outPtrs = alloc.getOutputPtrs(outLens);
85
+ this.call(funcName, ...inPtrs, ...outPtrs);
86
+ const outArgs = this.getOutputArgs(outLens, outPtrs, alloc);
87
+ alloc.freeAll();
88
+ return outArgs;
89
+ }
90
+ getOutputArgs(outLens, outPtrs, alloc) {
91
+ return outLens.map((len, i) => {
92
+ if (len) {
93
+ return this.getMemorySlice(outPtrs[i], outPtrs[i] + len);
94
+ }
95
+ const slice = this.getMemorySlice(outPtrs[i], outPtrs[i] + 4);
96
+ const ptr = new DataView(slice.buffer, slice.byteOffset, slice.byteLength).getUint32(0, true);
97
+ // Add our heap buffer to the dealloc list.
98
+ alloc.addOutputPtr(ptr);
99
+ // The length will be found in the first 4 bytes of the buffer, big endian. See to_heap_buffer.
100
+ const lslice = this.getMemorySlice(ptr, ptr + 4);
101
+ const length = new DataView(lslice.buffer, lslice.byteOffset, lslice.byteLength).getUint32(0, false);
102
+ return this.getMemorySlice(ptr + 4, ptr + 4 + length);
103
+ });
104
+ }
105
+ }
106
+ BarretenbergWasmMain.MAX_THREADS = 32;
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFdBQVcsTUFBTSxPQUFPLENBQUM7QUFFaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBRXZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFeEM7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxvQkFBb0I7SUFBOUQ7O1FBRVUsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUN2QixnQkFBVyxHQUFtQyxFQUFFLENBQUM7UUFDakQsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO0lBK0czQixDQUFDO0lBN0dRLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FDZixNQUEwQixFQUMxQixPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsRUFDakUsU0FBZ0MsS0FBSyxFQUNyQyxPQUFPLEdBQUcsRUFBRSxFQUNaLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRTtRQUVqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixNQUFN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
@@ -0,0 +1,2 @@
1
+ export declare function createThreadWorker(): any;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,QAMjC"}
@@ -0,0 +1,10 @@
1
+ import debug from 'debug';
2
+ import ThreadWorker from './thread.worker.js';
3
+ export function createThreadWorker() {
4
+ const worker = new ThreadWorker();
5
+ const debugStr = debug.disable();
6
+ debug.enable(debugStr);
7
+ worker.postMessage({ debug: debugStr });
8
+ return worker;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fdGhyZWFkL2ZhY3RvcnkvYnJvd3Nlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxZQUFZLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2xDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ declare const _default: any;
2
+ export default _default;
3
+ //# sourceMappingURL=thread.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts"],"names":[],"mappings":";AAcA,wBAA2B"}
@@ -0,0 +1,12 @@
1
+ import { expose } from 'comlink';
2
+ import { BarretenbergWasmThread } from '../../index.js';
3
+ import debug from 'debug';
4
+ self.onmessage = function (e) {
5
+ if (e.data.debug) {
6
+ debug.enable(e.data.debug);
7
+ }
8
+ };
9
+ expose(new BarretenbergWasmThread());
10
+ self.postMessage({ ready: true });
11
+ export default null;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLndvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9iYXJyZXRlbmJlcmdfd2FzbV90aHJlYWQvZmFjdG9yeS9icm93c2VyL3RocmVhZC53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNqQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7SUFDMUIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO0FBRXJDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUVsQyxlQUFlLElBQVcsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { Worker } from 'worker_threads';
3
+ export declare function createThreadWorker(): Worker;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAcxC,wBAAgB,kBAAkB,WAGjC"}
@@ -0,0 +1,18 @@
1
+ import { Worker } from 'worker_threads';
2
+ import { dirname } from 'path';
3
+ import { fileURLToPath } from 'url';
4
+ function getCurrentDir() {
5
+ if (typeof __dirname !== 'undefined') {
6
+ return __dirname;
7
+ }
8
+ else {
9
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
+ // @ts-ignore
11
+ return dirname(fileURLToPath(import.meta.url));
12
+ }
13
+ }
14
+ export function createThreadWorker() {
15
+ const __dirname = getCurrentDir();
16
+ return new Worker(__dirname + `/thread.worker.js`);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fdGhyZWFkL2ZhY3Rvcnkvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXBDLFNBQVMsYUFBYTtJQUNwQixJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sNkRBQTZEO1FBQzdELGFBQWE7UUFDYixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxNQUFNLFNBQVMsR0FBRyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3JELENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=thread.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread.worker.d.ts","sourceRoot":"","sources":["../../../../../../src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { parentPort } from 'worker_threads';
2
+ import { expose } from 'comlink';
3
+ import { BarretenbergWasmThread } from '../../index.js';
4
+ import { nodeEndpoint } from '../../../helpers/node/node_endpoint.js';
5
+ if (!parentPort) {
6
+ throw new Error('No parentPort');
7
+ }
8
+ expose(new BarretenbergWasmThread(), nodeEndpoint(parentPort));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLndvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9iYXJyZXRlbmJlcmdfd2FzbV90aHJlYWQvZmFjdG9yeS9ub2RlL3RocmVhZC53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXRFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxFQUFFLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDIn0=