@aztec/bb.js 3.0.0-nightly.20251025 → 3.0.0-nightly.20251030

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (575) hide show
  1. package/README.md +1 -1
  2. package/package.json +4 -3
  3. package/src/barretenberg/backend.ts +12 -12
  4. package/src/barretenberg/index.ts +1 -1
  5. package/src/barretenberg/poseidon.bench.test.ts +2 -1
  6. package/src/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.ts +4 -4
  7. package/src/bb_backends/wasm.ts +2 -9
  8. package/src/bbapi_exception.ts +13 -0
  9. package/src/cbind/generate.ts +99 -0
  10. package/src/cbind/schema_compiler.ts +25 -3
  11. package/src/index.ts +28 -1
  12. package/src/serialize/index.ts +0 -1
  13. package/src/types/fields.ts +14 -63
  14. package/src/types/point.ts +13 -19
  15. package/dest/browser/async_map/index.d.ts +0 -10
  16. package/dest/browser/async_map/index.d.ts.map +0 -1
  17. package/dest/browser/async_map/index.js +0 -16
  18. package/dest/browser/barretenberg/backend.d.ts +0 -75
  19. package/dest/browser/barretenberg/backend.d.ts.map +0 -1
  20. package/dest/browser/barretenberg/backend.js +0 -301
  21. package/dest/browser/barretenberg/index.d.ts +0 -67
  22. package/dest/browser/barretenberg/index.d.ts.map +0 -1
  23. package/dest/browser/barretenberg/index.js +0 -191
  24. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -45
  25. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
  26. package/dest/browser/barretenberg_wasm/barretenberg_wasm_base/index.js +0 -125
  27. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
  28. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
  29. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +0 -11
  30. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -2
  31. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
  32. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +0 -12
  33. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
  34. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
  35. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +0 -70
  36. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -53
  37. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
  38. package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +0 -170
  39. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
  40. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
  41. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +0 -11
  42. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -2
  43. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
  44. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +0 -12
  45. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -29
  46. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
  47. package/dest/browser/barretenberg_wasm/barretenberg_wasm_thread/index.js +0 -40
  48. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
  49. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
  50. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +0 -2
  51. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
  52. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
  53. package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +0 -2
  54. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
  55. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
  56. package/dest/browser/barretenberg_wasm/fetch_code/browser/index.js +0 -36
  57. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts +0 -2
  58. package/dest/browser/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
  59. package/dest/browser/barretenberg_wasm/fetch_code/index.js +0 -2
  60. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts +0 -13
  61. package/dest/browser/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
  62. package/dest/browser/barretenberg_wasm/helpers/browser/index.js +0 -40
  63. package/dest/browser/barretenberg_wasm/helpers/index.d.ts +0 -2
  64. package/dest/browser/barretenberg_wasm/helpers/index.d.ts.map +0 -1
  65. package/dest/browser/barretenberg_wasm/helpers/index.js +0 -2
  66. package/dest/browser/barretenberg_wasm/index.d.ts +0 -5
  67. package/dest/browser/barretenberg_wasm/index.d.ts.map +0 -1
  68. package/dest/browser/barretenberg_wasm/index.js +0 -16
  69. package/dest/browser/bb_backends/browser/index.d.ts +0 -11
  70. package/dest/browser/bb_backends/browser/index.d.ts.map +0 -1
  71. package/dest/browser/bb_backends/browser/index.js +0 -39
  72. package/dest/browser/bb_backends/index.d.ts +0 -45
  73. package/dest/browser/bb_backends/index.d.ts.map +0 -1
  74. package/dest/browser/bb_backends/index.js +0 -15
  75. package/dest/browser/bb_backends/interface.d.ts +0 -33
  76. package/dest/browser/bb_backends/interface.d.ts.map +0 -1
  77. package/dest/browser/bb_backends/interface.js +0 -2
  78. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts +0 -15
  79. package/dest/browser/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  80. package/dest/browser/bb_backends/sync_to_async_adapter.js +0 -20
  81. package/dest/browser/bb_backends/wasm.d.ts +0 -56
  82. package/dest/browser/bb_backends/wasm.d.ts.map +0 -1
  83. package/dest/browser/bb_backends/wasm.js +0 -90
  84. package/dest/browser/bigint-array/index.d.ts +0 -17
  85. package/dest/browser/bigint-array/index.d.ts.map +0 -1
  86. package/dest/browser/bigint-array/index.js +0 -37
  87. package/dest/browser/cbind/generate.d.ts +0 -5
  88. package/dest/browser/cbind/generate.d.ts.map +0 -1
  89. package/dest/browser/cbind/generate.js +0 -59
  90. package/dest/browser/cbind/generated/api_types.d.ts +0 -1805
  91. package/dest/browser/cbind/generated/api_types.d.ts.map +0 -1
  92. package/dest/browser/cbind/generated/api_types.js +0 -2421
  93. package/dest/browser/cbind/generated/async.d.ts +0 -57
  94. package/dest/browser/cbind/generated/async.d.ts.map +0 -1
  95. package/dest/browser/cbind/generated/async.js +0 -454
  96. package/dest/browser/cbind/generated/sync.d.ts +0 -57
  97. package/dest/browser/cbind/generated/sync.d.ts.map +0 -1
  98. package/dest/browser/cbind/generated/sync.js +0 -406
  99. package/dest/browser/cbind/schema_compiler.d.ts +0 -68
  100. package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
  101. package/dest/browser/cbind/schema_compiler.js +0 -579
  102. package/dest/browser/crs/browser/cached_net_crs.d.ts +0 -43
  103. package/dest/browser/crs/browser/cached_net_crs.d.ts.map +0 -1
  104. package/dest/browser/crs/browser/cached_net_crs.js +0 -90
  105. package/dest/browser/crs/browser/index.d.ts +0 -2
  106. package/dest/browser/crs/browser/index.d.ts.map +0 -1
  107. package/dest/browser/crs/browser/index.js +0 -2
  108. package/dest/browser/crs/index.d.ts +0 -2
  109. package/dest/browser/crs/index.d.ts.map +0 -1
  110. package/dest/browser/crs/index.js +0 -2
  111. package/dest/browser/crs/net_crs.d.ts +0 -85
  112. package/dest/browser/crs/net_crs.d.ts.map +0 -1
  113. package/dest/browser/crs/net_crs.js +0 -136
  114. package/dest/browser/index.d.ts +0 -6
  115. package/dest/browser/index.d.ts.map +0 -1
  116. package/dest/browser/index.js +0 -6
  117. package/dest/browser/log/browser/index.d.ts +0 -6
  118. package/dest/browser/log/browser/index.d.ts.map +0 -1
  119. package/dest/browser/log/browser/index.js +0 -28
  120. package/dest/browser/log/index.d.ts +0 -2
  121. package/dest/browser/log/index.d.ts.map +0 -1
  122. package/dest/browser/log/index.js +0 -2
  123. package/dest/browser/log/types.d.ts +0 -6
  124. package/dest/browser/log/types.d.ts.map +0 -1
  125. package/dest/browser/log/types.js +0 -2
  126. package/dest/browser/proof/index.d.ts +0 -21
  127. package/dest/browser/proof/index.d.ts.map +0 -1
  128. package/dest/browser/proof/index.js +0 -63
  129. package/dest/browser/random/browser/index.d.ts +0 -2
  130. package/dest/browser/random/browser/index.d.ts.map +0 -1
  131. package/dest/browser/random/browser/index.js +0 -31
  132. package/dest/browser/random/index.d.ts +0 -2
  133. package/dest/browser/random/index.d.ts.map +0 -1
  134. package/dest/browser/random/index.js +0 -2
  135. package/dest/browser/retry/index.d.ts +0 -26
  136. package/dest/browser/retry/index.d.ts.map +0 -1
  137. package/dest/browser/retry/index.js +0 -50
  138. package/dest/browser/serialize/buffer_reader.d.ts +0 -28
  139. package/dest/browser/serialize/buffer_reader.d.ts.map +0 -1
  140. package/dest/browser/serialize/buffer_reader.js +0 -66
  141. package/dest/browser/serialize/index.d.ts +0 -3
  142. package/dest/browser/serialize/index.d.ts.map +0 -1
  143. package/dest/browser/serialize/index.js +0 -3
  144. package/dest/browser/serialize/serialize.d.ts +0 -18
  145. package/dest/browser/serialize/serialize.d.ts.map +0 -1
  146. package/dest/browser/serialize/serialize.js +0 -72
  147. package/dest/browser/types/fields.d.ts +0 -43
  148. package/dest/browser/types/fields.d.ts.map +0 -1
  149. package/dest/browser/types/fields.js +0 -102
  150. package/dest/browser/types/index.d.ts +0 -3
  151. package/dest/browser/types/index.d.ts.map +0 -1
  152. package/dest/browser/types/index.js +0 -3
  153. package/dest/browser/types/point.d.ts +0 -16
  154. package/dest/browser/types/point.d.ts.map +0 -1
  155. package/dest/browser/types/point.js +0 -31
  156. package/dest/node/async_map/index.d.ts +0 -10
  157. package/dest/node/async_map/index.d.ts.map +0 -1
  158. package/dest/node/async_map/index.js +0 -16
  159. package/dest/node/barretenberg/__snapshots__/pedersen.test.js.snap +0 -156
  160. package/dest/node/barretenberg/__snapshots__/poseidon.test.js.snap +0 -40
  161. package/dest/node/barretenberg/backend.d.ts +0 -75
  162. package/dest/node/barretenberg/backend.d.ts.map +0 -1
  163. package/dest/node/barretenberg/backend.js +0 -301
  164. package/dest/node/barretenberg/blake2s.test.d.ts +0 -2
  165. package/dest/node/barretenberg/blake2s.test.d.ts.map +0 -1
  166. package/dest/node/barretenberg/blake2s.test.js +0 -57
  167. package/dest/node/barretenberg/index.d.ts +0 -67
  168. package/dest/node/barretenberg/index.d.ts.map +0 -1
  169. package/dest/node/barretenberg/index.js +0 -191
  170. package/dest/node/barretenberg/pedersen.test.d.ts +0 -2
  171. package/dest/node/barretenberg/pedersen.test.d.ts.map +0 -1
  172. package/dest/node/barretenberg/pedersen.test.js +0 -62
  173. package/dest/node/barretenberg/poseidon.bench.test.d.ts +0 -2
  174. package/dest/node/barretenberg/poseidon.bench.test.d.ts.map +0 -1
  175. package/dest/node/barretenberg/poseidon.bench.test.js +0 -216
  176. package/dest/node/barretenberg/poseidon.test.d.ts +0 -2
  177. package/dest/node/barretenberg/poseidon.test.d.ts.map +0 -1
  178. package/dest/node/barretenberg/poseidon.test.js +0 -35
  179. package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  180. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -45
  181. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
  182. package/dest/node/barretenberg_wasm/barretenberg_wasm_base/index.js +0 -125
  183. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
  184. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
  185. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +0 -11
  186. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -2
  187. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
  188. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +0 -12
  189. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -3
  190. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +0 -1
  191. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +0 -21
  192. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +0 -2
  193. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +0 -1
  194. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +0 -16
  195. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
  196. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
  197. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +0 -70
  198. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -53
  199. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
  200. package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +0 -170
  201. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
  202. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
  203. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +0 -11
  204. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -2
  205. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
  206. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +0 -12
  207. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -3
  208. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +0 -1
  209. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +0 -21
  210. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +0 -2
  211. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +0 -1
  212. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +0 -16
  213. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -29
  214. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
  215. package/dest/node/barretenberg_wasm/barretenberg_wasm_thread/index.js +0 -40
  216. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
  217. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
  218. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +0 -3
  219. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
  220. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
  221. package/dest/node/barretenberg_wasm/fetch_code/browser/barretenberg.js +0 -3
  222. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
  223. package/dest/node/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
  224. package/dest/node/barretenberg_wasm/fetch_code/browser/index.js +0 -36
  225. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts +0 -2
  226. package/dest/node/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
  227. package/dest/node/barretenberg_wasm/fetch_code/index.js +0 -2
  228. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts +0 -2
  229. package/dest/node/barretenberg_wasm/fetch_code/node/index.d.ts.map +0 -1
  230. package/dest/node/barretenberg_wasm/fetch_code/node/index.js +0 -35
  231. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts +0 -13
  232. package/dest/node/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
  233. package/dest/node/barretenberg_wasm/helpers/browser/index.js +0 -40
  234. package/dest/node/barretenberg_wasm/helpers/index.d.ts +0 -2
  235. package/dest/node/barretenberg_wasm/helpers/index.d.ts.map +0 -1
  236. package/dest/node/barretenberg_wasm/helpers/index.js +0 -2
  237. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts +0 -22
  238. package/dest/node/barretenberg_wasm/helpers/node/index.d.ts.map +0 -1
  239. package/dest/node/barretenberg_wasm/helpers/node/index.js +0 -48
  240. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts +0 -8
  241. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +0 -1
  242. package/dest/node/barretenberg_wasm/helpers/node/node_endpoint.js +0 -28
  243. package/dest/node/barretenberg_wasm/index.d.ts +0 -5
  244. package/dest/node/barretenberg_wasm/index.d.ts.map +0 -1
  245. package/dest/node/barretenberg_wasm/index.js +0 -16
  246. package/dest/node/barretenberg_wasm/index.test.d.ts +0 -2
  247. package/dest/node/barretenberg_wasm/index.test.d.ts.map +0 -1
  248. package/dest/node/barretenberg_wasm/index.test.js +0 -39
  249. package/dest/node/bb_backends/browser/index.d.ts +0 -11
  250. package/dest/node/bb_backends/browser/index.d.ts.map +0 -1
  251. package/dest/node/bb_backends/browser/index.js +0 -39
  252. package/dest/node/bb_backends/index.d.ts +0 -45
  253. package/dest/node/bb_backends/index.d.ts.map +0 -1
  254. package/dest/node/bb_backends/index.js +0 -15
  255. package/dest/node/bb_backends/interface.d.ts +0 -33
  256. package/dest/node/bb_backends/interface.d.ts.map +0 -1
  257. package/dest/node/bb_backends/interface.js +0 -2
  258. package/dest/node/bb_backends/node/index.d.ts +0 -11
  259. package/dest/node/bb_backends/node/index.d.ts.map +0 -1
  260. package/dest/node/bb_backends/node/index.js +0 -80
  261. package/dest/node/bb_backends/node/native_pipe.d.ts +0 -25
  262. package/dest/node/bb_backends/node/native_pipe.d.ts.map +0 -1
  263. package/dest/node/bb_backends/node/native_pipe.js +0 -113
  264. package/dest/node/bb_backends/node/native_shm.d.ts +0 -28
  265. package/dest/node/bb_backends/node/native_shm.d.ts.map +0 -1
  266. package/dest/node/bb_backends/node/native_shm.js +0 -150
  267. package/dest/node/bb_backends/node/native_socket.d.ts +0 -34
  268. package/dest/node/bb_backends/node/native_socket.d.ts.map +0 -1
  269. package/dest/node/bb_backends/node/native_socket.js +0 -269
  270. package/dest/node/bb_backends/node/platform.d.ts +0 -27
  271. package/dest/node/bb_backends/node/platform.d.ts.map +0 -1
  272. package/dest/node/bb_backends/node/platform.js +0 -124
  273. package/dest/node/bb_backends/sync_to_async_adapter.d.ts +0 -15
  274. package/dest/node/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  275. package/dest/node/bb_backends/sync_to_async_adapter.js +0 -20
  276. package/dest/node/bb_backends/wasm.d.ts +0 -56
  277. package/dest/node/bb_backends/wasm.d.ts.map +0 -1
  278. package/dest/node/bb_backends/wasm.js +0 -90
  279. package/dest/node/benchmark/index.d.ts +0 -3
  280. package/dest/node/benchmark/index.d.ts.map +0 -1
  281. package/dest/node/benchmark/index.js +0 -25
  282. package/dest/node/benchmark/timer.d.ts +0 -34
  283. package/dest/node/benchmark/timer.d.ts.map +0 -1
  284. package/dest/node/benchmark/timer.js +0 -41
  285. package/dest/node/bigint-array/index.d.ts +0 -17
  286. package/dest/node/bigint-array/index.d.ts.map +0 -1
  287. package/dest/node/bigint-array/index.js +0 -37
  288. package/dest/node/cbind/generate.d.ts +0 -5
  289. package/dest/node/cbind/generate.d.ts.map +0 -1
  290. package/dest/node/cbind/generate.js +0 -59
  291. package/dest/node/cbind/generated/api_types.d.ts +0 -1805
  292. package/dest/node/cbind/generated/api_types.d.ts.map +0 -1
  293. package/dest/node/cbind/generated/api_types.js +0 -2421
  294. package/dest/node/cbind/generated/async.d.ts +0 -57
  295. package/dest/node/cbind/generated/async.d.ts.map +0 -1
  296. package/dest/node/cbind/generated/async.js +0 -454
  297. package/dest/node/cbind/generated/sync.d.ts +0 -57
  298. package/dest/node/cbind/generated/sync.d.ts.map +0 -1
  299. package/dest/node/cbind/generated/sync.js +0 -406
  300. package/dest/node/cbind/schema_compiler.d.ts +0 -68
  301. package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
  302. package/dest/node/cbind/schema_compiler.js +0 -579
  303. package/dest/node/crs/browser/cached_net_crs.d.ts +0 -43
  304. package/dest/node/crs/browser/cached_net_crs.d.ts.map +0 -1
  305. package/dest/node/crs/browser/cached_net_crs.js +0 -90
  306. package/dest/node/crs/browser/index.d.ts +0 -2
  307. package/dest/node/crs/browser/index.d.ts.map +0 -1
  308. package/dest/node/crs/browser/index.js +0 -2
  309. package/dest/node/crs/index.d.ts +0 -2
  310. package/dest/node/crs/index.d.ts.map +0 -1
  311. package/dest/node/crs/index.js +0 -2
  312. package/dest/node/crs/net_crs.d.ts +0 -85
  313. package/dest/node/crs/net_crs.d.ts.map +0 -1
  314. package/dest/node/crs/net_crs.js +0 -136
  315. package/dest/node/crs/node/index.d.ts +0 -38
  316. package/dest/node/crs/node/index.d.ts.map +0 -1
  317. package/dest/node/crs/node/index.js +0 -102
  318. package/dest/node/index.d.ts +0 -6
  319. package/dest/node/index.d.ts.map +0 -1
  320. package/dest/node/index.js +0 -6
  321. package/dest/node/log/browser/index.d.ts +0 -6
  322. package/dest/node/log/browser/index.d.ts.map +0 -1
  323. package/dest/node/log/browser/index.js +0 -28
  324. package/dest/node/log/index.d.ts +0 -2
  325. package/dest/node/log/index.d.ts.map +0 -1
  326. package/dest/node/log/index.js +0 -2
  327. package/dest/node/log/node/index.d.ts +0 -6
  328. package/dest/node/log/node/index.d.ts.map +0 -1
  329. package/dest/node/log/node/index.js +0 -40
  330. package/dest/node/log/types.d.ts +0 -6
  331. package/dest/node/log/types.d.ts.map +0 -1
  332. package/dest/node/log/types.js +0 -2
  333. package/dest/node/proof/index.d.ts +0 -21
  334. package/dest/node/proof/index.d.ts.map +0 -1
  335. package/dest/node/proof/index.js +0 -63
  336. package/dest/node/random/browser/index.d.ts +0 -2
  337. package/dest/node/random/browser/index.d.ts.map +0 -1
  338. package/dest/node/random/browser/index.js +0 -31
  339. package/dest/node/random/index.d.ts +0 -2
  340. package/dest/node/random/index.d.ts.map +0 -1
  341. package/dest/node/random/index.js +0 -2
  342. package/dest/node/random/node/index.d.ts +0 -2
  343. package/dest/node/random/node/index.d.ts.map +0 -1
  344. package/dest/node/random/node/index.js +0 -5
  345. package/dest/node/retry/index.d.ts +0 -26
  346. package/dest/node/retry/index.d.ts.map +0 -1
  347. package/dest/node/retry/index.js +0 -50
  348. package/dest/node/serialize/buffer_reader.d.ts +0 -28
  349. package/dest/node/serialize/buffer_reader.d.ts.map +0 -1
  350. package/dest/node/serialize/buffer_reader.js +0 -66
  351. package/dest/node/serialize/index.d.ts +0 -3
  352. package/dest/node/serialize/index.d.ts.map +0 -1
  353. package/dest/node/serialize/index.js +0 -3
  354. package/dest/node/serialize/serialize.d.ts +0 -18
  355. package/dest/node/serialize/serialize.d.ts.map +0 -1
  356. package/dest/node/serialize/serialize.js +0 -72
  357. package/dest/node/types/fields.d.ts +0 -43
  358. package/dest/node/types/fields.d.ts.map +0 -1
  359. package/dest/node/types/fields.js +0 -102
  360. package/dest/node/types/index.d.ts +0 -3
  361. package/dest/node/types/index.d.ts.map +0 -1
  362. package/dest/node/types/index.js +0 -3
  363. package/dest/node/types/point.d.ts +0 -16
  364. package/dest/node/types/point.d.ts.map +0 -1
  365. package/dest/node/types/point.js +0 -31
  366. package/dest/node-cjs/async_map/index.d.ts +0 -10
  367. package/dest/node-cjs/async_map/index.d.ts.map +0 -1
  368. package/dest/node-cjs/async_map/index.js +0 -19
  369. package/dest/node-cjs/barretenberg/backend.d.ts +0 -75
  370. package/dest/node-cjs/barretenberg/backend.d.ts.map +0 -1
  371. package/dest/node-cjs/barretenberg/backend.js +0 -308
  372. package/dest/node-cjs/barretenberg/blake2s.test.d.ts +0 -2
  373. package/dest/node-cjs/barretenberg/blake2s.test.d.ts.map +0 -1
  374. package/dest/node-cjs/barretenberg/blake2s.test.js +0 -59
  375. package/dest/node-cjs/barretenberg/index.d.ts +0 -67
  376. package/dest/node-cjs/barretenberg/index.d.ts.map +0 -1
  377. package/dest/node-cjs/barretenberg/index.js +0 -200
  378. package/dest/node-cjs/barretenberg/pedersen.test.d.ts +0 -2
  379. package/dest/node-cjs/barretenberg/pedersen.test.d.ts.map +0 -1
  380. package/dest/node-cjs/barretenberg/pedersen.test.js +0 -64
  381. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts +0 -2
  382. package/dest/node-cjs/barretenberg/poseidon.bench.test.d.ts.map +0 -1
  383. package/dest/node-cjs/barretenberg/poseidon.bench.test.js +0 -218
  384. package/dest/node-cjs/barretenberg/poseidon.test.d.ts +0 -2
  385. package/dest/node-cjs/barretenberg/poseidon.test.d.ts.map +0 -1
  386. package/dest/node-cjs/barretenberg/poseidon.test.js +0 -37
  387. package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
  388. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts +0 -45
  389. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.d.ts.map +0 -1
  390. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_base/index.js +0 -129
  391. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts +0 -2
  392. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.d.ts.map +0 -1
  393. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/index.js +0 -14
  394. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts +0 -2
  395. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.d.ts.map +0 -1
  396. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/browser/main.worker.js +0 -14
  397. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts +0 -3
  398. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.d.ts.map +0 -1
  399. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/index.js +0 -24
  400. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts +0 -2
  401. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.d.ts.map +0 -1
  402. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/factory/node/main.worker.js +0 -18
  403. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts +0 -21
  404. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.d.ts.map +0 -1
  405. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/heap_allocator.js +0 -74
  406. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts +0 -53
  407. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.d.ts.map +0 -1
  408. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +0 -174
  409. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts +0 -2
  410. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.d.ts.map +0 -1
  411. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/index.js +0 -14
  412. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts +0 -2
  413. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.d.ts.map +0 -1
  414. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/browser/thread.worker.js +0 -14
  415. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts +0 -3
  416. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.d.ts.map +0 -1
  417. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/index.js +0 -24
  418. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts +0 -2
  419. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.d.ts.map +0 -1
  420. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/factory/node/thread.worker.js +0 -18
  421. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts +0 -29
  422. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.d.ts.map +0 -1
  423. package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_thread/index.js +0 -44
  424. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts +0 -3
  425. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.d.ts.map +0 -1
  426. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +0 -6
  427. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts +0 -3
  428. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.d.ts.map +0 -1
  429. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/barretenberg.js +0 -6
  430. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts +0 -2
  431. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.d.ts.map +0 -1
  432. package/dest/node-cjs/barretenberg_wasm/fetch_code/browser/index.js +0 -40
  433. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts +0 -2
  434. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.d.ts.map +0 -1
  435. package/dest/node-cjs/barretenberg_wasm/fetch_code/index.js +0 -5
  436. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts +0 -2
  437. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.d.ts.map +0 -1
  438. package/dest/node-cjs/barretenberg_wasm/fetch_code/node/index.js +0 -39
  439. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts +0 -13
  440. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.d.ts.map +0 -1
  441. package/dest/node-cjs/barretenberg_wasm/helpers/browser/index.js +0 -50
  442. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts +0 -2
  443. package/dest/node-cjs/barretenberg_wasm/helpers/index.d.ts.map +0 -1
  444. package/dest/node-cjs/barretenberg_wasm/helpers/index.js +0 -5
  445. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts +0 -22
  446. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.d.ts.map +0 -1
  447. package/dest/node-cjs/barretenberg_wasm/helpers/node/index.js +0 -57
  448. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts +0 -8
  449. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.d.ts.map +0 -1
  450. package/dest/node-cjs/barretenberg_wasm/helpers/node/node_endpoint.js +0 -31
  451. package/dest/node-cjs/barretenberg_wasm/index.d.ts +0 -5
  452. package/dest/node-cjs/barretenberg_wasm/index.d.ts.map +0 -1
  453. package/dest/node-cjs/barretenberg_wasm/index.js +0 -19
  454. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts +0 -2
  455. package/dest/node-cjs/barretenberg_wasm/index.test.d.ts.map +0 -1
  456. package/dest/node-cjs/barretenberg_wasm/index.test.js +0 -41
  457. package/dest/node-cjs/bb_backends/browser/index.d.ts +0 -11
  458. package/dest/node-cjs/bb_backends/browser/index.d.ts.map +0 -1
  459. package/dest/node-cjs/bb_backends/browser/index.js +0 -43
  460. package/dest/node-cjs/bb_backends/index.d.ts +0 -45
  461. package/dest/node-cjs/bb_backends/index.d.ts.map +0 -1
  462. package/dest/node-cjs/bb_backends/index.js +0 -18
  463. package/dest/node-cjs/bb_backends/interface.d.ts +0 -33
  464. package/dest/node-cjs/bb_backends/interface.d.ts.map +0 -1
  465. package/dest/node-cjs/bb_backends/interface.js +0 -3
  466. package/dest/node-cjs/bb_backends/node/index.d.ts +0 -11
  467. package/dest/node-cjs/bb_backends/node/index.d.ts.map +0 -1
  468. package/dest/node-cjs/bb_backends/node/index.js +0 -84
  469. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts +0 -25
  470. package/dest/node-cjs/bb_backends/node/native_pipe.d.ts.map +0 -1
  471. package/dest/node-cjs/bb_backends/node/native_pipe.js +0 -117
  472. package/dest/node-cjs/bb_backends/node/native_shm.d.ts +0 -28
  473. package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +0 -1
  474. package/dest/node-cjs/bb_backends/node/native_shm.js +0 -154
  475. package/dest/node-cjs/bb_backends/node/native_socket.d.ts +0 -34
  476. package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +0 -1
  477. package/dest/node-cjs/bb_backends/node/native_socket.js +0 -274
  478. package/dest/node-cjs/bb_backends/node/platform.d.ts +0 -27
  479. package/dest/node-cjs/bb_backends/node/platform.d.ts.map +0 -1
  480. package/dest/node-cjs/bb_backends/node/platform.js +0 -131
  481. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts +0 -15
  482. package/dest/node-cjs/bb_backends/sync_to_async_adapter.d.ts.map +0 -1
  483. package/dest/node-cjs/bb_backends/sync_to_async_adapter.js +0 -24
  484. package/dest/node-cjs/bb_backends/wasm.d.ts +0 -56
  485. package/dest/node-cjs/bb_backends/wasm.d.ts.map +0 -1
  486. package/dest/node-cjs/bb_backends/wasm.js +0 -95
  487. package/dest/node-cjs/benchmark/index.d.ts +0 -3
  488. package/dest/node-cjs/benchmark/index.d.ts.map +0 -1
  489. package/dest/node-cjs/benchmark/index.js +0 -29
  490. package/dest/node-cjs/benchmark/timer.d.ts +0 -34
  491. package/dest/node-cjs/benchmark/timer.d.ts.map +0 -1
  492. package/dest/node-cjs/benchmark/timer.js +0 -45
  493. package/dest/node-cjs/bigint-array/index.d.ts +0 -17
  494. package/dest/node-cjs/bigint-array/index.d.ts.map +0 -1
  495. package/dest/node-cjs/bigint-array/index.js +0 -43
  496. package/dest/node-cjs/cbind/generate.d.ts +0 -5
  497. package/dest/node-cjs/cbind/generate.d.ts.map +0 -1
  498. package/dest/node-cjs/cbind/generate.js +0 -61
  499. package/dest/node-cjs/cbind/generated/api_types.d.ts +0 -1805
  500. package/dest/node-cjs/cbind/generated/api_types.d.ts.map +0 -1
  501. package/dest/node-cjs/cbind/generated/api_types.js +0 -2633
  502. package/dest/node-cjs/cbind/generated/async.d.ts +0 -57
  503. package/dest/node-cjs/cbind/generated/async.d.ts.map +0 -1
  504. package/dest/node-cjs/cbind/generated/async.js +0 -458
  505. package/dest/node-cjs/cbind/generated/sync.d.ts +0 -57
  506. package/dest/node-cjs/cbind/generated/sync.d.ts.map +0 -1
  507. package/dest/node-cjs/cbind/generated/sync.js +0 -410
  508. package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
  509. package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
  510. package/dest/node-cjs/cbind/schema_compiler.js +0 -586
  511. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts +0 -43
  512. package/dest/node-cjs/crs/browser/cached_net_crs.d.ts.map +0 -1
  513. package/dest/node-cjs/crs/browser/cached_net_crs.js +0 -95
  514. package/dest/node-cjs/crs/browser/index.d.ts +0 -2
  515. package/dest/node-cjs/crs/browser/index.d.ts.map +0 -1
  516. package/dest/node-cjs/crs/browser/index.js +0 -7
  517. package/dest/node-cjs/crs/index.d.ts +0 -2
  518. package/dest/node-cjs/crs/index.d.ts.map +0 -1
  519. package/dest/node-cjs/crs/index.js +0 -7
  520. package/dest/node-cjs/crs/net_crs.d.ts +0 -85
  521. package/dest/node-cjs/crs/net_crs.d.ts.map +0 -1
  522. package/dest/node-cjs/crs/net_crs.js +0 -141
  523. package/dest/node-cjs/crs/node/index.d.ts +0 -38
  524. package/dest/node-cjs/crs/node/index.d.ts.map +0 -1
  525. package/dest/node-cjs/crs/node/index.js +0 -107
  526. package/dest/node-cjs/index.d.ts +0 -6
  527. package/dest/node-cjs/index.d.ts.map +0 -1
  528. package/dest/node-cjs/index.js +0 -22
  529. package/dest/node-cjs/log/browser/index.d.ts +0 -6
  530. package/dest/node-cjs/log/browser/index.d.ts.map +0 -1
  531. package/dest/node-cjs/log/browser/index.js +0 -30
  532. package/dest/node-cjs/log/index.d.ts +0 -2
  533. package/dest/node-cjs/log/index.d.ts.map +0 -1
  534. package/dest/node-cjs/log/index.js +0 -8
  535. package/dest/node-cjs/log/node/index.d.ts +0 -6
  536. package/dest/node-cjs/log/node/index.d.ts.map +0 -1
  537. package/dest/node-cjs/log/node/index.js +0 -42
  538. package/dest/node-cjs/log/types.d.ts +0 -6
  539. package/dest/node-cjs/log/types.d.ts.map +0 -1
  540. package/dest/node-cjs/log/types.js +0 -3
  541. package/dest/node-cjs/package.json +0 -3
  542. package/dest/node-cjs/proof/index.d.ts +0 -21
  543. package/dest/node-cjs/proof/index.d.ts.map +0 -1
  544. package/dest/node-cjs/proof/index.js +0 -72
  545. package/dest/node-cjs/random/browser/index.d.ts +0 -2
  546. package/dest/node-cjs/random/browser/index.d.ts.map +0 -1
  547. package/dest/node-cjs/random/browser/index.js +0 -35
  548. package/dest/node-cjs/random/index.d.ts +0 -2
  549. package/dest/node-cjs/random/index.d.ts.map +0 -1
  550. package/dest/node-cjs/random/index.js +0 -5
  551. package/dest/node-cjs/random/node/index.d.ts +0 -2
  552. package/dest/node-cjs/random/node/index.d.ts.map +0 -1
  553. package/dest/node-cjs/random/node/index.js +0 -8
  554. package/dest/node-cjs/retry/index.d.ts +0 -26
  555. package/dest/node-cjs/retry/index.d.ts.map +0 -1
  556. package/dest/node-cjs/retry/index.js +0 -55
  557. package/dest/node-cjs/serialize/buffer_reader.d.ts +0 -28
  558. package/dest/node-cjs/serialize/buffer_reader.d.ts.map +0 -1
  559. package/dest/node-cjs/serialize/buffer_reader.js +0 -70
  560. package/dest/node-cjs/serialize/index.d.ts +0 -3
  561. package/dest/node-cjs/serialize/index.d.ts.map +0 -1
  562. package/dest/node-cjs/serialize/index.js +0 -6
  563. package/dest/node-cjs/serialize/serialize.d.ts +0 -18
  564. package/dest/node-cjs/serialize/serialize.d.ts.map +0 -1
  565. package/dest/node-cjs/serialize/serialize.js +0 -82
  566. package/dest/node-cjs/types/fields.d.ts +0 -43
  567. package/dest/node-cjs/types/fields.d.ts.map +0 -1
  568. package/dest/node-cjs/types/fields.js +0 -107
  569. package/dest/node-cjs/types/index.d.ts +0 -3
  570. package/dest/node-cjs/types/index.d.ts.map +0 -1
  571. package/dest/node-cjs/types/index.js +0 -6
  572. package/dest/node-cjs/types/point.d.ts +0 -16
  573. package/dest/node-cjs/types/point.d.ts.map +0 -1
  574. package/dest/node-cjs/types/point.js +0 -35
  575. package/src/serialize/buffer_reader.ts +0 -85
