@aztec/foundation 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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 (352) hide show
  1. package/dest/array/sorted_array.d.ts +6 -1
  2. package/dest/array/sorted_array.d.ts.map +1 -1
  3. package/dest/array/sorted_array.js +18 -15
  4. package/dest/bigint-buffer/index.d.ts +1 -1
  5. package/dest/bigint-buffer/index.d.ts.map +1 -1
  6. package/dest/bigint-buffer/index.js +6 -1
  7. package/dest/branded-types/block_number.d.ts +6 -3
  8. package/dest/branded-types/block_number.d.ts.map +1 -1
  9. package/dest/branded-types/block_number.js +18 -4
  10. package/dest/branded-types/buffer32_hash.d.ts +27 -0
  11. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  12. package/dest/branded-types/buffer32_hash.js +12 -0
  13. package/dest/branded-types/checkpoint_number.d.ts +9 -3
  14. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  15. package/dest/branded-types/checkpoint_number.js +11 -0
  16. package/dest/branded-types/epoch.d.ts +2 -2
  17. package/dest/branded-types/epoch.d.ts.map +1 -1
  18. package/dest/branded-types/index.d.ts +3 -1
  19. package/dest/branded-types/index.d.ts.map +1 -1
  20. package/dest/branded-types/index.js +2 -0
  21. package/dest/branded-types/index_within_checkpoint.d.ts +42 -0
  22. package/dest/branded-types/index_within_checkpoint.d.ts.map +1 -0
  23. package/dest/branded-types/index_within_checkpoint.js +59 -0
  24. package/dest/branded-types/slot.d.ts +5 -2
  25. package/dest/branded-types/slot.d.ts.map +1 -1
  26. package/dest/branded-types/slot.js +3 -0
  27. package/dest/buffer/buffer16.d.ts +6 -1
  28. package/dest/buffer/buffer16.d.ts.map +1 -1
  29. package/dest/buffer/buffer32.d.ts +28 -58
  30. package/dest/buffer/buffer32.d.ts.map +1 -1
  31. package/dest/buffer/buffer32.js +29 -63
  32. package/dest/buffer/index.d.ts +2 -1
  33. package/dest/buffer/index.d.ts.map +1 -1
  34. package/dest/buffer/index.js +1 -0
  35. package/dest/buffer/utils.d.ts +3 -0
  36. package/dest/buffer/utils.d.ts.map +1 -0
  37. package/dest/buffer/utils.js +7 -0
  38. package/dest/collection/array.d.ts +22 -1
  39. package/dest/collection/array.d.ts.map +1 -1
  40. package/dest/collection/array.js +84 -0
  41. package/dest/collection/index.d.ts +3 -1
  42. package/dest/collection/index.d.ts.map +1 -1
  43. package/dest/collection/index.js +2 -0
  44. package/dest/collection/lru_map.d.ts +41 -0
  45. package/dest/collection/lru_map.d.ts.map +1 -0
  46. package/dest/collection/lru_map.js +119 -0
  47. package/dest/collection/lru_set.d.ts +35 -0
  48. package/dest/collection/lru_set.d.ts.map +1 -0
  49. package/dest/collection/lru_set.js +95 -0
  50. package/dest/committable/committable.js +1 -1
  51. package/dest/config/env_var.d.ts +2 -2
  52. package/dest/config/env_var.d.ts.map +1 -1
  53. package/dest/config/index.d.ts +50 -29
  54. package/dest/config/index.d.ts.map +1 -1
  55. package/dest/config/index.js +57 -43
  56. package/dest/config/network_config.d.ts +15 -41
  57. package/dest/config/network_config.d.ts.map +1 -1
  58. package/dest/config/network_config.js +4 -1
  59. package/dest/config/network_name.d.ts +2 -2
  60. package/dest/config/network_name.d.ts.map +1 -1
  61. package/dest/config/network_name.js +2 -2
  62. package/dest/config/secret_value.d.ts +2 -2
  63. package/dest/config/secret_value.d.ts.map +1 -1
  64. package/dest/crypto/aes128/index.d.ts +2 -1
  65. package/dest/crypto/aes128/index.d.ts.map +1 -1
  66. package/dest/crypto/aes128/index.js +11 -2
  67. package/dest/crypto/bls/bn254_keystore.d.ts +9 -176
  68. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  69. package/dest/crypto/bls/bn254_keystore.js +0 -17
  70. package/dest/crypto/ecdsa/signature.d.ts +10 -1
  71. package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
  72. package/dest/crypto/poseidon/index.d.ts +1 -2
  73. package/dest/crypto/poseidon/index.d.ts.map +1 -1
  74. package/dest/crypto/poseidon/index.js +40 -42
  75. package/dest/crypto/random/randomness_singleton.d.ts +4 -3
  76. package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
  77. package/dest/crypto/random/randomness_singleton.js +4 -4
  78. package/dest/crypto/schnorr/index.d.ts +8 -7
  79. package/dest/crypto/schnorr/index.d.ts.map +1 -1
  80. package/dest/crypto/schnorr/index.js +6 -6
  81. package/dest/crypto/schnorr/signature.d.ts +9 -29
  82. package/dest/crypto/schnorr/signature.d.ts.map +1 -1
  83. package/dest/crypto/schnorr/signature.js +20 -36
  84. package/dest/crypto/secp256k1-signer/utils.d.ts +12 -1
  85. package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
  86. package/dest/crypto/secp256k1-signer/utils.js +26 -0
  87. package/dest/crypto/sync/poseidon/index.d.ts +1 -2
  88. package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
  89. package/dest/crypto/sync/poseidon/index.js +0 -8
  90. package/dest/curves/bls12/field.d.ts +3 -3
  91. package/dest/curves/bls12/field.d.ts.map +1 -1
  92. package/dest/curves/bls12/field.js +0 -5
  93. package/dest/curves/bls12/point.d.ts +11 -2
  94. package/dest/curves/bls12/point.d.ts.map +1 -1
  95. package/dest/curves/bn254/field.d.ts +24 -19
  96. package/dest/curves/bn254/field.d.ts.map +1 -1
  97. package/dest/curves/bn254/field.js +28 -19
  98. package/dest/curves/grumpkin/point.d.ts +21 -26
  99. package/dest/curves/grumpkin/point.d.ts.map +1 -1
  100. package/dest/curves/grumpkin/point.js +29 -43
  101. package/dest/error/index.d.ts +4 -4
  102. package/dest/error/index.d.ts.map +1 -1
  103. package/dest/eth-address/index.d.ts +2 -2
  104. package/dest/eth-address/index.d.ts.map +1 -1
  105. package/dest/eth-address/index.js +0 -3
  106. package/dest/eth-signature/eth_signature.d.ts +6 -2
  107. package/dest/eth-signature/eth_signature.d.ts.map +1 -1
  108. package/dest/eth-signature/eth_signature.js +7 -2
  109. package/dest/fifo/fifo_frame_reader.d.ts +41 -0
  110. package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
  111. package/dest/fifo/fifo_frame_reader.js +74 -0
  112. package/dest/fifo/index.d.ts +2 -0
  113. package/dest/fifo/index.d.ts.map +1 -0
  114. package/dest/fifo/index.js +1 -0
  115. package/dest/fifo_set/fifo_set.d.ts +15 -0
  116. package/dest/fifo_set/fifo_set.d.ts.map +1 -0
  117. package/dest/fifo_set/fifo_set.js +39 -0
  118. package/dest/fifo_set/index.d.ts +2 -0
  119. package/dest/fifo_set/index.d.ts.map +1 -0
  120. package/dest/fifo_set/index.js +1 -0
  121. package/dest/jest/setup.js +28 -1
  122. package/dest/json-rpc/client/fetch.d.ts +1 -1
  123. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  124. package/dest/json-rpc/client/fetch.js +4 -3
  125. package/dest/json-rpc/client/safe_json_rpc_client.d.ts +2 -1
  126. package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
  127. package/dest/json-rpc/client/safe_json_rpc_client.js +3 -3
  128. package/dest/json-rpc/client/undici.d.ts +1 -1
  129. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  130. package/dest/json-rpc/client/undici.js +23 -4
  131. package/dest/json-rpc/fixtures/class_a.d.ts +3 -3
  132. package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
  133. package/dest/json-rpc/fixtures/class_b.d.ts +3 -3
  134. package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
  135. package/dest/json-rpc/fixtures/test_state.d.ts +4 -8
  136. package/dest/json-rpc/fixtures/test_state.d.ts.map +1 -1
  137. package/dest/json-rpc/fixtures/test_state.js +57 -17
  138. package/dest/json-rpc/server/api_key_auth.d.ts +19 -0
  139. package/dest/json-rpc/server/api_key_auth.d.ts.map +1 -0
  140. package/dest/json-rpc/server/api_key_auth.js +57 -0
  141. package/dest/json-rpc/server/index.d.ts +2 -1
  142. package/dest/json-rpc/server/index.d.ts.map +1 -1
  143. package/dest/json-rpc/server/index.js +1 -0
  144. package/dest/json-rpc/server/safe_json_rpc_server.d.ts +8 -3
  145. package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
  146. package/dest/json-rpc/server/safe_json_rpc_server.js +28 -14
  147. package/dest/log/bigint-utils.d.ts +5 -0
  148. package/dest/log/bigint-utils.d.ts.map +1 -0
  149. package/dest/log/bigint-utils.js +21 -0
  150. package/dest/log/gcloud-logger-config.d.ts +1 -1
  151. package/dest/log/gcloud-logger-config.d.ts.map +1 -1
  152. package/dest/log/gcloud-logger-config.js +3 -0
  153. package/dest/log/libp2p_logger.d.ts +5 -2
  154. package/dest/log/libp2p_logger.d.ts.map +1 -1
  155. package/dest/log/libp2p_logger.js +14 -4
  156. package/dest/log/log-filters.d.ts +17 -4
  157. package/dest/log/log-filters.d.ts.map +1 -1
  158. package/dest/log/log-filters.js +26 -12
  159. package/dest/log/pino-logger-server.d.ts +9 -0
  160. package/dest/log/pino-logger-server.d.ts.map +1 -0
  161. package/dest/log/pino-logger-server.js +18 -0
  162. package/dest/log/pino-logger.d.ts +37 -8
  163. package/dest/log/pino-logger.d.ts.map +1 -1
  164. package/dest/log/pino-logger.js +137 -29
  165. package/dest/noir/noir_package_config.d.ts +19 -104
  166. package/dest/noir/noir_package_config.d.ts.map +1 -1
  167. package/dest/noir/noir_package_config.js +1 -1
  168. package/dest/queue/base_memory_queue.d.ts +2 -2
  169. package/dest/queue/base_memory_queue.d.ts.map +1 -1
  170. package/dest/queue/batch_queue.d.ts +1 -1
  171. package/dest/queue/batch_queue.d.ts.map +1 -1
  172. package/dest/queue/batch_queue.js +1 -0
  173. package/dest/queue/semaphore.d.ts +5 -1
  174. package/dest/queue/semaphore.d.ts.map +1 -1
  175. package/dest/retry/index.d.ts +22 -1
  176. package/dest/retry/index.d.ts.map +1 -1
  177. package/dest/retry/index.js +32 -0
  178. package/dest/schemas/api.d.ts +12 -10
  179. package/dest/schemas/api.d.ts.map +1 -1
  180. package/dest/schemas/api.js +7 -1
  181. package/dest/schemas/parse.d.ts +4 -4
  182. package/dest/schemas/parse.d.ts.map +1 -1
  183. package/dest/schemas/parse.js +6 -5
  184. package/dest/schemas/schemas.d.ts +15 -15
  185. package/dest/schemas/types.d.ts +3 -3
  186. package/dest/schemas/types.d.ts.map +1 -1
  187. package/dest/schemas/utils.d.ts +7 -11
  188. package/dest/schemas/utils.d.ts.map +1 -1
  189. package/dest/schemas/utils.js +2 -18
  190. package/dest/serialize/buffer_reader.d.ts +14 -4
  191. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  192. package/dest/serialize/buffer_reader.js +26 -4
  193. package/dest/serialize/buffer_sink.d.ts +134 -0
  194. package/dest/serialize/buffer_sink.d.ts.map +1 -0
  195. package/dest/serialize/buffer_sink.js +297 -0
  196. package/dest/serialize/index.d.ts +2 -1
  197. package/dest/serialize/index.d.ts.map +1 -1
  198. package/dest/serialize/index.js +1 -0
  199. package/dest/serialize/serialize.d.ts +19 -1
  200. package/dest/serialize/serialize.d.ts.map +1 -1
  201. package/dest/serialize/serialize.js +31 -0
  202. package/dest/sleep/index.d.ts +2 -1
  203. package/dest/sleep/index.d.ts.map +1 -1
  204. package/dest/sleep/index.js +10 -1
  205. package/dest/string/index.js +1 -1
  206. package/dest/timer/date.d.ts +25 -1
  207. package/dest/timer/date.d.ts.map +1 -1
  208. package/dest/timer/date.js +33 -0
  209. package/dest/timer/index.d.ts +2 -2
  210. package/dest/timer/index.d.ts.map +1 -1
  211. package/dest/timer/index.js +1 -1
  212. package/dest/timer/timeout.d.ts +3 -1
  213. package/dest/timer/timeout.d.ts.map +1 -1
  214. package/dest/timer/timeout.js +26 -0
  215. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  216. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  217. package/dest/transport/index.d.ts +1 -2
  218. package/dest/transport/index.d.ts.map +1 -1
  219. package/dest/transport/index.js +0 -1
  220. package/dest/transport/transport_client.js +2 -2
  221. package/dest/trees/balanced_merkle_tree_root.d.ts +16 -0
  222. package/dest/trees/balanced_merkle_tree_root.d.ts.map +1 -0
  223. package/dest/trees/{balanced_merkle_tree.js → balanced_merkle_tree_root.js} +3 -19
  224. package/dest/trees/hasher.d.ts +4 -1
  225. package/dest/trees/hasher.d.ts.map +1 -1
  226. package/dest/trees/hasher.js +10 -5
  227. package/dest/trees/index.d.ts +4 -4
  228. package/dest/trees/index.d.ts.map +1 -1
  229. package/dest/trees/index.js +3 -3
  230. package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
  231. package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
  232. package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
  233. package/dest/trees/membership_witness.d.ts +12 -2
  234. package/dest/trees/membership_witness.d.ts.map +1 -1
  235. package/dest/trees/membership_witness.js +9 -0
  236. package/dest/trees/merkle_tree_calculator.d.ts +4 -2
  237. package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
  238. package/dest/trees/merkle_tree_calculator.js +1 -5
  239. package/dest/trees/sibling_path.d.ts +6 -4
  240. package/dest/trees/sibling_path.d.ts.map +1 -1
  241. package/dest/trees/sibling_path.js +10 -8
  242. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts +2 -2
  243. package/dest/trees/unbalanced_merkle_tree_calculator.d.ts.map +1 -1
  244. package/dest/trees/unbalanced_merkle_tree_calculator.js +1 -1
  245. package/dest/trees/{unbalanced_merkle_tree.d.ts → unbalanced_merkle_tree_root.d.ts} +4 -9
  246. package/dest/trees/unbalanced_merkle_tree_root.d.ts.map +1 -0
  247. package/dest/trees/{unbalanced_merkle_tree.js → unbalanced_merkle_tree_root.js} +9 -54
  248. package/dest/trees/unbalanced_tree_store.d.ts +5 -1
  249. package/dest/trees/unbalanced_tree_store.d.ts.map +1 -1
  250. package/dest/trees/unbalanced_tree_store.js +49 -1
  251. package/dest/types/index.d.ts +12 -2
  252. package/dest/types/index.d.ts.map +1 -1
  253. package/dest/types/index.js +3 -0
  254. package/package.json +29 -6
  255. package/src/array/sorted_array.ts +22 -17
  256. package/src/bigint-buffer/index.ts +6 -1
  257. package/src/branded-types/block_number.ts +25 -2
  258. package/src/branded-types/buffer32_hash.ts +38 -0
  259. package/src/branded-types/checkpoint_number.ts +16 -1
  260. package/src/branded-types/epoch.ts +1 -1
  261. package/src/branded-types/index.ts +2 -0
  262. package/src/branded-types/index_within_checkpoint.ts +88 -0
  263. package/src/branded-types/slot.ts +6 -1
  264. package/src/buffer/buffer16.ts +3 -0
  265. package/src/buffer/buffer32.ts +39 -68
  266. package/src/buffer/index.ts +1 -0
  267. package/src/buffer/utils.ts +8 -0
  268. package/src/collection/array.ts +86 -0
  269. package/src/collection/index.ts +2 -0
  270. package/src/collection/lru_map.ts +143 -0
  271. package/src/collection/lru_set.ts +115 -0
  272. package/src/committable/committable.ts +1 -1
  273. package/src/config/env_var.ts +84 -28
  274. package/src/config/index.ts +132 -95
  275. package/src/config/network_config.ts +3 -0
  276. package/src/config/network_name.ts +4 -4
  277. package/src/config/secret_value.ts +1 -1
  278. package/src/crypto/aes128/index.ts +11 -2
  279. package/src/crypto/bls/bn254_keystore.ts +0 -23
  280. package/src/crypto/poseidon/index.ts +42 -44
  281. package/src/crypto/random/randomness_singleton.ts +9 -5
  282. package/src/crypto/schnorr/index.ts +9 -8
  283. package/src/crypto/schnorr/signature.ts +17 -46
  284. package/src/crypto/secp256k1-signer/utils.ts +32 -0
  285. package/src/crypto/sync/poseidon/index.ts +0 -9
  286. package/src/curves/bls12/field.ts +0 -7
  287. package/src/curves/bn254/field.ts +41 -36
  288. package/src/curves/grumpkin/point.ts +23 -40
  289. package/src/eth-address/index.ts +0 -4
  290. package/src/eth-signature/eth_signature.ts +7 -1
  291. package/src/fifo/fifo_frame_reader.ts +98 -0
  292. package/src/fifo/index.ts +1 -0
  293. package/src/fifo_set/fifo_set.ts +52 -0
  294. package/src/fifo_set/index.ts +1 -0
  295. package/src/jest/setup.mjs +31 -1
  296. package/src/json-rpc/client/fetch.ts +4 -3
  297. package/src/json-rpc/client/safe_json_rpc_client.ts +4 -2
  298. package/src/json-rpc/client/undici.ts +23 -3
  299. package/src/json-rpc/fixtures/test_state.ts +10 -10
  300. package/src/json-rpc/server/api_key_auth.ts +63 -0
  301. package/src/json-rpc/server/index.ts +1 -0
  302. package/src/json-rpc/server/safe_json_rpc_server.ts +32 -14
  303. package/src/log/bigint-utils.ts +25 -0
  304. package/src/log/gcloud-logger-config.ts +5 -0
  305. package/src/log/libp2p_logger.ts +12 -5
  306. package/src/log/log-filters.ts +29 -11
  307. package/src/log/pino-logger-server.ts +25 -0
  308. package/src/log/pino-logger.ts +160 -39
  309. package/src/noir/noir_package_config.ts +32 -20
  310. package/src/queue/base_memory_queue.ts +1 -1
  311. package/src/queue/batch_queue.ts +1 -0
  312. package/src/queue/semaphore.ts +5 -0
  313. package/src/retry/index.ts +48 -0
  314. package/src/schemas/api.ts +25 -25
  315. package/src/schemas/parse.ts +9 -6
  316. package/src/schemas/schemas.ts +4 -4
  317. package/src/schemas/types.ts +2 -2
  318. package/src/schemas/utils.ts +4 -38
  319. package/src/serialize/buffer_reader.ts +36 -9
  320. package/src/serialize/buffer_sink.ts +350 -0
  321. package/src/serialize/index.ts +1 -0
  322. package/src/serialize/serialize.ts +32 -0
  323. package/src/sleep/index.ts +10 -1
  324. package/src/string/index.ts +1 -1
  325. package/src/timer/date.ts +48 -0
  326. package/src/timer/index.ts +1 -1
  327. package/src/timer/timeout.ts +31 -0
  328. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  329. package/src/transport/index.ts +0 -1
  330. package/src/transport/transport_client.ts +2 -2
  331. package/src/trees/{balanced_merkle_tree.ts → balanced_merkle_tree_root.ts} +3 -22
  332. package/src/trees/hasher.ts +12 -0
  333. package/src/trees/index.ts +3 -3
  334. package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
  335. package/src/trees/membership_witness.ts +8 -0
  336. package/src/trees/merkle_tree_calculator.ts +4 -10
  337. package/src/trees/sibling_path.ts +11 -6
  338. package/src/trees/unbalanced_merkle_tree_calculator.ts +1 -2
  339. package/src/trees/{unbalanced_merkle_tree.ts → unbalanced_merkle_tree_root.ts} +9 -70
  340. package/src/trees/unbalanced_tree_store.ts +57 -2
  341. package/src/types/index.ts +20 -1
  342. package/dest/crypto/serialize.d.ts +0 -51
  343. package/dest/crypto/serialize.d.ts.map +0 -1
  344. package/dest/crypto/serialize.js +0 -68
  345. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  346. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  347. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  348. package/dest/trees/balanced_merkle_tree.d.ts +0 -22
  349. package/dest/trees/balanced_merkle_tree.d.ts.map +0 -1
  350. package/dest/trees/unbalanced_merkle_tree.d.ts.map +0 -1
  351. package/src/crypto/serialize.ts +0 -85
  352. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
