@aztec/bb.js 0.0.1-alpha.7 → 0.0.1-commit.5476d83

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 (777) hide show
  1. package/README.md +55 -84
  2. package/build/amd64-linux/bb +0 -0
  3. package/build/amd64-linux/nodejs_module.node +0 -0
  4. package/build/amd64-macos/bb +0 -0
  5. package/build/amd64-macos/nodejs_module.node +0 -0
  6. package/build/arm64-linux/bb +0 -0
  7. package/build/arm64-linux/nodejs_module.node +0 -0
  8. package/build/arm64-macos/bb +0 -0
  9. package/build/arm64-macos/nodejs_module.node +0 -0
  10. package/dest/{async_map → browser/async_map}/index.d.ts +1 -1
  11. package/dest/browser/async_map/index.d.ts.map +1 -0
  12. package/dest/{async_map → browser/async_map}/index.js +1 -1
  13. package/dest/browser/barretenberg/backend.d.ts +61 -0
  14. package/dest/browser/barretenberg/backend.d.ts.map +1 -0
  15. package/dest/browser/barretenberg/backend.js +250 -0
  16. package/dest/browser/barretenberg/index.d.ts +65 -0
  17. package/dest/browser/barretenberg/index.d.ts.map +1 -0
  18. package/dest/browser/barretenberg/index.js +182 -0
  19. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
  20. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  21. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  22. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  23. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  24. package/dest/browser/barretenberg/testing/fields.js +47 -0
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  45. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
  46. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
  47. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  48. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  51. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +2 -0
  52. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  53. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  54. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +2 -0
  55. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  56. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  57. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  58. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  59. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  60. package/dest/browser/barretenberg_wasm/fetch_code/index.js +2 -0
  61. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  62. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  63. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +47 -0
  64. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +2 -0
  65. package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  66. package/dest/browser/barretenberg_wasm/helpers/index.js +2 -0
  67. package/dest/browser/barretenberg_wasm/index.d.ts +5 -0
  68. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -0
  69. package/dest/browser/barretenberg_wasm/index.js +15 -0
  70. package/dest/browser/bb_backends/browser/index.d.ts +11 -0
  71. package/dest/browser/bb_backends/browser/index.d.ts.map +1 -0
  72. package/dest/browser/bb_backends/browser/index.js +39 -0
  73. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  74. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  75. package/dest/browser/bb_backends/browser/platform.js +10 -0
  76. package/dest/browser/bb_backends/index.d.ts +48 -0
  77. package/dest/browser/bb_backends/index.d.ts.map +1 -0
  78. package/dest/browser/bb_backends/index.js +16 -0
  79. package/dest/browser/bb_backends/interface.d.ts +33 -0
  80. package/dest/browser/bb_backends/interface.d.ts.map +1 -0
  81. package/dest/browser/bb_backends/interface.js +2 -0
  82. package/dest/browser/bb_backends/wasm.d.ts +49 -0
  83. package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
  84. package/dest/browser/bb_backends/wasm.js +85 -0
  85. package/dest/browser/bbapi_exception.d.ts +7 -0
  86. package/dest/browser/bbapi_exception.d.ts.map +1 -0
  87. package/dest/browser/bbapi_exception.js +14 -0
  88. package/dest/browser/bin/index.d.ts +3 -0
  89. package/dest/{bindgen → browser/bin}/index.d.ts.map +1 -1
  90. package/dest/browser/bin/index.js +11 -0
  91. package/dest/browser/cbind/generate.d.ts +5 -0
  92. package/dest/browser/cbind/generate.d.ts.map +1 -0
  93. package/dest/browser/cbind/generate.js +151 -0
  94. package/dest/browser/cbind/generated/api_types.d.ts +2051 -0
  95. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -0
  96. package/dest/browser/cbind/generated/api_types.js +2747 -0
  97. package/dest/browser/cbind/generated/async.d.ts +62 -0
  98. package/dest/browser/cbind/generated/async.d.ts.map +1 -0
  99. package/dest/browser/cbind/generated/async.js +663 -0
  100. package/dest/browser/cbind/generated/curve_constants.d.ts +45 -0
  101. package/dest/browser/cbind/generated/curve_constants.d.ts.map +1 -0
  102. package/dest/browser/cbind/generated/curve_constants.js +45 -0
  103. package/dest/browser/cbind/generated/sync.d.ts +62 -0
  104. package/dest/browser/cbind/generated/sync.d.ts.map +1 -0
  105. package/dest/browser/cbind/generated/sync.js +610 -0
  106. package/dest/browser/cbind/schema_compiler.d.ts +68 -0
  107. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -0
  108. package/dest/browser/cbind/schema_compiler.js +600 -0
  109. package/dest/browser/crs/browser/cached_net_crs.d.ts +43 -0
  110. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -0
  111. package/dest/browser/crs/browser/cached_net_crs.js +95 -0
  112. package/dest/browser/crs/browser/index.d.ts +2 -0
  113. package/dest/browser/crs/browser/index.d.ts.map +1 -0
  114. package/dest/browser/crs/browser/index.js +2 -0
  115. package/dest/browser/crs/index.d.ts +2 -0
  116. package/dest/browser/crs/index.d.ts.map +1 -0
  117. package/dest/browser/crs/index.js +2 -0
  118. package/dest/browser/crs/net_crs.d.ts +70 -0
  119. package/dest/browser/crs/net_crs.d.ts.map +1 -0
  120. package/dest/browser/crs/net_crs.js +141 -0
  121. package/dest/browser/index.d.ts +9 -0
  122. package/dest/browser/index.d.ts.map +1 -0
  123. package/dest/browser/index.js +9 -0
  124. package/dest/browser/proof/index.d.ts +21 -0
  125. package/dest/browser/proof/index.d.ts.map +1 -0
  126. package/dest/browser/proof/index.js +63 -0
  127. package/dest/browser/random/browser/index.d.ts +2 -0
  128. package/dest/browser/random/browser/index.d.ts.map +1 -0
  129. package/dest/browser/random/browser/index.js +31 -0
  130. package/dest/browser/random/index.d.ts +2 -0
  131. package/dest/browser/random/index.d.ts.map +1 -0
  132. package/dest/browser/random/index.js +2 -0
  133. package/dest/browser/retry/index.d.ts +26 -0
  134. package/dest/browser/retry/index.d.ts.map +1 -0
  135. package/dest/browser/retry/index.js +50 -0
  136. package/dest/node/async_map/index.d.ts +10 -0
  137. package/dest/node/async_map/index.d.ts.map +1 -0
  138. package/dest/node/async_map/index.js +16 -0
  139. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +156 -0
  140. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +40 -0
  141. package/dest/node/barretenberg/backend.d.ts +61 -0
  142. package/dest/node/barretenberg/backend.d.ts.map +1 -0
  143. package/dest/node/barretenberg/backend.js +250 -0
  144. package/dest/node/barretenberg/blake2s.test.d.ts +2 -0
  145. package/dest/node/barretenberg/blake2s.test.d.ts.map +1 -0
  146. package/dest/node/barretenberg/blake2s.test.js +57 -0
  147. package/dest/node/barretenberg/index.d.ts +65 -0
  148. package/dest/node/barretenberg/index.d.ts.map +1 -0
  149. package/dest/node/barretenberg/index.js +182 -0
  150. package/dest/node/barretenberg/pedersen.test.d.ts +2 -0
  151. package/dest/node/barretenberg/pedersen.test.d.ts.map +1 -0
  152. package/dest/node/barretenberg/pedersen.test.js +62 -0
  153. package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
  154. package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  155. package/dest/node/barretenberg/poseidon.bench.test.js +218 -0
  156. package/dest/node/barretenberg/poseidon.test.d.ts +2 -0
  157. package/dest/node/barretenberg/poseidon.test.d.ts.map +1 -0
  158. package/dest/node/barretenberg/poseidon.test.js +35 -0
  159. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  160. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  161. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  162. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  163. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  164. package/dest/node/barretenberg/testing/fields.js +47 -0
  165. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  166. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  167. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  168. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +124 -0
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +9 -0
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +6 -0
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +19 -0
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  179. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  180. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +9 -0
  181. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  182. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  183. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +71 -0
  184. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
  185. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  186. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +197 -0
  187. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  188. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  189. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +9 -0
  190. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  191. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  192. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +6 -0
  193. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  194. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  195. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +19 -0
  196. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  197. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  198. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +10 -0
  199. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
  200. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  201. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +41 -0
  202. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  203. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  204. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +3 -0
  205. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  206. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  207. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +3 -0
  208. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  209. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  210. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +36 -0
  211. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  212. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  213. package/dest/node/barretenberg_wasm/fetch_code/index.js +2 -0
  214. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  215. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  216. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +35 -0
  217. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  218. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  219. package/dest/node/barretenberg_wasm/helpers/browser/index.js +47 -0
  220. package/dest/node/barretenberg_wasm/helpers/index.d.ts +2 -0
  221. package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  222. package/dest/node/barretenberg_wasm/helpers/index.js +2 -0
  223. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +21 -0
  224. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  225. package/dest/node/barretenberg_wasm/helpers/node/index.js +56 -0
  226. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  227. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  228. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +28 -0
  229. package/dest/node/barretenberg_wasm/index.d.ts +5 -0
  230. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -0
  231. package/dest/node/barretenberg_wasm/index.js +15 -0
  232. package/dest/node/barretenberg_wasm/index.test.d.ts +2 -0
  233. package/dest/node/barretenberg_wasm/index.test.d.ts.map +1 -0
  234. package/dest/node/barretenberg_wasm/index.test.js +39 -0
  235. package/dest/node/bb_backends/browser/index.d.ts +11 -0
  236. package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
  237. package/dest/node/bb_backends/browser/index.js +39 -0
  238. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  239. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  240. package/dest/node/bb_backends/browser/platform.js +10 -0
  241. package/dest/node/bb_backends/index.d.ts +48 -0
  242. package/dest/node/bb_backends/index.d.ts.map +1 -0
  243. package/dest/node/bb_backends/index.js +16 -0
  244. package/dest/node/bb_backends/interface.d.ts +33 -0
  245. package/dest/node/bb_backends/interface.d.ts.map +1 -0
  246. package/dest/node/bb_backends/interface.js +2 -0
  247. package/dest/node/bb_backends/node/index.d.ts +11 -0
  248. package/dest/node/bb_backends/node/index.d.ts.map +1 -0
  249. package/dest/node/bb_backends/node/index.js +86 -0
  250. package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
  251. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
  252. package/dest/node/bb_backends/node/native_pipe.js +114 -0
  253. package/dest/node/bb_backends/node/native_shm.d.ts +28 -0
  254. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
  255. package/dest/node/bb_backends/node/native_shm.js +177 -0
  256. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  257. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  258. package/dest/node/bb_backends/node/native_shm_async.js +237 -0
  259. package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
  260. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
  261. package/dest/node/bb_backends/node/native_socket.js +281 -0
  262. package/dest/node/bb_backends/node/platform.d.ts +27 -0
  263. package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
  264. package/dest/node/bb_backends/node/platform.js +124 -0
  265. package/dest/node/bb_backends/wasm.d.ts +49 -0
  266. package/dest/node/bb_backends/wasm.d.ts.map +1 -0
  267. package/dest/node/bb_backends/wasm.js +85 -0
  268. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  269. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  270. package/dest/node/bbapi/exception_handling.test.js +48 -0
  271. package/dest/node/bbapi_exception.d.ts +7 -0
  272. package/dest/node/bbapi_exception.d.ts.map +1 -0
  273. package/dest/node/bbapi_exception.js +14 -0
  274. package/dest/node/benchmark/index.d.ts +3 -0
  275. package/dest/node/benchmark/index.d.ts.map +1 -0
  276. package/dest/node/benchmark/index.js +25 -0
  277. package/dest/node/benchmark/timer.d.ts +34 -0
  278. package/dest/node/benchmark/timer.d.ts.map +1 -0
  279. package/dest/node/benchmark/timer.js +42 -0
  280. package/dest/node/bin/index.d.ts +3 -0
  281. package/dest/node/bin/index.d.ts.map +1 -0
  282. package/dest/node/bin/index.js +11 -0
  283. package/dest/node/cbind/generate.d.ts +5 -0
  284. package/dest/node/cbind/generate.d.ts.map +1 -0
  285. package/dest/node/cbind/generate.js +151 -0
  286. package/dest/node/cbind/generated/api_types.d.ts +2051 -0
  287. package/dest/node/cbind/generated/api_types.d.ts.map +1 -0
  288. package/dest/node/cbind/generated/api_types.js +2747 -0
  289. package/dest/node/cbind/generated/async.d.ts +62 -0
  290. package/dest/node/cbind/generated/async.d.ts.map +1 -0
  291. package/dest/node/cbind/generated/async.js +663 -0
  292. package/dest/node/cbind/generated/curve_constants.d.ts +45 -0
  293. package/dest/node/cbind/generated/curve_constants.d.ts.map +1 -0
  294. package/dest/node/cbind/generated/curve_constants.js +45 -0
  295. package/dest/node/cbind/generated/sync.d.ts +62 -0
  296. package/dest/node/cbind/generated/sync.d.ts.map +1 -0
  297. package/dest/node/cbind/generated/sync.js +610 -0
  298. package/dest/node/cbind/schema_compiler.d.ts +68 -0
  299. package/dest/node/cbind/schema_compiler.d.ts.map +1 -0
  300. package/dest/node/cbind/schema_compiler.js +600 -0
  301. package/dest/node/crs/browser/cached_net_crs.d.ts +43 -0
  302. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -0
  303. package/dest/node/crs/browser/cached_net_crs.js +95 -0
  304. package/dest/node/crs/browser/index.d.ts +2 -0
  305. package/dest/node/crs/browser/index.d.ts.map +1 -0
  306. package/dest/node/crs/browser/index.js +2 -0
  307. package/dest/node/crs/index.d.ts +2 -0
  308. package/dest/node/crs/index.d.ts.map +1 -0
  309. package/dest/node/crs/index.js +2 -0
  310. package/dest/node/crs/net_crs.d.ts +70 -0
  311. package/dest/node/crs/net_crs.d.ts.map +1 -0
  312. package/dest/node/crs/net_crs.js +141 -0
  313. package/dest/node/crs/node/index.d.ts +38 -0
  314. package/dest/node/crs/node/index.d.ts.map +1 -0
  315. package/dest/node/crs/node/index.js +107 -0
  316. package/dest/node/index.d.ts +9 -0
  317. package/dest/node/index.d.ts.map +1 -0
  318. package/dest/node/index.js +9 -0
  319. package/dest/node/proof/index.d.ts +21 -0
  320. package/dest/node/proof/index.d.ts.map +1 -0
  321. package/dest/node/proof/index.js +63 -0
  322. package/dest/node/random/browser/index.d.ts +2 -0
  323. package/dest/node/random/browser/index.d.ts.map +1 -0
  324. package/dest/node/random/browser/index.js +31 -0
  325. package/dest/node/random/index.d.ts +2 -0
  326. package/dest/node/random/index.d.ts.map +1 -0
  327. package/dest/{random → node/random}/index.js +1 -1
  328. package/dest/node/random/node/index.d.ts +2 -0
  329. package/dest/node/random/node/index.d.ts.map +1 -0
  330. package/dest/node/random/node/index.js +5 -0
  331. package/dest/node/retry/index.d.ts +26 -0
  332. package/dest/node/retry/index.d.ts.map +1 -0
  333. package/dest/node/retry/index.js +50 -0
  334. package/dest/node-cjs/async_map/index.d.ts +10 -0
  335. package/dest/node-cjs/async_map/index.d.ts.map +1 -0
  336. package/dest/node-cjs/async_map/index.js +19 -0
  337. package/dest/node-cjs/barretenberg/backend.d.ts +61 -0
  338. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -0
  339. package/dest/node-cjs/barretenberg/backend.js +257 -0
  340. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +2 -0
  341. package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +1 -0
  342. package/dest/node-cjs/barretenberg/blake2s.test.js +59 -0
  343. package/dest/node-cjs/barretenberg/index.d.ts +65 -0
  344. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -0
  345. package/dest/node-cjs/barretenberg/index.js +191 -0
  346. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +2 -0
  347. package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +1 -0
  348. package/dest/node-cjs/barretenberg/pedersen.test.js +64 -0
  349. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
  350. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  351. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +220 -0
  352. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +2 -0
  353. package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +1 -0
  354. package/dest/node-cjs/barretenberg/poseidon.test.js +37 -0
  355. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  356. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  357. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  358. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  359. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  360. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  361. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  362. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +45 -0
  363. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -0
  364. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +128 -0
  365. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +2 -0
  366. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -0
  367. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +12 -0
  368. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +2 -0
  369. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +1 -0
  370. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +8 -0
  371. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +3 -0
  372. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -0
  373. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +22 -0
  374. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +2 -0
  375. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +1 -0
  376. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +11 -0
  377. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +21 -0
  378. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -0
  379. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +75 -0
  380. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +59 -0
  381. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -0
  382. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +201 -0
  383. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +2 -0
  384. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -0
  385. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +12 -0
  386. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +2 -0
  387. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +1 -0
  388. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +8 -0
  389. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +3 -0
  390. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -0
  391. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +22 -0
  392. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +2 -0
  393. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +1 -0
  394. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +12 -0
  395. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +30 -0
  396. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -0
  397. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +45 -0
  398. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +3 -0
  399. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +1 -0
  400. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +6 -0
  401. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +3 -0
  402. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +1 -0
  403. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +6 -0
  404. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +2 -0
  405. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +1 -0
  406. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +40 -0
  407. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +2 -0
  408. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +1 -0
  409. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +5 -0
  410. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +2 -0
  411. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +1 -0
  412. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +39 -0
  413. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +13 -0
  414. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -0
  415. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +57 -0
  416. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +2 -0
  417. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +1 -0
  418. package/dest/node-cjs/barretenberg_wasm/helpers/index.js +5 -0
  419. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +21 -0
  420. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -0
  421. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +65 -0
  422. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +8 -0
  423. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -0
  424. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +31 -0
  425. package/dest/node-cjs/barretenberg_wasm/index.d.ts +5 -0
  426. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -0
  427. package/dest/node-cjs/barretenberg_wasm/index.js +18 -0
  428. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +2 -0
  429. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +1 -0
  430. package/dest/node-cjs/barretenberg_wasm/index.test.js +41 -0
  431. package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
  432. package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
  433. package/dest/node-cjs/bb_backends/browser/index.js +43 -0
  434. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  435. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  436. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  437. package/dest/node-cjs/bb_backends/index.d.ts +48 -0
  438. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
  439. package/dest/node-cjs/bb_backends/index.js +18 -0
  440. package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
  441. package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
  442. package/dest/node-cjs/bb_backends/interface.js +3 -0
  443. package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
  444. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
  445. package/dest/node-cjs/bb_backends/node/index.js +90 -0
  446. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
  447. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
  448. package/dest/node-cjs/bb_backends/node/native_pipe.js +118 -0
  449. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
  450. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
  451. package/dest/node-cjs/bb_backends/node/native_shm.js +181 -0
  452. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  453. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  454. package/dest/node-cjs/bb_backends/node/native_shm_async.js +241 -0
  455. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
  456. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
  457. package/dest/node-cjs/bb_backends/node/native_socket.js +286 -0
  458. package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
  459. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
  460. package/dest/node-cjs/bb_backends/node/platform.js +131 -0
  461. package/dest/node-cjs/bb_backends/wasm.d.ts +49 -0
  462. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
  463. package/dest/node-cjs/bb_backends/wasm.js +90 -0
  464. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  465. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  466. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  467. package/dest/node-cjs/bbapi_exception.d.ts +7 -0
  468. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -0
  469. package/dest/node-cjs/bbapi_exception.js +18 -0
  470. package/dest/node-cjs/benchmark/index.d.ts +3 -0
  471. package/dest/node-cjs/benchmark/index.d.ts.map +1 -0
  472. package/dest/node-cjs/benchmark/index.js +29 -0
  473. package/dest/node-cjs/benchmark/timer.d.ts +34 -0
  474. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -0
  475. package/dest/node-cjs/benchmark/timer.js +46 -0
  476. package/dest/node-cjs/bin/index.d.ts +3 -0
  477. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  478. package/dest/node-cjs/bin/index.js +13 -0
  479. package/dest/node-cjs/cbind/generate.d.ts +5 -0
  480. package/dest/node-cjs/cbind/generate.d.ts.map +1 -0
  481. package/dest/node-cjs/cbind/generate.js +153 -0
  482. package/dest/node-cjs/cbind/generated/api_types.d.ts +2051 -0
  483. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -0
  484. package/dest/node-cjs/cbind/generated/api_types.js +2989 -0
  485. package/dest/node-cjs/cbind/generated/async.d.ts +62 -0
  486. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -0
  487. package/dest/node-cjs/cbind/generated/async.js +667 -0
  488. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +45 -0
  489. package/dest/node-cjs/cbind/generated/curve_constants.d.ts.map +1 -0
  490. package/dest/node-cjs/cbind/generated/curve_constants.js +48 -0
  491. package/dest/node-cjs/cbind/generated/sync.d.ts +62 -0
  492. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -0
  493. package/dest/node-cjs/cbind/generated/sync.js +614 -0
  494. package/dest/node-cjs/cbind/schema_compiler.d.ts +68 -0
  495. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -0
  496. package/dest/node-cjs/cbind/schema_compiler.js +607 -0
  497. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +43 -0
  498. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -0
  499. package/dest/node-cjs/crs/browser/cached_net_crs.js +100 -0
  500. package/dest/node-cjs/crs/browser/index.d.ts +2 -0
  501. package/dest/node-cjs/crs/browser/index.d.ts.map +1 -0
  502. package/dest/node-cjs/crs/browser/index.js +7 -0
  503. package/dest/node-cjs/crs/index.d.ts +2 -0
  504. package/dest/node-cjs/crs/index.d.ts.map +1 -0
  505. package/dest/node-cjs/crs/index.js +7 -0
  506. package/dest/node-cjs/crs/net_crs.d.ts +70 -0
  507. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -0
  508. package/dest/node-cjs/crs/net_crs.js +146 -0
  509. package/dest/node-cjs/crs/node/index.d.ts +38 -0
  510. package/dest/node-cjs/crs/node/index.d.ts.map +1 -0
  511. package/dest/node-cjs/crs/node/index.js +112 -0
  512. package/dest/node-cjs/index.d.ts +9 -0
  513. package/dest/node-cjs/index.d.ts.map +1 -0
  514. package/dest/node-cjs/index.js +39 -0
  515. package/dest/node-cjs/package.json +3 -0
  516. package/dest/node-cjs/proof/index.d.ts +21 -0
  517. package/dest/node-cjs/proof/index.d.ts.map +1 -0
  518. package/dest/node-cjs/proof/index.js +72 -0
  519. package/dest/node-cjs/random/browser/index.d.ts +2 -0
  520. package/dest/node-cjs/random/browser/index.d.ts.map +1 -0
  521. package/dest/node-cjs/random/browser/index.js +35 -0
  522. package/dest/node-cjs/random/index.d.ts +2 -0
  523. package/dest/node-cjs/random/index.d.ts.map +1 -0
  524. package/dest/node-cjs/random/index.js +5 -0
  525. package/dest/node-cjs/random/node/index.d.ts +2 -0
  526. package/dest/node-cjs/random/node/index.d.ts.map +1 -0
  527. package/dest/node-cjs/random/node/index.js +8 -0
  528. package/dest/node-cjs/retry/index.d.ts +26 -0
  529. package/dest/node-cjs/retry/index.d.ts.map +1 -0
  530. package/dest/node-cjs/retry/index.js +55 -0
  531. package/package.json +59 -46
  532. package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +156 -0
  533. package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +40 -0
  534. package/src/barretenberg/backend.ts +312 -0
  535. package/src/barretenberg/blake2s.test.ts +69 -0
  536. package/src/barretenberg/index.ts +212 -0
  537. package/src/barretenberg/pedersen.test.ts +69 -0
  538. package/src/barretenberg/poseidon.bench.test.ts +271 -0
  539. package/src/barretenberg/poseidon.test.ts +39 -0
  540. package/src/barretenberg/testing/bigint-buffer.ts +43 -0
  541. package/src/barretenberg/testing/fields.ts +63 -0
  542. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +137 -0
  543. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +9 -0
  544. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +6 -0
  545. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +19 -0
  546. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +10 -0
  547. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +72 -0
  548. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +251 -0
  549. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +9 -0
  550. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +6 -0
  551. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +19 -0
  552. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +12 -0
  553. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +48 -0
  554. package/src/barretenberg_wasm/fetch_code/browser/barretenberg-threads.ts +3 -0
  555. package/src/barretenberg_wasm/fetch_code/browser/barretenberg.ts +3 -0
  556. package/src/barretenberg_wasm/fetch_code/browser/index.ts +34 -0
  557. package/src/barretenberg_wasm/fetch_code/index.ts +1 -0
  558. package/src/barretenberg_wasm/fetch_code/node/index.ts +34 -0
  559. package/src/barretenberg_wasm/fetch_code/wasm-module.d.ts +4 -0
  560. package/src/barretenberg_wasm/helpers/browser/index.ts +54 -0
  561. package/src/barretenberg_wasm/helpers/index.ts +1 -0
  562. package/src/barretenberg_wasm/helpers/node/index.ts +62 -0
  563. package/src/barretenberg_wasm/index.test.ts +46 -0
  564. package/src/barretenberg_wasm/index.ts +21 -1
  565. package/src/bb_backends/browser/index.ts +50 -0
  566. package/src/bb_backends/browser/platform.ts +11 -0
  567. package/src/bb_backends/index.ts +52 -0
  568. package/src/bb_backends/interface.ts +35 -0
  569. package/src/bb_backends/node/index.ts +102 -0
  570. package/src/bb_backends/node/native_pipe.ts +127 -0
  571. package/src/bb_backends/node/native_shm.ts +195 -0
  572. package/src/bb_backends/node/native_shm_async.ts +266 -0
  573. package/src/bb_backends/node/native_socket.ts +326 -0
  574. package/src/bb_backends/node/platform.ts +151 -0
  575. package/src/bb_backends/wasm.ts +102 -0
  576. package/src/bbapi/exception_handling.test.ts +54 -0
  577. package/src/bbapi_exception.ts +13 -0
  578. package/src/benchmark/index.ts +26 -0
  579. package/src/benchmark/timer.ts +45 -0
  580. package/src/bin/index.ts +14 -0
  581. package/src/cbind/README.md +1 -0
  582. package/src/cbind/generate.ts +182 -0
  583. package/src/cbind/schema_compiler.ts +745 -0
  584. package/src/crs/browser/cached_net_crs.ts +41 -1
  585. package/src/crs/browser/index.ts +1 -1
  586. package/src/crs/index.ts +1 -1
  587. package/src/crs/net_crs.ts +114 -19
  588. package/src/crs/node/index.ts +95 -26
  589. package/src/index.html +1 -1
  590. package/src/index.ts +43 -5
  591. package/src/proof/index.ts +94 -0
  592. package/src/random/browser/index.ts +1 -1
  593. package/src/retry/index.ts +50 -0
  594. package/dest/async_map/index.d.ts.map +0 -1
  595. package/dest/barretenberg-threads.wasm +0 -0
  596. package/dest/barretenberg.wasm +0 -0
  597. package/dest/barretenberg_api/blake2s.test.d.ts +0 -2
  598. package/dest/barretenberg_api/blake2s.test.d.ts.map +0 -1
  599. package/dest/barretenberg_api/blake2s.test.js +0 -30
  600. package/dest/barretenberg_api/common.test.d.ts +0 -2
  601. package/dest/barretenberg_api/common.test.d.ts.map +0 -1
  602. package/dest/barretenberg_api/common.test.js +0 -18
  603. package/dest/barretenberg_api/index.d.ts +0 -103
  604. package/dest/barretenberg_api/index.d.ts.map +0 -1
  605. package/dest/barretenberg_api/index.js +0 -379
  606. package/dest/barretenberg_api/pedersen.test.d.ts +0 -2
  607. package/dest/barretenberg_api/pedersen.test.d.ts.map +0 -1
  608. package/dest/barretenberg_api/pedersen.test.js +0 -69
  609. package/dest/barretenberg_api/schnorr.test.d.ts +0 -2
  610. package/dest/barretenberg_api/schnorr.test.d.ts.map +0 -1
  611. package/dest/barretenberg_api/schnorr.test.js +0 -113
  612. package/dest/barretenberg_binder/heap_allocator.d.ts +0 -22
  613. package/dest/barretenberg_binder/heap_allocator.d.ts.map +0 -1
  614. package/dest/barretenberg_binder/heap_allocator.js +0 -59
  615. package/dest/barretenberg_binder/heap_allocator_sync.d.ts +0 -22
  616. package/dest/barretenberg_binder/heap_allocator_sync.d.ts.map +0 -1
  617. package/dest/barretenberg_binder/heap_allocator_sync.js +0 -58
  618. package/dest/barretenberg_binder/index.d.ts +0 -32
  619. package/dest/barretenberg_binder/index.d.ts.map +0 -1
  620. package/dest/barretenberg_binder/index.js +0 -73
  621. package/dest/barretenberg_wasm/barretenberg_wasm.d.ts +0 -50
  622. package/dest/barretenberg_wasm/barretenberg_wasm.d.ts.map +0 -1
  623. package/dest/barretenberg_wasm/barretenberg_wasm.js +0 -212
  624. package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts +0 -2
  625. package/dest/barretenberg_wasm/barretenberg_wasm.test.d.ts.map +0 -1
  626. package/dest/barretenberg_wasm/barretenberg_wasm.test.js +0 -43
  627. package/dest/barretenberg_wasm/browser/index.d.ts +0 -8
  628. package/dest/barretenberg_wasm/browser/index.d.ts.map +0 -1
  629. package/dest/barretenberg_wasm/browser/index.js +0 -26
  630. package/dest/barretenberg_wasm/browser/worker.d.ts +0 -2
  631. package/dest/barretenberg_wasm/browser/worker.d.ts.map +0 -1
  632. package/dest/barretenberg_wasm/browser/worker.js +0 -11
  633. package/dest/barretenberg_wasm/index.d.ts +0 -2
  634. package/dest/barretenberg_wasm/index.d.ts.map +0 -1
  635. package/dest/barretenberg_wasm/index.js +0 -2
  636. package/dest/barretenberg_wasm/node/index.d.ts +0 -17
  637. package/dest/barretenberg_wasm/node/index.d.ts.map +0 -1
  638. package/dest/barretenberg_wasm/node/index.js +0 -40
  639. package/dest/barretenberg_wasm/node/node_endpoint.d.ts +0 -8
  640. package/dest/barretenberg_wasm/node/node_endpoint.d.ts.map +0 -1
  641. package/dest/barretenberg_wasm/node/node_endpoint.js +0 -28
  642. package/dest/barretenberg_wasm/node/worker.d.ts +0 -2
  643. package/dest/barretenberg_wasm/node/worker.d.ts.map +0 -1
  644. package/dest/barretenberg_wasm/node/worker.js +0 -9
  645. package/dest/barretenberg_wasm.js +0 -2
  646. package/dest/barretenberg_wasm.js.LICENSE.txt +0 -5
  647. package/dest/bigint-array/index.d.ts +0 -3
  648. package/dest/bigint-array/index.d.ts.map +0 -1
  649. package/dest/bigint-array/index.js +0 -21
  650. package/dest/bindgen/function_declaration.d.ts +0 -11
  651. package/dest/bindgen/function_declaration.d.ts.map +0 -1
  652. package/dest/bindgen/function_declaration.js +0 -2
  653. package/dest/bindgen/index.d.ts +0 -2
  654. package/dest/bindgen/index.js +0 -15
  655. package/dest/bindgen/mappings.d.ts +0 -4
  656. package/dest/bindgen/mappings.d.ts.map +0 -1
  657. package/dest/bindgen/mappings.js +0 -63
  658. package/dest/bindgen/rust.d.ts +0 -2
  659. package/dest/bindgen/rust.d.ts.map +0 -1
  660. package/dest/bindgen/rust.js +0 -43
  661. package/dest/bindgen/to_camel_case.d.ts +0 -2
  662. package/dest/bindgen/to_camel_case.d.ts.map +0 -1
  663. package/dest/bindgen/to_camel_case.js +0 -11
  664. package/dest/bindgen/typescript.d.ts +0 -2
  665. package/dest/bindgen/typescript.d.ts.map +0 -1
  666. package/dest/bindgen/typescript.js +0 -80
  667. package/dest/crs/browser/cached_net_crs.d.ts +0 -25
  668. package/dest/crs/browser/cached_net_crs.d.ts.map +0 -1
  669. package/dest/crs/browser/cached_net_crs.js +0 -54
  670. package/dest/crs/browser/index.d.ts +0 -2
  671. package/dest/crs/browser/index.d.ts.map +0 -1
  672. package/dest/crs/browser/index.js +0 -2
  673. package/dest/crs/index.d.ts +0 -2
  674. package/dest/crs/index.d.ts.map +0 -1
  675. package/dest/crs/index.js +0 -2
  676. package/dest/crs/net_crs.d.ts +0 -36
  677. package/dest/crs/net_crs.d.ts.map +0 -1
  678. package/dest/crs/net_crs.js +0 -59
  679. package/dest/crs/node/ignition_files_crs.d.ts +0 -37
  680. package/dest/crs/node/ignition_files_crs.d.ts.map +0 -1
  681. package/dest/crs/node/ignition_files_crs.js +0 -51
  682. package/dest/crs/node/index.d.ts +0 -21
  683. package/dest/crs/node/index.d.ts.map +0 -1
  684. package/dest/crs/node/index.js +0 -54
  685. package/dest/examples/simple.rawtest.d.ts +0 -2
  686. package/dest/examples/simple.rawtest.d.ts.map +0 -1
  687. package/dest/examples/simple.rawtest.js +0 -29
  688. package/dest/examples/simple.test.d.ts +0 -2
  689. package/dest/examples/simple.test.d.ts.map +0 -1
  690. package/dest/examples/simple.test.js +0 -22
  691. package/dest/factory/index.d.ts +0 -21
  692. package/dest/factory/index.d.ts.map +0 -1
  693. package/dest/factory/index.js +0 -34
  694. package/dest/index.d.ts +0 -6
  695. package/dest/index.d.ts.map +0 -1
  696. package/dest/index.html +0 -1
  697. package/dest/index.js +0 -6
  698. package/dest/main.d.ts +0 -10
  699. package/dest/main.d.ts.map +0 -1
  700. package/dest/main.js +0 -275
  701. package/dest/random/browser/index.d.ts +0 -2
  702. package/dest/random/browser/index.d.ts.map +0 -1
  703. package/dest/random/browser/index.js +0 -31
  704. package/dest/random/index.d.ts +0 -2
  705. package/dest/random/index.d.ts.map +0 -1
  706. package/dest/random/node/index.d.ts +0 -2
  707. package/dest/random/node/index.d.ts.map +0 -1
  708. package/dest/random/node/index.js +0 -5
  709. package/dest/serialize/buffer_reader.d.ts +0 -28
  710. package/dest/serialize/buffer_reader.d.ts.map +0 -1
  711. package/dest/serialize/buffer_reader.js +0 -66
  712. package/dest/serialize/index.d.ts +0 -4
  713. package/dest/serialize/index.d.ts.map +0 -1
  714. package/dest/serialize/index.js +0 -4
  715. package/dest/serialize/output_type.d.ts +0 -11
  716. package/dest/serialize/output_type.d.ts.map +0 -1
  717. package/dest/serialize/output_type.js +0 -44
  718. package/dest/serialize/serialize.d.ts +0 -53
  719. package/dest/serialize/serialize.d.ts.map +0 -1
  720. package/dest/serialize/serialize.js +0 -139
  721. package/dest/simple_test.js +0 -2
  722. package/dest/simple_test.js.LICENSE.txt +0 -14
  723. package/dest/types/fields.d.ts +0 -33
  724. package/dest/types/fields.d.ts.map +0 -1
  725. package/dest/types/fields.js +0 -86
  726. package/dest/types/fixed_size_buffer.d.ts +0 -26
  727. package/dest/types/fixed_size_buffer.d.ts.map +0 -1
  728. package/dest/types/fixed_size_buffer.js +0 -54
  729. package/dest/types/index.d.ts +0 -6
  730. package/dest/types/index.d.ts.map +0 -1
  731. package/dest/types/index.js +0 -6
  732. package/dest/types/point.d.ts +0 -17
  733. package/dest/types/point.d.ts.map +0 -1
  734. package/dest/types/point.js +0 -32
  735. package/dest/types/ptr.d.ts +0 -13
  736. package/dest/types/ptr.d.ts.map +0 -1
  737. package/dest/types/ptr.js +0 -20
  738. package/dest/types/raw_buffer.d.ts +0 -3
  739. package/dest/types/raw_buffer.d.ts.map +0 -1
  740. package/dest/types/raw_buffer.js +0 -5
  741. package/src/barretenberg_api/blake2s.test.ts +0 -39
  742. package/src/barretenberg_api/common.test.ts +0 -21
  743. package/src/barretenberg_api/index.ts +0 -649
  744. package/src/barretenberg_api/pedersen.test.ts +0 -84
  745. package/src/barretenberg_api/schnorr.test.ts +0 -169
  746. package/src/barretenberg_binder/heap_allocator.ts +0 -62
  747. package/src/barretenberg_binder/heap_allocator_sync.ts +0 -61
  748. package/src/barretenberg_binder/index.ts +0 -76
  749. package/src/barretenberg_wasm/barretenberg_wasm.test.ts +0 -52
  750. package/src/barretenberg_wasm/barretenberg_wasm.ts +0 -246
  751. package/src/barretenberg_wasm/browser/index.ts +0 -32
  752. package/src/barretenberg_wasm/browser/worker.ts +0 -13
  753. package/src/barretenberg_wasm/node/index.ts +0 -46
  754. package/src/barretenberg_wasm/node/worker.ts +0 -10
  755. package/src/bigint-array/index.ts +0 -21
  756. package/src/bindgen/function_declaration.ts +0 -11
  757. package/src/bindgen/index.ts +0 -17
  758. package/src/bindgen/mappings.ts +0 -66
  759. package/src/bindgen/rust.ts +0 -52
  760. package/src/bindgen/to_camel_case.ts +0 -10
  761. package/src/bindgen/typescript.ts +0 -91
  762. package/src/crs/node/ignition_files_crs.ts +0 -60
  763. package/src/examples/simple.rawtest.ts +0 -37
  764. package/src/examples/simple.test.ts +0 -27
  765. package/src/factory/index.ts +0 -36
  766. package/src/main.ts +0 -311
  767. package/src/serialize/buffer_reader.ts +0 -82
  768. package/src/serialize/index.ts +0 -3
  769. package/src/serialize/output_type.ts +0 -53
  770. package/src/serialize/serialize.ts +0 -157
  771. package/src/types/fields.ts +0 -98
  772. package/src/types/fixed_size_buffer.ts +0 -59
  773. package/src/types/index.ts +0 -5
  774. package/src/types/point.ts +0 -35
  775. package/src/types/ptr.ts +0 -20
  776. package/src/types/raw_buffer.ts +0 -3
  777. /package/src/barretenberg_wasm/{node → helpers/node}/node_endpoint.ts +0 -0