@@ -1,579 +0,0 @@
1
- /**
2
- * Unified schema compiler with integrated strategies
3
- */
4
- // Helper functions
5
- function capitalize(s) {
6
- return s.charAt(0).toUpperCase() + s.substring(1);
7
- }
8
- function camelCase(s) {
9
- return s
10
- .split('_')
11
- .map((part, index) => (index === 0 ? part.charAt(0).toLowerCase() + part.substring(1) : capitalize(part)))
12
- .join('');
13
- }
14
- function pascalCase(s) {
15
- return s.split('_').map(capitalize).join('');
16
- }
17
- export class SchemaCompiler {
18
- constructor(config) {
19
- this.config = config;
20
- this.typeCache = new Map();
21
- this.functionMetadata = [];
22
- // WORKTODO(bbapi): AI slop fixup - redundant with typeCache, remove
23
- this.referencedTypes = new Set();
24
- }
25
- /**
26
- * Process API schema and extract function metadata
27
- */
28
- processApiSchema(commandsSchema, responsesSchema) {
29
- // Process types
30
- this.processSchema(commandsSchema);
31
- this.processSchema(responsesSchema);
32
- // Extract function metadata from named unions
33
- if (!Array.isArray(commandsSchema) ||
34
- commandsSchema[0] !== 'named_union' ||
35
- !Array.isArray(responsesSchema) ||
36
- responsesSchema[0] !== 'named_union') {
37
- throw new Error('Expected named_union schema format');
38
- }
39
- const commands = commandsSchema[1];
40
- const responses = responsesSchema[1];
41
- for (let i = 0; i < commands.length; i++) {
42
- const [commandName] = commands[i];
43
- const [responseName] = responses[i];
44
- this.functionMetadata.push({
45
- name: camelCase(commandName),
46
- commandType: pascalCase(commandName),
47
- responseType: pascalCase(responseName),
48
- });
49
- }
50
- }
51
- /**
52
- * Process a schema and populate type cache
53
- */
54
- processSchema(schema) {
55
- const key = this.getSchemaKey(schema);
56
- if (this.typeCache.has(key)) {
57
- const ret = this.typeCache.get(key);
58
- if (ret.typeName === 'unknown') {
59
- throw new Error(`Recursive schema detected at ${key}, please check your schema for circular references.`);
60
- }
61
- return ret;
62
- }
63
- this.typeCache.set(key, { typeName: 'unknown', msgpackTypeName: '' });
64
- const typeInfo = this.generateTypeInfo(schema);
65
- this.typeCache.set(key, typeInfo);
66
- return typeInfo;
67
- }
68
- /**
69
- * Generate the complete output
70
- */
71
- compile() {
72
- const parts = ['// AUTOGENERATED FILE - DO NOT EDIT', ''];
73
- // Generate imports
74
- parts.push(...this.generateImports());
75
- parts.push('');
76
- // Generate type declarations only for 'types' mode
77
- if (this.config.mode === 'types') {
78
- const sortedTypes = Array.from(this.typeCache.values())
79
- .filter(t => t.declaration)
80
- .sort((a, b) => a.typeName.localeCompare(b.typeName));
81
- // Group declarations
82
- const typeAliases = sortedTypes.filter(t => t.declaration?.startsWith('export type') && !t.declaration?.includes('interface'));
83
- const publicInterfaces = sortedTypes.filter(t => t.declaration?.includes('export interface'));
84
- const privateInterfaces = sortedTypes.filter(t => t.declaration?.includes('interface Msgpack'));
85
- // Add type aliases if needed
86
- if (typeAliases.length > 0) {
87
- parts.push('// Type aliases');
88
- for (const type of typeAliases) {
89
- parts.push(type.declaration);
90
- }
91
- parts.push('');
92
- }
93
- // Add tuple helper if needed
94
- if (this.needsTupleHelper()) {
95
- parts.push('// Tuple type for fixed-size arrays', 'type Tuple<T, N extends number> = N extends N ? (number extends N ? T[] : _TupleOf<T, N, []>) : never;', "type _TupleOf<T, N extends number, R extends unknown[]> = R['length'] extends N ? R : _TupleOf<T, N, [T, ...R]>;", '', '// Helper functions', 'function mapTuple<T, S, N extends number>(tuple: Tuple<T, N>, fn: (item: T) => S): Tuple<S, N> {', ' return tuple.map(fn) as Tuple<S, N>;', '}', '');
96
- }
97
- // Add public interfaces
98
- if (publicInterfaces.length > 0) {
99
- parts.push('// Public interfaces (exported)');
100
- for (const type of publicInterfaces) {
101
- parts.push(type.declaration, '');
102
- }
103
- }
104
- // Add private interfaces
105
- if (privateInterfaces.length > 0) {
106
- parts.push('// Private Msgpack interfaces (not exported)');
107
- for (const type of privateInterfaces) {
108
- parts.push(type.declaration, '');
109
- }
110
- }
111
- // Add conversion functions (only for api_types.ts)
112
- const conversions = sortedTypes.filter(t => t.toMethod || t.fromMethod);
113
- if (conversions.length > 0) {
114
- parts.push('// Conversion functions (exported)');
115
- for (const type of conversions) {
116
- if (type.toMethod) {
117
- parts.push('export ' + type.toMethod, '');
118
- }
119
- if (type.fromMethod) {
120
- parts.push('export ' + type.fromMethod, '');
121
- }
122
- }
123
- }
124
- // Add BbApiBase interface
125
- if (this.functionMetadata.length > 0) {
126
- parts.push('', '// Base API interface');
127
- parts.push(this.generateBbApiBaseInterface());
128
- }
129
- }
130
- // Add API class for non-types modes
131
- if (this.config.mode !== 'types' && this.functionMetadata.length > 0) {
132
- parts.push(this.generateApiClass());
133
- }
134
- return parts.join('\n') + '\n';
135
- }
136
- getSchemaKey(schema) {
137
- if (typeof schema === 'string')
138
- return schema;
139
- if (Array.isArray(schema))
140
- return JSON.stringify(schema);
141
- if (typeof schema === 'object')
142
- return schema.__typename || JSON.stringify(schema);
143
- return String(schema);
144
- }
145
- needsTupleHelper() {
146
- return Array.from(this.typeCache.values()).some(t => t.typeName.includes('Tuple<'));
147
- }
148
- trackTypeUsage(typeName) {
149
- // Only track for API modes
150
- if (this.config.mode === 'types')
151
- return;
152
- // Extract base types from complex types
153
- const baseTypes = this.extractBaseTypes(typeName);
154
- for (const type of baseTypes) {
155
- // Skip built-in types
156
- if (['string', 'number', 'boolean', 'Uint8Array'].includes(type)) {
157
- continue;
158
- }
159
- this.referencedTypes.add(type);
160
- }
161
- }
162
- extractBaseTypes(typeName) {
163
- const types = [];
164
- // Handle arrays
165
- const arrayMatch = typeName.match(/^(.+)\[\]$/);
166
- if (arrayMatch) {
167
- types.push(...this.extractBaseTypes(arrayMatch[1]));
168
- return types;
169
- }
170
- // Handle Tuple
171
- const tupleMatch = typeName.match(/^Tuple<(.+),\s*\d+>$/);
172
- if (tupleMatch) {
173
- types.push(...this.extractBaseTypes(tupleMatch[1]));
174
- return types;
175
- }
176
- // Handle Record
177
- const recordMatch = typeName.match(/^Record<(.+),\s*(.+)>$/);
178
- if (recordMatch) {
179
- types.push(...this.extractBaseTypes(recordMatch[1]));
180
- types.push(...this.extractBaseTypes(recordMatch[2]));
181
- return types;
182
- }
183
- // Handle union types
184
- if (typeName.includes(' | ')) {
185
- const parts = typeName.split(' | ');
186
- for (const part of parts) {
187
- types.push(...this.extractBaseTypes(part.trim()));
188
- }
189
- return types;
190
- }
191
- // Base case - simple type
192
- types.push(typeName);
193
- return types;
194
- }
195
- generateTypeInfo(schema) {
196
- if (Array.isArray(schema)) {
197
- return this.processArraySchema(schema);
198
- }
199
- else if (typeof schema === 'string') {
200
- return this.processPrimitiveSchema(schema);
201
- }
202
- else if (typeof schema === 'object') {
203
- return this.processObjectSchema(schema);
204
- }
205
- throw new Error(`Unsupported schema type: ${schema}`);
206
- }
207
- processArraySchema(schema) {
208
- const [type, ...args] = schema;
209
- switch (type) {
210
- case 'array': {
211
- const [subtype, size] = args[0];
212
- // Special case: byte arrays should be Uint8Array
213
- if (subtype === 'unsigned char') {
214
- return { typeName: 'Uint8Array' };
215
- }
216
- // For other types, use T[] - idiomatic TypeScript for fixed-length homogeneous arrays
217
- const subtypeInfo = this.processSchema(subtype);
218
- return {
219
- typeName: `${subtypeInfo.typeName}[]`,
220
- msgpackTypeName: `${subtypeInfo.msgpackTypeName || subtypeInfo.typeName}[]`,
221
- };
222
- }
223
- case 'variant': {
224
- const variants = args[0];
225
- const variantInfos = variants.map(v => this.processSchema(v));
226
- const typeName = variantInfos.map(v => v.typeName).join(' | ');
227
- const msgpackUnion = variantInfos.map(v => v.msgpackTypeName || v.typeName).join(' | ');
228
- return {
229
- typeName,
230
- msgpackTypeName: `[number, ${msgpackUnion}]`,
231
- };
232
- }
233
- case 'named_union': {
234
- const namedTypes = args[0];
235
- const tupleTypes = [];
236
- for (const [name, schemaOrName] of namedTypes) {
237
- let typeInfo = this.processSchema(schemaOrName);
238
- // Track usage of the type
239
- this.trackTypeUsage(typeInfo.typeName);
240
- tupleTypes.push(`["${name}", ${typeInfo.typeName}]`);
241
- }
242
- return {
243
- typeName: tupleTypes.join(' | '),
244
- msgpackTypeName: tupleTypes.join(' | '),
245
- };
246
- }
247
- case 'vector': {
248
- const [subtype] = args[0];
249
- if (subtype === 'unsigned char') {
250
- return { typeName: 'Uint8Array' };
251
- }
252
- const subtypeInfo = this.processSchema(subtype);
253
- return {
254
- typeName: `${subtypeInfo.typeName}[]`,
255
- msgpackTypeName: `${subtypeInfo.msgpackTypeName || subtypeInfo.typeName}[]`,
256
- };
257
- }
258
- case 'alias': {
259
- const [rawTypeName, msgpackName] = args[0];
260
- const typeName = pascalCase(rawTypeName);
261
- let targetType;
262
- if (msgpackName.startsWith('bin')) {
263
- targetType = 'Uint8Array';
264
- }
265
- else if (['int', 'unsigned int', 'unsigned short'].includes(msgpackName)) {
266
- targetType = 'number';
267
- }
268
- else {
269
- throw new Error(`Unsupported alias type: ${msgpackName}`);
270
- }
271
- // Create a proper type alias declaration
272
- return {
273
- typeName,
274
- msgpackTypeName: targetType,
275
- declaration: `export type ${typeName} = ${targetType};`,
276
- };
277
- }
278
- case 'shared_ptr': {
279
- const [subtype] = args[0];
280
- return this.processSchema(subtype);
281
- }
282
- case 'map': {
283
- const [keyType, valueType] = args[0];
284
- const keyInfo = this.processSchema(keyType);
285
- const valueInfo = this.processSchema(valueType);
286
- return {
287
- typeName: `Record<${keyInfo.typeName}, ${valueInfo.typeName}>`,
288
- msgpackTypeName: `Record<${keyInfo.msgpackTypeName || keyInfo.typeName}, ${valueInfo.msgpackTypeName || valueInfo.typeName}>`,
289
- };
290
- }
291
- default:
292
- throw new Error(`Unsupported array schema type: ${type}`);
293
- }
294
- }
295
- processPrimitiveSchema(schema) {
296
- switch (schema) {
297
- case 'bool':
298
- return { typeName: 'boolean' };
299
- case 'int':
300
- case 'unsigned int':
301
- case 'unsigned short':
302
- case 'unsigned long':
303
- case 'unsigned char':
304
- case 'double':
305
- return { typeName: 'number' };
306
- case 'string':
307
- return { typeName: 'string' };
308
- case 'bin32':
309
- return { typeName: 'Uint8Array' };
310
- default:
311
- return { typeName: pascalCase(schema) };
312
- }
313
- }
314
- processObjectSchema(schema) {
315
- const typeName = pascalCase(schema.__typename);
316
- const msgpackTypeName = 'Msgpack' + typeName;
317
- const declaration = this.generateInterfaces(typeName, schema);
318
- const toMethod = this.generateToMethod(typeName, schema);
319
- const fromMethod = this.generateFromMethod(typeName, schema);
320
- return {
321
- typeName,
322
- msgpackTypeName,
323
- declaration,
324
- toMethod,
325
- fromMethod,
326
- };
327
- }
328
- getOrCreateEmptyType(typeName) {
329
- const key = `empty_${typeName}`;
330
- if (this.typeCache.has(key)) {
331
- return this.typeCache.get(key);
332
- }
333
- const typeInfo = {
334
- typeName,
335
- msgpackTypeName: 'Msgpack' + typeName,
336
- declaration: `export interface ${typeName} {}\n\ninterface Msgpack${typeName} {}`,
337
- toMethod: `function to${typeName}(o: Msgpack${typeName}): ${typeName} {\n return {};\n}`,
338
- fromMethod: `function from${typeName}(o: ${typeName}): Msgpack${typeName} {\n return {};\n}`,
339
- };
340
- this.typeCache.set(key, typeInfo);
341
- return typeInfo;
342
- }
343
- generateInterfaces(name, schema) {
344
- const publicInterface = this.generatePublicInterface(name, schema);
345
- const msgpackInterface = this.generateMsgpackInterface(name, schema);
346
- return publicInterface + '\n\n' + msgpackInterface;
347
- }
348
- generatePublicInterface(name, schema) {
349
- let result = `export interface ${name} {\n`;
350
- for (const [key, value] of Object.entries(schema)) {
351
- if (key === '__typename')
352
- continue;
353
- const typeInfo = this.processSchema(value);
354
- // Track type usage
355
- this.trackTypeUsage(typeInfo.typeName);
356
- result += ` ${camelCase(key)}: ${typeInfo.typeName};\n`;
357
- }
358
- result += '}';
359
- return result;
360
- }
361
- generateMsgpackInterface(name, schema) {
362
- let result = `interface Msgpack${name} {\n`;
363
- for (const [key, value] of Object.entries(schema)) {
364
- if (key === '__typename')
365
- continue;
366
- const typeInfo = this.processSchema(value);
367
- result += ` ${key}: ${typeInfo.msgpackTypeName || typeInfo.typeName};\n`;
368
- }
369
- result += '}';
370
- return result;
371
- }
372
- generateToMethod(name, schema) {
373
- const fields = Object.entries(schema).filter(([key]) => key !== '__typename');
374
- if (fields.length === 0) {
375
- return `function to${name}(o: Msgpack${name}): ${name} {\n return {};\n}`;
376
- }
377
- const checks = fields
378
- .map(([key]) => ` if (o.${key} === undefined) { throw new Error("Expected ${key} in ${name} deserialization"); }`)
379
- .join('\n');
380
- const conversions = fields
381
- .map(([key, value]) => {
382
- const typeInfo = this.processSchema(value);
383
- const converter = this.generateConverter(typeInfo, `o.${key}`, 'to');
384
- return ` ${camelCase(key)}: ${converter},`;
385
- })
386
- .join('\n');
387
- return `function to${name}(o: Msgpack${name}): ${name} {
388
- ${checks};
389
- return {
390
- ${conversions}
391
- };
392
- }`;
393
- }
394
- generateFromMethod(name, schema) {
395
- const fields = Object.entries(schema).filter(([key]) => key !== '__typename');
396
- if (fields.length === 0) {
397
- return `function from${name}(o: ${name}): Msgpack${name} {\n return {};\n}`;
398
- }
399
- const checks = fields
400
- .map(([key]) => ` if (o.${camelCase(key)} === undefined) { throw new Error("Expected ${camelCase(key)} in ${name} serialization"); }`)
401
- .join('\n');
402
- const conversions = fields
403
- .map(([key, value]) => {
404
- const typeInfo = this.processSchema(value);
405
- const converter = this.generateConverter(typeInfo, `o.${camelCase(key)}`, 'from');
406
- return ` ${key}: ${converter},`;
407
- })
408
- .join('\n');
409
- return `function from${name}(o: ${name}): Msgpack${name} {
410
- ${checks};
411
- return {
412
- ${conversions}
413
- };
414
- }`;
415
- }
416
- generateConverter(typeInfo, value, direction) {
417
- // Handle arrays/tuples
418
- if (typeInfo.typeName.includes('[]') || typeInfo.typeName.includes('Tuple<')) {
419
- const elementType = typeInfo.typeName.match(/^(.+)\[\]$/) || typeInfo.typeName.match(/^Tuple<(.+),/);
420
- if (elementType) {
421
- const isTuple = typeInfo.typeName.includes('Tuple<');
422
- const mapFn = isTuple ? 'mapTuple' : 'map';
423
- return `${value}.${mapFn}((v: any) => v)`; // Simplified for now
424
- }
425
- }
426
- // Handle custom types that have conversion methods (not just type aliases)
427
- if (typeInfo.toMethod || typeInfo.fromMethod) {
428
- return `${direction}${typeInfo.typeName}(${value})`;
429
- }
430
- return value;
431
- }
432
- generateImports() {
433
- const imports = [];
434
- // Base imports
435
- if (this.config.imports) {
436
- imports.push(...this.config.imports);
437
- }
438
- // For API modes, import from api_types
439
- if (this.config.mode !== 'types') {
440
- const neededImports = new Set();
441
- // Add types and conversion functions from function metadata
442
- for (const metadata of this.functionMetadata) {
443
- neededImports.add(metadata.commandType);
444
- neededImports.add(metadata.responseType);
445
- neededImports.add(`from${metadata.commandType}`);
446
- neededImports.add(`to${metadata.responseType}`);
447
- }
448
- // Add referenced types
449
- for (const type of this.referencedTypes) {
450
- neededImports.add(type);
451
- }
452
- // Add BbApiBase interface
453
- neededImports.add('BbApiBase');
454
- if (neededImports.size > 0) {
455
- const sortedImports = Array.from(neededImports).sort();
456
- // Remove duplicates
457
- const uniqueImports = sortedImports.filter((item, index) => sortedImports.indexOf(item) === index);
458
- imports.push(`import { ${uniqueImports.join(', ')} } from './api_types.js';`);
459
- }
460
- }
461
- return imports;
462
- }
463
- generateBbApiBaseInterface() {
464
- const methods = this.functionMetadata
465
- .map(m => ` ${m.name}(command: ${m.commandType}): Promise<${m.responseType}>;`)
466
- .join('\n');
467
- return `export interface BbApiBase {
468
- ${methods}
469
- destroy(): Promise<void>;
470
- }`;
471
- }
472
- generateApiClass() {
473
- const className = this.getApiClassName();
474
- const methods = this.functionMetadata.map(m => this.generateApiMethod(m)).join('\n\n');
475
- // For sync API, don't implement BbApiBase since methods are synchronous
476
- const implementsClause = this.config.mode === 'sync' ? '' : ' implements BbApiBase';
477
- // For tracing all calls to bb.
478
- // const msgpackCallHelper =
479
- // `${this.config.mode === 'async' ? 'async ' : ''}function msgpackCall(backend: ${this.getBackendType()}, input: any[]) {\n` +
480
- // ` const commandName = input[0]?.[0] || 'unknown';\n` +
481
- // ` process.stderr.write(\`[BB MSGPACK ${this.config.mode === 'async' ? 'ASYNC' : 'SYNC'}] \${commandName}\\n\`);\n` +
482
- // ` const inputBuffer = new Encoder({ useRecords: false }).pack(input);\n` +
483
- // ` const encodedResult = ${this.config.mode === 'async' ? 'await ' : ''}backend.call(inputBuffer);\n` +
484
- // ` const result = new Decoder({ useRecords: false }).unpack(encodedResult);\n` +
485
- // ` process.stderr.write(\`[BB MSGPACK ${this.config.mode === 'async' ? 'ASYNC' : 'SYNC'}] \${commandName} => completed\\n\`);\n` +
486
- // ` return result;\n` +
487
- // `}\n`;
488
- const msgpackCallHelper = `${this.config.mode === 'async' ? 'async ' : ''}function msgpackCall(backend: ${this.getBackendType()}, input: any[]) {` +
489
- ` const inputBuffer = new Encoder({ useRecords: false }).pack(input);` +
490
- ` const encodedResult = ${this.config.mode === 'async' ? 'await ' : ''}backend.call(inputBuffer);` +
491
- ` return new Decoder({ useRecords: false }).unpack(encodedResult);` +
492
- `}\n`;
493
- const destroyMethod = this.config.mode === 'sync'
494
- ? ` destroy(): void {
495
- if (this.backend.destroy) this.backend.destroy();
496
- }`
497
- : ` destroy(): Promise<void> {
498
- return this.backend.destroy ? this.backend.destroy() : Promise.resolve();
499
- }`;
500
- return (msgpackCallHelper +
501
- `export class ${className}${implementsClause} {
502
- constructor(protected backend: ${this.getBackendType()}) {}
503
-
504
- ${methods}
505
-
506
- ${destroyMethod}
507
- }`);
508
- }
509
- getApiClassName() {
510
- switch (this.config.mode) {
511
- case 'sync':
512
- return 'SyncApi';
513
- case 'async':
514
- return 'AsyncApi';
515
- default:
516
- throw new Error(`Invalid mode: ${this.config.mode}`);
517
- }
518
- }
519
- getBackendType() {
520
- switch (this.config.mode) {
521
- case 'sync':
522
- return 'IMsgpackBackendSync';
523
- case 'async':
524
- return 'IMsgpackBackendAsync';
525
- default:
526
- return '';
527
- }
528
- }
529
- generateApiMethod(metadata) {
530
- const { name, commandType, responseType } = metadata;
531
- // For async mode, queue immediately and return promise
532
- if (this.config.mode === 'async') {
533
- return ` ${name}(command: ${commandType}): Promise<${responseType}> {
534
- const msgpackCommand = from${commandType}(command);
535
- return msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]).then(([variantName, result]: [string, any]) => {
536
- if (variantName !== '${responseType}') {
537
- throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
538
- }
539
- return to${responseType}(result);
540
- });
541
- }`;
542
- }
543
- // For sync mode, keep the synchronous behavior
544
- return ` ${name}(command: ${commandType}): ${responseType} {
545
- const msgpackCommand = from${commandType}(command);
546
- const [variantName, result] = msgpackCall(this.backend, [["${capitalize(name)}", msgpackCommand]]);
547
- if (variantName !== '${responseType}') {
548
- throw new Error(\`Expected variant name '${responseType}' but got '\${variantName}'\`);
549
- }
550
- return to${responseType}(result);
551
- }`;
552
- }
553
- }
554
- // Factory methods for creating configured compilers
555
- export function createSharedTypesCompiler() {
556
- return new SchemaCompiler({
557
- mode: 'types',
558
- imports: [],
559
- });
560
- }
561
- export function createSyncApiCompiler() {
562
- return new SchemaCompiler({
563
- mode: 'sync',
564
- imports: [
565
- `import { IMsgpackBackendSync } from '../../bb_backends/interface.js';`,
566
- `import { Decoder, Encoder } from 'msgpackr';`,
567
- ],
568
- });
569
- }
570
- export function createAsyncApiCompiler() {
571
- return new SchemaCompiler({
572
- mode: 'async',
573
- imports: [
574
- `import { IMsgpackBackendAsync } from '../../bb_backends/interface.js';`,
575
- `import { Decoder, Encoder } from 'msgpackr';`,
576
- ],
577
- });
578
- }
579
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX2NvbXBpbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NiaW5kL3NjaGVtYV9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQXVDSCxtQkFBbUI7QUFDbkIsU0FBUyxVQUFVLENBQUMsQ0FBUztJQUMzQixPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsQ0FBUztJQUMxQixPQUFPLENBQUM7U0FDTCxLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3pHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxDQUFTO0lBQzNCLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLE9BQU8sY0FBYztJQU16QixZQUFvQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUxsQyxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQW9CLENBQUM7UUFDeEMscUJBQWdCLEdBQXVCLEVBQUUsQ0FBQztRQUNsRCxvRUFBb0U7UUFDNUQsb0JBQWUsR0FBRyxJ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
@@ -1,43 +0,0 @@
1
- /**
2
- * Downloader for CRS from the web or local.
3
- */
4
- export declare class CachedNetCrs {
5
- readonly numPoints: number;
6
- private g1Data;
7
- private g2Data;
8
- constructor(numPoints: number);
9
- static new(numPoints: number): Promise<CachedNetCrs>;
10
- /**
11
- * Download the data.
12
- */
13
- init(): Promise<void>;
14
- /**
15
- * G1 points data for prover key.
16
- * @returns The points data.
17
- */
18
- getG1Data(): Uint8Array;
19
- /**
20
- * G2 points data for verification key.
21
- * @returns The points data.
22
- */
23
- getG2Data(): Uint8Array;
24
- }
25
- /**
26
- * Downloader for CRS from the web or local.
27
- */
28
- export declare class CachedNetGrumpkinCrs {
29
- readonly numPoints: number;
30
- private g1Data;
31
- constructor(numPoints: number);
32
- static new(numPoints: number): Promise<CachedNetGrumpkinCrs>;
33
- /**
34
- * Download the data.
35
- */
36
- init(): Promise<void>;
37
- /**
38
- * G1 points data for prover key.
39
- * @returns The points data.
40
- */
41
- getG1Data(): Uint8Array;
42
- }
43
- //# sourceMappingURL=cached_net_crs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cached_net_crs.d.ts","sourceRoot":"","sources":["../../../../src/crs/browser/cached_net_crs.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,YAAY;aAIK,SAAS,EAAE,MAAM;IAH7C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,MAAM,CAAc;gBAEA,SAAS,EAAE,MAAM;WAEhC,GAAG,CAAC,SAAS,EAAE,MAAM;IAMlC;;OAEG;IACG,IAAI;IAsBV;;;OAGG;IACH,SAAS,IAAI,UAAU;IAIvB;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB;AAED;;GAEG;AACH,qBAAa,oBAAoB;aAGH,SAAS,EAAE,MAAM;IAF7C,OAAO,CAAC,MAAM,CAAc;gBAEA,SAAS,EAAE,MAAM;WAEhC,GAAG,CAAC,SAAS,EAAE,MAAM;IAMlC;;OAEG;IACG,IAAI;IAcV;;;OAGG;IACH,SAAS,IAAI,UAAU;CAGxB"}