@@ -13,7 +13,6 @@ export declare function poseidon2Hash(input: Fieldable[]): Promise<Fr>;
13
13
  * @returns The poseidon hash.
14
14
  */
15
15
  export declare function poseidon2HashWithSeparator(input: Fieldable[], separator: number): Promise<Fr>;
16
- export declare function poseidon2HashAccumulate(input: Fieldable[]): Promise<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[]): Promise<Fr>
21
20
  */
22
21
  export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
23
22
  export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQUVqRjs7OztHQUlHO0FBQ0gsd0JBQXNCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVFuRTtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FTbkc7QUFFRCx3QkFBc0IsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FRN0U7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FZNUU7QUFFRCx3QkFBc0Isa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBa0JuRSJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQXNCakY7Ozs7R0FJRztBQUNILHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFN0Q7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBSTdGO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBaUI1RTtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FZN0QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEjF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQnE;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CASnG;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAQ7E;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAY5E;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAkBnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAsBjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAiB5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAY7D"}
@@ -1,42 +1,40 @@
1
- import { BarretenbergSync } from '@aztec/bb.js';
1
+ import { Barretenberg, BarretenbergSync } from '@aztec/bb.js';
2
2
  import { Fr } from '../../curves/bn254/field.js';
3
3
  import { serializeToFields } from '../../serialize/serialize.js';
