@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,13 +0,0 @@
1
- #!/usr/bin/env node
2
- import 'source-map-support/register.js';
3
- import { UltraHonkBackendOptions } from './barretenberg/backend.js';
4
- export declare function proveAndVerifyUltraHonk(bytecodePath: string, witnessPath: string, crsPath: string): Promise<boolean>;
5
- export declare function proveAndVerifyMegaHonk(bytecodePath: string, witnessPath: string, crsPath: string): Promise<boolean>;
6
- export declare function gateCountUltra(bytecodePath: string, recursive: boolean, honkRecursion: boolean): Promise<void>;
7
- export declare function contractUltraHonk(bytecodePath: string, vkPath: string, crsPath: string, outputPath: string): Promise<void>;
8
- export declare function proveUltraHonk(bytecodePath: string, witnessPath: string, crsPath: string, vkPath: string, outputPath: string, options?: UltraHonkBackendOptions): Promise<void>;
9
- export declare function writeVkUltraHonk(bytecodePath: string, crsPath: string, outputPath: string, options?: UltraHonkBackendOptions): Promise<void>;
10
- export declare function verifyUltraHonk(proofPath: string, vkPath: string, crsPath: string, options?: UltraHonkBackendOptions): Promise<boolean>;
11
- export declare function proofAsFieldsUltraHonk(proofPath: string, outputPath: string, crsPath: string): Promise<void>;
12
- export declare function vkAsFieldsUltraHonk(vkPath: string, vkeyOutputPath: string, crsPath: string): Promise<void>;
13
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AACA,OAAO,gCAAgC,CAAC;AAMxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAwEpE,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAavG;AAED,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAatG;AAED,wBAAsB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,iBAepG;AAED,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAkBhH;AAED,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,uBAAuB,iBA6BlC;AAED,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,uBAAuB,iBA4BlC;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,uBAAuB,oBAuBlC;AAED,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAiBlG;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAkBhG"}
@@ -1,470 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.proveAndVerifyUltraHonk = proveAndVerifyUltraHonk;
5
- exports.proveAndVerifyMegaHonk = proveAndVerifyMegaHonk;
6
- exports.gateCountUltra = gateCountUltra;
7
- exports.contractUltraHonk = contractUltraHonk;
8
- exports.proveUltraHonk = proveUltraHonk;
9
- exports.writeVkUltraHonk = writeVkUltraHonk;
10
- exports.verifyUltraHonk = verifyUltraHonk;
11
- exports.proofAsFieldsUltraHonk = proofAsFieldsUltraHonk;
12
- exports.vkAsFieldsUltraHonk = vkAsFieldsUltraHonk;
13
- require("source-map-support/register.js");
14
- const index_js_1 = require("./index.js");
15
- const index_js_2 = require("./log/index.js");
16
- const fs_1 = require("fs");
17
- const zlib_1 = require("zlib");
18
- const commander_1 = require("commander");
19
- let debug;
20
- const threads = +process.env.HARDWARE_CONCURRENCY || undefined;
21
- function getBytecode(bytecodePath) {
22
- const extension = bytecodePath.substring(bytecodePath.lastIndexOf('.') + 1);
23
- if (extension == 'json') {
24
- const encodedCircuit = JSON.parse((0, fs_1.readFileSync)(bytecodePath, 'utf8'));
25
- const decompressed = (0, zlib_1.gunzipSync)(Buffer.from(encodedCircuit.bytecode, 'base64'));
26
- return Uint8Array.from(decompressed);
27
- }
28
- const encodedCircuit = (0, fs_1.readFileSync)(bytecodePath);
29
- const decompressed = (0, zlib_1.gunzipSync)(encodedCircuit);
30
- return Uint8Array.from(decompressed);
31
- }
32
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): split this into separate Plonk and Honk functions as their gate count differs
33
- async function getGatesUltra(bytecodePath, recursive, honkRecursion, api) {
34
- const { total } = await computeCircuitSize(bytecodePath, recursive, honkRecursion, api);
35
- return total;
36
- }
37
- function getWitness(witnessPath) {
38
- const data = (0, fs_1.readFileSync)(witnessPath);
39
- const decompressed = (0, zlib_1.gunzipSync)(data);
40
- return Uint8Array.from(decompressed);
41
- }
42
- async function computeCircuitSize(bytecodePath, recursive, honkRecursion, api) {
43
- debug(`Computing circuit size for ${bytecodePath}`);
44
- const bytecode = getBytecode(bytecodePath);
45
- const [total, subgroup] = await api.acirGetCircuitSizes(bytecode, recursive, honkRecursion);
46
- return { total, subgroup };
47
- }
48
- async function initUltraHonk(bytecodePath, crsPath) {
49
- const api = await index_js_1.Barretenberg.new({
50
- threads,
51
- });
52
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1248): Get rid of this call to avoid building the circuit twice.
53
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/1126): use specific UltraHonk function
54
- // recursive here is useless for UH, as it does not affect anything
55
- const circuitSize = await getGatesUltra(bytecodePath, /*recursive=*/ false, /*honkRecursion=*/ true, api);
56
- // TODO(https://github.com/AztecProtocol/barretenberg/issues/811): remove subgroupSizeOverride hack for goblin
57
- const dyadicCircuitSize = Math.pow(2, Math.ceil(Math.log2(circuitSize)));
58
- debug(`Loading CRS for UltraHonk with circuit-size=${circuitSize} dyadic-circuit-size=${dyadicCircuitSize}`);
59
- const crs = await index_js_1.Crs.new(dyadicCircuitSize + 1, crsPath);
60
- // Load CRS into wasm global CRS state.
61
- // TODO: Make RawBuffer be default behavior, and have a specific Vector type for when wanting length prefixed.
62
- await api.srsInitSrs(new index_js_1.RawBuffer(crs.getG1Data()), crs.numPoints, new index_js_1.RawBuffer(crs.getG2Data()));
63
- return { api, circuitSize, dyadicCircuitSize };
64
- }
65
- async function initLite(crsPath) {
66
- const api = await index_js_1.Barretenberg.new({ threads: 1 });
67
- // Plus 1 needed! (Move +1 into Crs?)
68
- const crs = await index_js_1.Crs.new(1, crsPath);
69
- // Load CRS into wasm global CRS state.
70
- await api.srsInitSrs(new index_js_1.RawBuffer(crs.getG1Data()), crs.numPoints, new index_js_1.RawBuffer(crs.getG2Data()));
71
- return { api };
72
- }
73
- async function proveAndVerifyUltraHonk(bytecodePath, witnessPath, crsPath) {
74
- /* eslint-disable camelcase */
75
- const { api } = await initUltraHonk(bytecodePath, crsPath);
76
- try {
77
- const bytecode = getBytecode(bytecodePath);
78
- const witness = getWitness(witnessPath);
79
- const verified = await api.acirProveAndVerifyUltraHonk(bytecode, witness);
80
- return verified;
81
- }
82
- finally {
83
- await api.destroy();
84
- }
85
- /* eslint-enable camelcase */
86
- }
87
- async function proveAndVerifyMegaHonk(bytecodePath, witnessPath, crsPath) {
88
- /* eslint-disable camelcase */
89
- const { api } = await initUltraHonk(bytecodePath, crsPath);
90
- try {
91
- const bytecode = getBytecode(bytecodePath);
92
- const witness = getWitness(witnessPath);
93
- const verified = await api.acirProveAndVerifyMegaHonk(bytecode, witness);
94
- return verified;
95
- }
96
- finally {
97
- await api.destroy();
98
- }
99
- /* eslint-enable camelcase */
100
- }
101
- async function gateCountUltra(bytecodePath, recursive, honkRecursion) {
102
- const api = await index_js_1.Barretenberg.new({ threads: 1 });
103
- try {
104
- const numberOfGates = await getGatesUltra(bytecodePath, recursive, honkRecursion, api);
105
- debug(`Number of gates: ${numberOfGates}`);
106
- // Create an 8-byte buffer and write the number into it.
107
- // Writing number directly to stdout will result in a variable sized
108
- // input depending on the size.
109
- const buffer = Buffer.alloc(8);
110
- buffer.writeBigInt64LE(BigInt(numberOfGates));
111
- process.stdout.write(Uint8Array.from(buffer));
112
- }
113
- finally {
114
- await api.destroy();
115
- }
116
- }
117
- async function contractUltraHonk(bytecodePath, vkPath, crsPath, outputPath) {
118
- const { api } = await initUltraHonk(bytecodePath, crsPath);
119
- try {
120
- debug(`Creating UltraHonk verifier contract bytecode=${bytecodePath} vk=${vkPath}`);
121
- const bytecode = getBytecode(bytecodePath);
122
- const vk = new index_js_1.RawBuffer((0, fs_1.readFileSync)(vkPath));
123
- const contract = await api.acirHonkSolidityVerifier(bytecode, vk);
124
- if (outputPath === '-') {
125
- process.stdout.write(contract);
126
- debug(`Solidity verifier contract written to stdout`);
127
- }
128
- else {
129
- (0, fs_1.writeFileSync)(outputPath, contract);
130
- debug(`Solidity verifier contract written to ${outputPath}`);
131
- }
132
- }
133
- finally {
134
- await api.destroy();
135
- }
136
- }
137
- async function proveUltraHonk(bytecodePath, witnessPath, crsPath, vkPath, outputPath, options) {
138
- const { api } = await initUltraHonk(bytecodePath, crsPath);
139
- try {
140
- debug(`Creating UltraHonk proof bytecode=${bytecodePath}`);
141
- const bytecode = getBytecode(bytecodePath);
142
- const witness = getWitness(witnessPath);
143
- const acirProveUltraHonk = options?.keccak
144
- ? api.acirProveUltraKeccakHonk.bind(api)
145
- : options?.keccakZK
146
- ? api.acirProveUltraKeccakZkHonk.bind(api)
147
- : options?.starknet
148
- ? api.acirProveUltraStarknetHonk.bind(api)
149
- : options?.starknetZK
150
- ? api.acirProveUltraStarknetZkHonk.bind(api)
151
- : api.acirProveUltraZKHonk.bind(api);
152
- const proof = await acirProveUltraHonk(bytecode, witness, new index_js_1.RawBuffer((0, fs_1.readFileSync)(vkPath)));
153
- if (outputPath === '-') {
154
- process.stdout.write(proof);
155
- debug(`Proof written to stdout`);
156
- }
157
- else {
158
- (0, fs_1.writeFileSync)(outputPath, proof);
159
- debug(`Proof written to ${outputPath}`);
160
- }
161
- }
162
- finally {
163
- await api.destroy();
164
- }
165
- }
166
- async function writeVkUltraHonk(bytecodePath, crsPath, outputPath, options) {
167
- const { api } = await initUltraHonk(bytecodePath, crsPath);
168
- try {
169
- const bytecode = getBytecode(bytecodePath);
170
- debug(`Initializing UltraHonk verification key bytecode=${bytecodePath}`);
171
- const acirWriteVkUltraHonk = options?.keccak
172
- ? api.acirWriteVkUltraKeccakHonk.bind(api)
173
- : options?.keccakZK
174
- ? api.acirWriteVkUltraKeccakZkHonk.bind(api)
175
- : options?.starknet
176
- ? api.acirWriteVkUltraStarknetHonk.bind(api)
177
- : options?.starknetZK
178
- ? api.acirWriteVkUltraStarknetZkHonk.bind(api)
179
- : api.acirWriteVkUltraHonk.bind(api);
180
- const vk = await acirWriteVkUltraHonk(bytecode);
181
- if (outputPath === '-') {
182
- process.stdout.write(vk);
183
- debug(`Verification key written to stdout`);
184
- }
185
- else {
186
- (0, fs_1.writeFileSync)(outputPath, vk);
187
- debug(`Verification key written to ${outputPath}`);
188
- }
189
- }
190
- finally {
191
- await api.destroy();
192
- }
193
- }
194
- async function verifyUltraHonk(proofPath, vkPath, crsPath, options) {
195
- const { api } = await initLite(crsPath);
196
- try {
197
- const acirVerifyUltraHonk = options?.keccak
198
- ? api.acirVerifyUltraKeccakHonk.bind(api)
199
- : options?.keccakZK
200
- ? api.acirVerifyUltraKeccakZkHonk.bind(api)
201
- : options?.starknet
202
- ? api.acirVerifyUltraStarknetHonk.bind(api)
203
- : options?.starknetZK
204
- ? api.acirVerifyUltraStarknetZkHonk.bind(api)
205
- : api.acirVerifyUltraZKHonk.bind(api);
206
- const verified = await acirVerifyUltraHonk(Uint8Array.from((0, fs_1.readFileSync)(proofPath)), new index_js_1.RawBuffer((0, fs_1.readFileSync)(vkPath)));
207
- debug(`Verification ${verified ? 'successful' : 'failed'}`);
208
- return verified;
209
- }
210
- finally {
211
- await api.destroy();
212
- }
213
- }
214
- async function proofAsFieldsUltraHonk(proofPath, outputPath, crsPath) {
215
- const { api } = await initLite(crsPath);
216
- try {
217
- debug(`Outputting UltraHonk proof as vector of fields proof=${proofPath}`);
218
- const proofAsFields = await api.acirProofAsFieldsUltraHonk(Uint8Array.from((0, fs_1.readFileSync)(proofPath)));
219
- const jsonProofAsFields = JSON.stringify(proofAsFields.map(f => f.toString()));
220
- if (outputPath === '-') {
221
- process.stdout.write(jsonProofAsFields);
222
- debug(`Proof as fields written to stdout`);
223
- }
224
- else {
225
- (0, fs_1.writeFileSync)(outputPath, jsonProofAsFields);
226
- debug(`Proof as fields written to ${outputPath}`);
227
- }
228
- }
229
- finally {
230
- await api.destroy();
231
- }
232
- }
233
- async function vkAsFieldsUltraHonk(vkPath, vkeyOutputPath, crsPath) {
234
- const { api } = await initLite(crsPath);
235
- try {
236
- debug(`Serializing vk byte array into field elements vk=${vkPath}`);
237
- const vkAsFields = await api.acirVkAsFieldsUltraHonk(new index_js_1.RawBuffer((0, fs_1.readFileSync)(vkPath)));
238
- const jsonVKAsFields = JSON.stringify(vkAsFields.map(f => f.toString()));
239
- if (vkeyOutputPath === '-') {
240
- process.stdout.write(jsonVKAsFields);
241
- debug(`Verification key as fields written to stdout`);
242
- }
243
- else {
244
- (0, fs_1.writeFileSync)(vkeyOutputPath, jsonVKAsFields);
245
- debug(`Verification key as fields written to ${vkeyOutputPath}`);
246
- }
247
- }
248
- finally {
249
- await api.destroy();
250
- }
251
- }
252
- const program = new commander_1.Command('bb');
253
- program.option('-v, --verbose', 'enable verbose logging', false);
254
- program.option('-c, --crs-path <path>', 'set crs path', './crs');
255
- function handleGlobalOptions() {
256
- (0, index_js_2.initLogger)({ useStdErr: true, level: program.opts().verbose ? 'debug' : 'info' });
257
- debug = (0, index_js_2.createDebugLogger)('bb');
258
- return { crsPath: program.opts().crsPath };
259
- }
260
- const deprecatedCommandError = () => async () => {
261
- console.error(`Error: UltraPlonk is now deprecated (see https://github.com/AztecProtocol/barretenberg/issues/1377). Use UltraHonk!`);
262
- process.exit(1);
263
- };
264
- program
265
- .command('prove_and_verify')
266
- .description('Generate a proof and verify it. Process exits with success or failure code. [DEPRECATED]')
267
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
268
- .option('-r, --recursive', 'Whether to use a SNARK friendly proof', false)
269
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
270
- .action(deprecatedCommandError());
271
- program
272
- .command('prove_and_verify_ultra_honk')
273
- .description('Generate an UltraHonk proof and verify it. Process exits with success or failure code.')
274
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
275
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
276
- .action(async ({ bytecodePath, witnessPath }) => {
277
- const { crsPath } = handleGlobalOptions();
278
- const result = await proveAndVerifyUltraHonk(bytecodePath, witnessPath, crsPath);
279
- process.exit(result ? 0 : 1);
280
- });
281
- program
282
- .command('prove_and_verify_mega_honk')
283
- .description('Generate a MegaHonk proof and verify it. Process exits with success or failure code.')
284
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
285
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
286
- .action(async ({ bytecodePath, witnessPath }) => {
287
- const { crsPath } = handleGlobalOptions();
288
- const result = await proveAndVerifyMegaHonk(bytecodePath, witnessPath, crsPath);
289
- process.exit(result ? 0 : 1);
290
- });
291
- program
292
- .command('prove')
293
- .description('Generate a proof and write it to a file. [DEPRECATED]')
294
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
295
- .option('-r, --recursive', 'Create a SNARK friendly proof', false)
296
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
297
- .option('-o, --output-path <path>', 'Specify the proof output path', './proofs/proof')
298
- .action(deprecatedCommandError());
299
- program
300
- .command('gates')
301
- .description('Print Ultra Builder gate count to standard output.')
302
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
303
- .option('-r, --recursive', 'Create a SNARK friendly proof', false)
304
- .option('-hr, --honk-recursion', 'Specify whether to use UltraHonk recursion', false)
305
- .action(async ({ bytecodePath, recursive, honkRecursion: honkRecursion }) => {
306
- handleGlobalOptions();
307
- await gateCountUltra(bytecodePath, recursive, honkRecursion);
308
- });
309
- program
310
- .command('verify')
311
- .description('Verify a proof. Process exists with success or failure code. [DEPRECATED]')
312
- .requiredOption('-p, --proof-path <path>', 'Specify the path to the proof')
313
- .requiredOption('-k, --vk <path>', 'path to a verification key. avoids recomputation.')
314
- .action(deprecatedCommandError());
315
- program
316
- .command('contract')
317
- .description('Output solidity verification key contract. [DEPRECATED]')
318
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
319
- .option('-o, --output-path <path>', 'Specify the path to write the contract', './target/contract.sol')
320
- .requiredOption('-k, --vk-path <path>', 'Path to a verification key. avoids recomputation.')
321
- .action(deprecatedCommandError());
322
- program
323
- .command('contract_ultra_honk')
324
- .description('Output solidity verification key contract.')
325
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
326
- .option('-o, --output-path <path>', 'Specify the path to write the contract', './target/contract.sol')
327
- .requiredOption('-k, --vk-path <path>', 'Path to a verification key.')
328
- .action(async ({ bytecodePath, outputPath, vkPath }) => {
329
- const { crsPath } = handleGlobalOptions();
330
- await contractUltraHonk(bytecodePath, vkPath, crsPath, outputPath);
331
- });
332
- program
333
- .command('write_vk')
334
- .description('Output verification key. [DEPRECATED]')
335
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
336
- .option('-r, --recursive', 'Create a SNARK friendly proof', false)
337
- .option('-o, --output-path <path>', 'Specify the path to write the key')
338
- .action(deprecatedCommandError());
339
- program
340
- .command('write_pk')
341
- .description('Output proving key. [DEPRECATED]')
342
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
343
- .option('-r, --recursive', 'Create a SNARK friendly proof', false)
344
- .requiredOption('-o, --output-path <path>', 'Specify the path to write the key')
345
- .action(deprecatedCommandError());
346
- program
347
- .command('proof_as_fields')
348
- .description('Return the proof as fields elements. [DEPRECATED]')
349
- .requiredOption('-p, --proof-path <path>', 'Specify the proof path')
350
- .requiredOption('-k, --vk-path <path>', 'Path to verification key.')
351
- .requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the proof fields')
352
- .action(deprecatedCommandError());
353
- program
354
- .command('vk_as_fields')
355
- .description('Return the verification key represented as fields elements. Also return the verification key hash. [DEPRECATED]')
356
- .requiredOption('-k, --vk-path <path>', 'Path to verification key.')
357
- .requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the verification key fields and key hash')
358
- .action(deprecatedCommandError());
359
- program
360
- .command('prove_ultra_honk')
361
- .description('Generate a proof and write it to a file.')
362
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
363
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
364
- .option('-k, --vk-path <path>', 'path to a verification key. avoids recomputation.')
365
- .option('-o, --output-path <path>', 'Specify the proof output path', './proofs/proof')
366
- .action(async ({ bytecodePath, witnessPath, vkPath, outputPath }) => {
367
- const { crsPath } = handleGlobalOptions();
368
- debug(`Creating UltraHonk proof bytecodePath=${bytecodePath}, witnessPath=${witnessPath}, vkPath=${vkPath}`);
369
- await proveUltraHonk(bytecodePath, witnessPath, crsPath, vkPath, outputPath);
370
- });
371
- program
372
- .command('prove_ultra_keccak_honk')
373
- .description('Generate a proof and write it to a file.')
374
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
375
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
376
- .option('-k, --vk-path <path>', 'path to a verification key. avoids recomputation.')
377
- .option('-o, --output-path <path>', 'Specify the proof output path', './proofs/proof')
378
- .action(async ({ bytecodePath, witnessPath, vkPath, outputPath }) => {
379
- const { crsPath } = handleGlobalOptions();
380
- await proveUltraHonk(bytecodePath, witnessPath, crsPath, vkPath, outputPath, { keccak: true });
381
- });
382
- program
383
- .command('prove_ultra_starknet_honk')
384
- .description('Generate a proof and write it to a file.')
385
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
386
- .option('-w, --witness-path <path>', 'Specify the witness path', './target/witness.gz')
387
- .option('-k, --vk-path <path>', 'path to a verification key. avoids recomputation.')
388
- .option('-o, --output-path <path>', 'Specify the proof output path', './proofs/proof')
389
- .action(async ({ bytecodePath, witnessPath, vkPath, outputPath }) => {
390
- const { crsPath } = handleGlobalOptions();
391
- await proveUltraHonk(bytecodePath, witnessPath, crsPath, vkPath, outputPath, { starknet: true });
392
- });
393
- program
394
- .command('write_vk_ultra_honk')
395
- .description('Output verification key.')
396
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
397
- .requiredOption('-o, --output-path <path>', 'Specify the path to write the key')
398
- .action(async ({ bytecodePath, outputPath }) => {
399
- const { crsPath } = handleGlobalOptions();
400
- debug(`Writing verification key to ${outputPath}`);
401
- await writeVkUltraHonk(bytecodePath, crsPath, outputPath);
402
- });
403
- program
404
- .command('write_vk_ultra_keccak_honk')
405
- .description('Output verification key.')
406
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
407
- .requiredOption('-o, --output-path <path>', 'Specify the path to write the key')
408
- .action(async ({ bytecodePath, outputPath }) => {
409
- const { crsPath } = handleGlobalOptions();
410
- await writeVkUltraHonk(bytecodePath, crsPath, outputPath, { keccak: true });
411
- });
412
- program
413
- .command('write_vk_ultra_starknet_honk')
414
- .description('Output verification key.')
415
- .option('-b, --bytecode-path <path>', 'Specify the bytecode path', './target/program.json')
416
- .requiredOption('-o, --output-path <path>', 'Specify the path to write the key')
417
- .action(async ({ bytecodePath, outputPath }) => {
418
- const { crsPath } = handleGlobalOptions();
419
- await writeVkUltraHonk(bytecodePath, crsPath, outputPath, { starknet: true });
420
- });
421
- program
422
- .command('verify_ultra_honk')
423
- .description('Verify a proof. Process exists with success or failure code.')
424
- .requiredOption('-p, --proof-path <path>', 'Specify the path to the proof')
425
- .requiredOption('-k, --vk-path <path>', 'path to a verification key. avoids recomputation.')
426
- .action(async ({ proofPath, vkPath }) => {
427
- const { crsPath } = handleGlobalOptions();
428
- const result = await verifyUltraHonk(proofPath, vkPath, crsPath);
429
- process.exit(result ? 0 : 1);
430
- });
431
- program
432
- .command('verify_ultra_keccak_honk')
433
- .description('Verify a proof. Process exists with success or failure code.')
434
- .requiredOption('-p, --proof-path <path>', 'Specify the path to the proof')
435
- .requiredOption('-k, --vk-path <path>', 'path to a verification key. avoids recomputation.')
436
- .action(async ({ proofPath, vkPath }) => {
437
- const { crsPath } = handleGlobalOptions();
438
- const result = await verifyUltraHonk(proofPath, vkPath, crsPath, { keccak: true });
439
- process.exit(result ? 0 : 1);
440
- });
441
- program
442
- .command('verify_ultra_starknet_honk')
443
- .description('Verify a proof. Process exists with success or failure code.')
444
- .requiredOption('-p, --proof-path <path>', 'Specify the path to the proof')
445
- .requiredOption('-k, --vk <path>', 'path to a verification key. avoids recomputation.')
446
- .action(async ({ proofPath, vk }) => {
447
- const { crsPath } = handleGlobalOptions();
448
- const result = await verifyUltraHonk(proofPath, vk, crsPath, { starknet: true });
449
- process.exit(result ? 0 : 1);
450
- });
451
- program
452
- .command('proof_as_fields_honk')
453
- .description('Return the proof as fields elements')
454
- .requiredOption('-p, --proof-path <path>', 'Specify the proof path')
455
- .requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the proof fields')
456
- .action(async ({ proofPath, outputPath }) => {
457
- const { crsPath } = handleGlobalOptions();
458
- await proofAsFieldsUltraHonk(proofPath, outputPath, crsPath);
459
- });
460
- program
461
- .command('vk_as_fields_ultra_honk')
462
- .description('Return the verification key represented as fields elements.')
463
- .requiredOption('-k, --vk-path <path>', 'Path to verification key.')
464
- .requiredOption('-o, --output-path <path>', 'Specify the JSON path to write the verification key fields.')
465
- .action(async ({ vkPath, outputPath }) => {
466
- const { crsPath } = handleGlobalOptions();
467
- await vkAsFieldsUltraHonk(vkPath, outputPath, crsPath);
468
- });
469
- program.name('bb.js').parse(process.argv);
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQStFQSwwREFhQztBQUVELHdEQWFDO0FBRUQsd0NBZUM7QUFFRCw4Q0FrQkM7QUFFRCx3Q0FtQ0M7QUFFRCw0Q0FnQ0M7QUFFRCwwQ0EyQkM7QUFFRCx3REFpQkM7QUFFRCxrREFrQkM7QUExUkQsMENBQXdDO0FBQ3hDLHlDQUEwRDtBQUMxRCw2Q0FBK0Q7QUFDL0QsMkJBQWlEO0FBQ2pELCtCQUFrQztBQUNsQyx5Q0FBb0M7QUFHcEMsSUFBSSxLQUE0QixDQUFDO0FBRWpDLE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBcUIsSUFBSSxTQUFTLENBQUM7QUFFaEUsU0FBUyxXQUFXLENBQUMsWUFBb0I7SUFDdkMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRTVFLElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBQSxpQkFBWSxFQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sWUFBWSxHQUFHLElBQUEsaUJBQVUsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNoRixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLElBQUEsaUJBQVksRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxNQUFNLFlBQVksR0FBRyxJQUFBLGlCQUFVLEVBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsT0FBTyxVQUFVLENBQUMsSUFB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
@@ -1,28 +0,0 @@
1
- export declare class BufferReader {
2
- private buffer;
3
- private index;
4
- constructor(buffer: Uint8Array, offset?: number);
5
- static asReader(bufferOrReader: Uint8Array | BufferReader): BufferReader;
6
- readNumber(): number;
7
- readBoolean(): boolean;
8
- readBytes(n: number): Uint8Array;
9
- readNumberVector(): number[];
10
- readVector<T>(itemDeserializer: {
11
- fromBuffer: (reader: BufferReader) => T;
12
- }): T[];
13
- readArray<T>(size: number, itemDeserializer: {
14
- fromBuffer: (reader: BufferReader) => T;
15
- }): T[];
16
- readObject<T>(deserializer: {
17
- fromBuffer: (reader: BufferReader) => T;
18
- }): T;
19
- peekBytes(n?: number): Uint8Array<ArrayBufferLike>;
20
- readString(): string;
21
- readBuffer(): Uint8Array;
22
- readMap<T>(deserializer: {
23
- fromBuffer: (reader: BufferReader) => T;
24
- }): {
25
- [key: string]: T;
26
- };
27
- }
28
- //# sourceMappingURL=buffer_reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../../src/serialize/buffer_reader.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IAGrB,OAAO,CAAC,MAAM;IAFhB,OAAO,CAAC,KAAK,CAAS;gBAEZ,MAAM,EAAE,UAAU,EAC1B,MAAM,SAAI;WAKE,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,YAAY;IAIzD,UAAU,IAAI,MAAM;IAMpB,WAAW,IAAI,OAAO;IAKtB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,UAAU;IAKhC,gBAAgB,IAAI,MAAM,EAAE;IAM5B,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC,EAAE;IASjF,SAAS,CAAC,CAAC,EAChB,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE;QAChB,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,CAAC,EAAE;IAQC,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAA;KAAE,GAAG,CAAC;IAI3E,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,UAAU;IAKxB,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAAE,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAA;KAAE,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;CAUnG"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BufferReader = void 0;
4
- class BufferReader {
5
- constructor(buffer, offset = 0) {
6
- this.buffer = buffer;
7
- this.index = offset;
8
- }
9
- static asReader(bufferOrReader) {
10
- return bufferOrReader instanceof BufferReader ? bufferOrReader : new BufferReader(bufferOrReader);
11
- }
12
- readNumber() {
13
- const dataView = new DataView(this.buffer.buffer, this.buffer.byteOffset + this.index, 4);
14
- this.index += 4;
15
- return dataView.getUint32(0, false);
16
- }
17
- readBoolean() {
18
- this.index += 1;
19
- return Boolean(this.buffer.at(this.index - 1));
20
- }
21
- readBytes(n) {
22
- this.index += n;
23
- return this.buffer.slice(this.index - n, this.index);
24
- }
25
- readNumberVector() {
26
- return this.readVector({
27
- fromBuffer: (reader) => reader.readNumber(),
28
- });
29
- }
30
- readVector(itemDeserializer) {
31
- const size = this.readNumber();
32
- const result = new Array(size);
33
- for (let i = 0; i < size; i++) {
34
- result[i] = itemDeserializer.fromBuffer(this);
35
- }
36
- return result;
37
- }
38
- readArray(size, itemDeserializer) {
39
- const result = new Array(size);
40
- for (let i = 0; i < size; i++) {
41
- result[i] = itemDeserializer.fromBuffer(this);
42
- }
43
- return result;
44
- }
45
- readObject(deserializer) {
46
- return deserializer.fromBuffer(this);
47
- }
48
- peekBytes(n) {
49
- return this.buffer.subarray(this.index, n ? this.index + n : undefined);
50
- }
51
- readString() {
52
- return new TextDecoder().decode(this.readBuffer());
53
- }
54
- readBuffer() {
55
- const size = this.readNumber();
56
- return this.readBytes(size);
57
- }
58
- readMap(deserializer) {
59
- const numEntries = this.readNumber();
60
- const map = {};
61
- for (let i = 0; i < numEntries; i++) {
62
- const key = this.readString();
63
- const value = this.readObject(deserializer);
64
- map[key] = value;
65
- }
66
- return map;
67
- }
68
- }
69
- exports.BufferReader = BufferReader;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyX3JlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJpYWxpemUvYnVmZmVyX3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFhLFlBQVk7SUFFdkIsWUFDVSxNQUFrQixFQUMxQixNQUFNLEdBQUcsQ0FBQztRQURGLFdBQU0sR0FBTixNQUFNLENBQVk7UUFHMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBeUM7UUFDOUQsT0FBTyxjQUFjLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2hCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sU0FBUyxDQUFDLENBQVM7UUFDeEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFH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