@aztec/bb.js 3.0.0-canary.a9708bd → 3.0.0-devnet.2

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 (371) 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 +29 -14
  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 +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/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 +2 -2
  64. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  65. package/dest/node/barretenberg/backend.js +29 -14
  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 +55 -14
  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 +49 -0
  114. package/dest/node/bb_backends/wasm.d.ts.map +1 -0
  115. package/dest/node/bb_backends/wasm.js +83 -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 +2 -2
  144. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  145. package/dest/node-cjs/barretenberg/backend.js +28 -13
  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 +55 -14
  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 +49 -0
  194. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -0
  195. package/dest/node-cjs/bb_backends/wasm.js +88 -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 +6 -6
  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 +45 -33
  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 +67 -16
  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 +103 -0
  246. package/src/cbind/README.md +1 -1
  247. package/src/cbind/generate.ts +0 -6
  248. package/src/cbind/generated/api_types.ts +3757 -0
  249. package/src/cbind/generated/async.ts +504 -0
  250. package/src/cbind/generated/sync.ts +455 -0
  251. package/src/cbind/schema_compiler.ts +131 -241
  252. package/src/index.ts +2 -1
  253. package/src/serialize/index.ts +0 -1
  254. package/src/serialize/serialize.ts +0 -82
  255. package/src/types/fields.ts +2 -2
  256. package/src/types/index.ts +0 -3
  257. package/dest/browser/barretenberg_api/index.d.ts +0 -109
  258. package/dest/browser/barretenberg_api/index.d.ts.map +0 -1
  259. package/dest/browser/barretenberg_api/index.js +0 -699
  260. package/dest/browser/cbind/generated/native.d.ts +0 -31
  261. package/dest/browser/cbind/generated/native.d.ts.map +0 -1
  262. package/dest/browser/cbind/generated/native.js +0 -234
  263. package/dest/browser/serialize/output_type.d.ts +0 -11
  264. package/dest/browser/serialize/output_type.d.ts.map +0 -1
  265. package/dest/browser/serialize/output_type.js +0 -44
  266. package/dest/browser/types/fixed_size_buffer.d.ts +0 -26
  267. package/dest/browser/types/fixed_size_buffer.d.ts.map +0 -1
  268. package/dest/browser/types/fixed_size_buffer.js +0 -51
  269. package/dest/browser/types/ptr.d.ts +0 -13
  270. package/dest/browser/types/ptr.d.ts.map +0 -1
  271. package/dest/browser/types/ptr.js +0 -19
  272. package/dest/browser/types/raw_buffer.d.ts +0 -3
  273. package/dest/browser/types/raw_buffer.d.ts.map +0 -1
  274. package/dest/browser/types/raw_buffer.js +0 -5
  275. package/dest/node/barretenberg/common.test.d.ts +0 -2
  276. package/dest/node/barretenberg/common.test.d.ts.map +0 -1
  277. package/dest/node/barretenberg/common.test.js +0 -20
  278. package/dest/node/barretenberg_api/index.d.ts +0 -109
  279. package/dest/node/barretenberg_api/index.d.ts.map +0 -1
  280. package/dest/node/barretenberg_api/index.js +0 -699
  281. package/dest/node/bindgen/function_declaration.d.ts +0 -11
  282. package/dest/node/bindgen/function_declaration.d.ts.map +0 -1
  283. package/dest/node/bindgen/function_declaration.js +0 -2
  284. package/dest/node/bindgen/index.d.ts +0 -2
  285. package/dest/node/bindgen/index.d.ts.map +0 -1
  286. package/dest/node/bindgen/index.js +0 -15
  287. package/dest/node/bindgen/mappings.d.ts +0 -4
  288. package/dest/node/bindgen/mappings.d.ts.map +0 -1
  289. package/dest/node/bindgen/mappings.js +0 -64
  290. package/dest/node/bindgen/rust.d.ts +0 -2
  291. package/dest/node/bindgen/rust.d.ts.map +0 -1
  292. package/dest/node/bindgen/rust.js +0 -43
  293. package/dest/node/bindgen/to_camel_case.d.ts +0 -2
  294. package/dest/node/bindgen/to_camel_case.d.ts.map +0 -1
  295. package/dest/node/bindgen/to_camel_case.js +0 -11
  296. package/dest/node/bindgen/typescript.d.ts +0 -2
  297. package/dest/node/bindgen/typescript.d.ts.map +0 -1
  298. package/dest/node/bindgen/typescript.js +0 -100
  299. package/dest/node/cbind/generated/native.d.ts +0 -31
  300. package/dest/node/cbind/generated/native.d.ts.map +0 -1
  301. package/dest/node/cbind/generated/native.js +0 -234
  302. package/dest/node/main.d.ts +0 -13
  303. package/dest/node/main.d.ts.map +0 -1
  304. package/dest/node/main.js +0 -459
  305. package/dest/node/serialize/output_type.d.ts +0 -11
  306. package/dest/node/serialize/output_type.d.ts.map +0 -1
  307. package/dest/node/serialize/output_type.js +0 -44
  308. package/dest/node/types/fixed_size_buffer.d.ts +0 -26
  309. package/dest/node/types/fixed_size_buffer.d.ts.map +0 -1
  310. package/dest/node/types/fixed_size_buffer.js +0 -51
  311. package/dest/node/types/ptr.d.ts +0 -13
  312. package/dest/node/types/ptr.d.ts.map +0 -1
  313. package/dest/node/types/ptr.js +0 -19
  314. package/dest/node/types/raw_buffer.d.ts +0 -3
  315. package/dest/node/types/raw_buffer.d.ts.map +0 -1
  316. package/dest/node/types/raw_buffer.js +0 -5
  317. package/dest/node-cjs/barretenberg/common.test.d.ts +0 -2
  318. package/dest/node-cjs/barretenberg/common.test.d.ts.map +0 -1
  319. package/dest/node-cjs/barretenberg/common.test.js +0 -22
  320. package/dest/node-cjs/barretenberg_api/index.d.ts +0 -109
  321. package/dest/node-cjs/barretenberg_api/index.d.ts.map +0 -1
  322. package/dest/node-cjs/barretenberg_api/index.js +0 -704
  323. package/dest/node-cjs/bindgen/function_declaration.d.ts +0 -11
  324. package/dest/node-cjs/bindgen/function_declaration.d.ts.map +0 -1
  325. package/dest/node-cjs/bindgen/function_declaration.js +0 -3
  326. package/dest/node-cjs/bindgen/index.d.ts +0 -2
  327. package/dest/node-cjs/bindgen/index.d.ts.map +0 -1
  328. package/dest/node-cjs/bindgen/index.js +0 -17
  329. package/dest/node-cjs/bindgen/mappings.d.ts +0 -4
  330. package/dest/node-cjs/bindgen/mappings.d.ts.map +0 -1
  331. package/dest/node-cjs/bindgen/mappings.js +0 -69
  332. package/dest/node-cjs/bindgen/rust.d.ts +0 -2
  333. package/dest/node-cjs/bindgen/rust.d.ts.map +0 -1
  334. package/dest/node-cjs/bindgen/rust.js +0 -47
  335. package/dest/node-cjs/bindgen/to_camel_case.d.ts +0 -2
  336. package/dest/node-cjs/bindgen/to_camel_case.d.ts.map +0 -1
  337. package/dest/node-cjs/bindgen/to_camel_case.js +0 -14
  338. package/dest/node-cjs/bindgen/typescript.d.ts +0 -2
  339. package/dest/node-cjs/bindgen/typescript.d.ts.map +0 -1
  340. package/dest/node-cjs/bindgen/typescript.js +0 -104
  341. package/dest/node-cjs/cbind/generated/native.d.ts +0 -31
  342. package/dest/node-cjs/cbind/generated/native.d.ts.map +0 -1
  343. package/dest/node-cjs/cbind/generated/native.js +0 -238
  344. package/dest/node-cjs/main.d.ts +0 -13
  345. package/dest/node-cjs/main.d.ts.map +0 -1
  346. package/dest/node-cjs/main.js +0 -470
  347. package/dest/node-cjs/serialize/output_type.d.ts +0 -11
  348. package/dest/node-cjs/serialize/output_type.d.ts.map +0 -1
  349. package/dest/node-cjs/serialize/output_type.js +0 -51
  350. package/dest/node-cjs/types/fixed_size_buffer.d.ts +0 -26
  351. package/dest/node-cjs/types/fixed_size_buffer.d.ts.map +0 -1
  352. package/dest/node-cjs/types/fixed_size_buffer.js +0 -57
  353. package/dest/node-cjs/types/ptr.d.ts +0 -13
  354. package/dest/node-cjs/types/ptr.d.ts.map +0 -1
  355. package/dest/node-cjs/types/ptr.js +0 -23
  356. package/dest/node-cjs/types/raw_buffer.d.ts +0 -3
  357. package/dest/node-cjs/types/raw_buffer.d.ts.map +0 -1
  358. package/dest/node-cjs/types/raw_buffer.js +0 -9
  359. package/src/barretenberg/common.test.ts +0 -23
  360. package/src/barretenberg_api/index.ts +0 -1216
  361. package/src/bindgen/function_declaration.ts +0 -11
  362. package/src/bindgen/index.ts +0 -17
  363. package/src/bindgen/mappings.ts +0 -67
  364. package/src/bindgen/rust.ts +0 -52
  365. package/src/bindgen/to_camel_case.ts +0 -10
  366. package/src/bindgen/typescript.ts +0 -116
  367. package/src/main.ts +0 -534
  368. package/src/serialize/output_type.ts +0 -53
  369. package/src/types/fixed_size_buffer.ts +0 -59
  370. package/src/types/ptr.ts +0 -20
  371. package/src/types/raw_buffer.ts +0 -3