4
+ const IS_BROWSER = typeof self !== 'undefined';
5
+ async function poseidon2HashFields(inputFields) {
6
+ if (IS_BROWSER) {
7
+ await BarretenbergSync.initSingleton();
8
+ const api = BarretenbergSync.getSingleton();
9
+ const response = api.poseidon2Hash({
10
+ inputs: inputFields.map((i)=>i.toBuffer())
11
+ });
12
+ return Fr.fromBuffer(Buffer.from(response.hash));
13
+ } else {
14
+ await Barretenberg.initSingleton();
15
+ const api = Barretenberg.getSingleton();
16
+ const response = await api.poseidon2Hash({
17
+ inputs: inputFields.map((i)=>i.toBuffer())
18
+ });
19
+ return Fr.fromBuffer(Buffer.from(response.hash));
20
+ }
21
+ }
4
22
  /**
5
23
  * Create a poseidon hash (field) from an array of input fields.
6
24
  * @param input - The input fields to hash.
7
25
  * @returns The poseidon hash.
8
- */ export async function poseidon2Hash(input) {
9
- const inputFields = serializeToFields(input);
10
- await BarretenbergSync.initSingleton();
11
- const api = BarretenbergSync.getSingleton();
12
- const response = api.poseidon2Hash({
13
- inputs: inputFields.map((i)=>i.toBuffer())
14
- });
15
- return Fr.fromBuffer(Buffer.from(response.hash));
26
+ */ export function poseidon2Hash(input) {
27
+ return poseidon2HashFields(serializeToFields(input));
16
28
  }
17
29
  /**
18
30
  * Create a poseidon hash (field) from an array of input fields and a domain separator.
19
31
  * @param input - The input fields to hash.
20
32
  * @param separator - The domain separator.
21
33
  * @returns The poseidon hash.
22
- */ export async function poseidon2HashWithSeparator(input, separator) {
34
+ */ export function poseidon2HashWithSeparator(input, separator) {
23
35
  const inputFields = serializeToFields(input);
24
36
  inputFields.unshift(new Fr(separator));
25
- await BarretenbergSync.initSingleton();
26
- const api = BarretenbergSync.getSingleton();
27
- const response = api.poseidon2Hash({
28
- inputs: inputFields.map((i)=>i.toBuffer())
29
- });
30
- return Fr.fromBuffer(Buffer.from(response.hash));
31
- }
32
- export async function poseidon2HashAccumulate(input) {
33
- const inputFields = serializeToFields(input);
34
- await BarretenbergSync.initSingleton();
35
- const api = BarretenbergSync.getSingleton();
36
- const response = api.poseidon2HashAccumulate({
37
- inputs: inputFields.map((i)=>i.toBuffer())
38
- });
39
- return Fr.fromBuffer(Buffer.from(response.hash));
37
+ return poseidon2HashFields(inputFields);
40
38
  }
41
39
  /**
42
40
  * Runs a Poseidon2 permutation.
@@ -44,18 +42,23 @@ export async function poseidon2HashAccumulate(input) {
44
42
  * @returns the output state, size 4.
45
43
  */ export async function poseidon2Permutation(input) {
46
44
  const inputFields = serializeToFields(input);
47
- // We'd like this assertion but it's not possible to use it in the browser.
48
- // assert(input.length === 4, 'Input state must be of size 4');
49
- await BarretenbergSync.initSingleton();
50
- const api = BarretenbergSync.getSingleton();
51
- const response = api.poseidon2Permutation({
52
- inputs: inputFields.map((i)=>i.toBuffer())
53
- });
54
- // We'd like this assertion but it's not possible to use it in the browser.
55
- // assert(response.outputs.length === 4, 'Output state must be of size 4');
56
- return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
45
+ if (IS_BROWSER) {
46
+ await BarretenbergSync.initSingleton();
47
+ const api = BarretenbergSync.getSingleton();
48
+ const response = api.poseidon2Permutation({
49
+ inputs: inputFields.map((i)=>i.toBuffer())
50
+ });
51
+ return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
52
+ } else {
53
+ await Barretenberg.initSingleton();
54
+ const api = Barretenberg.getSingleton();
55
+ const response = await api.poseidon2Permutation({
56
+ inputs: inputFields.map((i)=>i.toBuffer())
57
+ });
58
+ return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
59
+ }
57
60
  }
58
- export async function poseidon2HashBytes(input) {
61
+ export function poseidon2HashBytes(input) {
59
62
  const inputFields = [];
60
63
  for(let i = 0; i < input.length; i += 31){
61
64
  const fieldBytes = Buffer.alloc(32, 0);
@@ -64,10 +67,5 @@ export async function poseidon2HashBytes(input) {
64
67
  fieldBytes.reverse();
65
68
  inputFields.push(Fr.fromBuffer(fieldBytes));
66
69
  }
67
- await BarretenbergSync.initSingleton();
68
- const api = BarretenbergSync.getSingleton();
69
- const response = api.poseidon2Hash({
70
- inputs: inputFields.map((i)=>i.toBuffer())
71
- });
72
- return Fr.fromBuffer(Buffer.from(response.hash));
70
+ return poseidon2HashFields(inputFields);
73
71
  }
@@ -1,3 +1,4 @@
1
+ import { type LoggerBindings } from '../../log/pino-logger.js';
1
2
  /**
2
3
  * A number generator which is used as a source of randomness in the system. If the SEED env variable is set, the
3
4
  * generator will be deterministic and will always produce the same sequence of numbers. Otherwise a true randomness
@@ -10,9 +11,9 @@ export declare class RandomnessSingleton {
10
11
  private readonly seed?;
11
12
  private static instance;
12
13
  private counter;
13
- private readonly log;
14
+ private log;
14
15
  private constructor();
15
- static getInstance(): RandomnessSingleton;
16
+ static getInstance(bindings?: LoggerBindings): RandomnessSingleton;
16
17
  /**
17
18
  * Indicates whether the generator is deterministic (was seeded) or not.
18
19
  * @returns Whether the generator is deterministic.
@@ -20,4 +21,4 @@ export declare class RandomnessSingleton {
20
21
  isDeterministic(): boolean;
21
22
  getBytes(length: number): Buffer;
22
23
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL3JhbmRvbW5lc3Nfc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7O0dBT0c7QUFDSCxxQkFBYSxtQkFBbUI7SUFNVixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUwxQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBc0I7SUFFN0MsT0FBTyxDQUFDLE9BQU8sQ0FBSztJQUNwQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBbUQ7SUFFdkUsT0FBTyxlQU9OO0lBRUQsT0FBYyxXQUFXLElBQUksbUJBQW1CLENBTy9DO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZSxJQUFJLE9BQU8sQ0FFaEM7SUFFTSxRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBZ0J0QztDQUNGIn0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tbmVzc19zaW5nbGV0b24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcmFuZG9tL3JhbmRvbW5lc3Nfc2luZ2xldG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRjs7Ozs7OztHQU9HO0FBQ0gscUJBQWEsbUJBQW1CO0lBTzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBTnhCLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFzQjtJQUU3QyxPQUFPLENBQUMsT0FBTyxDQUFLO0lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQVM7SUFFcEIsT0FBTyxlQVdOO0lBRUQsT0FBYyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUFHLG1CQUFtQixDQU94RTtJQUVEOzs7T0FHRztJQUNJLGVBQWUsSUFBSSxPQUFPLENBRWhDO0lBRU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQWdCdEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAMV,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAL1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmD;IAEvE,OAAO,eAON;IAED,OAAc,WAAW,IAAI,mBAAmB,CAO/C;IAED;;;OAGG;IACI,eAAe,IAAI,OAAO,CAEhC;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBtC;CACF"}
1
+ {"version":3,"file":"randomness_singleton.d.ts","sourceRoot":"","sources":["../../../src/crypto/random/randomness_singleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,0BAA0B,CAAC;AAE1F;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IANxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAE7C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,eAWN;IAED,OAAc,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,mBAAmB,CAOxE;IAED;;;OAGG;IACI,eAAe,IAAI,OAAO,CAEhC;IAEM,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgBtC;CACF"}
@@ -11,10 +11,10 @@ import { createLogger } from '../../log/pino-logger.js';
11
11
  static instance;
12
12
  counter;
13
13
  log;
14
- constructor(seed){
14
+ constructor(seed, bindings){
15
15
  this.seed = seed;
16
16
  this.counter = 0;
17
- this.log = createLogger('foundation:randomness_singleton');
17
+ this.log = createLogger('foundation:randomness_singleton', bindings);
18
18
  if (seed !== undefined) {
19
19
  this.log.debug(`Using pseudo-randomness with seed: ${seed}`);
20
20
  this.counter = seed;
@@ -22,10 +22,10 @@ import { createLogger } from '../../log/pino-logger.js';
22
22
  this.log.debug('Using true randomness');
23
23
  }
24
24
  }
25
- static getInstance() {
25
+ static getInstance(bindings) {
26
26
  if (!RandomnessSingleton.instance) {
27
27
  const seed = process.env.SEED ? Number(process.env.SEED) : undefined;
28
- RandomnessSingleton.instance = new RandomnessSingleton(seed);
28
+ RandomnessSingleton.instance = new RandomnessSingleton(seed, bindings);
29
29
  }
30
30
  return RandomnessSingleton.instance;
31
31
  }
@@ -1,3 +1,4 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
1
2
  import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
2
3
  import { Point } from '@aztec/foundation/curves/grumpkin';
3
4
  import { SchnorrSignature } from './signature.js';
@@ -13,19 +14,19 @@ export declare class Schnorr {
13
14
  */
14
15
  computePublicKey(privateKey: GrumpkinScalar): Promise<Point>;
15
16
  /**
16
- * Constructs a Schnorr signature given a msg and a private key.
17
- * @param msg - Message over which the signature is constructed.
17
+ * Constructs a Schnorr signature over a 32-byte message field element.
18
+ * @param msg - The message hash, as a grumpkin base field element.
18
19
  * @param privateKey - The private key of the signer.
19
20
  * @returns A Schnorr signature of the form (s, e).
20
21
  */
21
- constructSignature(msg: Uint8Array, privateKey: GrumpkinScalar): Promise<SchnorrSignature>;
22
+ constructSignature(msg: Fr, privateKey: GrumpkinScalar): Promise<SchnorrSignature>;
22
23
  /**
23
- * Verifies a Schnorr signature given a Grumpkin public key.
24
- * @param msg - Message over which the signature was constructed.
24
+ * Verifies a Schnorr signature against a Grumpkin public key.
25
+ * @param msg - The message hash, as a grumpkin base field element.
25
26
  * @param pubKey - The Grumpkin public key of the signer.
26
27
  * @param sig - The Schnorr signature.
27
28
  * @returns True or false.
28
29
  */
29
- verifySignature(msg: Uint8Array, pubKey: Point, sig: SchnorrSignature): Promise<boolean>;
30
+ verifySignature(msg: Fr, pubKey: Point, sig: SchnorrSignature): Promise<boolean>;
30
31
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQjs7R0FFRztBQUNILHFCQUFhLE9BQU87SUFDbEI7Ozs7T0FJRztJQUNVLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUt4RTtJQUVEOzs7OztPQUtHO0lBQ1Usa0JBQWtCLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsY0FBYyw2QkFRMUU7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0Isb0JBVWpGO0NBQ0YifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQjs7R0FFRztBQUNILHFCQUFhLE9BQU87SUFDbEI7Ozs7T0FJRztJQUNVLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUt4RTtJQUVEOzs7OztPQUtHO0lBQ1Usa0JBQWtCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsY0FBYyw2QkFRbEU7SUFFRDs7Ozs7O09BTUc7SUFDVSxlQUFlLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0Isb0JBVXpFO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAKxE;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,6BAQ1E;IAED;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,oBAUjF;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAE/B;;GAEG;AACH,qBAAa,OAAO;IAClB;;;;OAIG;IACU,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAKxE;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,6BAQlE;IAED;;;;;;OAMG;IACU,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,gBAAgB,oBAUzE;CACF"}
@@ -21,15 +21,15 @@ export * from './signature.js';
21
21
  ]));
22
22
  }
