@aztec/bb.js 3.0.0-nightly.20251016 → 3.0.0-nightly.20251023

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 (368) hide show
  1. package/README.md +12 -78
  2. package/dest/browser/barretenberg/backend.d.ts +1 -1
  3. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  4. package/dest/browser/barretenberg/backend.js +21 -13
  5. package/dest/browser/barretenberg/index.d.ts +44 -43
  6. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  7. package/dest/browser/barretenberg/index.js +130 -79
  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 +54 -13
  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 +56 -0
  32. package/dest/browser/bb_backends/wasm.d.ts.map +1 -0
  33. package/dest/browser/bb_backends/wasm.js +90 -0
  34. package/dest/browser/cbind/generate.js +2 -7
  35. package/dest/browser/cbind/generated/api_types.d.ts +1167 -0
  36. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  37. package/dest/browser/cbind/generated/api_types.js +1609 -47
  38. package/dest/browser/cbind/generated/async.d.ts +38 -4
  39. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  40. package/dest/browser/cbind/generated/async.js +327 -21
  41. package/dest/browser/cbind/generated/sync.d.ts +39 -5
  42. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  43. package/dest/browser/cbind/generated/sync.js +294 -21
  44. package/dest/browser/cbind/schema_compiler.d.ts +2 -4
  45. package/dest/browser/cbind/schema_compiler.d.ts.map +1 -1
  46. package/dest/browser/cbind/schema_compiler.js +74 -178
  47. package/dest/browser/index.d.ts +2 -2
  48. package/dest/browser/index.d.ts.map +1 -1
  49. package/dest/browser/index.js +3 -3
  50. package/dest/browser/serialize/index.d.ts +0 -1
  51. package/dest/browser/serialize/index.d.ts.map +1 -1
  52. package/dest/browser/serialize/index.js +1 -2
  53. package/dest/browser/serialize/serialize.d.ts +0 -35
  54. package/dest/browser/serialize/serialize.d.ts.map +1 -1
  55. package/dest/browser/serialize/serialize.js +1 -68
  56. package/dest/browser/types/fields.d.ts.map +1 -1
  57. package/dest/browser/types/fields.js +3 -3
  58. package/dest/browser/types/index.d.ts +0 -3
  59. package/dest/browser/types/index.d.ts.map +1 -1
  60. package/dest/browser/types/index.js +1 -4
  61. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +2 -2
  62. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +3 -3
  63. package/dest/node/barretenberg/backend.d.ts +1 -1
  64. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  65. package/dest/node/barretenberg/backend.js +21 -13
  66. package/dest/node/barretenberg/blake2s.test.js +21 -18
  67. package/dest/node/barretenberg/index.d.ts +44 -43
  68. package/dest/node/barretenberg/index.d.ts.map +1 -1
  69. package/dest/node/barretenberg/index.js +130 -79
  70. package/dest/node/barretenberg/pedersen.test.js +24 -17
  71. package/dest/node/barretenberg/poseidon.bench.test.d.ts +2 -0
  72. package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  73. package/dest/node/barretenberg/poseidon.bench.test.js +216 -0
  74. package/dest/node/barretenberg/poseidon.test.js +15 -15
  75. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  76. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  77. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  78. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +2 -2
  79. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +4 -4
  80. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  81. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +18 -10
  82. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +3 -0
  83. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  84. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +54 -13
  85. package/dest/node/barretenberg_wasm/index.test.js +11 -10
  86. package/dest/node/bb_backends/browser/index.d.ts +11 -0
  87. package/dest/node/bb_backends/browser/index.d.ts.map +1 -0
  88. package/dest/node/bb_backends/browser/index.js +39 -0
  89. package/dest/node/bb_backends/index.d.ts +45 -0
  90. package/dest/node/bb_backends/index.d.ts.map +1 -0
  91. package/dest/node/bb_backends/index.js +15 -0
  92. package/dest/node/bb_backends/interface.d.ts +33 -0
  93. package/dest/node/bb_backends/interface.d.ts.map +1 -0
  94. package/dest/node/bb_backends/interface.js +2 -0
  95. package/dest/node/bb_backends/node/index.d.ts +11 -0
  96. package/dest/node/bb_backends/node/index.d.ts.map +1 -0
  97. package/dest/node/bb_backends/node/index.js +80 -0
  98. package/dest/node/bb_backends/node/native_pipe.d.ts +25 -0
  99. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -0
  100. package/dest/node/bb_backends/node/native_pipe.js +113 -0
  101. package/dest/node/bb_backends/node/native_shm.d.ts +28 -0
  102. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -0
  103. package/dest/node/bb_backends/node/native_shm.js +150 -0
  104. package/dest/node/bb_backends/node/native_socket.d.ts +34 -0
  105. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -0
  106. package/dest/node/bb_backends/node/native_socket.js +269 -0
  107. package/dest/node/bb_backends/node/platform.d.ts +27 -0
  108. package/dest/node/bb_backends/node/platform.d.ts.map +1 -0
  109. package/dest/node/bb_backends/node/platform.js +124 -0
  110. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +15 -0
  111. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  112. package/dest/node/bb_backends/sync_to_async_adapter.js +20 -0
  113. package/dest/node/bb_backends/wasm.d.ts +56 -0
  114. package/dest/node/bb_backends/wasm.d.ts.map +1 -0
  115. package/dest/node/bb_backends/wasm.js +90 -0
  116. package/dest/node/cbind/generate.js +2 -7
  117. package/dest/node/cbind/generated/api_types.d.ts +1167 -0
  118. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  119. package/dest/node/cbind/generated/api_types.js +1609 -47
  120. package/dest/node/cbind/generated/async.d.ts +38 -4
  121. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  122. package/dest/node/cbind/generated/async.js +327 -21
  123. package/dest/node/cbind/generated/sync.d.ts +39 -5
  124. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  125. package/dest/node/cbind/generated/sync.js +294 -21
  126. package/dest/node/cbind/schema_compiler.d.ts +2 -4
  127. package/dest/node/cbind/schema_compiler.d.ts.map +1 -1
  128. package/dest/node/cbind/schema_compiler.js +74 -178
  129. package/dest/node/index.d.ts +2 -2
  130. package/dest/node/index.d.ts.map +1 -1
  131. package/dest/node/index.js +3 -3
  132. package/dest/node/serialize/index.d.ts +0 -1
  133. package/dest/node/serialize/index.d.ts.map +1 -1
  134. package/dest/node/serialize/index.js +1 -2
  135. package/dest/node/serialize/serialize.d.ts +0 -35
  136. package/dest/node/serialize/serialize.d.ts.map +1 -1
  137. package/dest/node/serialize/serialize.js +1 -68
  138. package/dest/node/types/fields.d.ts.map +1 -1
  139. package/dest/node/types/fields.js +3 -3
  140. package/dest/node/types/index.d.ts +0 -3
  141. package/dest/node/types/index.d.ts.map +1 -1
  142. package/dest/node/types/index.js +1 -4
  143. package/dest/node-cjs/barretenberg/backend.d.ts +1 -1
  144. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  145. package/dest/node-cjs/barretenberg/backend.js +20 -12
  146. package/dest/node-cjs/barretenberg/blake2s.test.js +19 -16
  147. package/dest/node-cjs/barretenberg/index.d.ts +44 -43
  148. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  149. package/dest/node-cjs/barretenberg/index.js +136 -84
  150. package/dest/node-cjs/barretenberg/pedersen.test.js +24 -17
  151. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +2 -0
  152. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +1 -0
  153. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +218 -0
  154. package/dest/node-cjs/barretenberg/poseidon.test.js +15 -15
  155. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  156. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  157. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  158. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +2 -2
  159. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +4 -4
  160. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  161. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +18 -10
  162. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +3 -0
  163. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  164. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +54 -13
  165. package/dest/node-cjs/barretenberg_wasm/index.test.js +11 -10
  166. package/dest/node-cjs/bb_backends/browser/index.d.ts +11 -0
  167. package/dest/node-cjs/bb_backends/browser/index.d.ts.map +1 -0
  168. package/dest/node-cjs/bb_backends/browser/index.js +43 -0
  169. package/dest/node-cjs/bb_backends/index.d.ts +45 -0
  170. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -0
  171. package/dest/node-cjs/bb_backends/index.js +18 -0
  172. package/dest/node-cjs/bb_backends/interface.d.ts +33 -0
  173. package/dest/node-cjs/bb_backends/interface.d.ts.map +1 -0
  174. package/dest/node-cjs/bb_backends/interface.js +3 -0
  175. package/dest/node-cjs/bb_backends/node/index.d.ts +11 -0
  176. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -0
  177. package/dest/node-cjs/bb_backends/node/index.js +84 -0
  178. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +25 -0
  179. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -0
  180. package/dest/node-cjs/bb_backends/node/native_pipe.js +117 -0
  181. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +28 -0
  182. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -0
  183. package/dest/node-cjs/bb_backends/node/native_shm.js +154 -0
  184. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +34 -0
  185. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -0
  186. package/dest/node-cjs/bb_backends/node/native_socket.js +274 -0
  187. package/dest/node-cjs/bb_backends/node/platform.d.ts +27 -0
  188. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -0
  189. package/dest/node-cjs/bb_backends/node/platform.js +131 -0
  190. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +15 -0
  191. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +1 -0
  192. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +24 -0
  193. package/dest/node-cjs/bb_backends/wasm.d.ts +56 -0
  194. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
  195. package/dest/node-cjs/bb_backends/wasm.js +95 -0
  196. package/dest/node-cjs/cbind/generate.js +1 -6
  197. package/dest/node-cjs/cbind/generated/api_types.d.ts +1167 -0
  198. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  199. package/dest/node-cjs/cbind/generated/api_types.js +1747 -47
  200. package/dest/node-cjs/cbind/generated/async.d.ts +38 -4
  201. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  202. package/dest/node-cjs/cbind/generated/async.js +326 -20
  203. package/dest/node-cjs/cbind/generated/sync.d.ts +39 -5
  204. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  205. package/dest/node-cjs/cbind/generated/sync.js +293 -20
  206. package/dest/node-cjs/cbind/schema_compiler.d.ts +2 -4
  207. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +1 -1
  208. package/dest/node-cjs/cbind/schema_compiler.js +74 -179
  209. package/dest/node-cjs/index.d.ts +2 -2
  210. package/dest/node-cjs/index.d.ts.map +1 -1
  211. package/dest/node-cjs/index.js +3 -3
  212. package/dest/node-cjs/serialize/index.d.ts +0 -1
  213. package/dest/node-cjs/serialize/index.d.ts.map +1 -1
  214. package/dest/node-cjs/serialize/index.js +1 -2
  215. package/dest/node-cjs/serialize/serialize.d.ts +0 -35
  216. package/dest/node-cjs/serialize/serialize.d.ts.map +1 -1
  217. package/dest/node-cjs/serialize/serialize.js +1 -79
  218. package/dest/node-cjs/types/fields.d.ts.map +1 -1
  219. package/dest/node-cjs/types/fields.js +2 -2
  220. package/dest/node-cjs/types/index.d.ts +0 -3
  221. package/dest/node-cjs/types/index.d.ts.map +1 -1
  222. package/dest/node-cjs/types/index.js +1 -4
  223. package/package.json +3 -4
  224. package/src/barretenberg/__snapshots__/pedersen.test.ts.snap +2 -2
  225. package/src/barretenberg/__snapshots__/poseidon.test.ts.snap +3 -3
  226. package/src/barretenberg/backend.ts +37 -32
  227. package/src/barretenberg/blake2s.test.ts +20 -21
  228. package/src/barretenberg/index.ts +136 -117
  229. package/src/barretenberg/pedersen.test.ts +23 -16
  230. package/src/barretenberg/poseidon.bench.test.ts +267 -0
  231. package/src/barretenberg/poseidon.test.ts +14 -14
  232. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +3 -3
  233. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +17 -9
  234. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +66 -15
  235. package/src/barretenberg_wasm/index.test.ts +12 -11
  236. package/src/bb_backends/browser/index.ts +50 -0
  237. package/src/bb_backends/index.ts +49 -0
  238. package/src/bb_backends/interface.ts +35 -0
  239. package/src/bb_backends/node/index.ts +94 -0
  240. package/src/bb_backends/node/native_pipe.ts +127 -0
  241. package/src/bb_backends/node/native_shm.ts +171 -0
  242. package/src/bb_backends/node/native_socket.ts +312 -0
  243. package/src/bb_backends/node/platform.ts +151 -0
  244. package/src/bb_backends/sync_to_async_adapter.ts +21 -0
  245. package/src/bb_backends/wasm.ts +110 -0
  246. package/src/cbind/README.md +1 -1
  247. package/src/cbind/generate.ts +0 -6
  248. package/src/cbind/schema_compiler.ts +131 -241
  249. package/src/index.ts +2 -1
  250. package/src/serialize/index.ts +0 -1
  251. package/src/serialize/serialize.ts +0 -82
  252. package/src/types/fields.ts +2 -2
  253. package/src/types/index.ts +0 -3
  254. package/dest/browser/barretenberg_api/index.d.ts +0 -109
  255. package/dest/browser/barretenberg_api/index.d.ts.map +0 -1
  256. package/dest/browser/barretenberg_api/index.js +0 -699
  257. package/dest/browser/cbind/generated/native.d.ts +0 -31
  258. package/dest/browser/cbind/generated/native.d.ts.map +0 -1
  259. package/dest/browser/cbind/generated/native.js +0 -234
  260. package/dest/browser/serialize/output_type.d.ts +0 -11
  261. package/dest/browser/serialize/output_type.d.ts.map +0 -1
  262. package/dest/browser/serialize/output_type.js +0 -44
  263. package/dest/browser/types/fixed_size_buffer.d.ts +0 -26
  264. package/dest/browser/types/fixed_size_buffer.d.ts.map +0 -1
  265. package/dest/browser/types/fixed_size_buffer.js +0 -51
  266. package/dest/browser/types/ptr.d.ts +0 -13
  267. package/dest/browser/types/ptr.d.ts.map +0 -1
  268. package/dest/browser/types/ptr.js +0 -19
  269. package/dest/browser/types/raw_buffer.d.ts +0 -3
  270. package/dest/browser/types/raw_buffer.d.ts.map +0 -1
  271. package/dest/browser/types/raw_buffer.js +0 -5
  272. package/dest/node/barretenberg/common.test.d.ts +0 -2
  273. package/dest/node/barretenberg/common.test.d.ts.map +0 -1
  274. package/dest/node/barretenberg/common.test.js +0 -20
  275. package/dest/node/barretenberg_api/index.d.ts +0 -109
  276. package/dest/node/barretenberg_api/index.d.ts.map +0 -1
  277. package/dest/node/barretenberg_api/index.js +0 -699
  278. package/dest/node/bindgen/function_declaration.d.ts +0 -11
  279. package/dest/node/bindgen/function_declaration.d.ts.map +0 -1
  280. package/dest/node/bindgen/function_declaration.js +0 -2
  281. package/dest/node/bindgen/index.d.ts +0 -2
  282. package/dest/node/bindgen/index.d.ts.map +0 -1
  283. package/dest/node/bindgen/index.js +0 -15
  284. package/dest/node/bindgen/mappings.d.ts +0 -4
  285. package/dest/node/bindgen/mappings.d.ts.map +0 -1
  286. package/dest/node/bindgen/mappings.js +0 -64
  287. package/dest/node/bindgen/rust.d.ts +0 -2
  288. package/dest/node/bindgen/rust.d.ts.map +0 -1
  289. package/dest/node/bindgen/rust.js +0 -43
  290. package/dest/node/bindgen/to_camel_case.d.ts +0 -2
  291. package/dest/node/bindgen/to_camel_case.d.ts.map +0 -1
  292. package/dest/node/bindgen/to_camel_case.js +0 -11
  293. package/dest/node/bindgen/typescript.d.ts +0 -2
  294. package/dest/node/bindgen/typescript.d.ts.map +0 -1
  295. package/dest/node/bindgen/typescript.js +0 -100
  296. package/dest/node/cbind/generated/native.d.ts +0 -31
  297. package/dest/node/cbind/generated/native.d.ts.map +0 -1
  298. package/dest/node/cbind/generated/native.js +0 -234
  299. package/dest/node/main.d.ts +0 -13
  300. package/dest/node/main.d.ts.map +0 -1
  301. package/dest/node/main.js +0 -459
  302. package/dest/node/serialize/output_type.d.ts +0 -11
  303. package/dest/node/serialize/output_type.d.ts.map +0 -1
  304. package/dest/node/serialize/output_type.js +0 -44
  305. package/dest/node/types/fixed_size_buffer.d.ts +0 -26
  306. package/dest/node/types/fixed_size_buffer.d.ts.map +0 -1
  307. package/dest/node/types/fixed_size_buffer.js +0 -51
  308. package/dest/node/types/ptr.d.ts +0 -13
  309. package/dest/node/types/ptr.d.ts.map +0 -1
  310. package/dest/node/types/ptr.js +0 -19
  311. package/dest/node/types/raw_buffer.d.ts +0 -3
  312. package/dest/node/types/raw_buffer.d.ts.map +0 -1
  313. package/dest/node/types/raw_buffer.js +0 -5
  314. package/dest/node-cjs/barretenberg/common.test.d.ts +0 -2
  315. package/dest/node-cjs/barretenberg/common.test.d.ts.map +0 -1
  316. package/dest/node-cjs/barretenberg/common.test.js +0 -22
  317. package/dest/node-cjs/barretenberg_api/index.d.ts +0 -109
  318. package/dest/node-cjs/barretenberg_api/index.d.ts.map +0 -1
  319. package/dest/node-cjs/barretenberg_api/index.js +0 -704
  320. package/dest/node-cjs/bindgen/function_declaration.d.ts +0 -11
  321. package/dest/node-cjs/bindgen/function_declaration.d.ts.map +0 -1
  322. package/dest/node-cjs/bindgen/function_declaration.js +0 -3
  323. package/dest/node-cjs/bindgen/index.d.ts +0 -2
  324. package/dest/node-cjs/bindgen/index.d.ts.map +0 -1
  325. package/dest/node-cjs/bindgen/index.js +0 -17
  326. package/dest/node-cjs/bindgen/mappings.d.ts +0 -4
  327. package/dest/node-cjs/bindgen/mappings.d.ts.map +0 -1
  328. package/dest/node-cjs/bindgen/mappings.js +0 -69
  329. package/dest/node-cjs/bindgen/rust.d.ts +0 -2
  330. package/dest/node-cjs/bindgen/rust.d.ts.map +0 -1
  331. package/dest/node-cjs/bindgen/rust.js +0 -47
  332. package/dest/node-cjs/bindgen/to_camel_case.d.ts +0 -2
  333. package/dest/node-cjs/bindgen/to_camel_case.d.ts.map +0 -1
  334. package/dest/node-cjs/bindgen/to_camel_case.js +0 -14
  335. package/dest/node-cjs/bindgen/typescript.d.ts +0 -2
  336. package/dest/node-cjs/bindgen/typescript.d.ts.map +0 -1
  337. package/dest/node-cjs/bindgen/typescript.js +0 -104
  338. package/dest/node-cjs/cbind/generated/native.d.ts +0 -31
  339. package/dest/node-cjs/cbind/generated/native.d.ts.map +0 -1
  340. package/dest/node-cjs/cbind/generated/native.js +0 -238
  341. package/dest/node-cjs/main.d.ts +0 -13
  342. package/dest/node-cjs/main.d.ts.map +0 -1
  343. package/dest/node-cjs/main.js +0 -470
  344. package/dest/node-cjs/serialize/output_type.d.ts +0 -11
  345. package/dest/node-cjs/serialize/output_type.d.ts.map +0 -1
  346. package/dest/node-cjs/serialize/output_type.js +0 -51
  347. package/dest/node-cjs/types/fixed_size_buffer.d.ts +0 -26
  348. package/dest/node-cjs/types/fixed_size_buffer.d.ts.map +0 -1
  349. package/dest/node-cjs/types/fixed_size_buffer.js +0 -57
  350. package/dest/node-cjs/types/ptr.d.ts +0 -13
  351. package/dest/node-cjs/types/ptr.d.ts.map +0 -1
  352. package/dest/node-cjs/types/ptr.js +0 -23
  353. package/dest/node-cjs/types/raw_buffer.d.ts +0 -3
  354. package/dest/node-cjs/types/raw_buffer.d.ts.map +0 -1
  355. package/dest/node-cjs/types/raw_buffer.js +0 -9
  356. package/src/barretenberg/common.test.ts +0 -23
  357. package/src/barretenberg_api/index.ts +0 -1216
  358. package/src/bindgen/function_declaration.ts +0 -11
  359. package/src/bindgen/index.ts +0 -17
  360. package/src/bindgen/mappings.ts +0 -67
  361. package/src/bindgen/rust.ts +0 -52
  362. package/src/bindgen/to_camel_case.ts +0 -10
  363. package/src/bindgen/typescript.ts +0 -116
  364. package/src/main.ts +0 -534
  365. package/src/serialize/output_type.ts +0 -53
  366. package/src/types/fixed_size_buffer.ts +0 -59
  367. package/src/types/ptr.ts +0 -20
  368. package/src/types/raw_buffer.ts +0 -3
