@aztec/bb.js 0.0.1-commit.24de95ac → 0.0.1-commit.2e2504e2

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 (637) hide show
  1. package/build/amd64-linux/bb +0 -0
  2. package/build/amd64-linux/nodejs_module.node +0 -0
  3. package/build/amd64-macos/bb +0 -0
  4. package/build/amd64-macos/nodejs_module.node +0 -0
  5. package/build/arm64-linux/bb +0 -0
  6. package/build/arm64-linux/nodejs_module.node +0 -0
  7. package/build/arm64-macos/bb +0 -0
  8. package/build/arm64-macos/nodejs_module.node +0 -0
  9. package/dest/browser/async_map/index.d.ts +1 -1
  10. package/dest/browser/async_map/index.js +1 -1
  11. package/dest/browser/barretenberg/backend.d.ts +58 -40
  12. package/dest/browser/barretenberg/backend.d.ts.map +1 -1
  13. package/dest/browser/barretenberg/backend.js +143 -94
  14. package/dest/browser/barretenberg/index.d.ts +3 -5
  15. package/dest/browser/barretenberg/index.d.ts.map +1 -1
  16. package/dest/browser/barretenberg/index.js +19 -28
  17. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts +17 -0
  18. package/dest/browser/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  19. package/dest/browser/barretenberg/testing/bigint-buffer.js +37 -0
  20. package/dest/browser/barretenberg/testing/fields.d.ts +16 -0
  21. package/dest/browser/barretenberg/testing/fields.d.ts.map +1 -0
  22. package/dest/browser/barretenberg/testing/fields.js +47 -0
  23. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  45. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  46. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  47. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  48. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  51. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  52. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  53. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  54. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +9 -2
  55. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +1 -1
  56. package/dest/browser/barretenberg_wasm/index.d.ts +1 -1
  57. package/dest/browser/barretenberg_wasm/index.d.ts.map +1 -1
  58. package/dest/browser/barretenberg_wasm/index.js +2 -3
  59. package/dest/browser/bb_backends/browser/index.d.ts +1 -1
  60. package/dest/browser/bb_backends/browser/index.js +1 -1
  61. package/dest/browser/bb_backends/browser/platform.d.ts +4 -0
  62. package/dest/browser/bb_backends/browser/platform.d.ts.map +1 -0
  63. package/dest/browser/bb_backends/browser/platform.js +10 -0
  64. package/dest/browser/bb_backends/index.d.ts +12 -7
  65. package/dest/browser/bb_backends/index.d.ts.map +1 -1
  66. package/dest/browser/bb_backends/index.js +8 -7
  67. package/dest/browser/bb_backends/interface.d.ts +1 -1
  68. package/dest/browser/bb_backends/wasm.d.ts +1 -1
  69. package/dest/browser/bb_backends/wasm.d.ts.map +1 -1
  70. package/dest/browser/bb_backends/wasm.js +5 -3
  71. package/dest/browser/bbapi_exception.d.ts +1 -1
  72. package/dest/browser/bbapi_exception.d.ts.map +1 -1
  73. package/dest/browser/bbapi_exception.js +1 -1
  74. package/dest/browser/bin/index.d.ts +3 -0
  75. package/dest/browser/bin/index.d.ts.map +1 -0
  76. package/dest/browser/bin/index.js +11 -0
  77. package/dest/browser/cbind/generate.d.ts +5 -2
  78. package/dest/browser/cbind/generate.d.ts.map +1 -1
  79. package/dest/browser/cbind/generate.js +47 -25
  80. package/dest/browser/cbind/generated/api_types.d.ts +766 -1687
  81. package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
  82. package/dest/browser/cbind/generated/api_types.js +1465 -1555
  83. package/dest/browser/cbind/generated/async.d.ts +3 -5
  84. package/dest/browser/cbind/generated/async.d.ts.map +1 -1
  85. package/dest/browser/cbind/generated/async.js +14 -33
  86. package/dest/browser/cbind/generated/curve_constants.d.ts +1 -1
  87. package/dest/browser/cbind/generated/sync.d.ts +3 -5
  88. package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
  89. package/dest/browser/cbind/generated/sync.js +14 -31
  90. package/dest/browser/cbind/naming.d.ts +16 -0
  91. package/dest/browser/cbind/naming.d.ts.map +1 -0
  92. package/dest/browser/cbind/naming.js +24 -0
  93. package/dest/browser/cbind/rust_codegen.d.ts +26 -0
  94. package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
  95. package/dest/browser/cbind/rust_codegen.js +461 -0
  96. package/dest/browser/cbind/schema_visitor.d.ts +47 -0
  97. package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
  98. package/dest/browser/cbind/schema_visitor.js +158 -0
  99. package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
  100. package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
  101. package/dest/browser/cbind/typescript_codegen.js +365 -0
  102. package/dest/browser/crs/browser/cached_net_crs.d.ts +1 -1
  103. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +1 -1
  104. package/dest/browser/crs/browser/cached_net_crs.js +6 -1
  105. package/dest/browser/crs/browser/index.d.ts +1 -1
  106. package/dest/browser/crs/index.d.ts +1 -1
  107. package/dest/browser/crs/net_crs.d.ts +6 -16
  108. package/dest/browser/crs/net_crs.d.ts.map +1 -1
  109. package/dest/browser/crs/net_crs.js +35 -7
  110. package/dest/browser/index.d.ts +3 -2
  111. package/dest/browser/index.d.ts.map +1 -1
  112. package/dest/browser/index.js +3 -2
  113. package/dest/browser/proof/index.d.ts +1 -1
  114. package/dest/browser/proof/index.js +1 -1
  115. package/dest/browser/random/browser/index.d.ts +1 -1
  116. package/dest/browser/random/browser/index.d.ts.map +1 -1
  117. package/dest/browser/random/browser/index.js +1 -1
  118. package/dest/browser/random/index.d.ts +1 -1
  119. package/dest/browser/retry/index.d.ts +1 -1
  120. package/dest/browser/retry/index.js +1 -1
  121. package/dest/node/async_map/index.d.ts +1 -1
  122. package/dest/node/async_map/index.js +1 -1
  123. package/dest/node/barretenberg/backend.d.ts +58 -40
  124. package/dest/node/barretenberg/backend.d.ts.map +1 -1
  125. package/dest/node/barretenberg/backend.js +143 -94
  126. package/dest/node/barretenberg/backend.test.d.ts +2 -0
  127. package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
  128. package/dest/node/barretenberg/backend.test.js +103 -0
  129. package/dest/node/barretenberg/blake2s.test.d.ts +1 -1
  130. package/dest/node/barretenberg/blake2s.test.js +2 -2
  131. package/dest/node/barretenberg/index.d.ts +3 -5
  132. package/dest/node/barretenberg/index.d.ts.map +1 -1
  133. package/dest/node/barretenberg/index.js +19 -28
  134. package/dest/node/barretenberg/pedersen.test.d.ts +1 -1
  135. package/dest/node/barretenberg/pedersen.test.js +2 -2
  136. package/dest/node/barretenberg/poseidon.bench.test.d.ts +1 -1
  137. package/dest/node/barretenberg/poseidon.bench.test.js +80 -79
  138. package/dest/node/barretenberg/poseidon.test.d.ts +1 -1
  139. package/dest/node/barretenberg/poseidon.test.js +2 -2
  140. package/dest/node/barretenberg/testing/bigint-buffer.d.ts +17 -0
  141. package/dest/node/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  142. package/dest/node/barretenberg/testing/bigint-buffer.js +37 -0
  143. package/dest/node/barretenberg/testing/fields.d.ts +16 -0
  144. package/dest/node/barretenberg/testing/fields.d.ts.map +1 -0
  145. package/dest/node/barretenberg/testing/fields.js +47 -0
  146. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  147. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  148. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  149. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +5 -6
  150. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  151. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  152. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +1 -3
  153. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  154. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  155. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  156. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  157. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  158. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  159. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  160. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  161. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  162. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  163. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  164. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  165. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  166. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  167. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  168. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +1 -3
  169. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  170. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  171. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  172. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  173. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  174. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  175. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  176. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  177. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  178. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  179. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  180. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  181. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  182. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +1 -1
  183. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  184. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  185. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +1 -1
  186. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  187. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  188. package/dest/node/barretenberg_wasm/helpers/browser/index.js +9 -2
  189. package/dest/node/barretenberg_wasm/helpers/index.d.ts +1 -1
  190. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  191. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  192. package/dest/node/barretenberg_wasm/helpers/node/index.js +14 -6
  193. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  194. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  195. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  196. package/dest/node/barretenberg_wasm/index.d.ts +1 -1
  197. package/dest/node/barretenberg_wasm/index.d.ts.map +1 -1
  198. package/dest/node/barretenberg_wasm/index.js +2 -3
  199. package/dest/node/barretenberg_wasm/index.test.d.ts +1 -1
  200. package/dest/node/barretenberg_wasm/index.test.js +1 -1
  201. package/dest/node/bb_backends/browser/index.d.ts +1 -1
  202. package/dest/node/bb_backends/browser/index.js +1 -1
  203. package/dest/node/bb_backends/browser/platform.d.ts +4 -0
  204. package/dest/node/bb_backends/browser/platform.d.ts.map +1 -0
  205. package/dest/node/bb_backends/browser/platform.js +10 -0
  206. package/dest/node/bb_backends/index.d.ts +12 -7
  207. package/dest/node/bb_backends/index.d.ts.map +1 -1
  208. package/dest/node/bb_backends/index.js +8 -7
  209. package/dest/node/bb_backends/interface.d.ts +1 -1
  210. package/dest/node/bb_backends/node/index.d.ts +1 -1
  211. package/dest/node/bb_backends/node/index.d.ts.map +1 -1
  212. package/dest/node/bb_backends/node/index.js +17 -11
  213. package/dest/node/bb_backends/node/native_pipe.d.ts +1 -1
  214. package/dest/node/bb_backends/node/native_pipe.d.ts.map +1 -1
  215. package/dest/node/bb_backends/node/native_pipe.js +11 -10
  216. package/dest/node/bb_backends/node/native_shm.d.ts +4 -3
  217. package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
  218. package/dest/node/bb_backends/node/native_shm.js +85 -39
  219. package/dest/node/bb_backends/node/native_shm_async.d.ts +51 -0
  220. package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -0
  221. package/dest/node/bb_backends/node/native_shm_async.js +233 -0
  222. package/dest/node/bb_backends/node/native_socket.d.ts +2 -2
  223. package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
  224. package/dest/node/bb_backends/node/native_socket.js +46 -32
  225. package/dest/node/bb_backends/node/platform.d.ts +1 -1
  226. package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
  227. package/dest/node/bb_backends/node/platform.js +7 -2
  228. package/dest/node/bb_backends/wasm.d.ts +1 -1
  229. package/dest/node/bb_backends/wasm.d.ts.map +1 -1
  230. package/dest/node/bb_backends/wasm.js +5 -3
  231. package/dest/node/bbapi/exception_handling.test.d.ts +2 -0
  232. package/dest/node/bbapi/exception_handling.test.d.ts.map +1 -0
  233. package/dest/node/bbapi/exception_handling.test.js +48 -0
  234. package/dest/node/bbapi_exception.d.ts +1 -1
  235. package/dest/node/bbapi_exception.d.ts.map +1 -1
  236. package/dest/node/bbapi_exception.js +1 -1
  237. package/dest/node/benchmark/index.d.ts +1 -1
  238. package/dest/node/benchmark/index.js +1 -1
  239. package/dest/node/benchmark/timer.d.ts +1 -1
  240. package/dest/node/benchmark/timer.d.ts.map +1 -1
  241. package/dest/node/benchmark/timer.js +2 -1
  242. package/dest/node/bin/index.d.ts +3 -0
  243. package/dest/node/bin/index.d.ts.map +1 -0
  244. package/dest/node/bin/index.js +11 -0
  245. package/dest/node/cbind/generate.d.ts +5 -2
  246. package/dest/node/cbind/generate.d.ts.map +1 -1
  247. package/dest/node/cbind/generate.js +47 -25
  248. package/dest/node/cbind/generated/api_types.d.ts +766 -1687
  249. package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
  250. package/dest/node/cbind/generated/api_types.js +1465 -1555
  251. package/dest/node/cbind/generated/async.d.ts +3 -5
  252. package/dest/node/cbind/generated/async.d.ts.map +1 -1
  253. package/dest/node/cbind/generated/async.js +14 -33
  254. package/dest/node/cbind/generated/curve_constants.d.ts +1 -1
  255. package/dest/node/cbind/generated/sync.d.ts +3 -5
  256. package/dest/node/cbind/generated/sync.d.ts.map +1 -1
  257. package/dest/node/cbind/generated/sync.js +14 -31
  258. package/dest/node/cbind/naming.d.ts +16 -0
  259. package/dest/node/cbind/naming.d.ts.map +1 -0
  260. package/dest/node/cbind/naming.js +24 -0
  261. package/dest/node/cbind/rust_codegen.d.ts +26 -0
  262. package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
  263. package/dest/node/cbind/rust_codegen.js +461 -0
  264. package/dest/node/cbind/schema_visitor.d.ts +47 -0
  265. package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
  266. package/dest/node/cbind/schema_visitor.js +158 -0
  267. package/dest/node/cbind/typescript_codegen.d.ts +30 -0
  268. package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
  269. package/dest/node/cbind/typescript_codegen.js +365 -0
  270. package/dest/node/crs/browser/cached_net_crs.d.ts +1 -1
  271. package/dest/node/crs/browser/cached_net_crs.d.ts.map +1 -1
  272. package/dest/node/crs/browser/cached_net_crs.js +6 -1
  273. package/dest/node/crs/browser/index.d.ts +1 -1
  274. package/dest/node/crs/index.d.ts +1 -1
  275. package/dest/node/crs/net_crs.d.ts +6 -16
  276. package/dest/node/crs/net_crs.d.ts.map +1 -1
  277. package/dest/node/crs/net_crs.js +35 -7
  278. package/dest/node/crs/net_crs.test.d.ts +2 -0
  279. package/dest/node/crs/net_crs.test.d.ts.map +1 -0
  280. package/dest/node/crs/net_crs.test.js +39 -0
  281. package/dest/node/crs/node/index.d.ts +1 -1
  282. package/dest/node/crs/node/index.d.ts.map +1 -1
  283. package/dest/node/crs/node/index.js +11 -6
  284. package/dest/node/index.d.ts +3 -2
  285. package/dest/node/index.d.ts.map +1 -1
  286. package/dest/node/index.js +3 -2
  287. package/dest/node/proof/index.d.ts +1 -1
  288. package/dest/node/proof/index.js +1 -1
  289. package/dest/node/random/browser/index.d.ts +1 -1
  290. package/dest/node/random/browser/index.d.ts.map +1 -1
  291. package/dest/node/random/browser/index.js +1 -1
  292. package/dest/node/random/index.d.ts +1 -1
  293. package/dest/node/random/node/index.d.ts +1 -1
  294. package/dest/node/random/node/index.js +1 -1
  295. package/dest/node/retry/index.d.ts +1 -1
  296. package/dest/node/retry/index.js +1 -1
  297. package/dest/node-cjs/async_map/index.d.ts +1 -1
  298. package/dest/node-cjs/async_map/index.js +1 -1
  299. package/dest/node-cjs/barretenberg/backend.d.ts +58 -40
  300. package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
  301. package/dest/node-cjs/barretenberg/backend.js +151 -100
  302. package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
  303. package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
  304. package/dest/node-cjs/barretenberg/backend.test.js +105 -0
  305. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +1 -1
  306. package/dest/node-cjs/barretenberg/blake2s.test.js +6 -6
  307. package/dest/node-cjs/barretenberg/index.d.ts +3 -5
  308. package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
  309. package/dest/node-cjs/barretenberg/index.js +27 -34
  310. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +1 -1
  311. package/dest/node-cjs/barretenberg/pedersen.test.js +9 -9
  312. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +1 -1
  313. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +89 -88
  314. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +1 -1
  315. package/dest/node-cjs/barretenberg/poseidon.test.js +4 -4
  316. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts +17 -0
  317. package/dest/node-cjs/barretenberg/testing/bigint-buffer.d.ts.map +1 -0
  318. package/dest/node-cjs/barretenberg/testing/bigint-buffer.js +43 -0
  319. package/dest/node-cjs/barretenberg/testing/fields.d.ts +16 -0
  320. package/dest/node-cjs/barretenberg/testing/fields.d.ts.map +1 -0
  321. package/dest/node-cjs/barretenberg/testing/fields.js +51 -0
  322. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  323. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +1 -1
  324. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +1 -1
  325. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +7 -8
  326. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +1 -1
  327. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +1 -1
  328. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +3 -5
  329. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +1 -1
  330. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +1 -7
  331. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +1 -1
  332. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +1 -1
  333. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +1 -3
  334. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +1 -1
  335. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +1 -8
  336. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +1 -1
  337. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +1 -1
  338. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +5 -4
  339. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +13 -7
  340. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +1 -1
  341. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +45 -18
  342. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +1 -1
  343. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +1 -1
  344. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +3 -5
  345. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +1 -1
  346. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +1 -7
  347. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +1 -1
  348. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +1 -1
  349. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +1 -3
  350. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +1 -1
  351. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +1 -7
  352. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +9 -8
  353. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +1 -1
  354. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +4 -3
  355. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +1 -1
  356. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
  357. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +1 -1
  358. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
  359. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +1 -1
  360. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +2 -2
  361. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +1 -1
  362. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +1 -1
  363. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +2 -2
  364. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +2 -2
  365. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +1 -1
  366. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +9 -2
  367. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +1 -1
  368. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +5 -6
  369. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +1 -1
  370. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +15 -7
  371. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +2 -2
  372. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +1 -1
  373. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +1 -1
  374. package/dest/node-cjs/barretenberg_wasm/index.d.ts +1 -1
  375. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +1 -1
  376. package/dest/node-cjs/barretenberg_wasm/index.js +2 -3
  377. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +1 -1
  378. package/dest/node-cjs/barretenberg_wasm/index.test.js +1 -1
  379. package/dest/node-cjs/bb_backends/browser/index.d.ts +1 -1
  380. package/dest/node-cjs/bb_backends/browser/index.js +1 -1
  381. package/dest/node-cjs/bb_backends/browser/platform.d.ts +4 -0
  382. package/dest/node-cjs/bb_backends/browser/platform.d.ts.map +1 -0
  383. package/dest/node-cjs/bb_backends/browser/platform.js +15 -0
  384. package/dest/node-cjs/bb_backends/index.d.ts +12 -7
  385. package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
  386. package/dest/node-cjs/bb_backends/index.js +6 -6
  387. package/dest/node-cjs/bb_backends/interface.d.ts +1 -1
  388. package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
  389. package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
  390. package/dest/node-cjs/bb_backends/node/index.js +17 -11
  391. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +1 -1
  392. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +1 -1
  393. package/dest/node-cjs/bb_backends/node/native_pipe.js +11 -10
  394. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +4 -3
  395. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
  396. package/dest/node-cjs/bb_backends/node/native_shm.js +85 -39
  397. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +51 -0
  398. package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -0
  399. package/dest/node-cjs/bb_backends/node/native_shm_async.js +237 -0
  400. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +2 -2
  401. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
  402. package/dest/node-cjs/bb_backends/node/native_socket.js +46 -32
  403. package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
  404. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
  405. package/dest/node-cjs/bb_backends/node/platform.js +8 -3
  406. package/dest/node-cjs/bb_backends/wasm.d.ts +1 -1
  407. package/dest/node-cjs/bb_backends/wasm.d.ts.map +1 -1
  408. package/dest/node-cjs/bb_backends/wasm.js +5 -3
  409. package/dest/node-cjs/bbapi/exception_handling.test.d.ts +2 -0
  410. package/dest/node-cjs/bbapi/exception_handling.test.d.ts.map +1 -0
  411. package/dest/node-cjs/bbapi/exception_handling.test.js +50 -0
  412. package/dest/node-cjs/bbapi_exception.d.ts +1 -1
  413. package/dest/node-cjs/bbapi_exception.d.ts.map +1 -1
  414. package/dest/node-cjs/bbapi_exception.js +1 -1
  415. package/dest/node-cjs/benchmark/index.d.ts +1 -1
  416. package/dest/node-cjs/benchmark/index.js +2 -2
  417. package/dest/node-cjs/benchmark/timer.d.ts +1 -1
  418. package/dest/node-cjs/benchmark/timer.d.ts.map +1 -1
  419. package/dest/node-cjs/benchmark/timer.js +2 -1
  420. package/dest/node-cjs/bin/index.d.ts +3 -0
  421. package/dest/node-cjs/bin/index.d.ts.map +1 -0
  422. package/dest/node-cjs/bin/index.js +13 -0
  423. package/dest/node-cjs/cbind/generate.d.ts +5 -2
  424. package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
  425. package/dest/node-cjs/cbind/generate.js +47 -25
  426. package/dest/node-cjs/cbind/generated/api_types.d.ts +766 -1687
  427. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
  428. package/dest/node-cjs/cbind/generated/api_types.js +1671 -1771
  429. package/dest/node-cjs/cbind/generated/async.d.ts +3 -5
  430. package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
  431. package/dest/node-cjs/cbind/generated/async.js +13 -32
  432. package/dest/node-cjs/cbind/generated/curve_constants.d.ts +1 -1
  433. package/dest/node-cjs/cbind/generated/sync.d.ts +3 -5
  434. package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
  435. package/dest/node-cjs/cbind/generated/sync.js +13 -30
  436. package/dest/node-cjs/cbind/naming.d.ts +16 -0
  437. package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
  438. package/dest/node-cjs/cbind/naming.js +28 -0
  439. package/dest/node-cjs/cbind/rust_codegen.d.ts +26 -0
  440. package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
  441. package/dest/node-cjs/cbind/rust_codegen.js +465 -0
  442. package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
  443. package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
  444. package/dest/node-cjs/cbind/schema_visitor.js +162 -0
  445. package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
  446. package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
  447. package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
  448. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +1 -1
  449. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +1 -1
  450. package/dest/node-cjs/crs/browser/cached_net_crs.js +6 -1
  451. package/dest/node-cjs/crs/browser/index.d.ts +1 -1
  452. package/dest/node-cjs/crs/browser/index.js +2 -2
  453. package/dest/node-cjs/crs/index.d.ts +1 -1
  454. package/dest/node-cjs/crs/index.js +2 -2
  455. package/dest/node-cjs/crs/net_crs.d.ts +6 -16
  456. package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
  457. package/dest/node-cjs/crs/net_crs.js +36 -7
  458. package/dest/node-cjs/crs/net_crs.test.d.ts +2 -0
  459. package/dest/node-cjs/crs/net_crs.test.d.ts.map +1 -0
  460. package/dest/node-cjs/crs/net_crs.test.js +41 -0
  461. package/dest/node-cjs/crs/node/index.d.ts +1 -1
  462. package/dest/node-cjs/crs/node/index.d.ts.map +1 -1
  463. package/dest/node-cjs/crs/node/index.js +11 -6
  464. package/dest/node-cjs/index.d.ts +3 -2
  465. package/dest/node-cjs/index.d.ts.map +1 -1
  466. package/dest/node-cjs/index.js +12 -8
  467. package/dest/node-cjs/proof/index.d.ts +1 -1
  468. package/dest/node-cjs/proof/index.js +1 -1
  469. package/dest/node-cjs/random/browser/index.d.ts +1 -1
  470. package/dest/node-cjs/random/browser/index.d.ts.map +1 -1
  471. package/dest/node-cjs/random/browser/index.js +1 -1
  472. package/dest/node-cjs/random/index.d.ts +1 -1
  473. package/dest/node-cjs/random/node/index.d.ts +1 -1
  474. package/dest/node-cjs/random/node/index.js +1 -1
  475. package/dest/node-cjs/retry/index.d.ts +1 -1
  476. package/dest/node-cjs/retry/index.js +1 -1
  477. package/package.json +8 -6
  478. package/src/barretenberg/backend.test.ts +122 -0
  479. package/src/barretenberg/backend.ts +170 -122
  480. package/src/barretenberg/blake2s.test.ts +1 -1
  481. package/src/barretenberg/index.ts +25 -28
  482. package/src/barretenberg/pedersen.test.ts +1 -1
  483. package/src/barretenberg/poseidon.bench.test.ts +160 -157
  484. package/src/barretenberg/poseidon.test.ts +1 -1
  485. package/src/{types → barretenberg/testing}/fields.ts +12 -26
  486. package/src/barretenberg_wasm/barretenberg_wasm_base/index.ts +1 -2
  487. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.ts +0 -2
  488. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.ts +0 -7
  489. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.ts +0 -2
  490. package/src/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.ts +0 -9
  491. package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +38 -5
  492. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.ts +0 -2
  493. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.ts +0 -7
  494. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.ts +0 -2
  495. package/src/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.ts +0 -7
  496. package/src/barretenberg_wasm/barretenberg_wasm_thread/index.ts +3 -2
  497. package/src/barretenberg_wasm/helpers/browser/index.ts +8 -1
  498. package/src/barretenberg_wasm/helpers/node/index.ts +13 -6
  499. package/src/barretenberg_wasm/index.ts +1 -2
  500. package/src/bb_backends/browser/platform.ts +11 -0
  501. package/src/bb_backends/index.ts +12 -6
  502. package/src/bb_backends/node/index.ts +23 -10
  503. package/src/bb_backends/node/native_shm.ts +81 -38
  504. package/src/bb_backends/node/native_shm_async.ts +262 -0
  505. package/src/bb_backends/node/native_socket.ts +35 -19
  506. package/src/bb_backends/node/platform.ts +6 -1
  507. package/src/bb_backends/wasm.ts +1 -2
  508. package/src/bbapi/exception_handling.test.ts +54 -0
  509. package/src/bin/index.ts +14 -0
  510. package/src/cbind/generate.ts +51 -32
  511. package/src/cbind/generated/api_types.ts +1612 -2833
  512. package/src/cbind/generated/async.ts +13 -34
  513. package/src/cbind/generated/sync.ts +13 -32
  514. package/src/cbind/naming.ts +27 -0
  515. package/src/cbind/rust_codegen.ts +504 -0
  516. package/src/cbind/schema_visitor.ts +219 -0
  517. package/src/cbind/typescript_codegen.ts +419 -0
  518. package/src/crs/net_crs.test.ts +47 -0
  519. package/src/crs/net_crs.ts +45 -14
  520. package/src/crs/node/index.ts +4 -5
  521. package/src/index.ts +6 -0
  522. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  523. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  524. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  525. package/dest/browser/bigint-array/index.d.ts +0 -17
  526. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  527. package/dest/browser/bigint-array/index.js +0 -37
  528. package/dest/browser/cbind/schema_compiler.d.ts +0 -68
  529. package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
  530. package/dest/browser/cbind/schema_compiler.js +0 -599
  531. package/dest/browser/log/browser/index.d.ts +0 -6
  532. package/dest/browser/log/browser/index.d.ts.map +0 -1
  533. package/dest/browser/log/browser/index.js +0 -28
  534. package/dest/browser/log/index.d.ts +0 -2
  535. package/dest/browser/log/index.d.ts.map +0 -1
  536. package/dest/browser/log/index.js +0 -2
  537. package/dest/browser/log/types.d.ts +0 -6
  538. package/dest/browser/log/types.d.ts.map +0 -1
  539. package/dest/browser/log/types.js +0 -2
  540. package/dest/browser/serialize/index.d.ts +0 -2
  541. package/dest/browser/serialize/index.d.ts.map +0 -1
  542. package/dest/browser/serialize/index.js +0 -2
  543. package/dest/browser/serialize/serialize.d.ts +0 -18
  544. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  545. package/dest/browser/serialize/serialize.js +0 -72
  546. package/dest/browser/types/fields.d.ts +0 -23
  547. package/dest/browser/types/fields.d.ts.map +0 -1
  548. package/dest/browser/types/fields.js +0 -61
  549. package/dest/browser/types/index.d.ts +0 -3
  550. package/dest/browser/types/index.d.ts.map +0 -1
  551. package/dest/browser/types/index.js +0 -3
  552. package/dest/browser/types/point.d.ts +0 -18
  553. package/dest/browser/types/point.d.ts.map +0 -1
  554. package/dest/browser/types/point.js +0 -28
  555. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  556. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  557. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  558. package/dest/node/bigint-array/index.d.ts +0 -17
  559. package/dest/node/bigint-array/index.d.ts.map +0 -1
  560. package/dest/node/bigint-array/index.js +0 -37
  561. package/dest/node/cbind/schema_compiler.d.ts +0 -68
  562. package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
  563. package/dest/node/cbind/schema_compiler.js +0 -599
  564. package/dest/node/log/browser/index.d.ts +0 -6
  565. package/dest/node/log/browser/index.d.ts.map +0 -1
  566. package/dest/node/log/browser/index.js +0 -28
  567. package/dest/node/log/index.d.ts +0 -2
  568. package/dest/node/log/index.d.ts.map +0 -1
  569. package/dest/node/log/index.js +0 -2
  570. package/dest/node/log/node/index.d.ts +0 -6
  571. package/dest/node/log/node/index.d.ts.map +0 -1
  572. package/dest/node/log/node/index.js +0 -40
  573. package/dest/node/log/types.d.ts +0 -6
  574. package/dest/node/log/types.d.ts.map +0 -1
  575. package/dest/node/log/types.js +0 -2
  576. package/dest/node/serialize/index.d.ts +0 -2
  577. package/dest/node/serialize/index.d.ts.map +0 -1
  578. package/dest/node/serialize/index.js +0 -2
  579. package/dest/node/serialize/serialize.d.ts +0 -18
  580. package/dest/node/serialize/serialize.d.ts.map +0 -1
  581. package/dest/node/serialize/serialize.js +0 -72
  582. package/dest/node/types/fields.d.ts +0 -23
  583. package/dest/node/types/fields.d.ts.map +0 -1
  584. package/dest/node/types/fields.js +0 -61
  585. package/dest/node/types/index.d.ts +0 -3
  586. package/dest/node/types/index.d.ts.map +0 -1
  587. package/dest/node/types/index.js +0 -3
  588. package/dest/node/types/point.d.ts +0 -18
  589. package/dest/node/types/point.d.ts.map +0 -1
  590. package/dest/node/types/point.js +0 -28
  591. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  592. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  593. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  594. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  595. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  596. package/dest/node-cjs/bigint-array/index.js +0 -43
  597. package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
  598. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
  599. package/dest/node-cjs/cbind/schema_compiler.js +0 -606
  600. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  601. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  602. package/dest/node-cjs/log/browser/index.js +0 -30
  603. package/dest/node-cjs/log/index.d.ts +0 -2
  604. package/dest/node-cjs/log/index.d.ts.map +0 -1
  605. package/dest/node-cjs/log/index.js +0 -8
  606. package/dest/node-cjs/log/node/index.d.ts +0 -6
  607. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  608. package/dest/node-cjs/log/node/index.js +0 -42
  609. package/dest/node-cjs/log/types.d.ts +0 -6
  610. package/dest/node-cjs/log/types.d.ts.map +0 -1
  611. package/dest/node-cjs/log/types.js +0 -3
  612. package/dest/node-cjs/serialize/index.d.ts +0 -2
  613. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  614. package/dest/node-cjs/serialize/index.js +0 -5
  615. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  616. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  617. package/dest/node-cjs/serialize/serialize.js +0 -82
  618. package/dest/node-cjs/types/fields.d.ts +0 -23
  619. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  620. package/dest/node-cjs/types/fields.js +0 -65
  621. package/dest/node-cjs/types/index.d.ts +0 -3
  622. package/dest/node-cjs/types/index.d.ts.map +0 -1
  623. package/dest/node-cjs/types/index.js +0 -6
  624. package/dest/node-cjs/types/point.d.ts +0 -18
  625. package/dest/node-cjs/types/point.d.ts.map +0 -1
  626. package/dest/node-cjs/types/point.js +0 -32
  627. package/src/bb_backends/sync_to_async_adapter.ts +0 -21
  628. package/src/cbind/schema_compiler.ts +0 -745
  629. package/src/log/browser/index.ts +0 -35
  630. package/src/log/index.ts +0 -1
  631. package/src/log/node/index.ts +0 -52
  632. package/src/log/types.ts +0 -6
  633. package/src/serialize/index.ts +0 -1
  634. package/src/serialize/serialize.ts +0 -75
  635. package/src/types/index.ts +0 -2
  636. package/src/types/point.ts +0 -32
  637. /package/src/{bigint-array/index.ts → barretenberg/testing/bigint-buffer.ts} +0 -0
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Schema Visitor - Minimal abstraction over raw msgpack schema
3
+ *
4
+ * Philosophy:
5
+ * - Keep raw schema structure
6
+ * - Resolve type references into a graph
7
+ * - No normalization - languages handle their own conventions
8
+ * - Output is "compiled schema" with resolved types
9
+ */
10
+
11
+ export type PrimitiveType = 'bool' | 'u8' | 'u16' | 'u32' | 'u64' | 'f64' | 'string' | 'bytes' | 'field2';
12
+
13
+ export interface Type {
14
+ kind: 'primitive' | 'vector' | 'array' | 'optional' | 'struct';
15
+ primitive?: PrimitiveType;
16
+ element?: Type; // For vector, array, optional
17
+ size?: number; // For array
18
+ struct?: Struct; // For struct types
19
+ }
20
+
21
+ export interface Field {
22
+ name: string;
23
+ type: Type;
24
+ }
25
+
26
+ export interface Struct {
27
+ name: string;
28
+ fields: Field[];
29
+ }
30
+
31
+ export interface Command {
32
+ name: string;
33
+ fields: Field[];
34
+ responseType: string;
35
+ }
36
+
37
+ export interface CompiledSchema {
38
+ // All unique struct types discovered
39
+ structs: Map<string, Struct>;
40
+
41
+ // Command -> Response mappings
42
+ commands: Command[];
43
+
44
+ // Response types
45
+ responses: Map<string, Struct>;
46
+ }
47
+
48
+ /**
49
+ * SchemaVisitor - Walks raw msgpack schema and resolves references
50
+ */
51
+ export class SchemaVisitor {
52
+ private structs = new Map<string, Struct>();
53
+ private responses = new Map<string, Struct>();
54
+
55
+ visit(commandsSchema: any, responsesSchema: any): CompiledSchema {
56
+ // Reset state
57
+ this.structs.clear();
58
+ this.responses.clear();
59
+
60
+ const commands: Command[] = [];
61
+
62
+ // Schema format: ["named_union", [[name, schema], ...]]
63
+ const commandPairs = commandsSchema[1] as Array<[string, any]>;
64
+ const responsePairs = responsesSchema[1] as Array<[string, any]>;
65
+
66
+ // First, visit all response types (including ErrorResponse)
67
+ for (const [respName, respSchema] of responsePairs) {
68
+ if (typeof respSchema !== 'string') {
69
+ const respStruct = this.visitStruct(respName, respSchema);
70
+ this.responses.set(respName, respStruct);
71
+ }
72
+ }
73
+
74
+ // Visit all commands and pair with responses
75
+ for (let i = 0; i < commandPairs.length; i++) {
76
+ const [cmdName, cmdSchema] = commandPairs[i];
77
+ // Find matching response (skip ErrorResponse which is always last)
78
+ const normalResponses = responsePairs.filter(([name]: [string, any]) => name !== 'ErrorResponse');
79
+ const [respName] = normalResponses[i];
80
+
81
+ // Discover command structure
82
+ const cmdStruct = this.visitStruct(cmdName, cmdSchema);
83
+ this.structs.set(cmdName, cmdStruct);
84
+
85
+ // Create command mapping
86
+ commands.push({
87
+ name: cmdName,
88
+ fields: cmdStruct.fields,
89
+ responseType: respName,
90
+ });
91
+ }
92
+
93
+ return {
94
+ structs: this.structs,
95
+ commands,
96
+ responses: this.responses,
97
+ };
98
+ }
99
+
100
+ private visitStruct(name: string, schema: any): Struct {
101
+ const fields: Field[] = [];
102
+
103
+ // Schema is an object with __typename and fields
104
+ for (const [key, value] of Object.entries(schema)) {
105
+ if (key === '__typename') continue;
106
+
107
+ fields.push({
108
+ name: key,
109
+ type: this.visitType(value),
110
+ });
111
+ }
112
+
113
+ return { name, fields };
114
+ }
115
+
116
+ private visitType(schema: any): Type {
117
+ // Primitive string type
118
+ if (typeof schema === 'string') {
119
+ return this.resolvePrimitive(schema);
120
+ }
121
+
122
+ // Array type descriptor: ['vector', [elementType]]
123
+ if (Array.isArray(schema)) {
124
+ const [kind, args] = schema;
125
+
126
+ switch (kind) {
127
+ case 'vector': {
128
+ const [elemType] = args as [any];
129
+ // Special case: vector<unsigned char> = bytes
130
+ if (elemType === 'unsigned char') {
131
+ return { kind: 'primitive', primitive: 'bytes' };
132
+ }
133
+ return {
134
+ kind: 'vector',
135
+ element: this.visitType(elemType),
136
+ };
137
+ }
138
+
139
+ case 'array': {
140
+ const [elemType, size] = args as [any, number];
141
+ // Special case: array<unsigned char, N> = bytes
142
+ if (elemType === 'unsigned char') {
143
+ return { kind: 'primitive', primitive: 'bytes' };
144
+ }
145
+ return {
146
+ kind: 'array',
147
+ element: this.visitType(elemType),
148
+ size,
149
+ };
150
+ }
151
+
152
+ case 'optional': {
153
+ const [elemType] = args as [any];
154
+ return {
155
+ kind: 'optional',
156
+ element: this.visitType(elemType),
157
+ };
158
+ }
159
+
160
+ case 'shared_ptr': {
161
+ // Dereference shared_ptr - just use inner type
162
+ const [innerType] = args as [any];
163
+ return this.visitType(innerType);
164
+ }
165
+
166
+ case 'alias': {
167
+ // Alias types (like uint256_t) are treated as bytes
168
+ return { kind: 'primitive', primitive: 'bytes' };
169
+ }
170
+
171
+ default:
172
+ throw new Error(`Unknown type kind: ${kind}`);
173
+ }
174
+ }
175
+
176
+ // Inline struct definition
177
+ if (typeof schema === 'object' && schema.__typename) {
178
+ const structName = schema.__typename as string;
179
+ // Check if already visited
180
+ if (!this.structs.has(structName)) {
181
+ const struct = this.visitStruct(structName, schema);
182
+ this.structs.set(structName, struct);
183
+ }
184
+ return {
185
+ kind: 'struct',
186
+ struct: this.structs.get(structName)!,
187
+ };
188
+ }
189
+
190
+ throw new Error(`Cannot resolve type: ${JSON.stringify(schema)}`);
191
+ }
192
+
193
+ private resolvePrimitive(name: string): Type {
194
+ const primitiveMap: Record<string, PrimitiveType> = {
195
+ 'bool': 'bool',
196
+ 'int': 'u32',
197
+ 'unsigned int': 'u32',
198
+ 'unsigned short': 'u16',
199
+ 'unsigned long': 'u64',
200
+ 'unsigned char': 'u8',
201
+ 'double': 'f64',
202
+ 'string': 'string',
203
+ 'bin32': 'bytes',
204
+ 'field2': 'field2', // Extension field (Fq2) - pair of field elements
205
+ };
206
+
207
+ const primitive = primitiveMap[name];
208
+ if (primitive) {
209
+ return { kind: 'primitive', primitive };
210
+ }
211
+
212
+ // Unknown primitive - treat as struct reference
213
+ // This will be resolved later if it's a real struct
214
+ return {
215
+ kind: 'struct',
216
+ struct: { name, fields: [] }, // Placeholder
217
+ };
218
+ }
219
+ }
@@ -0,0 +1,419 @@
1
+ /**
2
+ * TypeScript Code Generator - String template based
3
+ *
4
+ * Philosophy:
5
+ * - String templates for file structure
6
+ * - Simple type mapping
7
+ * - Idiomatic TypeScript conventions
8
+ * - No complex abstraction
9
+ */
10
+
11
+ import type { CompiledSchema, Type, Struct, Field, Command } from './schema_visitor.js';
12
+ import { toPascalCase } from './naming.js';
13
+
14
+ function toCamelCase(name: string): string {
15
+ const pascal = toPascalCase(name);
16
+ return pascal.charAt(0).toLowerCase() + pascal.slice(1);
17
+ }
18
+
19
+ export class TypeScriptCodegen {
20
+ // Type mapping: Schema type -> TypeScript type
21
+ private mapType(type: Type): string {
22
+ switch (type.kind) {
23
+ case 'primitive':
24
+ switch (type.primitive) {
25
+ case 'bool': return 'boolean';
26
+ case 'u8': return 'number';
27
+ case 'u16': return 'number';
28
+ case 'u32': return 'number';
29
+ case 'u64': return 'number';
30
+ case 'f64': return 'number';
31
+ case 'string': return 'string';
32
+ case 'bytes': return 'Uint8Array';
33
+ case 'field2': return '[Uint8Array, Uint8Array]'; // Extension field (Fq2)
34
+ }
35
+ break;
36
+
37
+ case 'vector':
38
+ return `${this.mapType(type.element!)}[]`;
39
+
40
+ case 'array':
41
+ return `${this.mapType(type.element!)}[]`;
42
+
43
+ case 'optional':
44
+ return `${this.mapType(type.element!)} | undefined`;
45
+
46
+ case 'struct':
47
+ return toPascalCase(type.struct!.name);
48
+ }
49
+
50
+ return 'unknown';
51
+ }
52
+
53
+ // Type mapping for msgpack interfaces (uses Msgpack* prefix for structs)
54
+ private mapMsgpackType(type: Type): string {
55
+ switch (type.kind) {
56
+ case 'primitive':
57
+ switch (type.primitive) {
58
+ case 'bool': return 'boolean';
59
+ case 'u8': return 'number';
60
+ case 'u16': return 'number';
61
+ case 'u32': return 'number';
62
+ case 'u64': return 'number';
63
+ case 'f64': return 'number';
64
+ case 'string': return 'string';
65
+ case 'bytes': return 'Uint8Array';
66
+ case 'field2': return '[Uint8Array, Uint8Array]';
67
+ }
68
+ break;
69
+
70
+ case 'vector':
71
+ return `${this.mapMsgpackType(type.element!)}[]`;
72
+
73
+ case 'array':
74
+ return `${this.mapMsgpackType(type.element!)}[]`;
75
+
76
+ case 'optional':
77
+ return `${this.mapMsgpackType(type.element!)} | undefined`;
78
+
79
+ case 'struct':
80
+ return `Msgpack${toPascalCase(type.struct!.name)}`;
81
+ }
82
+
83
+ return 'unknown';
84
+ }
85
+
86
+ // Check if type needs conversion (has nested structs)
87
+ private needsConversion(type: Type): boolean {
88
+ switch (type.kind) {
89
+ case 'primitive':
90
+ return false;
91
+ case 'vector':
92
+ case 'array':
93
+ case 'optional':
94
+ return this.needsConversion(type.element!);
95
+ case 'struct':
96
+ return true;
97
+ }
98
+ return false;
99
+ }
100
+
101
+ // Generate field
102
+ private generateField(field: Field): string {
103
+ const tsName = toCamelCase(field.name);
104
+ const tsType = this.mapType(field.type);
105
+ return ` ${tsName}: ${tsType};`;
106
+ }
107
+
108
+ // Generate msgpack field (original names, uses Msgpack* types for structs)
109
+ private generateMsgpackField(field: Field): string {
110
+ const tsType = this.mapMsgpackType(field.type);
111
+ return ` ${field.name}: ${tsType};`;
112
+ }
113
+
114
+ // Generate public interface
115
+ private generateInterface(struct: Struct): string {
116
+ const tsName = toPascalCase(struct.name);
117
+ const fields = struct.fields.map(f => this.generateField(f)).join('\n');
118
+
119
+ return `export interface ${tsName} {
120
+ ${fields}
121
+ }`;
122
+ }
123
+
124
+ // Generate msgpack interface (internal)
125
+ private generateMsgpackInterface(struct: Struct): string {
126
+ const tsName = toPascalCase(struct.name);
127
+ const fields = struct.fields.map(f => this.generateMsgpackField(f)).join('\n');
128
+
129
+ return `interface Msgpack${tsName} {
130
+ ${fields}
131
+ }`;
132
+ }
133
+
134
+ // Generate to* conversion function
135
+ private generateToFunction(struct: Struct): string {
136
+ const tsName = toPascalCase(struct.name);
137
+
138
+ if (struct.fields.length === 0) {
139
+ return `function to${tsName}(o: Msgpack${tsName}): ${tsName} {
140
+ return {};
141
+ }`;
142
+ }
143
+
144
+ const checks = struct.fields
145
+ .map(f => ` if (o.${f.name} === undefined) { throw new Error("Expected ${f.name} in ${tsName} deserialization"); }`)
146
+ .join('\n');
147
+
148
+ const conversions = struct.fields
149
+ .map(f => {
150
+ const tsFieldName = toCamelCase(f.name);
151
+ const converter = this.generateToConverter(f.type, `o.${f.name}`);
152
+ return ` ${tsFieldName}: ${converter},`;
153
+ })
154
+ .join('\n');
155
+
156
+ return `function to${tsName}(o: Msgpack${tsName}): ${tsName} {
157
+ ${checks};
158
+ return {
159
+ ${conversions}
160
+ };
161
+ }`;
162
+ }
163
+
164
+ // Generate from* conversion function
165
+ private generateFromFunction(struct: Struct): string {
166
+ const tsName = toPascalCase(struct.name);
167
+
168
+ if (struct.fields.length === 0) {
169
+ return `function from${tsName}(o: ${tsName}): Msgpack${tsName} {
170
+ return {};
171
+ }`;
172
+ }
173
+
174
+ const checks = struct.fields
175
+ .map(f => {
176
+ const tsFieldName = toCamelCase(f.name);
177
+ return ` if (o.${tsFieldName} === undefined) { throw new Error("Expected ${tsFieldName} in ${tsName} serialization"); }`;
178
+ })
179
+ .join('\n');
180
+
181
+ const conversions = struct.fields
182
+ .map(f => {
183
+ const tsFieldName = toCamelCase(f.name);
184
+ const converter = this.generateFromConverter(f.type, `o.${tsFieldName}`);
185
+ return ` ${f.name}: ${converter},`;
186
+ })
187
+ .join('\n');
188
+
189
+ return `function from${tsName}(o: ${tsName}): Msgpack${tsName} {
190
+ ${checks};
191
+ return {
192
+ ${conversions}
193
+ };
194
+ }`;
195
+ }
196
+
197
+ // Generate converter for to* function
198
+ private generateToConverter(type: Type, value: string): string {
199
+ if (!this.needsConversion(type)) {
200
+ return value;
201
+ }
202
+
203
+ switch (type.kind) {
204
+ case 'vector':
205
+ case 'array':
206
+ if (this.needsConversion(type.element!)) {
207
+ return `${value}.map((v: any) => ${this.generateToConverter(type.element!, 'v')})`;
208
+ }
209
+ return value;
210
+ case 'optional':
211
+ if (this.needsConversion(type.element!)) {
212
+ return `${value} !== undefined ? ${this.generateToConverter(type.element!, value)} : undefined`;
213
+ }
214
+ return value;
215
+ case 'struct':
216
+ return `to${toPascalCase(type.struct!.name)}(${value})`;
217
+ }
218
+ return value;
219
+ }
220
+
221
+ // Generate converter for from* function
222
+ private generateFromConverter(type: Type, value: string): string {
223
+ if (!this.needsConversion(type)) {
224
+ return value;
225
+ }
226
+
227
+ switch (type.kind) {
228
+ case 'vector':
229
+ case 'array':
230
+ if (this.needsConversion(type.element!)) {
231
+ return `${value}.map((v: any) => ${this.generateFromConverter(type.element!, 'v')})`;
232
+ }
233
+ return value;
234
+ case 'optional':
235
+ if (this.needsConversion(type.element!)) {
236
+ return `${value} !== undefined ? ${this.generateFromConverter(type.element!, value)} : undefined`;
237
+ }
238
+ return value;
239
+ case 'struct':
240
+ return `from${toPascalCase(type.struct!.name)}(${value})`;
241
+ }
242
+ return value;
243
+ }
244
+
245
+ // Generate types file (api_types.ts)
246
+ generateTypes(schema: CompiledSchema): string {
247
+ const allStructs = [...schema.structs.values(), ...schema.responses.values()];
248
+
249
+ // Public interfaces
250
+ const publicInterfaces = allStructs
251
+ .map(s => this.generateInterface(s))
252
+ .join('\n\n');
253
+
254
+ // Msgpack interfaces
255
+ const msgpackInterfaces = allStructs
256
+ .map(s => this.generateMsgpackInterface(s))
257
+ .join('\n\n');
258
+
259
+ // Conversion functions
260
+ const toFunctions = allStructs
261
+ .map(s => 'export ' + this.generateToFunction(s))
262
+ .join('\n\n');
263
+
264
+ const fromFunctions = allStructs
265
+ .map(s => 'export ' + this.generateFromFunction(s))
266
+ .join('\n\n');
267
+
268
+ // BbApiBase interface
269
+ const apiMethods = schema.commands
270
+ .map(c => ` ${toCamelCase(c.name)}(command: ${toPascalCase(c.name)}): Promise<${toPascalCase(c.responseType)}>;`)
271
+ .join('\n');
272
+
273
+ return `// AUTOGENERATED FILE - DO NOT EDIT
274
+
275
+ // Type aliases for primitive types
276
+ export type Field2 = [Uint8Array, Uint8Array];
277
+
278
+ // Public interfaces (exported)
279
+ ${publicInterfaces}
280
+
281
+ // Private Msgpack interfaces (not exported)
282
+ ${msgpackInterfaces}
283
+
284
+ // Conversion functions (exported)
285
+ ${toFunctions}
286
+
287
+ ${fromFunctions}
288
+
289
+ // Base API interface
290
+ export interface BbApiBase {
291
+ ${apiMethods}
292
+ destroy(): Promise<void>;
293
+ }
294
+ `;
295
+ }
296
+
297
+ // Generate API method
298
+ private generateAsyncApiMethod(command: Command): string {
299
+ const methodName = toCamelCase(command.name);
300
+ const cmdType = toPascalCase(command.name);
301
+ const respType = toPascalCase(command.responseType);
302
+
303
+ return ` ${methodName}(command: ${cmdType}): Promise<${respType}> {
304
+ const msgpackCommand = from${cmdType}(command);
305
+ return msgpackCall(this.backend, [["${command.name}", msgpackCommand]]).then(([variantName, result]: [string, any]) => {
306
+ if (variantName === 'ErrorResponse') {
307
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
308
+ }
309
+ if (variantName !== '${command.responseType}') {
310
+ throw new BBApiException(\`Expected variant name '${command.responseType}' but got '\${variantName}'\`);
311
+ }
312
+ return to${respType}(result);
313
+ });
314
+ }`;
315
+ }
316
+
317
+ private generateSyncApiMethod(command: Command): string {
318
+ const methodName = toCamelCase(command.name);
319
+ const cmdType = toPascalCase(command.name);
320
+ const respType = toPascalCase(command.responseType);
321
+
322
+ return ` ${methodName}(command: ${cmdType}): ${respType} {
323
+ const msgpackCommand = from${cmdType}(command);
324
+ const [variantName, result] = msgpackCall(this.backend, [["${command.name}", msgpackCommand]]);
325
+ if (variantName === 'ErrorResponse') {
326
+ throw new BBApiException(result.message || 'Unknown error from barretenberg');
327
+ }
328
+ if (variantName !== '${command.responseType}') {
329
+ throw new BBApiException(\`Expected variant name '${command.responseType}' but got '\${variantName}'\`);
330
+ }
331
+ return to${respType}(result);
332
+ }`;
333
+ }
334
+
335
+ // Generate async API file
336
+ generateAsyncApi(schema: CompiledSchema): string {
337
+ const imports = this.generateApiImports(schema);
338
+ const methods = schema.commands
339
+ .map(c => this.generateAsyncApiMethod(c))
340
+ .join('\n\n');
341
+
342
+ return `// AUTOGENERATED FILE - DO NOT EDIT
343
+
344
+ import { IMsgpackBackendAsync } from '../../bb_backends/interface.js';
345
+ import { Decoder, Encoder } from 'msgpackr';
346
+ import { BBApiException } from '../../bbapi_exception.js';
347
+ ${imports}
348
+
349
+ async function msgpackCall(backend: IMsgpackBackendAsync, input: any[]) {
350
+ const inputBuffer = new Encoder({ useRecords: false }).pack(input);
351
+ const encodedResult = await backend.call(inputBuffer);
352
+ return new Decoder({ useRecords: false }).unpack(encodedResult);
353
+ }
354
+
355
+ export class AsyncApi implements BbApiBase {
356
+ constructor(protected backend: IMsgpackBackendAsync) {}
357
+
358
+ ${methods}
359
+
360
+ destroy(): Promise<void> {
361
+ return this.backend.destroy ? this.backend.destroy() : Promise.resolve();
362
+ }
363
+ }
364
+ `;
365
+ }
366
+
367
+ // Generate sync API file
368
+ generateSyncApi(schema: CompiledSchema): string {
369
+ const imports = this.generateApiImports(schema);
370
+ const methods = schema.commands
371
+ .map(c => this.generateSyncApiMethod(c))
372
+ .join('\n\n');
373
+
374
+ return `// AUTOGENERATED FILE - DO NOT EDIT
375
+
376
+ import { IMsgpackBackendSync } from '../../bb_backends/interface.js';
377
+ import { Decoder, Encoder } from 'msgpackr';
378
+ import { BBApiException } from '../../bbapi_exception.js';
379
+ ${imports}
380
+
381
+ function msgpackCall(backend: IMsgpackBackendSync, input: any[]) {
382
+ const inputBuffer = new Encoder({ useRecords: false }).pack(input);
383
+ const encodedResult = backend.call(inputBuffer);
384
+ return new Decoder({ useRecords: false }).unpack(encodedResult);
385
+ }
386
+
387
+ export class SyncApi {
388
+ constructor(protected backend: IMsgpackBackendSync) {}
389
+
390
+ ${methods}
391
+
392
+ destroy(): void {
393
+ if (this.backend.destroy) this.backend.destroy();
394
+ }
395
+ }
396
+ `;
397
+ }
398
+
399
+ // Generate import statement for API files
400
+ private generateApiImports(schema: CompiledSchema): string {
401
+ const types = new Set<string>();
402
+
403
+ // Add command types and their conversion functions
404
+ for (const cmd of schema.commands) {
405
+ const cmdType = toPascalCase(cmd.name);
406
+ const respType = toPascalCase(cmd.responseType);
407
+ types.add(cmdType);
408
+ types.add(respType);
409
+ types.add(`from${cmdType}`);
410
+ types.add(`to${respType}`);
411
+ }
412
+
413
+ // Add BbApiBase
414
+ types.add('BbApiBase');
415
+
416
+ const sortedTypes = Array.from(types).sort();
417
+ return `import { ${sortedTypes.join(', ')} } from './api_types.js';`;
418
+ }
419
+ }
@@ -0,0 +1,47 @@
1
+ import { NetCrs, fetchWithFallback } from './net_crs.js';
2
+
3
+ // Expected first G1 point from BN254 CRS (generator point with x=1, y=2 in big-endian)
4
+ const BN254_G1_FIRST_ELEMENT = new Uint8Array([
5
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
6
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
7
+ ]);
8
+
9
+ describe('NetCrs', () => {
10
+ it('should download CRS data from primary host', async () => {
11
+ const crs = new NetCrs(1);
12
+ await crs.init();
13
+
14
+ const g1Data = crs.getG1Data();
15
+ expect(g1Data.length).toBe(64); // 1 point * 64 bytes
16
+
17
+ // Verify first point matches expected generator
18
+ expect(g1Data).toEqual(BN254_G1_FIRST_ELEMENT);
19
+ }, 30000);
20
+
21
+ it('should download G2 data', async () => {
22
+ const crs = new NetCrs(1);
23
+ await crs.init();
24
+
25
+ const g2Data = crs.getG2Data();
26
+ expect(g2Data.length).toBe(128); // G2 point is 128 bytes
27
+ }, 30000);
28
+ });
29
+
30
+ describe('fetchWithFallback', () => {
31
+ it('should fallback to secondary URL when primary fails', async () => {
32
+ const badPrimaryUrl = 'https://nonexistent.invalid/g1.dat';
33
+ const goodFallbackUrl = 'https://crs.aztec-labs.com/g1.dat';
34
+ const options: RequestInit = {
35
+ headers: {
36
+ Range: 'bytes=0-63',
37
+ },
38
+ };
39
+
40
+ const response = await fetchWithFallback(badPrimaryUrl, goodFallbackUrl, options);
41
+ expect(response.ok || response.status === 206).toBe(true);
42
+
43
+ const data = new Uint8Array(await response.arrayBuffer());
44
+ expect(data.length).toBe(64);
45
+ expect(data).toEqual(BN254_G1_FIRST_ELEMENT);
46
+ }, 30000);
47
+ });