23
23
  /**
24
- * Constructs a Schnorr signature given a msg and a private key.
25
- * @param msg - Message over which the signature is constructed.
24
+ * Constructs a Schnorr signature over a 32-byte message field element.
25
+ * @param msg - The message hash, as a grumpkin base field element.
26
26
  * @param privateKey - The private key of the signer.
27
27
  * @returns A Schnorr signature of the form (s, e).
28
28
  */ async constructSignature(msg, privateKey) {
29
29
  await BarretenbergSync.initSingleton();
30
30
  const api = BarretenbergSync.getSingleton();
31
31
  const response = api.schnorrConstructSignature({
32
- message: msg,
32
+ messageField: msg.toBuffer(),
33
33
  privateKey: privateKey.toBuffer()
34
34
  });
35
35
  return new SchnorrSignature(Buffer.from([
@@ -38,8 +38,8 @@ export * from './signature.js';
38
38
  ]));
39
39
  }
40
40
  /**
41
- * Verifies a Schnorr signature given a Grumpkin public key.
42
- * @param msg - Message over which the signature was constructed.
41
+ * Verifies a Schnorr signature against a Grumpkin public key.
42
+ * @param msg - The message hash, as a grumpkin base field element.
43
43
  * @param pubKey - The Grumpkin public key of the signer.
44
44
  * @param sig - The Schnorr signature.
45
45
  * @returns True or false.
@@ -47,7 +47,7 @@ export * from './signature.js';
47
47
  await BarretenbergSync.initSingleton();
48
48
  const api = BarretenbergSync.getSingleton();
49
49
  const response = api.schnorrVerifySignature({
50
- message: msg,
50
+ messageField: msg.toBuffer(),
51
51
  publicKey: {
52
52
  x: pubKey.x.toBuffer(),
53
53
  y: pubKey.y.toBuffer()
@@ -1,5 +1,4 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
- import { BufferReader } from '@aztec/foundation/serialize';
3
2
  import type { Signature } from '../signature/index.js';
4
3
  /**
5
4
  * Schnorr signature used for transactions.
@@ -11,28 +10,7 @@ export declare class SchnorrSignature implements Signature {
11
10
  * The size of the signature in bytes.
12
11
  */
