@aztec/foundation 0.0.1-commit.d3ec352c → 0.0.1-commit.d58ff9d0

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 (473) hide show
  1. package/dest/array/index.d.ts +2 -1
  2. package/dest/array/index.d.ts.map +1 -1
  3. package/dest/array/index.js +1 -0
  4. package/dest/array/sorted_array.d.ts +15 -0
  5. package/dest/array/sorted_array.d.ts.map +1 -0
  6. package/dest/array/sorted_array.js +109 -0
  7. package/dest/bigint-buffer/index.d.ts +1 -1
  8. package/dest/bigint-buffer/index.d.ts.map +1 -1
  9. package/dest/bigint-buffer/index.js +6 -1
  10. package/dest/branded-types/block_number.d.ts +6 -3
  11. package/dest/branded-types/block_number.d.ts.map +1 -1
  12. package/dest/branded-types/block_number.js +18 -4
  13. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  14. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  15. package/dest/branded-types/buffer32_hash.js +12 -0
  16. package/dest/branded-types/checkpoint_number.d.ts +17 -3
  17. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  18. package/dest/branded-types/checkpoint_number.js +28 -8
  19. package/dest/branded-types/epoch.d.ts +2 -2
  20. package/dest/branded-types/epoch.d.ts.map +1 -1
  21. package/dest/branded-types/index.d.ts +4 -2
  22. package/dest/branded-types/index.d.ts.map +1 -1
  23. package/dest/branded-types/index.js +3 -1
  24. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  25. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  26. package/dest/branded-types/index_within_checkpoint.js +59 -0
  27. package/dest/branded-types/slot.d.ts +5 -2
  28. package/dest/branded-types/slot.d.ts.map +1 -1
  29. package/dest/branded-types/slot.js +3 -0
  30. package/dest/buffer/buffer16.d.ts +7 -2
  31. package/dest/buffer/buffer16.d.ts.map +1 -1
  32. package/dest/buffer/buffer16.js +4 -2
  33. package/dest/buffer/buffer32.d.ts +29 -59
  34. package/dest/buffer/buffer32.d.ts.map +1 -1
  35. package/dest/buffer/buffer32.js +33 -65
  36. package/dest/buffer/index.d.ts +2 -1
  37. package/dest/buffer/index.d.ts.map +1 -1
  38. package/dest/buffer/index.js +1 -0
  39. package/dest/buffer/utils.d.ts +3 -0
  40. package/dest/buffer/utils.d.ts.map +1 -0
  41. package/dest/buffer/utils.js +7 -0
  42. package/dest/collection/array.d.ts +22 -1
  43. package/dest/collection/array.d.ts.map +1 -1
  44. package/dest/collection/array.js +84 -0
  45. package/dest/collection/index.d.ts +3 -1
  46. package/dest/collection/index.d.ts.map +1 -1
  47. package/dest/collection/index.js +2 -0
  48. package/dest/collection/lru_map.d.ts +41 -0
  49. package/dest/collection/lru_map.d.ts.map +1 -0
  50. package/dest/collection/lru_map.js +119 -0
  51. package/dest/collection/lru_set.d.ts +35 -0
  52. package/dest/collection/lru_set.d.ts.map +1 -0
  53. package/dest/collection/lru_set.js +95 -0
  54. package/dest/committable/committable.js +1 -1
  55. package/dest/config/env_var.d.ts +2 -2
  56. package/dest/config/env_var.d.ts.map +1 -1
  57. package/dest/config/index.d.ts +79 -38
  58. package/dest/config/index.d.ts.map +1 -1
  59. package/dest/config/index.js +103 -64
  60. package/dest/config/network_config.d.ts +17 -31
  61. package/dest/config/network_config.d.ts.map +1 -1
  62. package/dest/config/network_config.js +6 -1
  63. package/dest/config/network_name.d.ts +2 -2
  64. package/dest/config/network_name.d.ts.map +1 -1
  65. package/dest/config/network_name.js +3 -3
  66. package/dest/config/parse-env.d.ts +3 -0
  67. package/dest/config/parse-env.d.ts.map +1 -0
  68. package/dest/config/parse-env.js +7 -0
  69. package/dest/config/secret_value.d.ts +2 -2
  70. package/dest/config/secret_value.d.ts.map +1 -1
  71. package/dest/config/secret_value.js +3 -1
  72. package/dest/crypto/aes128/index.d.ts +2 -1
  73. package/dest/crypto/aes128/index.d.ts.map +1 -1
  74. package/dest/crypto/aes128/index.js +11 -2
  75. package/dest/crypto/bls/bn254_keystore.d.ts +10 -177
  76. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  77. package/dest/crypto/bls/bn254_keystore.js +23 -35
  78. package/dest/crypto/bls/index.js +1 -1
  79. package/dest/crypto/bn254/index.d.ts +35 -51
  80. package/dest/crypto/bn254/index.d.ts.map +1 -1
  81. package/dest/crypto/bn254/index.js +51 -140
  82. package/dest/crypto/ecdsa/signature.d.ts +11 -2
  83. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  84. package/dest/crypto/ecdsa/signature.js +2 -2
  85. package/dest/crypto/grumpkin/index.d.ts +4 -2
  86. package/dest/crypto/grumpkin/index.d.ts.map +1 -1
  87. package/dest/crypto/grumpkin/index.js +2 -1
  88. package/dest/crypto/keys/index.d.ts +4 -3
  89. package/dest/crypto/keys/index.d.ts.map +1 -1
  90. package/dest/crypto/keys/index.js +31 -7
  91. package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -2
  92. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  93. package/dest/crypto/pedersen/pedersen.wasm.js +1 -1
  94. package/dest/crypto/poseidon/index.d.ts +2 -3
  95. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  96. package/dest/crypto/poseidon/index.js +41 -43
  97. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  98. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  99. package/dest/crypto/random/randomness_singleton.js +5 -5
  100. package/dest/crypto/schnorr/index.d.ts +10 -8
  101. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  102. package/dest/crypto/schnorr/index.js +7 -7
  103. package/dest/crypto/schnorr/signature.d.ts +10 -30
  104. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  105. package/dest/crypto/schnorr/signature.js +21 -37
  106. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  107. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  108. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  109. package/dest/crypto/sha256/index.d.ts +2 -2
  110. package/dest/crypto/sha256/index.d.ts.map +1 -1
  111. package/dest/crypto/sha256/index.js +1 -1
  112. package/dest/crypto/sha512/index.d.ts +2 -2
  113. package/dest/crypto/sha512/index.d.ts.map +1 -1
  114. package/dest/crypto/sha512/index.js +1 -1
  115. package/dest/crypto/signature/index.d.ts +2 -2
  116. package/dest/crypto/signature/index.d.ts.map +1 -1
  117. package/dest/crypto/sync/pedersen/index.d.ts +2 -2
  118. package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
  119. package/dest/crypto/sync/pedersen/index.js +1 -1
  120. package/dest/crypto/sync/poseidon/index.d.ts +2 -3
  121. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  122. package/dest/crypto/sync/poseidon/index.js +1 -9
  123. package/dest/{fields/bls12_fields.d.ts → curves/bls12/field.d.ts} +5 -5
  124. package/dest/curves/bls12/field.d.ts.map +1 -0
  125. package/dest/{fields/bls12_fields.js → curves/bls12/field.js} +11 -13
  126. package/dest/curves/bls12/index.d.ts +3 -0
  127. package/dest/curves/bls12/index.d.ts.map +1 -0
  128. package/dest/curves/bls12/index.js +2 -0
  129. package/dest/{fields/bls12_point.d.ts → curves/bls12/point.d.ts} +14 -5
  130. package/dest/curves/bls12/point.d.ts.map +1 -0
  131. package/dest/{fields/bls12_point.js → curves/bls12/point.js} +10 -8
  132. package/dest/curves/bn254/field.d.ts +185 -0
  133. package/dest/curves/bn254/field.d.ts.map +1 -0
  134. package/dest/{fields/fields.js → curves/bn254/field.js} +57 -62
  135. package/dest/curves/bn254/index.d.ts +3 -0
  136. package/dest/curves/bn254/index.d.ts.map +1 -0
  137. package/dest/curves/bn254/index.js +2 -0
  138. package/dest/curves/bn254/point.d.ts +54 -0
  139. package/dest/curves/bn254/point.d.ts.map +1 -0
  140. package/dest/curves/bn254/point.js +143 -0
  141. package/dest/curves/grumpkin/index.d.ts +10 -0
  142. package/dest/curves/grumpkin/index.d.ts.map +1 -0
  143. package/dest/curves/grumpkin/index.js +3 -0
  144. package/dest/{fields → curves/grumpkin}/point.d.ts +23 -28
  145. package/dest/curves/grumpkin/point.d.ts.map +1 -0
  146. package/dest/{fields → curves/grumpkin}/point.js +35 -49
  147. package/dest/error/index.d.ts +4 -4
  148. package/dest/error/index.d.ts.map +1 -1
  149. package/dest/eth-address/index.d.ts +4 -3
  150. package/dest/eth-address/index.d.ts.map +1 -1
  151. package/dest/eth-address/index.js +10 -6
  152. package/dest/eth-signature/eth_signature.d.ts +6 -2
  153. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  154. package/dest/eth-signature/eth_signature.js +7 -2
  155. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  156. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  157. package/dest/fifo/fifo_frame_reader.js +91 -0
  158. package/dest/fifo/index.d.ts +2 -0
  159. package/dest/fifo/index.d.ts.map +1 -0
  160. package/dest/fifo/index.js +1 -0
  161. package/dest/fifo_set/fifo_set.d.ts +15 -0
  162. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  163. package/dest/fifo_set/fifo_set.js +39 -0
  164. package/dest/fifo_set/index.d.ts +2 -0
  165. package/dest/fifo_set/index.d.ts.map +1 -0
  166. package/dest/fifo_set/index.js +1 -0
  167. package/dest/iterator/filter.d.ts +3 -0
  168. package/dest/iterator/filter.d.ts.map +1 -0
  169. package/dest/iterator/filter.js +7 -0
  170. package/dest/iterator/index.d.ts +2 -0
  171. package/dest/iterator/index.d.ts.map +1 -0
  172. package/dest/iterator/index.js +1 -0
  173. package/dest/jest/setup.js +28 -1
  174. package/dest/json-rpc/client/fetch.d.ts +1 -1
  175. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  176. package/dest/json-rpc/client/fetch.js +4 -3
  177. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  178. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  179. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  180. package/dest/json-rpc/client/undici.d.ts +1 -1
  181. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  182. package/dest/json-rpc/client/undici.js +23 -4
  183. package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
  184. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  185. package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
  186. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  187. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  188. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  189. package/dest/json-rpc/fixtures/test_state.js +57 -17
  190. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  191. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  192. package/dest/json-rpc/server/api_key_auth.js +57 -0
  193. package/dest/json-rpc/server/index.d.ts +2 -1
  194. package/dest/json-rpc/server/index.d.ts.map +1 -1
  195. package/dest/json-rpc/server/index.js +1 -0
  196. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  197. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  198. package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
  199. package/dest/log/bigint-utils.d.ts +5 -0
  200. package/dest/log/bigint-utils.d.ts.map +1 -0
  201. package/dest/log/bigint-utils.js +21 -0
  202. package/dest/log/gcloud-logger-config.d.ts +1 -1
  203. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  204. package/dest/log/gcloud-logger-config.js +3 -0
  205. package/dest/log/libp2p_logger.d.ts +5 -2
  206. package/dest/log/libp2p_logger.d.ts.map +1 -1
  207. package/dest/log/libp2p_logger.js +14 -4
  208. package/dest/log/log-filters.d.ts +17 -4
  209. package/dest/log/log-filters.d.ts.map +1 -1
  210. package/dest/log/log-filters.js +26 -12
  211. package/dest/log/pino-logger-server.d.ts +9 -0
  212. package/dest/log/pino-logger-server.d.ts.map +1 -0
  213. package/dest/log/pino-logger-server.js +18 -0
  214. package/dest/log/pino-logger.d.ts +37 -8
  215. package/dest/log/pino-logger.d.ts.map +1 -1
  216. package/dest/log/pino-logger.js +138 -30
  217. package/dest/noir/noir_package_config.d.ts +19 -104
  218. package/dest/noir/noir_package_config.d.ts.map +1 -1
  219. package/dest/noir/noir_package_config.js +1 -1
  220. package/dest/promise/running-promise.d.ts +5 -4
  221. package/dest/promise/running-promise.d.ts.map +1 -1
  222. package/dest/promise/running-promise.js +7 -3
  223. package/dest/queue/base_memory_queue.d.ts +2 -2
  224. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  225. package/dest/queue/batch_queue.d.ts +1 -1
  226. package/dest/queue/batch_queue.d.ts.map +1 -1
  227. package/dest/queue/batch_queue.js +1 -0
  228. package/dest/queue/semaphore.d.ts +5 -1
  229. package/dest/queue/semaphore.d.ts.map +1 -1
  230. package/dest/retry/index.d.ts +41 -3
  231. package/dest/retry/index.d.ts.map +1 -1
  232. package/dest/retry/index.js +55 -2
  233. package/dest/schemas/api.d.ts +12 -10
  234. package/dest/schemas/api.d.ts.map +1 -1
  235. package/dest/schemas/api.js +7 -1
  236. package/dest/schemas/parse.d.ts +4 -4
  237. package/dest/schemas/parse.d.ts.map +1 -1
  238. package/dest/schemas/parse.js +6 -5
  239. package/dest/schemas/schemas.d.ts +20 -16
  240. package/dest/schemas/schemas.d.ts.map +1 -1
  241. package/dest/schemas/schemas.js +9 -3
  242. package/dest/schemas/types.d.ts +32 -2
  243. package/dest/schemas/types.d.ts.map +1 -1
  244. package/dest/schemas/types.js +25 -1
  245. package/dest/schemas/utils.d.ts +7 -11
  246. package/dest/schemas/utils.d.ts.map +1 -1
  247. package/dest/schemas/utils.js +2 -18
  248. package/dest/serialize/buffer_reader.d.ts +14 -4
  249. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  250. package/dest/serialize/buffer_reader.js +26 -4
  251. package/dest/serialize/buffer_sink.d.ts +134 -0
  252. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  253. package/dest/serialize/buffer_sink.js +297 -0
  254. package/dest/serialize/field_reader.d.ts +2 -2
  255. package/dest/serialize/field_reader.d.ts.map +1 -1
  256. package/dest/serialize/field_reader.js +1 -1
  257. package/dest/serialize/free_funcs.d.ts +2 -2
  258. package/dest/serialize/free_funcs.d.ts.map +1 -1
  259. package/dest/serialize/free_funcs.js +1 -1
  260. package/dest/serialize/index.d.ts +2 -1
  261. package/dest/serialize/index.d.ts.map +1 -1
  262. package/dest/serialize/index.js +1 -0
  263. package/dest/serialize/serialize.d.ts +20 -2
  264. package/dest/serialize/serialize.d.ts.map +1 -1
  265. package/dest/serialize/serialize.js +32 -1
  266. package/dest/sleep/index.d.ts +4 -1
  267. package/dest/sleep/index.d.ts.map +1 -1
  268. package/dest/sleep/index.js +14 -1
  269. package/dest/string/index.js +1 -1
  270. package/dest/testing/files/index.d.ts +2 -3
  271. package/dest/testing/files/index.d.ts.map +1 -1
  272. package/dest/testing/files/index.js +1 -2
  273. package/dest/timer/date.d.ts +26 -1
  274. package/dest/timer/date.d.ts.map +1 -1
  275. package/dest/timer/date.js +36 -0
  276. package/dest/timer/index.d.ts +2 -2
  277. package/dest/timer/index.d.ts.map +1 -1
  278. package/dest/timer/index.js +1 -1
  279. package/dest/timer/timeout.d.ts +3 -1
  280. package/dest/timer/timeout.d.ts.map +1 -1
  281. package/dest/timer/timeout.js +26 -0
  282. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  283. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  284. package/dest/transport/index.d.ts +1 -2
  285. package/dest/transport/index.d.ts.map +1 -1
  286. package/dest/transport/index.js +0 -1
  287. package/dest/transport/transport_client.js +2 -2
  288. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  289. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  290. package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +3 -17
  291. package/dest/trees/hasher.d.ts +4 -1
  292. package/dest/trees/hasher.d.ts.map +1 -1
  293. package/dest/trees/hasher.js +10 -5
  294. package/dest/trees/index.d.ts +4 -4
  295. package/dest/trees/index.d.ts.map +1 -1
  296. package/dest/trees/index.js +3 -3
  297. package/dest/trees/indexed_merkle_tree.js +1 -1
  298. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  299. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  300. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  301. package/dest/trees/membership_witness.d.ts +9 -3
  302. package/dest/trees/membership_witness.d.ts.map +1 -1
  303. package/dest/trees/membership_witness.js +1 -1
  304. package/dest/trees/merkle_tree_calculator.d.ts +4 -2
  305. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  306. package/dest/trees/merkle_tree_calculator.js +1 -5
  307. package/dest/trees/sibling_path.d.ts +7 -5
  308. package/dest/trees/sibling_path.d.ts.map +1 -1
  309. package/dest/trees/sibling_path.js +11 -9
  310. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -3
  311. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  312. package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -5
  313. package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +4 -7
  314. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  315. package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +12 -51
  316. package/dest/trees/unbalanced_tree_store.d.ts +5 -1
  317. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  318. package/dest/trees/unbalanced_tree_store.js +49 -1
  319. package/dest/types/index.d.ts +28 -2
  320. package/dest/types/index.d.ts.map +1 -1
  321. package/dest/types/index.js +21 -0
  322. package/package.json +50 -9
  323. package/src/array/index.ts +1 -0
  324. package/src/array/sorted_array.ts +138 -0
  325. package/src/bigint-buffer/index.ts +6 -1
  326. package/src/branded-types/block_number.ts +25 -2
  327. package/src/branded-types/buffer32_hash.ts +38 -0
  328. package/src/branded-types/checkpoint_number.ts +37 -7
  329. package/src/branded-types/epoch.ts +1 -1
  330. package/src/branded-types/index.ts +3 -1
  331. package/src/branded-types/index_within_checkpoint.ts +88 -0
  332. package/src/branded-types/slot.ts +6 -1
  333. package/src/buffer/buffer16.ts +5 -2
  334. package/src/buffer/buffer32.ts +41 -70
  335. package/src/buffer/index.ts +1 -0
  336. package/src/buffer/utils.ts +8 -0
  337. package/src/collection/array.ts +86 -0
  338. package/src/collection/index.ts +2 -0
  339. package/src/collection/lru_map.ts +143 -0
  340. package/src/collection/lru_set.ts +115 -0
  341. package/src/committable/committable.ts +1 -1
  342. package/src/config/env_var.ts +127 -34
  343. package/src/config/index.ts +183 -114
  344. package/src/config/network_config.ts +5 -0
  345. package/src/config/network_name.ts +6 -6
  346. package/src/config/parse-env.ts +4 -0
  347. package/src/config/secret_value.ts +1 -1
  348. package/src/crypto/aes128/index.ts +11 -2
  349. package/src/crypto/bls/bn254_keystore.ts +34 -44
  350. package/src/crypto/bls/index.ts +1 -1
  351. package/src/crypto/bn254/index.ts +50 -159
  352. package/src/crypto/ecdsa/signature.ts +2 -2
  353. package/src/crypto/grumpkin/index.ts +3 -1
  354. package/src/crypto/keys/index.ts +21 -5
  355. package/src/crypto/pedersen/pedersen.wasm.ts +1 -1
  356. package/src/crypto/poseidon/index.ts +43 -45
  357. package/src/crypto/random/randomness_singleton.ts +6 -4
  358. package/src/crypto/schnorr/index.ts +11 -9
  359. package/src/crypto/schnorr/signature.ts +18 -47
  360. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  361. package/src/crypto/sha256/index.ts +1 -1
  362. package/src/crypto/sha512/index.ts +1 -1
  363. package/src/crypto/signature/index.ts +1 -1
  364. package/src/crypto/sync/pedersen/index.ts +1 -1
  365. package/src/crypto/sync/poseidon/index.ts +1 -10
  366. package/src/{fields/bls12_fields.ts → curves/bls12/field.ts} +5 -12
  367. package/src/curves/bls12/index.ts +2 -0
  368. package/src/{fields/bls12_point.ts → curves/bls12/point.ts} +7 -7
  369. package/src/{fields/fields.ts → curves/bn254/field.ts} +68 -86
  370. package/src/curves/bn254/index.ts +2 -0
  371. package/src/curves/bn254/point.ts +170 -0
  372. package/src/curves/grumpkin/index.ts +11 -0
  373. package/src/{fields → curves/grumpkin}/point.ts +29 -46
  374. package/src/eth-address/index.ts +8 -6
  375. package/src/eth-signature/eth_signature.ts +7 -1
  376. package/src/fifo/fifo_frame_reader.ts +113 -0
  377. package/src/fifo/index.ts +1 -0
  378. package/src/fifo_set/fifo_set.ts +52 -0
  379. package/src/fifo_set/index.ts +1 -0
  380. package/src/iterator/filter.ts +11 -0
  381. package/src/iterator/index.ts +1 -0
  382. package/src/jest/setup.mjs +31 -1
  383. package/src/json-rpc/client/fetch.ts +4 -3
  384. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  385. package/src/json-rpc/client/undici.ts +23 -3
  386. package/src/json-rpc/fixtures/test_state.ts +10 -10
  387. package/src/json-rpc/server/api_key_auth.ts +63 -0
  388. package/src/json-rpc/server/index.ts +1 -0
  389. package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
  390. package/src/log/bigint-utils.ts +25 -0
  391. package/src/log/gcloud-logger-config.ts +5 -0
  392. package/src/log/libp2p_logger.ts +12 -5
  393. package/src/log/log-filters.ts +29 -11
  394. package/src/log/pino-logger-server.ts +25 -0
  395. package/src/log/pino-logger.ts +162 -40
  396. package/src/noir/noir_package_config.ts +32 -20
  397. package/src/promise/running-promise.ts +8 -5
  398. package/src/queue/base_memory_queue.ts +1 -1
  399. package/src/queue/batch_queue.ts +1 -0
  400. package/src/queue/semaphore.ts +5 -0
  401. package/src/retry/index.ts +84 -4
  402. package/src/schemas/api.ts +25 -25
  403. package/src/schemas/parse.ts +9 -6
  404. package/src/schemas/schemas.ts +17 -6
  405. package/src/schemas/types.ts +34 -1
  406. package/src/schemas/utils.ts +4 -38
  407. package/src/serialize/buffer_reader.ts +36 -9
  408. package/src/serialize/buffer_sink.ts +350 -0
  409. package/src/serialize/field_reader.ts +1 -1
  410. package/src/serialize/free_funcs.ts +1 -1
  411. package/src/serialize/index.ts +1 -0
  412. package/src/serialize/serialize.ts +33 -1
  413. package/src/sleep/index.ts +16 -1
  414. package/src/string/index.ts +1 -1
  415. package/src/testing/files/index.ts +1 -2
  416. package/src/timer/date.ts +52 -0
  417. package/src/timer/index.ts +1 -1
  418. package/src/timer/timeout.ts +31 -0
  419. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  420. package/src/transport/index.ts +0 -1
  421. package/src/transport/transport_client.ts +2 -2
  422. package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +3 -20
  423. package/src/trees/hasher.ts +12 -0
  424. package/src/trees/index.ts +3 -3
  425. package/src/trees/indexed_merkle_tree.ts +1 -1
  426. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  427. package/src/trees/membership_witness.ts +1 -1
  428. package/src/trees/merkle_tree_calculator.ts +4 -10
  429. package/src/trees/sibling_path.ts +12 -7
  430. package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -12
  431. package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +17 -64
  432. package/src/trees/unbalanced_tree_store.ts +57 -2
  433. package/src/types/index.ts +58 -1
  434. package/dest/crypto/bn254/bn254_utils.d.ts +0 -39
  435. package/dest/crypto/bn254/bn254_utils.d.ts.map +0 -1
  436. package/dest/crypto/bn254/bn254_utils.js +0 -56
  437. package/dest/crypto/index.d.ts +0 -17
  438. package/dest/crypto/index.d.ts.map +0 -1
  439. package/dest/crypto/index.js +0 -16
  440. package/dest/crypto/serialize.d.ts +0 -51
  441. package/dest/crypto/serialize.d.ts.map +0 -1
  442. package/dest/crypto/serialize.js +0 -68
  443. package/dest/fields/bls12_fields.d.ts.map +0 -1
  444. package/dest/fields/bls12_point.d.ts.map +0 -1
  445. package/dest/fields/coordinate.d.ts +0 -63
  446. package/dest/fields/coordinate.d.ts.map +0 -1
  447. package/dest/fields/coordinate.js +0 -96
  448. package/dest/fields/fields.d.ts +0 -188
  449. package/dest/fields/fields.d.ts.map +0 -1
  450. package/dest/fields/index.d.ts +0 -6
  451. package/dest/fields/index.d.ts.map +0 -1
  452. package/dest/fields/index.js +0 -5
  453. package/dest/fields/point.d.ts.map +0 -1
  454. package/dest/index.d.ts +0 -31
  455. package/dest/index.d.ts.map +0 -1
  456. package/dest/index.js +0 -31
  457. package/dest/json-rpc/server/telemetry.d.ts +0 -2
  458. package/dest/json-rpc/server/telemetry.d.ts.map +0 -1
  459. package/dest/json-rpc/server/telemetry.js +0 -0
  460. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  461. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  462. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  463. package/dest/trees/balanced_merkle_tree.d.ts +0 -22
  464. package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
  465. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  466. package/src/crypto/bn254/bn254_utils.ts +0 -64
  467. package/src/crypto/index.ts +0 -16
  468. package/src/crypto/serialize.ts +0 -85
  469. package/src/fields/coordinate.ts +0 -104
  470. package/src/fields/index.ts +0 -5
  471. package/src/index.ts +0 -31
  472. package/src/json-rpc/server/telemetry.ts +0 -0
  473. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAKjE,iCAAiC;AACjC,KAAK,YAAY,GAAG;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAGrD;CACF;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAG7D;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAUpG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAOnH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,SAW/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAUlE;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CAYtG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/crypto/secp256k1-signer/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAKjE,iCAAiC;AACjC,KAAK,YAAY,GAAG;IAClB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,EAGrD;CACF;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,QAAQ,CAG7D;AAYD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAUpG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAOnH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,SAW/C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAM7D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAUlE;AA6BD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,YAAiB,GAAG,MAAM,CAYtG;AAKD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,SAAS,CAQxD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,IAAI,SAAS,CAQ1D"}
