@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,1305 @@
1
+ // WARNING: FILE CODE GENERATED BY BINDGEN UTILITY. DO NOT EDIT!
2
+ /* eslint-disable @typescript-eslint/no-unused-vars */
3
+ import { BarretenbergWasmWorker, BarretenbergWasm } from '../barretenberg_wasm/index.js';
4
+ import {
5
+ BufferDeserializer,
6
+ NumberDeserializer,
7
+ VectorDeserializer,
8
+ BoolDeserializer,
9
+ StringDeserializer,
10
+ serializeBufferable,
11
+ OutputType,
12
+ } from '../serialize/index.js';
13
+ import { Fr, Fq, Point, Buffer32, Buffer128, Ptr } from '../types/index.js';
14
+
15
+ export class BarretenbergApi {
16
+ constructor(protected wasm: BarretenbergWasmWorker) {}
17
+
18
+ async pedersenCommit(inputsBuffer: Fr[], ctxIndex: number): Promise<Point> {
19
+ const inArgs = [inputsBuffer, ctxIndex].map(serializeBufferable);
20
+ const outTypes: OutputType[] = [Point];
21
+ const result = await this.wasm.callWasmExport(
22
+ 'pedersen_commit',
23
+ inArgs,
24
+ outTypes.map(t => t.SIZE_IN_BYTES),
25
+ );
26
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
27
+ return out[0];
28
+ }
29
+
30
+ async pedersenHash(inputsBuffer: Fr[], hashIndex: number): Promise<Fr> {
31
+ const inArgs = [inputsBuffer, hashIndex].map(serializeBufferable);
32
+ const outTypes: OutputType[] = [Fr];
33
+ const result = await this.wasm.callWasmExport(
34
+ 'pedersen_hash',
35
+ inArgs,
36
+ outTypes.map(t => t.SIZE_IN_BYTES),
37
+ );
38
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
39
+ return out[0];
40
+ }
41
+
42
+ async pedersenHashes(inputsBuffer: Fr[], hashIndex: number): Promise<Fr> {
43
+ const inArgs = [inputsBuffer, hashIndex].map(serializeBufferable);
44
+ const outTypes: OutputType[] = [Fr];
45
+ const result = await this.wasm.callWasmExport(
46
+ 'pedersen_hashes',
47
+ inArgs,
48
+ outTypes.map(t => t.SIZE_IN_BYTES),
49
+ );
50
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
51
+ return out[0];
52
+ }
53
+
54
+ async pedersenHashBuffer(inputBuffer: Uint8Array, hashIndex: number): Promise<Fr> {
55
+ const inArgs = [inputBuffer, hashIndex].map(serializeBufferable);
56
+ const outTypes: OutputType[] = [Fr];
57
+ const result = await this.wasm.callWasmExport(
58
+ 'pedersen_hash_buffer',
59
+ inArgs,
60
+ outTypes.map(t => t.SIZE_IN_BYTES),
61
+ );
62
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
63
+ return out[0];
64
+ }
65
+
66
+ async poseidon2Hash(inputsBuffer: Fr[]): Promise<Fr> {
67
+ const inArgs = [inputsBuffer].map(serializeBufferable);
68
+ const outTypes: OutputType[] = [Fr];
69
+ const result = await this.wasm.callWasmExport(
70
+ 'poseidon2_hash',
71
+ inArgs,
72
+ outTypes.map(t => t.SIZE_IN_BYTES),
73
+ );
74
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
75
+ return out[0];
76
+ }
77
+
78
+ async poseidon2Hashes(inputsBuffer: Fr[]): Promise<Fr> {
79
+ const inArgs = [inputsBuffer].map(serializeBufferable);
80
+ const outTypes: OutputType[] = [Fr];
81
+ const result = await this.wasm.callWasmExport(
82
+ 'poseidon2_hashes',
83
+ inArgs,
84
+ outTypes.map(t => t.SIZE_IN_BYTES),
85
+ );
86
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
87
+ return out[0];
88
+ }
89
+
90
+ async poseidon2Permutation(inputsBuffer: Fr[]): Promise<Fr[]> {
91
+ const inArgs = [inputsBuffer].map(serializeBufferable);
92
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
93
+ const result = await this.wasm.callWasmExport(
94
+ 'poseidon2_permutation',
95
+ inArgs,
96
+ outTypes.map(t => t.SIZE_IN_BYTES),
97
+ );
98
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
99
+ return out[0];
100
+ }
101
+
102
+ async blake2s(data: Uint8Array): Promise<Buffer32> {
103
+ const inArgs = [data].map(serializeBufferable);
104
+ const outTypes: OutputType[] = [Buffer32];
105
+ const result = await this.wasm.callWasmExport(
106
+ 'blake2s',
107
+ inArgs,
108
+ outTypes.map(t => t.SIZE_IN_BYTES),
109
+ );
110
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
111
+ return out[0];
112
+ }
113
+
114
+ async blake2sToField(data: Uint8Array): Promise<Fr> {
115
+ const inArgs = [data].map(serializeBufferable);
116
+ const outTypes: OutputType[] = [Fr];
117
+ const result = await this.wasm.callWasmExport(
118
+ 'blake2s_to_field_',
119
+ inArgs,
120
+ outTypes.map(t => t.SIZE_IN_BYTES),
121
+ );
122
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
123
+ return out[0];
124
+ }
125
+
126
+ async schnorrComputePublicKey(privateKey: Fr): Promise<Point> {
127
+ const inArgs = [privateKey].map(serializeBufferable);
128
+ const outTypes: OutputType[] = [Point];
129
+ const result = await this.wasm.callWasmExport(
130
+ 'schnorr_compute_public_key',
131
+ inArgs,
132
+ outTypes.map(t => t.SIZE_IN_BYTES),
133
+ );
134
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
135
+ return out[0];
136
+ }
137
+
138
+ async schnorrNegatePublicKey(publicKeyBuffer: Point): Promise<Point> {
139
+ const inArgs = [publicKeyBuffer].map(serializeBufferable);
140
+ const outTypes: OutputType[] = [Point];
141
+ const result = await this.wasm.callWasmExport(
142
+ 'schnorr_negate_public_key',
143
+ inArgs,
144
+ outTypes.map(t => t.SIZE_IN_BYTES),
145
+ );
146
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
147
+ return out[0];
148
+ }
149
+
150
+ async schnorrConstructSignature(message: Uint8Array, privateKey: Fr): Promise<[Buffer32, Buffer32]> {
151
+ const inArgs = [message, privateKey].map(serializeBufferable);
152
+ const outTypes: OutputType[] = [Buffer32, Buffer32];
153
+ const result = await this.wasm.callWasmExport(
154
+ 'schnorr_construct_signature',
155
+ inArgs,
156
+ outTypes.map(t => t.SIZE_IN_BYTES),
157
+ );
158
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
159
+ return out as any;
160
+ }
161
+
162
+ async schnorrVerifySignature(message: Uint8Array, pubKey: Point, sigS: Buffer32, sigE: Buffer32): Promise<boolean> {
163
+ const inArgs = [message, pubKey, sigS, sigE].map(serializeBufferable);
164
+ const outTypes: OutputType[] = [BoolDeserializer()];
165
+ const result = await this.wasm.callWasmExport(
166
+ 'schnorr_verify_signature',
167
+ inArgs,
168
+ outTypes.map(t => t.SIZE_IN_BYTES),
169
+ );
170
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
171
+ return out[0];
172
+ }
173
+
174
+ async schnorrMultisigCreateMultisigPublicKey(privateKey: Fq): Promise<Buffer128> {
175
+ const inArgs = [privateKey].map(serializeBufferable);
176
+ const outTypes: OutputType[] = [Buffer128];
177
+ const result = await this.wasm.callWasmExport(
178
+ 'schnorr_multisig_create_multisig_public_key',
179
+ inArgs,
180
+ outTypes.map(t => t.SIZE_IN_BYTES),
181
+ );
182
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
183
+ return out[0];
184
+ }
185
+
186
+ async schnorrMultisigValidateAndCombineSignerPubkeys(signerPubkeyBuf: Buffer128[]): Promise<[Point, boolean]> {
187
+ const inArgs = [signerPubkeyBuf].map(serializeBufferable);
188
+ const outTypes: OutputType[] = [Point, BoolDeserializer()];
189
+ const result = await this.wasm.callWasmExport(
190
+ 'schnorr_multisig_validate_and_combine_signer_pubkeys',
191
+ inArgs,
192
+ outTypes.map(t => t.SIZE_IN_BYTES),
193
+ );
194
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
195
+ return out as any;
196
+ }
197
+
198
+ async schnorrMultisigConstructSignatureRound1(): Promise<[Buffer128, Buffer128]> {
199
+ const inArgs = [].map(serializeBufferable);
200
+ const outTypes: OutputType[] = [Buffer128, Buffer128];
201
+ const result = await this.wasm.callWasmExport(
202
+ 'schnorr_multisig_construct_signature_round_1',
203
+ inArgs,
204
+ outTypes.map(t => t.SIZE_IN_BYTES),
205
+ );
206
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
207
+ return out as any;
208
+ }
209
+
210
+ async schnorrMultisigConstructSignatureRound2(
211
+ message: Uint8Array,
212
+ privateKey: Fq,
213
+ signerRoundOnePrivateBuf: Buffer128,
214
+ signerPubkeysBuf: Buffer128[],
215
+ roundOnePublicBuf: Buffer128[],
216
+ ): Promise<[Fq, boolean]> {
217
+ const inArgs = [message, privateKey, signerRoundOnePrivateBuf, signerPubkeysBuf, roundOnePublicBuf].map(
218
+ serializeBufferable,
219
+ );
220
+ const outTypes: OutputType[] = [Fq, BoolDeserializer()];
221
+ const result = await this.wasm.callWasmExport(
222
+ 'schnorr_multisig_construct_signature_round_2',
223
+ inArgs,
224
+ outTypes.map(t => t.SIZE_IN_BYTES),
225
+ );
226
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
227
+ return out as any;
228
+ }
229
+
230
+ async schnorrMultisigCombineSignatures(
231
+ message: Uint8Array,
232
+ signerPubkeysBuf: Buffer128[],
233
+ roundOneBuf: Buffer128[],
234
+ roundTwoBuf: Fq[],
235
+ ): Promise<[Buffer32, Buffer32, boolean]> {
236
+ const inArgs = [message, signerPubkeysBuf, roundOneBuf, roundTwoBuf].map(serializeBufferable);
237
+ const outTypes: OutputType[] = [Buffer32, Buffer32, BoolDeserializer()];
238
+ const result = await this.wasm.callWasmExport(
239
+ 'schnorr_multisig_combine_signatures',
240
+ inArgs,
241
+ outTypes.map(t => t.SIZE_IN_BYTES),
242
+ );
243
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
244
+ return out as any;
245
+ }
246
+
247
+ async aesEncryptBufferCbc(input: Uint8Array, iv: Uint8Array, key: Uint8Array, length: number): Promise<Uint8Array> {
248
+ const inArgs = [input, iv, key, length].map(serializeBufferable);
249
+ const outTypes: OutputType[] = [BufferDeserializer()];
250
+ const result = await this.wasm.callWasmExport(
251
+ 'aes_encrypt_buffer_cbc',
252
+ inArgs,
253
+ outTypes.map(t => t.SIZE_IN_BYTES),
254
+ );
255
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
256
+ return out[0];
257
+ }
258
+
259
+ async aesDecryptBufferCbc(input: Uint8Array, iv: Uint8Array, key: Uint8Array, length: number): Promise<Uint8Array> {
260
+ const inArgs = [input, iv, key, length].map(serializeBufferable);
261
+ const outTypes: OutputType[] = [BufferDeserializer()];
262
+ const result = await this.wasm.callWasmExport(
263
+ 'aes_decrypt_buffer_cbc',
264
+ inArgs,
265
+ outTypes.map(t => t.SIZE_IN_BYTES),
266
+ );
267
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
268
+ return out[0];
269
+ }
270
+
271
+ async srsInitSrs(pointsBuf: Uint8Array, numPoints: number, g2PointBuf: Uint8Array): Promise<void> {
272
+ const inArgs = [pointsBuf, numPoints, g2PointBuf].map(serializeBufferable);
273
+ const outTypes: OutputType[] = [];
274
+ const result = await this.wasm.callWasmExport(
275
+ 'srs_init_srs',
276
+ inArgs,
277
+ outTypes.map(t => t.SIZE_IN_BYTES),
278
+ );
279
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
280
+ return;
281
+ }
282
+
283
+ async srsInitGrumpkinSrs(pointsBuf: Uint8Array, numPoints: number): Promise<void> {
284
+ const inArgs = [pointsBuf, numPoints].map(serializeBufferable);
285
+ const outTypes: OutputType[] = [];
286
+ const result = await this.wasm.callWasmExport(
287
+ 'srs_init_grumpkin_srs',
288
+ inArgs,
289
+ outTypes.map(t => t.SIZE_IN_BYTES),
290
+ );
291
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
292
+ return;
293
+ }
294
+
295
+ async examplesSimpleCreateAndVerifyProof(): Promise<boolean> {
296
+ const inArgs = [].map(serializeBufferable);
297
+ const outTypes: OutputType[] = [BoolDeserializer()];
298
+ const result = await this.wasm.callWasmExport(
299
+ 'examples_simple_create_and_verify_proof',
300
+ inArgs,
301
+ outTypes.map(t => t.SIZE_IN_BYTES),
302
+ );
303
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
304
+ return out[0];
305
+ }
306
+
307
+ async testThreads(threads: number, iterations: number): Promise<number> {
308
+ const inArgs = [threads, iterations].map(serializeBufferable);
309
+ const outTypes: OutputType[] = [NumberDeserializer()];
310
+ const result = await this.wasm.callWasmExport(
311
+ 'test_threads',
312
+ inArgs,
313
+ outTypes.map(t => t.SIZE_IN_BYTES),
314
+ );
315
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
316
+ return out[0];
317
+ }
318
+
319
+ async commonInitSlabAllocator(circuitSize: number): Promise<void> {
320
+ const inArgs = [circuitSize].map(serializeBufferable);
321
+ const outTypes: OutputType[] = [];
322
+ const result = await this.wasm.callWasmExport(
323
+ 'common_init_slab_allocator',
324
+ inArgs,
325
+ outTypes.map(t => t.SIZE_IN_BYTES),
326
+ );
327
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
328
+ return;
329
+ }
330
+
331
+ async acirGetCircuitSizes(
332
+ constraintSystemBuf: Uint8Array,
333
+ recursive: boolean,
334
+ honkRecursion: boolean,
335
+ ): Promise<[number, number]> {
336
+ const inArgs = [constraintSystemBuf, recursive, honkRecursion].map(serializeBufferable);
337
+ const outTypes: OutputType[] = [NumberDeserializer(), NumberDeserializer()];
338
+ const result = await this.wasm.callWasmExport(
339
+ 'acir_get_circuit_sizes',
340
+ inArgs,
341
+ outTypes.map(t => t.SIZE_IN_BYTES),
342
+ );
343
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
344
+ return out as [number, number];
345
+ }
346
+
347
+ async acirNewAcirComposer(sizeHint: number): Promise<Ptr> {
348
+ const inArgs = [sizeHint].map(serializeBufferable);
349
+ const outTypes: OutputType[] = [Ptr];
350
+ const result = await this.wasm.callWasmExport(
351
+ 'acir_new_acir_composer',
352
+ inArgs,
353
+ outTypes.map(t => t.SIZE_IN_BYTES),
354
+ );
355
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
356
+ return out[0];
357
+ }
358
+
359
+ async acirDeleteAcirComposer(acirComposerPtr: Ptr): Promise<void> {
360
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
361
+ const outTypes: OutputType[] = [];
362
+ const result = await this.wasm.callWasmExport(
363
+ 'acir_delete_acir_composer',
364
+ inArgs,
365
+ outTypes.map(t => t.SIZE_IN_BYTES),
366
+ );
367
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
368
+ return;
369
+ }
370
+
371
+ async acirInitProvingKey(acirComposerPtr: Ptr, constraintSystemBuf: Uint8Array, recursive: boolean): Promise<void> {
372
+ const inArgs = [acirComposerPtr, constraintSystemBuf, recursive].map(serializeBufferable);
373
+ const outTypes: OutputType[] = [];
374
+ const result = await this.wasm.callWasmExport(
375
+ 'acir_init_proving_key',
376
+ inArgs,
377
+ outTypes.map(t => t.SIZE_IN_BYTES),
378
+ );
379
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
380
+ return;
381
+ }
382
+
383
+ async acirCreateProof(
384
+ acirComposerPtr: Ptr,
385
+ constraintSystemBuf: Uint8Array,
386
+ recursive: boolean,
387
+ witnessBuf: Uint8Array,
388
+ ): Promise<Uint8Array> {
389
+ const inArgs = [acirComposerPtr, constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
390
+ const outTypes: OutputType[] = [BufferDeserializer()];
391
+ const result = await this.wasm.callWasmExport(
392
+ 'acir_create_proof',
393
+ inArgs,
394
+ outTypes.map(t => t.SIZE_IN_BYTES),
395
+ );
396
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
397
+ return out[0];
398
+ }
399
+
400
+ async acirProveAndVerifyUltraHonk(
401
+ constraintSystemBuf: Uint8Array,
402
+ recursive: boolean,
403
+ witnessBuf: Uint8Array,
404
+ ): Promise<boolean> {
405
+ const inArgs = [constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
406
+ const outTypes: OutputType[] = [BoolDeserializer()];
407
+ const result = await this.wasm.callWasmExport(
408
+ 'acir_prove_and_verify_ultra_honk',
409
+ inArgs,
410
+ outTypes.map(t => t.SIZE_IN_BYTES),
411
+ );
412
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
413
+ return out[0];
414
+ }
415
+
416
+ async acirProveAndVerifyMegaHonk(
417
+ constraintSystemBuf: Uint8Array,
418
+ recursive: boolean,
419
+ witnessBuf: Uint8Array,
420
+ ): Promise<boolean> {
421
+ const inArgs = [constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
422
+ const outTypes: OutputType[] = [BoolDeserializer()];
423
+ const result = await this.wasm.callWasmExport(
424
+ 'acir_prove_and_verify_mega_honk',
425
+ inArgs,
426
+ outTypes.map(t => t.SIZE_IN_BYTES),
427
+ );
428
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
429
+ return out[0];
430
+ }
431
+
432
+ async acirFoldAndVerifyProgramStack(
433
+ constraintSystemBuf: Uint8Array,
434
+ recursive: boolean,
435
+ witnessBuf: Uint8Array,
436
+ ): Promise<boolean> {
437
+ const inArgs = [constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
438
+ const outTypes: OutputType[] = [BoolDeserializer()];
439
+ const result = await this.wasm.callWasmExport(
440
+ 'acir_fold_and_verify_program_stack',
441
+ inArgs,
442
+ outTypes.map(t => t.SIZE_IN_BYTES),
443
+ );
444
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
445
+ return out[0];
446
+ }
447
+
448
+ async acirLoadVerificationKey(acirComposerPtr: Ptr, vkBuf: Uint8Array): Promise<void> {
449
+ const inArgs = [acirComposerPtr, vkBuf].map(serializeBufferable);
450
+ const outTypes: OutputType[] = [];
451
+ const result = await this.wasm.callWasmExport(
452
+ 'acir_load_verification_key',
453
+ inArgs,
454
+ outTypes.map(t => t.SIZE_IN_BYTES),
455
+ );
456
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
457
+ return;
458
+ }
459
+
460
+ async acirInitVerificationKey(acirComposerPtr: Ptr): Promise<void> {
461
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
462
+ const outTypes: OutputType[] = [];
463
+ const result = await this.wasm.callWasmExport(
464
+ 'acir_init_verification_key',
465
+ inArgs,
466
+ outTypes.map(t => t.SIZE_IN_BYTES),
467
+ );
468
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
469
+ return;
470
+ }
471
+
472
+ async acirGetVerificationKey(acirComposerPtr: Ptr): Promise<Uint8Array> {
473
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
474
+ const outTypes: OutputType[] = [BufferDeserializer()];
475
+ const result = await this.wasm.callWasmExport(
476
+ 'acir_get_verification_key',
477
+ inArgs,
478
+ outTypes.map(t => t.SIZE_IN_BYTES),
479
+ );
480
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
481
+ return out[0];
482
+ }
483
+
484
+ async acirGetProvingKey(acirComposerPtr: Ptr, acirVec: Uint8Array, recursive: boolean): Promise<Uint8Array> {
485
+ const inArgs = [acirComposerPtr, acirVec, recursive].map(serializeBufferable);
486
+ const outTypes: OutputType[] = [BufferDeserializer()];
487
+ const result = await this.wasm.callWasmExport(
488
+ 'acir_get_proving_key',
489
+ inArgs,
490
+ outTypes.map(t => t.SIZE_IN_BYTES),
491
+ );
492
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
493
+ return out[0];
494
+ }
495
+
496
+ async acirVerifyProof(acirComposerPtr: Ptr, proofBuf: Uint8Array): Promise<boolean> {
497
+ const inArgs = [acirComposerPtr, proofBuf].map(serializeBufferable);
498
+ const outTypes: OutputType[] = [BoolDeserializer()];
499
+ const result = await this.wasm.callWasmExport(
500
+ 'acir_verify_proof',
501
+ inArgs,
502
+ outTypes.map(t => t.SIZE_IN_BYTES),
503
+ );
504
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
505
+ return out[0];
506
+ }
507
+
508
+ async acirGetSolidityVerifier(acirComposerPtr: Ptr): Promise<string> {
509
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
510
+ const outTypes: OutputType[] = [StringDeserializer()];
511
+ const result = await this.wasm.callWasmExport(
512
+ 'acir_get_solidity_verifier',
513
+ inArgs,
514
+ outTypes.map(t => t.SIZE_IN_BYTES),
515
+ );
516
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
517
+ return out[0];
518
+ }
519
+
520
+ async acirSerializeProofIntoFields(
521
+ acirComposerPtr: Ptr,
522
+ proofBuf: Uint8Array,
523
+ numInnerPublicInputs: number,
524
+ ): Promise<Fr[]> {
525
+ const inArgs = [acirComposerPtr, proofBuf, numInnerPublicInputs].map(serializeBufferable);
526
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
527
+ const result = await this.wasm.callWasmExport(
528
+ 'acir_serialize_proof_into_fields',
529
+ inArgs,
530
+ outTypes.map(t => t.SIZE_IN_BYTES),
531
+ );
532
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
533
+ return out[0];
534
+ }
535
+
536
+ async acirSerializeVerificationKeyIntoFields(acirComposerPtr: Ptr): Promise<[Fr[], Fr]> {
537
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
538
+ const outTypes: OutputType[] = [VectorDeserializer(Fr), Fr];
539
+ const result = await this.wasm.callWasmExport(
540
+ 'acir_serialize_verification_key_into_fields',
541
+ inArgs,
542
+ outTypes.map(t => t.SIZE_IN_BYTES),
543
+ );
544
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
545
+ return out as any;
546
+ }
547
+
548
+ async acirProveAndVerifyAztecClient(acirVec: Uint8Array[], witnessVec: Uint8Array[]): Promise<boolean> {
549
+ const inArgs = [acirVec, witnessVec].map(serializeBufferable);
550
+ const outTypes: OutputType[] = [BoolDeserializer()];
551
+ const result = await this.wasm.callWasmExport(
552
+ 'acir_prove_and_verify_aztec_client',
553
+ inArgs,
554
+ outTypes.map(t => t.SIZE_IN_BYTES),
555
+ );
556
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
557
+ return out[0];
558
+ }
559
+
560
+ async acirProveAztecClient(acirVec: Uint8Array[], witnessVec: Uint8Array[]): Promise<[Uint8Array, Uint8Array]> {
561
+ const inArgs = [acirVec, witnessVec].map(serializeBufferable);
562
+ const outTypes: OutputType[] = [BufferDeserializer(), BufferDeserializer()];
563
+ const result = await this.wasm.callWasmExport(
564
+ 'acir_prove_aztec_client',
565
+ inArgs,
566
+ outTypes.map(t => t.SIZE_IN_BYTES),
567
+ );
568
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
569
+ return [out[0], out[1]];
570
+ }
571
+
572
+ async acirVerifyAztecClient(proofBuf: Uint8Array, vkBuf: Uint8Array): Promise<boolean> {
573
+ const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
574
+ const outTypes: OutputType[] = [BoolDeserializer()];
575
+ const result = await this.wasm.callWasmExport(
576
+ 'acir_verify_aztec_client',
577
+ inArgs,
578
+ outTypes.map(t => t.SIZE_IN_BYTES),
579
+ );
580
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
581
+ return out[0];
582
+ }
583
+
584
+ async acirProveUltraHonk(acirVec: Uint8Array, recursive: boolean, witnessVec: Uint8Array): Promise<Uint8Array> {
585
+ const inArgs = [acirVec, recursive, witnessVec].map(serializeBufferable);
586
+ const outTypes: OutputType[] = [BufferDeserializer()];
587
+ const result = await this.wasm.callWasmExport(
588
+ 'acir_prove_ultra_honk',
589
+ inArgs,
590
+ outTypes.map(t => t.SIZE_IN_BYTES),
591
+ );
592
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
593
+ return out[0];
594
+ }
595
+
596
+ async acirProveUltraKeccakHonk(acirVec: Uint8Array, recursive: boolean, witnessVec: Uint8Array): Promise<Uint8Array> {
597
+ console.log('acirProveUltraKeccakHonk in');
598
+ const inArgs = [acirVec, recursive, witnessVec].map(serializeBufferable);
599
+ const outTypes: OutputType[] = [BufferDeserializer()];
600
+ const result = await this.wasm.callWasmExport(
601
+ 'acir_prove_ultra_keccak_honk',
602
+ inArgs,
603
+ outTypes.map(t => t.SIZE_IN_BYTES),
604
+ );
605
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
606
+ return out[0];
607
+ }
608
+
609
+ async acirVerifyUltraHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): Promise<boolean> {
610
+ const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
611
+ const outTypes: OutputType[] = [BoolDeserializer()];
612
+ const result = await this.wasm.callWasmExport(
613
+ 'acir_verify_ultra_honk',
614
+ inArgs,
615
+ outTypes.map(t => t.SIZE_IN_BYTES),
616
+ );
617
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
618
+ return out[0];
619
+ }
620
+
621
+ async acirVerifyUltraKeccakHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): Promise<boolean> {
622
+ const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
623
+ const outTypes: OutputType[] = [BoolDeserializer()];
624
+ const result = await this.wasm.callWasmExport(
625
+ 'acir_verify_ultra_keccak_honk',
626
+ inArgs,
627
+ outTypes.map(t => t.SIZE_IN_BYTES),
628
+ );
629
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
630
+ return out[0];
631
+ }
632
+
633
+ async acirWriteVkUltraHonk(acirVec: Uint8Array, recursive: boolean): Promise<Uint8Array> {
634
+ const inArgs = [acirVec, recursive].map(serializeBufferable);
635
+ const outTypes: OutputType[] = [BufferDeserializer()];
636
+ const result = await this.wasm.callWasmExport(
637
+ 'acir_write_vk_ultra_honk',
638
+ inArgs,
639
+ outTypes.map(t => t.SIZE_IN_BYTES),
640
+ );
641
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
642
+ return out[0];
643
+ }
644
+
645
+ async acirWriteVkUltraKeccakHonk(acirVec: Uint8Array, recursive: boolean): Promise<Uint8Array> {
646
+ const inArgs = [acirVec, recursive].map(serializeBufferable);
647
+ const outTypes: OutputType[] = [BufferDeserializer()];
648
+ const result = await this.wasm.callWasmExport(
649
+ 'acir_write_vk_ultra_keccak_honk',
650
+ inArgs,
651
+ outTypes.map(t => t.SIZE_IN_BYTES),
652
+ );
653
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
654
+ return out[0];
655
+ }
656
+
657
+ async acirHonkSolidityVerifier(acirVec: Uint8Array, vkBuf: Uint8Array): Promise<string> {
658
+ const inArgs = [acirVec, vkBuf].map(serializeBufferable);
659
+ const outTypes: OutputType[] = [BufferDeserializer()];
660
+ const result = await this.wasm.callWasmExport(
661
+ 'acir_honk_solidity_verifier',
662
+ inArgs,
663
+ outTypes.map(t => t.SIZE_IN_BYTES),
664
+ );
665
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
666
+ return out[0];
667
+ }
668
+
669
+ async acirProofAsFieldsUltraHonk(proofBuf: Uint8Array): Promise<Fr[]> {
670
+ const inArgs = [proofBuf].map(serializeBufferable);
671
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
672
+ const result = await this.wasm.callWasmExport(
673
+ 'acir_proof_as_fields_ultra_honk',
674
+ inArgs,
675
+ outTypes.map(t => t.SIZE_IN_BYTES),
676
+ );
677
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
678
+ return out[0];
679
+ }
680
+
681
+ async acirVkAsFieldsUltraHonk(vkBuf: Uint8Array): Promise<Fr[]> {
682
+ const inArgs = [vkBuf].map(serializeBufferable);
683
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
684
+ const result = await this.wasm.callWasmExport(
685
+ 'acir_vk_as_fields_ultra_honk',
686
+ inArgs,
687
+ outTypes.map(t => t.SIZE_IN_BYTES),
688
+ );
689
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
690
+ return out[0];
691
+ }
692
+
693
+ async acirVkAsFieldsMegaHonk(vkBuf: Uint8Array): Promise<Fr[]> {
694
+ const inArgs = [vkBuf].map(serializeBufferable);
695
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
696
+ const result = await this.wasm.callWasmExport(
697
+ 'acir_vk_as_fields_mega_honk',
698
+ inArgs,
699
+ outTypes.map(t => t.SIZE_IN_BYTES),
700
+ );
701
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
702
+ return out[0];
703
+ }
704
+ }
705
+ export class BarretenbergApiSync {
706
+ constructor(protected wasm: BarretenbergWasm) {}
707
+
708
+ pedersenCommit(inputsBuffer: Fr[], ctxIndex: number): Point {
709
+ const inArgs = [inputsBuffer, ctxIndex].map(serializeBufferable);
710
+ const outTypes: OutputType[] = [Point];
711
+ const result = this.wasm.callWasmExport(
712
+ 'pedersen_commit',
713
+ inArgs,
714
+ outTypes.map(t => t.SIZE_IN_BYTES),
715
+ );
716
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
717
+ return out[0];
718
+ }
719
+
720
+ pedersenHash(inputsBuffer: Fr[], hashIndex: number): Fr {
721
+ const inArgs = [inputsBuffer, hashIndex].map(serializeBufferable);
722
+ const outTypes: OutputType[] = [Fr];
723
+ const result = this.wasm.callWasmExport(
724
+ 'pedersen_hash',
725
+ inArgs,
726
+ outTypes.map(t => t.SIZE_IN_BYTES),
727
+ );
728
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
729
+ return out[0];
730
+ }
731
+
732
+ pedersenHashes(inputsBuffer: Fr[], hashIndex: number): Fr {
733
+ const inArgs = [inputsBuffer, hashIndex].map(serializeBufferable);
734
+ const outTypes: OutputType[] = [Fr];
735
+ const result = this.wasm.callWasmExport(
736
+ 'pedersen_hashes',
737
+ inArgs,
738
+ outTypes.map(t => t.SIZE_IN_BYTES),
739
+ );
740
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
741
+ return out[0];
742
+ }
743
+
744
+ pedersenHashBuffer(inputBuffer: Uint8Array, hashIndex: number): Fr {
745
+ const inArgs = [inputBuffer, hashIndex].map(serializeBufferable);
746
+ const outTypes: OutputType[] = [Fr];
747
+ const result = this.wasm.callWasmExport(
748
+ 'pedersen_hash_buffer',
749
+ inArgs,
750
+ outTypes.map(t => t.SIZE_IN_BYTES),
751
+ );
752
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
753
+ return out[0];
754
+ }
755
+
756
+ poseidon2Hash(inputsBuffer: Fr[]): Fr {
757
+ const inArgs = [inputsBuffer].map(serializeBufferable);
758
+ const outTypes: OutputType[] = [Fr];
759
+ const result = this.wasm.callWasmExport(
760
+ 'poseidon2_hash',
761
+ inArgs,
762
+ outTypes.map(t => t.SIZE_IN_BYTES),
763
+ );
764
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
765
+ return out[0];
766
+ }
767
+
768
+ poseidon2HashAccumulate(inputsBuffer: Fr[]): Fr {
769
+ const inArgs = [inputsBuffer].map(serializeBufferable);
770
+ const outTypes: OutputType[] = [Fr];
771
+ const result = this.wasm.callWasmExport(
772
+ 'poseidon2_hash_accumulate',
773
+ inArgs,
774
+ outTypes.map(t => t.SIZE_IN_BYTES),
775
+ );
776
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
777
+ return out[0];
778
+ }
779
+
780
+ poseidon2Hashes(inputsBuffer: Fr[]): Fr {
781
+ const inArgs = [inputsBuffer].map(serializeBufferable);
782
+ const outTypes: OutputType[] = [Fr];
783
+ const result = this.wasm.callWasmExport(
784
+ 'poseidon2_hashes',
785
+ inArgs,
786
+ outTypes.map(t => t.SIZE_IN_BYTES),
787
+ );
788
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
789
+ return out[0];
790
+ }
791
+
792
+ poseidon2Permutation(inputsBuffer: Fr[]): Fr[] {
793
+ const inArgs = [inputsBuffer].map(serializeBufferable);
794
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
795
+ const result = this.wasm.callWasmExport(
796
+ 'poseidon2_permutation',
797
+ inArgs,
798
+ outTypes.map(t => t.SIZE_IN_BYTES),
799
+ );
800
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
801
+ return out[0];
802
+ }
803
+
804
+ blake2s(data: Uint8Array): Buffer32 {
805
+ const inArgs = [data].map(serializeBufferable);
806
+ const outTypes: OutputType[] = [Buffer32];
807
+ const result = this.wasm.callWasmExport(
808
+ 'blake2s',
809
+ inArgs,
810
+ outTypes.map(t => t.SIZE_IN_BYTES),
811
+ );
812
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
813
+ return out[0];
814
+ }
815
+
816
+ blake2sToField(data: Uint8Array): Fr {
817
+ const inArgs = [data].map(serializeBufferable);
818
+ const outTypes: OutputType[] = [Fr];
819
+ const result = this.wasm.callWasmExport(
820
+ 'blake2s_to_field_',
821
+ inArgs,
822
+ outTypes.map(t => t.SIZE_IN_BYTES),
823
+ );
824
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
825
+ return out[0];
826
+ }
827
+
828
+ schnorrComputePublicKey(privateKey: Fr): Point {
829
+ const inArgs = [privateKey].map(serializeBufferable);
830
+ const outTypes: OutputType[] = [Point];
831
+ const result = this.wasm.callWasmExport(
832
+ 'schnorr_compute_public_key',
833
+ inArgs,
834
+ outTypes.map(t => t.SIZE_IN_BYTES),
835
+ );
836
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
837
+ return out[0];
838
+ }
839
+
840
+ schnorrNegatePublicKey(publicKeyBuffer: Point): Point {
841
+ const inArgs = [publicKeyBuffer].map(serializeBufferable);
842
+ const outTypes: OutputType[] = [Point];
843
+ const result = this.wasm.callWasmExport(
844
+ 'schnorr_negate_public_key',
845
+ inArgs,
846
+ outTypes.map(t => t.SIZE_IN_BYTES),
847
+ );
848
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
849
+ return out[0];
850
+ }
851
+
852
+ schnorrConstructSignature(message: Uint8Array, privateKey: Fr): [Buffer32, Buffer32] {
853
+ const inArgs = [message, privateKey].map(serializeBufferable);
854
+ const outTypes: OutputType[] = [Buffer32, Buffer32];
855
+ const result = this.wasm.callWasmExport(
856
+ 'schnorr_construct_signature',
857
+ inArgs,
858
+ outTypes.map(t => t.SIZE_IN_BYTES),
859
+ );
860
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
861
+ return out as any;
862
+ }
863
+
864
+ schnorrVerifySignature(message: Uint8Array, pubKey: Point, sigS: Buffer32, sigE: Buffer32): boolean {
865
+ const inArgs = [message, pubKey, sigS, sigE].map(serializeBufferable);
866
+ const outTypes: OutputType[] = [BoolDeserializer()];
867
+ const result = this.wasm.callWasmExport(
868
+ 'schnorr_verify_signature',
869
+ inArgs,
870
+ outTypes.map(t => t.SIZE_IN_BYTES),
871
+ );
872
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
873
+ return out[0];
874
+ }
875
+
876
+ schnorrMultisigCreateMultisigPublicKey(privateKey: Fq): Buffer128 {
877
+ const inArgs = [privateKey].map(serializeBufferable);
878
+ const outTypes: OutputType[] = [Buffer128];
879
+ const result = this.wasm.callWasmExport(
880
+ 'schnorr_multisig_create_multisig_public_key',
881
+ inArgs,
882
+ outTypes.map(t => t.SIZE_IN_BYTES),
883
+ );
884
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
885
+ return out[0];
886
+ }
887
+
888
+ schnorrMultisigValidateAndCombineSignerPubkeys(signerPubkeyBuf: Buffer128[]): [Point, boolean] {
889
+ const inArgs = [signerPubkeyBuf].map(serializeBufferable);
890
+ const outTypes: OutputType[] = [Point, BoolDeserializer()];
891
+ const result = this.wasm.callWasmExport(
892
+ 'schnorr_multisig_validate_and_combine_signer_pubkeys',
893
+ inArgs,
894
+ outTypes.map(t => t.SIZE_IN_BYTES),
895
+ );
896
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
897
+ return out as any;
898
+ }
899
+
900
+ schnorrMultisigConstructSignatureRound1(): [Buffer128, Buffer128] {
901
+ const inArgs = [].map(serializeBufferable);
902
+ const outTypes: OutputType[] = [Buffer128, Buffer128];
903
+ const result = this.wasm.callWasmExport(
904
+ 'schnorr_multisig_construct_signature_round_1',
905
+ inArgs,
906
+ outTypes.map(t => t.SIZE_IN_BYTES),
907
+ );
908
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
909
+ return out as any;
910
+ }
911
+
912
+ schnorrMultisigConstructSignatureRound2(
913
+ message: Uint8Array,
914
+ privateKey: Fq,
915
+ signerRoundOnePrivateBuf: Buffer128,
916
+ signerPubkeysBuf: Buffer128[],
917
+ roundOnePublicBuf: Buffer128[],
918
+ ): [Fq, boolean] {
919
+ const inArgs = [message, privateKey, signerRoundOnePrivateBuf, signerPubkeysBuf, roundOnePublicBuf].map(
920
+ serializeBufferable,
921
+ );
922
+ const outTypes: OutputType[] = [Fq, BoolDeserializer()];
923
+ const result = this.wasm.callWasmExport(
924
+ 'schnorr_multisig_construct_signature_round_2',
925
+ inArgs,
926
+ outTypes.map(t => t.SIZE_IN_BYTES),
927
+ );
928
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
929
+ return out as any;
930
+ }
931
+
932
+ schnorrMultisigCombineSignatures(
933
+ message: Uint8Array,
934
+ signerPubkeysBuf: Buffer128[],
935
+ roundOneBuf: Buffer128[],
936
+ roundTwoBuf: Fq[],
937
+ ): [Buffer32, Buffer32, boolean] {
938
+ const inArgs = [message, signerPubkeysBuf, roundOneBuf, roundTwoBuf].map(serializeBufferable);
939
+ const outTypes: OutputType[] = [Buffer32, Buffer32, BoolDeserializer()];
940
+ const result = this.wasm.callWasmExport(
941
+ 'schnorr_multisig_combine_signatures',
942
+ inArgs,
943
+ outTypes.map(t => t.SIZE_IN_BYTES),
944
+ );
945
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
946
+ return out as any;
947
+ }
948
+
949
+ aesEncryptBufferCbc(input: Uint8Array, iv: Uint8Array, key: Uint8Array, length: number): Uint8Array {
950
+ const inArgs = [input, iv, key, length].map(serializeBufferable);
951
+ const outTypes: OutputType[] = [BufferDeserializer()];
952
+ const result = this.wasm.callWasmExport(
953
+ 'aes_encrypt_buffer_cbc',
954
+ inArgs,
955
+ outTypes.map(t => t.SIZE_IN_BYTES),
956
+ );
957
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
958
+ return out[0];
959
+ }
960
+
961
+ aesDecryptBufferCbc(input: Uint8Array, iv: Uint8Array, key: Uint8Array, length: number): Uint8Array {
962
+ const inArgs = [input, iv, key, length].map(serializeBufferable);
963
+ const outTypes: OutputType[] = [BufferDeserializer()];
964
+ const result = this.wasm.callWasmExport(
965
+ 'aes_decrypt_buffer_cbc',
966
+ inArgs,
967
+ outTypes.map(t => t.SIZE_IN_BYTES),
968
+ );
969
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
970
+ return out[0];
971
+ }
972
+
973
+ srsInitSrs(pointsBuf: Uint8Array, numPoints: number, g2PointBuf: Uint8Array): void {
974
+ const inArgs = [pointsBuf, numPoints, g2PointBuf].map(serializeBufferable);
975
+ const outTypes: OutputType[] = [];
976
+ const result = this.wasm.callWasmExport(
977
+ 'srs_init_srs',
978
+ inArgs,
979
+ outTypes.map(t => t.SIZE_IN_BYTES),
980
+ );
981
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
982
+ return;
983
+ }
984
+
985
+ srsInitGrumpkinSrs(pointsBuf: Uint8Array, numPoints: number): void {
986
+ const inArgs = [pointsBuf, numPoints].map(serializeBufferable);
987
+ const outTypes: OutputType[] = [];
988
+ const result = this.wasm.callWasmExport(
989
+ 'srs_init_grumpkin_srs',
990
+ inArgs,
991
+ outTypes.map(t => t.SIZE_IN_BYTES),
992
+ );
993
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
994
+ return;
995
+ }
996
+
997
+ examplesSimpleCreateAndVerifyProof(): boolean {
998
+ const inArgs = [].map(serializeBufferable);
999
+ const outTypes: OutputType[] = [BoolDeserializer()];
1000
+ const result = this.wasm.callWasmExport(
1001
+ 'examples_simple_create_and_verify_proof',
1002
+ inArgs,
1003
+ outTypes.map(t => t.SIZE_IN_BYTES),
1004
+ );
1005
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1006
+ return out[0];
1007
+ }
1008
+
1009
+ testThreads(threads: number, iterations: number): number {
1010
+ const inArgs = [threads, iterations].map(serializeBufferable);
1011
+ const outTypes: OutputType[] = [NumberDeserializer()];
1012
+ const result = this.wasm.callWasmExport(
1013
+ 'test_threads',
1014
+ inArgs,
1015
+ outTypes.map(t => t.SIZE_IN_BYTES),
1016
+ );
1017
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1018
+ return out[0];
1019
+ }
1020
+
1021
+ commonInitSlabAllocator(circuitSize: number): void {
1022
+ const inArgs = [circuitSize].map(serializeBufferable);
1023
+ const outTypes: OutputType[] = [];
1024
+ const result = this.wasm.callWasmExport(
1025
+ 'common_init_slab_allocator',
1026
+ inArgs,
1027
+ outTypes.map(t => t.SIZE_IN_BYTES),
1028
+ );
1029
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1030
+ return;
1031
+ }
1032
+
1033
+ acirGetCircuitSizes(
1034
+ constraintSystemBuf: Uint8Array,
1035
+ recursive: boolean,
1036
+ honkRecursion: boolean,
1037
+ ): [number, number, number] {
1038
+ const inArgs = [constraintSystemBuf, recursive, honkRecursion].map(serializeBufferable);
1039
+ const outTypes: OutputType[] = [NumberDeserializer(), NumberDeserializer()];
1040
+ const result = this.wasm.callWasmExport(
1041
+ 'acir_get_circuit_sizes',
1042
+ inArgs,
1043
+ outTypes.map(t => t.SIZE_IN_BYTES),
1044
+ );
1045
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1046
+ return out as any;
1047
+ }
1048
+
1049
+ acirNewAcirComposer(sizeHint: number): Ptr {
1050
+ const inArgs = [sizeHint].map(serializeBufferable);
1051
+ const outTypes: OutputType[] = [Ptr];
1052
+ const result = this.wasm.callWasmExport(
1053
+ 'acir_new_acir_composer',
1054
+ inArgs,
1055
+ outTypes.map(t => t.SIZE_IN_BYTES),
1056
+ );
1057
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1058
+ return out[0];
1059
+ }
1060
+
1061
+ acirDeleteAcirComposer(acirComposerPtr: Ptr): void {
1062
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
1063
+ const outTypes: OutputType[] = [];
1064
+ const result = this.wasm.callWasmExport(
1065
+ 'acir_delete_acir_composer',
1066
+ inArgs,
1067
+ outTypes.map(t => t.SIZE_IN_BYTES),
1068
+ );
1069
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1070
+ return;
1071
+ }
1072
+
1073
+ acirInitProvingKey(acirComposerPtr: Ptr, constraintSystemBuf: Uint8Array, recursive: boolean): void {
1074
+ const inArgs = [acirComposerPtr, constraintSystemBuf, recursive].map(serializeBufferable);
1075
+ const outTypes: OutputType[] = [];
1076
+ const result = this.wasm.callWasmExport(
1077
+ 'acir_init_proving_key',
1078
+ inArgs,
1079
+ outTypes.map(t => t.SIZE_IN_BYTES),
1080
+ );
1081
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1082
+ return;
1083
+ }
1084
+
1085
+ acirCreateProof(
1086
+ acirComposerPtr: Ptr,
1087
+ constraintSystemBuf: Uint8Array,
1088
+ recursive: boolean,
1089
+ witnessBuf: Uint8Array,
1090
+ ): Uint8Array {
1091
+ const inArgs = [acirComposerPtr, constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
1092
+ const outTypes: OutputType[] = [BufferDeserializer()];
1093
+ const result = this.wasm.callWasmExport(
1094
+ 'acir_create_proof',
1095
+ inArgs,
1096
+ outTypes.map(t => t.SIZE_IN_BYTES),
1097
+ );
1098
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1099
+ return out[0];
1100
+ }
1101
+
1102
+ acirProveAndVerifyUltraHonk(constraintSystemBuf: Uint8Array, recursive: boolean, witnessBuf: Uint8Array): boolean {
1103
+ const inArgs = [constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
1104
+ const outTypes: OutputType[] = [BoolDeserializer()];
1105
+ const result = this.wasm.callWasmExport(
1106
+ 'acir_prove_and_verify_ultra_honk',
1107
+ inArgs,
1108
+ outTypes.map(t => t.SIZE_IN_BYTES),
1109
+ );
1110
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1111
+ return out[0];
1112
+ }
1113
+
1114
+ acirProveAndVerifyMegaHonk(constraintSystemBuf: Uint8Array, recursive: boolean, witnessBuf: Uint8Array): boolean {
1115
+ const inArgs = [constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
1116
+ const outTypes: OutputType[] = [BoolDeserializer()];
1117
+ const result = this.wasm.callWasmExport(
1118
+ 'acir_prove_and_verify_mega_honk',
1119
+ inArgs,
1120
+ outTypes.map(t => t.SIZE_IN_BYTES),
1121
+ );
1122
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1123
+ return out[0];
1124
+ }
1125
+
1126
+ acirFoldAndVerifyProgramStack(constraintSystemBuf: Uint8Array, recursive: boolean, witnessBuf: Uint8Array): boolean {
1127
+ const inArgs = [constraintSystemBuf, recursive, witnessBuf].map(serializeBufferable);
1128
+ const outTypes: OutputType[] = [BoolDeserializer()];
1129
+ const result = this.wasm.callWasmExport(
1130
+ 'acir_fold_and_verify_program_stack',
1131
+ inArgs,
1132
+ outTypes.map(t => t.SIZE_IN_BYTES),
1133
+ );
1134
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1135
+ return out[0];
1136
+ }
1137
+
1138
+ acirLoadVerificationKey(acirComposerPtr: Ptr, vkBuf: Uint8Array): void {
1139
+ const inArgs = [acirComposerPtr, vkBuf].map(serializeBufferable);
1140
+ const outTypes: OutputType[] = [];
1141
+ const result = this.wasm.callWasmExport(
1142
+ 'acir_load_verification_key',
1143
+ inArgs,
1144
+ outTypes.map(t => t.SIZE_IN_BYTES),
1145
+ );
1146
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1147
+ return;
1148
+ }
1149
+
1150
+ acirInitVerificationKey(acirComposerPtr: Ptr): void {
1151
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
1152
+ const outTypes: OutputType[] = [];
1153
+ const result = this.wasm.callWasmExport(
1154
+ 'acir_init_verification_key',
1155
+ inArgs,
1156
+ outTypes.map(t => t.SIZE_IN_BYTES),
1157
+ );
1158
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1159
+ return;
1160
+ }
1161
+
1162
+ acirGetVerificationKey(acirComposerPtr: Ptr): Uint8Array {
1163
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
1164
+ const outTypes: OutputType[] = [BufferDeserializer()];
1165
+ const result = this.wasm.callWasmExport(
1166
+ 'acir_get_verification_key',
1167
+ inArgs,
1168
+ outTypes.map(t => t.SIZE_IN_BYTES),
1169
+ );
1170
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1171
+ return out[0];
1172
+ }
1173
+
1174
+ acirGetProvingKey(acirComposerPtr: Ptr, acirVec: Uint8Array, recursive: boolean): Uint8Array {
1175
+ const inArgs = [acirComposerPtr, acirVec, recursive].map(serializeBufferable);
1176
+ const outTypes: OutputType[] = [BufferDeserializer()];
1177
+ const result = this.wasm.callWasmExport(
1178
+ 'acir_get_proving_key',
1179
+ inArgs,
1180
+ outTypes.map(t => t.SIZE_IN_BYTES),
1181
+ );
1182
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1183
+ return out[0];
1184
+ }
1185
+
1186
+ acirVerifyProof(acirComposerPtr: Ptr, proofBuf: Uint8Array): boolean {
1187
+ const inArgs = [acirComposerPtr, proofBuf].map(serializeBufferable);
1188
+ const outTypes: OutputType[] = [BoolDeserializer()];
1189
+ const result = this.wasm.callWasmExport(
1190
+ 'acir_verify_proof',
1191
+ inArgs,
1192
+ outTypes.map(t => t.SIZE_IN_BYTES),
1193
+ );
1194
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1195
+ return out[0];
1196
+ }
1197
+
1198
+ acirGetSolidityVerifier(acirComposerPtr: Ptr): string {
1199
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
1200
+ const outTypes: OutputType[] = [StringDeserializer()];
1201
+ const result = this.wasm.callWasmExport(
1202
+ 'acir_get_solidity_verifier',
1203
+ inArgs,
1204
+ outTypes.map(t => t.SIZE_IN_BYTES),
1205
+ );
1206
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1207
+ return out[0];
1208
+ }
1209
+
1210
+ acirSerializeProofIntoFields(acirComposerPtr: Ptr, proofBuf: Uint8Array, numInnerPublicInputs: number): Fr[] {
1211
+ const inArgs = [acirComposerPtr, proofBuf, numInnerPublicInputs].map(serializeBufferable);
1212
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
1213
+ const result = this.wasm.callWasmExport(
1214
+ 'acir_serialize_proof_into_fields',
1215
+ inArgs,
1216
+ outTypes.map(t => t.SIZE_IN_BYTES),
1217
+ );
1218
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1219
+ return out[0];
1220
+ }
1221
+
1222
+ acirSerializeVerificationKeyIntoFields(acirComposerPtr: Ptr): [Fr[], Fr] {
1223
+ const inArgs = [acirComposerPtr].map(serializeBufferable);
1224
+ const outTypes: OutputType[] = [VectorDeserializer(Fr), Fr];
1225
+ const result = this.wasm.callWasmExport(
1226
+ 'acir_serialize_verification_key_into_fields',
1227
+ inArgs,
1228
+ outTypes.map(t => t.SIZE_IN_BYTES),
1229
+ );
1230
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1231
+ return out as any;
1232
+ }
1233
+
1234
+ acirProveUltraHonk(acirVec: Uint8Array, recursive: boolean, witnessVec: Uint8Array): Uint8Array {
1235
+ const inArgs = [acirVec, recursive, witnessVec].map(serializeBufferable);
1236
+ const outTypes: OutputType[] = [BufferDeserializer()];
1237
+ const result = this.wasm.callWasmExport(
1238
+ 'acir_prove_ultra_honk',
1239
+ inArgs,
1240
+ outTypes.map(t => t.SIZE_IN_BYTES),
1241
+ );
1242
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1243
+ return out[0];
1244
+ }
1245
+
1246
+ acirVerifyUltraHonk(proofBuf: Uint8Array, vkBuf: Uint8Array): boolean {
1247
+ const inArgs = [proofBuf, vkBuf].map(serializeBufferable);
1248
+ const outTypes: OutputType[] = [BoolDeserializer()];
1249
+ const result = this.wasm.callWasmExport(
1250
+ 'acir_verify_ultra_honk',
1251
+ inArgs,
1252
+ outTypes.map(t => t.SIZE_IN_BYTES),
1253
+ );
1254
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1255
+ return out[0];
1256
+ }
1257
+
1258
+ acirWriteVkUltraHonk(acirVec: Uint8Array, recursive: boolean): Uint8Array {
1259
+ const inArgs = [acirVec, recursive].map(serializeBufferable);
1260
+ const outTypes: OutputType[] = [BufferDeserializer()];
1261
+ const result = this.wasm.callWasmExport(
1262
+ 'acir_write_vk_ultra_honk',
1263
+ inArgs,
1264
+ outTypes.map(t => t.SIZE_IN_BYTES),
1265
+ );
1266
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1267
+ return out[0];
1268
+ }
1269
+
1270
+ acirProofAsFieldsUltraHonk(proofBuf: Uint8Array): Fr[] {
1271
+ const inArgs = [proofBuf].map(serializeBufferable);
1272
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
1273
+ const result = this.wasm.callWasmExport(
1274
+ 'acir_proof_as_fields_ultra_honk',
1275
+ inArgs,
1276
+ outTypes.map(t => t.SIZE_IN_BYTES),
1277
+ );
1278
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1279
+ return out[0];
1280
+ }
1281
+
1282
+ acirVkAsFieldsUltraHonk(vkBuf: Uint8Array): Fr[] {
1283
+ const inArgs = [vkBuf].map(serializeBufferable);
1284
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
1285
+ const result = this.wasm.callWasmExport(
1286
+ 'acir_vk_as_fields_ultra_honk',
1287
+ inArgs,
1288
+ outTypes.map(t => t.SIZE_IN_BYTES),
1289
+ );
1290
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1291
+ return out[0];
1292
+ }
1293
+
1294
+ acirVkAsFieldsMegaHonk(vkBuf: Uint8Array): Fr[] {
1295
+ const inArgs = [vkBuf].map(serializeBufferable);
1296
+ const outTypes: OutputType[] = [VectorDeserializer(Fr)];
1297
+ const result = this.wasm.callWasmExport(
1298
+ 'acir_vk_as_fields_mega_honk',
1299
+ inArgs,
1300
+ outTypes.map(t => t.SIZE_IN_BYTES),
1301
+ );
1302
+ const out = result.map((r, i) => outTypes[i].fromBuffer(r));
1303
+ return out[0];
1304
+ }
1305
+ }