13
12
  static SIZE: number;
14
- /**
15
- * An empty signature.
16
- */
17
- static EMPTY: SchnorrSignature;
18
13
  constructor(buffer: Buffer);
19
- /**
20
- * Determines if the provided signature is valid or not.
21
- * @param signature - The data to be checked.
22
- * @returns Boolean indicating if the provided data is a valid schnorr signature.
23
- */
24
- static isSignature(signature: string): boolean;
25
- /**
26
- * Constructs a SchnorrSignature from the provided string.
27
- * @param signature - The string to be converted to a schnorr signature.
28
- * @returns The constructed schnorr signature.
29
- */
30
- static fromString(signature: string): SchnorrSignature;
31
- /**
32
- * Generates a random schnorr signature.
33
- * @returns The randomly constructed signature.
34
- */
35
- static random(): SchnorrSignature;
36
14
  /**
37
15
  * Returns the 's' component of the signature.
38
16
  * @returns A buffer containing the signature's 's' component.
@@ -48,12 +26,6 @@ export declare class SchnorrSignature implements Signature {
48
26
  * @returns A buffer containing the signature.
49
27
  */
50
28
  toBuffer(): Buffer<ArrayBufferLike>;
51
- /**
52
- * Deserializes from a buffer.
53
- * @param buffer - The buffer representation of the object.
54
- * @returns The new object.
55
- */
56
- static fromBuffer(buffer: Buffer | BufferReader): SchnorrSignature;
57
29
  /**
58
30
  * Returns the full signature as a hex string.
59
31
  * @returns A string containing the signature in hex format.
@@ -64,5 +36,13 @@ export declare class SchnorrSignature implements Signature {
64
36
  * @returns The signature components as an array of three fields
65
37
  */