@@ -168,3 +168,29 @@ export function makeEthSignDigest(message) {
168
168
  const publicKey = sig.recoverPublicKey(hash.buffer).toHex(false);
169
169
  return Buffer.from(publicKey, 'hex');
170
170
  }
171
+ /** Arbitrary hash used for testing signature recoverability. */ const PROBE_HASH = Buffer32.fromBuffer(keccak256(Buffer.from('signature-recoverability-probe')));
172
+ /**
173
+ * Generates a random valid ECDSA signature that is recoverable to some address.
174
+ * Since Signature.random() produces real signatures via secp256k1 signing, the result is always
175
+ * recoverable, but we verify defensively by checking tryRecoverAddress.
176
+ */ export function generateRecoverableSignature() {
177
+ for(let i = 0; i < 100; i++){
178
+ const sig = Signature.random();
179
+ if (tryRecoverAddress(PROBE_HASH, sig) !== undefined) {
180
+ return sig;
181
+ }
182
+ }
183
+ throw new Secp256k1Error('Failed to generate a recoverable signature after 100 attempts');
184
+ }
185
+ /**
186
+ * Generates a random signature where ECDSA address recovery fails.
187
+ * Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
188
+ */ export function generateUnrecoverableSignature() {
189
+ for(let i = 0; i < 100; i++){
190
+ const sig = new Signature(Buffer32.random(), Buffer32.random(), 27);
191
+ if (tryRecoverAddress(PROBE_HASH, sig) === undefined) {
192
+ return sig;
193
+ }
194
+ }
195
+ throw new Secp256k1Error('Failed to generate an unrecoverable signature after 100 attempts');
196
+ }
@@ -1,4 +1,4 @@
1
- import { Fr } from '../../fields/fields.js';
1
+ import { Fr } from '../../curves/bn254/field.js';
2
2
  import { type Bufferable } from '../../serialize/serialize.js';