@@ -1,11 +0,0 @@
1
- export interface Arg {
2
- name: string;
3
- type: string;
4
- }
5
- export interface FunctionDeclaration {
6
- functionName: string;
7
- inArgs: Arg[];
8
- outArgs: Arg[];
9
- isAsync: boolean;
10
- }
11
- //# sourceMappingURL=function_declaration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"function_declaration.d.ts","sourceRoot":"","sources":["../../../src/bindgen/function_declaration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25fZGVjbGFyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmluZGdlbi9mdW5jdGlvbl9kZWNsYXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bindgen/index.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const rust_js_1 = require("./rust.js");
4
- const typescript_js_1 = require("./typescript.js");
5
- const [, , exp = '../exports.json', lang = 'ts'] = process.argv;
6
- function generateCode(exports, lang) {
7
- switch (lang) {
8
- case 'ts':
9
- return (0, typescript_js_1.generateTypeScriptCode)(exports);
10
- case 'rust':
11
- return (0, rust_js_1.generateRustCode)(exports);
12
- default:
13
- throw new Error(`Unknown lang: ${lang}`);
14
- }
15
- }
16
- console.log(generateCode(exp, lang));
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmluZGdlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHVDQUE2QztBQUM3QyxtREFBeUQ7QUFFekQsTUFBTSxDQUFDLEVBQUUsQUFBRCxFQUFHLEdBQUcsR0FBRyxpQkFBaUIsRUFBRSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUVoRSxTQUFTLFlBQVksQ0FBQyxPQUFlLEVBQUUsSUFBWTtJQUNqRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxJQUFJO1lBQ1AsT0FBTyxJQUFBLHNDQUFzQixFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLEtBQUssTUFBTTtZQUNULE9BQU8sSUFBQSwwQkFBZ0IsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNuQztZQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,4 +0,0 @@
1
- export declare function mapType(type: string): string;
2
- export declare const mapRustType: typeof mapType;
3
- export declare function mapDeserializer(type: string): string;
4
- //# sourceMappingURL=mappings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../../src/bindgen/mappings.ts"],"names":[],"mappings":"AAoDA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,UAKnC;AAED,eAAO,MAAM,WAAW,gBAAU,CAAC;AAEnC,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,UAK3C"}
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapRustType = void 0;
4
- exports.mapType = mapType;
5
- exports.mapDeserializer = mapDeserializer;
6
- /* eslint-disable camelcase */
7
- const typeMap = {
8
- in_ptr: 'Ptr',
9
- out_ptr: 'Ptr',
10
- 'bb::fr::in_buf': 'Fr',
11
- 'bb::fr::vec_in_buf': 'Fr[]',
12
- 'fr::in_buf': 'Fr',
13
- 'fr::out_buf': 'Fr',
14
- 'fr::vec_in_buf': 'Fr[]',
15
- 'fr::vec_out_buf': 'Fr[]',
16
- 'fq::in_buf': 'Fq',
17
- 'fq::out_buf': 'Fq',
18
- 'fq::vec_in_buf': 'Fq[]',
19
- 'fq::vec_out_buf': 'Fq[]',
20
- 'const uint8_t *': 'Uint8Array',
21
- uint8_vec_vec_in_buf: 'Uint8Array[]',
22
- 'uint8_t **': 'Uint8Array',
23
- in_str_buf: 'string',
24
- out_str_buf: 'string',
25
- in_buf32: 'Buffer32',
26
- out_buf32: 'Buffer32',
27
- 'uint32_t *': 'number',
28
- 'const uint32_t *': 'number',
29
- 'affine_element::in_buf': 'Point',
30
- 'affine_element::out_buf': 'Point',
31
- 'const bool *': 'boolean',
32
- 'bool *': 'boolean',
33
- 'multisig::MultiSigPublicKey::vec_in_buf': 'Buffer128[]',
34
- 'multisig::MultiSigPublicKey::out_buf': 'Buffer128',
35
- 'multisig::RoundOnePublicOutput::vec_in_buf': 'Buffer128[]',
36
- 'multisig::RoundOnePublicOutput::out_buf': 'Buffer128',
37
- 'multisig::RoundOnePrivateOutput::in_buf': 'Buffer128',
38
- 'multisig::RoundOnePrivateOutput::out_buf': 'Buffer128',
39
- };
40
- const deserializerMap = {
41
- out_ptr: 'Ptr',
42
- 'fr::out_buf': 'Fr',
43
- 'fr::vec_out_buf': 'VectorDeserializer(Fr)',
44
- 'fq::out_buf': 'Fq',
45
- 'fq::vec_out_buf': 'VectorDeserializer(Fq)',
46
- 'uint8_t **': 'BufferDeserializer()',
47
- out_str_buf: 'StringDeserializer()',
48
- out_buf32: 'Buffer32',
49
- 'uint32_t *': 'NumberDeserializer()',
50
- 'affine_element::out_buf': 'Point',
51
- 'bool *': 'BoolDeserializer()',
52
- 'multisig::MultiSigPublicKey::out_buf': 'Buffer128',
53
- 'multisig::RoundOnePublicOutput::out_buf': 'Buffer128',
54
- 'multisig::RoundOnePrivateOutput::out_buf': 'Buffer128',
55
- };
56
- function mapType(type) {
57
- if (typeMap[type]) {
58
- return typeMap[type];
59
- }
60
- throw new Error(`Unknown type: ${type}`);
61
- }
62
- exports.mapRustType = mapType;
63
- function mapDeserializer(type) {
64
- if (deserializerMap[type]) {
65
- return deserializerMap[type];
66
- }
67
- throw new Error(`Unknown deserializer for type: ${type}`);
68
- }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmluZGdlbi9tYXBwaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFvREEsMEJBS0M7QUFJRCwwQ0FLQztBQWxFRCw4QkFBOEI7QUFDOUIsTUFBTSxPQUFPLEdBQThCO0lBQ3pDLE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFFLEtBQUs7SUFDZCxnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLG9CQUFvQixFQUFFLE1BQU07SUFDNUIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsZ0JBQWdCLEVBQUUsTUFBTTtJQUN4QixpQkFBaUIsRUFBRSxNQUFNO0lBQ3pCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGdCQUFnQixFQUFFLE1BQU07SUFDeEIsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixpQkFBaUIsRUFBRSxZQUFZO0lBQy9CLG9CQUFvQixFQUFFLGNBQWM7SUFDcEMsWUFBWSxFQUFFLFlBQVk7SUFDMUIsVUFBVSxFQUFFLFFBQVE7SUFDcEIsV0FBVyxFQUFFLFFBQVE7SUFDckIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsU0FBUyxFQUFFLFVBQVU7SUFDckIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsa0JBQWtCLEVBQUUsUUFBUTtJQUM1Qix3QkFBd0IsRUFBRSxPQUFPO0lBQ2pDLHlCQUF5QixFQUFFLE9BQU87SUFDbEMsY0FBYyxFQUFFLFNBQVM7SUFDekIsUUFBUSxFQUFFLFNBQVM7SUFDbkIseUNBQXlDLEVBQUUsYUFBYTtJQUN4RCxzQ0FBc0MsRUFBRSxXQUFXO0lBQ25ELDRDQUE0QyxFQUFFLGFBQWE7SUFDM0QseUNBQXlDLEVBQUUsV0FBVztJQUN0RCx5Q0FBeUMsRUFBRSxXQUFXO0lBQ3RELDBDQUEwQyxFQUFFLFdBQVc7Q0FDeEQsQ0FBQztBQUVGLE1BQU0sZUFBZSxHQUE4QjtJQUNqRCxPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGlCQUFpQixFQUFFLHdCQUF3QjtJQUMzQyxhQUFhLEVBQUUsSUFBSTtJQUNuQixpQkFBaUIsRUFBRSx3QkFBd0I7SUFDM0MsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxXQUFXLEVBQUUsc0JBQXNCO0lBQ25DLFNBQVMsRUFBRSxVQUFVO0lBQ3JCLFlBQVksRUFBRSxzQkFBc0I7SUFDcEMseUJBQXlCLEVBQUUsT0FBTztJQUNsQyxRQUFRLEVBQUUsb0JBQW9CO0lBQzlCLHNDQUFzQyxFQUFFLFdBQVc7SUFDbkQseUNBQXlDLEVBQUUsV0FBVztJQUN0RCwwQ0FBMEMsRUFBRSxXQUFXO0NBQ3hELENBQUM7QUFFRixTQUFnQixPQUFPLENBQUMsSUFBWTtJQUNsQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFWSxRQUFBLFdBQVcsR0FBRyxPQUFPLENBQUM7QUFFbkMsU0FBZ0IsZUFBZSxDQUFDLElBQVk7SUFDMUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUMxQixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUM1RCxDQUFDIn0=
@@ -1,2 +0,0 @@
1
- export declare function generateRustCode(filename: string): string;
2
- //# sourceMappingURL=rust.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/bindgen/rust.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,UAoChD"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateRustCode = generateRustCode;
4
- const tslib_1 = require("tslib");
5
- const fs_1 = tslib_1.__importDefault(require("fs"));
6
- const mappings_js_1 = require("./mappings.js");
7
- function generateRustCode(filename) {
8
- const fileContent = fs_1.default.readFileSync(filename, 'utf-8');
9
- const functionDeclarations = JSON.parse(fileContent);
10
- let output = `
11
- // WARNING: FILE CODE GENERATED BY BINDGEN UTILITY. DO NOT EDIT!
12
- use crate::call_wasm_export::call_wasm_export;
13
- use crate::serialize::{BufferDeserializer, NumberDeserializer, VectorDeserializer, BoolDeserializer};
14
- use crate::types::{Fr, Fq, Point, Buffer32, Buffer128};
15
- `;
16
- for (const { functionName, inArgs, outArgs } of functionDeclarations) {
17
- const parameters = inArgs.map(({ name, type }) => `${name}: ${(0, mappings_js_1.mapRustType)(type)}`).join(', ');
18
- const inArgsVar = `let in_args = vec![${inArgs.map(arg => arg.name).join(', ')}];`;
19
- const outTypesVar = `let out_types = vec![${outArgs.map(arg => (0, mappings_js_1.mapDeserializer)(arg.type)).join(', ')}];`;
20
- const wasmCall = `let result = call_wasm_export(&"${functionName}", &in_args, &out_types)?;`;
21
- const returnStmt = getReturnStmt(outArgs);
22
- const returnType = outArgs.length === 0
23
- ? '-> Result<(), Box<dyn std::error::Error>>'
24
- : `-> Result<(${outArgs.map(a => (0, mappings_js_1.mapRustType)(a.type)).join(', ')}), Box<dyn std::error::Error>>`;
25
- const functionDecl = `
26
- pub fn ${functionName}(${parameters})${returnType} {
27
- ${inArgsVar}
28
- ${outTypesVar}
29
- ${wasmCall}
30
- ${returnStmt}
31
- }
32
- `;
33
- output += functionDecl;
34
- }
35
- return output;
36
- }
37
- function getReturnStmt(outArgs) {
38
- switch (outArgs.length) {
39
- case 0:
40
- return 'Ok(())';
41
- case 1:
42
- return `Ok(result[0].clone())`;
43
- default:
44
- return `Ok((${outArgs.map((_, idx) => `result[${idx}].clone()`).join(', ')}))`;
45
- }
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW5kZ2VuL3J1c3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSw0Q0FvQ0M7O0FBeENELG9EQUFvQjtBQUVwQiwrQ0FBNkQ7QUFFN0QsU0FBZ0IsZ0JBQWdCLENBQUMsUUFBZ0I7SUFDL0MsTUFBTSxXQUFXLEdBQUcsWUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsTUFBTSxvQkFBb0IsR0FBMEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1RSxJQUFJLE1BQU0sR0FBRzs7Ozs7Q0FLZCxDQUFDO0lBRUEsS0FBSyxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEtBQUssSUFBQSx5QkFBVyxFQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUYsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkYsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFBLDZCQUFlLEVBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDekcsTUFBTSxRQUFRLEdBQUcsbUNBQW1DLFlBQVksNEJBQTRCLENBQUM7UUFFN0YsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLE1BQU0sVUFBVSxHQUNkLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNsQixDQUFDLENBQUMsMkNBQTJDO1lBQzdDLENBQUMsQ0FBQyxjQUFjLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHlCQUFXLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQztRQUVyRyxNQUFNLFlBQVksR0FBRztTQUNoQixZQUFZLElBQUksVUFBVSxJQUFJLFVBQVU7TUFDM0MsU0FBUztNQUNULFdBQVc7TUFDWCxRQUFRO01BQ1IsVUFBVTs7Q0FFZixDQUFDO1FBRUUsTUFBTSxJQUFJLFlBQVksQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQWM7SUFDbkMsUUFBUSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDO1lBQ0osT0FBTyxRQUFRLENBQUM7UUFDbEIsS0FBSyxDQUFDO1lBQ0osT0FBTyx1QkFBdUIsQ0FBQztRQUNqQztZQUNFLE9BQU8sT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25GLENBQUM7QUFDSCxDQUFDIn0=
@@ -1,2 +0,0 @@
1
- export declare function toCamelCase(input: string): string;
2
- //# sourceMappingURL=to_camel_case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to_camel_case.d.ts","sourceRoot":"","sources":["../../../src/bindgen/to_camel_case.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASjD"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toCamelCase = toCamelCase;
4
- function toCamelCase(input) {
5
- const words = input.split('_');
6
- const camelCasedWords = words.map((word, index) => {
7
- if (index === 0) {
8
- return word;
9
- }
10
- return word.charAt(0).toUpperCase() + word.slice(1);
11
- });
12
- return camelCasedWords.join('');
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9fY2FtZWxfY2FzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW5kZ2VuL3RvX2NhbWVsX2Nhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQ0FTQztBQVRELFNBQWdCLFdBQVcsQ0FBQyxLQUFhO0lBQ3ZDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNoRCxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQyxDQUFDIn0=
@@ -1,2 +0,0 @@
1
- export declare function generateTypeScriptCode(filename: string): string;
2
- //# sourceMappingURL=typescript.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/bindgen/typescript.ts"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,UAgBtD"}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateTypeScriptCode = generateTypeScriptCode;
4
- const tslib_1 = require("tslib");
5
- const fs_1 = tslib_1.__importDefault(require("fs"));
6
- const mappings_js_1 = require("./mappings.js");
7
- const to_camel_case_js_1 = require("./to_camel_case.js");
8
- function generateTypeScriptCode(filename) {
9
- const fileContent = fs_1.default.readFileSync(filename, 'utf-8');
10
- const functionDeclarations = JSON.parse(fileContent);
11
- let output = `// WARNING: FILE CODE GENERATED BY BINDGEN UTILITY. DO NOT EDIT!
12
- /* eslint-disable @typescript-eslint/no-unused-vars */
13
- import { BarretenbergWasmMain, BarretenbergWasmMainWorker } from '../barretenberg_wasm/barretenberg_wasm_main/index.js';
14
- import { BufferDeserializer, NumberDeserializer, VectorDeserializer, BoolDeserializer, StringDeserializer, serializeBufferable, OutputType } from '../serialize/index.js';
15
- import { Fr, Point, Buffer32, Ptr } from '../types/index.js';
16
-
17
- `;
18
- output += generateClass(functionDeclarations);
19
- output += generateSyncClass(functionDeclarations);
20
- return output;
21
- }
22
- function generateClass(functionDeclarations) {
23
- let output = `
24
- export class BarretenbergApi {
25
- constructor(protected wasm: BarretenbergWasmMainWorker) {}
26
-
27
- `;
28
- for (const { functionName, inArgs, outArgs } of functionDeclarations) {
29
- try {
30
- const parameters = inArgs.map(({ name, type }) => `${(0, to_camel_case_js_1.toCamelCase)(name)}: ${(0, mappings_js_1.mapType)(type)}`).join(', ');
31
- const inArgsVar = `const inArgs = [${inArgs
32
- .map(arg => (0, to_camel_case_js_1.toCamelCase)(arg.name))
33
- .join(', ')}].map(serializeBufferable);`;
34
- const outTypesVar = `const outTypes: OutputType[] = [${outArgs
35
- .map(arg => (0, mappings_js_1.mapDeserializer)(arg.type))
36
- .join(', ')}];`;
37
- const wasmCall = `const result = await this.wasm.callWasmExport('${functionName}', inArgs, outTypes.map(t=>t.SIZE_IN_BYTES));`;
38
- const outVar = `const out = result.map((r, i) => outTypes[i].fromBuffer(r));`;
39
- const n = outArgs.length;
40
- const returnStmt = n === 0 ? 'return;' : n === 1 ? 'return out[0];' : 'return out as any;';
41
- const returnType = outArgs.length === 0
42
- ? 'void'
43
- : outArgs.length === 1
44
- ? `${(0, mappings_js_1.mapType)(outArgs[0].type)}`
45
- : `[${outArgs.map(a => (0, mappings_js_1.mapType)(a.type)).join(', ')}]`;
46
- output += `
47
- async ${(0, to_camel_case_js_1.toCamelCase)(functionName)}(${parameters}): Promise<${returnType}> {
48
- ${inArgsVar}
49
- ${outTypesVar}
50
- ${wasmCall}
51
- ${outVar}
52
- ${returnStmt}
53
- }
54
- `;
55
- }
56
- catch (err) {
57
- throw new Error(`Function ${functionName}: ${err.message}`);
58
- }
59
- }
60
- output += `}`;
61
- return output;
62
- }
63
- function generateSyncClass(functionDeclarations) {
64
- let output = `
65
- export class BarretenbergApiSync {
66
- constructor(protected wasm: BarretenbergWasmMain) {}
67
-
68
- `;
69
- for (const { functionName, inArgs, outArgs } of functionDeclarations) {
70
- try {
71
- const parameters = inArgs.map(({ name, type }) => `${(0, to_camel_case_js_1.toCamelCase)(name)}: ${(0, mappings_js_1.mapType)(type)}`).join(', ');
72
- const inArgsVar = `const inArgs = [${inArgs
73
- .map(arg => (0, to_camel_case_js_1.toCamelCase)(arg.name))
74
- .join(', ')}].map(serializeBufferable);`;
75
- const outTypesVar = `const outTypes: OutputType[] = [${outArgs
76
- .map(arg => (0, mappings_js_1.mapDeserializer)(arg.type))
77
- .join(', ')}];`;
78
- const wasmCall = `const result = this.wasm.callWasmExport('${functionName}', inArgs, outTypes.map(t=>t.SIZE_IN_BYTES));`;
79
- const outVar = `const out = result.map((r, i) => outTypes[i].fromBuffer(r));`;
80
- const n = outArgs.length;
81
- const returnStmt = n === 0 ? 'return;' : n === 1 ? 'return out[0];' : 'return out as any;';
82
- const returnType = outArgs.length === 0
83
- ? 'void'
84
- : outArgs.length === 1
85
- ? `${(0, mappings_js_1.mapType)(outArgs[0].type)}`
86
- : `[${outArgs.map(a => (0, mappings_js_1.mapType)(a.type)).join(', ')}]`;
87
- output += `
88
- ${(0, to_camel_case_js_1.toCamelCase)(functionName)}(${parameters}): ${returnType} {
89
- ${inArgsVar}
90
- ${outTypesVar}
91
- ${wasmCall}
92
- ${outVar}
93
- ${returnStmt}
94
- }
95
- `;
96
- }
97
- catch (err) {
98
- throw new Error(`Function ${functionName}: ${err.message}`);
99
- }
100
- }
101
- output += `}`;
102
- return output;
103
- }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iaW5kZ2VuL3R5cGVzY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSx3REFnQkM7O0FBckJELG9EQUFvQjtBQUNwQiwrQ0FBeUQ7QUFDekQseURBQWlEO0FBR2pELFNBQWdCLHNCQUFzQixDQUFDLFFBQWdCO0lBQ3JELE1BQU0sV0FBVyxHQUFHLFlBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sb0JBQW9CLEdBQTBCLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFNUUsSUFBSSxNQUFNLEdBQUc7Ozs7OztDQU1kLENBQUM7SUFFQSxNQUFNLElBQUksYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDOUMsTUFBTSxJQUFJLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFbEQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLG9CQUEyQztJQUNoRSxJQUFJLE1BQU0sR0FBRzs7OztDQUlkLENBQUM7SUFFQSxLQUFLLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDckUsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUEsOEJBQVcsRUFBQyxJQUFJLENBQUMsS0FBSyxJQUFBLHFCQUFPLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2RyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsTUFBTTtpQkFDeEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBQSw4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
@@ -1,31 +0,0 @@
1
- import { BbApiBase, CircuitComputeVk, CircuitComputeVkResponse, CircuitInfoResponse, CircuitProve, CircuitProveResponse, CircuitStats, CircuitVerify, CircuitVerifyResponse, CircuitWriteSolidityVerifier, CircuitWriteSolidityVerifierResponse, ClientIvcAccumulate, ClientIvcAccumulateResponse, ClientIvcCheckPrecomputedVk, ClientIvcCheckPrecomputedVkResponse, ClientIvcComputeIvcVk, ClientIvcComputeIvcVkResponse, ClientIvcComputeStandaloneVk, ClientIvcComputeStandaloneVkResponse, ClientIvcLoad, ClientIvcLoadResponse, ClientIvcProve, ClientIvcProveResponse, ClientIvcStart, ClientIvcStartResponse, ClientIvcStats, ClientIvcStatsResponse, ClientIvcVerify, ClientIvcVerifyResponse, VkAsFields, VkAsFieldsResponse } from './api_types.js';
2
- export declare class NativeApi implements BbApiBase {
3
- private proc;
4
- private decoder;
5
- private encoder;
6
- private pendingRequests;
7
- private constructor();
8
- static new(bbPath?: string, logger?: {
9
- (...data: any[]): void;
10
- (message?: any, ...optionalParams: any[]): void;
11
- }): Promise<NativeApi>;
12
- private sendCommand;
13
- close(): Promise<void>;
14
- destroy(): Promise<void>;
15
- circuitProve(command: CircuitProve): Promise<CircuitProveResponse>;
16
- circuitComputeVk(command: CircuitComputeVk): Promise<CircuitComputeVkResponse>;
17
- circuitStats(command: CircuitStats): Promise<CircuitInfoResponse>;
18
- circuitVerify(command: CircuitVerify): Promise<CircuitVerifyResponse>;
19
- clientIvcComputeStandaloneVk(command: ClientIvcComputeStandaloneVk): Promise<ClientIvcComputeStandaloneVkResponse>;
20
- clientIvcComputeIvcVk(command: ClientIvcComputeIvcVk): Promise<ClientIvcComputeIvcVkResponse>;
21
- clientIvcStart(command: ClientIvcStart): Promise<ClientIvcStartResponse>;
22
- clientIvcLoad(command: ClientIvcLoad): Promise<ClientIvcLoadResponse>;
23
- clientIvcAccumulate(command: ClientIvcAccumulate): Promise<ClientIvcAccumulateResponse>;
24
- clientIvcProve(command: ClientIvcProve): Promise<ClientIvcProveResponse>;
25
- clientIvcVerify(command: ClientIvcVerify): Promise<ClientIvcVerifyResponse>;
26
- vkAsFields(command: VkAsFields): Promise<VkAsFieldsResponse>;
27
- circuitWriteSolidityVerifier(command: CircuitWriteSolidityVerifier): Promise<CircuitWriteSolidityVerifierResponse>;
28
- clientIvcCheckPrecomputedVk(command: ClientIvcCheckPrecomputedVk): Promise<ClientIvcCheckPrecomputedVkResponse>;
29
- clientIvcStats(command: ClientIvcStats): Promise<ClientIvcStatsResponse>;
30
- }
31
- //# sourceMappingURL=native.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../src/cbind/generated/native.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,mBAAmB,EAAkC,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,oCAAoC,EAAkB,mBAAmB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,oCAAoC,EAAE,aAAa,EAAE,qBAAqB,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,sBAAsB,EAAE,cAAc,EAAE,sBAAsB,EAAE,eAAe,EAAE,uBAAuB,EAA8D,UAAU,EAAE,kBAAkB,EAA+wB,MAAM,gBAAgB,CAAC;AAwCvlD,qBAAa,SAAU,YAAW,SAAS;IAKrB,OAAO,CAAC,IAAI;IAJhC,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,eAAe,CAA0B;IAEjD,OAAO;WAEM,GAAG,CAAC,MAAM,SAAO,EAAE,MAAM;;;KAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IA6CzE,OAAO,CAAC,WAAW;IAeb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAUlE,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAU9E,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAUjE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUrE,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAUlH,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAU7F,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUxE,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUrE,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAUvF,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAUxE,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAU3E,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAU5D,4BAA4B,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,oCAAoC,CAAC;IAUlH,2BAA2B,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,mCAAmC,CAAC;IAU/G,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC;CASzE"}
@@ -1,238 +0,0 @@
1
- "use strict";
2
- // AUTOGENERATED FILE - DO NOT EDIT
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NativeApi = void 0;
5
- const child_process_1 = require("child_process");
6
- const msgpackr_1 = require("msgpackr");
7
- const api_types_js_1 = require("./api_types.js");
8
- class StreamBuffer {
9
- constructor() {
10
- this.buffer = Buffer.alloc(0);
11
- this.expectedLength = null;
12
- }
13
- addData(data) {
14
- // Create buffer to grow as needed
15
- const newBuffer = Buffer.allocUnsafe(this.buffer.length + data.length);
16
- this.buffer.copy(newBuffer, 0);
17
- data.copy(newBuffer, this.buffer.length);
18
- this.buffer = newBuffer;
19
- const messages = [];
20
- while (true) {
21
- if (this.expectedLength === null) {
22
- if (this.buffer.length < 4)
23
- break;
24
- this.expectedLength = this.buffer.readUInt32LE(0);
25
- this.buffer = this.buffer.subarray(4);
26
- }
27
- if (this.buffer.length < this.expectedLength)
28
- break;
29
- // Extract complete message
30
- const messageBuffer = this.buffer.subarray(0, this.expectedLength);
31
- messages.push(messageBuffer);
32
- this.buffer = this.buffer.subarray(this.expectedLength);
33
- this.expectedLength = null;
34
- }
35
- return messages;
36
- }
37
- }
38
- class NativeApi {
39
- constructor(proc) {
40
- this.proc = proc;
41
- this.decoder = new msgpackr_1.Decoder({ useRecords: false });
42
- this.encoder = new msgpackr_1.Encoder({ useRecords: false });
43
- this.pendingRequests = [];
44
- }
45
- static async new(bbPath = 'bb', logger = console.log) {
46
- const proc = (0, child_process_1.spawn)(bbPath, ['msgpack', 'run'], {
47
- stdio: ['pipe', 'pipe', 'pipe'],
48
- });
49
- if (!proc.stdout || !proc.stdin) {
50
- throw new Error('Failed to initialize bb process');
51
- }
52
- const api = new NativeApi(proc);
53
- const streamBuffer = new StreamBuffer();
54
- proc.stdout.on('data', (data) => {
55
- const messages = streamBuffer.addData(data);
56
- for (const messageBuffer of messages) {
57
- const pendingRequest = api.pendingRequests.shift();
58
- if (!pendingRequest) {
59
- throw new Error('Received response without a pending request');
60
- }
61
- try {
62
- const decoded = api.decoder.decode(messageBuffer);
63
- if (!Array.isArray(decoded) || decoded.length !== 2) {
64
- throw new Error(`Invalid response format: ${JSON.stringify(decoded)}`);
65
- }
66
- const [variantName, result] = decoded;
67
- pendingRequest.resolve([variantName, result]);
68
- }
69
- catch (error) {
70
- pendingRequest.reject(error);
71
- break;
72
- }
73
- }
74
- });
75
- proc.stderr.on('data', (data) => {
76
- logger(data.toString().trim());
77
- });
78
- proc.on('error', err => {
79
- throw new Error(err.message);
80
- });
81
- return api;
82
- }
83
- sendCommand(command) {
84
- return new Promise((resolve, reject) => {
85
- this.pendingRequests.push({ resolve, reject });
86
- const encoded = this.encoder.encode(command);
87
- // Write length prefix (4 bytes, little-endian)
88
- const lengthBuffer = Buffer.allocUnsafe(4);
89
- lengthBuffer.writeUInt32LE(encoded.length, 0);
90
- // Write length prefix followed by the encoded data
91
- this.proc.stdin.write(lengthBuffer);
92
- this.proc.stdin.write(encoded);
93
- });
94
- }
95
- async close() {
96
- this.proc.kill();
97
- }
98
- destroy() {
99
- return this.close();
100
- }
101
- circuitProve(command) {
102
- const msgpackCommand = (0, api_types_js_1.fromCircuitProve)(command);
103
- return this.sendCommand(['CircuitProve', msgpackCommand]).then(([variantName, result]) => {
104
- if (variantName !== 'CircuitProveResponse') {
105
- throw new Error(`Expected variant name 'CircuitProveResponse' but got '${variantName}'`);
106
- }
107
- return (0, api_types_js_1.toCircuitProveResponse)(result);
108
- });
109
- }
110
- circuitComputeVk(command) {
111
- const msgpackCommand = (0, api_types_js_1.fromCircuitComputeVk)(command);
112
- return this.sendCommand(['CircuitComputeVk', msgpackCommand]).then(([variantName, result]) => {
113
- if (variantName !== 'CircuitComputeVkResponse') {
114
- throw new Error(`Expected variant name 'CircuitComputeVkResponse' but got '${variantName}'`);
115
- }
116
- return (0, api_types_js_1.toCircuitComputeVkResponse)(result);
117
- });
118
- }
119
- circuitStats(command) {
120
- const msgpackCommand = (0, api_types_js_1.fromCircuitStats)(command);
121
- return this.sendCommand(['CircuitStats', msgpackCommand]).then(([variantName, result]) => {
122
- if (variantName !== 'CircuitInfoResponse') {
123
- throw new Error(`Expected variant name 'CircuitInfoResponse' but got '${variantName}'`);
124
- }
125
- return (0, api_types_js_1.toCircuitInfoResponse)(result);
126
- });
127
- }
128
- circuitVerify(command) {
129
- const msgpackCommand = (0, api_types_js_1.fromCircuitVerify)(command);
130
- return this.sendCommand(['CircuitVerify', msgpackCommand]).then(([variantName, result]) => {
131
- if (variantName !== 'CircuitVerifyResponse') {
132
- throw new Error(`Expected variant name 'CircuitVerifyResponse' but got '${variantName}'`);
133
- }
134
- return (0, api_types_js_1.toCircuitVerifyResponse)(result);
135
- });
136
- }
137
- clientIvcComputeStandaloneVk(command) {
138
- const msgpackCommand = (0, api_types_js_1.fromClientIvcComputeStandaloneVk)(command);
139
- return this.sendCommand(['ClientIvcComputeStandaloneVk', msgpackCommand]).then(([variantName, result]) => {
140
- if (variantName !== 'ClientIvcComputeStandaloneVkResponse') {
141
- throw new Error(`Expected variant name 'ClientIvcComputeStandaloneVkResponse' but got '${variantName}'`);
142
- }
143
- return (0, api_types_js_1.toClientIvcComputeStandaloneVkResponse)(result);
144
- });
145
- }
146
- clientIvcComputeIvcVk(command) {
147
- const msgpackCommand = (0, api_types_js_1.fromClientIvcComputeIvcVk)(command);
148
- return this.sendCommand(['ClientIvcComputeIvcVk', msgpackCommand]).then(([variantName, result]) => {
149
- if (variantName !== 'ClientIvcComputeIvcVkResponse') {
150
- throw new Error(`Expected variant name 'ClientIvcComputeIvcVkResponse' but got '${variantName}'`);
151
- }
152
- return (0, api_types_js_1.toClientIvcComputeIvcVkResponse)(result);
153
- });
154
- }
155
- clientIvcStart(command) {
156
- const msgpackCommand = (0, api_types_js_1.fromClientIvcStart)(command);
157
- return this.sendCommand(['ClientIvcStart', msgpackCommand]).then(([variantName, result]) => {
158
- if (variantName !== 'ClientIvcStartResponse') {
159
- throw new Error(`Expected variant name 'ClientIvcStartResponse' but got '${variantName}'`);
160
- }
161
- return (0, api_types_js_1.toClientIvcStartResponse)(result);
162
- });
163
- }
164
- clientIvcLoad(command) {
165
- const msgpackCommand = (0, api_types_js_1.fromClientIvcLoad)(command);
166
- return this.sendCommand(['ClientIvcLoad', msgpackCommand]).then(([variantName, result]) => {
167
- if (variantName !== 'ClientIvcLoadResponse') {
168
- throw new Error(`Expected variant name 'ClientIvcLoadResponse' but got '${variantName}'`);
169
- }
170
- return (0, api_types_js_1.toClientIvcLoadResponse)(result);
171
- });
172
- }
173
- clientIvcAccumulate(command) {
174
- const msgpackCommand = (0, api_types_js_1.fromClientIvcAccumulate)(command);
175
- return this.sendCommand(['ClientIvcAccumulate', msgpackCommand]).then(([variantName, result]) => {
176
- if (variantName !== 'ClientIvcAccumulateResponse') {
177
- throw new Error(`Expected variant name 'ClientIvcAccumulateResponse' but got '${variantName}'`);
178
- }
179
- return (0, api_types_js_1.toClientIvcAccumulateResponse)(result);
180
- });
181
- }
182
- clientIvcProve(command) {
183
- const msgpackCommand = (0, api_types_js_1.fromClientIvcProve)(command);
184
- return this.sendCommand(['ClientIvcProve', msgpackCommand]).then(([variantName, result]) => {
185
- if (variantName !== 'ClientIvcProveResponse') {
186
- throw new Error(`Expected variant name 'ClientIvcProveResponse' but got '${variantName}'`);
187
- }
188
- return (0, api_types_js_1.toClientIvcProveResponse)(result);
189
- });
190
- }
191
- clientIvcVerify(command) {
192
- const msgpackCommand = (0, api_types_js_1.fromClientIvcVerify)(command);
193
- return this.sendCommand(['ClientIvcVerify', msgpackCommand]).then(([variantName, result]) => {
194
- if (variantName !== 'ClientIvcVerifyResponse') {
195
- throw new Error(`Expected variant name 'ClientIvcVerifyResponse' but got '${variantName}'`);
196
- }
197
- return (0, api_types_js_1.toClientIvcVerifyResponse)(result);
198
- });
199
- }
200
- vkAsFields(command) {
201
- const msgpackCommand = (0, api_types_js_1.fromVkAsFields)(command);
202
- return this.sendCommand(['VkAsFields', msgpackCommand]).then(([variantName, result]) => {
203
- if (variantName !== 'VkAsFieldsResponse') {
204
- throw new Error(`Expected variant name 'VkAsFieldsResponse' but got '${variantName}'`);
205
- }
206
- return (0, api_types_js_1.toVkAsFieldsResponse)(result);
207
- });
208
- }
209
- circuitWriteSolidityVerifier(command) {
210
- const msgpackCommand = (0, api_types_js_1.fromCircuitWriteSolidityVerifier)(command);
211
- return this.sendCommand(['CircuitWriteSolidityVerifier', msgpackCommand]).then(([variantName, result]) => {
212
- if (variantName !== 'CircuitWriteSolidityVerifierResponse') {
213
- throw new Error(`Expected variant name 'CircuitWriteSolidityVerifierResponse' but got '${variantName}'`);
214
- }
215
- return (0, api_types_js_1.toCircuitWriteSolidityVerifierResponse)(result);
216
- });
217
- }
218
- clientIvcCheckPrecomputedVk(command) {
219
- const msgpackCommand = (0, api_types_js_1.fromClientIvcCheckPrecomputedVk)(command);
220
- return this.sendCommand(['ClientIvcCheckPrecomputedVk', msgpackCommand]).then(([variantName, result]) => {
221
- if (variantName !== 'ClientIvcCheckPrecomputedVkResponse') {
222
- throw new Error(`Expected variant name 'ClientIvcCheckPrecomputedVkResponse' but got '${variantName}'`);
223
- }
224
- return (0, api_types_js_1.toClientIvcCheckPrecomputedVkResponse)(result);
225
- });
226
- }
227
- clientIvcStats(command) {
228
- const msgpackCommand = (0, api_types_js_1.fromClientIvcStats)(command);
229
- return this.sendCommand(['ClientIvcStats', msgpackCommand]).then(([variantName, result]) => {
230
- if (variantName !== 'ClientIvcStatsResponse') {
231
- throw new Error(`Expected variant name 'ClientIvcStatsResponse' but got '${variantName}'`);
232
- }
233
- return (0, api_types_js_1.toClientIvcStatsResponse)(result);
234
- });
235
- }
236
- }
237
- exports.NativeApi = NativeApi;
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NiaW5kL2dlbmVyYXRlZC9uYXRpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1DQUFtQzs7O0FBRW5DLGlEQUFvRDtBQUNwRCx1Q0FBNEM7QUFDNUMsaURBQXVsRDtBQU92bEQsTUFBTSxZQUFZO0lBQWxCO1FBQ1UsV0FBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsbUJBQWMsR0FBa0IsSUFBSSxDQUFDO0lBNkIvQyxDQUFDO0lBM0JDLE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLGtDQUFrQztRQUNsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUV4QixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFFOUIsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUFFLE1BQU07Z0JBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFD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