@aztec/bb.js 3.0.0-canary.a9708bd → 3.0.0-manual.20251030

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