@@ -34,7 +34,7 @@ export interface FunctionMetadata {
34
34
 
35
35
  // Compiler configuration
36
36
  export interface CompilerConfig {
37
- mode: 'types' | 'sync' | 'async' | 'native';
37
+ mode: 'types' | 'sync' | 'async';
38
38
  imports?: string[];
39
39
  wasmImport?: string;
40
40
  }
@@ -72,8 +72,12 @@ export class SchemaCompiler {
72
72
  this.processSchema(responsesSchema);
73
73
 
74
74
  // Extract function metadata from named unions
75
- if (!Array.isArray(commandsSchema) || commandsSchema[0] !== 'named_union' ||
76
- !Array.isArray(responsesSchema) || responsesSchema[0] !== 'named_union') {
75
+ if (
76
+ !Array.isArray(commandsSchema) ||
77
+ commandsSchema[0] !== 'named_union' ||
78
+ !Array.isArray(responsesSchema) ||
79
+ responsesSchema[0] !== 'named_union'
80
+ ) {
77
81
  throw new Error('Expected named_union schema format');
78
82
  }
79
83
 
@@ -115,10 +119,7 @@ export class SchemaCompiler {
115
119
  * Generate the complete output
116
120
  */
117
121
  compile(): string {
118
- const parts: string[] = [
119
- '// AUTOGENERATED FILE - DO NOT EDIT',
120
- '',
121
- ];
122
+ const parts: string[] = ['// AUTOGENERATED FILE - DO NOT EDIT', ''];
122
123
 
123
124
  // Generate imports
124
125
  parts.push(...this.generateImports());
@@ -131,55 +132,51 @@ export class SchemaCompiler {
131
132
  .sort((a, b) => a.typeName.localeCompare(b.typeName));
132
133
 
133
134
  // Group declarations
134
- const typeAliases = sortedTypes.filter(t =>
135
- t.declaration?.startsWith('export type') && !t.declaration?.includes('interface')
135
+ const typeAliases = sortedTypes.filter(
136
+ t => t.declaration?.startsWith('export type') && !t.declaration?.includes('interface'),
136
137
  );
137
- const publicInterfaces = sortedTypes.filter(t =>
138
- t.declaration?.includes('export interface')
139
- );
140
- const privateInterfaces = sortedTypes.filter(t =>
141
- t.declaration?.includes('interface Msgpack')
142
- );
143
-
144
- // Add type aliases if needed
145
- if (typeAliases.length > 0) {
146
- parts.push('// Type aliases');
147
- for (const type of typeAliases) {
148
- parts.push(type.declaration!);
138
+ const publicInterfaces = sortedTypes.filter(t => t.declaration?.includes('export interface'));
139
+ const privateInterfaces = sortedTypes.filter(t => t.declaration?.includes('interface Msgpack'));
140
+
141
+ // Add type aliases if needed
142
+ if (typeAliases.length > 0) {
143
+ parts.push('// Type aliases');
144
+ for (const type of typeAliases) {
145
+ parts.push(type.declaration!);
146
+ }
147
+ parts.push('');
149
148
  }
150
- parts.push('');
151
- }
152
149
 
153
- // Add tuple helper if needed
154
- if (this.needsTupleHelper()) {
155
- parts.push(
156
- '// Tuple type for fixed-size arrays',
157
- 'type Tuple<T, N extends number> = N extends N ? (number extends N ? T[] : _TupleOf<T, N, []>) : never;',
158
- 'type _TupleOf<T, N extends number, R extends unknown[]> = R[\'length\'] extends N ? R : _TupleOf<T, N, [T, ...R]>;',
159
- '',
160
- '// Helper functions',
161
- 'function mapTuple<T, S, N extends number>(tuple: Tuple<T, N>, fn: (item: T) => S): Tuple<S, N> {',
162
- ' return tuple.map(fn) as Tuple<S, N>;',
163
- '}',
164
- ''
165
- );
166
- }
150
+ // Add tuple helper if needed
151
+ if (this.needsTupleHelper()) {
152
+ parts.push(
153
+ '// Tuple type for fixed-size arrays',
154
+ 'type Tuple<T, N extends number> = N extends N ? (number extends N ? T[] : _TupleOf<T, N, []>) : never;',
155
+ "type _TupleOf<T, N extends number, R extends unknown[]> = R['length'] extends N ? R : _TupleOf<T, N, [T, ...R]>;",
156
+ '',
157
+ '// Helper functions',
158
+ 'function mapTuple<T, S, N extends number>(tuple: Tuple<T, N>, fn: (item: T) => S): Tuple<S, N> {',
159
+ ' return tuple.map(fn) as Tuple<S, N>;',
160
+ '}',
161
+ '',
162
+ );
163
+ }
167
164
 
168
- // Add public interfaces
169
- if (publicInterfaces.length > 0) {
170
- parts.push('// Public interfaces (exported)');
171
- for (const type of publicInterfaces) {
172
- parts.push(type.declaration!, '');
165
+ // Add public interfaces
166
+ if (publicInterfaces.length > 0) {
167
+ parts.push('// Public interfaces (exported)');
168
+ for (const type of publicInterfaces) {
169
+ parts.push(type.declaration!, '');
170
+ }
173
171
  }
174
- }
175
172
 
176
- // Add private interfaces
177
- if (privateInterfaces.length > 0) {
178
- parts.push('// Private Msgpack interfaces (not exported)');
179
- for (const type of privateInterfaces) {
180
- parts.push(type.declaration!, '');
173
+ // Add private interfaces
174
+ if (privateInterfaces.length > 0) {
175
+ parts.push('// Private Msgpack interfaces (not exported)');
176
+ for (const type of privateInterfaces) {
177
+ parts.push(type.declaration!, '');
178
+ }
181
179
  }
182
- }
183
180
 
184
181
  // Add conversion functions (only for api_types.ts)
185
182
  const conversions = sortedTypes.filter(t => t.toMethod || t.fromMethod);
@@ -218,9 +215,7 @@ export class SchemaCompiler {
218
215
  }
219
216
 
220
217
  private needsTupleHelper(): boolean {
221
- return Array.from(this.typeCache.values()).some(t =>
222
- t.typeName.includes('Tuple<')
223
- );
218
+ return Array.from(this.typeCache.values()).some(t => t.typeName.includes('Tuple<'));
224
219
  }
225
220
 
226
221
  private trackTypeUsage(typeName: string): void {
@@ -296,10 +291,15 @@ export class SchemaCompiler {
296
291
  switch (type) {
297
292
  case 'array': {
298
293
  const [subtype, size] = args[0];
294
+ // Special case: byte arrays should be Uint8Array
295
+ if (subtype === 'unsigned char') {
296
+ return { typeName: 'Uint8Array' };
297
+ }
298
+ // For other types, use T[] - idiomatic TypeScript for fixed-length homogeneous arrays
299
299
  const subtypeInfo = this.processSchema(subtype);
300
300
  return {
301
- typeName: `Tuple<${subtypeInfo.typeName}, ${size}>`,
302
- msgpackTypeName: `Tuple<${subtypeInfo.msgpackTypeName || subtypeInfo.typeName}, ${size}>`,
301
+ typeName: `${subtypeInfo.typeName}[]`,
302
+ msgpackTypeName: `${subtypeInfo.msgpackTypeName || subtypeInfo.typeName}[]`,
303
303
  };
304
304
  }
305
305
 
@@ -392,6 +392,7 @@ export class SchemaCompiler {
392
392
  case 'unsigned int':
393
393
  case 'unsigned short':
394
394
  case 'unsigned long':
395
+ case 'unsigned char':
395
396
  case 'double':
396
397
  return { typeName: 'number' };
397
398
  case 'string':
@@ -477,15 +478,19 @@ export class SchemaCompiler {
477
478
  return `function to${name}(o: Msgpack${name}): ${name} {\n return {};\n}`;
478
479
  }
479
480
 
480
- const checks = fields.map(([key]) =>
481
- ` if (o.${key} === undefined) { throw new Error("Expected ${key} in ${name} deserialization"); }`
482
- ).join('\n');
481
+ const checks = fields
482
+ .map(
483
+ ([key]) => ` if (o.${key} === undefined) { throw new Error("Expected ${key} in ${name} deserialization"); }`,
484
+ )
485
+ .join('\n');
483
486
 
484
- const conversions = fields.map(([key, value]) => {
485
- const typeInfo = this.processSchema(value);
486
- const converter = this.generateConverter(typeInfo, `o.${key}`, 'to');
487
- return ` ${camelCase(key)}: ${converter},`;
488
- }).join('\n');
487
+ const conversions = fields
488
+ .map(([key, value]) => {
489
+ const typeInfo = this.processSchema(value);
490
+ const converter = this.generateConverter(typeInfo, `o.${key}`, 'to');
491
+ return ` ${camelCase(key)}: ${converter},`;
492
+ })
493
+ .join('\n');
489
494
 
490
495
  return `function to${name}(o: Msgpack${name}): ${name} {
491
496
  ${checks};
@@ -502,15 +507,20 @@ ${conversions}
502
507
  return `function from${name}(o: ${name}): Msgpack${name} {\n return {};\n}`;
503
508
  }
504
509
 
505
- const checks = fields.map(([key]) =>
506
- ` if (o.${camelCase(key)} === undefined) { throw new Error("Expected ${camelCase(key)} in ${name} serialization"); }`
507
- ).join('\n');
510
+ const checks = fields
511
+ .map(
512
+ ([key]) =>
513
+ ` if (o.${camelCase(key)} === undefined) { throw new Error("Expected ${camelCase(key)} in ${name} serialization"); }`,
514
+ )
515
+ .join('\n');
508
516
 
509
- const conversions = fields.map(([key, value]) => {
510
- const typeInfo = this.processSchema(value);
511
- const converter = this.generateConverter(typeInfo, `o.${camelCase(key)}`, 'from');
512
- return ` ${key}: ${converter},`;
513
- }).join('\n');
517
+ const conversions = fields
518
+ .map(([key, value]) => {
519
+ const typeInfo = this.processSchema(value);
520
+ const converter = this.generateConverter(typeInfo, `o.${camelCase(key)}`, 'from');
521
+ return ` ${key}: ${converter},`;
522
+ })
523
+ .join('\n');
514
524
 
515
525
  return `function from${name}(o: ${name}): Msgpack${name} {
516
526
  ${checks};
@@ -531,8 +541,8 @@ ${conversions}
531
541
  }
532
542
  }
533
543
 
534
- // Handle custom types
535
- if (typeInfo.declaration) {
544
+ // Handle custom types that have conversion methods (not just type aliases)
545
+ if (typeInfo.toMethod || typeInfo.fromMethod) {
536
546
  return `${direction}${typeInfo.typeName}(${value})`;
537
547
  }
538
548
 
@@ -579,9 +589,9 @@ ${conversions}
579
589
  }
580
590
 
581
591
  private generateBbApiBaseInterface(): string {
582
- const methods = this.functionMetadata.map(m =>
583
- ` ${m.name}(command: ${m.commandType}): Promise<${m.responseType}>;`
584
- ).join('\n');
592
+ const methods = this.functionMetadata
593
+ .map(m => ` ${m.name}(command: ${m.commandType}): Promise<${m.responseType}>;`)
594
+ .join('\n');
585
595
 
586
596
  return `export interface BbApiBase {
587
597
  ${methods}
@@ -593,69 +603,77 @@ ${methods}
593
603
  const className = this.getApiClassName();
594
604
  const methods = this.functionMetadata.map(m => this.generateApiMethod(m)).join('\n\n');
595
605
 
596
- if (this.config.mode === 'native') {
597
- return this.generateNativeApiClass(methods);
598
- }
599
-
600
606
  // For sync API, don't implement BbApiBase since methods are synchronous
601
607
  const implementsClause = this.config.mode === 'sync' ? '' : ' implements BbApiBase';
602
608
 
603
- const msgpackCallHelper = `${this.config.mode === 'async' ? 'async ' : ''}function msgpackCall(wasm: ${this.getWasmType()}, cbind: string, input: any[]) {` +
604
- ` const inputBuffer = new Encoder({ useRecords: false }).pack(input);` +
605
- ` const encodedResult = ${this.config.mode === 'async' ? 'await ' : ''}wasm.cbindCall(cbind, inputBuffer);` +
606
- ` return new Decoder({ useRecords: false }).unpack(encodedResult);` +
607
- `}\n`;
609
+ // For tracing all calls to bb.
610
+ // const msgpackCallHelper =
611
+ // `${this.config.mode === 'async' ? 'async ' : ''}function msgpackCall(backend: ${this.getBackendType()}, input: any[]) {\n` +
612
+ // ` const commandName = input[0]?.[0] || 'unknown';\n` +
613
+ // ` process.stderr.write(\`[BB MSGPACK ${this.config.mode === 'async' ? 'ASYNC' : 'SYNC'}] \${commandName}\\n\`);\n` +
614
+ // ` const inputBuffer = new Encoder({ useRecords: false }).pack(input);\n` +
615
+ // ` const encodedResult = ${this.config.mode === 'async' ? 'await ' : ''}backend.call(inputBuffer);\n` +
616
+ // ` const result = new Decoder({ useRecords: false }).unpack(encodedResult);\n` +
617
+ // ` process.stderr.write(\`[BB MSGPACK ${this.config.mode === 'async' ? 'ASYNC' : 'SYNC'}] \${commandName} => completed\\n\`);\n` +
618
+ // ` return result;\n` +
619
+ // `}\n`;
620
+ const msgpackCallHelper =
621
+ `${this.config.mode === 'async' ? 'async ' : ''}function msgpackCall(backend: ${this.getBackendType()}, input: any[]) {` +
622
+ ` const inputBuffer = new Encoder({ useRecords: false }).pack(input);` +
623
+ ` const encodedResult = ${this.config.mode === 'async' ? 'await ' : ''}backend.call(inputBuffer);` +
624
+ ` return new Decoder({ useRecords: false }).unpack(encodedResult);` +
625
+ `}\n`;
626
+ const destroyMethod =
627
+ this.config.mode === 'sync'
628
+ ? ` destroy(): void {
629
+ if (this.backend.destroy) this.backend.destroy();
630
+ }`
631
+ : ` destroy(): Promise<void> {
632
+ return this.backend.destroy ? this.backend.destroy() : Promise.resolve();
633
+ }`;
634
+
608
635
  return (
609
636
  msgpackCallHelper +
610
637
  `export class ${className}${implementsClause} {
611
- constructor(protected wasm: ${this.getWasmType()}) {}
638
+ constructor(protected backend: ${this.getBackendType()}) {}
612
639
 
613
640
  ${methods}
614
641
 
615
- destroy(): Promise<void> {
616
- return this.wasm.destroy();
617
- }
642
+ ${destroyMethod}
618
643
  }`
619
644
  );
620
645
  }
621
646
 
622
647
  private getApiClassName(): string {
623
648
  switch (this.config.mode) {
624
- case 'sync': return 'SyncApi';
625
- case 'async': return 'AsyncApi';
626
- case 'native': return 'NativeApi';
627
- default: throw new Error(`Invalid mode: ${this.config.mode}`);
649
+ case 'sync':
650
+ return 'SyncApi';
651
+ case 'async':
652
+ return 'AsyncApi';
653
+ default:
654
+ throw new Error(`Invalid mode: ${this.config.mode}`);
628
655
  }
629
656
  }
630
657
 
631
- private getWasmType(): string {
658
+ private getBackendType(): string {
632
659
  switch (this.config.mode) {
633
- case 'sync': return 'BarretenbergWasmMain';
634
- case 'async': return 'BarretenbergWasmMainWorker';
635
- default: return '';
660
+ case 'sync':
661
+ return 'IMsgpackBackendSync';
662
+ case 'async':
663
+ return 'IMsgpackBackendAsync';
664
+ default:
665
+ return '';
636
666
  }
637
667
  }
638
668
 
639
669
  private generateApiMethod(metadata: FunctionMetadata): string {
640
670
  const { name, commandType, responseType } = metadata;
641
671
 
642
- if (this.config.mode === 'native') {
643
- return ` ${name}(command: ${commandType}): Promise<${responseType}> {
644
- const msgpackCommand = from${commandType}(command);
645
- return this.sendCommand(['${metadata.commandType}', msgpackCommand]).then(([variantName, result]: [string, any]) => {
646
- if (variantName !== '${responseType}') {
647
- throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
648
- }
649
- return to${responseType}(result);
650
- });
651
- }`;
652
- }
653
-
654
672
  // For async mode, queue immediately and return promise
655
673
  if (this.config.mode === 'async') {
656
674
  return ` ${name}(command: ${commandType}): Promise<${responseType}> {
657
675
  const msgpackCommand = from${commandType}(command);
658
- return msgpackCall(this.wasm, 'bbapi', [["${capitalize(name)}", msgpackCommand]]).then(([variantName, result]: [string, any]) => {
676
+ return msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]).then(([variantName, result]: [string, any]) => {
659
677
  if (variantName !== '${responseType}') {
660
678
  throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
661
679
  }
@@ -667,131 +685,13 @@ ${methods}
667
685
  // For sync mode, keep the synchronous behavior
668
686
  return ` ${name}(command: ${commandType}): ${responseType} {
669
687
  const msgpackCommand = from${commandType}(command);
670
- const [variantName, result] = msgpackCall(this.wasm, 'bbapi', [["${capitalize(name)}", msgpackCommand]]);
688
+ const [variantName, result] = msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]);
671
689
  if (variantName !== '${responseType}') {
672
690
  throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
673
691
  }
674
692
  return to${responseType}(result);
675
693
  }`;
676
694
  }
677
-
678
- private generateNativeApiClass(methods: string): string {
679
- return `interface NativeApiRequest {
680
- resolve: (value: any) => void;
681
- reject: (error: any) => void;
682
- }
683
-
684
- class StreamBuffer {
685
- private buffer = Buffer.alloc(0);
686
- private expectedLength: number | null = null;
687
-
688
- addData(data: Buffer): Buffer[] {
689
- // Create buffer to grow as needed
690
- const newBuffer = Buffer.allocUnsafe(this.buffer.length + data.length);
691
- this.buffer.copy(newBuffer, 0);
692
- data.copy(newBuffer, this.buffer.length);
693
- this.buffer = newBuffer;
694
-
695
- const messages: Buffer[] = [];
696
-
697
- while (true) {
698
- if (this.expectedLength === null) {
699
- if (this.buffer.length < 4) break;
700
- this.expectedLength = this.buffer.readUInt32LE(0);
701
- this.buffer = this.buffer.subarray(4);
702
- }
703
-
704
- if (this.buffer.length < this.expectedLength) break;
705
-
706
- // Extract complete message
707
- const messageBuffer = this.buffer.subarray(0, this.expectedLength);
708
- messages.push(messageBuffer);
709
- this.buffer = this.buffer.subarray(this.expectedLength);
710
- this.expectedLength = null;
711
- }
712
-
713
- return messages;
714
- }
715
- }
716
-
717
- export class NativeApi implements BbApiBase {
718
- private decoder = new Decoder({ useRecords: false });
719
- private encoder = new Encoder({ useRecords: false });
720
- private pendingRequests: NativeApiRequest[] = [];
721
-
722
- private constructor(private proc: ChildProcess) {}
723
-
724
- static async new(bbPath = 'bb', logger = console.log): Promise<NativeApi> {
725
- const proc = spawn(bbPath, ['msgpack', 'run'], {
726
- stdio: ['pipe', 'pipe', 'pipe'],
727
- });
728
-
729
- if (!proc.stdout || !proc.stdin) {
730
- throw new Error('Failed to initialize bb process');
731
- }
732
-
733
- const api = new NativeApi(proc);
734
- const streamBuffer = new StreamBuffer();
735
-
736
- proc.stdout.on('data', (data: Buffer) => {
737
- const messages = streamBuffer.addData(data);
738
-
739
- for (const messageBuffer of messages) {
740
- const pendingRequest = api.pendingRequests.shift();
741
- if (!pendingRequest) {
742
- throw new Error('Received response without a pending request');
743
- }
744
-
745
- try {
746
- const decoded = api.decoder.decode(messageBuffer);
747
- if (!Array.isArray(decoded) || decoded.length !== 2) {
748
- throw new Error(\`Invalid response format: \${JSON.stringify(decoded)}\`);
749
- }
750
- const [variantName, result] = decoded;
751
- pendingRequest.resolve([variantName, result]);
752
- } catch (error) {
753
- pendingRequest.reject(error);
754
- break;
755
- }
756
- }
757
- });
758
-
759
- proc.stderr.on('data', (data: Buffer) => {
760
- logger(data.toString().trim());
761
- });
762
-
763
- proc.on('error', err => {
764
- throw new Error(err.message);
765
- });
766
- return api;
767
- }
768
-
769
- private sendCommand(command: any): Promise<any> {
770
- return new Promise((resolve, reject) => {
771
- this.pendingRequests.push({ resolve, reject });
772
- const encoded = this.encoder.encode(command);
773
-
774
- // Write length prefix (4 bytes, little-endian)
775
- const lengthBuffer = Buffer.allocUnsafe(4);
776
- lengthBuffer.writeUInt32LE(encoded.length, 0);
777
-
778
- // Write length prefix followed by the encoded data
779
- this.proc.stdin!.write(lengthBuffer);
780
- this.proc.stdin!.write(encoded);
781
- });
782
- }
783
-
784
- async close(): Promise<void> {
785
- this.proc.kill();
786
- }
787
-
788
- destroy(): Promise<void> {
789
- return this.close();
790
- }
791
-
792
- ${methods}
793
- }`;
794
- }
795
695
  }
796
696
 
797
697
  // Factory methods for creating configured compilers
@@ -806,7 +706,7 @@ export function createSyncApiCompiler(): SchemaCompiler {
806
706
  return new SchemaCompiler({
807
707
  mode: 'sync',
808
708
  imports: [
809
- `import { BarretenbergWasmMain } from "../../barretenberg_wasm/barretenberg_wasm_main/index.js";`,
709
+ `import { IMsgpackBackendSync } from '../../bb_backends/interface.js';`,
810
710
  `import { Decoder, Encoder } from 'msgpackr';`,
811
711
  ],
812
712
  });
@@ -816,18 +716,8 @@ export function createAsyncApiCompiler(): SchemaCompiler {
816
716
  return new SchemaCompiler({
817
717
  mode: 'async',
818
718
  imports: [
819
- `import { BarretenbergWasmMainWorker } from "../../barretenberg_wasm/barretenberg_wasm_main/index.js";`,
820
- `import { Decoder, Encoder } from 'msgpackr';`
821
- ],
822
- });
823
- }
824
-
825
- export function createNativeApiCompiler(): SchemaCompiler {
826
- return new SchemaCompiler({
827
- mode: 'native',
828
- imports: [
829
- `import { spawn, ChildProcess } from 'child_process';`,
830
- `import { Decoder, Encoder } from 'msgpackr';`
719
+ `import { IMsgpackBackendAsync } from '../../bb_backends/interface.js';`,
720
+ `import { Decoder, Encoder } from 'msgpackr';`,
831
721
  ],
832
722
  });
833
723
  }
package/src/index.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { Crs, GrumpkinCrs } from './crs/index.js';
2
2
  export {
3
3
  type BackendOptions,
4
+ BackendType,
4
5
  Barretenberg,
5
6
  BarretenbergSync,
6
7
  UltraHonkVerifierBackend,
@@ -9,5 +10,5 @@ export {
9
10
  } from './barretenberg/index.js';
10
11
 
11
12
  export { randomBytes } from './random/index.js';
12
- export { RawBuffer, Fr } from './types/index.js';
13
+ export { Fr } from './types/index.js';
13
14
  export { splitHonkProof, reconstructHonkProof, deflattenFields, type ProofData } from './proof/index.js';
@@ -1,3 +1,2 @@
1
1
  export * from './buffer_reader.js';
2
- export * from './output_type.js';
3
2
  export * from './serialize.js';
@@ -1,5 +1,3 @@
1
- import { RawBuffer } from '../types/raw_buffer.js';
2
-
3
1
  // For serializing bool.
4
2
  export function boolToBuffer(b: boolean) {
5
3
  const buf = new Uint8Array(1);
@@ -7,13 +5,6 @@ export function boolToBuffer(b: boolean) {
7
5
  return buf;
8
6
  }
9
7
 
10
- // For serializing numbers to 32 bit little-endian form.
11
- export function numToUInt32LE(n: number, bufferSize = 4) {
12
- const buf = new Uint8Array(bufferSize);
13
- new DataView(buf.buffer).setUint32(buf.byteLength - 4, n, true);
14
- return buf;
15
- }
16
-
17
8
  // For serializing numbers to 32 bit big-endian form.
18
9
  export function numToUInt32BE(n: number, bufferSize = 4) {
19
10
  const buf = new Uint8Array(bufferSize);
@@ -28,13 +19,6 @@ export function numToInt32BE(n: number, bufferSize = 4) {
28
19
  return buf;
29
20
  }
30
21
 
31
- // For serializing numbers to 8 bit form.
32
- export function numToUInt8(n: number) {
33
- const buf = new Uint8Array(1);
34
- buf[0] = n;
35
- return buf;
36
- }
37
-
38
22
  export function concatenateUint8Arrays(arrayOfUint8Arrays: Uint8Array[]) {
39
23
  const totalLength = arrayOfUint8Arrays.reduce((prev, curr) => prev + curr.length, 0);
40
24
  const result = new Uint8Array(totalLength);
@@ -46,10 +30,6 @@ export function concatenateUint8Arrays(arrayOfUint8Arrays: Uint8Array[]) {
46
30
  return result;
47
31
  }
48
32
 
49
- export function uint8ArrayToHexString(uint8Array: Uint8Array) {
50
- return uint8Array.reduce((accumulator, byte) => accumulator + byte.toString(16).padStart(2, '0'), '');
51
- }
52
-
53
33
  // For serializing a buffer as a vector.
54
34
  export function serializeBufferToVector(buf: Uint8Array) {
55
35
  return concatenateUint8Arrays([numToInt32BE(buf.length), buf]);
@@ -63,71 +43,11 @@ export function serializeBigInt(n: bigint, width = 32) {
63
43
  return buf;
64
44
  }
65
45
 
66
- export function deserializeBigInt(buf: Uint8Array, offset = 0, width = 32) {
67
- let result = 0n;
68
- for (let i = 0; i < width; i++) {
69
- result = (result << BigInt(8)) | BigInt(buf[offset + i]);
70
- }
71
- return { elem: result, adv: width };
72
- }
73
-
74
- export function serializeDate(date: Date) {
75
- return serializeBigInt(BigInt(date.getTime()), 8);
76
- }
77
-
78
- export function deserializeBufferFromVector(vector: Uint8Array, offset = 0) {
79
- const length = new DataView(vector.buffer, vector.byteOffset + offset, 4).getUint32(0, false);
80
- const adv = 4 + length;
81
- const elem = vector.slice(offset + 4, offset + adv);
82
- return { elem, adv };
83
- }
84
-
85
- export function deserializeBool(buf: Uint8Array, offset = 0) {
86
- const adv = 1;
87
- const elem = buf[offset] !== 0;
88
- return { elem, adv };
89
- }
90
-
91
- export function deserializeUInt32(buf: Uint8Array, offset = 0) {
92
- const adv = 4;
93
- const elem = new DataView(buf.buffer, buf.byteOffset + offset, adv).getUint32(0, false);
94
- return { elem, adv };
95
- }
96
-
97
- export function deserializeInt32(buf: Uint8Array, offset = 0) {
98
- const adv = 4;
99
- const elem = new DataView(buf.buffer, buf.byteOffset + offset, adv).getInt32(0, false);
100
- return { elem, adv };
101
- }
102
-
103
- export function deserializeField(buf: Uint8Array, offset = 0) {
104
- const adv = 32;
105
- const elem = buf.slice(offset, offset + adv);
106
- return { elem, adv };
107
- }
108
-
109
46
  // For serializing an array of fixed length elements.
110
47
  export function serializeBufferArrayToVector(arr: Uint8Array[]) {
111
48
  return concatenateUint8Arrays([numToUInt32BE(arr.length), ...arr.flat()]);
112
49
  }
113
50
 
114
- export function deserializeArrayFromVector<T>(
115
- deserialize: (buf: Uint8Array, offset: number) => { elem: T; adv: number },
116
- vector: Uint8Array,
117
- offset = 0,
118
- ) {
119
- let pos = offset;
120
- const size = new DataView(vector.buffer, vector.byteOffset + pos, 4).getUint32(0, false);
121
- pos += 4;
122
- const arr = new Array<T>(size);
123
- for (let i = 0; i < size; ++i) {
124
- const { elem, adv } = deserialize(vector, pos);
125
- pos += adv;
126
- arr[i] = elem;
127
- }
128
- return { elem: arr, adv: pos - offset };
129
- }
130
-
131
51
  /** A type that can be written to a buffer. */
132
52
  export type Bufferable = boolean | Uint8Array | number | string | { toBuffer: () => Uint8Array } | Bufferable[];
133
53
 
@@ -139,8 +59,6 @@ export type Bufferable = boolean | Uint8Array | number | string | { toBuffer: ()
139
59
  export function serializeBufferable(obj: Bufferable): Uint8Array {
140
60
  if (Array.isArray(obj)) {
141
61
  return serializeBufferArrayToVector(obj.map(serializeBufferable));
142
- } else if (obj instanceof RawBuffer) {
143
- return obj;
144
62
  } else if (obj instanceof Uint8Array) {
145
63
  return serializeBufferToVector(obj);
146
64
  } else if (typeof obj === 'boolean') {
@@ -5,7 +5,7 @@ import {
5
5
  bigIntToBufferBE,
6
6
  bigIntToUint8ArrayBE,
7
7
  } from '../bigint-array/index.js';
8
- import { BufferReader, uint8ArrayToHexString } from '../serialize/index.js';
8
+ import { BufferReader } from '../serialize/index.js';
9
9
 
10
10
  // TODO(#4189): Replace with implementation in yarn-project/foundation/src/fields/fields.ts
11
11
  /**
@@ -61,7 +61,7 @@ export class Fr {
61
61
  }
62
62
 
63
63
  toString() {
64
- return '0x' + uint8ArrayToHexString(this.toBuffer());
64
+ return '0x' + this.toBuffer().reduce((accumulator, byte) => accumulator + byte.toString(16).padStart(2, '0'), '');
65
65
  }
66
66
 
67
67
  equals(rhs: Fr) {