3
3
  import type { Hasher } from '../../trees/hasher.js';
4
4
  export declare function sha256(data: Buffer): Buffer<ArrayBuffer>;
@@ -34,4 +34,4 @@ export declare class SHA256Trunc implements Hasher {
34
34
  hash(lhs: Uint8Array, rhs: Uint8Array): Buffer<ArrayBuffer>;
35
35
  hashInputs(inputs: Buffer[]): Buffer<ArrayBuffer>;
36
36
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhMjU2L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsd0JBQWdCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSx1QkFFbEM7QUFFRCx3QkFBZ0IsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLDJCQUV2QztBQUVELHdCQUFnQixhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUcvQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0F5RXRGO0FBNENEOzs7O0dBSUc7QUFDSCxxQkFBYSxNQUFPLFlBQVcsTUFBTTtJQUs1QixJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxXQUFZLFlBQVcsTUFBTTtJQUtqQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRiJ9
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhMjU2L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQXFCLE1BQU0sOEJBQThCLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsd0JBQWdCLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSx1QkFFbEM7QUFFRCx3QkFBZ0IsV0FBVyxDQUFDLElBQUksRUFBRSxNQUFNLDJCQUV2QztBQUVELHdCQUFnQixhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUcvQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLFdBQVcsQ0F5RXRGO0FBNENEOzs7O0dBSUc7QUFDSCxxQkFBYSxNQUFPLFlBQVcsTUFBTTtJQUs1QixJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSxXQUFZLFlBQVcsTUFBTTtJQUtqQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSx1QkFFM0M7SUFNTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSx1QkFFakM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha256/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,uBAElC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,2BAEvC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAG/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAyEtF;AA4CD;;;;GAIG;AACH,qBAAa,MAAO,YAAW,MAAM;IAK5B,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,MAAM;IAKjC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha256/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,uBAElC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,2BAEvC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,MAG/C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAyEtF;AA4CD;;;;GAIG;AACH,qBAAa,MAAO,YAAW,MAAM;IAK5B,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,MAAM;IAKjC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,uBAE3C;IAMM,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,uBAEjC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable camelcase */ import { default as hash } from 'hash.js';
2
- import { Fr } from '../../fields/fields.js';
2
+ import { Fr } from '../../curves/bn254/field.js';
3
3
  import { truncateAndPad } from '../../serialize/free_funcs.js';
4
4
  import { serializeToBuffer } from '../../serialize/serialize.js';
5
5
  export function sha256(data) {
@@ -5,5 +5,5 @@ export declare const sha512: (data: Buffer<ArrayBufferLike>) => Buffer<ArrayBuff
5
5
  * we don't care only about collision resistance but we need the output to be uniformly distributed as well. This is
6
6
  * because we use it as a pseudo-random function.
7
7
  */
8
- export declare const sha512ToGrumpkinScalar: (data: Bufferable[]) => import("../../fields/fields.js").Fq;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhNTEyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRixlQUFPLE1BQU0sTUFBTSx3REFBcUUsQ0FBQztBQUV6Rjs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQiw2REFHbEMsQ0FBQyJ9
8
+ export declare const sha512ToGrumpkinScalar: (data: Bufferable[]) => import("../../schemas/schemas.js").Fq;
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2hhNTEyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRixlQUFPLE1BQU0sTUFBTSx3REFBcUUsQ0FBQztBQUV6Rjs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQiwrREFHbEMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha512/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,MAAM,wDAAqE,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6DAGlC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/sha512/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,8BAA8B,CAAC;AAElF,eAAO,MAAM,MAAM,wDAAqE,CAAC;AAEzF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+DAGlC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { default as hash } from 'hash.js';
2
- import { GrumpkinScalar } from '../../fields/fields.js';
2
+ import { GrumpkinScalar } from '../../curves/grumpkin/index.js';
3
3
  import { serializeToBuffer } from '../../serialize/serialize.js';
4
4
  export const sha512 = (data)=>Buffer.from(hash.sha512().update(data).digest());
5
5
  /**
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  /**
3
3
  * Interface to represent a signature.
4
4
  */
@@ -14,4 +14,4 @@ export interface Signature {
14
14
  */
15
15
  toFields(): Fr[];
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2lnbmF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5EOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVM7SUFDeEI7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNuQjs7O09BR0c7SUFDSCxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7Q0FDbEIifQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2lnbmF0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVM7SUFDeEI7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNuQjs7O09BR0c7SUFDSCxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7Q0FDbEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAAC;CAClB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/signature/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAAC;CAClB"}
@@ -1,4 +1,4 @@
1
- import { Fr } from '../../../fields/fields.js';
1
+ import { Fr } from '../../../curves/bn254/field.js';
2
2
  import { type Fieldable } from '../../../serialize/serialize.js';
3
3
  /**
4
4
  * Create a pedersen commitment (point) from an array of input fields.
@@ -16,4 +16,4 @@ export declare function pedersenHash(input: Fieldable[], index?: number): Fr;
16
16
  * Create a pedersen hash from an arbitrary length buffer.
17
17
  */
18
18
  export declare function pedersenHashBuffer(input: Buffer, index?: number): Buffer<ArrayBuffer>;
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wZWRlcnNlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7R0FHRztBQUNILHdCQUFnQixjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sU0FBSSx5QkFVekQ7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssU0FBSSxHQUFHLEVBQUUsQ0FPOUQ7QUFFRDs7R0FFRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssU0FBSSx1QkFNMUQifQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wZWRlcnNlbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7R0FHRztBQUNILHdCQUFnQixjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sU0FBSSx5QkFVekQ7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQixZQUFZLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLEtBQUssU0FBSSxHQUFHLEVBQUUsQ0FPOUQ7QUFFRDs7R0FFRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssU0FBSSx1QkFNMUQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/pedersen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,yBAUzD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,EAAE,CAO9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,uBAM1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/pedersen/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,SAAI,yBAUzD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,SAAI,GAAG,EAAE,CAO9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,uBAM1D"}
@@ -1,5 +1,5 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { Fr } from '../../../fields/fields.js';
2
+ import { Fr } from '../../../curves/bn254/field.js';
3
3
  import { serializeToFields } from '../../../serialize/serialize.js';
4
4
  /**
5
5
  * Create a pedersen commitment (point) from an array of input fields.
@@ -1,4 +1,4 @@
1
- import { Fr } from '../../../fields/fields.js';
1
+ import { Fr } from '../../../curves/bn254/field.js';
2
2
  import { type Fieldable } from '../../../serialize/serialize.js';
3
3
  /**
4
4
  * Create a poseidon hash (field) from an array of input fields.
@@ -13,7 +13,6 @@ export declare function poseidon2Hash(input: Fieldable[]): Fr;
13
13
  * @returns The poseidon hash.
14
14
  */
15
15
  export declare function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Fr;
16
- export declare function poseidon2HashAccumulate(input: Fieldable[]): Fr;
17
16
  /**
18
17
  * Runs a Poseidon2 permutation.
19
18
  * @param input the input state. Expected to be of size 4.
@@ -21,4 +20,4 @@ export declare function poseidon2HashAccumulate(input: Fieldable[]): Fr;
21
20
  */
22
21
  export declare function poseidon2Permutation(input: Fieldable[]): Fr[];
23
22
  export declare function poseidon2HashBytes(input: Buffer): Fr;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wb3NlaWRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBT3BEO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRSxDQVNwRjtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQU85RDtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQVc3RDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FpQnBEIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wb3NlaWRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBT3BEO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRSxDQVNwRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQVc3RDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FpQnBEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CASpF;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAO9D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAW7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAiBpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/crypto/sync/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,iCAAiC,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAOpD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CASpF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAW7D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAiBpD"}
@@ -1,5 +1,5 @@
1
1
  import { BarretenbergSync } from '@aztec/bb.js';
2
- import { Fr } from '../../../fields/fields.js';
2
+ import { Fr } from '../../../curves/bn254/field.js';
3
3
  import { serializeToFields } from '../../../serialize/serialize.js';
4
4
  /**
5
5
  * Create a poseidon hash (field) from an array of input fields.
@@ -27,14 +27,6 @@ import { serializeToFields } from '../../../serialize/serialize.js';
27
27
  });
28
28
  return Fr.fromBuffer(Buffer.from(response.hash));
29
29
  }
30
- export function poseidon2HashAccumulate(input) {
31
- const inputFields = serializeToFields(input);
32
- const api = BarretenbergSync.getSingleton();
33
- const response = api.poseidon2HashAccumulate({
34
- inputs: inputFields.map((i)=>i.toBuffer())
35
- });
36
- return Fr.fromBuffer(Buffer.from(response.hash));
37
- }
38
30
  /**
39
31
  * Runs a Poseidon2 permutation.
40
32
  * @param input the input state. Expected to be of size 4.
@@ -1,6 +1,6 @@
1
1
  import { inspect } from 'util';
2
- import { BufferReader } from '../serialize/buffer_reader.js';
3
- import { Fr } from './fields.js';
2
+ import { BufferReader } from '../../serialize/buffer_reader.js';
3
+ import { Fr } from '../bn254/field.js';
4
4
  /**
5
5
  * Base BLS12field class.
6
6
  */
@@ -92,7 +92,7 @@ export declare class BLS12Fr extends BLS12Field {
92
92
  sqrt(): BLS12Fr | null;
93
93
  pow(rhs: bigint): BLS12Fr;
94
94
  toJSON(): `0x${string}`;
95
- static get schema(): import("zod").ZodType<BLS12Fr, any, string>;
95
+ static get schema(): import("zod").ZodType<BLS12Fr, string, import("zod/v4/core").$ZodTypeInternals<BLS12Fr, string>>;
96
96
  }
97
97
  /**
98
98
  * Fq field class.
@@ -143,6 +143,6 @@ export declare class BLS12Fq extends BLS12Field {
143
143
  sqrt(): BLS12Fq | null;
144
144
  pow(rhs: bigint): BLS12Fq;
145
145
  toJSON(): `0x${string}`;
146
- static get schema(): import("zod").ZodType<BLS12Fq, any, string>;
146
+ static get schema(): import("zod").ZodType<BLS12Fq, string, import("zod/v4/core").$ZodTypeInternals<BLS12Fq, string>>;
147
147
  }
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxzMTJfZmllbGRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmllbGRzL2JsczEyX2ZpZWxkcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBY2pDOztHQUVHO0FBQ0gsOEJBQXNCLFVBQVU7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUUxQixTQUFTLGFBQWEsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQWlCcEQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO0lBRWxDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQVFqQjtJQUVELFlBQVksSUFBSTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBVWxDO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUUvQjtJQUVELEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FFM0I7SUFFRCxNQUFNLElBQUksT0FBTyxDQUVoQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsVUFBVSxJQUFJLE9BQU8sQ0FJcEI7SUFFRCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELE9BQU8sU0FFTjtDQUNGO0FBa0REOzs7R0FHRztBQUNILHFCQUFhLE9BQVEsU0FBUSxVQUFVO0lBQ3JDLE1BQU0sQ0FBQyxhQUFhLFNBQTZCO0lBQ2pELE1BQU0sQ0FBQyxPQUFPLFNBQTZCO0lBQzNDLE1BQU0sQ0FBQyxJQUFJLFVBQW1CO0lBQzlCLE1BQU0sQ0FBQyxHQUFHLFVBQW1CO0lBQzdCLE1BQU0sQ0FBQyxlQUFlLFVBQWtDO0lBRXhELFlBQVksS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUUxQztJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsU0FBUyxDQUFDLE9BQU8sV0FFaEI7SUFFRCxTQUFTLENBQUMsSUFBSSxXQUViO0lBRUQsTUFBTSxDQUFDLE1BQU0sWUFFWjtJQUVELE1BQU0sQ0FBQyxJQUFJLFlBRVY7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLFdBRTNCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksV0FFOUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQVM1QjtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLFdBRS9CO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLFdBRWhEO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUUzQjtJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsT0FLUjtJQUVELCtDQUErQztJQUUvQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sV0FFZjtJQUVELE1BQU0sWUFFTDtJQUVELE1BQU0sWUFFTDtJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxXQUVmO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLFdBRWY7SUFFRCxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sV0FFZjtJQUVELElBQUksbUJBY0g7SUFFRCxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sV0FFZDtJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxnREFFaEI7Q0FDRjtBQUtEOzs7R0FHRztBQUNILHFCQUFhLE9BQVEsU0FBUSxVQUFVO0lBQ3JDLE1BQU0sQ0FBQyxhQUFhLFNBQTZCO0lBQ2pELE1BQU0sQ0FBQyxPQUFPLFNBQTZCO0lBQzNDLE1BQU0sQ0FBQyxJQUFJLFVBQW1CO0lBQzlCLE1BQU0sQ0FBQyxHQUFHLFVBQW1CO0lBQzdCLE1BQU0sQ0FBQyxlQUFlLFVBQWtDO0lBRXhELFlBQVksS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQUUxQztJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0lBRUQsU0FBUyxDQUFDLE9BQU8sV0FFaEI7SUFFRCxTQUFTLENBQUMsSUFBSSxXQUViO0lBRUQsTUFBTSxDQUFDLE1BQU0sWUFFWjtJQUVELE1BQU0sQ0FBQyxJQUFJLFlBRVY7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLFdBRTNCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksV0FFOUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQVM1QjtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxNQUFNLFdBRS9CO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLFdBRWhEO0lBRUQsK0NBQStDO0lBRS9DLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxXQUVmO0lBRUQsTUFBTSxZQUVMO0lBRUQsTUFBTSxZQUVMO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLFdBRWY7SUFFRCxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sV0FFZjtJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxXQUVmO0lBRUQsSUFBSSxtQkFjSDtJQUVELEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUVkO0lBRUQsTUFBTSxrQkFFTDtJQUVELE1BQU0sS0FBSyxNQUFNLGdEQUVoQjtDQUNGIn0=
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYmxzMTIvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBY3ZDOztHQUVHO0FBQ0gsOEJBQXNCLFVBQVU7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUUxQixTQUFTLGFBQWEsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQWlCcEQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO0lBRWxDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQVFqQjtJQUVELFlBQVksSUFBSTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBVWxDO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUUvQjtJQUVELEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FFM0I7SUFFRCxNQUFNLElBQUksT0FBTyxDQUVoQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsVUFBVSxJQUFJLE9BQU8sQ0FJcEI7SUFFRCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELE9BQU8sU0FFTjtDQUNGO0FBa0REOzs7R0FHRztBQUNILHFCQUFhLE9BQVEsU0FBUSxVQUFVO0lB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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/field.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- /* eslint-disable camelcase */ import { bls12_381 } from '@noble/curves/bls12-381';
1
+ /* eslint-disable camelcase */ var _computedKey, _computedKey1;
2
+ import { bls12_381 } from '@noble/curves/bls12-381';
2
3
  import { inspect } from 'util';
3
- import { toBigIntBE, toBufferBE } from '../bigint-buffer/index.js';
4
- import { randomBytes } from '../crypto/random/index.js';
5
- import { hexSchemaFor } from '../schemas/utils.js';
6
- import { BufferReader } from '../serialize/buffer_reader.js';
7
- import { TypeRegistry } from '../serialize/type_registry.js';
8
- import { Fr } from './fields.js';
4
+ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
5
+ import { randomBytes } from '../../crypto/random/index.js';
6
+ import { hexSchemaFor } from '../../schemas/utils.js';
7
+ import { BufferReader } from '../../serialize/buffer_reader.js';
8
+ import { Fr } from '../bn254/field.js';
9
9
  /**
10
10
  * Base BLS12field class.
11
11
  */ export class BLS12Field {
@@ -124,6 +124,7 @@ import { Fr } from './fields.js';
124
124
  }
125
125
  return Buffer.from(checked.length % 2 === 1 ? '0' + checked : checked, 'hex');
126
126
  }
127
+ _computedKey = inspect.custom;
127
128
  /**
128
129
  * Fr field class.
129
130
  * @dev This class is used to represent elements of BLS12-381 scalar field.
@@ -136,7 +137,7 @@ import { Fr } from './fields.js';
136
137
  constructor(value){
137
138
  super(value);
138
139
  }
139
- [inspect.custom]() {
140
+ [_computedKey]() {
140
141
  return `BLS12Fr<${this.toString()}>`;
141
142
  }
142
143
  modulus() {
@@ -249,8 +250,7 @@ import { Fr } from './fields.js';
249
250
  return hexSchemaFor(BLS12Fr);
250
251
  }
251
252
  }
252
- // For deserializing JSON.
253
- TypeRegistry.register('BLS12Fr', BLS12Fr);
253
+ _computedKey1 = inspect.custom;
254
254
  /**
255
255
  * Fq field class.
256
256
  * @dev This class is used to represent elements of BLS12-381 base field.
@@ -263,7 +263,7 @@ TypeRegistry.register('BLS12Fr', BLS12Fr);
263
263
  constructor(value){
264
264
  super(value);
265
265
  }
266
- [inspect.custom]() {
266
+ [_computedKey1]() {
267
267
  return `BLS12Fq<${this.toString()}>`;
268
268
  }
269
269
  modulus() {
@@ -355,5 +355,3 @@ TypeRegistry.register('BLS12Fr', BLS12Fr);
355
355
  return hexSchemaFor(BLS12Fq);
356
356
  }
357
357
  }
358
- // For deserializing JSON.
359
- TypeRegistry.register('BLS12Fq', BLS12Fq);
@@ -0,0 +1,3 @@
1
+ export * from './field.js';
2
+ export * from './point.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYmxzMTIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxZQUFZLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './field.js';
2
+ export * from './point.js';
@@ -1,8 +1,8 @@
1
1
  import type { ProjPointType } from '@noble/curves/abstract/weierstrass';
2
2
  import { inspect } from 'util';
3
- import { BufferReader } from '../serialize/index.js';
4
- import { BLS12Fq, BLS12Fr } from './bls12_fields.js';
5
- import { Fr } from './fields.js';
3
+ import { BufferReader } from '../../serialize/index.js';
4
+ import { Fr } from '../bn254/field.js';
5
+ import { BLS12Fq, BLS12Fr } from './field.js';
6
6
  /**
7
7
  * Represents a Point on an elliptic curve with x and y coordinates.
8
8
  * The Point class provides methods for creating instances from different input types,
@@ -10,8 +10,17 @@ import { Fr } from './fields.js';
10
10
  * TODO(#7386): Clean up this class.
11
11
  */
12
12
  export declare class BLS12Point {
13
+ /**
14
+ * The point's x coordinate
15
+ */
13
16
  readonly x: BLS12Fq;
17
+ /**
18
+ * The point's y coordinate
19
+ */
14
20
  readonly y: BLS12Fq;
21
+ /**
22
+ * Whether the point is at infinity
23
+ */
15
24
  readonly isInfinite: boolean;
16
25
  static ZERO: BLS12Point;
17
26
  static ONE: BLS12Point;
@@ -33,7 +42,7 @@ export declare class BLS12Point {
33
42
  isInfinite: boolean);
34
43
  toJSON(): `0x${string}`;
35
44
  [inspect.custom](): string;
36
- static get schema(): import("zod").ZodType<BLS12Point, any, string>;
45
+ static get schema(): import("zod").ZodType<BLS12Point, string, import("zod/v4/core").$ZodTypeInternals<BLS12Point, string>>;
37
46
  /**
38
47
  * Generate a random Point instance.
39
48
  *
@@ -217,4 +226,4 @@ export declare class BLS12Point {
217
226
  export declare class BLSPointNotOnCurveError extends Error {
218
227
  constructor(x: BLS12Fq, y?: BLS12Fq);
219
228
  }
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxzMTJfcG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvYmxzMTJfcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLHVCQUF1QixDQUFDO0FBRXhFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqQzs7Ozs7R0FLRztBQUNILHFCQUFhLFVBQVU7YUFXSCxDQUFDLEVBQUUsT0FBTzthQUlWLENBQUMsRUFBRSxPQUFPO2FBSVYsVUFBVSxFQUFFLE9BQU87SUFsQnJDLE1BQU0sQ0FBQyxJQUFJLGFBQW9EO0lBQy9ELE1BQU0sQ0FBQyxHQUFHLGFBQWlHO0lBQzNHLE1BQU0sQ0FBQyxhQUFhLFNBQTZCO0lBQ2pELE1BQU0sQ0FBQyx3QkFBd0IsU0FBeUI7SUFDeEQsTUFBTSxDQUFDLGVBQWUsMEJBQXNGO0lBRTVHO0lBQ0U7O09BRUc7SUFDYSxDQUFDLEVBQUUsT0FBTztJQUMxQjs7T0FFRztJQUNhLENBQUMsRUFBRSxPQUFPO0lBQzFCOztPQUVHO0lBQ2EsVUFBVSxFQUFFLE9BQU8sRUFRcEM7SUFFRCxNQUFNLGtCQUVMO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBTWY7SUFFRCxNQUFNLEtBQUssTUFBTSxtREFFaEI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sZUFZWjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBSTlDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sY0FFNUI7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxRQUFRLElBQUksTUFBTSxDQU1qQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxVQUFVLENBcUI1QztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsYUFBYSxTQUdaO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsY0FFdEM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUV6QztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxjQU8zRDtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxjQWM1QztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBRXhDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sR0FBRyxJQUFJLENBS3hDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxXQVd0QztJQUVEOzs7T0FHRztJQUNILGVBQWUsY0FFZDtJQUVEOzs7O09BSUc7SUFDSCxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBRS9CO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUzs7OztNQU1SO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsNEJBTVA7SUFFRDs7Ozs7O09BTUc7SUFDSCxRQUFRLGtCQUVQO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLFdBRXJCO0lBRUQ7O09BRUc7SUFDSCxNQUFNLFlBRUw7SUFFRDs7O09BR0c7SUFDSCxJQUFXLEdBQUcsWUFFYjtJQUVELCtDQUErQztJQUUvQyxzQkFBc0IsMEJBRXJCO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLGNBRWxCO0lBRUQsTUFBTSxlQUVMO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLGNBRWxCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxjQU1mO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLGNBRXJCO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLGNBT3BEO0NBQ0Y7QUFFRCxxQkFBYSx1QkFBd0IsU0FBUSxLQUFLO0lBQ2hELFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBR2xDO0NBQ0YifQ==
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYmxzMTIvcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFHeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDBCQUEwQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5Qzs7Ozs7R0FLRztBQUNILHFCQUFhLFVBQVU7SUFRbkI7O09BRUc7YUFDYSxDQUFDLEVBQUUsT0FBTztJQUMxQjs7T0FFRzthQUNhLENBQUMsRUFBRSxPQUFPO0lBQzFCOztPQUVHO2FBQ2EsVUFBVSxFQUFFLE9BQU87SUFsQnJDLE1BQU0sQ0FBQyxJQUFJLGFBQW9EO0lBQy9ELE1BQU0sQ0FBQyxHQUFHLGFBQWlHO0lBQzNHLE1BQU0sQ0FBQyxhQUFhLFNBQTZCO0lBQ2pELE1BQU0sQ0FBQyx3QkFBd0IsU0FBeUI7SUFDeEQsTUFBTSxDQUFDLGVBQWUsMEJBQXNGO0lBRTVHO0lBQ0U7O09BRUc7SUFDYSxDQUFDLEVBQUUsT0FBTztJQUMxQjs7T0FFRztJQUNhLENBQUMsRUFBRSxPQUFPO0lBQzFCOztPQUVHO0lBQ2EsVUFBVSxFQUFFLE9BQU8sRUFRcEM7SUFFRCxNQUFNLGtCQUVMO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBTWY7SUFFRCxNQUFNLEtBQUssTUFBTSwyR0FFaEI7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sZUFZWjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBSTlDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sY0FFNUI7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxRQUFRLElBQUksTUFBTSxDQU1qQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxVQUFVLENBcUI1QztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsYUFBYSxTQUdaO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsY0FFdEM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxjQUV6QztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxjQU8zRDtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxjQWM1QztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxPQUFPLENBRXhDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sR0FBRyxJQUFJLENBS3hDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxXQVd0QztJQUVEOzs7T0FHRztJQUNILGVBQWUsY0FFZDtJQUVEOzs7O09BSUc7SUFDSCxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBRS9CO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUzs7OztNQU1SO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVEsNEJBTVA7SUFFRDs7Ozs7O09BTUc7SUFDSCxRQUFRLGtCQUVQO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLFdBRXJCO0lBRUQ7O09BRUc7SUFDSCxNQUFNLFlBRUw7SUFFRDs7O09BR0c7SUFDSCxJQUFXLEdBQUcsWUFFYjtJQUVELCtDQUErQztJQUUvQyxzQkFBc0IsMEJBRXJCO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLGNBRWxCO0lBRUQsTUFBTSxlQUVMO0lBRUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLGNBRWxCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxjQU1mO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLGNBRXJCO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLGNBT3BEO0NBQ0Y7QUFFRCxxQkFBYSx1QkFBd0IsU0FBUSxLQUFLO0lBQ2hELFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBR2xDO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/point.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAE3E,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,qBAAa,UAAU;IAQnB;;OAEG;aACa,CAAC,EAAE,OAAO;IAC1B;;OAEG;aACa,CAAC,EAAE,OAAO;IAC1B;;OAEG;aACa,UAAU,EAAE,OAAO;IAlBrC,MAAM,CAAC,IAAI,aAAoD;IAC/D,MAAM,CAAC,GAAG,aAAiG;IAC3G,MAAM,CAAC,aAAa,SAA6B;IACjD,MAAM,CAAC,wBAAwB,SAAyB;IACxD,MAAM,CAAC,eAAe,0BAAsF;IAE5G;IACE;;OAEG;IACa,CAAC,EAAE,OAAO;IAC1B;;OAEG;IACa,CAAC,EAAE,OAAO;IAC1B;;OAEG;IACa,UAAU,EAAE,OAAO,EAQpC;IAED,MAAM,kBAEL;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAMf;IAED,MAAM,KAAK,MAAM,2GAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAM,eAYZ;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,cAI9C;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,cAE5B;IAED;;;;;;;;;;;;OAYG;IACH,QAAQ,IAAI,MAAM,CAMjB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAqB5C;IAED;;;;;;;;;;;OAWG;IACH,aAAa,SAGZ;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,cAEtC;IAED;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,cAEzC;IAED;;;OAGG;IACH,MAAM,CAAC,wBAAwB,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,cAO3D;IAED;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,cAc5C;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAExC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAKxC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,WAWtC;IAED;;;OAGG;IACH,eAAe,cAEd;IAED;;;;OAIG;IACH,UAAU,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAE/B;IAED;;;OAGG;IACH,SAAS;;;;MAMR;IAED;;;;OAIG;IACH,QAAQ,4BAMP;IAED;;;;;;OAMG;IACH,QAAQ,kBAEP;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,UAAU,WAErB;IAED;;OAEG;IACH,MAAM,YAEL;IAED;;;OAGG;IACH,IAAW,GAAG,YAEb;IAED,+CAA+C;IAE/C,sBAAsB,0BAErB;IAED,GAAG,CAAC,GAAG,EAAE,UAAU,cAElB;IAED,MAAM,eAEL;IAED,GAAG,CAAC,GAAG,EAAE,UAAU,cAElB;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,GAAG,EAAE,OAAO,cAMf;IAED;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,cAErB;IAED;;;;;OAKG;IACH,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,cAOpD;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAGlC;CACF"}
@@ -1,12 +1,14 @@
1
+ var _computedKey;
1
2
  /* eslint-disable camelcase */ import { bls12_381 } from '@noble/curves/bls12-381';
2
3
  import { inspect } from 'util';
3
- import { toBufferBE } from '../bigint-buffer/index.js';
4
- import { randomBoolean } from '../crypto/random/index.js';
5
- import { hexSchemaFor } from '../schemas/utils.js';
6
- import { BufferReader, serializeToBuffer } from '../serialize/index.js';
7
- import { bufferToHex, hexToBuffer } from '../string/index.js';
8
- import { BLS12Fq } from './bls12_fields.js';
9
- import { Fr } from './fields.js';
4
+ import { toBufferBE } from '../../bigint-buffer/index.js';
5
+ import { randomBoolean } from '../../crypto/random/index.js';
6
+ import { hexSchemaFor } from '../../schemas/utils.js';
7
+ import { BufferReader, serializeToBuffer } from '../../serialize/index.js';
8
+ import { bufferToHex, hexToBuffer } from '../../string/index.js';
9
+ import { Fr } from '../bn254/field.js';
10
+ import { BLS12Fq } from './field.js';
11
+ _computedKey = inspect.custom;
10
12
  /**
11
13
  * Represents a Point on an elliptic curve with x and y coordinates.
12
14
  * The Point class provides methods for creating instances from different input types,
@@ -44,7 +46,7 @@ import { Fr } from './fields.js';
44
46
  toJSON() {
45
47
  return this.toString();
46
48
  }
47
- [inspect.custom]() {
49
+ [_computedKey]() {
48
50
  return `BLS12Point {
49
51
  x: ${inspect(this.x)},
50
52
  y: ${inspect(this.y)},
@@ -0,0 +1,185 @@
1
+ import { inspect } from 'util';
2
+ import { BufferReader } from '../../serialize/buffer_reader.js';
3
+ import type { BufferSink } from '../../serialize/buffer_sink.js';
4
+ /**
5
+ * Represents a field derived from BaseField.
6
+ */
7
+ type DerivedField<T extends BaseField> = {
8
+ new (value: any): T;
9
+ /**
10
+ * All derived fields will specify a MODULUS.
11
+ */
12
+ MODULUS: bigint;
13
+ };
14
+ /**
15
+ * Base field class.
16
+ * Uses bigint as the internal representation.
17
+ * Buffers are generated on demand from the bigint value.
18
+ */
19
+ declare abstract class BaseField {
20
+ static SIZE_IN_BYTES: number;
21
+ private readonly asBigInt;
22
+ /**
23
+ * Return bigint representation.
24
+ * @deprecated Just to get things compiling. Use toBigInt().
25
+ * */
26
+ get value(): bigint;
27
+ /** Returns the size in bytes. */
28
+ get size(): number;
29
+ protected constructor(value: number | bigint | boolean | BaseField | Buffer);
30
+ protected abstract modulus(): bigint;
31
+ /**
32
+ * Converts the bigint to a Buffer. With a sink, streams the 32 big-endian bytes straight in (no allocation)
33
+ * and returns undefined; without one, returns a freshly allocated buffer.
34
+ */
35
+ toBuffer(): Buffer;
36
+ toBuffer(sink: BufferSink): void;
37
+ toString(): `0x${string}`;
38
+ toBigInt(): bigint;
39
+ toBool(): boolean;
40
+ /**
41
+ * Converts this field to a number.
42
+ * Throws if the underlying value is greater than MAX_SAFE_INTEGER.
43
+ */
44
+ toNumber(): number;
45
+ /**
46
+ * Converts this field to a number.
47
+ * May cause loss of precision if the underlying value is greater than MAX_SAFE_INTEGER.
48
+ */
49
+ toNumberUnsafe(): number;
50
+ toShortString(): string;
51
+ equals(rhs: BaseField): boolean;
52
+ lt(rhs: BaseField): boolean;
53
+ cmp(rhs: BaseField): -1 | 0 | 1;
54
+ static cmp(lhs: BaseField, rhs: BaseField): -1 | 0 | 1;
55
+ static cmpAsBigInt(lhs: bigint, rhs: bigint): -1 | 0 | 1;
56
+ isZero(): boolean;
57
+ isEmpty(): boolean;
58
+ toFriendlyJSON(): string;
59
+ toField(): this;
60
+ }
61
+ /**
62
+ * Constructs a field from a Buffer of BufferReader.
63
+ * It maybe not read the full 32 bytes if the Buffer is shorter, but it will padded in BaseField constructor.
64
+ */
65
+ export declare function fromBuffer<T extends BaseField>(buffer: Buffer | BufferReader, f: DerivedField<T>): T;
66
+ /**
67
+ * Abstract unbranded base class for BN254 scalar field elements.
68
+ * Extend this instead of Fr when defining a branded subtype (e.g. BlockHash)
69
+ * to avoid inheriting Fr's `_branding`.
70
+ */
71
+ export declare abstract class BaseFr extends BaseField {
72
+ static MODULUS: bigint;
73
+ constructor(value: number | bigint | boolean | BaseField | Buffer);
74
+ protected modulus(): bigint;
75
+ toJSON(): `0x${string}`;
76
+ }
77
+ /**
78
+ * Fr field class.
79
+ * @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
80
+ * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
81
+ */
82
+ export declare class Fr extends BaseFr {
83
+ /** Branding for nominal typing. */
84
+ private readonly _branding;
85
+ static MODULUS: bigint;
86
+ static ZERO: Fr;
87
+ static ONE: Fr;
88
+ static MAX_FIELD_VALUE: Fr;
89
+ constructor(value: number | bigint | boolean | Fr | Buffer);
90
+ [inspect.custom](): string;
91
+ static random(): Fr;
92
+ static zero(): Fr;
93
+ static isZero(value: Fr): boolean;
94
+ static fromBuffer(buffer: Buffer | BufferReader): Fr;
95
+ static fromBufferReduce(buffer: Buffer): Fr;
96
+ /**
97
+ * Creates a Fr instance from a string.
98
+ * @param buf - the string to create a Fr from.
99
+ * @returns the Fr instance
100
+ * @remarks if the string only consists of numbers, we assume we are parsing a bigint,
101
+ * otherwise we require the hex string to be prepended with "0x", to ensure there is no misunderstanding
102
+ * as to what is being parsed.
103
+ */
104
+ static fromString(buf: string): Fr;
105
+ /**
106
+ * Creates a Fr instance from a hex string.
107
+ * @param buf - a hex encoded string.
108
+ * @returns the Fr instance
109
+ */
110
+ static fromHexString(buf: string): Fr;
111
+ /** Arithmetic */
112
+ add(rhs: Fr): Fr;
113
+ square(): Fr;
114
+ negate(): Fr;
115
+ sub(rhs: Fr): Fr;
116
+ mul(rhs: Fr): Fr;
117
+ div(rhs: Fr): Fr;
118
+ ediv(rhs: Fr): Fr;
119
+ /**
120
+ * Computes a square root of the field element.
121
+ * @returns A square root of the field element (null if it does not exist).
122
+ */
123
+ sqrt(): Promise<Fr | null>;
124
+ /**
125
+ * Creates an Fr instance from a plain object without Zod validation.
126
+ * This method is optimized for performance and skips validation, making it suitable
127
+ * for deserializing trusted data (e.g., from C++ via MessagePack).
128
+ * Handles buffers, strings, numbers, bigints, or existing instances.
129
+ * @param obj - Plain object, buffer, string, number, bigint, boolean, or Fr instance
130
+ * @returns An Fr instance
131
+ */
132
+ static fromPlainObject(obj: any): Fr;
133
+ static get schema(): import("zod").ZodType<Fr, string, import("zod/v4/core").$ZodTypeInternals<Fr, string>>;
134
+ }
135
+ /**
136
+ * Fq field class.
137
+ * @dev This class is used to represent elements of BN254 base field or elements in the scalar field of Grumpkin.
138
+ * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
139
+ */
140
+ export declare class Fq extends BaseField {
141
+ /** Branding for nominal typing. */
142
+ private readonly _branding;
143
+ static ZERO: Fq;
144
+ static MODULUS: bigint;
145
+ private static HIGH_SHIFT;
146
+ private static LOW_MASK;
147
+ [inspect.custom](): string;
148
+ get lo(): Fr;
149
+ get hi(): Fr;
150
+ constructor(value: number | bigint | boolean | Fq | Buffer);
151
+ protected modulus(): bigint;
152
+ static random(): Fq;
153
+ static zero(): Fq;
154
+ static fromBuffer(buffer: Buffer | BufferReader): Fq;
155
+ static fromBufferReduce(buffer: Buffer): Fq;
156
+ /**
157
+ * Creates a Fq instance from a string.
158
+ * @param buf - the string to create a Fq from.
159
+ * @returns the Fq instance
160
+ * @remarks if the string only consists of numbers, we assume we are parsing a bigint,
161
+ * otherwise we require the hex string to be prepended with "0x", to ensure there is no misunderstanding
162
+ * as to what is being parsed.
163
+ */
164
+ static fromString(buf: string): Fq;
165
+ /**
166
+ * Creates a Fq instance from a hex string.
167
+ * @param buf - a hex encoded string.
168
+ * @returns the Fq instance
169
+ */
170
+ static fromHexString(buf: string): Fq;
171
+ static fromHighLow(high: Fr, low: Fr): Fq;
172
+ add(rhs: Fq): Fq;
173
+ /**
174
+ * Computes a square root of the field element.
175
+ * @returns A square root of the field element (null if it does not exist).
176
+ */
177
+ sqrt(): Promise<Fq | null>;
178
+ toJSON(): `0x${string}`;
179
+ toFields(): Fr[];
180
+ static get schema(): import("zod").ZodType<Fq, string, import("zod/v4/core").$ZodTypeInternals<Fq, string>>;
181
+ }
182
+ /** Wraps a function that returns a buffer so that all results are reduced into a field of the given type. */
183
+ export declare function reduceFn<TInput, TField extends BaseField>(fn: (input: TInput) => Buffer, field: DerivedField<TField>): (input: TInput) => TField;
184
+ export {};
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYm4yNTQvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFakU7O0dBRUc7QUFDSCxLQUFLLFlBQVksQ0FBQyxDQUFDLFNBQVMsU0FBUyxJQUFJO0lBQ3ZDLEtBQUssS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsdUJBQWUsU0FBUztJQUN0QixNQUFNLENBQUMsYUFBYSxTQUFNO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFTO0lBRWxDOzs7U0FHSztJQUNMLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FFbEI7SUFFRCxpQ0FBaUM7SUFDakMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUVqQjtJQUVELFNBQVMsYUFBYSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsU0FBUyxHQUFHLE1BQU0sRUFtQjFFO0lBRUQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDO0lBRXJDOzs7T0FHRztJQUNILFFBQVEsSUFBSSxNQUFNLENBQUM7SUFDbkIsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBUWpDLFFBQVEsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUV4QjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxJQUFJLE9BQU8sQ0FFaEI7SUFFRDs7O09BR0c7SUFDSCxRQUFRLElBQUksTUFBTSxD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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bn254/field.ts"],"names":[],"mappings":"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"}