@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,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createThreadWorker = void 0;
4
+ const worker_threads_1 = require("worker_threads");
5
+ const path_1 = require("path");
6
+ const url_1 = require("url");
7
+ function getCurrentDir() {
8
+ if (typeof __dirname !== 'undefined') {
9
+ return __dirname;
10
+ }
11
+ else {
12
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
13
+ // @ts-ignore
14
+ return (0, path_1.dirname)((0, url_1.fileURLToPath)(""));
15
+ }
16
+ }
17
+ function createThreadWorker() {
18
+ const __dirname = getCurrentDir();
19
+ return new worker_threads_1.Worker(__dirname + `/thread.worker.js`);
20
+ }
21
+ exports.createThreadWorker = createThreadWorker;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fdGhyZWFkL2ZhY3Rvcnkvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBd0M7QUFDeEMsK0JBQStCO0FBQy9CLDZCQUFvQztBQUVwQyxTQUFTLGFBQWE7SUFDcEIsSUFBSSxPQUFPLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO1NBQU0sQ0FBQztRQUNOLDZEQUE2RDtRQUM3RCxhQUFhO1FBQ2IsT0FBTyxJQUFBLGNBQU8sRUFBQyxJQUFBLG1CQUFhLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCO0lBQ2hDLE1BQU0sU0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQ2xDLE9BQU8sSUFBSSx1QkFBTSxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFIRCxnREFHQyJ9
@@ -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,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const worker_threads_1 = require("worker_threads");
4
+ const comlink_1 = require("comlink");
5
+ const index_js_1 = require("../../index.js");
6
+ const node_endpoint_js_1 = require("../../../helpers/node/node_endpoint.js");
7
+ if (!worker_threads_1.parentPort) {
8
+ throw new Error('No parentPort');
9
+ }
10
+ (0, comlink_1.expose)(new index_js_1.BarretenbergWasmThread(), (0, node_endpoint_js_1.nodeEndpoint)(worker_threads_1.parentPort));
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLndvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9iYXJyZXRlbmJlcmdfd2FzbV90aHJlYWQvZmFjdG9yeS9ub2RlL3RocmVhZC53b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxtREFBNEM7QUFDNUMscUNBQWlDO0FBQ2pDLDZDQUF3RDtBQUN4RCw2RUFBc0U7QUFFdEUsSUFBSSxDQUFDLDJCQUFVLEVBQUUsQ0FBQztJQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxJQUFBLGdCQUFNLEVBQUMsSUFBSSxpQ0FBc0IsRUFBRSxFQUFFLElBQUEsK0JBQVksRUFBQywyQkFBVSxDQUFDLENBQUMsQ0FBQyJ9
@@ -0,0 +1,28 @@
1
+ import { Remote } from 'comlink';
2
+ import { BarretenbergWasmBase } from '../barretenberg_wasm_base/index.js';
3
+ export declare class BarretenbergWasmThread extends BarretenbergWasmBase {
4
+ /**
5
+ * Init as worker thread.
6
+ */
7
+ initThread(module: WebAssembly.Module, memory: WebAssembly.Memory): Promise<void>;
8
+ destroy(): void;
9
+ protected getImportObj(memory: WebAssembly.Memory): {
10
+ wasi: {
11
+ 'thread-spawn': () => never;
12
+ };
13
+ env: {
14
+ env_hardware_concurrency: () => number;
15
+ logstr: (addr: number) => void;
16
+ get_data: (keyAddr: number, outBufAddr: number) => void;
17
+ set_data: (keyAddr: number, dataAddr: number, dataLength: number) => void;
18
+ memory: WebAssembly.Memory;
19
+ };
20
+ wasi_snapshot_preview1: {
21
+ random_get: (out: any, length: number) => void;
22
+ clock_time_get: (a1: number, a2: number, out: number) => void;
23
+ proc_exit: () => never;
24
+ };
25
+ };
26
+ }
27
+ export type BarretenbergWasmThreadWorker = Remote<BarretenbergWasmThread>;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/barretenberg_wasm_thread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,qBAAa,sBAAuB,SAAQ,oBAAoB;IAC9D;;OAEG;IACU,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM;IAMvE,OAAO;IAId,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM;;;;;;;;;;;;;;;;;CA0BlD;AAED,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BarretenbergWasmThread = void 0;
4
+ const index_js_1 = require("../helpers/index.js");
5
+ const index_js_2 = require("../barretenberg_wasm_base/index.js");
6
+ class BarretenbergWasmThread extends index_js_2.BarretenbergWasmBase {
7
+ /**
8
+ * Init as worker thread.
9
+ */
10
+ async initThread(module, memory) {
11
+ this.logger = (0, index_js_1.threadLogger)() || this.logger;
12
+ this.memory = memory;
13
+ this.instance = await WebAssembly.instantiate(module, this.getImportObj(this.memory));
14
+ }
15
+ destroy() {
16
+ (0, index_js_1.killSelf)();
17
+ }
18
+ getImportObj(memory) {
19
+ const baseImports = super.getImportObj(memory);
20
+ /* eslint-disable camelcase */
21
+ return {
22
+ ...baseImports,
23
+ wasi: {
24
+ 'thread-spawn': () => {
25
+ this.logger('PANIC: threads cannot spawn threads!');
26
+ this.logger(new Error().stack);
27
+ (0, index_js_1.killSelf)();
28
+ },
29
+ },
30
+ // These are functions implementations for imports we've defined are needed.
31
+ // The native C++ build defines these in a module called "env". We must implement TypeScript versions here.
32
+ env: {
33
+ ...baseImports.env,
34
+ env_hardware_concurrency: () => {
35
+ // We return 1, which should cause any algos using threading to just not create a thread.
36
+ return 1;
37
+ },
38
+ },
39
+ };
40
+ /* eslint-enable camelcase */
41
+ }
42
+ }
43
+ exports.BarretenbergWasmThread = BarretenbergWasmThread;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vYmFycmV0ZW5iZXJnX3dhc21fdGhyZWFkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGtEQUE2RDtBQUM3RCxpRUFBMEU7QUFFMUUsTUFBYSxzQkFBdUIsU0FBUSwrQkFBb0I7SUFDOUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQTBCLEVBQUUsTUFBMEI7UUFDNUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFBLHVCQUFZLEdBQUUsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBQSxtQkFBUSxHQUFFLENBQUM7SUFDYixDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQTBCO1FBQy9DLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFL0MsOEJBQThCO1FBQzlCLE9BQU87WUFDTCxHQUFHLFdBQVc7WUFDZCxJQUFJLEVBQUU7Z0JBQ0osY0FBYyxFQUFFLEdBQUcsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO29CQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsS0FBTSxDQUFDLENBQUM7b0JBQ2hDLElBQUEsbUJBQVEsR0FBRSxDQUFDO2dCQUNiLENBQUM7YUFDRjtZQUVELDRFQUE0RTtZQUM1RSwyR0FBMkc7WUFDM0csR0FBRyxFQUFFO2dCQUNILEdBQUcsV0FBVyxDQUFDLEdBQUc7Z0JBQ2xCLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtvQkFDN0IseUZBQXlGO29CQUN6RixPQUFPLENBQUMsQ0FBQztnQkFDWCxDQUFDO2FBQ0Y7U0FDRixDQUFDO1FBQ0YsNkJBQTZCO0lBQy9CLENBQUM7Q0FDRjtBQXhDRCx3REF3Q0MifQ==
@@ -0,0 +1,2 @@
1
+ export declare function fetchCode(multithreaded: boolean): Promise<ArrayBufferLike>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/browser/index.ts"],"names":[],"mappings":"AAMA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,4BAKrD"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const barretenberg_wasm_gz_1 = tslib_1.__importDefault(require("../../barretenberg.wasm.gz"));
6
+ const barretenberg_threads_wasm_gz_1 = tslib_1.__importDefault(require("../../barretenberg-threads.wasm.gz"));
7
+ const pako_1 = tslib_1.__importDefault(require("pako"));
8
+ // Annoyingly the wasm declares if it's memory is shared or not. So now we need two wasms if we want to be
9
+ // able to fallback on "non shared memory" situations.
10
+ async function fetchCode(multithreaded) {
11
+ const res = await fetch(multithreaded ? barretenberg_threads_wasm_gz_1.default : barretenberg_wasm_gz_1.default);
12
+ const compressedData = await res.arrayBuffer();
13
+ const decompressedData = pako_1.default.ungzip(new Uint8Array(compressedData));
14
+ return decompressedData.buffer;
15
+ }
16
+ exports.fetchCode = fetchCode;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSw4RkFBNEQ7QUFDNUQsOEdBQTJFO0FBQzNFLHdEQUF3QjtBQUV4QiwwR0FBMEc7QUFDMUcsc0RBQXNEO0FBQy9DLEtBQUssVUFBVSxTQUFTLENBQUMsYUFBc0I7SUFDcEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxzQ0FBeUIsQ0FBQyxDQUFDLENBQUMsOEJBQWtCLENBQUMsQ0FBQztJQUN4RixNQUFNLGNBQWMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxNQUFNLGdCQUFnQixHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUNyRSxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztBQUNqQyxDQUFDO0FBTEQsOEJBS0MifQ==
@@ -0,0 +1,2 @@
1
+ export * from './node/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/fetch_code/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./node/index.js"), exports);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBZ0MifQ==
@@ -0,0 +1,2 @@
1
+ export declare function fetchCode(multithreaded: boolean): Promise<ArrayBufferLike>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/fetch_code/node/index.ts"],"names":[],"mappings":"AAgBA,wBAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,4BAKrD"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchCode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const promises_1 = require("fs/promises");
6
+ const path_1 = require("path");
7
+ const url_1 = require("url");
8
+ const pako_1 = tslib_1.__importDefault(require("pako"));
9
+ function getCurrentDir() {
10
+ if (typeof __dirname !== 'undefined') {
11
+ return __dirname;
12
+ }
13
+ else {
14
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
15
+ // @ts-ignore
16
+ return (0, path_1.dirname)((0, url_1.fileURLToPath)(""));
17
+ }
18
+ }
19
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
+ async function fetchCode(multithreaded) {
21
+ const path = getCurrentDir() + '/../../barretenberg-threads.wasm.gz';
22
+ const compressedData = await (0, promises_1.readFile)(path);
23
+ const decompressedData = pako_1.default.ungzip(new Uint8Array(compressedData));
24
+ return decompressedData.buffer;
25
+ }
26
+ exports.fetchCode = fetchCode;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vZmV0Y2hfY29kZS9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwwQ0FBdUM7QUFDdkMsK0JBQStCO0FBQy9CLDZCQUFvQztBQUNwQyx3REFBd0I7QUFFeEIsU0FBUyxhQUFhO0lBQ3BCLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTiw2REFBNkQ7UUFDN0QsYUFBYTtRQUNiLE9BQU8sSUFBQSxjQUFPLEVBQUMsSUFBQSxtQkFBYSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELDZEQUE2RDtBQUN0RCxLQUFLLFVBQVUsU0FBUyxDQUFDLGFBQXNCO0lBQ3BELE1BQU0sSUFBSSxHQUFHLGFBQWEsRUFBRSxHQUFHLHFDQUFxQyxDQUFDO0lBQ3JFLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSxtQkFBUSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0FBQ2pDLENBQUM7QUFMRCw4QkFLQyJ9
@@ -0,0 +1,6 @@
1
+ export declare function getSharedMemoryAvailable(): boolean;
2
+ export declare function getRemoteBarretenbergWasm<T>(worker: Worker): T;
3
+ export declare function getNumCpu(): number;
4
+ export declare function threadLogger(): ((msg: string) => void) | undefined;
5
+ export declare function killSelf(): void;
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/browser/index.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,YAGvC;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,KAE1D;AAED,wBAAgB,SAAS,WAExB;AAED,wBAAgB,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAElE;AAED,wBAAgB,QAAQ,SAEvB"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.killSelf = exports.threadLogger = exports.getNumCpu = exports.getRemoteBarretenbergWasm = exports.getSharedMemoryAvailable = void 0;
4
+ const comlink_1 = require("comlink");
5
+ function getSharedMemoryAvailable() {
6
+ const globalScope = typeof window !== 'undefined' ? window : globalThis;
7
+ return typeof SharedArrayBuffer !== 'undefined' && globalScope.crossOriginIsolated;
8
+ }
9
+ exports.getSharedMemoryAvailable = getSharedMemoryAvailable;
10
+ function getRemoteBarretenbergWasm(worker) {
11
+ return (0, comlink_1.wrap)(worker);
12
+ }
13
+ exports.getRemoteBarretenbergWasm = getRemoteBarretenbergWasm;
14
+ function getNumCpu() {
15
+ return navigator.hardwareConcurrency;
16
+ }
17
+ exports.getNumCpu = getNumCpu;
18
+ function threadLogger() {
19
+ return undefined;
20
+ }
21
+ exports.threadLogger = threadLogger;
22
+ function killSelf() {
23
+ self.close();
24
+ }
25
+ exports.killSelf = killSelf;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9icm93c2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUErQjtBQUUvQixTQUFnQix3QkFBd0I7SUFDdEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxNQUFNLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUN4RSxPQUFPLE9BQU8saUJBQWlCLEtBQUssV0FBVyxJQUFJLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztBQUNyRixDQUFDO0FBSEQsNERBR0M7QUFFRCxTQUFnQix5QkFBeUIsQ0FBSSxNQUFjO0lBQ3pELE9BQU8sSUFBQSxjQUFJLEVBQUMsTUFBTSxDQUFNLENBQUM7QUFDM0IsQ0FBQztBQUZELDhEQUVDO0FBRUQsU0FBZ0IsU0FBUztJQUN2QixPQUFPLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztBQUN2QyxDQUFDO0FBRkQsOEJBRUM7QUFFRCxTQUFnQixZQUFZO0lBQzFCLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFGRCxvQ0FFQztBQUVELFNBQWdCLFFBQVE7SUFDdEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ2YsQ0FBQztBQUZELDRCQUVDIn0=
@@ -0,0 +1,2 @@
1
+ export * from './node/index.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/barretenberg_wasm/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./node/index.js"), exports);
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBZ0MifQ==
@@ -0,0 +1,22 @@
1
+ /// <reference types="node" />
2
+ import { Worker } from 'worker_threads';
3
+ export declare function getSharedMemoryAvailable(): boolean;
4
+ /**
5
+ * Comlink allows you to produce a Proxy to the worker, enabling you to call methods as if it were a normal class.
6
+ * Note we give it the type information it needs so the returned Proxy object looks like that type.
7
+ * Node has a different implementation, needing this nodeEndpoint wrapper, hence this function exists here.
8
+ */
9
+ export declare function getRemoteBarretenbergWasm<T>(worker: Worker): T;
10
+ /**
11
+ * Returns number of cpus as reported by the system, unless overriden by HARDWARE_CONCURRENCY env var.
12
+ */
13
+ export declare function getNumCpu(): number;
14
+ /**
15
+ * In node, the message passing is different to the browser. When using 'debug' in the browser, we seemingly always
16
+ * get our logs, but in node it looks like it's dependent on the chain of workers from child to main thread be
17
+ * unblocked. If one of our threads aborts, we can't see it as the parent is blocked waiting on threads to join.
18
+ * To work around this in node, threads will by default write directly to stdout.
19
+ */
20
+ export declare function threadLogger(): ((msg: string) => void) | undefined;
21
+ export declare function killSelf(): never;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/node/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAMxC,wBAAgB,wBAAwB,YAEvC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAE9D;AAED;;GAEG;AACH,wBAAgB,SAAS,WAExB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAIlE;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAKhC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.killSelf = exports.threadLogger = exports.getNumCpu = exports.getRemoteBarretenbergWasm = exports.getSharedMemoryAvailable = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const os_1 = tslib_1.__importDefault(require("os"));
6
+ const comlink_1 = require("comlink");
7
+ const node_endpoint_js_1 = require("./node_endpoint.js");
8
+ const fs_1 = require("fs");
9
+ function getSharedMemoryAvailable() {
10
+ return true;
11
+ }
12
+ exports.getSharedMemoryAvailable = getSharedMemoryAvailable;
13
+ /**
14
+ * Comlink allows you to produce a Proxy to the worker, enabling you to call methods as if it were a normal class.
15
+ * Note we give it the type information it needs so the returned Proxy object looks like that type.
16
+ * Node has a different implementation, needing this nodeEndpoint wrapper, hence this function exists here.
17
+ */
18
+ function getRemoteBarretenbergWasm(worker) {
19
+ return (0, comlink_1.wrap)((0, node_endpoint_js_1.nodeEndpoint)(worker));
20
+ }
21
+ exports.getRemoteBarretenbergWasm = getRemoteBarretenbergWasm;
22
+ /**
23
+ * Returns number of cpus as reported by the system, unless overriden by HARDWARE_CONCURRENCY env var.
24
+ */
25
+ function getNumCpu() {
26
+ return +process.env.HARDWARE_CONCURRENCY || os_1.default.cpus().length;
27
+ }
28
+ exports.getNumCpu = getNumCpu;
29
+ /**
30
+ * In node, the message passing is different to the browser. When using 'debug' in the browser, we seemingly always
31
+ * get our logs, but in node it looks like it's dependent on the chain of workers from child to main thread be
32
+ * unblocked. If one of our threads aborts, we can't see it as the parent is blocked waiting on threads to join.
33
+ * To work around this in node, threads will by default write directly to stdout.
34
+ */
35
+ function threadLogger() {
36
+ return (msg) => {
37
+ (0, fs_1.writeSync)(1, msg + '\n');
38
+ };
39
+ }
40
+ exports.threadLogger = threadLogger;
41
+ function killSelf() {
42
+ // Extordinarily hard process termination. Due to how parent threads block on child threads etc, even process.exit
43
+ // doesn't seem to be able to abort the process. The following does.
44
+ process.kill(process.pid);
45
+ throw new Error();
46
+ }
47
+ exports.killSelf = killSelf;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaGVscGVycy9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxvREFBb0I7QUFDcEIscUNBQStCO0FBQy9CLHlEQUFrRDtBQUNsRCwyQkFBK0I7QUFFL0IsU0FBZ0Isd0JBQXdCO0lBQ3RDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUZELDREQUVDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHlCQUF5QixDQUFJLE1BQWM7SUFDekQsT0FBTyxJQUFBLGNBQUksRUFBQyxJQUFBLCtCQUFZLEVBQUMsTUFBTSxDQUFDLENBQU0sQ0FBQztBQUN6QyxDQUFDO0FBRkQsOERBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFNBQVM7SUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQXFCLElBQUksWUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNoRSxDQUFDO0FBRkQsOEJBRUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVk7SUFDMUIsT0FBTyxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQ3JCLElBQUEsY0FBUyxFQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUpELG9DQUlDO0FBRUQsU0FBZ0IsUUFBUTtJQUN0QixrSEFBa0g7SUFDbEgsb0VBQW9FO0lBQ3BFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUNwQixDQUFDO0FBTEQsNEJBS0MifQ==
@@ -0,0 +1,8 @@
1
+ import { NodeEndpoint } from 'comlink/dist/esm/node-adapter.js';
2
+ export declare function nodeEndpoint(nep: NodeEndpoint): {
3
+ postMessage: (message: any, transfer?: any[] | undefined) => void;
4
+ addEventListener: (_: any, eh: any) => void;
5
+ removeEventListener: (_: any, eh: any) => void;
6
+ start: (() => void) | undefined;
7
+ };
8
+ //# sourceMappingURL=node_endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_endpoint.d.ts","sourceRoot":"","sources":["../../../../../src/barretenberg_wasm/helpers/node/node_endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY;;0BAIpB,GAAG,MAAM,GAAG;6BAWT,GAAG,MAAM,GAAG;;EAUxC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nodeEndpoint = void 0;
4
+ function nodeEndpoint(nep) {
5
+ const listeners = new WeakMap();
6
+ return {
7
+ postMessage: nep.postMessage.bind(nep),
8
+ addEventListener: (_, eh) => {
9
+ const l = (data) => {
10
+ if ('handleEvent' in eh) {
11
+ eh.handleEvent({ data });
12
+ }
13
+ else {
14
+ eh({ data });
15
+ }
16
+ };
17
+ nep.on('message', l);
18
+ listeners.set(eh, l);
19
+ },
20
+ removeEventListener: (_, eh) => {
21
+ const l = listeners.get(eh);
22
+ if (!l) {
23
+ return;
24
+ }
25
+ nep.off('message', l);
26
+ listeners.delete(eh);
27
+ },
28
+ start: nep.start && nep.start.bind(nep),
29
+ };
30
+ }
31
+ exports.nodeEndpoint = nodeEndpoint;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9lbmRwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9oZWxwZXJzL25vZGUvbm9kZV9lbmRwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxTQUFnQixZQUFZLENBQUMsR0FBaUI7SUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNoQyxPQUFPO1FBQ0wsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN0QyxnQkFBZ0IsRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFPLEVBQUUsRUFBRTtZQUNwQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUN0QixJQUFJLGFBQWEsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDeEIsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNmLENBQUM7WUFDSCxDQUFDLENBQUM7WUFDRixHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNyQixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsbUJBQW1CLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBTyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsT0FBTztZQUNULENBQUM7WUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QixTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7S0FDeEMsQ0FBQztBQUNKLENBQUM7QUF6QkQsb0NBeUJDIn0=
@@ -0,0 +1,18 @@
1
+ /// <reference types="node" />
2
+ import { BarretenbergWasmMain, BarretenbergWasmMainWorker } from './barretenberg_wasm_main/index.js';
3
+ export declare function fetchModuleAndThreads(desiredThreads?: number): Promise<{
4
+ module: WebAssembly.Module;
5
+ threads: number;
6
+ }>;
7
+ export declare class BarretenbergWasm extends BarretenbergWasmMain {
8
+ /**
9
+ * Construct and initialize BarretenbergWasm within a Worker. Return both the worker and the wasm proxy.
10
+ * Used when running in the browser, because we can't block the main thread.
11
+ */
12
+ static new(desiredThreads?: number): Promise<{
13
+ worker: import("worker_threads").Worker;
14
+ wasm: BarretenbergWasmMainWorker;
15
+ }>;
16
+ }
17
+ export type BarretenbergWasmWorker = BarretenbergWasmMainWorker;
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAKrG,wBAAsB,qBAAqB,CAAC,cAAc,SAAK;;;GAU9D;AAgBD,qBAAa,gBAAiB,SAAQ,oBAAoB;IACxD;;;OAGG;WACiB,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM;;;;CAOhD;AAED,MAAM,MAAM,sBAAsB,GAAG,0BAA0B,CAAC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BarretenbergWasm = exports.fetchModuleAndThreads = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const comlink_1 = require("comlink");
6
+ const debug_1 = tslib_1.__importDefault(require("debug"));
7
+ const index_js_1 = require("./barretenberg_wasm_main/factory/node/index.js");
8
+ const index_js_2 = require("./helpers/node/index.js");
9
+ const index_js_3 = require("./barretenberg_wasm_main/index.js");
10
+ const index_js_4 = require("./fetch_code/index.js");
11
+ const debug = (0, debug_1.default)('bb.js:wasm');
12
+ async function fetchModuleAndThreads(desiredThreads = 32) {
13
+ const shared = (0, index_js_2.getSharedMemoryAvailable)();
14
+ const availableThreads = shared ? await getAvailableThreads() : 1;
15
+ // We limit the number of threads to 32 as we do not benefit from greater numbers.
16
+ const limitedThreads = Math.min(desiredThreads, availableThreads, 32);
17
+ const code = await (0, index_js_4.fetchCode)(shared);
18
+ const module = await WebAssembly.compile(code);
19
+ return { module, threads: limitedThreads };
20
+ }
21
+ exports.fetchModuleAndThreads = fetchModuleAndThreads;
22
+ async function getAvailableThreads() {
23
+ if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
24
+ return navigator.hardwareConcurrency;
25
+ }
26
+ else {
27
+ try {
28
+ const os = await Promise.resolve().then(() => tslib_1.__importStar(require('os')));
29
+ return os.cpus().length;
30
+ }
31
+ catch (e) {
32
+ debug(`Could not detect environment. Falling back to one thread.: {e}`);
33
+ return 1;
34
+ }
35
+ }
36
+ }
37
+ class BarretenbergWasm extends index_js_3.BarretenbergWasmMain {
38
+ /**
39
+ * Construct and initialize BarretenbergWasm within a Worker. Return both the worker and the wasm proxy.
40
+ * Used when running in the browser, because we can't block the main thread.
41
+ */
42
+ static async new(desiredThreads) {
43
+ const worker = (0, index_js_1.createMainWorker)();
44
+ const wasm = (0, index_js_2.getRemoteBarretenbergWasm)(worker);
45
+ const { module, threads } = await fetchModuleAndThreads(desiredThreads);
46
+ await wasm.init(module, threads, (0, comlink_1.proxy)(debug));
47
+ return { worker, wasm };
48
+ }
49
+ }
50
+ exports.BarretenbergWasm = BarretenbergWasm;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFycmV0ZW5iZXJnX3dhc20vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFDQUFnQztBQUNoQywwREFBZ0M7QUFDaEMsNkVBQWtGO0FBQ2xGLHNEQUE4RjtBQUM5RixnRUFBcUc7QUFDckcsb0RBQWtEO0FBRWxELE1BQU0sS0FBSyxHQUFHLElBQUEsZUFBVyxFQUFDLFlBQVksQ0FBQyxDQUFDO0FBRWpDLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxjQUFjLEdBQUcsRUFBRTtJQUM3RCxNQUFNLE1BQU0sR0FBRyxJQUFBLG1DQUF3QixHQUFFLENBQUM7SUFFMUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLGtGQUFrRjtJQUNsRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUV0RSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsb0JBQVMsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUM7QUFDN0MsQ0FBQztBQVZELHNEQVVDO0FBRUQsS0FBSyxVQUFVLG1CQUFtQjtJQUNoQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN0RSxPQUFPLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQztJQUN2QyxDQUFDO1NBQU0sQ0FBQztRQUNOLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxHQUFHLGdFQUFhLElBQUksR0FBQyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUMxQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1lBQ3hFLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBYSxnQkFBaUIsU0FBUSwrQkFBb0I7SUFDeEQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBdUI7UUFDN0MsTUFBTSxNQUFNLEdBQUcsSUFBQSwyQkFBZ0IsR0FBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUEsb0NBQXlCLEVBQTZCLE1BQU0sQ0FBQyxDQUFDO1FBQzNFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFBLGVBQUssRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBWkQsNENBWUMifQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/barretenberg_wasm/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_js_1 = require("./index.js");
4
+ describe('barretenberg wasm', () => {
5
+ let worker;
6
+ let wasm;
7
+ beforeAll(async () => {
8
+ ({ wasm, worker } = await index_js_1.BarretenbergWasm.new(2));
9
+ }, 20000);
10
+ afterAll(async () => {
11
+ await wasm.destroy();
12
+ await worker.terminate();
13
+ });
14
+ it('should new malloc, transfer and slice mem', async () => {
15
+ const length = 1024;
16
+ const ptr = await wasm.call('bbmalloc', length);
17
+ const buf = Buffer.alloc(length, 128);
18
+ await wasm.writeMemory(ptr, buf);
19
+ const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
20
+ await wasm.call('bbfree', ptr);
21
+ expect(result).toStrictEqual(buf);
22
+ });
23
+ it('test abort', async () => {
24
+ await expect(() => wasm.call('test_abort')).rejects.toThrow();
25
+ });
26
+ it('test c/c++ stdout/stderr', async () => {
27
+ // We're checking we don't crash, but you can manually confirm you see log lines handled by logstr.
28
+ await wasm.call('test_stdout_stderr');
29
+ });
30
+ it('should new malloc, transfer and slice mem', async () => {
31
+ const length = 1024;
32
+ const ptr = await wasm.call('bbmalloc', length);
33
+ const buf = Buffer.alloc(length, 128);
34
+ await wasm.writeMemory(ptr, buf);
35
+ const result = Buffer.from(await wasm.getMemorySlice(ptr, ptr + length));
36
+ await wasm.call('bbfree', ptr);
37
+ expect(result).toStrictEqual(buf);
38
+ });
39
+ });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXJyZXRlbmJlcmdfd2FzbS9pbmRleC50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EseUNBQXNFO0FBRXRFLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDakMsSUFBSSxNQUFlLENBQUM7SUFDcEIsSUFBSSxJQUE2QixDQUFDO0lBRWxDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUNuQixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sMkJBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRVYsUUFBUSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2xCLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDJDQUEyQyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQztRQUNwQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDMUIsTUFBTSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN4QyxtR0FBbUc7UUFDbkcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDekQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDekUsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ export * from './timer.js';
2
+ export declare function writeBenchmark<T>(name: string, value: T, labels?: Record<string, any>): void;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/benchmark/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAW3B,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,QAazF"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeBenchmark = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs = tslib_1.__importStar(require("fs"));
6
+ tslib_1.__exportStar(require("./timer.js"), exports);
7
+ const bfd = (() => {
8
+ const bfdStr = process.env.BENCHMARK_FD;
9
+ const bfd = bfdStr ? parseInt(bfdStr) : -1;
10
+ if (bfd >= 0 && !fs.fstatSync(bfd)) {
11
+ throw new Error('fd is not open. Did you redirect in your shell?');
12
+ }
13
+ return bfd;
14
+ })();
15
+ function writeBenchmark(name, value, labels = {}) {
16
+ if (bfd === -1) {
17
+ return;
18
+ }
19
+ const data = {
20
+ timestamp: new Date().toISOString(),
21
+ name,
22
+ type: typeof value,
23
+ value,
24
+ ...labels,
25
+ };
26
+ const jsonl = JSON.stringify(data) + '\n';
27
+ fs.writeSync(bfd, jsonl);
28
+ }
29
+ exports.writeBenchmark = writeBenchmark;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmVuY2htYXJrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwrQ0FBeUI7QUFDekIscURBQTJCO0FBRTNCLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFO0lBQ2hCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO0lBQ3hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFTCxTQUFnQixjQUFjLENBQUksSUFBWSxFQUFFLEtBQVEsRUFBRSxTQUE4QixFQUFFO0lBQ3hGLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDZixPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHO1FBQ1gsU0FBUyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1FBQ25DLElBQUk7UUFDSixJQUFJLEVBQUUsT0FBTyxLQUFLO1FBQ2xCLEtBQUs7UUFDTCxHQUFHLE1BQU07S0FDVixDQUFDO0lBQ0YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDMUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQWJELHdDQWFDIn0=
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Timer class to measure time intervals in milliseconds and seconds.
3
+ * Upon instantiation, it stores the current timestamp as the starting point.
4
+ * The 'ms()' method returns the elapsed time in milliseconds,
5
+ * while the 's()' method returns the elapsed time in seconds.
6
+ *
7
+ * @example
8
+ * const timer = new Timer();
9
+ * setTimeout(() =\> \{
10
+ * console.log(`Elapsed time: ${timer.ms()} ms`);
11
+ * \}, 1000);
12
+ */
13
+ export declare class Timer {
14
+ private start;
15
+ constructor();
16
+ us(): number;
17
+ /**
18
+ * Returns the elapsed time in milliseconds since the Timer instance was created.
19
+ * Provides a simple and convenient way to measure the time duration between two events
20
+ * or monitor performance of specific code sections.
21
+ *
22
+ * @returns The elapsed time in milliseconds.
23
+ */
24
+ ms(): number;
25
+ /**
26
+ * Returns the time elapsed since the Timer instance was created, in seconds.
27
+ * The value is calculated by subtracting the initial start time from the current time
28
+ * and dividing the result by 1000 to convert milliseconds to seconds.
29
+ *
30
+ * @returns The elapsed time in seconds.
31
+ */
32
+ s(): number;
33
+ }
34
+ //# sourceMappingURL=timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../../src/benchmark/timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAS;;IAMf,EAAE;IAIT;;;;;;OAMG;IACI,EAAE;IAIT;;;;;;OAMG;IACI,CAAC;CAGT"}