66
38
  toFields(): Fr[];
39
+ /**
40
+ * Splits the signature into the four 128-bit limbs that Noir's `EmbeddedCurveScalar` consumes:
41
+ * `[s.lo, s.hi, e.lo, e.hi]`, where each component scalar is encoded as `lo + hi * 2^128`.
42
+ *
43
+ * Each 32-byte big-endian component is sliced into its top 16 bytes (`hi`) and bottom 16 bytes
44
+ * (`lo`); each half is zero-padded into a 32-byte buffer and decoded as `Fr` (big-endian).
45
+ */
46
+ toLimbFields(): [Fr, Fr, Fr, Fr];
67
47
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NjaG5vcnIvc2lnbmF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gscUJBQWEsZ0JBQWlCLFlBQVcsU0FBUztJQVdwQyxPQUFPLENBQUMsTUFBTTtJQVYxQjs7T0FFRztJQUNILE9BQWMsSUFBSSxTQUFNO0lBRXhCOztPQUVHO0lBQ0gsT0FBYyxLQUFLLG1CQUEwQztJQUU3RCxZQUFvQixNQUFNLEVBQUUsTUFBTSxFQUlqQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFdBQVcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxXQUUxQztJQUVEOzs7O09BSUc7SUFDSCxPQUFjLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxvQkFLekM7SUFFRDs7O09BR0c7SUFDSCxPQUFjLE1BQU0scUJBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLDRCQUVKO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGdCQUFnQixDQUdqRTtJQUVEOzs7T0FHRztJQUNILFFBQVEsV0FFUDtJQUVEOzs7T0FHRztJQUNILFFBQVEsSUFBSSxFQUFFLEVBQUUsQ0FZZjtDQUNGIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3J5cHRvL3NjaG5vcnIvc2lnbmF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RDs7O0dBR0c7QUFDSCxxQkFBYSxnQkFBaUIsWUFBVyxTQUFTO0lBTXBDLE9BQU8sQ0FBQyxNQUFNO0lBTDFCOztPQUVHO0lBQ0gsT0FBYyxJQUFJLFNBQU07SUFFeEIsWUFBb0IsTUFBTSxFQUFFLE1BQU0sRUFJakM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsNEJBRUo7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsNEJBRUo7SUFFRDs7O09BR0c7SUFDSCxRQUFRLDRCQUVQO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxXQUVQO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVlmO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBTy9CO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAY,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAWpC,OAAO,CAAC,MAAM;IAV1B;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB;;OAEG;IACH,OAAc,KAAK,mBAA0C;IAE7D,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;OAIG;IACH,OAAc,WAAW,CAAC,SAAS,EAAE,MAAM,WAE1C;IAED;;;;OAIG;IACH,OAAc,UAAU,CAAC,SAAS,EAAE,MAAM,oBAKzC;IAED;;;OAGG;IACH,OAAc,MAAM,qBAEnB;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAGjE;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAYf;CACF"}
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/crypto/schnorr/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAMpC,OAAO,CAAC,MAAM;IAL1B;;OAEG;IACH,OAAc,IAAI,SAAM;IAExB,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,IAAI,CAAC,4BAEJ;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACH,QAAQ,WAEP;IAED;;;OAGG;IACH,QAAQ,IAAI,EAAE,EAAE,CAYf;IAED;;;;;;OAMG;IACH,YAAY,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAO/B;CACF"}
@@ -1,6 +1,5 @@
1
- import { randomBytes } from '@aztec/foundation/crypto/random';
2
1
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
2
+ import { mapTuple } from '@aztec/foundation/serialize';
4
3
  /**
5
4
  * Schnorr signature used for transactions.
6
5
  * @see cpp/barretenberg/cpp/src/barretenberg/crypto/schnorr/schnorr.hpp
@@ -9,9 +8,6 @@ import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
9
8
  /**
10
9
  * The size of the signature in bytes.
11
10
  */ static SIZE = 64;