@@ -0,0 +1,610 @@
1
+ // AUTOGENERATED FILE - DO NOT EDIT
2
+ import { Decoder, Encoder } from 'msgpackr';
3
+ import { BBApiException } from '../../bbapi_exception.js';
4
+ import { fromAesDecrypt, fromAesEncrypt, fromBlake2s, fromBlake2sToField, fromBn254FqSqrt, fromBn254FrSqrt, fromBn254G1FromCompressed, fromBn254G1IsOnCurve, fromBn254G1Mul, fromBn254G2Mul, fromChonkAccumulate, fromChonkCheckPrecomputedVk, fromChonkComputeIvcVk, fromChonkComputeStandaloneVk, fromChonkLoad, fromChonkProve, fromChonkStart, fromChonkStats, fromChonkVerify, fromCircuitComputeVk, fromCircuitProve, fromCircuitStats, fromCircuitVerify, fromCircuitWriteSolidityVerifier, fromEcdsaSecp256k1ComputePublicKey, fromEcdsaSecp256k1ConstructSignature, fromEcdsaSecp256k1RecoverPublicKey, fromEcdsaSecp256k1VerifySignature, fromEcdsaSecp256r1ComputePublicKey, fromEcdsaSecp256r1ConstructSignature, fromEcdsaSecp256r1RecoverPublicKey, fromEcdsaSecp256r1VerifySignature, fromGrumpkinAdd, fromGrumpkinBatchMul, fromGrumpkinGetRandomFr, fromGrumpkinMul, fromGrumpkinReduce512, fromMegaVkAsFields, fromPedersenCommit, fromPedersenHash, fromPedersenHashBuffer, fromPoseidon2Hash, fromPoseidon2HashAccumulate, fromPoseidon2Permutation, fromSchnorrComputePublicKey, fromSchnorrConstructSignature, fromSchnorrVerifySignature, fromSecp256k1GetRandomFr, fromSecp256k1Mul, fromSecp256k1Reduce512, fromShutdown, fromSrsInitGrumpkinSrs, fromSrsInitSrs, fromVkAsFields, toAesDecryptResponse, toAesEncryptResponse, toBlake2sResponse, toBlake2sToFieldResponse, toBn254FqSqrtResponse, toBn254FrSqrtResponse, toBn254G1FromCompressedResponse, toBn254G1IsOnCurveResponse, toBn254G1MulResponse, toBn254G2MulResponse, toChonkAccumulateResponse, toChonkCheckPrecomputedVkResponse, toChonkComputeIvcVkResponse, toChonkComputeStandaloneVkResponse, toChonkLoadResponse, toChonkProveResponse, toChonkStartResponse, toChonkStatsResponse, toChonkVerifyResponse, toCircuitComputeVkResponse, toCircuitInfoResponse, toCircuitProveResponse, toCircuitVerifyResponse, toCircuitWriteSolidityVerifierResponse, toEcdsaSecp256k1ComputePublicKeyResponse, toEcdsaSecp256k1ConstructSignatureResponse, toEcdsaSecp256k1RecoverPublicKeyResponse, toEcdsaSecp256k1VerifySignatureResponse, toEcdsaSecp256r1ComputePublicKeyResponse, toEcdsaSecp256r1ConstructSignatureResponse, toEcdsaSecp256r1RecoverPublicKeyResponse, toEcdsaSecp256r1VerifySignatureResponse, toGrumpkinAddResponse, toGrumpkinBatchMulResponse, toGrumpkinGetRandomFrResponse, toGrumpkinMulResponse, toGrumpkinReduce512Response, toMegaVkAsFieldsResponse, toPedersenCommitResponse, toPedersenHashBufferResponse, toPedersenHashResponse, toPoseidon2HashAccumulateResponse, toPoseidon2HashResponse, toPoseidon2PermutationResponse, toSchnorrComputePublicKeyResponse, toSchnorrConstructSignatureResponse, toSchnorrVerifySignatureResponse, toSecp256k1GetRandomFrResponse, toSecp256k1MulResponse, toSecp256k1Reduce512Response, toShutdownResponse, toSrsInitGrumpkinSrsResponse, toSrsInitSrsResponse, toVkAsFieldsResponse } from './api_types.js';
5
+ function msgpackCall(backend, input) { const inputBuffer = new Encoder({ useRecords: false }).pack(input); const encodedResult = backend.call(inputBuffer); return new Decoder({ useRecords: false }).unpack(encodedResult); }
6
+ export class SyncApi {
7
+ backend;
8
+ constructor(backend) {
9
+ this.backend = backend;
10
+ }
11
+ circuitProve(command) {
12
+ const msgpackCommand = fromCircuitProve(command);
13
+ const [variantName, result] = msgpackCall(this.backend, [["CircuitProve", msgpackCommand]]);
14
+ if (variantName === 'ErrorResponse') {
15
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
16
+ }
17
+ if (variantName !== 'CircuitProveResponse') {
18
+ throw new BBApiException(`Expected variant name 'CircuitProveResponse' but got '${variantName}'`);
19
+ }
20
+ return toCircuitProveResponse(result);
21
+ }
22
+ circuitComputeVk(command) {
23
+ const msgpackCommand = fromCircuitComputeVk(command);
24
+ const [variantName, result] = msgpackCall(this.backend, [["CircuitComputeVk", msgpackCommand]]);
25
+ if (variantName === 'ErrorResponse') {
26
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
27
+ }
28
+ if (variantName !== 'CircuitComputeVkResponse') {
29
+ throw new BBApiException(`Expected variant name 'CircuitComputeVkResponse' but got '${variantName}'`);
30
+ }
31
+ return toCircuitComputeVkResponse(result);
32
+ }
33
+ circuitStats(command) {
34
+ const msgpackCommand = fromCircuitStats(command);
35
+ const [variantName, result] = msgpackCall(this.backend, [["CircuitStats", msgpackCommand]]);
36
+ if (variantName === 'ErrorResponse') {
37
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
38
+ }
39
+ if (variantName !== 'CircuitInfoResponse') {
40
+ throw new BBApiException(`Expected variant name 'CircuitInfoResponse' but got '${variantName}'`);
41
+ }
42
+ return toCircuitInfoResponse(result);
43
+ }
44
+ circuitVerify(command) {
45
+ const msgpackCommand = fromCircuitVerify(command);
46
+ const [variantName, result] = msgpackCall(this.backend, [["CircuitVerify", msgpackCommand]]);
47
+ if (variantName === 'ErrorResponse') {
48
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
49
+ }
50
+ if (variantName !== 'CircuitVerifyResponse') {
51
+ throw new BBApiException(`Expected variant name 'CircuitVerifyResponse' but got '${variantName}'`);
52
+ }
53
+ return toCircuitVerifyResponse(result);
54
+ }
55
+ chonkComputeStandaloneVk(command) {
56
+ const msgpackCommand = fromChonkComputeStandaloneVk(command);
57
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeStandaloneVk", msgpackCommand]]);
58
+ if (variantName === 'ErrorResponse') {
59
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
60
+ }
61
+ if (variantName !== 'ChonkComputeStandaloneVkResponse') {
62
+ throw new BBApiException(`Expected variant name 'ChonkComputeStandaloneVkResponse' but got '${variantName}'`);
63
+ }
64
+ return toChonkComputeStandaloneVkResponse(result);
65
+ }
66
+ chonkComputeIvcVk(command) {
67
+ const msgpackCommand = fromChonkComputeIvcVk(command);
68
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkComputeIvcVk", msgpackCommand]]);
69
+ if (variantName === 'ErrorResponse') {
70
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
71
+ }
72
+ if (variantName !== 'ChonkComputeIvcVkResponse') {
73
+ throw new BBApiException(`Expected variant name 'ChonkComputeIvcVkResponse' but got '${variantName}'`);
74
+ }
75
+ return toChonkComputeIvcVkResponse(result);
76
+ }
77
+ chonkStart(command) {
78
+ const msgpackCommand = fromChonkStart(command);
79
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkStart", msgpackCommand]]);
80
+ if (variantName === 'ErrorResponse') {
81
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
82
+ }
83
+ if (variantName !== 'ChonkStartResponse') {
84
+ throw new BBApiException(`Expected variant name 'ChonkStartResponse' but got '${variantName}'`);
85
+ }
86
+ return toChonkStartResponse(result);
87
+ }
88
+ chonkLoad(command) {
89
+ const msgpackCommand = fromChonkLoad(command);
90
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkLoad", msgpackCommand]]);
91
+ if (variantName === 'ErrorResponse') {
92
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
93
+ }
94
+ if (variantName !== 'ChonkLoadResponse') {
95
+ throw new BBApiException(`Expected variant name 'ChonkLoadResponse' but got '${variantName}'`);
96
+ }
97
+ return toChonkLoadResponse(result);
98
+ }
99
+ chonkAccumulate(command) {
100
+ const msgpackCommand = fromChonkAccumulate(command);
101
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkAccumulate", msgpackCommand]]);
102
+ if (variantName === 'ErrorResponse') {
103
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
104
+ }
105
+ if (variantName !== 'ChonkAccumulateResponse') {
106
+ throw new BBApiException(`Expected variant name 'ChonkAccumulateResponse' but got '${variantName}'`);
107
+ }
108
+ return toChonkAccumulateResponse(result);
109
+ }
110
+ chonkProve(command) {
111
+ const msgpackCommand = fromChonkProve(command);
112
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkProve", msgpackCommand]]);
113
+ if (variantName === 'ErrorResponse') {
114
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
115
+ }
116
+ if (variantName !== 'ChonkProveResponse') {
117
+ throw new BBApiException(`Expected variant name 'ChonkProveResponse' but got '${variantName}'`);
118
+ }
119
+ return toChonkProveResponse(result);
120
+ }
121
+ chonkVerify(command) {
122
+ const msgpackCommand = fromChonkVerify(command);
123
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkVerify", msgpackCommand]]);
124
+ if (variantName === 'ErrorResponse') {
125
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
126
+ }
127
+ if (variantName !== 'ChonkVerifyResponse') {
128
+ throw new BBApiException(`Expected variant name 'ChonkVerifyResponse' but got '${variantName}'`);
129
+ }
130
+ return toChonkVerifyResponse(result);
131
+ }
132
+ vkAsFields(command) {
133
+ const msgpackCommand = fromVkAsFields(command);
134
+ const [variantName, result] = msgpackCall(this.backend, [["VkAsFields", msgpackCommand]]);
135
+ if (variantName === 'ErrorResponse') {
136
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
137
+ }
138
+ if (variantName !== 'VkAsFieldsResponse') {
139
+ throw new BBApiException(`Expected variant name 'VkAsFieldsResponse' but got '${variantName}'`);
140
+ }
141
+ return toVkAsFieldsResponse(result);
142
+ }
143
+ megaVkAsFields(command) {
144
+ const msgpackCommand = fromMegaVkAsFields(command);
145
+ const [variantName, result] = msgpackCall(this.backend, [["MegaVkAsFields", msgpackCommand]]);
146
+ if (variantName === 'ErrorResponse') {
147
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
148
+ }
149
+ if (variantName !== 'MegaVkAsFieldsResponse') {
150
+ throw new BBApiException(`Expected variant name 'MegaVkAsFieldsResponse' but got '${variantName}'`);
151
+ }
152
+ return toMegaVkAsFieldsResponse(result);
153
+ }
154
+ circuitWriteSolidityVerifier(command) {
155
+ const msgpackCommand = fromCircuitWriteSolidityVerifier(command);
156
+ const [variantName, result] = msgpackCall(this.backend, [["CircuitWriteSolidityVerifier", msgpackCommand]]);
157
+ if (variantName === 'ErrorResponse') {
158
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
159
+ }
160
+ if (variantName !== 'CircuitWriteSolidityVerifierResponse') {
161
+ throw new BBApiException(`Expected variant name 'CircuitWriteSolidityVerifierResponse' but got '${variantName}'`);
162
+ }
163
+ return toCircuitWriteSolidityVerifierResponse(result);
164
+ }
165
+ chonkCheckPrecomputedVk(command) {
166
+ const msgpackCommand = fromChonkCheckPrecomputedVk(command);
167
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkCheckPrecomputedVk", msgpackCommand]]);
168
+ if (variantName === 'ErrorResponse') {
169
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
170
+ }
171
+ if (variantName !== 'ChonkCheckPrecomputedVkResponse') {
172
+ throw new BBApiException(`Expected variant name 'ChonkCheckPrecomputedVkResponse' but got '${variantName}'`);
173
+ }
174
+ return toChonkCheckPrecomputedVkResponse(result);
175
+ }
176
+ chonkStats(command) {
177
+ const msgpackCommand = fromChonkStats(command);
178
+ const [variantName, result] = msgpackCall(this.backend, [["ChonkStats", msgpackCommand]]);
179
+ if (variantName === 'ErrorResponse') {
180
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
181
+ }
182
+ if (variantName !== 'ChonkStatsResponse') {
183
+ throw new BBApiException(`Expected variant name 'ChonkStatsResponse' but got '${variantName}'`);
184
+ }
185
+ return toChonkStatsResponse(result);
186
+ }
187
+ poseidon2Hash(command) {
188
+ const msgpackCommand = fromPoseidon2Hash(command);
189
+ const [variantName, result] = msgpackCall(this.backend, [["Poseidon2Hash", msgpackCommand]]);
190
+ if (variantName === 'ErrorResponse') {
191
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
192
+ }
193
+ if (variantName !== 'Poseidon2HashResponse') {
194
+ throw new BBApiException(`Expected variant name 'Poseidon2HashResponse' but got '${variantName}'`);
195
+ }
196
+ return toPoseidon2HashResponse(result);
197
+ }
198
+ poseidon2Permutation(command) {
199
+ const msgpackCommand = fromPoseidon2Permutation(command);
200
+ const [variantName, result] = msgpackCall(this.backend, [["Poseidon2Permutation", msgpackCommand]]);
201
+ if (variantName === 'ErrorResponse') {
202
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
203
+ }
204
+ if (variantName !== 'Poseidon2PermutationResponse') {
205
+ throw new BBApiException(`Expected variant name 'Poseidon2PermutationResponse' but got '${variantName}'`);
206
+ }
207
+ return toPoseidon2PermutationResponse(result);
208
+ }
209
+ poseidon2HashAccumulate(command) {
210
+ const msgpackCommand = fromPoseidon2HashAccumulate(command);
211
+ const [variantName, result] = msgpackCall(this.backend, [["Poseidon2HashAccumulate", msgpackCommand]]);
212
+ if (variantName === 'ErrorResponse') {
213
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
214
+ }
215
+ if (variantName !== 'Poseidon2HashAccumulateResponse') {
216
+ throw new BBApiException(`Expected variant name 'Poseidon2HashAccumulateResponse' but got '${variantName}'`);
217
+ }
218
+ return toPoseidon2HashAccumulateResponse(result);
219
+ }
220
+ pedersenCommit(command) {
221
+ const msgpackCommand = fromPedersenCommit(command);
222
+ const [variantName, result] = msgpackCall(this.backend, [["PedersenCommit", msgpackCommand]]);
223
+ if (variantName === 'ErrorResponse') {
224
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
225
+ }
226
+ if (variantName !== 'PedersenCommitResponse') {
227
+ throw new BBApiException(`Expected variant name 'PedersenCommitResponse' but got '${variantName}'`);
228
+ }
229
+ return toPedersenCommitResponse(result);
230
+ }
231
+ pedersenHash(command) {
232
+ const msgpackCommand = fromPedersenHash(command);
233
+ const [variantName, result] = msgpackCall(this.backend, [["PedersenHash", msgpackCommand]]);
234
+ if (variantName === 'ErrorResponse') {
235
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
236
+ }
237
+ if (variantName !== 'PedersenHashResponse') {
238
+ throw new BBApiException(`Expected variant name 'PedersenHashResponse' but got '${variantName}'`);
239
+ }
240
+ return toPedersenHashResponse(result);
241
+ }
242
+ pedersenHashBuffer(command) {
243
+ const msgpackCommand = fromPedersenHashBuffer(command);
244
+ const [variantName, result] = msgpackCall(this.backend, [["PedersenHashBuffer", msgpackCommand]]);
245
+ if (variantName === 'ErrorResponse') {
246
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
247
+ }
248
+ if (variantName !== 'PedersenHashBufferResponse') {
249
+ throw new BBApiException(`Expected variant name 'PedersenHashBufferResponse' but got '${variantName}'`);
250
+ }
251
+ return toPedersenHashBufferResponse(result);
252
+ }
253
+ blake2s(command) {
254
+ const msgpackCommand = fromBlake2s(command);
255
+ const [variantName, result] = msgpackCall(this.backend, [["Blake2s", msgpackCommand]]);
256
+ if (variantName === 'ErrorResponse') {
257
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
258
+ }
259
+ if (variantName !== 'Blake2sResponse') {
260
+ throw new BBApiException(`Expected variant name 'Blake2sResponse' but got '${variantName}'`);
261
+ }
262
+ return toBlake2sResponse(result);
263
+ }
264
+ blake2sToField(command) {
265
+ const msgpackCommand = fromBlake2sToField(command);
266
+ const [variantName, result] = msgpackCall(this.backend, [["Blake2sToField", msgpackCommand]]);
267
+ if (variantName === 'ErrorResponse') {
268
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
269
+ }
270
+ if (variantName !== 'Blake2sToFieldResponse') {
271
+ throw new BBApiException(`Expected variant name 'Blake2sToFieldResponse' but got '${variantName}'`);
272
+ }
273
+ return toBlake2sToFieldResponse(result);
274
+ }
275
+ aesEncrypt(command) {
276
+ const msgpackCommand = fromAesEncrypt(command);
277
+ const [variantName, result] = msgpackCall(this.backend, [["AesEncrypt", msgpackCommand]]);
278
+ if (variantName === 'ErrorResponse') {
279
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
280
+ }
281
+ if (variantName !== 'AesEncryptResponse') {
282
+ throw new BBApiException(`Expected variant name 'AesEncryptResponse' but got '${variantName}'`);
283
+ }
284
+ return toAesEncryptResponse(result);
285
+ }
286
+ aesDecrypt(command) {
287
+ const msgpackCommand = fromAesDecrypt(command);
288
+ const [variantName, result] = msgpackCall(this.backend, [["AesDecrypt", msgpackCommand]]);
289
+ if (variantName === 'ErrorResponse') {
290
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
291
+ }
292
+ if (variantName !== 'AesDecryptResponse') {
293
+ throw new BBApiException(`Expected variant name 'AesDecryptResponse' but got '${variantName}'`);
294
+ }
295
+ return toAesDecryptResponse(result);
296
+ }
297
+ grumpkinMul(command) {
298
+ const msgpackCommand = fromGrumpkinMul(command);
299
+ const [variantName, result] = msgpackCall(this.backend, [["GrumpkinMul", msgpackCommand]]);
300
+ if (variantName === 'ErrorResponse') {
301
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
302
+ }
303
+ if (variantName !== 'GrumpkinMulResponse') {
304
+ throw new BBApiException(`Expected variant name 'GrumpkinMulResponse' but got '${variantName}'`);
305
+ }
306
+ return toGrumpkinMulResponse(result);
307
+ }
308
+ grumpkinAdd(command) {
309
+ const msgpackCommand = fromGrumpkinAdd(command);
310
+ const [variantName, result] = msgpackCall(this.backend, [["GrumpkinAdd", msgpackCommand]]);
311
+ if (variantName === 'ErrorResponse') {
312
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
313
+ }
314
+ if (variantName !== 'GrumpkinAddResponse') {
315
+ throw new BBApiException(`Expected variant name 'GrumpkinAddResponse' but got '${variantName}'`);
316
+ }
317
+ return toGrumpkinAddResponse(result);
318
+ }
319
+ grumpkinBatchMul(command) {
320
+ const msgpackCommand = fromGrumpkinBatchMul(command);
321
+ const [variantName, result] = msgpackCall(this.backend, [["GrumpkinBatchMul", msgpackCommand]]);
322
+ if (variantName === 'ErrorResponse') {
323
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
324
+ }
325
+ if (variantName !== 'GrumpkinBatchMulResponse') {
326
+ throw new BBApiException(`Expected variant name 'GrumpkinBatchMulResponse' but got '${variantName}'`);
327
+ }
328
+ return toGrumpkinBatchMulResponse(result);
329
+ }
330
+ grumpkinGetRandomFr(command) {
331
+ const msgpackCommand = fromGrumpkinGetRandomFr(command);
332
+ const [variantName, result] = msgpackCall(this.backend, [["GrumpkinGetRandomFr", msgpackCommand]]);
333
+ if (variantName === 'ErrorResponse') {
334
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
335
+ }
336
+ if (variantName !== 'GrumpkinGetRandomFrResponse') {
337
+ throw new BBApiException(`Expected variant name 'GrumpkinGetRandomFrResponse' but got '${variantName}'`);
338
+ }
339
+ return toGrumpkinGetRandomFrResponse(result);
340
+ }
341
+ grumpkinReduce512(command) {
342
+ const msgpackCommand = fromGrumpkinReduce512(command);
343
+ const [variantName, result] = msgpackCall(this.backend, [["GrumpkinReduce512", msgpackCommand]]);
344
+ if (variantName === 'ErrorResponse') {
345
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
346
+ }
347
+ if (variantName !== 'GrumpkinReduce512Response') {
348
+ throw new BBApiException(`Expected variant name 'GrumpkinReduce512Response' but got '${variantName}'`);
349
+ }
350
+ return toGrumpkinReduce512Response(result);
351
+ }
352
+ secp256k1Mul(command) {
353
+ const msgpackCommand = fromSecp256k1Mul(command);
354
+ const [variantName, result] = msgpackCall(this.backend, [["Secp256k1Mul", msgpackCommand]]);
355
+ if (variantName === 'ErrorResponse') {
356
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
357
+ }
358
+ if (variantName !== 'Secp256k1MulResponse') {
359
+ throw new BBApiException(`Expected variant name 'Secp256k1MulResponse' but got '${variantName}'`);
360
+ }
361
+ return toSecp256k1MulResponse(result);
362
+ }
363
+ secp256k1GetRandomFr(command) {
364
+ const msgpackCommand = fromSecp256k1GetRandomFr(command);
365
+ const [variantName, result] = msgpackCall(this.backend, [["Secp256k1GetRandomFr", msgpackCommand]]);
366
+ if (variantName === 'ErrorResponse') {
367
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
368
+ }
369
+ if (variantName !== 'Secp256k1GetRandomFrResponse') {
370
+ throw new BBApiException(`Expected variant name 'Secp256k1GetRandomFrResponse' but got '${variantName}'`);
371
+ }
372
+ return toSecp256k1GetRandomFrResponse(result);
373
+ }
374
+ secp256k1Reduce512(command) {
375
+ const msgpackCommand = fromSecp256k1Reduce512(command);
376
+ const [variantName, result] = msgpackCall(this.backend, [["Secp256k1Reduce512", msgpackCommand]]);
377
+ if (variantName === 'ErrorResponse') {
378
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
379
+ }
380
+ if (variantName !== 'Secp256k1Reduce512Response') {
381
+ throw new BBApiException(`Expected variant name 'Secp256k1Reduce512Response' but got '${variantName}'`);
382
+ }
383
+ return toSecp256k1Reduce512Response(result);
384
+ }
385
+ bn254FrSqrt(command) {
386
+ const msgpackCommand = fromBn254FrSqrt(command);
387
+ const [variantName, result] = msgpackCall(this.backend, [["Bn254FrSqrt", msgpackCommand]]);
388
+ if (variantName === 'ErrorResponse') {
389
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
390
+ }
391
+ if (variantName !== 'Bn254FrSqrtResponse') {
392
+ throw new BBApiException(`Expected variant name 'Bn254FrSqrtResponse' but got '${variantName}'`);
393
+ }
394
+ return toBn254FrSqrtResponse(result);
395
+ }
396
+ bn254FqSqrt(command) {
397
+ const msgpackCommand = fromBn254FqSqrt(command);
398
+ const [variantName, result] = msgpackCall(this.backend, [["Bn254FqSqrt", msgpackCommand]]);
399
+ if (variantName === 'ErrorResponse') {
400
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
401
+ }
402
+ if (variantName !== 'Bn254FqSqrtResponse') {
403
+ throw new BBApiException(`Expected variant name 'Bn254FqSqrtResponse' but got '${variantName}'`);
404
+ }
405
+ return toBn254FqSqrtResponse(result);
406
+ }
407
+ bn254G1Mul(command) {
408
+ const msgpackCommand = fromBn254G1Mul(command);
409
+ const [variantName, result] = msgpackCall(this.backend, [["Bn254G1Mul", msgpackCommand]]);
410
+ if (variantName === 'ErrorResponse') {
411
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
412
+ }
413
+ if (variantName !== 'Bn254G1MulResponse') {
414
+ throw new BBApiException(`Expected variant name 'Bn254G1MulResponse' but got '${variantName}'`);
415
+ }
416
+ return toBn254G1MulResponse(result);
417
+ }
418
+ bn254G2Mul(command) {
419
+ const msgpackCommand = fromBn254G2Mul(command);
420
+ const [variantName, result] = msgpackCall(this.backend, [["Bn254G2Mul", msgpackCommand]]);
421
+ if (variantName === 'ErrorResponse') {
422
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
423
+ }
424
+ if (variantName !== 'Bn254G2MulResponse') {
425
+ throw new BBApiException(`Expected variant name 'Bn254G2MulResponse' but got '${variantName}'`);
426
+ }
427
+ return toBn254G2MulResponse(result);
428
+ }
429
+ bn254G1IsOnCurve(command) {
430
+ const msgpackCommand = fromBn254G1IsOnCurve(command);
431
+ const [variantName, result] = msgpackCall(this.backend, [["Bn254G1IsOnCurve", msgpackCommand]]);
432
+ if (variantName === 'ErrorResponse') {
433
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
434
+ }
435
+ if (variantName !== 'Bn254G1IsOnCurveResponse') {
436
+ throw new BBApiException(`Expected variant name 'Bn254G1IsOnCurveResponse' but got '${variantName}'`);
437
+ }
438
+ return toBn254G1IsOnCurveResponse(result);
439
+ }
440
+ bn254G1FromCompressed(command) {
441
+ const msgpackCommand = fromBn254G1FromCompressed(command);
442
+ const [variantName, result] = msgpackCall(this.backend, [["Bn254G1FromCompressed", msgpackCommand]]);
443
+ if (variantName === 'ErrorResponse') {
444
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
445
+ }
446
+ if (variantName !== 'Bn254G1FromCompressedResponse') {
447
+ throw new BBApiException(`Expected variant name 'Bn254G1FromCompressedResponse' but got '${variantName}'`);
448
+ }
449
+ return toBn254G1FromCompressedResponse(result);
450
+ }
451
+ schnorrComputePublicKey(command) {
452
+ const msgpackCommand = fromSchnorrComputePublicKey(command);
453
+ const [variantName, result] = msgpackCall(this.backend, [["SchnorrComputePublicKey", msgpackCommand]]);
454
+ if (variantName === 'ErrorResponse') {
455
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
456
+ }
457
+ if (variantName !== 'SchnorrComputePublicKeyResponse') {
458
+ throw new BBApiException(`Expected variant name 'SchnorrComputePublicKeyResponse' but got '${variantName}'`);
459
+ }
460
+ return toSchnorrComputePublicKeyResponse(result);
461
+ }
462
+ schnorrConstructSignature(command) {
463
+ const msgpackCommand = fromSchnorrConstructSignature(command);
464
+ const [variantName, result] = msgpackCall(this.backend, [["SchnorrConstructSignature", msgpackCommand]]);
465
+ if (variantName === 'ErrorResponse') {
466
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
467
+ }
468
+ if (variantName !== 'SchnorrConstructSignatureResponse') {
469
+ throw new BBApiException(`Expected variant name 'SchnorrConstructSignatureResponse' but got '${variantName}'`);
470
+ }
471
+ return toSchnorrConstructSignatureResponse(result);
472
+ }
473
+ schnorrVerifySignature(command) {
474
+ const msgpackCommand = fromSchnorrVerifySignature(command);
475
+ const [variantName, result] = msgpackCall(this.backend, [["SchnorrVerifySignature", msgpackCommand]]);
476
+ if (variantName === 'ErrorResponse') {
477
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
478
+ }
479
+ if (variantName !== 'SchnorrVerifySignatureResponse') {
480
+ throw new BBApiException(`Expected variant name 'SchnorrVerifySignatureResponse' but got '${variantName}'`);
481
+ }
482
+ return toSchnorrVerifySignatureResponse(result);
483
+ }
484
+ ecdsaSecp256k1ComputePublicKey(command) {
485
+ const msgpackCommand = fromEcdsaSecp256k1ComputePublicKey(command);
486
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1ComputePublicKey", msgpackCommand]]);
487
+ if (variantName === 'ErrorResponse') {
488
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
489
+ }
490
+ if (variantName !== 'EcdsaSecp256k1ComputePublicKeyResponse') {
491
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256k1ComputePublicKeyResponse' but got '${variantName}'`);
492
+ }
493
+ return toEcdsaSecp256k1ComputePublicKeyResponse(result);
494
+ }
495
+ ecdsaSecp256r1ComputePublicKey(command) {
496
+ const msgpackCommand = fromEcdsaSecp256r1ComputePublicKey(command);
497
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1ComputePublicKey", msgpackCommand]]);
498
+ if (variantName === 'ErrorResponse') {
499
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
500
+ }
501
+ if (variantName !== 'EcdsaSecp256r1ComputePublicKeyResponse') {
502
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256r1ComputePublicKeyResponse' but got '${variantName}'`);
503
+ }
504
+ return toEcdsaSecp256r1ComputePublicKeyResponse(result);
505
+ }
506
+ ecdsaSecp256k1ConstructSignature(command) {
507
+ const msgpackCommand = fromEcdsaSecp256k1ConstructSignature(command);
508
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1ConstructSignature", msgpackCommand]]);
509
+ if (variantName === 'ErrorResponse') {
510
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
511
+ }
512
+ if (variantName !== 'EcdsaSecp256k1ConstructSignatureResponse') {
513
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256k1ConstructSignatureResponse' but got '${variantName}'`);
514
+ }
515
+ return toEcdsaSecp256k1ConstructSignatureResponse(result);
516
+ }
517
+ ecdsaSecp256r1ConstructSignature(command) {
518
+ const msgpackCommand = fromEcdsaSecp256r1ConstructSignature(command);
519
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1ConstructSignature", msgpackCommand]]);
520
+ if (variantName === 'ErrorResponse') {
521
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
522
+ }
523
+ if (variantName !== 'EcdsaSecp256r1ConstructSignatureResponse') {
524
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256r1ConstructSignatureResponse' but got '${variantName}'`);
525
+ }
526
+ return toEcdsaSecp256r1ConstructSignatureResponse(result);
527
+ }
528
+ ecdsaSecp256k1RecoverPublicKey(command) {
529
+ const msgpackCommand = fromEcdsaSecp256k1RecoverPublicKey(command);
530
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1RecoverPublicKey", msgpackCommand]]);
531
+ if (variantName === 'ErrorResponse') {
532
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
533
+ }
534
+ if (variantName !== 'EcdsaSecp256k1RecoverPublicKeyResponse') {
535
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256k1RecoverPublicKeyResponse' but got '${variantName}'`);
536
+ }
537
+ return toEcdsaSecp256k1RecoverPublicKeyResponse(result);
538
+ }
539
+ ecdsaSecp256r1RecoverPublicKey(command) {
540
+ const msgpackCommand = fromEcdsaSecp256r1RecoverPublicKey(command);
541
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1RecoverPublicKey", msgpackCommand]]);
542
+ if (variantName === 'ErrorResponse') {
543
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
544
+ }
545
+ if (variantName !== 'EcdsaSecp256r1RecoverPublicKeyResponse') {
546
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256r1RecoverPublicKeyResponse' but got '${variantName}'`);
547
+ }
548
+ return toEcdsaSecp256r1RecoverPublicKeyResponse(result);
549
+ }
550
+ ecdsaSecp256k1VerifySignature(command) {
551
+ const msgpackCommand = fromEcdsaSecp256k1VerifySignature(command);
552
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256k1VerifySignature", msgpackCommand]]);
553
+ if (variantName === 'ErrorResponse') {
554
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
555
+ }
556
+ if (variantName !== 'EcdsaSecp256k1VerifySignatureResponse') {
557
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256k1VerifySignatureResponse' but got '${variantName}'`);
558
+ }
559
+ return toEcdsaSecp256k1VerifySignatureResponse(result);
560
+ }
561
+ ecdsaSecp256r1VerifySignature(command) {
562
+ const msgpackCommand = fromEcdsaSecp256r1VerifySignature(command);
563
+ const [variantName, result] = msgpackCall(this.backend, [["EcdsaSecp256r1VerifySignature", msgpackCommand]]);
564
+ if (variantName === 'ErrorResponse') {
565
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
566
+ }
567
+ if (variantName !== 'EcdsaSecp256r1VerifySignatureResponse') {
568
+ throw new BBApiException(`Expected variant name 'EcdsaSecp256r1VerifySignatureResponse' but got '${variantName}'`);
569
+ }
570
+ return toEcdsaSecp256r1VerifySignatureResponse(result);
571
+ }
572
+ srsInitSrs(command) {
573
+ const msgpackCommand = fromSrsInitSrs(command);
574
+ const [variantName, result] = msgpackCall(this.backend, [["SrsInitSrs", msgpackCommand]]);
575
+ if (variantName === 'ErrorResponse') {
576
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
577
+ }
578
+ if (variantName !== 'SrsInitSrsResponse') {
579
+ throw new BBApiException(`Expected variant name 'SrsInitSrsResponse' but got '${variantName}'`);
580
+ }
581
+ return toSrsInitSrsResponse(result);
582
+ }
583
+ srsInitGrumpkinSrs(command) {
584
+ const msgpackCommand = fromSrsInitGrumpkinSrs(command);
585
+ const [variantName, result] = msgpackCall(this.backend, [["SrsInitGrumpkinSrs", msgpackCommand]]);
586
+ if (variantName === 'ErrorResponse') {
587
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
588
+ }
589
+ if (variantName !== 'SrsInitGrumpkinSrsResponse') {
590
+ throw new BBApiException(`Expected variant name 'SrsInitGrumpkinSrsResponse' but got '${variantName}'`);
591
+ }
592
+ return toSrsInitGrumpkinSrsResponse(result);
593
+ }
594
+ shutdown(command) {
595
+ const msgpackCommand = fromShutdown(command);
596
+ const [variantName, result] = msgpackCall(this.backend, [["Shutdown", msgpackCommand]]);
597
+ if (variantName === 'ErrorResponse') {
598
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
599
+ }
600
+ if (variantName !== 'ShutdownResponse') {
601
+ throw new BBApiException(`Expected variant name 'ShutdownResponse' but got '${variantName}'`);
602
+ }
603
+ return toShutdownResponse(result);
604
+ }
605
+ destroy() {
606
+ if (this.backend.destroy)
607
+ this.backend.destroy();
608
+ }
609
+ }
610
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jYmluZC9nZW5lcmF0ZWQvc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7QUFHbkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBa3RGLGNBQWMsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLGdDQUFnQyxFQUFFLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUFFLGtDQUFrQyxFQUFFLG9DQUFvQyxFQUFFLGtDQUFrQyxFQUFFLGlDQUFpQyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsd0JB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