12
- /**
13
- * An empty signature.
14
- */ static EMPTY = new SchnorrSignature(Buffer.alloc(64));
15
11
  constructor(buffer){
16
12
  this.buffer = buffer;
17
13
  if (buffer.length !== SchnorrSignature.SIZE) {
@@ -19,29 +15,6 @@ import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
19
15
  }
20
16
  }
21
17
  /**
22
- * Determines if the provided signature is valid or not.
23
- * @param signature - The data to be checked.
24
- * @returns Boolean indicating if the provided data is a valid schnorr signature.
25
- */ static isSignature(signature) {
26
- return /^(0x)?[0-9a-f]{128}$/i.test(signature);
27
- }
28
- /**
29
- * Constructs a SchnorrSignature from the provided string.
30
- * @param signature - The string to be converted to a schnorr signature.
31
- * @returns The constructed schnorr signature.
32
- */ static fromString(signature) {
33
- if (!SchnorrSignature.isSignature(signature)) {
34
- throw new Error(`Invalid signature string: ${signature}`);
35
- }
36
- return new SchnorrSignature(Buffer.from(signature.replace(/^0x/i, ''), 'hex'));
37
- }
38
- /**
39
- * Generates a random schnorr signature.
40
- * @returns The randomly constructed signature.
41
- */ static random() {
42
- return new SchnorrSignature(randomBytes(64));
43
- }
44
- /**
45
18
  * Returns the 's' component of the signature.
46
19
  * @returns A buffer containing the signature's 's' component.
47
20
  */ get s() {
@@ -60,14 +33,6 @@ import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
60
33
  return this.buffer;
61
34
  }
62
35
  /**
63
- * Deserializes from a buffer.
64
- * @param buffer - The buffer representation of the object.
65
- * @returns The new object.
66
- */ static fromBuffer(buffer) {
67
- const reader = BufferReader.asReader(buffer);
68
- return new SchnorrSignature(reader.readBytes(SchnorrSignature.SIZE));
69
- }
70
- /**
71
36
  * Returns the full signature as a hex string.
72
37
  * @returns A string containing the signature in hex format.
73
38
  */ toString() {
@@ -90,4 +55,23 @@ import { BufferReader, mapTuple } from '@aztec/foundation/serialize';
90
55
  buf3
91
56
  ], Fr.fromBuffer);
92
57
  }
58
+ /**
59
+ * Splits the signature into the four 128-bit limbs that Noir's `EmbeddedCurveScalar` consumes:
60
+ * `[s.lo, s.hi, e.lo, e.hi]`, where each component scalar is encoded as `lo + hi * 2^128`.
61
+ *
62
+ * Each 32-byte big-endian component is sliced into its top 16 bytes (`hi`) and bottom 16 bytes
63
+ * (`lo`); each half is zero-padded into a 32-byte buffer and decoded as `Fr` (big-endian).
64
+ */ toLimbFields() {
65
+ const limb = (start)=>{
66
+ const buf = Buffer.alloc(32);
67
+ this.buffer.copy(buf, 16, start, start + 16);
68
+ return Fr.fromBuffer(buf);
69
+ };
70
+ return [
71
+ limb(16),
72
+ limb(0),
73
+ limb(48),
74
+ limb(32)
75
+ ];
76
+ }
93
77
  }
@@ -87,5 +87,16 @@ export declare function normalizeSignature(signature: Signature): Signature;
87
87
  * @returns The public key.
88
88
  */
89
89
  export declare function recoverPublicKey(hash: Buffer32, signature: Signature, opts?: RecoveryOpts): Buffer;
90
+ /**
91
+ * Generates a random valid ECDSA signature that is recoverable to some address.
92
+ * Since Signature.random() produces real signatures via secp256k1 signing, the result is always
93
+ * recoverable, but we verify defensively by checking tryRecoverAddress.
94
+ */
95
+ export declare function generateRecoverableSignature(): Signature;
96
+ /**
97
+ * Generates a random signature where ECDSA address recovery fails.
98
+ * Uses random r/s values (not from real signing) so that r is unlikely to be a valid secp256k1 x-coordinate.
99
+ */
100
+ export declare function generateUnrecoverableSignature(): Signature;
90
101
  export {};
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUtqRSxpQ0FBaUM7QUFDakMsS0FBSyxZQUFZLEdBQUc7SUFDbEI7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUYscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBR3JEO0NBQ0Y7QUFHRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBRzdEO0FBWUQ7Ozs7R0FJRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbEU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUdwRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLEdBQUcsVUFBVSxDQVVwRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBT25IO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLFNBVy9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFHaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FNN0Q7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBVWxFO0FBNkJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUUsWUFBaUIsR0FBRyxNQUFNLENBWXRHIn0=
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vc2VjcDI1NmsxLXNpZ25lci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUtqRSxpQ0FBaUM7QUFDakMsS0FBSyxZQUFZLEdBQUc7SUFDbEI7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7T0FFRztJQUNILGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUYscUJBQWEsY0FBZSxTQUFRLEtBQUs7SUFDdkMsWUFBWSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBR3JEO0NBQ0Y7QUFHRCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxRQUFRLENBRzdEO0FBWUQ7Ozs7R0FJRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFbEU7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUdwRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLEdBQUcsVUFBVSxDQVVwRztBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsWUFBWSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBT25IO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxNQUFNLFNBVy9DO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFHaEU7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxHQUFHLFNBQVMsQ0FNN0Q7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isa0JBQWtCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBVWxFO0FBNkJEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUUsWUFBaUIsR0FBRyxNQUFNLENBWXRHO0FBS0Q7Ozs7R0FJRztBQUNILHdCQUFnQiw0QkFBNEIsSUFBSSxTQUFTLENBUXhEO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLDhCQUE4QixJQUFJLFNBQVMsQ0FRMUQifQ==
@@ -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
+ }
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jcnlwdG8vc3luYy9wb3NlaWRvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFxQixNQUFNLGlDQUFpQyxDQUFDO0FBRXBGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBT3BEO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsMEJBQTBCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRSxDQVNwRjtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQU85RDtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQVc3RDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FpQnBEIn0=
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,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,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"}
@@ -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.
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYmxzMTIvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBY3ZDOztHQUVHO0FBQ0gsOEJBQXNCLFVBQVU7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUUxQixTQUFTLGFBQWEsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQWlCcEQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO0lBRWxDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQVFqQjtJQUVELFlBQVksSUFBSTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBVWxDO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUUvQjtJQUVELEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FFM0I7SUFFRCxNQUFNLElBQUksT0FBTyxDQUVoQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsVUFBVSxJQUFJLE9BQU8sQ0FJcEI7SUFFRCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELE9BQU8sU0FFTjtDQUNGO0FBa0REOzs7R0FHRztBQUNILHFCQUFhLE9BQVEsU0FBUSxVQUFVO0lB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
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYmxzMTIvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBY3ZDOztHQUVHO0FBQ0gsOEJBQXNCLFVBQVU7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUUxQixTQUFTLGFBQWEsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQWlCcEQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO0lBRWxDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQVFqQjtJQUVELFlBQVksSUFBSTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBVWxDO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUUvQjtJQUVELEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FFM0I7SUFFRCxNQUFNLElBQUksT0FBTyxDQUVoQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsVUFBVSxJQUFJLE9BQU8sQ0FJcEI7SUFFRCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELE9BQU8sU0FFTjtDQUNGO0FBa0REOzs7R0FHRztBQUNILHFCQUFhLE9BQVEsU0FBUSxVQUFVO0lB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
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/field.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
5
5
  import { randomBytes } from '../../crypto/random/index.js';
6
6
  import { hexSchemaFor } from '../../schemas/utils.js';
7
7
  import { BufferReader } from '../../serialize/buffer_reader.js';
8
- import { TypeRegistry } from '../../serialize/type_registry.js';
9
8
  import { Fr } from '../bn254/field.js';
10
9
  /**
11
10
  * Base BLS12field class.
@@ -251,8 +250,6 @@ _computedKey = inspect.custom;
251
250
  return hexSchemaFor(BLS12Fr);
252
251
  }
253
252
  }
254
- // For deserializing JSON.
255
- TypeRegistry.register('BLS12Fr', BLS12Fr);
256
253
  _computedKey1 = inspect.custom;
257
254
  /**
258
255
  * Fq field class.
@@ -358,5 +355,3 @@ _computedKey1 = inspect.custom;
358
355
  return hexSchemaFor(BLS12Fq);
359
356
  }
360
357
  }
361
- // For deserializing JSON.
362
- TypeRegistry.register('BLS12Fq', BLS12Fq);